From ecb12ae2a8bc7f8c7077737713cf94acffac5c41 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 19 Oct 2015 22:08:17 +0200 Subject: [PATCH] New release --- dist/mermaid.js | 2 +- dist/mermaid.min.js | 36 +- dist/mermaid.slim.js | 2 +- dist/mermaid.slim.min.js | 25 +- dist/mermaidAPI.js | 2 +- dist/mermaidAPI.min.js | 20 + dist/mermaidAPI.slim.js | 2 +- dist/mermaidAPI.slim.min.js | 21 +- dist/www/javascripts/lib/mermaid.js | 12505 +++++++++++++------------- docs/content/mermaidCLI.md | 4 +- package.json | 2 +- test/web.html | 2 +- 12 files changed, 6566 insertions(+), 6057 deletions(-) create mode 100644 dist/mermaidAPI.min.js diff --git a/dist/mermaid.js b/dist/mermaid.js index ec6c637b0..d905055ca 100644 --- a/dist/mermaid.js +++ b/dist/mermaid.js @@ -30976,7 +30976,7 @@ module.exports = '1.0.7'; },{}],86:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.5.3-2", + "version": "0.5.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", "main": "src/mermaid.js", "keywords": [ diff --git a/dist/mermaid.min.js b/dist/mermaid.min.js index a5406f40a..0af104bc5 100644 --- a/dist/mermaid.min.js +++ b/dist/mermaid.min.js @@ -1,16 +1,20 @@ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaid=t()}}(function(){var define,module,exports;return function t(e,n,r){function i(o,u){if(!n[o]){if(!e[o]){var s="function"==typeof require&&require;if(!u&&s)return s(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,function(t){var n=e[o][1][t];return i(n?n:t)},l,l.exports,t,e,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o=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=-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&&(n=o+"/"+n,i="/"===o.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var i=n.isAbsolute(t),a="/"===o(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),o=Math.min(i.length,a.length),u=o,s=0;o>s;s++)if(i[s]!==a[s]){u=s;break}for(var c=[],s=u;se&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e,n){function r(){}var i=e.exports={};i.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,n="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return n?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),i.title="browser",i.browser=!0,i.env={},i.argv=[],i.on=r,i.addListener=r,i.once=r,i.off=r,i.removeListener=r,i.removeAllListeners=r,i.emit=r,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")}},{}],4:[function(t,e,n){!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function r(t,e){return e>t?-1:t>e?1:t>=e?0:NaN}function i(t){return null===t?NaN:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){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);i>r;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}function u(t){return t.length}function s(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function l(){this._=Object.create(null)}function h(t){return(t+="")===yo||t[0]===mo?mo+t:t}function f(t){return(t+="")[0]===mo?t.slice(1):t}function d(t){return h(t)in this._}function p(t){return(t=h(t))in this._&&delete this._[t]}function g(){var t=[];for(var e in this._)t.push(f(e));return t}function y(){var t=0;for(var e in this._)++t;return t}function m(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function b(t){return t}function _(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=vo.length;r>n;++n){var i=vo[n]+e;if(i in t)return i}}function w(){}function A(){}function k(t){function e(){for(var e,r=n,i=-1,a=r.length;++in;n++)for(var i,a=t[n],o=0,u=a.length;u>o;o++)(i=a[o])&&e(i,o,n);return t}function H(t){return _o(t,Do),t}function $(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])&&++e0&&(t=t.slice(0,u));var c=Mo.get(t);return c&&(t=c,s=Z),u?e?i:r:e?w:a}function W(t,e){return function(n){var r=no.event;no.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{no.event=r}}}function Z(t,e){var n=W(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function X(e){var r=".dragsuppress-"+ ++Co,i="click"+r,a=no.select(n(e)).on("touchmove"+r,E).on("dragstart"+r,E).on("selectstart"+r,E);if(null==So&&(So="onselectstart"in e?!1:x(e.style,"userSelect")),So){var o=t(e).style,u=o[So];o[So]="none"}return function(t){if(a.on(r,null),So&&(o[So]=u),t){var e=function(){a.on(i,null)};a.on(i,function(){E(),e()},!0),setTimeout(e,0)}}}function K(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>To){var a=n(t);if(a.scrollX||a.scrollY){r=no.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();To=!(o.f||o.e),r.remove()}}return To?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function J(){return no.event.changedTouches[0].identifier}function Q(t){return t>0?1:0>t?-1:0}function tt(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function et(t){return t>1?0:-1>t?No:Math.acos(t)}function nt(t){return t>1?Io:-1>t?-Io:Math.asin(t)}function rt(t){return((t=Math.exp(t))-1/t)/2}function it(t){return((t=Math.exp(t))+1/t)/2}function at(t){return((t=Math.exp(2*t))-1)/(t+1)}function ot(t){return(t=Math.sin(t/2))*t}function ut(){}function st(t,e,n){return this instanceof st?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof st?new st(t.h,t.s,t.l):wt(""+t,At,st):new st(t,e,n)}function ct(t,e,n){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?a+(o-a)*t/60:180>t?o:240>t?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:0>e?0:e>1?1:e,n=0>n?0:n>1?1:n,o=.5>=n?n*(1+e):n+e-n*e,a=2*n-o,new vt(i(t+120),i(t),i(t-120))}function lt(t,e,n){return this instanceof lt?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=kt((t=no.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,e,n)}function ht(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new ft(n,Math.cos(t*=Ro)*e,Math.sin(t)*e)}function ft(t,e,n){return this instanceof ft?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ht(t.h,t.c,t.l):kt((t=vt(t)).r,t.g,t.b):new ft(t,e,n)}function dt(t,e,n){var r=(t+16)/116,i=r+e/500,a=r-n/200;return i=gt(i)*Wo,r=gt(r)*Zo,a=gt(a)*Xo,new vt(mt(3.2404542*i-1.5371385*r-.4985314*a),mt(-.969266*i+1.8760108*r+.041556*a),mt(.0556434*i-.2040259*r+1.0572252*a))}function pt(t,e,n){return t>0?new lt(Math.atan2(n,e)*qo,Math.sqrt(e*e+n*n),t):new lt(NaN,NaN,t)}function gt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function yt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function mt(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function vt(t,e,n){return this instanceof vt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof vt?new vt(t.r,t.g,t.b):wt(""+t,vt,ct):new vt(t,e,n)}function bt(t){return new vt(t>>16,t>>8&255,255&t)}function _t(t){return bt(t)+""}function xt(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function wt(t,e,n){t=t.toLowerCase();var r,i,a,o=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t))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(Dt(i[0]),Dt(i[1]),Dt(i[2]))}return(a=Qo.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|o,u=240&a,u=u>>4|u,s=15&a,s=s<<4|s):7===t.length&&(o=(16711680&a)>>16,u=(65280&a)>>8,s=255&a)),e(o,u,s))}function At(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=.5>s?u/(o+a):u/(2-o-a),r=t==o?(e-n)/u+(n>e?6:0):e==o?(n-t)/u+2:(t-e)/u+4,r*=60):(r=NaN,i=s>0&&1>s?0:r),new st(r,i,s)}function kt(t,e,n){t=Et(t),e=Et(e),n=Et(n);var r=yt((.4124564*t+.3575761*e+.1804375*n)/Wo),i=yt((.2126729*t+.7151522*e+.072175*n)/Zo),a=yt((.0193339*t+.119192*e+.9503041*n)/Xo);return ft(116*i-16,500*(r-i),200*(i-a))}function Et(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Mt(t){return"function"==typeof t?t:function(){return t}}function St(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&&Ft(s)||e>=200&&300>e||304===e){try{t=n.call(a,s)}catch(r){return void o.error.call(a,r)}o.load.call(a,t)}else o.error.call(a,s)}var a={},o=no.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=no.event;no.event=t;try{o.progress.call(a,s)}finally{no.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(io(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},no.rebind(a,o,"on"),null==r?a:a.get(Tt(r))}function Tt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ft(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Lt(){var t=Nt(),e=Bt()-t;e>24?(isFinite(e)&&(clearTimeout(ru),ru=setTimeout(Lt,e)),nu=0):(nu=1,au(Lt))}function Nt(){var t=Date.now();for(iu=tu;iu;)t>=iu.t&&(iu.f=iu.c(t-iu.t)),iu=iu.n;return t}function Bt(){for(var t,e=tu,n=1/0;e;)e.f?e=t?t.n=e.n:tu=e.n:(e.t8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Rt(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)}:b;return function(t){var n=uu.exec(t),r=n[1]||" ",o=n[2]||">",u=n[3]||"-",s=n[4]||"",c=n[5],l=+n[6],h=n[7],f=n[8],d=n[9],p=1,g="",y="",m=!1,v=!0;switch(f&&(f=+f.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),d){case"n":h=!0,d="g";break;case"%":p=100,y="%",d="f";break;case"p":p=100,y="%",d="r";break;case"b":case"o":case"x":case"X":"#"===s&&(g="0"+d.toLowerCase());case"c":v=!1;case"d":m=!0,f=0;break;case"s":p=-1,d="r"}"$"===s&&(g=i[0],y=i[1]),"r"!=d||f||(d="g"),null!=f&&("g"==d?f=Math.max(1,Math.min(21,f)):("e"==d||"f"==d)&&(f=Math.max(0,Math.min(20,f)))),d=su.get(d)||qt;var b=c&&h;return function(t){var n=y;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===u?"":u;if(0>p){var s=no.formatPrefix(t,f);t=s.scale(t),n=s.symbol+y}else t*=p;t=d(t,f);var _,x,w=t.lastIndexOf(".");if(0>w){var A=v?t.lastIndexOf("e"):-1;0>A?(_=t,x=""):(_=t.substring(0,A),x=t.substring(A))}else _=t.substring(0,w),x=e+t.substring(w+1);!c&&h&&(_=a(_,1/0));var k=g.length+_.length+x.length+(b?0:i.length),E=l>k?new Array(k=l-k+1).join(r):"";return b&&(_=a(E+_,E.length?l-x.length:1/0)),i+=g,t=_+x,("<"===o?i+t+E:">"===o?E+i+t:"^"===o?E.substring(0,k>>=1)+i+t+E.substring(k):i+(b?t:E+t))+n}}}function qt(t){return t+""}function Pt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function jt(t,e,n){function r(e){var n=t(e),r=a(n,1);return r-e>e-n?n:r}function i(n){return e(n=t(new lu(n-1)),1),n}function a(t,n){return e(t=new lu(+t),n),t}function o(t,r,a){var o=i(t),u=[];if(a>1)for(;r>o;)n(o)%a||u.push(new Date(+o)),e(o,1);else for(;r>o;)u.push(new Date(+o)),e(o,1);return u}function u(t,e,n){try{lu=Pt;var r=new Pt;return r._=t,o(r,e,n)}finally{lu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Ut(t);return s.floor=s,s.round=Ut(r),s.ceil=Ut(i),s.offset=Ut(a),s.range=u,t}function Ut(t){return function(e,n){try{lu=Pt;var r=new Pt;return r._=e,t(r,n)._}finally{lu=Date}}}function Yt(t){function e(t){function e(e){for(var n,i,a,o=[],u=-1,s=0;++uu;){if(r>=c)return-1;if(i=e.charCodeAt(u++),37===i){if(o=e.charAt(u++),a=C[o in fu?e.charAt(u++):o],!a||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){w.lastIndex=0;var r=w.exec(e.slice(n));return r?(t.w=A.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){_.lastIndex=0;var r=_.exec(e.slice(n));return r?(t.w=x.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){D.lastIndex=0;var r=D.exec(e.slice(n));return r?(t.m=M.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){k.lastIndex=0;var r=k.exec(e.slice(n));return r?(t.m=E.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,r){return n(t,S.c.toString(),e,r)}function s(t,e,r){return n(t,S.x.toString(),e,r)}function c(t,e,r){return n(t,S.X.toString(),e,r)}function l(t,e,n){var r=b.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,g=t.days,y=t.shortDays,m=t.months,v=t.shortMonths;e.utc=function(t){function n(t){try{lu=Pt;var e=new lu;return e._=t,r(e)}finally{lu=Date}}var r=e(t);return n.parse=function(t){try{lu=Pt;var e=r.parse(t);return e&&e._}finally{lu=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=se;var b=no.map(),_=Vt(g),x=Ht(g),w=Vt(y),A=Ht(y),k=Vt(m),E=Ht(m),D=Vt(v),M=Ht(v);p.forEach(function(t,e){b.set(t.toLowerCase(),e)});var S={a:function(t){return y[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:e(h),d:function(t,e){return zt(t.getDate(),e,2)},e:function(t,e){return zt(t.getDate(),e,2)},H:function(t,e){return zt(t.getHours(),e,2)},I:function(t,e){return zt(t.getHours()%12||12,e,2)},j:function(t,e){return zt(1+cu.dayOfYear(t),e,3)},L:function(t,e){return zt(t.getMilliseconds(),e,3)},m:function(t,e){return zt(t.getMonth()+1,e,2)},M:function(t,e){return zt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return zt(t.getSeconds(),e,2)},U:function(t,e){return zt(cu.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return zt(cu.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return zt(t.getFullYear()%100,e,2)},Y:function(t,e){return zt(t.getFullYear()%1e4,e,4)},Z:oe,"%":function(){return"%"}},C={a:r,A:i,b:a,B:o,c:u,d:te,e:te,H:ne,I:ne,j:ee,L:ae,m:Qt,M:re,p:l,S:ie,U:Gt,w:$t,W:Wt,x:s,X:c,y:Xt,Y:Zt,Z:Kt,"%":ue};return e}function zt(t,e,n){var r=0>t?"-":"",i=(r?-t:t)+"",a=i.length;return r+(n>a?new Array(n-a+1).join(e)+i:i)}function Vt(t){return new RegExp("^(?:"+t.map(no.requote).join("|")+")","i")}function Ht(t){for(var e=new l,n=-1,r=t.length;++n68?1900:2e3)}function Qt(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function te(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ee(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function ne(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function re(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function ie(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function ae(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function oe(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=go(e)/60|0,i=go(e)%60;return n+zt(r,"0",2)+zt(i,"0",2)}function ue(t,e,n){pu.lastIndex=0;var r=pu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function se(t){for(var e=t.length,n=-1;++n=0?1:-1,u=o*n,s=Math.cos(e),c=Math.sin(e),l=a*c,h=i*s+l*Math.cos(u),f=l*o*Math.sin(u);_u.add(Math.atan2(f,h)),r=t,i=s,a=c}var e,n,r,i,a;xu.point=function(o,u){xu.point=t,r=(e=o)*Ro,i=Math.cos(u=(n=u)*Ro/2+No/4),a=Math.sin(u)},xu.lineEnd=function(){t(e,n)}}function ge(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 ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function me(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 ve(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function be(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function _e(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]),nt(t[2])]}function we(t,e){return go(t[0]-e[0])u;++u)i.point((n=t[u])[0],n[1]);return void i.lineEnd()}var s=new Le(n,t,null,!0),c=new Le(n,null,s,!1);s.o=c,a.push(s),o.push(c),s=new Le(r,t,null,!1),c=new Le(r,null,s,!0),s.o=c,a.push(s),o.push(c)}}),o.sort(e),Fe(a),Fe(o),a.length){for(var u=0,s=n,c=o.length;c>u;++u)o[u].e=s=!s;for(var l,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var u=0,c=l.length;c>u;++u)i.point((h=l[u])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(p){l=d.p.z;for(var u=l.length-1;u>=0;--u)i.point((h=l[u])[0],h[1])}else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,l=d.z,p=!p}while(!d.v);i.lineEnd()}}}function Fe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r0){for(x||(a.polygonStart(),x=!0),a.lineStart();++o1&&2&e&&n.push(n.pop().concat(n.shift())),d.push(n.filter(Be))}var d,p,g,y=e(a),m=i.invert(r[0],r[1]),v={point:o,lineStart:s,lineEnd:c,polygonStart:function(){v.point=l,v.lineStart=h,v.lineEnd=f,d=[],p=[]},polygonEnd:function(){v.point=o,v.lineStart=s,v.lineEnd=c,d=no.merge(d);var t=je(m,p);d.length?(x||(a.polygonStart(),x=!0),Te(d,Ie,t,n,a)):t&&(x||(a.polygonStart(),x=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),x&&(a.polygonEnd(),x=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}},b=Oe(),_=e(b),x=!1;return v}}function Be(t){return t.length>1}function Oe(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:w,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Ie(t,e){return((t=t.x)[0]<0?t[1]-Io-Fo:Io-t[1])-((e=e.x)[0]<0?e[1]-Io-Fo:Io-e[1])}function Re(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var u=a>0?No:-No,s=go(a-n);go(s-No)0?Io:-Io),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(a,r),e=0):i!==u&&s>=No&&(go(n-i)Fo?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 Pe(t,e,n,r){var i;if(null==t)i=n*Io,r.point(-No,i),r.point(0,i),r.point(No,i),r.point(No,0),r.point(No,-i),r.point(0,-i),r.point(-No,-i),r.point(-No,0),r.point(-No,i);else if(go(t[0]-e[0])>Fo){var a=t[0]u;++u){var c=e[u],l=c.length;if(l)for(var h=c[0],f=h[0],d=h[1]/2+No/4,p=Math.sin(d),g=Math.cos(d),y=1;;){y===l&&(y=0),t=c[y];var m=t[0],v=t[1]/2+No/4,b=Math.sin(v),_=Math.cos(v),x=m-f,w=x>=0?1:-1,A=w*x,k=A>No,E=p*b;if(_u.add(Math.atan2(E*w*Math.sin(A),g*_+E*Math.cos(A))),a+=k?x+w*Bo:x,k^f>=n^m>=n){var D=me(ge(h),ge(t));_e(D);var M=me(i,D);_e(M);var S=(k^x>=0?-1:1)*nt(M[2]);(r>S||r===S&&(D[0]||D[1]))&&(o+=k^x>=0?1:-1)}if(!y++)break;f=m,p=b,g=_,h=t}}return(-Fo>a||Fo>a&&0>_u)^1&o}function Ue(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(h,f){var d,p=[h,f],g=e(h,f),y=o?g?0:i(h,f):g?i(h+(0>h?No:-No),f):0;if(!n&&(c=s=g)&&t.lineStart(),g!==s&&(d=r(n,p),(we(n,d)||we(p,d))&&(p[0]+=Fo,p[1]+=Fo,g=e(p[0],p[1]))),g!==s)l=0,g?(t.lineStart(),d=r(p,n),t.point(d[0],d[1])):(d=r(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(u&&n&&o^g){var m;y&a||!(m=r(p,n,!0))||(l=0,o?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||n&&we(n,p)||t.point(p[0],p[1]),n=p,s=g,a=y},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return l|(c&&s)<<1}}}function r(t,e,n){var r=ge(t),i=ge(e),o=[1,0,0],u=me(r,i),s=ye(u,u),c=u[0],l=s-c*c;if(!l)return!n&&t;var h=a*s/l,f=-a*c/l,d=me(o,u),p=be(o,h),g=be(u,f);ve(p,g);var y=d,m=ye(p,y),v=ye(y,y),b=m*m-v*(ye(p,p)-1);if(!(0>b)){var _=Math.sqrt(b),x=be(y,(-m-_)/v);if(ve(x,p),x=xe(x),!n)return x;var w,A=t[0],k=e[0],E=t[1],D=e[1];A>k&&(w=A,A=k,k=w);var M=k-A,S=go(M-No)M;if(!S&&E>D&&(w=E,E=D,D=w),C?S?E+D>0^x[1]<(go(x[0]-A)No^(A<=x[0]&&x[0]<=k)){var T=be(y,(-m+_)/v);return ve(T,p),[x,xe(T)]}}}function i(e,n){var r=o?t:No-t,i=0;return-r>e?i|=1:e>r&&(i|=2),-r>n?i|=4:n>r&&(i|=8),i}var a=Math.cos(t),o=a>0,u=go(a)>Fo,s=gn(t,6*Ro);return Ne(e,n,s,o?[0,-t]:[-No,t-No])}function Ye(t,e,n,r){return function(i){var a,o=i.a,u=i.b,s=o.x,c=o.y,l=u.x,h=u.y,f=0,d=1,p=l-s,g=h-c;if(a=t-s,p||!(a>0)){if(a/=p,0>p){if(f>a)return;d>a&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=n-s,p||!(0>a)){if(a/=p,0>p){if(a>d)return;a>f&&(f=a)}else if(p>0){if(f>a)return;d>a&&(d=a)}if(a=e-c,g||!(a>0)){if(a/=g,0>g){if(f>a)return;d>a&&(d=a)}else if(g>0){if(a>d)return;a>f&&(f=a)}if(a=r-c,g||!(0>a)){if(a/=g,0>g){if(a>d)return;a>f&&(f=a)}else if(g>0){if(f>a)return;d>a&&(d=a)}return f>0&&(i.a={x:s+f*p,y:c+f*g}),1>d&&(i.b={x:s+d*p,y:c+d*g}),i}}}}}}function ze(t,e,n,r){function i(r,i){return go(r[0]-t)0?0:3:go(r[0]-n)0?2:1:go(r[1]-e)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=y.length,r=t[1],i=0;n>i;++i)for(var a,o=1,u=y[i],s=u.length,c=u[0];s>o;++o)a=u[o],c[1]<=r?a[1]>r&&tt(c,a,t)>0&&++e:a[1]<=r&&tt(c,a,t)<0&&--e,c=a;return 0!==e}function c(a,u,s,c){var l=0,h=0;if(null==a||(l=i(a,s))!==(h=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)!==h)}else c.point(u[0],u[1])}function l(i,a){return i>=t&&n>=i&&a>=e&&r>=a}function h(t,e){l(t,e)&&u.point(t,e)}function f(){C.point=p,y&&y.push(m=[]),k=!0,A=!1,x=w=NaN}function d(){g&&(p(v,b),_&&A&&M.rejoin(),g.push(M.buffer())),C.point=h,A&&u.lineEnd()}function p(t,e){t=Math.max(-Ou,Math.min(Ou,t)),e=Math.max(-Ou,Math.min(Ou,e));var n=l(t,e);if(y&&m.push([t,e]),k)v=t,b=e,_=n,k=!1,n&&(u.lineStart(),u.point(t,e));else if(n&&A)u.point(t,e);else{var r={a:{x:x,y:w},b:{x:t,y:e}};S(r)?(A||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),n||u.lineEnd(),E=!1):n&&(u.lineStart(),u.point(t,e),E=!1)}x=t,w=e,A=n}var g,y,m,v,b,_,x,w,A,k,E,D=u,M=Oe(),S=Ye(t,e,n,r),C={point:h,lineStart:f,lineEnd:d,polygonStart:function(){u=M,g=[],y=[],E=!0},polygonEnd:function(){u=D,g=no.merge(g);var e=s([t,r]),n=E&&e,i=g.length;(n||i)&&(u.polygonStart(),n&&(u.lineStart(),c(null,null,1,u),u.lineEnd()),i&&Te(g,a,e,c,u),u.polygonEnd()),g=y=m=null}};return C}}function Ve(t){var e=0,n=No/3,r=un(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*No/180,n=t[1]*No/180):[e/No*180,n/No*180]},i}function He(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,nt((a-(t*t+n*n)*i*i)/(2*i))]},n}function $e(){function t(t,e){Ru+=i*t-r*e,r=t,i=e}var e,n,r,i;Yu.point=function(a,o){Yu.point=t,e=r=a,n=i=o},Yu.lineEnd=function(){t(e,n)}}function Ge(t,e){qu>t&&(qu=t),t>ju&&(ju=t),Pu>e&&(Pu=e),e>Uu&&(Uu=e)}function We(){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=Ze(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=Ze(t),u},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return u}function Ze(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Xe(t,e){ku+=t,Eu+=e,++Du}function Ke(){function t(t,r){var i=t-e,a=r-n,o=Math.sqrt(i*i+a*a);Mu+=o*(e+t)/2,Su+=o*(n+r)/2,Cu+=o,Xe(e=t,n=r)}var e,n;Vu.point=function(r,i){Vu.point=t,Xe(e=r,n=i)}}function Je(){Vu.point=Xe}function Qe(){function t(t,e){var n=t-r,a=e-i,o=Math.sqrt(n*n+a*a);Mu+=o*(r+t)/2,Su+=o*(i+e)/2,Cu+=o,o=i*t-r*e,Tu+=o*(r+t),Fu+=o*(i+e),Lu+=3*o,Xe(r=t,i=e)}var e,n,r,i;Vu.point=function(a,o){Vu.point=t,Xe(e=r=a,n=i=o)},Vu.lineEnd=function(){t(e,n)}}function tn(t){function e(e,n){t.moveTo(e+o,n),t.arc(e,n,o,0,Bo)}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:w};return u}function en(t){function e(t){return(u?r:n)(t)}function n(e){return an(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(){b=NaN,k.point=a,e.lineStart()}function a(n,r){var a=ge([n,r]),o=t(n,r);i(b,_,v,x,w,A,b=o[0],_=o[1],v=n,x=a[0],w=a[1],A=a[2],u,e),e.point(b,_)}function o(){k.point=n,e.lineEnd()}function s(){r(),k.point=c,k.lineEnd=l}function c(t,e){a(h=t,f=e),d=b,p=_,g=x,y=w,m=A,k.point=a}function l(){i(b,_,v,x,w,A,d,p,h,g,y,m,u,e),k.lineEnd=o,o()}var h,f,d,p,g,y,m,v,b,_,x,w,A,k={point:n,lineStart:r,lineEnd:o,polygonStart:function(){e.polygonStart(),k.lineStart=s},polygonEnd:function(){e.polygonEnd(),k.lineStart=r}};return k}function i(e,n,r,u,s,c,l,h,f,d,p,g,y,m){var v=l-e,b=h-n,_=v*v+b*b;if(_>4*a&&y--){var x=u+d,w=s+p,A=c+g,k=Math.sqrt(x*x+w*w+A*A),E=Math.asin(A/=k),D=go(go(A)-1)a||go((v*T+b*F)/_-.5)>.3||o>u*d+s*p+c*g)&&(i(e,n,r,u,s,c,S,C,D,x/=k,w/=k,A,y,m),m.point(S,C),i(S,C,D,x,w,A,l,h,f,d,p,g,y,m))}}var a=.5,o=Math.cos(30*Ro),u=16;return e.precision=function(t){return arguments.length?(u=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function nn(t){var e=en(function(e,n){return t([e*qo,n*qo])});return function(t){return sn(e(t))}}function rn(t){this.stream=t}function an(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 on(t){return un(function(){return t})()}function un(t){function e(t){return t=u(t[0]*Ro,t[1]*Ro),[t[0]*f+s,c-t[1]*f]}function n(t){return t=u.invert((t[0]-s)/f,(c-t[1])/f),t&&[t[0]*qo,t[1]*qo]}function r(){u=Se(o=hn(m,v,_),a);var t=a(g,y);return s=d-t[0]*f,c=p+t[1]*f,i()}function i(){return l&&(l.valid=!1,l=null),e}var a,o,u,s,c,l,h=en(function(t,e){return t=a(t,e),[t[0]*f+s,c-t[1]*f]}),f=150,d=480,p=250,g=0,y=0,m=0,v=0,_=0,x=Bu,w=b,A=null,k=null;return e.stream=function(t){return l&&(l.valid=!1),l=sn(x(o,h(w(t)))),l.valid=!0,l},e.clipAngle=function(t){return arguments.length?(x=null==t?(A=t,Bu):Ue((A=+t)*Ro),i()):A},e.clipExtent=function(t){return arguments.length?(k=t,w=t?ze(t[0][0],t[0][1],t[1][0],t[1][1]):b,i()):k},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],r()):[d,p]},e.center=function(t){return arguments.length?(g=t[0]%360*Ro,y=t[1]%360*Ro,r()):[g*qo,y*qo]},e.rotate=function(t){return arguments.length?(m=t[0]%360*Ro,v=t[1]%360*Ro,_=t.length>2?t[2]%360*Ro:0,r()):[m*qo,v*qo,_*qo]},no.rebind(e,h,"precision"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&n,r()}}function sn(t){return an(t,function(e,n){t.point(e*Ro,n*Ro)})}function cn(t,e){return[t,e]}function ln(t,e){return[t>No?t-Bo:-No>t?t+Bo:t,e]}function hn(t,e,n){return t?e||n?Se(dn(t),pn(e,n)):dn(t):e||n?pn(e,n):ln}function fn(t){return function(e,n){return e+=t,[e>No?e-Bo:-No>e?e+Bo:e,n]}}function dn(t){var e=fn(t);return e.invert=fn(-t),e}function pn(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),nt(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),nt(l*r-u*i)]},n}function gn(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,a,o,u){var s=o*e;null!=i?(i=yn(n,i),a=yn(n,a),(o>0?a>i:i>a)&&(i+=o*Bo)):(i=t+o*Bo,a=t-.5*s);for(var c,l=i;o>0?l>a:a>l;l-=s)u.point((c=xe([n,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function yn(t,e){var n=ge(e);n[0]-=t,_e(n);var r=et(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Fo)%(2*Math.PI)}function mn(t,e,n){var r=no.range(t,e-Fo,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function vn(t,e,n){var r=no.range(t,e-Fo,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function bn(t){return t.source}function _n(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),h=o*Math.sin(n),f=2*Math.asin(Math.sqrt(ot(r-e)+i*o*ot(n-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,n=Math.sin(f-t)*d,r=n*s+e*l,i=n*c+e*h,o=n*a+e*u;return[Math.atan2(i,r)*qo,Math.atan2(o,Math.sqrt(r*r+i*i))*qo]}:function(){return[t*qo,e*qo]};return p.distance=f,p}function wn(){function t(t,i){var a=Math.sin(i*=Ro),o=Math.cos(i),u=go((t*=Ro)-e),s=Math.cos(u);Hu+=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;$u.point=function(i,a){e=i*Ro,n=Math.sin(a*=Ro),r=Math.cos(a),$u.point=t},$u.lineEnd=function(){$u.point=$u.lineEnd=w}}function An(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 kn(t,e){function n(t,e){o>0?-Io+Fo>e&&(e=-Io+Fo):e>Io-Fo&&(e=Io-Fo);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(No/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=Q(a)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/a,2*Math.atan(Math.pow(o/r,1/a))-Io]},n):Dn}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 go(i)i;i++){for(;r>1&&tt(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Ln(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,h=r[1]-c,f=(u*(s-c)-h*(i-a))/(h*o-u*l);return[i+f*o,s+f*l]}function On(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function In(){rr(this),this.edge=this.site=this.circle=null}function Rn(t){var e=is.pop()||new In;return e.site=t,e}function qn(t){Wn(t),es.remove(t),is.push(t),rr(t)}function Pn(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},a=t.P,o=t.N,u=[t];qn(t);for(var s=a;s.circle&&go(n-s.circle.x)l;++l)c=u[l],s=u[l-1],tr(c.edge,s.site,c.site,i);s=u[0],c=u[h-1],c.edge=Jn(s.site,c.site,null,i),Gn(s),Gn(c)}function jn(t){for(var e,n,r,i,a=t.x,o=t.y,u=es._;u;)if(r=Un(u,o)-a,r>Fo)u=u.L;else{if(i=a-Yn(u,o),!(i>Fo)){r>-Fo?(e=u.P,n=u):i>-Fo?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}var s=Rn(t);if(es.insert(e,s),e||n){if(e===n)return Wn(e),n=Rn(e.site),es.insert(s,n),s.edge=n.edge=Jn(e.site,s.site),Gn(e),void Gn(n);if(!n)return void(s.edge=Jn(e.site,s.site));Wn(e),Wn(n);var c=e.site,l=c.x,h=c.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,y=p.y-h,m=2*(f*y-d*g),v=f*f+d*d,b=g*g+y*y,_={x:(y*v-d*b)/m+l,y:(f*b-g*v)/m+h};tr(n.edge,c,p,_),s.edge=Jn(c,t,null,_),n.edge=Jn(t,p,null,_),Gn(e),Gn(n)}}function Un(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,h=1/a-1/c,f=l/c;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*c)-s+c/2+i-a/2)))/h+r:(r+u)/2}function Yn(t,e){var n=t.N;if(n)return Un(n,e);var r=t.site;return r.y===e?r.x:1/0}function zn(t){this.site=t,this.edges=[]}function Vn(t){for(var e,n,r,i,a,o,u,s,c,l,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],g=ts,y=g.length;y--;)if(a=g[y],a&&a.prepare())for(u=a.edges,s=u.length,o=0;s>o;)l=u[o].end(),r=l.x,i=l.y,c=u[++o%s].start(),e=c.x,n=c.y,(go(r-e)>Fo||go(i-n)>Fo)&&(u.splice(o,0,new er(Qn(a.site,l,go(r-h)Fo?{x:h,y:go(e-h)Fo?{x:go(n-p)Fo?{x:f,y:go(e-f)Fo?{x:go(n-d)=-Lo)){var d=s*s+c*c,p=l*l+h*h,g=(h*d-c*p)/f,y=(s*p-l*d)/f,h=y+u,m=as.pop()||new $n;m.arc=t,m.site=i,m.x=g+o,m.y=h+Math.sqrt(g*g+y*y),m.cy=h,t.circle=m;for(var v=null,b=rs._;b;)if(m.yy||y>=u)return;if(f>p){if(a){if(a.y>=c)return}else a={x:y,y:s};n={x:y,y:c}}else{if(a){if(a.yr||r>1)if(f>p){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.yd){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.xa||h>o||r>f||i>d)){if(p=t.point){var p,g=e-t.x,y=n-t.y,m=g*g+y*y;if(s>m){var v=Math.sqrt(s=m);r=e-v,i=n-v,a=e+v,o=n+v,u=p}}for(var b=t.nodes,_=.5*(l+f),x=.5*(h+d),w=e>=_,A=n>=x,k=A<<1|w,E=k+4;E>k;++k)if(t=b[3&k])switch(3&k){case 0:c(t,l,h,_,x);break;case 1:c(t,_,h,f,x);break;case 2:c(t,l,x,_,d);break;case 3:c(t,_,x,f,d)}}}(t,r,i,a,o),u}function gr(t,e){t=no.rgb(t),e=no.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"#"+xt(Math.round(n+a*t))+xt(Math.round(r+o*t))+xt(Math.round(i+u*t))}}function yr(t,e){var n,r={},i={};for(n in t)n in e?r[n]=br(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 mr(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function vr(t,e){var n,r,i,a=us.lastIndex=ss.lastIndex=0,o=-1,u=[],s=[];for(t+="",e+="";(n=us.exec(t))&&(r=ss.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:mr(n,r)})),a=ss.lastIndex;return ar;++r)u[(n=s[r]).i]=n.x(t);return u.join("")})}function br(t,e){for(var n,r=no.interpolators.length;--r>=0&&!(n=no.interpolators[r](t,e)););return n}function _r(t,e){var n,r=[],i=[],a=t.length,o=e.length,u=Math.min(t.length,e.length);for(n=0;u>n;++n)r.push(br(t[n],e[n]));for(;a>n;++n)i[n]=t[n];for(;o>n;++n)i[n]=e[n];return function(t){for(n=0;u>n;++n)i[n]=r[n](t);return i}}function xr(t){return function(e){return 0>=e?0:e>=1?1:t(e)}}function wr(t){return function(e){return 1-t(1-e)}}function Ar(t){return function(e){return.5*(.5>e?t(2*e):2-t(2-2*e))}}function kr(t){return t*t}function Er(t){return t*t*t}function Dr(t){if(0>=t)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(.5>t?n:3*(t-e)+n-.75)}function Mr(t){return function(e){return Math.pow(e,t)}}function Sr(t){return 1-Math.cos(t*Io)}function Cr(t){return Math.pow(2,10*(t-1))}function Tr(t){return 1-Math.sqrt(1-t*t)}function Fr(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Bo*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*Bo/e)}}function Lr(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Nr(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Br(t,e){t=no.hcl(t),e=no.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:-180>a&&(a+=360),function(t){return ht(n+a*t,r+o*t,i+u*t)+""}}function Or(t,e){t=no.hsl(t),e=no.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:-180>a&&(a+=360),function(t){return ct(n+a*t,r+o*t,i+u*t)+""}}function Ir(t,e){t=no.lab(t),e=no.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 dt(n+a*t,r+o*t,i+u*t)+""}}function Rr(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function qr(t){var e=[t.a,t.b],n=[t.c,t.d],r=jr(e),i=Pr(e,n),a=jr(Ur(n,e,-i))||0;e[0]*n[1]180?l+=360:l-c>180&&(c+=360),i.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:mr(c,l)})):l&&r.push(r.pop()+"rotate("+l+")"),h!=f?i.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:mr(h,f)}):f&&r.push(r.pop()+"skewX("+f+")"),d[0]!=p[0]||d[1]!=p[1]?(n=r.push(r.pop()+"scale(",null,",",null,")"),i.push({i:n-4,x:mr(d[0],p[0])},{i:n-2,x:mr(d[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),n=i.length,function(t){for(var e,a=-1;++a=0;)n.push(i[r])}function ei(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;++on;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function fi(t){return t.reduce(di,0)}function di(t,e){return t+e[1]}function pi(t,e){return gi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function gi(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 yi(t){return[no.min(t),no.max(t)]}function mi(t,e){return t.value-e.value}function vi(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function bi(t,e){t._pack_next=e,e._pack_prev=t}function _i(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 xi(t){function e(t){l=Math.min(t.x-t.r,l),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((n=t.children)&&(c=n.length)){var n,r,i,a,o,u,s,c,l=1/0,h=-(1/0),f=1/0,d=-(1/0);if(n.forEach(wi),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],Ei(r,i,a),e(a),vi(r,a),r._pack_prev=a,vi(a,i),i=r._pack_next,o=3;c>o;o++){Ei(r,i,a=n[o]);var p=0,g=1,y=1;for(u=i._pack_next;u!==i;u=u._pack_next,g++)if(_i(u,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==u._pack_prev&&!_i(s,a);s=s._pack_prev,y++);p?(y>g||g==y&&i.ro;o++)a=n[o],a.x-=m,a.y-=v,b=Math.max(b,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=b,n.forEach(Ai)}}function wi(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function ki(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=0;)e=i[a],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Fi(t,e,n){return t.a.parent===e.parent?t.a:n}function Li(t){return 1+no.max(t,function(t){return t.y})}function Ni(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Bi(t){var e=t.children;return e&&e.length?Bi(e[0]):t}function Oi(t){var e,n=t.children;return n&&(e=n.length)?Oi(n[e-1]):t}function Ii(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Ri(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 0>i&&(n+=i/2,i=0),0>a&&(r+=a/2,a=0),{x:n,y:r,dx:i,dy:a}}function qi(t){var e=t[0],n=t[t.length-1];return n>e?[e,n]:[n,e]}function Pi(t){return t.rangeExtent?t.rangeExtent():qi(t.range())}function ji(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 Ui(t,e){var n,r=0,i=t.length-1,a=t[r],o=t[i];return a>o&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t}function Yi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:bs}function zi(t,e,n,r){var i=[],a=[],o=0,u=Math.min(t.length,e.length)-1;for(t[u]2?zi:ji,s=r?Vr:zr;return o=i(t,e,s,n),u=i(e,t,s,br),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(Rr)},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 Wi(t,e)},a.tickFormat=function(e,n){return Zi(t,e,n)},a.nice=function(e){return $i(t,e),i()},a.copy=function(){return Vi(t,e,n,r)},i()}function Hi(t,e){return no.rebind(t,e,"range","rangeRound","interpolate","clamp")}function $i(t,e){return Ui(t,Yi(Gi(t,e)[2]))}function Gi(t,e){null==e&&(e=10);var n=qi(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),a=e/r*i;return.15>=a?i*=10:.35>=a?i*=5:.75>=a&&(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 Wi(t,e){return no.range.apply(no,Gi(t,e))}function Zi(t,e,n){var r=Gi(t,e);if(n){var i=uu.exec(n);if(i.shift(),"s"===i[8]){var a=no.formatPrefix(Math.max(go(r[0]),go(r[1])));return i[7]||(i[7]="."+Xi(a.scale(r[2]))),i[8]="f",n=no.format(i.join("")),function(t){return n(a.scale(t))+a.symbol}}i[7]||(i[7]="."+Ki(i[8],r)),n=i.join("")}else n=",."+Xi(r[2])+"f";return no.format(n)}function Xi(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Ki(t,e){var n=Xi(e[2]);return t in _s?Math.abs(n-Xi(Math.max(go(e[0]),go(e[1]))))+ +("e"!==t):n-2*("%"===t)}function Ji(t,e,n,r){function i(t){return(n?Math.log(0>t?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=Ui(r.map(i),n?Math:ws);return t.domain(e),r=e.map(a),o},o.ticks=function(){var t=qi(r),o=[],u=t[0],s=t[1],c=Math.floor(i(u)),l=Math.ceil(i(s)),h=e%1?2:e;if(isFinite(l-c)){if(n){for(;l>c;c++)for(var f=1;h>f;f++)o.push(a(c)*f);o.push(a(c))}else for(o.push(a(c));c++0;f--)o.push(a(c)*f);for(c=0;o[c]s;l--);o=o.slice(c,l)}return o},o.tickFormat=function(t,e){if(!arguments.length)return xs;arguments.length<2?e=xs:"function"!=typeof e&&(e=no.format(e));var r,u=Math.max(.1,t/o.ticks().length),s=n?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/a(s(i(t)+r))<=u?e(t):""}},o.copy=function(){return Ji(t.copy(),e,n,r)},Hi(o,t)}function Qi(t,e,n){function r(e){return t(i(e))}var i=ta(e),a=ta(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 Wi(n,t)},r.tickFormat=function(t,e){return Zi(n,t,e)},r.nice=function(t){return r.domain($i(n,t))},r.exponent=function(o){return arguments.length?(i=ta(e=o),a=ta(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return Qi(t.copy(),e,n)},Hi(r,t)}function ta(t){return function(e){return 0>e?-Math.pow(-e,t):Math.pow(e,t)}}function ea(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 no.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 l;for(var a,o=-1,u=r.length;++on?[NaN,NaN]:[n>0?u[n-1]:t[0],ne?NaN:e/a+t,[e,e+1/a]},r.copy=function(){return ra(t,e,n)},i()}function ia(t,e){function n(n){return n>=n?e[no.bisect(t,n)]:void 0}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 ia(t,e)},n}function aa(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 Wi(t,e)},e.tickFormat=function(e,n){return Zi(t,e,n)},e.copy=function(){return aa(t)},e}function oa(){return 0}function ua(t){return t.innerRadius}function sa(t){return t.outerRadius}function ca(t){return t.startAngle}function la(t){return t.endAngle}function ha(t){return t&&t.padAngle}function fa(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function da(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,h=t[1]+c,f=e[0]+s,d=e[1]+c,p=(l+f)/2,g=(h+d)/2,y=f-l,m=d-h,v=y*y+m*m,b=n-r,_=l*d-f*h,x=(0>m?-1:1)*Math.sqrt(b*b*v-_*_),w=(_*m-y*x)/v,A=(-_*y-m*x)/v,k=(_*m+y*x)/v,E=(-_*y+m*x)/v,D=w-p,M=A-g,S=k-p,C=E-g;return D*D+M*M>S*S+C*C&&(w=k,A=E),[[w-s,A-c],[w*n/b,A*n/b]]}function pa(t){function e(e){function o(){c.push("M",a(t(l),u))}for(var s,c=[],l=[],h=-1,f=e.length,d=Mt(n),p=Mt(r);++h1&&i.push("H",r[0]),i.join("")}function va(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e1){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;c9&&(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 Ba(t){return t.length<3?ga(t):t[0]+Aa(t,Na(t))}function Oa(t){for(var e,n,r,i=-1,a=t.length;++ir)return l();var i=a[a.active];i&&(--a.count,delete a[a.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),a.active=r,o.event&&o.event.start.call(t,t.__data__,e),o.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&g.push(r)}),f=o.ease,h=o.duration,no.timer(function(){return p.c=c(n||1)?Ce:c,1},0,u)}function c(n){if(a.active!==r)return 1;for(var i=n/h,u=f(i),s=g.length;s>0;)g[--s].call(t,u);return i>=1?(o.event&&o.event.end.call(t,t.__data__,e),l()):void 0}function l(){return--a.count?delete a[r]:delete t[n],1}var h,f,d=o.delay,p=iu,g=[];return p.t=d+u,i>=d?s(i-d):void(p.c=s)},0,u)}}function Za(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function Xa(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function Ka(t){return t.toISOString()}function Ja(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,a=no.bisect(Gs,i);return a==Gs.length?[e.year,Gi(t.map(function(t){return t/31536e6}),n)[2]]:a?e[i/Gs[a-1]1?{floor:function(e){for(;n(e=t.floor(e));)e=Qa(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=Qa(+e+1);return e}}:t))},r.ticks=function(t,e){var n=qi(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],Qa(+n[1]+1),1>e?1:e)},r.tickFormat=function(){return n},r.copy=function(){return Ja(t.copy(),e,n)},Hi(r,t)}function Qa(t){return new Date(t)}function to(t){return JSON.parse(t.responseText)}function eo(t){var e=ao.createRange();return e.selectNode(ao.body),e.createContextualFragment(t.responseText)}var no={version:"3.5.6"},ro=[].slice,io=function(t){return ro.call(t)},ao=this.document;if(ao)try{io(ao.documentElement.childNodes)[0].nodeType}catch(oo){io=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}),ao)try{ao.createElement("DIV").style.setProperty("opacity",0,"")}catch(uo){var so=this.Element.prototype,co=so.setAttribute,lo=so.setAttributeNS,ho=this.CSSStyleDeclaration.prototype,fo=ho.setProperty;so.setAttribute=function(t,e){co.call(this,t,e+"")},so.setAttributeNS=function(t,e,n){lo.call(this,t,e,n+"")},ho.setProperty=function(t,e,n){fo.call(this,t,e+"",n)}}no.ascending=r,no.descending=function(t,e){return t>e?-1:e>t?1:e>=t?0:NaN},no.min=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){n=r;break}for(;++ir&&(n=r)}else{for(;++i=r){n=r;break}for(;++ir&&(n=r)}return n},no.max=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){n=r;break}for(;++in&&(n=r)}else{for(;++i=r){n=r;break}for(;++in&&(n=r)}return n},no.extent=function(t,e){var n,r,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=r){n=i=r;break}for(;++ar&&(n=r),r>i&&(i=r))}else{for(;++a=r){n=i=r;break}for(;++ar&&(n=r),r>i&&(i=r))}return[n,i]},no.sum=function(t,e){var n,r=0,i=t.length,o=-1;if(1===arguments.length)for(;++o1?s/(l-1):void 0},no.deviation=function(){var t=no.variance.apply(this,arguments);return t?Math.sqrt(t):t};var po=o(r);no.bisectLeft=po.left,no.bisect=no.bisectRight=po.right,no.bisector=function(t){return o(1===t.length?function(e,n){return r(t(e),n)}:t)},no.shuffle=function(t,e,n){(a=arguments.length)<3&&(n=t.length,2>a&&(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},no.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},no.pairs=function(t){for(var e,n=0,r=t.length-1,i=t[0],a=new Array(0>r?0:r);r>n;)a[n]=[e=i,i=t[++n]];return a},no.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,e=no.min(arguments,u),n=new Array(e);++t=0;)for(r=t[i],e=r.length;--e>=0;)n[--o]=r[e];return n};var go=Math.abs;no.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=s(go(n)),o=-1;if(t*=a,e*=a,n*=a,0>n)for(;(r=t+n*++o)>e;)i.push(r/a);else for(;(r=t+n*++o)=a.length)return r?r.call(i,o):n?o.sort(n):o;for(var s,c,h,f,d=-1,p=o.length,g=a[u++],y=new l;++d=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(no.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},no.set=function(t){var e=new v;if(t)for(var n=0,r=t.length;r>n;++n)e.add(t[n]);return e},c(v,{has:d,add:function(t){return this._[h(t+="")]=!0,t},remove:p,values:g,size:y,empty:m,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),no.behavior={},no.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r=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}},no.event=null,no.requote=function(t){return t.replace(bo,"\\$&")};var bo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_o={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},xo=function(t,e){return e.querySelector(t)},wo=function(t,e){return e.querySelectorAll(t)},Ao=function(t,e){var n=t.matches||t[x(t,"matchesSelector")];return(Ao=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(xo=function(t,e){return Sizzle(t,e)[0]||null},wo=Sizzle,Ao=Sizzle.matchesSelector),no.selection=function(){return no.select(ao.documentElement)};var ko=no.selection.prototype=[];ko.select=function(t){var e,n,r,i,a=[];t=C(t);for(var o=-1,u=this.length;++o=0&&(n=t.slice(0,e),t=t.slice(e+1)),Eo.hasOwnProperty(n)?{space:Eo[n],local:t}:t}},ko.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=no.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},ko.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=B(t)).length,i=-1;if(e=n.classList){for(;++ii){if("string"!=typeof t){2>i&&(e="");for(r in t)this.each(R(r,t[r],e));return this}if(2>i){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(R(t,e,r))},ko.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(q(e,t[e]));return this}return this.each(q(t,e))},ko.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},ko.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},ko.append=function(t){return t=P(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},ko.insert=function(t,e){return t=P(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},ko.remove=function(){return this.each(j)},ko.data=function(t,e){function n(t,n){var r,i,a,o=t.length,h=n.length,f=Math.min(o,h),d=new Array(h),p=new Array(h),g=new Array(o);if(e){var y,m=new l,v=new Array(o);for(r=-1;++rr;++r)p[r]=U(n[r]);for(;o>r;++r)g[r]=t[r]}p.update=d,p.parentNode=d.parentNode=g.parentNode=t.parentNode,u.push(p),s.push(d),c.push(g)}var r,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(r=this[0]).length);++aa;a++){i.push(e=[]),e.parentNode=(n=this[a]).parentNode;for(var u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return S(i)},ko.order=function(){for(var t=-1,e=this.length;++t=0;)(n=r[i])&&(a&&a!==n.nextSibling&&a.parentNode.insertBefore(n,a),a=n);return this},ko.sort=function(t){t=z.apply(this,arguments);for(var e=-1,n=this.length;++et;t++)for(var n=this[t],r=0,i=n.length;i>r;r++){var a=n[r];if(a)return a}return null},ko.size=function(){var t=0;return V(this,function(){++t}),t};var Do=[];no.selection.enter=H,no.selection.enter.prototype=Do,Do.append=ko.append,Do.empty=ko.empty,Do.node=ko.node,Do.call=ko.call,Do.size=ko.size,Do.select=function(t){for(var e,n,r,i,a,o=[],u=-1,s=this.length;++ur){if("string"!=typeof t){2>r&&(e=!1);for(n in t)this.each(G(n,t[n],e));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(G(t,e,n))};var Mo=no.map({mouseenter:"mouseover",mouseleave:"mouseout"});ao&&Mo.forEach(function(t){"on"+t in ao&&Mo.remove(t)});var So,Co=0;no.mouse=function(t){return K(t,D())};var To=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;no.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=D().changedTouches),e)for(var r,i=0,a=e.length;a>i;++i)if((r=e[i]).identifier===n)return K(t,r)},no.behavior.drag=function(){function t(){this.on("mousedown.drag",a).on("touchstart.drag",o)}function e(t,e,n,a,o){return function(){function u(){var t,n,r=e(f,g);r&&(t=r[0]-b[0],n=r[1]-b[1],p|=t|n,b=r,d({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:n}))}function s(){e(f,g)&&(m.on(a+y,null).on(o+y,null),v(p&&no.event.target===h),d({type:"dragend"}))}var c,l=this,h=no.event.target,f=l.parentNode,d=r.of(l,arguments),p=0,g=t(),y=".drag"+(null==g?"":"-"+g),m=no.select(n(h)).on(a+y,u).on(o+y,s),v=X(h),b=e(f,g);i?(c=i.apply(l,arguments),c=[c.x-b[0],c.y-b[1]]):c=[0,0],d({type:"dragstart"})}}var r=M(t,"drag","dragstart","dragend"),i=null,a=e(w,no.mouse,n,"mousemove","mouseup"),o=e(J,no.touch,b,"touchmove","touchend");return t.origin=function(e){return arguments.length?(i=e,t):i},no.rebind(t,r,"on")},no.touches=function(t,e){return arguments.length<2&&(e=D().touches),e?io(e).map(function(e){var n=K(t,e);return n.identifier=e.identifier,n}):[]};var Fo=1e-6,Lo=Fo*Fo,No=Math.PI,Bo=2*No,Oo=Bo-Fo,Io=No/2,Ro=No/180,qo=180/No,Po=Math.SQRT2,jo=2,Uo=4;no.interpolateZoom=function(t,e){function n(t){var e=t*v;if(m){var n=it(g),o=a/(jo*f)*(n*at(Po*e+g)-rt(g));return[r+o*c,i+o*l,a*n/it(Po*e+g)]}return[r+t*c,i+t*l,a*Math.exp(Po*e)]}var r=t[0],i=t[1],a=t[2],o=e[0],u=e[1],s=e[2],c=o-r,l=u-i,h=c*c+l*l,f=Math.sqrt(h),d=(s*s-a*a+Uo*h)/(2*a*jo*f),p=(s*s-a*a-Uo*h)/(2*s*jo*f),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(p*p+1)-p),m=y-g,v=(m||Math.log(s/a))/Po;return n.duration=1e3*v,n},no.behavior.zoom=function(){function t(t){t.on(F,h).on(zo+".zoom",d).on("dblclick.zoom",p).on(B,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(S[0],Math.min(S[1],t))}function a(t,e){e=r(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function o(e,n,r,o){e.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),a(y=n,r),e=no.select(e),C>0&&(e=e.transition().duration(C)),e.call(t.event)}function u(){x&&x.domain(_.range().map(function(t){return(t-k.x)/k.k}).map(_.invert)),A&&A.domain(w.range().map(function(t){return(t-k.y)/k.k}).map(w.invert))}function s(t){T++||t({type:"zoomstart"})}function c(t){u(),t({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function l(t){--T||(t({type:"zoomend"}),y=null)}function h(){function t(){h=1,a(no.mouse(i),d),c(u)}function r(){f.on(L,null).on(N,null),p(h&&no.event.target===o),l(u)}var i=this,o=no.event.target,u=O.of(i,arguments),h=0,f=no.select(n(i)).on(L,t).on(N,r),d=e(no.mouse(i)),p=X(i);Rs.call(i),s(u)}function f(){function t(){var t=no.touches(p);return d=k.k,t.forEach(function(t){t.identifier in y&&(y[t.identifier]=e(t))}),t}function n(){var e=no.event.target;no.select(e).on(_,r).on(x,u),w.push(e);for(var n=no.event.changedTouches,i=0,a=n.length;a>i;++i)y[n[i].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(500>c-b){var l=s[0];o(p,l,y[l.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),E()}b=c}else if(s.length>1){var l=s[0],h=s[1],f=l[0]-h[0],d=l[1]-h[1];m=f*f+d*d}}function r(){var t,e,n,r,o=no.touches(p);Rs.call(p);for(var u=0,s=o.length;s>u;++u,r=null)if(n=o[u],r=y[n.identifier]){if(e)break;t=n,e=r}if(r){var l=(l=n[0]-t[0])*l+(l=n[1]-t[1])*l,h=m&&Math.sqrt(l/m);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+r[0])/2,(e[1]+r[1])/2],i(h*d)}b=null,a(t,e),c(g)}function u(){if(no.event.touches.length){for(var e=no.event.changedTouches,n=0,r=e.length;r>n;++n)delete y[e[n].identifier];for(var i in y)return void t()}no.selectAll(w).on(v,null),A.on(F,h).on(B,f),D(),l(g)}var d,p=this,g=O.of(p,arguments),y={},m=0,v=".zoom-"+no.event.changedTouches[0].identifier,_="touchmove"+v,x="touchend"+v,w=[],A=no.select(p),D=X(p);n(),s(g),A.on(F,null).on(B,n)}function d(){var t=O.of(this,arguments);v?clearTimeout(v):(Rs.call(this),g=e(y=m||no.mouse(this)),s(t)),v=setTimeout(function(){v=null,l(t)},50),E(),i(Math.pow(2,.002*Yo())*k.k),a(y,g),c(t)}function p(){var t=no.mouse(this),n=Math.log(k.k)/Math.LN2;o(this,t,e(t),no.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var g,y,m,v,b,_,x,w,A,k={x:0,y:0,k:1},D=[960,500],S=Vo,C=250,T=0,F="mousedown.zoom",L="mousemove.zoom",N="mouseup.zoom",B="touchstart.zoom",O=M(t,"zoomstart","zoom","zoomend");return zo||(zo="onwheel"in ao?(Yo=function(){return-no.event.deltaY*(no.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ao?(Yo=function(){return no.event.wheelDelta},"mousewheel"):(Yo=function(){return-no.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=O.of(this,arguments),e=k;Os?no.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var n=D[0],r=D[1],i=y?y[0]:n/2,a=y?y[1]:r/2,o=no.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,n/k.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__=k={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__=k,s(t),c(t),l(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},u(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:+e},u(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Vo:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(m=e&&[+e[0],+e[1]],t):m},t.size=function(e){return arguments.length?(D=e&&[+e[0],+e[1]],t):D},t.duration=function(e){return arguments.length?(C=+e,t):C},t.x=function(e){return arguments.length?(x=e,_=e.copy(),k={x:0,y:0,k:1},t):x},t.y=function(e){return arguments.length?(A=e,w=e.copy(),k={x:0,y:0,k:1},t):A},no.rebind(t,O,"on")};var Yo,zo,Vo=[0,1/0];no.color=ut,ut.prototype.toString=function(){return this.rgb()+""},no.hsl=st;var Ho=st.prototype=new ut;Ho.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,this.l/t)},Ho.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,t*this.l)},Ho.rgb=function(){return ct(this.h,this.s,this.l)},no.hcl=lt;var $o=lt.prototype=new ut;$o.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Go*(arguments.length?t:1)))},$o.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Go*(arguments.length?t:1)))},$o.rgb=function(){return ht(this.h,this.c,this.l).rgb()},no.lab=ft;var Go=18,Wo=.95047,Zo=1,Xo=1.08883,Ko=ft.prototype=new ut;Ko.brighter=function(t){return new ft(Math.min(100,this.l+Go*(arguments.length?t:1)),this.a,this.b)},Ko.darker=function(t){return new ft(Math.max(0,this.l-Go*(arguments.length?t:1)),this.a,this.b)},Ko.rgb=function(){return dt(this.l,this.a,this.b)},no.rgb=vt;var Jo=vt.prototype=new ut;Jo.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&&i>e&&(e=i),n&&i>n&&(n=i),r&&i>r&&(r=i),new vt(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new vt(i,i,i)},Jo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new vt(t*this.r,t*this.g,t*this.b)},Jo.hsl=function(){return At(this.r,this.g,this.b)},Jo.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Qo=no.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});Qo.forEach(function(t,e){Qo.set(t,bt(e))}),no.functor=Mt,no.xhr=St(b),no.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++l;){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,h=0;(r=n())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=n();e&&null==(f=e(f,h++))||u.push(f)}return u},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new v,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},no.csv=no.dsv(",","text/csv"),no.tsv=no.dsv(" ","text/tab-separated-values");var tu,eu,nu,ru,iu,au=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};no.timer=function(t,e,n){var r=arguments.length;2>r&&(e=0),3>r&&(n=Date.now());var i=n+e,a={c:t,t:i,f:!1,n:null};eu?eu.n=a:tu=a, -eu=a,nu||(ru=clearTimeout(ru),nu=1,au(Lt))},no.timer.flush=function(){Nt(),Bt()},no.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var ou=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(It);no.formatPrefix=function(t,e){var n=0;return t&&(0>t&&(t*=-1),e&&(t=no.round(t,Ot(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)))),ou[8+n/3]};var uu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,su=no.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=no.round(t,Ot(t,e))).toFixed(Math.max(0,Math.min(20,Ot(t*(1+1e-15),e))))}}),cu=no.time={},lu=Date;Pt.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(){hu.setUTCDate.apply(this._,arguments)},setDay:function(){hu.setUTCDay.apply(this._,arguments)},setFullYear:function(){hu.setUTCFullYear.apply(this._,arguments)},setHours:function(){hu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){hu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){hu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){hu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){hu.setUTCSeconds.apply(this._,arguments)},setTime:function(){hu.setTime.apply(this._,arguments)}};var hu=Date.prototype;cu.year=jt(function(t){return t=cu.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),cu.years=cu.year.range,cu.years.utc=cu.year.utc.range,cu.day=jt(function(t){var e=new lu(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}),cu.days=cu.day.range,cu.days.utc=cu.day.utc.range,cu.dayOfYear=function(t){var e=cu.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=cu[t]=jt(function(t){return(t=cu.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=cu.year(t).getDay();return Math.floor((cu.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});cu[t+"s"]=n.range,cu[t+"s"].utc=n.utc.range,cu[t+"OfYear"]=function(t){var n=cu.year(t).getDay();return Math.floor((cu.dayOfYear(t)+(n+e)%7)/7)}}),cu.week=cu.sunday,cu.weeks=cu.sunday.range,cu.weeks.utc=cu.sunday.utc.range,cu.weekOfYear=cu.sundayOfYear;var fu={"-":"",_:" ",0:"0"},du=/^\s*\d+/,pu=/^%/;no.locale=function(t){return{numberFormat:Rt(t),timeFormat:Yt(t)}};var gu=no.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"]});no.format=gu.numberFormat,no.geo={},ce.prototype={s:0,t:0,add:function(t){le(t,this.t,yu),le(yu.s,this.s,this),this.s?this.t+=yu.t:this.s=yu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yu=new ce;no.geo.stream=function(t,e){t&&mu.hasOwnProperty(t.type)?mu[t.type](t,e):he(t,e)};var mu={Feature:function(t,e){he(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++rt?4*No+t:t,xu.lineStart=xu.lineEnd=xu.point=w}};no.geo.bounds=function(){function t(t,e){b.push(_=[l=t,f=t]),h>e&&(h=e),e>d&&(d=e)}function e(e,n){var r=ge([e*Ro,n*Ro]);if(m){var i=me(m,r),a=[i[1],-i[0],0],o=me(a,i);_e(o),o=xe(o);var s=e-p,c=s>0?1:-1,g=o[0]*qo*c,y=go(s)>180;if(y^(g>c*p&&c*e>g)){var v=o[1]*qo;v>d&&(d=v)}else if(g=(g+360)%360-180,y^(g>c*p&&c*e>g)){var v=-o[1]*qo;h>v&&(h=v)}else h>n&&(h=n),n>d&&(d=n);y?p>e?u(l,e)>u(l,f)&&(f=e):u(e,f)>u(l,f)&&(l=e):f>=l?(l>e&&(l=e),e>f&&(f=e)):e>p?u(l,e)>u(l,f)&&(f=e):u(e,f)>u(l,f)&&(l=e)}else t(e,n);m=r,p=e}function n(){x.point=e}function r(){_[0]=l,_[1]=f,x.point=t,m=null}function i(t,n){if(m){var r=t-p;v+=go(r)>180?r+(r>0?360:-360):r}else g=t,y=n;xu.point(t,n),e(t,n)}function a(){xu.lineStart()}function o(){i(g,y),xu.lineEnd(),go(v)>Fo&&(l=-(f=180)),_[0]=l,_[1]=f,m=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_u?(l=-(f=180),h=-(d=90)):v>Fo?d=90:-Fo>v&&(h=-90),_[0]=l,_[1]=f}};return function(t){d=f=-(l=h=1/0),b=[],no.geo.stream(t,x);var e=b.length;if(e){b.sort(s);for(var n,r=1,i=b[0],a=[i];e>r;++r)n=b[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,p=-(1/0),e=a.length-1,r=0,i=a[e];e>=r;i=n,++r)n=a[r],(o=u(i[1],n[0]))>p&&(p=o,l=n[0],f=i[1])}return b=_=null,l===1/0||h===1/0?[[NaN,NaN],[NaN,NaN]]:[[l,h],[f,d]]}}(),no.geo.centroid=function(t){wu=Au=ku=Eu=Du=Mu=Su=Cu=Tu=Fu=Lu=0,no.geo.stream(t,Nu);var e=Tu,n=Fu,r=Lu,i=e*e+n*n+r*r;return Lo>i&&(e=Mu,n=Su,r=Cu,Fo>Au&&(e=ku,n=Eu,r=Du),i=e*e+n*n+r*r,Lo>i)?[NaN,NaN]:[Math.atan2(n,e)*qo,nt(r/Math.sqrt(i))*qo]};var wu,Au,ku,Eu,Du,Mu,Su,Cu,Tu,Fu,Lu,Nu={sphere:w,point:Ae,lineStart:Ee,lineEnd:De,polygonStart:function(){Nu.lineStart=Me},polygonEnd:function(){Nu.lineStart=Ee}},Bu=Ne(Ce,Re,Pe,[-No,-No/2]),Ou=1e9;no.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=ze(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]])},(no.geo.conicEqualArea=function(){return Ve(He)}).raw=He,no.geo.albers=function(){return no.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},no.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=no.geo.albers(),o=no.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=no.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&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?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],h=+e[1];return n=a.translate(e).clipExtent([[l-.455*c,h-.238*c],[l+.455*c,h+.238*c]]).stream(s).point,r=o.translate([l-.307*c,h+.201*c]).clipExtent([[l-.425*c+Fo,h+.12*c+Fo],[l-.214*c-Fo,h+.234*c-Fo]]).stream(s).point,i=u.translate([l-.205*c,h+.212*c]).clipExtent([[l-.214*c+Fo,h+.166*c+Fo],[l-.115*c-Fo,h+.234*c-Fo]]).stream(s).point,t},t.scale(1070)};var Iu,Ru,qu,Pu,ju,Uu,Yu={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Ru=0,Yu.lineStart=$e},polygonEnd:function(){Yu.lineStart=Yu.lineEnd=Yu.point=w,Iu+=go(Ru/2)}},zu={point:Ge,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},Vu={point:Xe,lineStart:Ke,lineEnd:Je,polygonStart:function(){Vu.lineStart=Qe},polygonEnd:function(){Vu.point=Xe,Vu.lineStart=Ke,Vu.lineEnd=Je}};no.geo.path=function(){function t(t){return t&&("function"==typeof u&&a.pointRadius(+u.apply(this,arguments)),o&&o.valid||(o=i(a)),no.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 Iu=0,no.geo.stream(t,i(Yu)),Iu},t.centroid=function(t){return ku=Eu=Du=Mu=Su=Cu=Tu=Fu=Lu=0,no.geo.stream(t,i(Vu)),Lu?[Tu/Lu,Fu/Lu]:Cu?[Mu/Cu,Su/Cu]:Du?[ku/Du,Eu/Du]:[NaN,NaN]},t.bounds=function(t){return ju=Uu=-(qu=Pu=1/0),no.geo.stream(t,i(zu)),[[qu,Pu],[ju,Uu]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||nn(t):b,e()):n},t.context=function(t){return arguments.length?(a=null==(r=t)?new We:new tn(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(no.geo.albersUsa()).context(null)},no.geo.transform=function(t){return{stream:function(e){var n=new rn(e);for(var r in t)n[r]=t[r];return n}}},rn.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()}},no.geo.projection=on,no.geo.projectionMutator=un,(no.geo.equirectangular=function(){return on(cn)}).raw=cn.invert=cn,no.geo.rotation=function(t){function e(e){return e=t(e[0]*Ro,e[1]*Ro),e[0]*=qo,e[1]*=qo,e}return t=hn(t[0]%360*Ro,t[1]*Ro,t.length>2?t[2]*Ro:0),e.invert=function(e){return e=t.invert(e[0]*Ro,e[1]*Ro),e[0]*=qo,e[1]*=qo,e},e},ln.invert=cn,no.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=hn(-t[0]*Ro,-t[1]*Ro,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=qo,t[1]*=qo}}),{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=gn((e=+r)*Ro,i*Ro),t):e},t.precision=function(r){return arguments.length?(n=gn(e*Ro,(i=+r)*Ro),t):i},t.angle(90)},no.geo.distance=function(t,e){var n,r=(e[0]-t[0])*Ro,i=t[1]*Ro,a=e[1]*Ro,o=Math.sin(r),u=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((n=h*o)*n+(n=c*l-s*h*u)*n),s*l+c*h*u)},no.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return no.range(Math.ceil(a/y)*y,i,y).map(f).concat(no.range(Math.ceil(c/m)*m,s,m).map(d)).concat(no.range(Math.ceil(r/p)*p,n,p).filter(function(t){return go(t%y)>Fo}).map(l)).concat(no.range(Math.ceil(u/g)*g,o,g).filter(function(t){return go(t%m)>Fo}).map(h))}var n,r,i,a,o,u,s,c,l,h,f,d,p=10,g=p,y=90,m=360,v=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[f(a).concat(d(s).slice(1),f(i).reverse().slice(1),d(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(v)):[[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(v)):[[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?(y=+e[0],m=+e[1],t):[y,m]},t.minorStep=function(e){return arguments.length?(p=+e[0],g=+e[1],t):[p,g]},t.precision=function(e){return arguments.length?(v=+e,l=mn(u,o,90),h=vn(r,n,v),f=mn(c,s,90),d=vn(a,i,v),t):v},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},no.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=bn,i=_n;return t.distance=function(){return no.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},no.geo.interpolate=function(t,e){return xn(t[0]*Ro,t[1]*Ro,e[0]*Ro,e[1]*Ro)},no.geo.length=function(t){return Hu=0,no.geo.stream(t,$u),Hu};var Hu,$u={sphere:w,point:w,lineStart:wn,lineEnd:w,polygonStart:w,polygonEnd:w},Gu=An(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(no.geo.azimuthalEqualArea=function(){return on(Gu)}).raw=Gu;var Wu=An(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},b);(no.geo.azimuthalEquidistant=function(){return on(Wu)}).raw=Wu,(no.geo.conicConformal=function(){return Ve(kn)}).raw=kn,(no.geo.conicEquidistant=function(){return Ve(En)}).raw=En;var Zu=An(function(t){return 1/t},Math.atan);(no.geo.gnomonic=function(){return on(Zu)}).raw=Zu,Dn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Io]},(no.geo.mercator=function(){return Mn(Dn)}).raw=Dn;var Xu=An(function(){return 1},Math.asin);(no.geo.orthographic=function(){return on(Xu)}).raw=Xu;var Ku=An(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(no.geo.stereographic=function(){return on(Ku)}).raw=Ku,Sn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Io]},(no.geo.transverseMercator=function(){var t=Mn(Sn),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=Sn,no.geom={},no.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=Mt(n),a=Mt(r),o=t.length,u=[],s=[];for(e=0;o>e;e++)u.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(u.sort(Ln),e=0;o>e;e++)s.push([u[e][0],-u[e][1]]);var c=Fn(u),l=Fn(s),h=l[0]===c[0],f=l[l.length-1]===c[c.length-1],d=[];for(e=c.length-1;e>=0;--e)d.push(t[u[c[e]][2]]);for(e=+h;e=r&&c.x<=a&&c.y>=i&&c.y<=o?[[r,o],[a,o],[a,i],[r,i]]:[];l.point=t[u]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Fo)*Fo,y:Math.round(o(t,e)/Fo)*Fo,i:e}})}var r=Cn,i=Tn,a=r,o=i,u=os;return t?e(t):(e.links=function(t){return ur(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 ur(n(t)).cells.forEach(function(n,r){for(var i,a,o=n.site,u=n.edges.sort(Hn),s=-1,c=u.length,l=u[c-1].edge,h=l.l===o?l.r:l.l;++s=c,f=r>=l,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=fr()),h?i=c:u=c,f?o=l:s=l,a(t,e,n,r,i,o,u,s)}var l,h,f,d,p,g,y,m,v,b=Mt(u),_=Mt(s);if(null!=e)g=e,y=n,m=r,v=i;else if(m=v=-(g=y=1/0),h=[],f=[],p=t.length,o)for(d=0;p>d;++d)l=t[d],l.xm&&(m=l.x),l.y>v&&(v=l.y),h.push(l.x),f.push(l.y);else for(d=0;p>d;++d){var x=+b(l=t[d],d),w=+_(l,d);g>x&&(g=x),y>w&&(y=w),x>m&&(m=x),w>v&&(v=w),h.push(x),f.push(w)}var A=m-g,k=v-y;A>k?v=y+A:m=g+k;var E=fr();if(E.add=function(t){a(E,t,+b(t,++d),+_(t,d),g,y,m,v)},E.visit=function(t){dr(t,E,g,y,m,v)},E.find=function(t){return pr(E,t[0],t[1],g,y,m,v)},d=-1,null==e){for(;++d=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=ls.get(n)||cs,r=hs.get(r)||b,xr(r(n.apply(null,ro.call(arguments,1))))},no.interpolateHcl=Br,no.interpolateHsl=Or,no.interpolateLab=Ir,no.interpolateRound=Rr,no.transform=function(t){var e=ao.createElementNS(no.ns.prefix.svg,"g");return(no.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new qr(n?n.matrix:fs)})(t)},qr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var fs={a:1,b:0,c:0,d:1,e:0,f:0};no.interpolateTransform=Yr,no.layout={},no.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++nu*u/y){if(p>s){var c=e.charge/s;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&s&&p>s){var c=e.pointCharge/s;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=no.event.x,t.py=no.event.y,u.resume()}var n,r,i,a,o,u={},s=no.dispatch("start","tick","end"),c=[1,1],l=.9,h=ds,f=ps,d=-30,p=gs,g=.1,y=.64,m=[],v=[];return u.tick=function(){if((r*=.99)<.005)return s.end({type:"end",alpha:r=0}),!0;var e,n,u,h,f,p,y,b,_,x=m.length,w=v.length;for(n=0;w>n;++n)u=v[n],h=u.source,f=u.target,b=f.x-h.x,_=f.y-h.y,(p=b*b+_*_)&&(p=r*a[n]*((p=Math.sqrt(p))-i[n])/p,b*=p,_*=p,f.x-=b*(y=h.weight/(f.weight+h.weight)),f.y-=_*y,h.x+=b*(y=1-y),h.y+=_*y);if((y=r*g)&&(b=c[0]/2,_=c[1]/2,n=-1,y))for(;++n0?t:0:t>0&&(s.start({type:"start",alpha:r=t}),no.timer(u.tick)),u):r},u.start=function(){function t(t,r){if(!n){for(n=new Array(s),u=0;s>u;++u)n[u]=[];for(u=0;l>u;++u){var i=v[u];n[i.source.index].push(i.target),n[i.target.index].push(i.source)}}for(var a,o=n[e],u=-1,c=o.length;++ue;++e)(r=m[e]).index=e,r.weight=0;for(e=0;l>e;++e)r=v[e],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(e=0;s>e;++e)r=m[e],isNaN(r.x)&&(r.x=t("x",p)),isNaN(r.y)&&(r.y=t("y",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof h)for(e=0;l>e;++e)i[e]=+h.call(this,v[e],e);else for(e=0;l>e;++e)i[e]=h;if(a=[],"function"==typeof f)for(e=0;l>e;++e)a[e]=+f.call(this,v[e],e);else for(e=0;l>e;++e)a[e]=f;if(o=[],"function"==typeof d)for(e=0;s>e;++e)o[e]=+d.call(this,m[e],e);else for(e=0;s>e;++e)o[e]=d;return u.resume()},u.resume=function(){return u.alpha(.1)},u.stop=function(){return u.alpha(0)},u.drag=function(){return n||(n=no.behavior.drag().origin(b).on("dragstart.force",Wr).on("drag.force",e).on("dragend.force",Zr)),arguments.length?void this.on("mouseover.force",Xr).on("mouseout.force",Kr).call(n):n},no.rebind(u,s,"on")};var ds=20,ps=1,gs=1/0;no.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 ei(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}var e=ii,n=ni,r=ri;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&&(ti(e,function(t){t.children&&(t.value=0)}),ei(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},no.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;++ch?-1:1),p=(h-s*d)/no.sum(c),g=no.range(s),y=[];return null!=n&&g.sort(n===ys?function(t,e){return c[e]-c[t]}:function(t,e){return n(o[t],o[e])}),g.forEach(function(t){y[t]={data:o[t],value:u=c[t],startAngle:l,endAngle:l+=u*p+d,padAngle:f}}),y}var e=Number,n=ys,r=0,i=Bo,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 ys={};no.layout.stack=function(){function t(u,s){if(!(f=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)]})}),h=n.call(t,l,s);c=no.permute(c,h),l=no.permute(l,h);var f,d,p,g,y=r.call(t,l,s),m=c[0].length;for(p=0;m>p;++p)for(i.call(t,c[0][p],g=y[p],l[0][p][1]),d=1;f>d;++d)i.call(t,c[d][p],g+=l[d-1][p][1],l[d][p][1]);return u}var e=b,n=ci,r=li,i=si,a=oi,o=ui;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:ms.get(e)||ci,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:vs.get(e)||li,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 ms=no.map({"inside-out":function(t){var e,n,r=t.length,i=t.map(hi),a=t.map(fi),o=no.range(r).sort(function(t,e){return i[t]-i[e]}),u=0,s=0,c=[],l=[];for(e=0;r>e;++e)n=o[e],s>u?(u+=a[n],c.push(n)):(s+=a[n],l.push(n));return l.reverse().concat(c)},reverse:function(t){return no.range(t.length).reverse()},"default":ci}),vs=no.map({silhouette:function(t){var e,n,r,i=t.length,a=t[0].length,o=[],u=0,s=[];for(n=0;a>n;++n){for(e=0,r=0;i>e;e++)r+=t[e][n][1];r>u&&(u=r),o.push(r)}for(n=0;a>n;++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,h=t[0],f=h.length,d=[];for(d[0]=s=c=0,n=1;f>n;++n){for(e=0,i=0;l>e;++e)i+=t[e][n][1];for(e=0,a=0,u=h[n][0]-h[n-1][0];l>e;++e){for(r=0,o=(t[e][n][1]-t[e][n-1][1])/(2*u);e>r;++r)o+=(t[r][n][1]-t[r][n-1][1])/u;a+=o*t[e][n][1]}d[n]=s-=i?a/i*u:0,c>s&&(c=s)}for(n=0;f>n;++n)d[n]-=c;return d},expand:function(t){var e,n,r,i=t.length,a=t[0].length,o=1/i,u=[];for(n=0;a>n;++n){for(e=0,r=0;i>e;e++)r+=t[e][n][1];if(r)for(e=0;i>e;e++)t[e][n][1]/=r;else for(e=0;i>e;e++)t[e][n][1]=o}for(n=0;a>n;++n)u[n]=0;return u},zero:li});no.layout.histogram=function(){function t(t,a){for(var o,u,s=[],c=t.map(n,this),l=r.call(this,c,a),h=i.call(this,l,c,a),a=-1,f=c.length,d=h.length-1,p=e?1:1/f;++a0)for(a=-1;++a=l[0]&&u<=l[1]&&(o=s[no.bisect(h,u,1,d)-1],o.y+=p,o.push(t[a]));return s}var e=!0,n=Number,r=yi,i=pi;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=Mt(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return gi(t,e)}:Mt(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},no.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,ei(u,function(t){t.r=+l(t.value)}),ei(u,xi),r){var h=r*(e?1:Math.max(2*u.r/s,2*u.r/c))/2;ei(u,function(t){t.r+=h; -}),ei(u,xi),ei(u,function(t){t.r-=h})}return ki(u,s/2,c/2,e?1:1/Math.max(2*u.r/s,2*u.r/c)),o}var e,n=no.layout.hierarchy().sort(mi),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},Qr(t,n)},no.layout.tree=function(){function t(t,i){var l=o.call(this,t,i),h=l[0],f=e(h);if(ei(f,n),f.parent.m=-f.z,ti(f,r),c)ti(h,a);else{var d=h,p=h,g=h;ti(h,function(t){t.xp.x&&(p=t),t.depth>g.depth&&(g=t)});var y=u(d,p)/2-d.x,m=s[0]/(p.x+u(p,d)/2+y),v=s[1]/(g.depth||1);ti(h,function(t){t.x=(t.x+y)*m,t.y=t.depth*v})}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;u>o;++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){Ti(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,h=o.m,f=s.m;o=Si(o),i=Mi(i),o&&i;)s=Mi(s),a=Si(a),a.a=t,r=o.z+h-i.z-c+u(o._,i._),r>0&&(Ci(Fi(o,t,n),t,r),c+=r,l+=r),h+=o.m,c+=i.m,f+=s.m,l+=a.m;o&&!Si(a)&&(a.t=o,a.m+=h-l),i&&!Mi(s)&&(s.t=i,s.m+=c-f,n=t)}return n}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var o=no.layout.hierarchy().sort(null).value(null),u=Di,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},Qr(t,o)},no.layout.cluster=function(){function t(t,a){var o,u=e.call(this,t,a),s=u[0],c=0;ei(s,function(t){var e=t.children;e&&e.length?(t.x=Ni(e),t.y=Li(e)):(t.x=o?c+=n(t,o):0,t.y=0,o=t)});var l=Bi(s),h=Oi(s),f=l.x-n(l,h)/2,d=h.x+n(h,l)/2;return ei(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-f)/(d-f)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var e=no.layout.hierarchy().sort(null).value(null),n=Di,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},Qr(t,e)},no.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,a=t.length;++ie?0:e),n.area=isNaN(r)||0>=r?0:r}function e(n){var a=n.children;if(a&&a.length){var o,u,s,c=h(n),l=[],f=a.slice(),p=1/0,g="slice"===d?c.dx:"dice"===d?c.dy:"slice-dice"===d?1&n.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(f,c.dx*c.dy/n.value),l.area=0;(s=f.length)>0;)l.push(o=f[s-1]),l.area+=o.area,"squarify"!==d||(u=r(l,g))<=p?(f.pop(),p=u):(l.area-=l.pop().area,i(l,g,c,!1),g=Math.min(c.dx,c.dy),l.length=l.area=0,p=1/0);l.length&&(i(l,g,c,!0),l.length=l.area=0),a.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var a,o=h(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;++on&&(a=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*p/r,r/(e*a*p)):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);++an.dx)&&(l=n.dx);++an&&(e=1),1>n&&(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=no.random.normal.apply(no,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=no.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;t>n;n++)e+=Math.random();return e}}},no.scale={};var bs={floor:b,ceil:b};no.scale.linear=function(){return Vi([0,1],[0,1],br,!1)};var _s={s:1,g:1,p:1,r:1,e:1};no.scale.log=function(){return Ji(no.scale.linear().domain([0,1]),10,!0,[1,10])};var xs=no.format(".0e"),ws={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};no.scale.pow=function(){return Qi(no.scale.linear(),1,[0,1])},no.scale.sqrt=function(){return no.scale.pow().exponent(.5)},no.scale.ordinal=function(){return ea([],{t:"range",a:[[]]})},no.scale.category10=function(){return no.scale.ordinal().range(As)},no.scale.category20=function(){return no.scale.ordinal().range(ks)},no.scale.category20b=function(){return no.scale.ordinal().range(Es)},no.scale.category20c=function(){return no.scale.ordinal().range(Ds)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(_t),ks=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(_t),Es=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(_t),Ds=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(_t);no.scale.quantile=function(){return na([],[])},no.scale.quantize=function(){return ra(0,1,[0,1])},no.scale.threshold=function(){return ia([.5],[0,1])},no.scale.identity=function(){return aa([0,1])},no.svg={},no.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)-Io,h=u.apply(this,arguments)-Io,f=Math.abs(h-l),d=l>h?0:1;if(t>c&&(p=c,c=t,t=p),f>=Oo)return e(c,d)+(t?e(t,1-d):"")+"Z";var p,g,y,m,v,b,_,x,w,A,k,E,D=0,M=0,S=[];if((m=(+s.apply(this,arguments)||0)/2)&&(y=a===Ms?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(M*=-1),c&&(M=nt(y/c*Math.sin(m))),t&&(D=nt(y/t*Math.sin(m)))),c){v=c*Math.cos(l+M),b=c*Math.sin(l+M),_=c*Math.cos(h-M),x=c*Math.sin(h-M);var C=Math.abs(h-l-2*M)<=No?0:1;if(M&&fa(v,b,_,x)===d^C){var T=(l+h)/2;v=c*Math.cos(T),b=c*Math.sin(T),_=x=null}}else v=b=0;if(t){w=t*Math.cos(h-D),A=t*Math.sin(h-D),k=t*Math.cos(l+D),E=t*Math.sin(l+D);var F=Math.abs(l-h+2*D)<=No?0:1;if(D&&fa(w,A,k,E)===1-d^F){var L=(l+h)/2;w=t*Math.cos(L),A=t*Math.sin(L),k=E=null}}else w=A=0;if((p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){g=c>t^d?0:1;var N=null==k?[w,A]:null==_?[v,b]:Bn([v,b],[k,E],[_,x],[w,A]),B=v-N[0],O=b-N[1],I=_-N[0],R=x-N[1],q=1/Math.sin(Math.acos((B*I+O*R)/(Math.sqrt(B*B+O*O)*Math.sqrt(I*I+R*R)))/2),P=Math.sqrt(N[0]*N[0]+N[1]*N[1]);if(null!=_){var j=Math.min(p,(c-P)/(q+1)),U=da(null==k?[w,A]:[k,E],[v,b],c,j,d),Y=da([_,x],[w,A],c,j,d);p===j?S.push("M",U[0],"A",j,",",j," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-d^fa(U[1][0],U[1][1],Y[1][0],Y[1][1]),",",d," ",Y[1],"A",j,",",j," 0 0,",g," ",Y[0]):S.push("M",U[0],"A",j,",",j," 0 1,",g," ",Y[0])}else S.push("M",v,",",b);if(null!=k){var z=Math.min(p,(t-P)/(q-1)),V=da([v,b],[k,E],t,-z,d),H=da([w,A],null==_?[v,b]:[_,x],t,-z,d);p===z?S.push("L",H[0],"A",z,",",z," 0 0,",g," ",H[1],"A",t,",",t," 0 ",d^fa(H[1][0],H[1][1],V[1][0],V[1][1]),",",1-d," ",V[1],"A",z,",",z," 0 0,",g," ",V[0]):S.push("L",H[0],"A",z,",",z," 0 0,",g," ",V[0])}else S.push("L",w,",",A)}else S.push("M",v,",",b),null!=_&&S.push("A",c,",",c," 0 ",C,",",d," ",_,",",x),S.push("L",w,",",A),null!=k&&S.push("A",t,",",t," 0 ",F,",",1-d," ",k,",",E);return S.push("Z"),S.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=ua,r=sa,i=oa,a=Ms,o=ca,u=la,s=ha;return t.innerRadius=function(e){return arguments.length?(n=Mt(e),t):n},t.outerRadius=function(e){return arguments.length?(r=Mt(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=Mt(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Ms?Ms:Mt(e),t):a},t.startAngle=function(e){return arguments.length?(o=Mt(e),t):o},t.endAngle=function(e){return arguments.length?(u=Mt(e),t):u},t.padAngle=function(e){return arguments.length?(s=Mt(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-Io;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Ms="auto";no.svg.line=function(){return pa(b)};var Ss=no.map({linear:ga,"linear-closed":ya,step:ma,"step-before":va,"step-after":ba,basis:Ea,"basis-open":Da,"basis-closed":Ma,bundle:Sa,cardinal:wa,"cardinal-open":_a,"cardinal-closed":xa,monotone:Ba});Ss.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Cs=[0,2/3,1/3,0],Ts=[0,1/3,2/3,0],Fs=[0,1/6,2/3,1/6];no.svg.line.radial=function(){var t=pa(Oa);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},va.reverse=ba,ba.reverse=va,no.svg.area=function(){return Ia(b)},no.svg.area.radial=function(){var t=Ia(Oa);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},no.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)-Io,l=c.call(t,i,r)-Io;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>No)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var a=bn,o=_n,u=Ra,s=ca,c=la;return t.radius=function(e){return arguments.length?(u=Mt(e),t):u},t.source=function(e){return arguments.length?(a=Mt(e),t):a},t.target=function(e){return arguments.length?(o=Mt(e),t):o},t.startAngle=function(e){return arguments.length?(s=Mt(e),t):s},t.endAngle=function(e){return arguments.length?(c=Mt(e),t):c},t},no.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=bn,n=_n,r=qa;return t.source=function(n){return arguments.length?(e=Mt(n),t):e},t.target=function(e){return arguments.length?(n=Mt(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},no.svg.diagonal.radial=function(){var t=no.svg.diagonal(),e=qa,n=t.projection;return t.projection=function(t){return arguments.length?n(Pa(e=t)):e},t},no.svg.symbol=function(){function t(t,r){return(Ls.get(e.call(this,t,r))||Ya)(n.call(this,t,r))}var e=Ua,n=ja;return t.type=function(n){return arguments.length?(e=Mt(n),t):e},t.size=function(e){return arguments.length?(n=Mt(e),t):n},t};var Ls=no.map({circle:Ya,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*Bs)),n=e*Bs;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/Ns),n=e*Ns/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Ns),n=e*Ns/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});no.svg.symbolTypes=Ls.keys();var Ns=Math.sqrt(3),Bs=Math.tan(30*Ro);ko.transition=function(t){for(var e,n,r=Os||++Ps,i=Ga(t),a=[],o=Is||{time:Date.now(),ease:Dr,delay:0,duration:250},u=-1,s=this.length;++ua;a++){i.push(e=[]);for(var n=this[a],u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return Va(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):V(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?Yr:br,u=no.ns.qualify(t);return Ha(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=no.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},qs.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+="",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=br(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof t){2>o&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return Ha(this,"style."+t,e,a)},qs.styleTween=function(t,e,r){function i(i,a){var o=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},qs.text=function(t){return Ha(this,"text",t,$a)},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=no.ease.apply(no,arguments)),V(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:V(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:V(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=Is,a=Os;try{Os=n,V(this,function(e,i,a){Is=e[r][n],t.call(e,e.__data__,i,a)})}finally{Is=i,Os=a}}else V(this,function(i){var a=i[r][n];(a.event||(a.event=no.dispatch("start","end","interrupt"))).on(t,e)});return this},qs.transition=function(){for(var t,e,n,r,i=this.id,a=++Ps,o=this.namespace,u=[],s=0,c=this.length;c>s;s++){u.push(t=[]);for(var e=this[s],l=0,h=e.length;h>l;l++)(n=e[l])&&(r=n[o][i],Wa(n,l,o,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return Va(u,o,a)},no.svg.axis=function(){function t(t){t.each(function(){var t,c=no.select(this),l=this.__chart__||n,h=this.__chart__=n.copy(),f=null==s?h.ticks?h.ticks.apply(h,u):h.domain():s,d=null==e?h.tickFormat?h.tickFormat.apply(h,u):b:e,p=c.selectAll(".tick").data(f,h),g=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Fo),y=no.transition(p.exit()).style("opacity",Fo).remove(),m=no.transition(p.order()).style("opacity",1),v=Math.max(i,0)+o,_=Pi(h),x=c.selectAll(".domain").data([0]),w=(x.enter().append("path").attr("class","domain"),no.transition(x));g.append("line"),g.append("text");var A,k,E,D,M=g.select("line"),S=m.select("line"),C=p.select("text").text(d),T=g.select("text"),F=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=Za,A="x",E="y",k="x2",D="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+_[0]+","+L*a+"V0H"+_[1]+"V"+L*a)):(t=Xa,A="y",E="x",k="y2",D="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),w.attr("d","M"+L*a+","+_[0]+"H0V"+_[1]+"H"+L*a)),M.attr(D,L*i),T.attr(E,L*v),S.attr(k,0).attr(D,L*i),F.attr(A,0).attr(E,L*v),h.rangeBand){var N=h,B=N.rangeBand()/2;l=h=function(t){return N(t)+B}}else l.rangeBand?l=h:y.call(t,h,l);g.call(t,l,h),m.call(t,h,h)})}var e,n=no.scale.linear(),r=js,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 Us?e+"":js,t):r},t.ticks=function(){return arguments.length?(u=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 js="bottom",Us={top:1,right:1,bottom:1,left:1};no.svg.brush=function(){function t(n){n.each(function(){var n=no.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",a).on("touchstart.brush",a),o=n.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=n.selectAll(".resize").data(g,b);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ys[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,h=no.transition(n),f=no.transition(o);c&&(s=Pi(c),f.attr("x",s[0]).attr("width",s[1]-s[0]),r(h)),l&&(s=Pi(l),f.attr("y",s[0]).attr("height",s[1]-s[0]),i(h)),e(h)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+h[+/e$/.test(t)]+","+f[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",h[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",h[1]-h[0])}function i(t){t.select(".extent").attr("y",f[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function a(){function a(){32==no.event.keyCode&&(C||(b=null,F[0]-=h[1],F[1]-=f[1],C=2),E())}function g(){32==no.event.keyCode&&2==C&&(F[0]+=h[1],F[1]+=f[1],C=0,E())}function y(){var t=no.mouse(x),n=!1;_&&(t[0]+=_[0],t[1]+=_[1]),C||(no.event.altKey?(b||(b=[(h[0]+h[1])/2,(f[0]+f[1])/2]),F[0]=h[+(t[0]l?(i=r,r=l):i=l),g[0]!=r||g[1]!=i?(n?u=null:o=null,g[0]=r,g[1]=i,!0):void 0}function v(){y(),k.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),no.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),A({type:"brushend"})}var b,_,x=this,w=no.select(no.event.target),A=s.of(x,arguments),k=no.select(x),D=w.datum(),M=!/^(n|s)$/.test(D)&&c,S=!/^(e|w)$/.test(D)&&l,C=w.classed("extent"),T=X(x),F=no.mouse(x),L=no.select(n(x)).on("keydown.brush",a).on("keyup.brush",g);if(no.event.changedTouches?L.on("touchmove.brush",y).on("touchend.brush",v):L.on("mousemove.brush",y).on("mouseup.brush",v),k.interrupt().selectAll("*").interrupt(),C)F[0]=h[0]-F[0],F[1]=f[0]-F[1];else if(D){var N=+/w$/.test(D),B=+/^n/.test(D);_=[h[1-N]-F[0],f[1-B]-F[1]],F[0]=h[N],F[1]=f[B]}else no.event.altKey&&(b=F.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),no.select("body").style("cursor",w.style("cursor")),A({type:"brushstart"}),y()}var o,u,s=M(t,"brushstart","brush","brushend"),c=null,l=null,h=[0,0],f=[0,0],d=!0,p=!0,g=zs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),e={x:h,y:f,i:o,j:u},n=this.__chart__||e;this.__chart__=e,Os?no.select(this).transition().each("start.brush",function(){o=n.i,u=n.j,h=n.x,f=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=_r(h,e.x),r=_r(f,e.y);return o=u=null,function(i){h=e.x=n(i),f=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=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,g=zs[!c<<1|!l],t):c},t.y=function(e){return arguments.length?(l=e,g=zs[!c<<1|!l],t):l},t.clamp=function(e){return arguments.length?(c&&l?(d=!!e[0],p=!!e[1]):c?d=!!e:l&&(p=!!e),t):c&&l?[d,p]:c?d:l?p:null},t.extent=function(e){var n,r,i,a,s;return arguments.length?(c&&(n=e[0],r=e[1],l&&(n=n[0],r=r[0]),o=[n,r],c.invert&&(n=c(n),r=c(r)),n>r&&(s=n,n=r,r=s),(n!=h[0]||r!=h[1])&&(h=[n,r])),l&&(i=e[0],a=e[1],c&&(i=i[1],a=a[1]),u=[i,a],l.invert&&(i=l(i),a=l(a)),i>a&&(s=i,i=a,a=s),(i!=f[0]||a!=f[1])&&(f=[i,a])),t):(c&&(o?(n=o[0],r=o[1]):(n=h[0],r=h[1],c.invert&&(n=c.invert(n),r=c.invert(r)),n>r&&(s=n,n=r,r=s))),l&&(u?(i=u[0],a=u[1]):(i=f[0],a=f[1],l.invert&&(i=l.invert(i),a=l.invert(a)),i>a&&(s=i,i=a,a=s))),c&&l?[[n,i],[r,a]]:c?[n,r]:l&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=u=null),t},t.empty=function(){return!!c&&h[0]==h[1]||!!l&&f[0]==f[1]},no.rebind(t,s,"on")};var Ys={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Vs=cu.format=gu.timeFormat,Hs=Vs.utc,$s=Hs("%Y-%m-%dT%H:%M:%S.%LZ");Vs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ka:$s,Ka.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ka.toString=$s.toString,cu.second=jt(function(t){return new lu(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),cu.seconds=cu.second.range,cu.seconds.utc=cu.second.utc.range,cu.minute=jt(function(t){return new lu(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),cu.minutes=cu.minute.range,cu.minutes.utc=cu.minute.utc.range,cu.hour=jt(function(t){var e=t.getTimezoneOffset()/60;return new lu(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),cu.hours=cu.hour.range,cu.hours.utc=cu.hour.utc.range,cu.month=jt(function(t){return t=cu.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),cu.months=cu.month.range,cu.months.utc=cu.month.utc.range;var Gs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ws=[[cu.second,1],[cu.second,5],[cu.second,15],[cu.second,30],[cu.minute,1],[cu.minute,5],[cu.minute,15],[cu.minute,30],[cu.hour,1],[cu.hour,3],[cu.hour,6],[cu.hour,12],[cu.day,1],[cu.day,2],[cu.week,1],[cu.month,1],[cu.month,3],[cu.year,1]],Zs=Vs.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",Ce]]),Xs={range:function(t,e,n){return no.range(Math.ceil(t/n)*n,+e,n).map(Qa)},floor:b,ceil:b};Ws.year=cu.year,cu.scale=function(){return Ja(no.scale.linear(),Ws,Zs)};var Ks=Ws.map(function(t){return[t[0].utc,t[1]]}),Js=Hs.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",Ce]]);Ks.year=cu.year.utc,cu.scale.utc=function(){return Ja(no.scale.linear(),Ks,Js)},no.text=St(function(t){return t.responseText}),no.json=function(t,e){return Ct(t,"application/json",to,e)},no.html=function(t,e){return Ct(t,"text/html",eo,e)},no.xml=St(function(t){return t.responseXML}),"function"==typeof define&&define.amd?define(no):"object"==typeof e&&e.exports&&(e.exports=no),this.d3=no}()},{}],5:[function(t,e,n){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":12,"./lib/graphlib":13,"./lib/intersect":14,"./lib/render":29,"./lib/util":31,"./lib/version":32}],6:[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"])}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"])}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"])}var o=t("./util");e.exports={"default":r,normal:r,vee:i,undirected:a}},{"./util":31}],7:[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){var n=e.node(t);return n.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=t("./util"),a=t("./label/add-label");e.exports=r},{"./label/add-label":22,"./util":31}],8:[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=t("./lodash"),a=t("./label/add-label"),o=t("./util"),u=t("./d3");e.exports=r},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],9:[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 u(r,e),s(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=c.uniqueId("arrowhead");var r=f.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");h.applyTransition(r,e).attr("d",function(t){return i(e,t)}),h.applyStyle(r,n.style)}),r.selectAll("defs *").remove(),r.selectAll("defs").each(function(t){var r=e.edge(t),i=n[r.arrowhead];i(f.select(this),r.arrowheadId,r,"arrowhead")}),r}function i(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(l(r,o[0])),o.push(l(i,o[o.length-1])),a(n,o)}function a(t,e){var n=f.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return c.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),c.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function o(t){var e=t.getBBox(),n=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:n.e,y:n.f}}function u(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,i=c.range(n.points.length).map(function(){return o(r)});return a(n,i)}),n.append("defs")}function s(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){var r=c.range(this.pathSegList.length).map(function(){return n});return a({},r)}return f.select(this).attr("d")})}var c=t("./lodash"),l=t("./intersect/intersect-node"),h=t("./util"),f=t("./d3");e.exports=r},{"./d3":11,"./intersect/intersect-node":18,"./lodash":25,"./util":31}],10:[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),h=n[r.shape],f=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")&&(f.width=r.width),i.has(r,"height")&&(f.height=r.height),f.width+=r.paddingLeft+r.paddingRight,f.height+=r.paddingTop+r.paddingBottom,c.attr("transform","translate("+(r.paddingLeft-r.paddingRight)/2+","+(r.paddingTop-r.paddingBottom)/2+")");var d=h(u.select(this),f,r);o.applyStyle(d,r.style);var p=d.node().getBBox();r.width=p.width,r.height=p.height}),o.applyTransition(s.exit(),e).style("opacity",0).remove(),s}var i=t("./lodash"),a=t("./label/add-label"),o=t("./util"),u=t("./d3");e.exports=r},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],11:[function(t,e,n){e.exports=window.d3},{}],12:[function(t,e,n){var r;if(t)try{r=t("dagre")}catch(i){}r||(r=window.dagre),e.exports=r},{dagre:33}],13:[function(t,e,n){var r;if(t)try{r=t("graphlib")}catch(i){}r||(r=window.graphlib),e.exports=r},{graphlib:63}],14:[function(t,e,n){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":15,"./intersect-ellipse":16,"./intersect-node":18,"./intersect-polygon":19,"./intersect-rect":20}],15:[function(t,e,n){function r(t,e,n){return i(t,e,e,n)}var i=t("./intersect-ellipse");e.exports=r},{"./intersect-ellipse":16}],16:[function(t,e,n){function r(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.xm?(m-y)/g:(m+y)/g,m=o*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function i(t,e){return t*e>0}e.exports=r},{}],18:[function(t,e,n){function r(t,e){return t.intersect(e)}e.exports=r},{}],19:[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,h=0;h1&&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 s>a?-1:a===s?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var i=t("./intersect-line");e.exports=r},{"./intersect-line":17}],20:[function(t,e,n){function r(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?(0>u&&(c=-c),n=0===u?0:c*o/u,r=c):(0>o&&(s=-s),n=s,r=0===o?0:s*u/o),{x:i+n,y:a+r}}e.exports=r},{}],21:[function(t,e,n){function r(t,e){var n=t.append("foreignObject").attr("width","100000"),r=n.append("xhtml:div"),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,u;return r.each(function(){o=this.clientWidth,u=this.clientHeight}),n.attr("width",o).attr("height",u),n}var i=t("../util");e.exports=r},{"../util":31}],22:[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=t("./add-text-label"),a=t("./add-html-label"),o=t("./add-svg-label");e.exports=r},{"./add-html-label":21,"./add-svg-label":23,"./add-text-label":24}],23:[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=t("../util");e.exports=r},{"../util":31}],24:[function(t,e,n){function r(t,e){for(var n=t.append("text"),r=i(e.label).split("\n"),o=0;ou;++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=t("./lodash"),o=t("./util");e.exports=r},{"./lodash":42,"./util":61}],36:[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){h.each(t.nodes(),function(e){o(t.node(e))}),h.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){h.each(t.nodes(),function(e){s(t.node(e))}),h.each(t.edges(),function(e){var n=t.edge(e);h.each(n.points,s),h.has(n,"y")&&s(n)})}function s(t){t.y=-t.y}function c(t){h.each(t.nodes(),function(e){l(t.node(e))}),h.each(t.edges(),function(e){var n=t.edge(e);h.each(n.points,l),h.has(n,"x")&&l(n)})}function l(t){var e=t.x;t.x=t.y,t.y=e}var h=t("./lodash");e.exports={adjust:r,undo:i}},{"./lodash":42}],37:[function(t,e,n){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){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=r,r.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(i(e),e):void 0},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(", ")+"]"}},{}],38:[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=t("./lodash"),a=t("./util"),o=t("./graphlib").Graph;e.exports={debugOrdering:r}},{"./graphlib":39,"./lodash":42,"./util":61}],39:[function(t,e,n){var r;if("function"==typeof t)try{r=t("graphlib")}catch(i){}r||(r=window.graphlib),e.exports=r},{graphlib:63}],40:[function(t,e,n){function r(t,e){if(t.nodeCount()<=1)return[];var n=o(t,e||h),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=t("./lodash"),c=t("./graphlib").Graph,l=t("./data/list");e.exports=r;var h=s.constant(1)},{"./data/list":37,"./graphlib":39,"./lodash":42}],41:[function(t,e,n){"use strict";function r(t,e){var n=e&&e.debugTiming?N.time:N.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(){y(t)}),e(" acyclic",function(){w.run(t)}),e(" nestingGraph.run",function(){S.run(t)}),e(" rank",function(){k(N.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){s(t)}),e(" removeEmptyRanks",function(){M(t)}),e(" nestingGraph.cleanup",function(){S.cleanup(t)}),e(" normalizeRanks",function(){E(t)}),e(" assignRankMinMax",function(){c(t)}),e(" removeEdgeLabelProxies",function(){l(t)}),e(" normalize.run",function(){A.run(t)}),e(" parentDummyChains",function(){D(t)}),e(" addBorderSegments",function(){C(t)}),e(" order",function(){F(t)}),e(" insertSelfEdges",function(){m(t)}),e(" adjustCoordinateSystem",function(){T.adjust(t)}),e(" position",function(){L(t)}),e(" positionSelfEdges",function(){v(t)}),e(" removeBorderNodes",function(){g(t)}),e(" normalize.undo",function(){A.undo(t)}),e(" fixupEdgeLabelCoords",function(){d(t)}),e(" undoCoordinateSystem",function(){T.undo(t)}),e(" translateGraph",function(){h(t)}),e(" assignNodeIntersects",function(){f(t)}),e(" reversePoints",function(){p(t)}),e(" acyclic.undo",function(){w.undo(t)})}function a(t,e){x.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))}),x.each(t.edges(),function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,x.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 B({multigraph:!0,compound:!0}),n=_(t.graph());return e.setGraph(x.merge({},I,b(n,O),x.pick(n,R))),x.each(t.nodes(),function(n){var r=_(t.node(n));e.setNode(n,x.defaults(b(r,q),P)),e.setParent(n,t.parent(n))}),x.each(t.edges(),function(n){var r=_(t.edge(n));e.setEdge(n,x.merge({},U,b(r,j),x.pick(r,Y)))}),e}function u(t){var e=t.graph();e.ranksep/=2,x.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){x.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};N.addDummyNode(t,"edge-proxy",a,"_ep")}})}function c(t){var e=0;x.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=x.max(e,r.maxRank))}),t.graph().maxRank=e}function l(t){x.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 h(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;x.each(t.nodes(),function(n){e(t.node(n))}),x.each(t.edges(),function(n){var r=t.edge(n);x.has(r,"x")&&e(r)}),n-=u,i-=s,x.each(t.nodes(),function(e){var r=t.node(e);r.x-=n,r.y-=i}),x.each(t.edges(),function(e){var r=t.edge(e);x.each(r.points,function(t){t.x-=n,t.y-=i}),x.has(r,"x")&&(r.x-=n),x.has(r,"y")&&(r.y-=i)}),o.width=r-n+u,o.height=a-i+s}function f(t){x.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(N.intersectRect(a,n)),i.points.push(N.intersectRect(o,r))})}function d(t){x.each(t.edges(),function(e){var n=t.edge(e);if(x.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 p(t){x.each(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}function g(t){x.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(x.last(n.borderLeft)),o=t.node(x.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}}),x.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function y(t){x.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 m(t){var e=N.buildLayerMatrix(t);x.each(e,function(e){var n=0;x.each(e,function(e,r){var i=t.node(e);i.order=r+n,x.each(i.selfEdges,function(e){N.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 v(t){x.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 b(t,e){return x.mapValues(x.pick(t,e),Number)}function _(t){var e={};return x.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var x=t("./lodash"),w=t("./acyclic"),A=t("./normalize"),k=t("./rank"),E=t("./util").normalizeRanks,D=t("./parent-dummy-chains"),M=t("./util").removeEmptyRanks,S=t("./nesting-graph"),C=t("./add-border-segments"),T=t("./coordinate-system"),F=t("./order"),L=t("./position"),N=t("./util"),B=t("./graphlib").Graph;e.exports=r;var O=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],q=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Y=["labelpos"]},{"./acyclic":34,"./add-border-segments":35,"./coordinate-system":36,"./graphlib":39,"./lodash":42,"./nesting-graph":43,"./normalize":44,"./order":49,"./parent-dummy-chains":54,"./position":56,"./rank":58,"./util":61}],42:[function(t,e,n){var r;if("function"==typeof t)try{r=t("lodash")}catch(i){}r||(r=window._),e.exports=r},{lodash:83}],43:[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 h=c.addBorderNode(t,"_bt"),f=c.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,s.each(l,function(s){i(t,e,n,r,a,o,s);var c=t.node(s),l=c.borderTop?c.borderTop:s,d=c.borderBottom?c.borderBottom:s,p=c.borderTop?r:2*r,g=l!==d?1:a-o[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(u)||t.setEdge(e,h,{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){var n=t.edge(e);n.nestingEdge&&t.removeEdge(e)})}var s=t("./lodash"),c=t("./util");e.exports={run:r,cleanup:u}},{"./lodash":42,"./util":61}],44:[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,h,f;for(f=0,++r;a>r;++f,++r)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:e,rank:r},l=u.addDummyNode(t,"edge",h,"_d"),r===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),t.setEdge(n,l,{weight:s.weight},o),0===f&&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=t("./lodash"),u=t("./util");e.exports={run:r,undo:a}},{"./lodash":42,"./util":61}],45:[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=t("../lodash");e.exports=r},{"../lodash":42}],46:[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=t("../lodash");e.exports=r},{"../lodash":42}],47:[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=t("../lodash"),o=t("../graphlib").Graph;e.exports=r},{"../graphlib":39,"../lodash":42}],48:[function(t,e,n){"use strict";function r(t,e){for(var n=0,r=1;r0;)e%2&&(n+=s[e+1]),e=e-1>>1,s[e]+=t.weight;c+=t.weight*n})),c}var a=t("../lodash");e.exports=r},{"../lodash":42}],49:[function(t,e,n){"use strict";function r(t){var e=p.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 h,f=Number.POSITIVE_INFINITY,d=0,g=0;4>g;++d,++g){a(d%2?n:r,d%4>=2),l=p.buildLayerMatrix(t);var y=c(t,l);f>y&&(g=0,h=u.cloneDeep(l),f=y)}o(t,h)}function i(t,e,n){return u.map(e,function(e){return h(t,e,n)})}function a(t,e){var n=new d;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}),f(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=t("../lodash"),s=t("./init-order"),c=t("./cross-count"),l=t("./sort-subgraph"),h=t("./build-layer-graph"),f=t("./add-subgraph-constraints"),d=t("../graphlib").Graph,p=t("../util");e.exports=r},{"../graphlib":39,"../lodash":42,"../util":61,"./add-subgraph-constraints":45,"./build-layer-graph":47,"./cross-count":48,"./init-order":50,"./sort-subgraph":52}],50:[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=t("../lodash");e.exports=r},{"../lodash":42}],51:[function(t,e,n){"use strict";function r(t,e){var n={};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]))});var r=o.filter(n,function(t){return!t.indegree});return i(r)}function i(t){function e(t){return function(e){e.merged||(o.isUndefined(e.barycenter)||o.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&a(t,e)}}function n(e){return function(n){n["in"].push(e),0===--n.indegree&&t.push(n)}}for(var r=[];t.length;){var i=t.pop();r.push(i),o.each(i["in"].reverse(),e(i)),o.each(i.out,n(i))}return o.chain(r).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=t("../lodash");e.exports=r},{"../lodash":42}],52:[function(t,e,n){function r(t,e,n,l){var h=t.children(e),f=t.node(e),d=f?f.borderLeft:void 0,p=f?f.borderRight:void 0,g={};d&&(h=o.filter(h,function(t){return t!==d&&t!==p}));var y=u(t,h);o.each(y,function(e){if(t.children(e.v).length){var i=r(t,e.v,n,l);g[e.v]=i,o.has(i,"barycenter")&&a(e,i)}});var m=s(y,n);i(m,g);var v=c(m,l);if(d&&(v.vs=o.flatten([d,v.vs,p],!0),t.predecessors(d).length)){var b=t.node(t.predecessors(d)[0]),_=t.node(t.predecessors(p)[0]);o.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+_.order)/(v.weight+2),v.weight+=2}return v}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=t("../lodash"),u=t("./barycenter"),s=t("./resolve-conflicts"),c=t("./sort");e.exports=r},{"../lodash":42,"./barycenter":46,"./resolve-conflicts":51,"./sort":53}],53:[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,h=0,f=0;r.sort(a(!!e)),f=i(c,s,f),o.each(r,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=i(c,s,f)});var d={vs:o.flatten(c,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}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.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i}}var o=t("../lodash"),u=t("../util");e.exports=r},{"../lodash":42,"../util":61}],54:[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],h=!0;n!==a.w;){if(r=t.node(n),h){for(;(l=u[c])!==s&&t.node(l).maxRanks||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=t("./lodash");e.exports=r},{"./lodash":42}],55:[function(t,e,n){"use strict";function r(t,e){function n(e,n){var i=0,u=0,s=e.length,c=m.last(n);return m.each(n,function(e,l){var h=a(t,e),f=h?t.node(h).order:s;(h||e===c)&&(m.each(n.slice(u,l+1),function(e){m.each(t.predecessors(e),function(n){var a=t.node(n),u=a.order;!(i>u||u>f)||a.dummy&&t.node(e).dummy||o(r,n,e)})}),u=l+1,i=f)}),n}var r={};return m.reduce(e,n),r}function i(t,e){function n(e,n,r,a,u){var s;m.each(m.range(n,r),function(n){s=e[n],t.node(s).dummy&&m.each(t.predecessors(s),function(e){var n=t.node(e);n.dummy&&(n.orderu)&&o(i,e,s)})})}function r(e,r){var i,a=-1,o=0;return m.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 m.reduce(e,r),i}function a(t,e){return t.node(e).dummy?m.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}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 m.has(t[e],n)}function s(t,e,n,r){ -var i={},a={},o={};return m.each(e,function(t){m.each(t,function(t,e){i[t]=t,a[t]=t,o[t]=e})}),m.each(e,function(t){var e=-1;m.each(t,function(t){var s=r(t);if(s.length){s=m.sortBy(s,function(t){return o[t]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var f=s[l];a[t]===t&&eo.lim&&(u=o,s=!0);var c=g.filter(e.edges(),function(e){return s===p(t,t.node(e.v),u)&&s!==p(t,t.node(e.w),u)});return g.min(c,function(t){return m(e,t)})}function h(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),f(t,e)}function f(t,e){var n=g.find(t.nodes(),function(t){return!e.node(t).parent}),r=b(t,n);r=r.slice(1),g.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 d(t,e,n){return t.hasEdge(e,n)}function p(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var g=t("../lodash"),y=t("./feasible-tree"),m=t("./util").slack,v=t("./util").longestPath,b=t("../graphlib").alg.preorder,_=t("../graphlib").alg.postorder,x=t("../util").simplify;e.exports=r,r.initLowLimValues=u,r.initCutValues=i,r.calcCutValue=o,r.leaveEdge=c,r.enterEdge=l,r.exchangeEdges=h},{"../graphlib":39,"../lodash":42,"../util":61,"./feasible-tree":57,"./util":60}],60:[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=t("../lodash");e.exports={longestPath:r,slack:i}},{"../lodash":42}],61:[function(t,e,n){"use strict";function r(t,e,n,r){var i;do i=m.uniqueId(r);while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function i(t){var e=(new v).setGraph(t.graph());return m.each(t.nodes(),function(n){e.setNode(n,t.node(n))}),m.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 v({multigraph:t.isMultigraph()}).setGraph(t.graph());return m.each(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),m.each(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function o(t){var e=m.map(t.nodes(),function(e){var n={};return m.each(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return m.zipObject(t.nodes(),e)}function u(t){var e=m.map(t.nodes(),function(e){var n={};return m.each(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return m.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?(0>a&&(u=-u),s=u*i/a,c=u):(0>i&&(o=-o),s=o,c=o*a/i),{x:n+s,y:r+c}}function c(t){var e=m.map(m.range(d(t)+1),function(){return[]});return m.each(t.nodes(),function(n){var r=t.node(n),i=r.rank;m.isUndefined(i)||(e[i][r.order]=n)}),e}function l(t){var e=m.min(m.map(t.nodes(),function(e){return t.node(e).rank}));m.each(t.nodes(),function(n){var r=t.node(n);m.has(r,"rank")&&(r.rank-=e)})}function h(t){var e=m.min(m.map(t.nodes(),function(e){return t.node(e).rank})),n=[];m.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;m.each(n,function(e,n){m.isUndefined(e)&&n%i!==0?--r:r&&m.each(e,function(e){t.node(e).rank+=r})})}function f(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 d(t){return m.max(m.map(t.nodes(),function(e){var n=t.node(e).rank;return m.isUndefined(n)?void 0:n}))}function p(t,e){var n={lhs:[],rhs:[]};return m.each(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function g(t,e){var n=m.now();try{return e()}finally{console.log(t+" time: "+(m.now()-n)+"ms")}}function y(t,e){return e()}var m=t("./lodash"),v=t("./graphlib").Graph;e.exports={addDummyNode:r,simplify:i,asNonCompoundGraph:a,successorWeights:o,predecessorWeights:u,intersectRect:s,buildLayerMatrix:c,normalizeRanks:l,removeEmptyRanks:h,addBorderNode:f,maxRank:d,partition:p,time:g,notime:y}},{"./graphlib":39,"./lodash":42}],62:[function(t,e,n){e.exports="0.7.4"},{}],63:[function(t,e,n){var r=t("./lib");e.exports={Graph:r.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:r.version}},{"./lib":79,"./lib/alg":70,"./lib/json":80}],64:[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=t("../lodash");e.exports=r},{"../lodash":81}],65:[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=t("../lodash");e.exports=r},{"../lodash":81}],66:[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=t("./dijkstra"),a=t("../lodash");e.exports=r},{"../lodash":81,"./dijkstra":67}],67:[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(0>o)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+o);c0&&(i=s.removeMin(),a=u[i],a.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var a=t("../lodash"),o=t("../data/priority-queue");e.exports=r;var u=a.constant(1)},{"../data/priority-queue":77,"../lodash":81}],68:[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=t("../lodash"),a=t("./tarjan");e.exports=r},{"../lodash":81,"./tarjan":75}],69:[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;ua&&(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=t("../lodash"),a=t("../graph"),o=t("../data/priority-queue");e.exports=r},{"../data/priority-queue":77,"../graph":78,"../lodash":81}],75:[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=t("../lodash");e.exports=r},{"../lodash":81}],76:[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=t("../lodash");e.exports=r,r.CycleException=i},{"../lodash":81}],77:[function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=t("../lodash");e.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];return void 0!==e?this._arr[e].priority:void 0},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>1,!(n[e].prioritya){var o=i;i=a,a=o}return i+f+a+f+(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=t("./lodash");e.exports=r;var l="\x00",h="\x00",f="";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]=h,this._children[t]={},this._children[h][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=h;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!==h)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=h),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===h)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];return e?c.keys(e):void 0},r.prototype.successors=function(t){var e=this._sucs[t];return e?c.keys(e):void 0},r.prototype.neighbors=function(t){var e=this.predecessors(t);return e?c.union(e,this.successors(t)):void 0},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 h=u(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,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);return n?n.concat(this.outEdges(t,e)):void 0}},{"./lodash":81}],79:[function(t,e,n){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":78,"./version":82}],80:[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=t("./lodash"),s=t("./graph");e.exports={write:r,read:o}},{"./graph":78,"./lodash":81}],81:[function(t,e,n){e.exports=t(42)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":42,lodash:83}],82:[function(t,e,n){e.exports="1.0.7"},{}],83:[function(t,e,n){(function(t){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===E,i=t===t,a=null===e,o=e===E,u=e===e;if(t>e&&!a||!i||n&&!o&&u||r&&u)return 1;if(e>t&&!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-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 h(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,u=a.length,s=n.length;++i=s)return c;var l=n[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function f(t){return Vt[t]}function d(t){return Ht[t]}function p(t,e,n){return e?t=Wt[t]:n&&(t=Zt[t]),"\\"+t}function g(t){return"\\"+Zt[t]}function y(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function b(t,e){for(var n=-1,r=t.length,i=-1,a=[];++ne,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__,h=l.length,f=0,d=Ao(s,this.__takeCount__);if(!n||j>i||i==s&&d==s)return nn(r&&n?t.reverse():t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=e;for(var g=-1,y=t[c];++g=j?gn(e):null,c=e.length;s&&(o=Kt,u=!1,e=s);t:for(;++in&&(n=-n>i?0:i+n),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=n>r?0:r>>>0,n>>>=0;i>n;)t[n++]=e;return t}function Me(t,e){var n=[];return Io(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Se(t,e,n,r){var i;return n(t,function(t,n,a){return e(t,n,a)?(i=r?n:t,!1):void 0}),i}function Ce(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++ir;)t=t[e[r++]];return r&&r==i?t:E}}function Oe(t,e,n,r,i,a){return t===e?!0:null==t||null==e||!Bi(t)&&!m(e)?t!==t&&e!==e:Ie(t,e,Oe,n,r,i,a)}function Ie(t,e,n,r,i,a,o){var u=Cu(t),s=Cu(e),c=$,l=$;u||(c=no.call(t),c==H?c=Q:c!=Q&&(u=zi(t))),s||(l=no.call(e),l==H?l=Q:l!=Q&&(s=zi(e)));var h=c==Q,f=l==Q,d=c==l;if(d&&!u&&!h)return Pn(t,e,c);if(!i){var p=h&&to.call(t,"__wrapped__"),g=f&&to.call(e,"__wrapped__");if(p||g)return n(p?t.value():t,g?e.value():e,r,i,a,o)}if(!d)return!1;a||(a=[]),o||(o=[]);for(var y=a.length;y--;)if(a[y]==t)return o[y]==e;a.push(t),o.push(e);var m=(u?qn:jn)(t,e,n,r,i,a,o);return a.pop(),o.pop(),m}function Re(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=hr(t);r--;){var o=e[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++re&&(e=-e>i?0:i+e),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=ja(i);++r=j,s=u?gn():null,c=[];s?(r=Kt,o=!1):(u=!1,s=e?[]:c);t:for(;++n=i){for(;i>r;){var a=r+i>>>1,o=t[a];(n?e>=o:e>o)&&null!==o?r=a+1:i=a}return i}return an(t,e,Ma,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===E;a>i;){var c=vo((i+a)/2),l=n(t[c]),h=l!==E,f=l===l;if(o)var d=f||r;else d=u?f&&h&&(r||null!=l):s?f&&(r||h):null==l?!1:r?e>=l:e>l;d?i=c+1:a=c}return Ao(a,To)}function on(t,e,n){if("function"!=typeof t)return Ma;if(e===E)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),n=new po(e);return n.set(new po(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=wo(t.length-r,0),o=-1,u=e.length,s=ja(u+a);++o2?n[i-2]:E,o=i>2?n[2]:E,u=i>1?n[i-1]:E;for("function"==typeof a?(a=on(a,u,5),i-=2):(a="function"==typeof u?u:E,i-=a?1:0),o&&Qn(n[0],n[1],o)&&(a=3>i?E:a,i=1);++r-1?n[o]:E}return Se(n,r,t)}}function wn(t){return function(e,n,r){return e&&e.length?(n=Un(n,r,3),i(e,n,t)):-1}}function An(t){return function(e,n,r){return n=Un(n,r,3),Se(e,n,t,!0)}}function kn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=ja(n);t?r--:++r=j)return e.plant(r).value();for(var i=0,o=n?a[i].apply(this,t):r;++iv){var k=u?te(u):E,D=wo(c-v,0),C=p?A:E,T=p?E:A,F=p?x:E,B=p?E:x;e|=p?L:N,e&=~(p?N:L),g||(e&=~(M|S));var O=[t,e,n,F,C,B,T,k,s,D],I=Ln.apply(E,O);return er(t)&&zo(I,O),I.placeholder=w,I}}var R=f?n:this,q=d?R[t]:t;return u&&(x=sr(x,u)),h&&s=e||!_o(e))return"";var i=e-r;return n=null==n?" ":n+"",ya(n,yo(i/n.length)).slice(0,i)}function Bn(t,e,n,r){function i(){for(var e=-1,u=arguments.length,s=-1,c=r.length,l=ja(c+u);++ss))return!1;for(;++u-1&&t%1==0&&e>t}function Qn(t,e,n){if(!Bi(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Jn(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;if("string"==n&&Et.test(t)||"number"==n)return!0;if(Cu(t))return!1;var r=!kt.test(t);return r||null!=e&&t in hr(e)}function er(t){var n=Yn(t);if(!(n in K.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Uo(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&Lo>=t}function rr(t){return t===t&&!Bi(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=B>i,o=r==B&&n==T||r==B&&n==O&&t[7].length<=e[8]||r==(B|O)&&n==T;if(!a&&!o)return t;r&M&&(t[2]=e[2],i|=n&M?0:C);var u=e[3];if(u){var s=t[3];t[3]=s?sn(s,u,e[4]):te(u),t[4]=s?b(t[3],V):te(e[4])}return u=e[5],u&&(s=t[5],t[5]=s?cn(s,u,e[6]):te(u),t[6]=s?b(t[5],V):te(e[6])),u=e[7],u&&(t[7]=te(u)),r&B&&(t[8]=null==t[8]?e[8]:Ao(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===E?e:Tu(t,e,ar)}function or(t,e){t=hr(t);for(var n=-1,r=e.length,i={};++nr;)o[++a]=We(t,r,r+=e);return o}function gr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++ee?0:e)):[]}function mr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),We(t,0,0>e?0:e)):[]}function vr(t,e,n){return t&&t.length?en(t,Un(e,n,3),!0,!0):[]}function br(t,e,n){return t&&t.length?en(t,Un(e,n,3),!0):[]}function _r(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),De(t,e,n,r)):[]}function xr(t){return t?t[0]:E}function wr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Ce(t,e):[]}function Ar(t){var e=t?t.length:0;return e?Ce(t,!0):[]}function kr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=0>n?wo(r+n,0):n;else if(n){var i=rn(t,e);return r>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Er(t){return mr(t,1)}function Dr(t){var e=t?t.length:0;return e?t[e-1]:E}function Mr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(0>n?wo(r+n,0):Ao(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 y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Sr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=zn(),i=t.length;++n-1;)fo.call(e,a,1);return e}function Cr(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(e=Un(e,n,3);++ie?0:e)):[]}function Nr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),We(t,0>e?0:e)):[]}function Br(t,e,n){return t&&t.length?en(t,Un(e,n,3),!1,!0):[]}function Or(t,e,n){return t&&t.length?en(t,Un(e,n,3)):[]}function Ir(t,e,n,r){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?E:e,e=!1);var o=Un();return(null!=n||o!==_e)&&(n=o(n,r,3)),e&&zn()==a?_(t,n):Qe(t,n)}function Rr(t){if(!t||!t.length)return[];var e=-1,n=0;t=ue(t,function(t){return Kn(t)?(n=wo(t.length,n),!0):void 0});for(var r=ja(n);++en?wo(i+n,0):n||0,"string"==typeof t||!Cu(t)&&Yi(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&zn(t,e,n)>-1}function ti(t,e,n){var r=Cu(t)?se:qe;return e=Un(e,n,3),r(t,e)}function ei(t,e){return ti(t,Na(e))}function ni(t,e,n){var r=Cu(t)?ue:Me;return e=Un(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)]:E}var i=-1,a=Gi(t),r=a.length,o=r-1;for(e=Ao(0>e?0:+e||0,r);++i0&&(n=e.apply(this,arguments)),1>=t&&(e=E),n}}function di(t,e,n){function r(){d&&oo(d),c&&oo(c),g=0,c=d=p=E}function i(e,n){n&&oo(n),c=d=p=E,e&&(g=gu(),l=t.apply(f,s),d||c||(s=f=E))}function a(){var t=e-(gu()-h);0>=t||t>e?i(p,c):d=ho(a,t)}function o(){i(m,d)}function u(){if(s=arguments,h=gu(),f=this,p=m&&(d||!v),y===!1)var n=v&&!d;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=oo(c)),g=h,l=t.apply(f,s)):c||(c=ho(o,r))}return i&&d?d=oo(d):d||e===y||(d=ho(a,e)),n&&(i=!0,l=t.apply(f,s)),!i||d||c||(s=f=E),l}var s,c,l,h,f,d,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Za(z);if(e=0>e?0:+e||0,n===!0){var v=!0;m=!1}else Bi(n)&&(v=!!n.leading,y="maxWait"in n&&wo(+n.maxWait||0,e),m="trailing"in n?!!n.trailing:m);return u.cancel=r,u}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Za(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 pi.Cache,n}function gi(t){if("function"!=typeof t)throw new Za(z);return function(){return!t.apply(this,arguments)}}function yi(t){return fi(2,t)}function mi(t,e){if("function"!=typeof t)throw new Za(z);return e=wo(e===E?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=wo(n.length-e,0),a=ja(i);++re}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Kn(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&no.call(t)==G}function Mi(t){return m(t)&&no.call(t)==W}function Si(t){return!!t&&1===t.nodeType&&m(t)&&!ji(t)}function Ci(t){return null==t?!0:Kn(t)&&(Cu(t)||Yi(t)||Ei(t)||m(t)&&Ni(t.splice))?!t.length:!ju(t).length}function Ti(t,e,n,r){n="function"==typeof n?on(n,r,3):E;var i=n?n(t,e):E;return i===E?Oe(t,e,n):!!i}function Fi(t){return m(t)&&"string"==typeof t.message&&no.call(t)==Z}function Li(t){return"number"==typeof t&&_o(t)}function Ni(t){return Bi(t)&&no.call(t)==X}function Bi(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Oi(t,e,n,r){return n="function"==typeof n?on(n,r,3):E,Re(t,Vn(e),n)}function Ii(t){return Pi(t)&&t!=+t}function Ri(t){return null==t?!1:Ni(t)?io.test(Qa.call(t)):m(t)&&Bt.test(t)}function qi(t){return null===t}function Pi(t){return"number"==typeof t||m(t)&&no.call(t)==J}function ji(t){var e;if(!m(t)||no.call(t)!=Q||Ei(t)||!to.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var n;return Te(t,function(t,e){n=e}),n===E||to.call(t,n)}function Ui(t){return Bi(t)&&no.call(t)==tt}function Yi(t){return"string"==typeof t||m(t)&&no.call(t)==nt}function zi(t){return m(t)&&nr(t.length)&&!!Yt[no.call(t)]}function Vi(t){return t===E}function Hi(t,e){return e>t}function $i(t,e){return e>=t}function Gi(t){var e=t?Yo(t):0;return nr(e)?e?te(t):[]:aa(t)}function Wi(t){return be(t,ta(t))}function Zi(t,e,n){var r=Oo(t);return n&&Qn(t,e,n)&&(e=E),e?me(r,e):r}function Xi(t){return Ne(t,ta(t))}function Ki(t,e,n){var r=null==t?E:Be(t,fr(e),e+"");return r===E?n:r}function Ji(t,e){if(null==t)return!1;var n=to.call(t,e);if(!n&&!tr(e)){if(e=fr(e),t=1==e.length?t:Be(t,We(e,0,-1)),null==t)return!1;e=Dr(e),n=to.call(t,e)}return n||nr(t.length)&&Jn(e,t.length)&&(Cu(t)||Ei(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=E);for(var r=-1,i=ju(t),a=i.length,o={};++r0;++r=Ao(e,n)&&tn?0:+n||0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function fa(t){return t=u(t),t&&_t.test(t)?t.replace(vt,d):t}function da(t){return t=u(t),t&&St.test(t)?t.replace(Mt,p):t||"(?:)"}function pa(t,e,n){t=u(t),e=+e;var r=t.length;if(r>=e||!_o(e))return t;var i=(e-r)/2,a=vo(i),o=yo(i);return n=Nn("",o,n),n.slice(0,a)+t+n}function ga(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=ba(t),Eo(t,e||(Nt.test(t)?16:10))}function ya(t,e){var n="";if(t=u(t),e=+e,1>e||!t||!_o(e))return n;do e%2&&(n+=t),e=vo(e/2),t+=t;while(e);return n}function ma(t,e,n){return t=u(t),n=null==n?0:Ao(0>n?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function va(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=E),t=u(t),n=ye(me({},r||n),i,ge);var a,o,s=ye(me({},n.imports),i.imports,ge),c=ju(s),l=tn(s,c),h=0,f=n.interpolate||Rt,d="__p += '",p=Ga((n.escape||Rt).source+"|"+f.source+"|"+(f===At?Ft:Rt).source+"|"+(n.evaluate||Rt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Ut+"]")+"\n";t.replace(p,function(e,n,r,i,u,s){return r||(r=i),d+=t.slice(h,s).replace(qt,g),n&&(a=!0,d+="' +\n__e("+n+") +\n'"),u&&(o=!0,d+="';\n"+u+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=s+e.length,e}),d+="';\n";var m=n.variable;m||(d="with (obj) {\n"+d+"\n}\n"),d=(o?d.replace(pt,""):d).replace(gt,"$1").replace(yt,"$1;"),d="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var v=Ku(function(){return za(c,y+"return "+d).apply(E,l)});if(v.source=d,Fi(v))throw v;return v}function ba(t,e,n){var r=t;return(t=u(t))?(n?Qn(r,e,n):null==e)?t.slice(x(t),w(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function _a(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(x(t)):t.slice(s(t,e+"")):t}function xa(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,w(t)+1):t.slice(0,c(t,e+"")+1):t}function wa(t,e,n){n&&Qn(t,e,n)&&(e=E);var r=I,i=R;if(null!=e)if(Bi(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(1>o)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ui(a)){if(t.slice(o).search(a)){var c,l,h=t.slice(0,o);for(a.global||(a=Ga(a.source,(Lt.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var f=s.lastIndexOf(a);f>-1&&(s=s.slice(0,f))}return s+i}function Aa(t){return t=u(t),t&&bt.test(t)?t.replace(mt,A):t}function ka(t,e,n){return n&&Qn(t,e,n)&&(e=E),t=u(t),t.match(e||Pt)||[]}function Ea(t,e,n){return n&&Qn(t,e,n)&&(e=E),m(t)?Sa(t):_e(t,e)}function Da(t){return function(){return t}}function Ma(t){return t}function Sa(t){return Pe(xe(t,!0))}function Ca(t,e){return je(t,xe(e,!0))}function Ta(t,e,n){if(null==n){var r=Bi(e),i=r?ju(e):E,a=i&&i.length?Ne(e,i):E;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Ne(e,ju(e)));var o=!0,u=-1,s=Ni(t),c=a.length;n===!1?o=!1:Bi(n)&&"chain"in n&&(o=n.chain);for(;++ut||!_o(t))return[];var r=-1,i=ja(Ao(t,Co));for(e=on(e,n,1);++rr?i[r]=e(r):e(r);return i}function Ra(t){var e=++eo;return u(t)+e}function qa(t,e){return(+t||0)+(+e||0)}function Pa(t,e,n){return n&&Qn(t,e,n)&&(e=E),e=Un(e,n,3),1==e.length?de(Cu(t)?t:lr(t),e):Je(t,e)}t=t?re.defaults(ne.Object(),t,re.pick(ne,jt)):ne;var ja=t.Array,Ua=t.Date,Ya=t.Error,za=t.Function,Va=t.Math,Ha=t.Number,$a=t.Object,Ga=t.RegExp,Wa=t.String,Za=t.TypeError,Xa=ja.prototype,Ka=$a.prototype,Ja=Wa.prototype,Qa=za.prototype.toString,to=Ka.hasOwnProperty,eo=0,no=Ka.toString,ro=ne._,io=Ga("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,uo=t.parseFloat,so=Va.pow,co=Ka.propertyIsEnumerable,lo=Hn(t,"Set"),ho=t.setTimeout,fo=Xa.splice,po=t.Uint8Array,go=Hn(t,"WeakMap"),yo=Va.ceil,mo=Hn($a,"create"),vo=Va.floor,bo=Hn(ja,"isArray"),_o=t.isFinite,xo=Hn($a,"keys"),wo=Va.max,Ao=Va.min,ko=Hn(Ua,"now"),Eo=t.parseInt,Do=Va.random,Mo=Ha.NEGATIVE_INFINITY,So=Ha.POSITIVE_INFINITY,Co=4294967295,To=Co-1,Fo=Co>>>1,Lo=9007199254740991,No=go&&new go,Bo={};e.support={};e.templateSettings={escape:xt,evaluate:wt,interpolate:At,variable:"",imports:{_:e}};var Oo=function(){function t(){}return function(e){if(Bi(e)){t.prototype=e;var n=new t;t.prototype=E}return n||{}}}(),Io=fn(Fe),Ro=fn(Le,!0),qo=dn(),Po=dn(!0),jo=No?function(t,e){return No.set(t,e),t}:Ma,Uo=No?function(t){return No.get(t)}:La,Yo=ze("length"),zo=function(){var t=0,e=0;return function(n,r){var i=gu(),a=P-(i-e);if(e=i,a>0){if(++t>=q)return n}else t=0;return jo(n,r)}}(),Vo=mi(function(t,e){return m(t)&&Kn(t)?Ae(t,Ce(e,!1,!0)):[]}),Ho=wn(),$o=wn(!0),Go=mi(function(t){for(var e=t.length,n=e,r=ja(h),i=zn(),o=i==a,u=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=o&&s.length>=120?gn(n&&s):null}var c=t[0],l=-1,h=c?c.length:0,f=r[0];t:for(;++l2?t[e-2]:E,r=e>1?t[e-1]:E;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):E,r=E),t.length=e,qr(t,n,r)}),eu=mi(function(t){return t=Ce(t),this.thru(function(e){return Qt(Cu(e)?e:[hr(e)],t)})}),nu=mi(function(t,e){return ve(t,Ce(e))}),ru=ln(function(t,e,n){to.call(t,n)?++t[n]:t[n]=1}),iu=xn(Io),au=xn(Ro,!0),ou=En(ee,Io),uu=En(ie,Ro),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=mi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),o=Kn(t)?ja(t.length):[];return Io(t,function(t){var u=i?e:a&&null!=t?t[e]:E;o[++r]=u?u.apply(t,n):Xn(t,e,n)}),o}),hu=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),fu=Fn(le,Io),du=Fn(he,Ro),pu=mi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Ce(e),[])}),gu=ko||function(){return(new Ua).getTime()},yu=mi(function(t,e,n){var r=M;if(n.length){var i=b(n,yu.placeholder);r|=L}return Rn(t,r,e,n,i)}),mu=mi(function(t,e){e=e.length?Ce(e):Xi(t);for(var n=-1,r=e.length;++n0||0>e)?new K(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==E&&(e=+e||0,n=0>e?n.dropRight(-e):n.take(e-t)),n)},K.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},K.prototype.toArray=function(){return this.take(So)},Fe(K.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 K,c=e[0],l=s||Cu(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=function(t){return i&&n?a(t,1)[0]:a.apply(E,ce([t],e))},f={func:zr,args:[h],thisArg:E},d=s&&!u;if(i&&!n)return d?(o=o.clone(),o.__actions__.push(f),t.call(o)):a.call(E,this.value())[0];if(!i&&l){o=d?o:new K(this);var p=t.apply(o,e);return p.__actions__.push(f),new v(p,n)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Ja:Xa)[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)})}}),Fe(K.prototype,function(t,n){var r=e[n];if(r){var i=r.name,a=Bo[i]||(Bo[i]=[]);a.push({name:n,func:r})}}),Bo[Ln(E,S).name]=[{name:"wrapper",func:E}],K.prototype.clone=et,K.prototype.reverse=rt,K.prototype.value=Vt,e.prototype.chain=Vr,e.prototype.commit=Hr,e.prototype.concat=eu,e.prototype.plant=$r,e.prototype.reverse=Gr,e.prototype.toString=Wr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Zr,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 E,D="3.10.1",M=1,S=2,C=4,T=8,F=16,L=32,N=64,B=128,O=256,I=30,R="...",q=150,P=16,j=200,U=1,Y=2,z="Expected a function",V="__lodash_placeholder__",H="[object Arguments]",$="[object Array]",G="[object Boolean]",W="[object Date]",Z="[object Error]",X="[object Function]",K="[object Map]",J="[object Number]",Q="[object Object]",tt="[object RegExp]",et="[object Set]",nt="[object String]",rt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",ot="[object Float64Array]",ut="[object Int8Array]",st="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",ft="[object Uint16Array]",dt="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,bt=RegExp(mt.source),_t=RegExp(vt.source),xt=/<%-([\s\S]+?)%>/g,wt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Mt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,St=RegExp(Mt.source),Ct=/[\u0300-\u036f\ufe20-\ufe23]/g,Tt=/\\(\\)?/g,Ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Lt=/\w*$/,Nt=/^0[xX]/,Bt=/^\[object .+?Constructor\]$/,Ot=/^\d+$/,It=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rt=/($^)/,qt=/['\n\r\u2028\u2029\\]/g,Pt=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")}(),jt=["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"],Ut=-1,Yt={};Yt[at]=Yt[ot]=Yt[ut]=Yt[st]=Yt[ct]=Yt[lt]=Yt[ht]=Yt[ft]=Yt[dt]=!0,Yt[H]=Yt[$]=Yt[it]=Yt[G]=Yt[W]=Yt[Z]=Yt[X]=Yt[K]=Yt[J]=Yt[Q]=Yt[tt]=Yt[et]=Yt[nt]=Yt[rt]=!1;var zt={};zt[H]=zt[$]=zt[it]=zt[G]=zt[W]=zt[at]=zt[ot]=zt[ut]=zt[st]=zt[ct]=zt[J]=zt[Q]=zt[tt]=zt[nt]=zt[lt]=zt[ht]=zt[ft]=zt[dt]=!0,zt[Z]=zt[X]=zt[K]=zt[et]=zt[rt]=!1;var Vt={"À":"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"},Ht={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},$t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Gt={"function":!0,object:!0},Wt={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"},Zt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xt=Gt[typeof n]&&n&&!n.nodeType&&n,Kt=Gt[typeof e]&&e&&!e.nodeType&&e,Jt=Xt&&Kt&&"object"==typeof t&&t&&t.Object&&t,Qt=Gt[typeof self]&&self&&self.Object&&self,te=Gt[typeof window]&&window&&window.Object&&window,ee=Kt&&Kt.exports===Xt&&Xt,ne=Jt||te!==(this&&this.window)&&te||Qt||this,re=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ne._=re,define(function(){return re})):Xt&&Kt?ee?(Kt.exports=re)._=re:Xt._=re:ne._=re}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],84:[function(t,e,n){(function(t){!function(r){var i="object"==typeof n&&n,a="object"==typeof e&&e&&e.exports==i&&e,o="object"==typeof t&&t;(o.global===o||o.window===o)&&(r=o);var u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\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,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"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","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"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","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},f=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\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|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={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:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",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:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",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:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",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:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",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:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",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:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",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:"▫",emsp13:" ",emsp14:" ",emsp:" ",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:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",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",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",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:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",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:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",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:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",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:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",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:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",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:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",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:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",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:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",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:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",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:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",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:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",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:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",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:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",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:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",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:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",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:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",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:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",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:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",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:"ÿ"},b={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:"Ÿ"},_=[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],x=String.fromCharCode,w={},A=w.hasOwnProperty,k=function(t,e){return A.call(t,e)},E=function(t,e){for(var n=-1,r=t.length;++n=55296&&57343>=t||t>1114111?(e&&C("character reference outside the permissible Unicode range"),"�"):k(b,t)?(e&&C("disallowed character reference"),b[t]):(e&&E(_,t)&&C("disallowed character reference"),t>65535&&(t-=65536,n+=x(t>>>10&1023|55296),t=56320|1023&t),n+=x(t))},S=function(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"},C=function(t){throw Error("Parse error: "+t)},T=function(t,e){e=D(e,T.options);var n=e.strict;n&&g.test(t)&&C("forbidden code point");var r=e.encodeEverything,i=e.useNamedReferences,a=e.allowUnsafeSymbols;return r?(t=t.replace(s,function(t){return i&&k(h,t)?"&"+h[t]+";":S(t)}),i&&(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(t=t.replace(l,function(t){return"&"+h[t]+";"}))):i?(a||(t=t.replace(f,function(t){return"&"+h[t]+";"})),t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),t=t.replace(l,function(t){return"&"+h[t]+";"})):a||(t=t.replace(f,S)),t.replace(u,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1),r=1024*(e-55296)+n-56320+65536;return"&#x"+r.toString(16).toUpperCase()+";"}).replace(c,S)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var F=function(t,e){e=D(e,F.options);var n=e.strict;return n&&p.test(t)&&C("malformed character reference"),t.replace(y,function(t,r,i,a,o,u,s,c){var l,h,f,d,p;return r?(l=r,h=i,n&&!h&&C("character reference was not terminated by a semicolon"),M(l,n)):a?(f=a,h=o,n&&!h&&C("character reference was not terminated by a semicolon"),l=parseInt(f,16),M(l,n)):u?(d=u,k(m,d)?m[d]:(n&&C("named character reference was not terminated by a semicolon"),t)):(d=s,p=c,p&&e.isAttributeValue?(n&&"="==p&&C("`&` did not start a character reference"),t):(n&&C("named character reference was not terminated by a semicolon"),v[d]+(p||"")))})};F.options={isAttributeValue:!1,strict:!1};var L=function(t){return t.replace(f,function(t){return d[t]})},N={version:"0.5.0",encode:T,decode:F,escape:L,unescape:F};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var B in N)k(N,B)&&(i[B]=N[B]);else r.he=N}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],85:[function(t,e,n){!function(t,r){"object"==typeof n&&"undefined"!=typeof e?e.exports=r():"function"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){"use strict";function n(){return In.apply(null,arguments)}function r(t){In=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function o(t,e){var n,r=[];for(n=0;n0)for(n in qn)r=qn[n],i=e[r],"undefined"!=typeof i&&(t[r]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),Pn===!1&&(Pn=!0,n.updateOffset(this),Pn=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=m(e)),n}function b(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&v(t[r])!==v(e[r]))&&o++;return o+a}function _(){}function x(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var e,n,r,i,a=0;a0;){if(r=A(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&b(i,n,!0)>=e-1)break;e--}a++}return null}function A(n){var r=null;if(!jn[n]&&"undefined"!=typeof e&&e&&e.exports)try{r=Rn._abbr,t("./locale/"+n),k(r)}catch(i){}return jn[n]}function k(t,e){var n;return t&&(n="undefined"==typeof e?D(t):E(t,e),n&&(Rn=n)),Rn._abbr}function E(t,e){return null!==e?(e.abbr=t,jn[t]=jn[t]||new _,jn[t].set(e),k(t),jn[t]):(delete jn[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Rn;if(!i(t)){if(e=A(t))return e;t=[t]}return w(t)}function M(t,e){var n=t.toLowerCase();Un[n]=Un[n+"s"]=Un[e]=t}function S(t){return"string"==typeof t?Un[t]||Un[t.toLowerCase()]:void 0}function C(t){var e,n,r={};for(n in t)u(t,n)&&(e=S(n),e&&(r[e]=t[n]));return r}function T(t,e){return function(r){return null!=r?(L(this,t,r),n.updateOffset(this,e),this):F(this,t)}}function F(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function L(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function N(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=S(t),"function"==typeof this[t])return this[t](e);return this}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}function O(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Hn[t]=i),e&&(Hn[e[0]]=function(){return B(i.apply(this,arguments),e[1],e[2])}),n&&(Hn[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function I(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function R(t){var e,n,r=t.match(Yn);for(e=0,n=r.length;n>e;e++)Hn[r[e]]?r[e]=Hn[r[e]]:r[e]=I(r[e]);return function(i){var a="";for(e=0;n>e;e++)a+=r[e]instanceof Function?r[e].call(i,t):r[e];return a}}function q(t,e){return t.isValid()?(e=P(e,t.localeData()),Vn[e]=Vn[e]||R(e),Vn[e](t)):t.localeData().invalidDate()}function P(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(zn.lastIndex=0;r>=0&&zn.test(t);)t=t.replace(zn,n),zn.lastIndex=0,r-=1;return t}function j(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function U(t,e,n){or[t]=j(e)?e:function(t){return t&&n?n:e}}function Y(t,e){return u(or,t)?or[t](e._strict,e._locale):new RegExp(z(t))}function z(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function V(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=v(t)}),n=0;nr;r++){if(i=c([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 K(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function J(t){return null!=t?(K(this,t),n.updateOffset(this,!0),this):F(this,"Month")}function Q(){return G(this.year(),this.month())}function tt(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[cr]<0||n[cr]>11?cr:n[lr]<1||n[lr]>G(n[sr],n[cr])?lr:n[hr]<0||n[hr]>24||24===n[hr]&&(0!==n[fr]||0!==n[dr]||0!==n[pr])?hr:n[fr]<0||n[fr]>59?fr:n[dr]<0||n[dr]>59?dr:n[pr]<0||n[pr]>999?pr:-1,h(t)._overflowDayOfYear&&(sr>e||e>lr)&&(e=lr),h(t).overflow=e),t}function et(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function nt(t,e){var n=!0;return s(function(){return n&&(et(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function rt(t,e){mr[t]||(et(e),mr[t]=!0)}function it(t){var e,n,r=t._i,i=vr.exec(r);if(i){for(h(t).iso=!0,e=0,n=br.length;n>e;e++)if(br[e][1].exec(r)){t._f=br[e][0];break}for(e=0,n=_r.length;n>e;e++)if(_r[e][1].exec(r)){t._f+=(i[6]||" ")+_r[e][0];break}r.match(rr)&&(t._f+="Z"),At(t)}else t._isValid=!1}function at(t){var e=xr.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function ot(t,e,n,r,i,a,o){var u=new Date(t,e,n,r,i,a,o);return 1970>t&&u.setFullYear(t),u}function ut(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function st(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,e,n){var r,i=n-e,a=n-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),r=Ft(t).add(a,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function ft(t){return ht(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function yt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function mt(t,e,n,r,i){var a,o=6+i-r,u=ut(t,0,1+o),s=u.getUTCDay();return i>s&&(s+=7),n=null!=n?1*n:i,a=1+o+7*(e-1)-s+n,{year:a>0?t:t-1,dayOfYear:a>0?a:st(t-1)+a}}function vt(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 bt(t,e,n){return null!=t?t:null!=e?e:n}function _t(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function xt(t){var e,n,r,i,a=[];if(!t._d){for(r=_t(t),t._w&&null==t._a[lr]&&null==t._a[cr]&&wt(t),t._dayOfYear&&(i=bt(t._a[sr],r[sr]),t._dayOfYear>st(i)&&(h(t)._overflowDayOfYear=!0),n=ut(i,0,t._dayOfYear),t._a[cr]=n.getUTCMonth(),t._a[lr]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[hr]&&0===t._a[fr]&&0===t._a[dr]&&0===t._a[pr]&&(t._nextDay=!0,t._a[hr]=0),t._d=(t._useUTC?ut:ot).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hr]=24)}}function wt(t){var e,n,r,i,a,o,u;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,o=4,n=bt(e.GG,t._a[sr],ht(Ft(),1,4).year),r=bt(e.W,1),i=bt(e.E,1)):(a=t._locale._week.dow,o=t._locale._week.doy,n=bt(e.gg,t._a[sr],ht(Ft(),a,o).year),r=bt(e.w,1),null!=e.d?(i=e.d,a>i&&++r):i=null!=e.e?e.e+a:a),u=mt(n,r,i,o,a),t._a[sr]=u.year,t._dayOfYear=u.dayOfYear}function At(t){if(t._f===n.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var e,r,i,a,o,u=""+t._i,s=u.length,c=0;for(i=P(t._f,t._locale).match(Yn)||[],e=0;e0&&h(t).unusedInput.push(o),u=u.slice(u.indexOf(r)+r.length),c+=r.length),Hn[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),$(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=s-c,u.length>0&&h(t).unusedInput.push(u),h(t).bigHour===!0&&t._a[hr]<=12&&t._a[hr]>0&&(h(t).bigHour=void 0),t._a[hr]=kt(t._locale,t._a[hr],t._meridiem),xt(t),tt(t)}function kt(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function Et(t){var e,n,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;ia)&&(r=a,n=e));s(t,n||e)}function Dt(t){if(!t._d){var e=C(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],xt(t)}}function Mt(t){var e=new g(tt(St(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function St(t){var e=t._i,n=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===n&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new g(tt(e)):(i(n)?Et(t):n?At(t):a(e)?t._d=e:Ct(t),t))}function Ct(t){var e=t._i;void 0===e?t._d=new Date:a(e)?t._d=new Date(+e):"string"==typeof e?at(t):i(e)?(t._a=o(e.slice(0),function(t){return parseInt(t,10)}),xt(t)):"object"==typeof e?Dt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Tt(t,e,n,r,i){var a={};return"boolean"==typeof n&&(r=n,n=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=t,a._f=e,a._strict=r,Mt(a)}function Ft(t,e,n,r){return Tt(t,e,n,r,!1)}function Lt(t,e){var n,r;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Ft();for(n=e[0],r=1;rt&&(t=-t,n="-"),n+B(~~(t/60),2)+e+B(~~t%60,2)})}function qt(t){var e=(t||"").match(rr)||[],n=e[e.length-1]||[],r=(n+"").match(Dr)||["-",0,0],i=+(60*r[1])+v(r[2]);return"+"===r[0]?i:-i}function Pt(t,e){var r,i;return e._isUTC?(r=e.clone(),i=(y(t)||a(t)?+t:+Ft(t))-+r,r._d.setTime(+r._d+i),n.updateOffset(r,!1),r):Ft(t).local()}function jt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,e){var r,i=this._offset||0;return null!=t?("string"==typeof t&&(t=qt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(r=jt(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==t&&(!e||this._changeInProgress?re(this,Jt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:jt(this)}function Yt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function zt(t){return this.utcOffset(0,t)}function Vt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(jt(this),"m")),this}function Ht(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(qt(this._i)),this}function $t(t){return t=t?Ft(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Gt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=St(t),t._a){var e=t._isUTC?c(t._a):Ft(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Zt(){return!this._isUTC}function Xt(){return this._isUTC}function Kt(){return this._isUTC&&0===this._offset}function Jt(t,e){var n,r,i,a=t,o=null;return It(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(o=Mr.exec(t))?(n="-"===o[1]?-1:1,a={y:0,d:v(o[lr])*n,h:v(o[hr])*n,m:v(o[fr])*n,s:v(o[dr])*n,ms:v(o[pr])*n}):(o=Sr.exec(t))?(n="-"===o[1]?-1:1,a={y:Qt(o[2],n),M:Qt(o[3],n),d:Qt(o[4],n),h:Qt(o[5],n),m:Qt(o[6],n),s:Qt(o[7],n),w:Qt(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=ee(Ft(a.from),Ft(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Ot(a),It(t)&&u(t,"_locale")&&(r._locale=t._locale),r}function Qt(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function te(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 ee(t,e){var n;return e=Pt(e,t),t.isBefore(e)?n=te(t,e):(n=te(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function ne(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(rt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=Jt(n,r),re(this,i,t),this}}function re(t,e,r,i){var a=e._milliseconds,o=e._days,u=e._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*r),o&&L(t,"Date",F(t,"Date")+o*r),u&&K(t,F(t,"Month")+u*r),i&&n.updateOffset(t,o||u)}function ie(t,e){var n=t||Ft(),r=Pt(n,this).startOf("day"),i=this.diff(r,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[a]||this.localeData().calendar(a,this,Ft(n)))}function ae(){return new g(this)}function oe(t,e){var n;return e=S("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ft(t),+this>+t):(n=y(t)?+t:+Ft(t),n<+this.clone().startOf(e))}function ue(t,e){var n;return e=S("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ft(t),+t>+this):(n=y(t)?+t:+Ft(t),+this.clone().endOf(e)e-a?(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)}function fe(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(n=Ft([2e3,1]).day(e),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function ze(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=qe(t,this.localeData()),this.add(t-e,"d")):e}function Ve(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function He(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function $e(t,e){O(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ge(t,e){return e._meridiemParse}function We(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ze(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Xe(t,e){e[pr]=v(1e3*("0."+t))}function Ke(){return this._isUTC?"UTC":""}function Je(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Ft(1e3*t)}function tn(){return Ft.apply(null,arguments).parseZone()}function en(t,e,n){var r=this._calendar[t];return"function"==typeof r?r.call(e,n):r}function nn(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 rn(){return this._invalidDate}function an(t){return this._ordinal.replace("%d",t)}function on(t){return t}function un(t,e,n,r){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,r):i.replace(/%d/i,t)}function sn(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function cn(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ln(t,e,n,r){var i=D(),a=c().set(r,e);return i[n](a,t)}function hn(t,e,n,r,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ln(t,e,n,i);var a,o=[];for(a=0;r>a;a++)o[a]=ln(t,a,n,i);return o}function fn(t,e){return hn(t,e,"months",12,"month")}function dn(t,e){return hn(t,e,"monthsShort",12,"month")}function pn(t,e){return hn(t,e,"weekdays",7,"day")}function gn(t,e){return hn(t,e,"weekdaysShort",7,"day")}function yn(t,e){return hn(t,e,"weekdaysMin",7,"day")}function mn(){var t=this._data;return this._milliseconds=Kr(this._milliseconds),this._days=Kr(this._days),this._months=Kr(this._months),t.milliseconds=Kr(t.milliseconds),t.seconds=Kr(t.seconds),t.minutes=Kr(t.minutes),t.hours=Kr(t.hours),t.months=Kr(t.months),t.years=Kr(t.years),this}function vn(t,e,n,r){var i=Jt(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function bn(t,e){return vn(this,t,e,1)}function _n(t,e){return vn(this,t,e,-1)}function xn(t){return 0>t?Math.floor(t):Math.ceil(t)}function wn(){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||0>=a&&0>=o&&0>=u||(a+=864e5*xn(kn(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(An(o)),u+=i,o-=xn(kn(i)),r=m(u/12),u%=12,s.days=o,s.months=u,s.years=r,this}function An(t){return 4800*t/146097}function kn(t){return 146097*t/4800}function En(t){var e,n,r=this._milliseconds;if(t=S(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+An(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)}}function Dn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function Mn(t){return function(){return this.as(t)}}function Sn(t){return t=S(t),this[t+"s"]()}function Cn(t){return function(){return this._data[t]}}function Tn(){return m(this.days()/7)}function Fn(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function Ln(t,e,n){var r=Jt(t).abs(),i=di(r.as("s")),a=di(r.as("m")),o=di(r.as("h")),u=di(r.as("d")),s=di(r.as("M")),c=di(r.as("y")),l=i0,l[4]=n,Fn.apply(null,l)}function Nn(t,e){return void 0===pi[t]?!1:void 0===e?pi[t]:(pi[t]=e,!0)}function Bn(t){var e=this.localeData(),n=Ln(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function On(){var t,e,n,r=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(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,h=r,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(o?o+"Y":"")+(u?u+"M":"")+(s?s+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var In,Rn,qn=n.momentProperties=[],Pn=!1,jn={},Un={},Yn=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,zn=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vn={},Hn={},$n=/\d/,Gn=/\d\d/,Wn=/\d{3}/,Zn=/\d{4}/,Xn=/[+-]?\d{6}/,Kn=/\d\d?/,Jn=/\d{1,3}/,Qn=/\d{1,4}/,tr=/[+-]?\d{1,6}/,er=/\d+/,nr=/[+-]?\d+/,rr=/Z|[+-]\d\d:?\d\d/gi,ir=/[+-]?\d+(\.\d{1,3})?/,ar=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,or={},ur={},sr=0,cr=1,lr=2,hr=3,fr=4,dr=5,pr=6;O("M",["MM",2],"Mo",function(){return this.month()+1}),O("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),O("MMMM",0,0,function(t){return this.localeData().months(this,t)}),M("month","M"),U("M",Kn),U("MM",Kn,Gn),U("MMM",ar),U("MMMM",ar),V(["M","MM"],function(t,e){e[cr]=v(t)-1}),V(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[cr]=i:h(n).invalidMonth=t});var gr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mr={};n.suppressDeprecationWarnings=!1;var vr=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,br=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],_r=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],xr=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=nt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),O(0,["YY",2],0,function(){return this.year()%100}),O(0,["YYYY",4],0,"year"),O(0,["YYYYY",5],0,"year"),O(0,["YYYYYY",6,!0],0,"year"),M("year","y"),U("Y",nr),U("YY",Kn,Gn),U("YYYY",Qn,Zn),U("YYYYY",tr,Xn),U("YYYYYY",tr,Xn),V(["YYYYY","YYYYYY"],sr),V("YYYY",function(t,e){e[sr]=2===t.length?n.parseTwoDigitYear(t):v(t)}),V("YY",function(t,e){e[sr]=n.parseTwoDigitYear(t)}),n.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var wr=T("FullYear",!1);O("w",["ww",2],"wo","week"),O("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),U("w",Kn),U("ww",Kn,Gn),U("W",Kn),U("WW",Kn,Gn),H(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=v(t)});var Ar={dow:0,doy:6};O("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),U("DDD",Jn),U("DDDD",Wn),V(["DDD","DDDD"],function(t,e,n){n._dayOfYear=v(t)}),n.ISO_8601=function(){};var kr=nt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return this>t?this:t}),Er=nt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return t>this?this:t});Rt("Z",":"),Rt("ZZ",""),U("Z",rr),U("ZZ",rr),V(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=qt(t)});var Dr=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var Mr=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Sr=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Jt.fn=Ot.prototype;var Cr=ne(1,"add"),Tr=ne(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Fr=nt("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)});O(0,["gg",2],0,function(){return this.weekYear()%100}),O(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Fe("gggg","weekYear"),Fe("ggggg","weekYear"),Fe("GGGG","isoWeekYear"),Fe("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),U("G",nr),U("g",nr),U("GG",Kn,Gn),U("gg",Kn,Gn),U("GGGG",Qn,Zn),U("gggg",Qn,Zn),U("GGGGG",tr,Xn),U("ggggg",tr,Xn),H(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=v(t)}),H(["gg","GG"],function(t,e,r,i){e[i]=n.parseTwoDigitYear(t)}),O("Q",0,0,"quarter"),M("quarter","Q"),U("Q",$n),V("Q",function(t,e){e[cr]=3*(v(t)-1)}),O("D",["DD",2],"Do","date"),M("date","D"),U("D",Kn),U("DD",Kn,Gn),U("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),V(["D","DD"],lr),V("Do",function(t,e){e[lr]=v(t.match(Kn)[0],10)});var Lr=T("Date",!0);O("d",0,"do","day"),O("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),O("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),O("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),O("e",0,0,"weekday"),O("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),U("d",Kn),U("e",Kn),U("E",Kn),U("dd",ar),U("ddd",ar),U("dddd",ar),H(["dd","ddd","dddd"],function(t,e,n){var r=n._locale.weekdaysParse(t);null!=r?e.d=r:h(n).invalidWeekday=t}),H(["d","e","E"],function(t,e,n,r){e[r]=v(t)});var Nr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Br="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Or="Su_Mo_Tu_We_Th_Fr_Sa".split("_");O("H",["HH",2],0,"hour"),O("h",["hh",2],0,function(){return this.hours()%12||12}),$e("a",!0),$e("A",!1),M("hour","h"),U("a",Ge),U("A",Ge),U("H",Kn),U("h",Kn),U("HH",Kn,Gn),U("hh",Kn,Gn),V(["H","HH"],hr),V(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),V(["h","hh"],function(t,e,n){e[hr]=v(t),h(n).bigHour=!0});var Ir=/[ap]\.?m?\.?/i,Rr=T("Hours",!0);O("m",["mm",2],0,"minute"),M("minute","m"),U("m",Kn),U("mm",Kn,Gn),V(["m","mm"],fr);var qr=T("Minutes",!1);O("s",["ss",2],0,"second"),M("second","s"),U("s",Kn),U("ss",Kn,Gn),V(["s","ss"],dr);var Pr=T("Seconds",!1);O("S",0,0,function(){return~~(this.millisecond()/100)}),O(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),O(0,["SSS",3],0,"millisecond"),O(0,["SSSS",4],0,function(){return 10*this.millisecond()}),O(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),O(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),O(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),O(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),O(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),M("millisecond","ms"),U("S",Jn,$n),U("SS",Jn,Gn),U("SSS",Jn,Wn);var jr;for(jr="SSSS";jr.length<=9;jr+="S")U(jr,er);for(jr="S";jr.length<=9;jr+="S")V(jr,Xe);var Ur=T("Milliseconds",!1);O("z",0,0,"zoneAbbr"),O("zz",0,0,"zoneName");var Yr=g.prototype;Yr.add=Cr,Yr.calendar=ie,Yr.clone=ae,Yr.diff=le,Yr.endOf=we,Yr.format=pe,Yr.from=ge,Yr.fromNow=ye,Yr.to=me,Yr.toNow=ve,Yr.get=N,Yr.invalidAt=Te,Yr.isAfter=oe,Yr.isBefore=ue,Yr.isBetween=se,Yr.isSame=ce,Yr.isValid=Se,Yr.lang=Fr,Yr.locale=be,Yr.localeData=_e,Yr.max=Er,Yr.min=kr,Yr.parsingFlags=Ce,Yr.set=N,Yr.startOf=xe,Yr.subtract=Tr,Yr.toArray=De,Yr.toObject=Me,Yr.toDate=Ee,Yr.toISOString=de,Yr.toJSON=de,Yr.toString=fe,Yr.unix=ke,Yr.valueOf=Ae,Yr.year=wr,Yr.isLeapYear=lt,Yr.weekYear=Ne,Yr.isoWeekYear=Be,Yr.quarter=Yr.quarters=Re,Yr.month=J,Yr.daysInMonth=Q,Yr.week=Yr.weeks=gt,Yr.isoWeek=Yr.isoWeeks=yt,Yr.weeksInYear=Ie,Yr.isoWeeksInYear=Oe,Yr.date=Lr,Yr.day=Yr.days=ze,Yr.weekday=Ve,Yr.isoWeekday=He,Yr.dayOfYear=vt,Yr.hour=Yr.hours=Rr,Yr.minute=Yr.minutes=qr,Yr.second=Yr.seconds=Pr,Yr.millisecond=Yr.milliseconds=Ur,Yr.utcOffset=Ut,Yr.utc=zt,Yr.local=Vt,Yr.parseZone=Ht,Yr.hasAlignedHourOffset=$t,Yr.isDST=Gt,Yr.isDSTShifted=Wt,Yr.isLocal=Zt,Yr.isUtcOffset=Xt,Yr.isUtc=Kt,Yr.isUTC=Kt,Yr.zoneAbbr=Ke,Yr.zoneName=Je,Yr.dates=nt("dates accessor is deprecated. Use date instead.",Lr),Yr.months=nt("months accessor is deprecated. Use month instead",J),Yr.years=nt("years accessor is deprecated. Use year instead",wr),Yr.zone=nt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Yt);var zr=Yr,Vr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Hr={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"},$r="Invalid date",Gr="%d",Wr=/\d{1,2}/,Zr={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"},Xr=_.prototype;Xr._calendar=Vr,Xr.calendar=en,Xr._longDateFormat=Hr,Xr.longDateFormat=nn, -Xr._invalidDate=$r,Xr.invalidDate=rn,Xr._ordinal=Gr,Xr.ordinal=an,Xr._ordinalParse=Wr,Xr.preparse=on,Xr.postformat=on,Xr._relativeTime=Zr,Xr.relativeTime=un,Xr.pastFuture=sn,Xr.set=cn,Xr.months=W,Xr._months=gr,Xr.monthsShort=Z,Xr._monthsShort=yr,Xr.monthsParse=X,Xr.week=ft,Xr._week=Ar,Xr.firstDayOfYear=pt,Xr.firstDayOfWeek=dt,Xr.weekdays=Pe,Xr._weekdays=Nr,Xr.weekdaysMin=Ue,Xr._weekdaysMin=Or,Xr.weekdaysShort=je,Xr._weekdaysShort=Br,Xr.weekdaysParse=Ye,Xr.isPM=We,Xr._meridiemParse=Ir,Xr.meridiem=Ze,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=nt("moment.lang is deprecated. Use moment.locale instead.",k),n.langData=nt("moment.langData is deprecated. Use moment.localeData instead.",D);var Kr=Math.abs,Jr=Mn("ms"),Qr=Mn("s"),ti=Mn("m"),ei=Mn("h"),ni=Mn("d"),ri=Mn("w"),ii=Mn("M"),ai=Mn("y"),oi=Cn("milliseconds"),ui=Cn("seconds"),si=Cn("minutes"),ci=Cn("hours"),li=Cn("days"),hi=Cn("months"),fi=Cn("years"),di=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Ot.prototype;yi.abs=mn,yi.add=bn,yi.subtract=_n,yi.as=En,yi.asMilliseconds=Jr,yi.asSeconds=Qr,yi.asMinutes=ti,yi.asHours=ei,yi.asDays=ni,yi.asWeeks=ri,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Dn,yi._bubble=wn,yi.get=Sn,yi.milliseconds=oi,yi.seconds=ui,yi.minutes=si,yi.hours=ci,yi.days=li,yi.weeks=Tn,yi.months=hi,yi.years=fi,yi.humanize=Bn,yi.toISOString=On,yi.toString=On,yi.toJSON=On,yi.locale=be,yi.localeData=_e,yi.toIsoString=nt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",On),yi.lang=Fr,O("X",0,0,"unix"),O("x",0,0,"valueOf"),U("x",nr),U("X",ir),V("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),V("x",function(t,e,n){n._d=new Date(v(t))}),n.version="2.10.6",r(Ft),n.fn=zr,n.min=Nt,n.max=Bt,n.utc=c,n.unix=Qe,n.months=fn,n.isDate=a,n.locale=k,n.invalid=d,n.duration=Jt,n.isMoment=y,n.weekdays=pn,n.parseZone=tn,n.localeData=D,n.isDuration=It,n.monthsShort=dn,n.weekdaysMin=yn,n.defineLocale=E,n.weekdaysShort=gn,n.normalizeUnits=S,n.relativeTimeThreshold=Nn;var mi=n;return mi})},{}],86:[function(t,e,n){e.exports={name:"mermaid",version:"0.5.3-2",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],87:[function(t,e,n){"use strict";var r;if(t)try{r=t("d3")}catch(i){}r||(r=window.d3),e.exports=r,function(){var t=!1;if(t="tspans",r.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;r.selection.prototype.textwrap=r.selection.enter.prototype.textwrap=function(e,n){var i,n=parseInt(n)||0,a=this,o=function(t){var e=t[0][0],n=e.tagName.toString();if("rect"!==n)return!1;var i={};return i.x=r.select(e).attr("x")||0,i.y=r.select(e).attr("y")||0,i.width=r.select(e).attr("width")||0,i.height=r.select(e).attr("height")||0,i.attr=t.attr,i},u=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=o(t);return e}return!1},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},c=u(e);if(n&&(c=s(c,n)),0!=a.length&&r&&e&&c){e=c;var l,h=function(t){var n=r.select(t[0].parentNode),a=n.select("text"),o=a.style("line-height"),u=a.text();a.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),i=n.select("foreignObject")},f=function(t){var a,o=t[0],u=o.parentNode,s=r.select(o),c=o.getBBox().height,l=o.getBBox().width,h=c,f=s.style("line-height");if(a=f&&parseInt(f)?parseInt(f.replace("px","")):h,l>e.width){var d=s.text();if(s.text(""),d){var p,g;if(-1!==d.indexOf(" ")){var p=" ";g=d.split(" ")}else{p="";var y=d.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var b,_,g=[],x=0;m>x;x++)_=x*v,b=d.substr(_,v),g.push(b)}for(var w=[],A=0,k={},x=0;xe.width&&M&&""!==M&&(A+=S,k={string:M,width:S,offset:A},w.push(k),s.text(""),s.text(D),x==g.length-1&&(E=D,s.text(E),C=o.getComputedTextLength())),x==g.length-1){s.text("");var T=E;T&&""!==T&&(C-A>0&&(C-=A),k={string:T,width:C,offset:A},w.push(k))}}var F;s.text("");for(var x=0;x0){w[x-1]}x*a0?a:void 0}),F.attr("x",function(){var t=e.x;return n&&(t+=n),t}))}}}s.attr("y",function(){var t=e.y;return a&&(t+=a),n&&(t+=n),t}),s.attr("x",function(){var t=e.x;return n&&(t+=n),t}),i=r.select(u).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=f)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:f);for(var d=0;dl&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},i=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],91:[function(t,e,n){"use strict";var r,i=t("../../logger").create();if(t)try{r=t("dagre-d3")}catch(a){i.debug("Could not load dagre-d3")}r||(r=window.dagreD3),e.exports=r},{"../../logger":103,"dagre-d3":5}],92:[function(t,e,n){"use strict";var r=t("./graphDb"),i=t("./parser/flow"),a=t("./parser/dot"),o=t("../../d3"),u=t("./dagre-d3"),s=t("../../logger").create(),c={};e.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e0&&(o=a.classes.join(" "));var u="";u=r(u,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s="";c.htmlLabels?(s="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),s="text");var l=0,h="";switch(a.type){case"round":l=5,h="rect";break;case"square":h="rect";break;case"diamond":h="question";break;case"odd":h="rect_left_inv_arrow";break;case"odd_right":h="rect_left_inv_arrow";break;case"circle":h="circle";break;case"group":h="rect",i="";break;default:h="rect"}e.setNode(a.id,{labelType:s,shape:h,label:i,rx:l,ry:l,"class":o,style:u,id:a.id})})},n.addEdges=function(t,e){var n,r,i=0;"undefined"!=typeof t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,n="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof 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"}if("undefined"==typeof t.text)"undefined"==typeof t.style?e.setEdge(t.start,t.end,{style:a,arrowhead:n},i):e.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:n},i);else{var o=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?c.htmlLabels?e.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:o,arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:o,arrowhead:n},i)}})},n.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"undefined"==typeof 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},n.draw=function(t,e,l){s.debug("Drawing flowchart");var h;r.clear(),h=l?a.parser:i.parser,h.yy=r;try{h.parse(t)}catch(f){s.debug("Parsing failed")}var d;d=r.getDirection(),"undefined"==typeof d&&(d="TD");var p,g=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=r.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],r.addVertex(p.id,p.title,"group",void 0);var v=r.getVertices(),b=r.getEdges();m=0;var _;for(m=y.length-1;m>=0;m--)for(p=y[m],o.selectAll("cluster").append("text"),_=0;_0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(n){var r=d3.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,r),setClickFun(t,e),setLink(t,n)}):(setTooltip(t,r),setClickFun(t,e),setLink(t,n))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var n=d3.select(t).select("svg"),r=n.selectAll("g.node");r.on("mouseover",function(){var t=d3.select(this),n=t.attr("title");if(null!==n){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);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function n(t){var e={"boolean":{},number:{},string:{}},n=[];return t.filter(function(t){var r=typeof t;return" "===t?!1:r in e?e[r].hasOwnProperty(t)?!1:e[r][t]=!0:n.indexOf(t)>=0?!1:n.push(t)})}var r=[];r=n(r.concat.apply(r,t));var i={id:"subGraph"+subCount,nodes:r,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e2e3)){if(posCrossRef[secCount]=n,subGraphs[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i=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}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":87,"../../logger":103}],94:[function(t,e,n){(function(r){"use strict";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],h=[1,19],f=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],_=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],M=[1,49],S=[1,52],C=[2,65],T=[1,65],F=[1,66],L=[1,67],N=[1,68],B=[1,69],O=[1,70],I=[1,71],R=[1,72],q=[1,73],P=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],U={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.$="
";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:h,24:f,25:d,26:p},{6:23,12:n,13:r},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y, -9:25,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},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:h,24:f,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:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,41]},{10:[2,21],28:[1,42]},e(w,[2,23]),e(w,[2,24]),e(w,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(w,[2,27],{41:46,43:47,57:D,58:M}),e(w,[2,47],{43:47,34:50,41:51,37:S,57:D,58:M}),{34:53,37:S},{34:54,37:S},{34:55,37:S},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{7:62,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},e(A,[2,48]),e(A,C,{14:10,15:11,7:63,46:64,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,48:T,49:F,50:L,51:N,52:B,53:O,54:I,55:R,56:q}),e(w,[2,41],{34:74,37:S}),{7:77,8:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,33:76,42:75,47:_},e(P,[2,66]),e(P,[2,67]),e(w,[2,46]),e(w,[2,40],{34:78,37:S}),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:79,39:[1,80]},e(w,[2,28]),e(w,[2,29]),e(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{5:[2,2]},{10:[2,22]},e(w,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(w,[2,38]),e(j,[2,44],{43:47,41:87,57:D,58:M}),e(j,[2,45],{43:47,41:88,57:D,58:M}),e(A,k,{44:44,45:E}),e(w,[2,39]),{39:[1,89]},e(w,[2,34],{34:90,37:S}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,C,{46:95,48:T,49:F,50:L,51:N,52:B,53:O,54:I,55:R,56:q}),e(j,[2,42]),e(j,[2,43]),e(w,[2,33],{34:96,37:S}),e(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,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)throw new Error(t);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=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,b,_,x,w,A,k,E,D,M=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},S={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=M()),x=a[_]&&a[_][v]),"undefined"==typeof x||!x.length||!x[0]){var C="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Y=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return U.lexer=Y,t.prototype=U,U.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],95:[function(t,e,n){(function(r){"use strict";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,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],o=[2,2],u=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,31],f=[1,33],d=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],b=[1,28],_=[1,36],x=[1,38],w=[1,35],A=[1,37],k=[1,43],E=[1,42],D=[1,39],M=[1,40],S=[1,41],C=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],T=[1,51],F=[1,50],L=[1,52],N=[1,70],B=[1,78],O=[1,79],I=[1,64],R=[1,63],q=[1,83],P=[1,82],j=[1,80],U=[1,81],Y=[1,71],z=[1,66],V=[1,65],H=[1,61],$=[1,73],G=[1,74],W=[1,75],Z=[1,76],X=[1,77],K=[1,68],J=[1,67],Q=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],et=[1,112],nt=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],rt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],ot=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],ut=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],st=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],ft=[1,190],dt=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],bt=[1,188],_t=[1,189],xt=[1,205],wt=[8,9,11,83],At=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],kt={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,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 55:case 57:case 58:case 90:case 92:case 93:case 106: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],"round");break;case 48:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"round");break;case 49:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"diamond");break;case 50:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"diamond");break;case 51:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"odd");break;case 52:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"odd");break;case 53:this.$=a[u],r.addVertex(a[u]);break;case 54:this.$=a[u-1],r.addVertex(a[u-1]);break;case 56:case 91:case 94:case 107:this.$=a[u-1]+""+a[u];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[u-1].text=a[u],this.$=a[u-1];break;case 62:case 63:a[u-2].text=a[u-1],this.$=a[u-2];break;case 64:this.$=a[u];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[u-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[u-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[u-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[u-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[u-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[u-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[u-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[u-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[u-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[u-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[u-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[u-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[u-1];break;case 108:case 109:this.$=a[u-4],r.addClass(a[u-2],a[u]);break;case 110:this.$=a[u-4],r.setClass(a[u-2],a[u]);break;case 111:this.$=a[u-4],r.setClickEvent(a[u-2],a[u],void 0,void 0);break;case 112:this.$=a[u-6],r.setClickEvent(a[u-4],a[u-2],void 0,a[u]);break;case 113:this.$=a[u-4],r.setClickEvent(a[u-2],void 0,a[u],void 0);break;case 114:this.$=a[u-6],r.setClickEvent(a[u-4],void 0,a[u-2],a[u]);break;case 115:this.$=a[u-4],r.addVertex(a[u-2],void 0,void 0,a[u]);break;case 116:case 117:case 118:this.$=a[u-4],r.updateLink(a[u-2],a[u]);break;case 120:this.$=[a[u]];break;case 121:a[u-2].push(a[u]),this.$=a[u-2];break;case 123: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:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(a,[2,9]),e(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},e(C,[2,3]),e(C,[2,4]),e(C,[2,5]),e(C,[2,6]),e(C,[2,7]),e(C,[2,8]),{8:T,9:F,11:L,24:49},{8:T,9:F,11:L,24:53},{8:T,9:F,11:L,24:54},{8:T,9:F,11:L,24:55},{8:T,9:F,11:L,24:56},{8:T,9:F,11:L,24:57},{8:T,9:F,10:N,11:L,12:B,13:O,15:I,16:R,17:q,18:P,24:59,30:j,31:58,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(Q,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},e(tt,[2,53],{43:32,21:110,42:111,10:et,13:h,15:[1,109],18:f,36:[1,106],38:[1,107],40:[1,108],44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S}),e(nt,[2,55]),e(nt,[2,57]),e(nt,[2,58]),e(nt,[2,59]),e(nt,[2,60]),e(rt,[2,148]),e(rt,[2,149]),e(rt,[2,150]),e(rt,[2,151]),e(rt,[2,152]),e(rt,[2,153]),e(rt,[2,154]),e(rt,[2,155]),e(rt,[2,156]),{8:it,9:at,10:et,14:113,21:116},{8:it,9:at,10:et,14:117,21:116},{8:it,9:at,10:et,14:118,21:116},{8:it,9:at,10:et,14:119,21:116},{8:it,9:at,10:et,14:120,21:116},e(C,[2,30]),e(C,[2,38]),e(C,[2,39]),e(C,[2,40]),e(C,[2,31]),e(C,[2,32]),e(C,[2,33]),e(C,[2,34]),e(C,[2,35]),{8:T,9:F,10:N,11:L,12:B,13:O,15:I,16:R,17:q,18:P,24:121,30:j,32:U,43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(ot,o,{5:123}),e(ut,[2,90]),e(ut,[2,92]),e(ut,[2,137]),e(ut,[2,138]),e(ut,[2,139]),e(ut,[2,140]),e(ut,[2,141]),e(ut,[2,142]),e(ut,[2,143]),e(ut,[2,144]),e(ut,[2,145]),e(ut,[2,146]),e(ut,[2,147]),e(ut,[2,95]),e(ut,[2,96]),e(ut,[2,97]),e(ut,[2,98]),e(ut,[2,99]),e(ut,[2,100]),e(ut,[2,101]),e(ut,[2,102]),e(ut,[2,103]),e(ut,[2,104]),e(ut,[2,105]),{13:h,18:f,33:124,35:29,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(st,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:128,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:129,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:130,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(ct,[2,77]),e(ct,[2,78]),e(ct,[2,79]),e(ct,[2,80]),e(ct,[2,81]),e(ct,[2,82]),e(ct,[2,83]),e(ct,[2,84]),e(ct,[2,85]),e(ct,[2,86]),e(ct,[2,87]),e(ct,[2,88]),{13:h,18:f,35:131,42:30,43:32,44:p,78:[1,132],79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{76:[1,133],79:[1,134]},{13:h,18:f,35:136,42:30,43:32,44:p,76:[1,135],79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{13:h,18:f,35:137,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{13:h,18:f,35:138,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:139,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:141,32:U,38:[1,140],43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:142,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:143,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,54]),e(nt,[2,56]),e(tt,[2,29],{21:144,10:et}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,145]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(ot,o,{5:146}),e(ut,[2,91]),{6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(Q,[2,41]),e(st,[2,61],{10:[1,148]}),{10:[1,149]},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:150,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,43:69,44:Y,48:z,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,43:69,44:Y,48:z,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,43:69,44:Y,48:z,58:V,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,163],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,169],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,170],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,37:[1,171],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,31:172,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,39:[1,173],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,41:[1,174],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,37:[1,175],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,28]),e(a,[2,23]),{6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19, -28:20,29:21,30:d,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(C,[2,37]),e(st,[2,63]),e(st,[2,62]),{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,43:69,44:Y,48:z,58:V,63:[1,177],64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(st,[2,65]),e(st,[2,66]),e(st,[2,67]),e(st,[2,68]),e(st,[2,69]),e(st,[2,70]),e(st,[2,71]),e(st,[2,72]),e(st,[2,73]),e(st,[2,74]),e(st,[2,75]),e(st,[2,76]),{10:lt,44:ht,69:ft,77:178,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:192,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:193,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:194,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:195,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:196,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{13:h,18:f,35:197,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{13:h,18:f,35:198,42:30,43:32,44:p,65:[1,199],79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,43],{21:200,10:et}),{10:N,12:B,13:O,15:I,16:R,17:q,18:P,30:j,32:U,39:[1,201],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,47],{21:202,10:et}),e(tt,[2,49],{21:203,10:et}),e(tt,[2,51],{21:204,10:et}),e(C,[2,36]),e([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),e(Q,[2,115],{83:xt}),e(wt,[2,120],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(At,[2,122]),e(At,[2,124]),e(At,[2,125]),e(At,[2,126]),e(At,[2,127]),e(At,[2,128]),e(At,[2,129]),e(At,[2,130]),e(At,[2,131]),e(At,[2,132]),e(At,[2,133]),e(At,[2,134]),e(Q,[2,116],{83:xt}),e(Q,[2,117],{83:xt}),e(Q,[2,118],{83:xt}),e(Q,[2,108],{83:xt}),e(Q,[2,109],{83:xt}),e(Q,[2,110],{43:32,42:111,13:h,18:f,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S}),e(Q,[2,111],{43:32,42:111,10:[1,207],13:h,18:f,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S}),e(Q,[2,113],{10:[1,208]}),e(tt,[2,44]),{39:[1,209]},e(tt,[2,48]),e(tt,[2,50]),e(tt,[2,52]),{10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},e(At,[2,123]),{65:[1,211]},{65:[1,212]},e(tt,[2,45],{21:213,10:et}),e(wt,[2,121],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(Q,[2,112]),e(Q,[2,114]),e(tt,[2,46])],defaultActions:{},parseError:function(t,e){if(!e.recoverable)throw new Error(t);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=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,b,_,x,w,A,k,E,D,M=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},S={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=M()),x=a[_]&&a[_][v]),"undefined"==typeof x||!x.length||!x[0]){var C="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9;case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return kt.lexer=Et,t.prototype=kt,kt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],96:[function(t,e,n){(function(e){"use strict";var r=t("moment"),i=t("../../logger").create(),a="",o="",u=[],s=[],c="";n.clear=function(){u=[],s=[],c="",o="",d=0,l=void 0},n.setDateFormat=function(t){a=t},n.getDateFormat=function(){return a},n.setTitle=function(t){o=t},n.getTitle=function(){return o},n.addSection=function(t){c=t,u.push(t)},n.findTaskById=function(t){var e;for(e=0;en-e?n+i+1.5*u.sidePadding>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=w(t.startTime),n=w(t.endTime),r=this.getBBox().width,i=0,a=0;an-e?n+r+1.5*u.sidePadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}function l(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()}]];"undefined"!=typeof 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 h=a.svg.axis().scale(w).orient("bottom").tickSize(-r+e+u.gridLineStartPadding,0,0).tickFormat(a.time.format.multi(o));i>7&&230>i&&(h=h.ticks(a.time.monday.range)),b.append("g").attr("class","grid").attr("transform","translate("+t+", "+(r-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,e){for(var n=[],r=0,i=0;i0))return i[1]*t/2+e;for(var o=0;a>o;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;er;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}function p(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function g(t,e){return p(e)[t]||0}r.yy.clear(),r.parse(t);var y=document.getElementById(e);s=y.parentElement.offsetWidth,"undefined"==typeof s&&(s=1200),"undefined"!=typeof u.useWidth&&(s=u.useWidth);var m=r.yy.getTasks(),v=m.length*(u.barHeight+u.barGap)+2*u.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+s+" "+v);var b=a.select("#"+e),_=a.min(m,function(t){return t.startTime}),x=a.max(m,function(t){return t.endTime}),w=a.time.scale().domain([a.min(m,function(t){return t.startTime}),a.max(m,function(t){return t.endTime})]).rangeRound([0,s-150]),A=[];i=o.duration(x-_).asDays();for(var k=0;kl&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},s=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){ -this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:break;case 2:break;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 t}();return u.lexer=s,t.prototype=u,u.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],99:[function(t,e,n){(function(r){"use strict";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,15,17,19,20,22,33],r=[2,2],i=[1,6],a=[1,8],o=[1,9],u=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],f=[1,18],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:return r.apply(a[u-1]),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:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,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 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:r.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:r.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:r.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,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 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=r.PLACEMENT.LEFTOF;break;case 22:this.$=r.PLACEMENT.RIGHTOF;break;case 23: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 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=r.LINETYPE.SOLID_OPEN;break;case 28:this.$=r.LINETYPE.DOTTED_OPEN;break;case 29:this.$=r.LINETYPE.SOLID;break;case 30:this.$=r.LINETYPE.DOTTED;break;case 31:this.$=r.LINETYPE.SOLID_CROSS;break;case 32:this.$=r.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,r,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,22:h,33:f},e(n,d,{1:[2,1]}),e(p,[2,3]),{9:19,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,22:h,33:f},e(p,[2,5]),e(p,[2,6]),{12:20,33:f},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:f},{12:25,33:f},{12:26,33:f},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},e([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),e(p,[2,4]),{10:[1,38]},e(p,[2,9]),e(p,[2,10]),{16:[1,39]},e(g,r,{5:40}),e(g,r,{5:41}),e([6,8,10,11,15,17,19,20,21,22,33],r,{5:42}),{12:43,33:f},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:f},{8:y,26:45},{33:[2,21]},{33:[2,22]},e(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,48],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,50],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,21:[1,51],22:h,33:f},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:f},{8:y,26:57,33:[2,18]},e(p,[2,11]),e(p,[2,12]),e(p,d),e(p,[2,13]),{12:58,33:f},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:f},{28:[1,60],33:[2,19]},{33:[2,17]},e(g,r,{5:61}),{10:[2,16]},{12:62,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,63],19:c,20:l,22:h,33:f},{33:[2,20]},e(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);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=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,b,_,x,w,A,k,E,D,M=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},S={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=M()),x=a[_]&&a[_][v]),"undefined"==typeof x||!x.length||!x[0]){var C="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},_=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return b.lexer=_,t.prototype=b,b.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],100:[function(t,e,n){(function(e){"use strict";var r={},i=[],a=[],o=[],u=t("../../logger").create();n.addActor=function(t,e,n){r[t]={name:e,description:n},i.push(t)},n.addMessage=function(t,e,n,r){a.push({from:t,to:e,message:n,answer:r})},n.addSignal=function(t,e,n,r){u.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),a.push({from:t,to:e,message:n,type:r})},n.getMessages=function(){return a},n.getActors=function(){return r},n.getActor=function(t){return r[t]},n.getActorKeys=function(){return Object.keys(r)},n.clear=function(){r={},a=[]},n.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},n.ARROWTYPE={FILLED:0,OPEN:1},n.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},n.addNote=function(t,e,r){var i={actor:t,placement:e,message:r};o.push(i),a.push({from:t,to:t,message:r,type:n.LINETYPE.NOTE,placement:e})},n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)},n.apply=function(t){if(t instanceof Array)t.forEach(function(t){n.apply(t)});else switch(t.type){case"addActor":n.addActor(t.actor,t.actor,t.actor);break;case"addNote":n.addNote(t.actor,t.placement,t.text);break;case"addMessage":n.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":n.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":n.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":n.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":103}],101:[function(t,e,n){"use strict";var r=t("./parser/sequenceDiagram").parser;r.yy=t("./sequenceDb");var i=t("./svgDraw"),a=t("../../d3"),o=t("../../logger").create(),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};n.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){"undefined"==typeof t[e]?t[e]=n:t[e]=r(n,t[e])},updateLoops:function(t,e,r,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",t-c*u.boxMargin,Math.min),a.updateVal(s,"starty",e-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",r+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(n.bounds.data,"startx",t-c*u.boxMargin,Math.min),a.updateVal(n.bounds.data,"starty",e-c*u.boxMargin,Math.min),a.updateVal(n.bounds.data,"stopx",r+c*u.boxMargin,Math.max),a.updateVal(n.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(t,e,r,i){var a,o,u,s;a=Math.min(t,r),u=Math.max(t,r),o=Math.min(e,i),s=Math.max(e,i),this.updateVal(n.bounds.data,"startx",a,Math.min),this.updateVal(n.bounds.data,"starty",o,Math.min),this.updateVal(n.bounds.data,"stopx",u,Math.max),this.updateVal(n.bounds.data,"stopy",s,Math.max),this.updateLoops(a,o,u,s)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var e=this.list.pop();e.elsey=n.bounds.getVerticalPos(),e.elseText=t,this.list.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}};var s=function(t,e,r,a){var o=i.getNoteRect();o.x=e,o.y=r,o.width=u.width,o["class"]="note";var s=t.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=e-4,l.y=r-13,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l["class"]="noteText";var h=i.drawText(s,l,u.width-u.noteMargin),f=h[0][0].getBBox().height;f>u.width?(h.remove(),s=t.append("g"),h=i.drawText(s,l,2*u.width-u.noteMargin),f=h[0][0].getBBox().height,c.attr("width",2*u.width),n.bounds.insert(e,r,e+2*u.width,r+2*u.noteMargin+f)):n.bounds.insert(e,r,e+u.width,r+2*u.noteMargin+f),c.attr("height",f+2*u.noteMargin),n.bounds.bumpVerticalPos(f+2*u.noteMargin)},c=function(t,e,i,a,o){var u,s=t.append("g"),c=e+(i-e)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(o.message);u="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(e===i){h=s.append("path").attr("d","M "+e+","+a+" C "+(e+60)+","+(a-10)+" "+(e+60)+","+(a+30)+" "+e+","+(a+20)),n.bounds.bumpVerticalPos(30);var f=Math.max(u/2,100);n.bounds.insert(e-f,n.bounds.getVerticalPos()-10,i+f,n.bounds.getVerticalPos())}else h=s.append("line"),h.attr("x1",e),h.attr("y1",a),h.attr("x2",i),h.attr("y2",a),n.bounds.insert(e,n.bounds.getVerticalPos()-10,i,n.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 d=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;d=d.replace(/\(/g,"\\("),d=d.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("+d+"#crosshead)"),(o.type===r.yy.LINETYPE.SOLID_CROSS||o.type===r.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+d+"#crosshead)")};e.exports.drawActors=function(t,e,r,a){var o;for(o=0;o/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),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(r),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},n.drawLabel=function(t,e){var r=n.getNoteRect();r.x=e.x,r.y=e.y,r.width=50,r.height=20,r.fill="#526e52",r.stroke="none",r["class"]="labelBox",n.drawRect(t,r),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",n.drawText(t,e)};var r=-1;n.drawActor=function(t,e,i,a,o){var u=e+o.width/2,s=t.append("g");0===i&&(r++,s.append("line").attr("id","actor"+r).attr("x1",u).attr("y1",5).attr("x2",u).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var c=n.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=o.width,c.height=o.height,c["class"]="actor",c.rx=3,c.ry=3,n.drawRect(s,c),s.append("text").attr("x",u).attr("y",i+o.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},n.drawLoop=function(t,e,r,i){var a=t.append("g"),o=function(t,e,n,r){a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};o(e.startx,e.starty,e.stopx,e.starty),o(e.stopx,e.starty,e.stopx,e.stopy),o(e.startx,e.stopy,e.stopx,e.stopy),o(e.startx,e.starty,e.startx,e.stopy),"undefined"!=typeof e.elsey&&o(e.startx,e.elsey,e.stopx,e.elsey);var u=n.getTextObj();u.text=r,u.x=e.startx,u.y=e.starty,u.labelMargin=1.5*i.boxMargin,u["class"]="labelText",u.fill="white",n.drawLabel(a,u),u=n.getTextObj(),u.text="[ "+e.title+" ]",u.x=e.startx+(e.stopx-e.startx)/2,u.y=e.starty+1.5*i.boxMargin,u.anchor="middle",u["class"]="loopText",n.drawText(a,u),"undefined"!=typeof e.elseText&&(u.text="[ "+e.elseText+" ]",u.y=e.elsey+1.5*i.boxMargin,n.drawText(a,u))},n.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")},n.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")},n.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},n.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],103:[function(t,e,n){(function(t){"use strict";var e;e=function(){function e(t){var n,r;this.options=t||{},this.level=this.options.level||e.levels["default"],r=e.levels;for(n in r)e.define(this,n)}function n(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>n&&(n="0"+n),10>r&&(r="0"+r),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+n+":"+r+" ("+i+")";return a}return e.prototype.add=function(n,r,i){return this.level>(e.levels[n]||5)?void 0:(i?r=i():"function"==typeof r&&(r=r()),this.write({timestamp:new Date,severity:n,message:r,pid:t.pid}))},e.prototype.write=function(t){return"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log(this.build_message(t)):void 0},e.prototype.build_message=function(t){return"["+n(t.timestamp)+"] "+t.message},e}(),e.define=function(t,e){return t[e]=function(t,n){return this.add(e,t,n)}},e.levels={debug:1,info:2,warn:3,error:4,fatal:5,"default":5},n.setLogLevel=function(t){e.levels["default"]=t},n.create=function(t){return new e(t)}}).call(this,t("_process"))},{_process:3}],104:[function(t,e,n){(function(r){"use strict";var i=t("./mermaidAPI"),a=0,o=t("./logger").create(),u=t("he");e.exports.mermaidAPI=i;var s=function(){var t=i.getConfig();o.debug("Starting rendering diagrams");var e;arguments.length>=2?("undefined"!=typeof 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],o.debug("Callback function found")):"undefined"!=typeof t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,o.debug("Callback function found")):o.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof Node?[e]:e;var s;"undefined"!=typeof mermaid_config&&i.initialize(r.mermaid_config),o.debug("Start On Load before: "+r.mermaid.startOnLoad),"undefined"!=typeof r.mermaid.startOnLoad&&(o.debug("Start On Load inner: "+r.mermaid.startOnLoad),i.initialize({startOnLoad:r.mermaid.startOnLoad})),"undefined"!=typeof r.mermaid.ganttConfig&&i.initialize({gantt:r.mermaid.ganttConfig});var c,l=function(t,e){h.innerHTML=t,"undefined"!=typeof n&&n(f),e(h)};for(s=0;s0&&(r+=n.selectorText+" { "+n.style.cssText+" }\n")}}catch(l){"undefined"!==n&&o.warn('Invalid CSS selector "'+n.selectorText+'"',l)}var h="",f="";for(var d in e)e.hasOwnProperty(d)&&"undefined"!=typeof d&&("default"===d?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[d].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+e[d].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+e[d].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+e[d].clusterStyles.join("; ")+"; }\n")):e[d].styles instanceof Array&&(f+="#"+t.id.trim()+" ."+d+">rect { "+e[d].styles.join("; ")+"; }\n"));if(""!==r||""!==h||""!==f){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};n.cloneCssStyles=s},{"./logger":103}]},{},[104])(104)}); +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaid=t()}}(function(){var define,module,exports;return function t(e,n,r){function i(o,u){if(!n[o]){if(!e[o]){var s="function"==typeof require&&require;if(!u&&s)return s(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,function(t){var n=e[o][1][t];return i(n?n:t)},l,l.exports,t,e,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o=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=-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&&(n=o+"/"+n,i="/"===o.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var i=n.isAbsolute(t),a="/"===o(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),o=Math.min(i.length,a.length),u=o,s=0;o>s;s++)if(i[s]!==a[s]){u=s;break}for(var c=[],s=u;se&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,n="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return n?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e){!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function r(t,e){return e>t?-1:t>e?1:t>=e?0:0/0}function i(t){return null===t?0/0:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){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);i>r;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}function u(t){return t.length}function s(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function l(){this._=Object.create(null)}function h(t){return(t+="")===yo||t[0]===mo?mo+t:t}function f(t){return(t+="")[0]===mo?t.slice(1):t}function d(t){return h(t)in this._}function p(t){return(t=h(t))in this._&&delete this._[t]}function g(){var t=[];for(var e in this._)t.push(f(e));return t}function y(){var t=0;for(var e in this._)++t;return t}function m(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function b(t){return t}function _(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=vo.length;r>n;++n){var i=vo[n]+e;if(i in t)return i}}function w(){}function A(){}function k(t){function e(){for(var e,r=n,i=-1,a=r.length;++in;n++)for(var i,a=t[n],o=0,u=a.length;u>o;o++)(i=a[o])&&e(i,o,n);return t}function H(t){return _o(t,Do),t}function $(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])&&++e0&&(t=t.slice(0,u));var c=Mo.get(t);return c&&(t=c,s=Z),u?e?i:r:e?w:a}function W(t,e){return function(n){var r=no.event;no.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{no.event=r}}}function Z(t,e){var n=W(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function X(e){var r=".dragsuppress-"+ ++Co,i="click"+r,a=no.select(n(e)).on("touchmove"+r,E).on("dragstart"+r,E).on("selectstart"+r,E);if(null==So&&(So="onselectstart"in e?!1:x(e.style,"userSelect")),So){var o=t(e).style,u=o[So];o[So]="none"}return function(t){if(a.on(r,null),So&&(o[So]=u),t){var e=function(){a.on(i,null)};a.on(i,function(){E(),e()},!0),setTimeout(e,0)}}}function K(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>To){var a=n(t);if(a.scrollX||a.scrollY){r=no.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();To=!(o.f||o.e),r.remove()}}return To?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function J(){return no.event.changedTouches[0].identifier}function Q(t){return t>0?1:0>t?-1:0}function tt(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function et(t){return t>1?0:-1>t?Bo:Math.acos(t)}function nt(t){return t>1?Io:-1>t?-Io:Math.asin(t)}function rt(t){return((t=Math.exp(t))-1/t)/2}function it(t){return((t=Math.exp(t))+1/t)/2}function at(t){return((t=Math.exp(2*t))-1)/(t+1)}function ot(t){return(t=Math.sin(t/2))*t}function ut(){}function st(t,e,n){return this instanceof st?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof st?new st(t.h,t.s,t.l):wt(""+t,At,st):new st(t,e,n)}function ct(t,e,n){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?a+(o-a)*t/60:180>t?o:240>t?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:0>e?0:e>1?1:e,n=0>n?0:n>1?1:n,o=.5>=n?n*(1+e):n+e-n*e,a=2*n-o,new vt(i(t+120),i(t),i(t-120))}function lt(t,e,n){return this instanceof lt?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=kt((t=no.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,e,n)}function ht(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new ft(n,Math.cos(t*=Ro)*e,Math.sin(t)*e)}function ft(t,e,n){return this instanceof ft?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ht(t.h,t.c,t.l):kt((t=vt(t)).r,t.g,t.b):new ft(t,e,n)}function dt(t,e,n){var r=(t+16)/116,i=r+e/500,a=r-n/200;return i=gt(i)*Wo,r=gt(r)*Zo,a=gt(a)*Xo,new vt(mt(3.2404542*i-1.5371385*r-.4985314*a),mt(-.969266*i+1.8760108*r+.041556*a),mt(.0556434*i-.2040259*r+1.0572252*a))}function pt(t,e,n){return t>0?new lt(Math.atan2(n,e)*Po,Math.sqrt(e*e+n*n),t):new lt(0/0,0/0,t)}function gt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function yt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function mt(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function vt(t,e,n){return this instanceof vt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof vt?new vt(t.r,t.g,t.b):wt(""+t,vt,ct):new vt(t,e,n)}function bt(t){return new vt(t>>16,t>>8&255,255&t)}function _t(t){return bt(t)+""}function xt(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function wt(t,e,n){t=t.toLowerCase();var r,i,a,o=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t))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(Dt(i[0]),Dt(i[1]),Dt(i[2]))}return(a=Qo.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|o,u=240&a,u=u>>4|u,s=15&a,s=s<<4|s):7===t.length&&(o=(16711680&a)>>16,u=(65280&a)>>8,s=255&a)),e(o,u,s))}function At(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=.5>s?u/(o+a):u/(2-o-a),r=t==o?(e-n)/u+(n>e?6:0):e==o?(n-t)/u+2:(t-e)/u+4,r*=60):(r=0/0,i=s>0&&1>s?0:r),new st(r,i,s)}function kt(t,e,n){t=Et(t),e=Et(e),n=Et(n);var r=yt((.4124564*t+.3575761*e+.1804375*n)/Wo),i=yt((.2126729*t+.7151522*e+.072175*n)/Zo),a=yt((.0193339*t+.119192*e+.9503041*n)/Xo);return ft(116*i-16,500*(r-i),200*(i-a))}function Et(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Mt(t){return"function"==typeof t?t:function(){return t}}function St(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&&Ft(s)||e>=200&&300>e||304===e){try{t=n.call(a,s)}catch(r){return void o.error.call(a,r)}o.load.call(a,t)}else o.error.call(a,s)}var a={},o=no.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=no.event;no.event=t;try{o.progress.call(a,s)}finally{no.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(io(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},no.rebind(a,o,"on"),null==r?a:a.get(Tt(r))}function Tt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ft(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Lt(){var t=Bt(),e=Ot()-t;e>24?(isFinite(e)&&(clearTimeout(ru),ru=setTimeout(Lt,e)),nu=0):(nu=1,au(Lt))}function Bt(){var t=Date.now();for(iu=tu;iu;)t>=iu.t&&(iu.f=iu.c(t-iu.t)),iu=iu.n;return t}function Ot(){for(var t,e=tu,n=1/0;e;)e.f?e=t?t.n=e.n:tu=e.n:(e.t8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Rt(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)}:b;return function(t){var n=uu.exec(t),r=n[1]||" ",o=n[2]||">",u=n[3]||"-",s=n[4]||"",c=n[5],l=+n[6],h=n[7],f=n[8],d=n[9],p=1,g="",y="",m=!1,v=!0;switch(f&&(f=+f.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),d){case"n":h=!0,d="g";break;case"%":p=100,y="%",d="f";break;case"p":p=100,y="%",d="r";break;case"b":case"o":case"x":case"X":"#"===s&&(g="0"+d.toLowerCase());case"c":v=!1;case"d":m=!0,f=0;break;case"s":p=-1,d="r"}"$"===s&&(g=i[0],y=i[1]),"r"!=d||f||(d="g"),null!=f&&("g"==d?f=Math.max(1,Math.min(21,f)):("e"==d||"f"==d)&&(f=Math.max(0,Math.min(20,f)))),d=su.get(d)||Pt;var b=c&&h;return function(t){var n=y;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===u?"":u;if(0>p){var s=no.formatPrefix(t,f);t=s.scale(t),n=s.symbol+y}else t*=p;t=d(t,f);var _,x,w=t.lastIndexOf(".");if(0>w){var A=v?t.lastIndexOf("e"):-1;0>A?(_=t,x=""):(_=t.substring(0,A),x=t.substring(A))}else _=t.substring(0,w),x=e+t.substring(w+1);!c&&h&&(_=a(_,1/0));var k=g.length+_.length+x.length+(b?0:i.length),E=l>k?new Array(k=l-k+1).join(r):"";return b&&(_=a(E+_,E.length?l-x.length:1/0)),i+=g,t=_+x,("<"===o?i+t+E:">"===o?E+i+t:"^"===o?E.substring(0,k>>=1)+i+t+E.substring(k):i+(b?t:E+t))+n}}}function Pt(t){return t+""}function qt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function jt(t,e,n){function r(e){var n=t(e),r=a(n,1);return r-e>e-n?n:r}function i(n){return e(n=t(new lu(n-1)),1),n}function a(t,n){return e(t=new lu(+t),n),t}function o(t,r,a){var o=i(t),u=[];if(a>1)for(;r>o;)n(o)%a||u.push(new Date(+o)),e(o,1);else for(;r>o;)u.push(new Date(+o)),e(o,1);return u}function u(t,e,n){try{lu=qt;var r=new qt;return r._=t,o(r,e,n)}finally{lu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Ut(t);return s.floor=s,s.round=Ut(r),s.ceil=Ut(i),s.offset=Ut(a),s.range=u,t}function Ut(t){return function(e,n){try{lu=qt;var r=new qt;return r._=e,t(r,n)._}finally{lu=Date}}}function Yt(t){function e(t){function e(e){for(var n,i,a,o=[],u=-1,s=0;++uu;){if(r>=c)return-1;if(i=e.charCodeAt(u++),37===i){if(o=e.charAt(u++),a=C[o in fu?e.charAt(u++):o],!a||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){w.lastIndex=0;var r=w.exec(e.slice(n));return r?(t.w=A.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){_.lastIndex=0;var r=_.exec(e.slice(n));return r?(t.w=x.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){D.lastIndex=0;var r=D.exec(e.slice(n));return r?(t.m=M.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){k.lastIndex=0;var r=k.exec(e.slice(n));return r?(t.m=E.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,r){return n(t,S.c.toString(),e,r)}function s(t,e,r){return n(t,S.x.toString(),e,r)}function c(t,e,r){return n(t,S.X.toString(),e,r)}function l(t,e,n){var r=b.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,g=t.days,y=t.shortDays,m=t.months,v=t.shortMonths;e.utc=function(t){function n(t){try{lu=qt;var e=new lu;return e._=t,r(e)}finally{lu=Date}}var r=e(t);return n.parse=function(t){try{lu=qt;var e=r.parse(t);return e&&e._}finally{lu=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=se;var b=no.map(),_=Vt(g),x=Ht(g),w=Vt(y),A=Ht(y),k=Vt(m),E=Ht(m),D=Vt(v),M=Ht(v);p.forEach(function(t,e){b.set(t.toLowerCase(),e)});var S={a:function(t){return y[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:e(h),d:function(t,e){return zt(t.getDate(),e,2)},e:function(t,e){return zt(t.getDate(),e,2)},H:function(t,e){return zt(t.getHours(),e,2)},I:function(t,e){return zt(t.getHours()%12||12,e,2)},j:function(t,e){return zt(1+cu.dayOfYear(t),e,3)},L:function(t,e){return zt(t.getMilliseconds(),e,3)},m:function(t,e){return zt(t.getMonth()+1,e,2)},M:function(t,e){return zt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return zt(t.getSeconds(),e,2)},U:function(t,e){return zt(cu.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return zt(cu.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return zt(t.getFullYear()%100,e,2)},Y:function(t,e){return zt(t.getFullYear()%1e4,e,4)},Z:oe,"%":function(){return"%"}},C={a:r,A:i,b:a,B:o,c:u,d:te,e:te,H:ne,I:ne,j:ee,L:ae,m:Qt,M:re,p:l,S:ie,U:Gt,w:$t,W:Wt,x:s,X:c,y:Xt,Y:Zt,Z:Kt,"%":ue};return e}function zt(t,e,n){var r=0>t?"-":"",i=(r?-t:t)+"",a=i.length;return r+(n>a?new Array(n-a+1).join(e)+i:i)}function Vt(t){return new RegExp("^(?:"+t.map(no.requote).join("|")+")","i")}function Ht(t){for(var e=new l,n=-1,r=t.length;++n68?1900:2e3)}function Qt(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function te(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ee(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function ne(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function re(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function ie(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function ae(t,e,n){du.lastIndex=0;var r=du.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function oe(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=go(e)/60|0,i=go(e)%60;return n+zt(r,"0",2)+zt(i,"0",2)}function ue(t,e,n){pu.lastIndex=0;var r=pu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function se(t){for(var e=t.length,n=-1;++n=0?1:-1,u=o*n,s=Math.cos(e),c=Math.sin(e),l=a*c,h=i*s+l*Math.cos(u),f=l*o*Math.sin(u);_u.add(Math.atan2(f,h)),r=t,i=s,a=c}var e,n,r,i,a;xu.point=function(o,u){xu.point=t,r=(e=o)*Ro,i=Math.cos(u=(n=u)*Ro/2+Bo/4),a=Math.sin(u)},xu.lineEnd=function(){t(e,n)}}function ge(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 ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function me(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 ve(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function be(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function _e(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]),nt(t[2])]}function we(t,e){return go(t[0]-e[0])u;++u)i.point((n=t[u])[0],n[1]);return void i.lineEnd()}var s=new Le(n,t,null,!0),c=new Le(n,null,s,!1);s.o=c,a.push(s),o.push(c),s=new Le(r,t,null,!1),c=new Le(r,null,s,!0),s.o=c,a.push(s),o.push(c)}}),o.sort(e),Fe(a),Fe(o),a.length){for(var u=0,s=n,c=o.length;c>u;++u)o[u].e=s=!s;for(var l,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var u=0,c=l.length;c>u;++u)i.point((h=l[u])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(p){l=d.p.z;for(var u=l.length-1;u>=0;--u)i.point((h=l[u])[0],h[1])}else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,l=d.z,p=!p}while(!d.v);i.lineEnd()}}}function Fe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r0){for(x||(a.polygonStart(),x=!0),a.lineStart();++o1&&2&e&&n.push(n.pop().concat(n.shift())),d.push(n.filter(Oe))}var d,p,g,y=e(a),m=i.invert(r[0],r[1]),v={point:o,lineStart:s,lineEnd:c,polygonStart:function(){v.point=l,v.lineStart=h,v.lineEnd=f,d=[],p=[]},polygonEnd:function(){v.point=o,v.lineStart=s,v.lineEnd=c,d=no.merge(d);var t=je(m,p);d.length?(x||(a.polygonStart(),x=!0),Te(d,Ie,t,n,a)):t&&(x||(a.polygonStart(),x=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),x&&(a.polygonEnd(),x=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}},b=Ne(),_=e(b),x=!1;return v}}function Oe(t){return t.length>1}function Ne(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:w,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Ie(t,e){return((t=t.x)[0]<0?t[1]-Io-Fo:Io-t[1])-((e=e.x)[0]<0?e[1]-Io-Fo:Io-e[1])}function Re(t){var e,n=0/0,r=0/0,i=0/0;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var u=a>0?Bo:-Bo,s=go(a-n);go(s-Bo)0?Io:-Io),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(a,r),e=0):i!==u&&s>=Bo&&(go(n-i)Fo?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*Io,r.point(-Bo,i),r.point(0,i),r.point(Bo,i),r.point(Bo,0),r.point(Bo,-i),r.point(0,-i),r.point(-Bo,-i),r.point(-Bo,0),r.point(-Bo,i);else if(go(t[0]-e[0])>Fo){var a=t[0]u;++u){var c=e[u],l=c.length;if(l)for(var h=c[0],f=h[0],d=h[1]/2+Bo/4,p=Math.sin(d),g=Math.cos(d),y=1;;){y===l&&(y=0),t=c[y];var m=t[0],v=t[1]/2+Bo/4,b=Math.sin(v),_=Math.cos(v),x=m-f,w=x>=0?1:-1,A=w*x,k=A>Bo,E=p*b;if(_u.add(Math.atan2(E*w*Math.sin(A),g*_+E*Math.cos(A))),a+=k?x+w*Oo:x,k^f>=n^m>=n){var D=me(ge(h),ge(t));_e(D);var M=me(i,D);_e(M);var S=(k^x>=0?-1:1)*nt(M[2]);(r>S||r===S&&(D[0]||D[1]))&&(o+=k^x>=0?1:-1)}if(!y++)break;f=m,p=b,g=_,h=t}}return(-Fo>a||Fo>a&&0>_u)^1&o}function Ue(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(h,f){var d,p=[h,f],g=e(h,f),y=o?g?0:i(h,f):g?i(h+(0>h?Bo:-Bo),f):0;if(!n&&(c=s=g)&&t.lineStart(),g!==s&&(d=r(n,p),(we(n,d)||we(p,d))&&(p[0]+=Fo,p[1]+=Fo,g=e(p[0],p[1]))),g!==s)l=0,g?(t.lineStart(),d=r(p,n),t.point(d[0],d[1])):(d=r(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(u&&n&&o^g){var m;y&a||!(m=r(p,n,!0))||(l=0,o?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||n&&we(n,p)||t.point(p[0],p[1]),n=p,s=g,a=y},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return l|(c&&s)<<1}}}function r(t,e,n){var r=ge(t),i=ge(e),o=[1,0,0],u=me(r,i),s=ye(u,u),c=u[0],l=s-c*c;if(!l)return!n&&t;var h=a*s/l,f=-a*c/l,d=me(o,u),p=be(o,h),g=be(u,f);ve(p,g);var y=d,m=ye(p,y),v=ye(y,y),b=m*m-v*(ye(p,p)-1);if(!(0>b)){var _=Math.sqrt(b),x=be(y,(-m-_)/v);if(ve(x,p),x=xe(x),!n)return x;var w,A=t[0],k=e[0],E=t[1],D=e[1];A>k&&(w=A,A=k,k=w);var M=k-A,S=go(M-Bo)M;if(!S&&E>D&&(w=E,E=D,D=w),C?S?E+D>0^x[1]<(go(x[0]-A)Bo^(A<=x[0]&&x[0]<=k)){var T=be(y,(-m+_)/v);return ve(T,p),[x,xe(T)]}}}function i(e,n){var r=o?t:Bo-t,i=0;return-r>e?i|=1:e>r&&(i|=2),-r>n?i|=4:n>r&&(i|=8),i}var a=Math.cos(t),o=a>0,u=go(a)>Fo,s=gn(t,6*Ro);return Be(e,n,s,o?[0,-t]:[-Bo,t-Bo])}function Ye(t,e,n,r){return function(i){var a,o=i.a,u=i.b,s=o.x,c=o.y,l=u.x,h=u.y,f=0,d=1,p=l-s,g=h-c;if(a=t-s,p||!(a>0)){if(a/=p,0>p){if(f>a)return;d>a&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=n-s,p||!(0>a)){if(a/=p,0>p){if(a>d)return;a>f&&(f=a)}else if(p>0){if(f>a)return;d>a&&(d=a)}if(a=e-c,g||!(a>0)){if(a/=g,0>g){if(f>a)return;d>a&&(d=a)}else if(g>0){if(a>d)return;a>f&&(f=a)}if(a=r-c,g||!(0>a)){if(a/=g,0>g){if(a>d)return;a>f&&(f=a)}else if(g>0){if(f>a)return;d>a&&(d=a)}return f>0&&(i.a={x:s+f*p,y:c+f*g}),1>d&&(i.b={x:s+d*p,y:c+d*g}),i}}}}}}function ze(t,e,n,r){function i(r,i){return go(r[0]-t)0?0:3:go(r[0]-n)0?2:1:go(r[1]-e)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=y.length,r=t[1],i=0;n>i;++i)for(var a,o=1,u=y[i],s=u.length,c=u[0];s>o;++o)a=u[o],c[1]<=r?a[1]>r&&tt(c,a,t)>0&&++e:a[1]<=r&&tt(c,a,t)<0&&--e,c=a;return 0!==e}function c(a,u,s,c){var l=0,h=0;if(null==a||(l=i(a,s))!==(h=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)!==h)}else c.point(u[0],u[1])}function l(i,a){return i>=t&&n>=i&&a>=e&&r>=a}function h(t,e){l(t,e)&&u.point(t,e)}function f(){C.point=p,y&&y.push(m=[]),k=!0,A=!1,x=w=0/0}function d(){g&&(p(v,b),_&&A&&M.rejoin(),g.push(M.buffer())),C.point=h,A&&u.lineEnd()}function p(t,e){t=Math.max(-Nu,Math.min(Nu,t)),e=Math.max(-Nu,Math.min(Nu,e));var n=l(t,e);if(y&&m.push([t,e]),k)v=t,b=e,_=n,k=!1,n&&(u.lineStart(),u.point(t,e));else if(n&&A)u.point(t,e);else{var r={a:{x:x,y:w},b:{x:t,y:e}};S(r)?(A||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),n||u.lineEnd(),E=!1):n&&(u.lineStart(),u.point(t,e),E=!1)}x=t,w=e,A=n}var g,y,m,v,b,_,x,w,A,k,E,D=u,M=Ne(),S=Ye(t,e,n,r),C={point:h,lineStart:f,lineEnd:d,polygonStart:function(){u=M,g=[],y=[],E=!0},polygonEnd:function(){u=D,g=no.merge(g);var e=s([t,r]),n=E&&e,i=g.length;(n||i)&&(u.polygonStart(),n&&(u.lineStart(),c(null,null,1,u),u.lineEnd()),i&&Te(g,a,e,c,u),u.polygonEnd()),g=y=m=null}};return C}}function Ve(t){var e=0,n=Bo/3,r=un(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Bo/180,n=t[1]*Bo/180):[e/Bo*180,n/Bo*180]},i}function He(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,nt((a-(t*t+n*n)*i*i)/(2*i))]},n}function $e(){function t(t,e){Ru+=i*t-r*e,r=t,i=e}var e,n,r,i;Yu.point=function(a,o){Yu.point=t,e=r=a,n=i=o},Yu.lineEnd=function(){t(e,n)}}function Ge(t,e){Pu>t&&(Pu=t),t>ju&&(ju=t),qu>e&&(qu=e),e>Uu&&(Uu=e)}function We(){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=Ze(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=Ze(t),u},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return u}function Ze(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Xe(t,e){ku+=t,Eu+=e,++Du}function Ke(){function t(t,r){var i=t-e,a=r-n,o=Math.sqrt(i*i+a*a);Mu+=o*(e+t)/2,Su+=o*(n+r)/2,Cu+=o,Xe(e=t,n=r)}var e,n;Vu.point=function(r,i){Vu.point=t,Xe(e=r,n=i)}}function Je(){Vu.point=Xe}function Qe(){function t(t,e){var n=t-r,a=e-i,o=Math.sqrt(n*n+a*a);Mu+=o*(r+t)/2,Su+=o*(i+e)/2,Cu+=o,o=i*t-r*e,Tu+=o*(r+t),Fu+=o*(i+e),Lu+=3*o,Xe(r=t,i=e)}var e,n,r,i;Vu.point=function(a,o){Vu.point=t,Xe(e=r=a,n=i=o)},Vu.lineEnd=function(){t(e,n)}}function tn(t){function e(e,n){t.moveTo(e+o,n),t.arc(e,n,o,0,Oo)}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:w};return u}function en(t){function e(t){return(u?r:n)(t)}function n(e){return an(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(){b=0/0,k.point=a,e.lineStart()}function a(n,r){var a=ge([n,r]),o=t(n,r);i(b,_,v,x,w,A,b=o[0],_=o[1],v=n,x=a[0],w=a[1],A=a[2],u,e),e.point(b,_)}function o(){k.point=n,e.lineEnd()}function s(){r(),k.point=c,k.lineEnd=l}function c(t,e){a(h=t,f=e),d=b,p=_,g=x,y=w,m=A,k.point=a}function l(){i(b,_,v,x,w,A,d,p,h,g,y,m,u,e),k.lineEnd=o,o()}var h,f,d,p,g,y,m,v,b,_,x,w,A,k={point:n,lineStart:r,lineEnd:o,polygonStart:function(){e.polygonStart(),k.lineStart=s},polygonEnd:function(){e.polygonEnd(),k.lineStart=r}};return k}function i(e,n,r,u,s,c,l,h,f,d,p,g,y,m){var v=l-e,b=h-n,_=v*v+b*b;if(_>4*a&&y--){var x=u+d,w=s+p,A=c+g,k=Math.sqrt(x*x+w*w+A*A),E=Math.asin(A/=k),D=go(go(A)-1)a||go((v*T+b*F)/_-.5)>.3||o>u*d+s*p+c*g)&&(i(e,n,r,u,s,c,S,C,D,x/=k,w/=k,A,y,m),m.point(S,C),i(S,C,D,x,w,A,l,h,f,d,p,g,y,m))}}var a=.5,o=Math.cos(30*Ro),u=16;return e.precision=function(t){return arguments.length?(u=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function nn(t){var e=en(function(e,n){return t([e*Po,n*Po])});return function(t){return sn(e(t))}}function rn(t){this.stream=t}function an(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 on(t){return un(function(){return t})()}function un(t){function e(t){return t=u(t[0]*Ro,t[1]*Ro),[t[0]*f+s,c-t[1]*f]}function n(t){return t=u.invert((t[0]-s)/f,(c-t[1])/f),t&&[t[0]*Po,t[1]*Po]}function r(){u=Se(o=hn(m,v,_),a);var t=a(g,y);return s=d-t[0]*f,c=p+t[1]*f,i()}function i(){return l&&(l.valid=!1,l=null),e}var a,o,u,s,c,l,h=en(function(t,e){return t=a(t,e),[t[0]*f+s,c-t[1]*f]}),f=150,d=480,p=250,g=0,y=0,m=0,v=0,_=0,x=Ou,w=b,A=null,k=null;return e.stream=function(t){return l&&(l.valid=!1),l=sn(x(o,h(w(t)))),l.valid=!0,l},e.clipAngle=function(t){return arguments.length?(x=null==t?(A=t,Ou):Ue((A=+t)*Ro),i()):A},e.clipExtent=function(t){return arguments.length?(k=t,w=t?ze(t[0][0],t[0][1],t[1][0],t[1][1]):b,i()):k},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],r()):[d,p]},e.center=function(t){return arguments.length?(g=t[0]%360*Ro,y=t[1]%360*Ro,r()):[g*Po,y*Po]},e.rotate=function(t){return arguments.length?(m=t[0]%360*Ro,v=t[1]%360*Ro,_=t.length>2?t[2]%360*Ro:0,r()):[m*Po,v*Po,_*Po]},no.rebind(e,h,"precision"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&n,r()}}function sn(t){return an(t,function(e,n){t.point(e*Ro,n*Ro)})}function cn(t,e){return[t,e]}function ln(t,e){return[t>Bo?t-Oo:-Bo>t?t+Oo:t,e]}function hn(t,e,n){return t?e||n?Se(dn(t),pn(e,n)):dn(t):e||n?pn(e,n):ln}function fn(t){return function(e,n){return e+=t,[e>Bo?e-Oo:-Bo>e?e+Oo:e,n]}}function dn(t){var e=fn(t);return e.invert=fn(-t),e}function pn(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),nt(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),nt(l*r-u*i)]},n}function gn(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,a,o,u){var s=o*e;null!=i?(i=yn(n,i),a=yn(n,a),(o>0?a>i:i>a)&&(i+=o*Oo)):(i=t+o*Oo,a=t-.5*s);for(var c,l=i;o>0?l>a:a>l;l-=s)u.point((c=xe([n,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function yn(t,e){var n=ge(e);n[0]-=t,_e(n);var r=et(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Fo)%(2*Math.PI)}function mn(t,e,n){var r=no.range(t,e-Fo,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function vn(t,e,n){var r=no.range(t,e-Fo,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function bn(t){return t.source}function _n(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),h=o*Math.sin(n),f=2*Math.asin(Math.sqrt(ot(r-e)+i*o*ot(n-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,n=Math.sin(f-t)*d,r=n*s+e*l,i=n*c+e*h,o=n*a+e*u;return[Math.atan2(i,r)*Po,Math.atan2(o,Math.sqrt(r*r+i*i))*Po]}:function(){return[t*Po,e*Po]};return p.distance=f,p}function wn(){function t(t,i){var a=Math.sin(i*=Ro),o=Math.cos(i),u=go((t*=Ro)-e),s=Math.cos(u);Hu+=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;$u.point=function(i,a){e=i*Ro,n=Math.sin(a*=Ro),r=Math.cos(a),$u.point=t},$u.lineEnd=function(){$u.point=$u.lineEnd=w}}function An(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 kn(t,e){function n(t,e){o>0?-Io+Fo>e&&(e=-Io+Fo):e>Io-Fo&&(e=Io-Fo);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(Bo/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=Q(a)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/a,2*Math.atan(Math.pow(o/r,1/a))-Io]},n):Dn}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 go(i)i;i++){for(;r>1&&tt(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Ln(t,e){return t[0]-e[0]||t[1]-e[1]}function Bn(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function On(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,h=r[1]-c,f=(u*(s-c)-h*(i-a))/(h*o-u*l);return[i+f*o,s+f*l]}function Nn(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function In(){rr(this),this.edge=this.site=this.circle=null}function Rn(t){var e=is.pop()||new In;return e.site=t,e}function Pn(t){Wn(t),es.remove(t),is.push(t),rr(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];Pn(t);for(var s=a;s.circle&&go(n-s.circle.x)l;++l)c=u[l],s=u[l-1],tr(c.edge,s.site,c.site,i);s=u[0],c=u[h-1],c.edge=Jn(s.site,c.site,null,i),Gn(s),Gn(c)}function jn(t){for(var e,n,r,i,a=t.x,o=t.y,u=es._;u;)if(r=Un(u,o)-a,r>Fo)u=u.L;else{if(i=a-Yn(u,o),!(i>Fo)){r>-Fo?(e=u.P,n=u):i>-Fo?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}var s=Rn(t);if(es.insert(e,s),e||n){if(e===n)return Wn(e),n=Rn(e.site),es.insert(s,n),s.edge=n.edge=Jn(e.site,s.site),Gn(e),void Gn(n);if(!n)return void(s.edge=Jn(e.site,s.site));Wn(e),Wn(n);var c=e.site,l=c.x,h=c.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,y=p.y-h,m=2*(f*y-d*g),v=f*f+d*d,b=g*g+y*y,_={x:(y*v-d*b)/m+l,y:(f*b-g*v)/m+h};tr(n.edge,c,p,_),s.edge=Jn(c,t,null,_),n.edge=Jn(t,p,null,_),Gn(e),Gn(n)}}function Un(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,h=1/a-1/c,f=l/c;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*c)-s+c/2+i-a/2)))/h+r:(r+u)/2}function Yn(t,e){var n=t.N;if(n)return Un(n,e);var r=t.site;return r.y===e?r.x:1/0}function zn(t){this.site=t,this.edges=[]}function Vn(t){for(var e,n,r,i,a,o,u,s,c,l,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],g=ts,y=g.length;y--;)if(a=g[y],a&&a.prepare())for(u=a.edges,s=u.length,o=0;s>o;)l=u[o].end(),r=l.x,i=l.y,c=u[++o%s].start(),e=c.x,n=c.y,(go(r-e)>Fo||go(i-n)>Fo)&&(u.splice(o,0,new er(Qn(a.site,l,go(r-h)Fo?{x:h,y:go(e-h)Fo?{x:go(n-p)Fo?{x:f,y:go(e-f)Fo?{x:go(n-d)=-Lo)){var d=s*s+c*c,p=l*l+h*h,g=(h*d-c*p)/f,y=(s*p-l*d)/f,h=y+u,m=as.pop()||new $n;m.arc=t,m.site=i,m.x=g+o,m.y=h+Math.sqrt(g*g+y*y),m.cy=h,t.circle=m;for(var v=null,b=rs._;b;)if(m.yy||y>=u)return;if(f>p){if(a){if(a.y>=c)return}else a={x:y,y:s};n={x:y,y:c}}else{if(a){if(a.yr||r>1)if(f>p){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.yd){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.xa||h>o||r>f||i>d)){if(p=t.point){var p,g=e-t.x,y=n-t.y,m=g*g+y*y;if(s>m){var v=Math.sqrt(s=m);r=e-v,i=n-v,a=e+v,o=n+v,u=p}}for(var b=t.nodes,_=.5*(l+f),x=.5*(h+d),w=e>=_,A=n>=x,k=A<<1|w,E=k+4;E>k;++k)if(t=b[3&k])switch(3&k){case 0:c(t,l,h,_,x);break;case 1:c(t,_,h,f,x);break;case 2:c(t,l,x,_,d);break;case 3:c(t,_,x,f,d)}}}(t,r,i,a,o),u}function gr(t,e){t=no.rgb(t),e=no.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"#"+xt(Math.round(n+a*t))+xt(Math.round(r+o*t))+xt(Math.round(i+u*t))}}function yr(t,e){var n,r={},i={};for(n in t)n in e?r[n]=br(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 mr(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function vr(t,e){var n,r,i,a=us.lastIndex=ss.lastIndex=0,o=-1,u=[],s=[];for(t+="",e+="";(n=us.exec(t))&&(r=ss.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:mr(n,r)})),a=ss.lastIndex;return ar;++r)u[(n=s[r]).i]=n.x(t);return u.join("")})}function br(t,e){for(var n,r=no.interpolators.length;--r>=0&&!(n=no.interpolators[r](t,e)););return n}function _r(t,e){var n,r=[],i=[],a=t.length,o=e.length,u=Math.min(t.length,e.length);for(n=0;u>n;++n)r.push(br(t[n],e[n]));for(;a>n;++n)i[n]=t[n];for(;o>n;++n)i[n]=e[n];return function(t){for(n=0;u>n;++n)i[n]=r[n](t);return i}}function xr(t){return function(e){return 0>=e?0:e>=1?1:t(e)}}function wr(t){return function(e){return 1-t(1-e)}}function Ar(t){return function(e){return.5*(.5>e?t(2*e):2-t(2-2*e))}}function kr(t){return t*t}function Er(t){return t*t*t}function Dr(t){if(0>=t)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(.5>t?n:3*(t-e)+n-.75)}function Mr(t){return function(e){return Math.pow(e,t)}}function Sr(t){return 1-Math.cos(t*Io)}function Cr(t){return Math.pow(2,10*(t-1))}function Tr(t){return 1-Math.sqrt(1-t*t)}function Fr(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Oo*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*Oo/e)}}function Lr(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Br(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Or(t,e){t=no.hcl(t),e=no.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:-180>a&&(a+=360),function(t){return ht(n+a*t,r+o*t,i+u*t)+""}}function Nr(t,e){t=no.hsl(t),e=no.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:-180>a&&(a+=360),function(t){return ct(n+a*t,r+o*t,i+u*t)+""}}function Ir(t,e){t=no.lab(t),e=no.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 dt(n+a*t,r+o*t,i+u*t)+""}}function Rr(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function Pr(t){var e=[t.a,t.b],n=[t.c,t.d],r=jr(e),i=qr(e,n),a=jr(Ur(n,e,-i))||0;e[0]*n[1]180?l+=360:l-c>180&&(c+=360),i.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:mr(c,l)})):l&&r.push(r.pop()+"rotate("+l+")"),h!=f?i.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:mr(h,f)}):f&&r.push(r.pop()+"skewX("+f+")"),d[0]!=p[0]||d[1]!=p[1]?(n=r.push(r.pop()+"scale(",null,",",null,")"),i.push({i:n-4,x:mr(d[0],p[0])},{i:n-2,x:mr(d[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),n=i.length,function(t){for(var e,a=-1;++a=0;)n.push(i[r])}function ei(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;++on;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function fi(t){return t.reduce(di,0)}function di(t,e){return t+e[1]}function pi(t,e){return gi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function gi(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 yi(t){return[no.min(t),no.max(t)]}function mi(t,e){return t.value-e.value}function vi(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function bi(t,e){t._pack_next=e,e._pack_prev=t}function _i(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 xi(t){function e(t){l=Math.min(t.x-t.r,l),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((n=t.children)&&(c=n.length)){var n,r,i,a,o,u,s,c,l=1/0,h=-(1/0),f=1/0,d=-(1/0);if(n.forEach(wi),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],Ei(r,i,a),e(a),vi(r,a),r._pack_prev=a,vi(a,i),i=r._pack_next,o=3;c>o;o++){Ei(r,i,a=n[o]);var p=0,g=1,y=1;for(u=i._pack_next;u!==i;u=u._pack_next,g++)if(_i(u,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==u._pack_prev&&!_i(s,a);s=s._pack_prev,y++);p?(y>g||g==y&&i.ro;o++)a=n[o],a.x-=m,a.y-=v,b=Math.max(b,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=b,n.forEach(Ai)}}function wi(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function ki(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=0;)e=i[a],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Fi(t,e,n){return t.a.parent===e.parent?t.a:n}function Li(t){return 1+no.max(t,function(t){return t.y})}function Bi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Oi(t){var e=t.children;return e&&e.length?Oi(e[0]):t}function Ni(t){var e,n=t.children;return n&&(e=n.length)?Ni(n[e-1]):t}function Ii(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Ri(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 0>i&&(n+=i/2,i=0),0>a&&(r+=a/2,a=0),{x:n,y:r,dx:i,dy:a}}function Pi(t){var e=t[0],n=t[t.length-1];return n>e?[e,n]:[n,e]}function qi(t){return t.rangeExtent?t.rangeExtent():Pi(t.range())}function ji(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 Ui(t,e){var n,r=0,i=t.length-1,a=t[r],o=t[i];return a>o&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t}function Yi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:bs}function zi(t,e,n,r){var i=[],a=[],o=0,u=Math.min(t.length,e.length)-1;for(t[u]2?zi:ji,s=r?Vr:zr;return o=i(t,e,s,n),u=i(e,t,s,br),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(Rr)},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 Wi(t,e)},a.tickFormat=function(e,n){return Zi(t,e,n)},a.nice=function(e){return $i(t,e),i()},a.copy=function(){return Vi(t,e,n,r)},i()}function Hi(t,e){return no.rebind(t,e,"range","rangeRound","interpolate","clamp")}function $i(t,e){return Ui(t,Yi(Gi(t,e)[2]))}function Gi(t,e){null==e&&(e=10);var n=Pi(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),a=e/r*i;return.15>=a?i*=10:.35>=a?i*=5:.75>=a&&(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 Wi(t,e){return no.range.apply(no,Gi(t,e))}function Zi(t,e,n){var r=Gi(t,e);if(n){var i=uu.exec(n);if(i.shift(),"s"===i[8]){var a=no.formatPrefix(Math.max(go(r[0]),go(r[1])));return i[7]||(i[7]="."+Xi(a.scale(r[2]))),i[8]="f",n=no.format(i.join("")),function(t){return n(a.scale(t))+a.symbol}}i[7]||(i[7]="."+Ki(i[8],r)),n=i.join("")}else n=",."+Xi(r[2])+"f";return no.format(n)}function Xi(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Ki(t,e){var n=Xi(e[2]);return t in _s?Math.abs(n-Xi(Math.max(go(e[0]),go(e[1]))))+ +("e"!==t):n-2*("%"===t)}function Ji(t,e,n,r){function i(t){return(n?Math.log(0>t?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=Ui(r.map(i),n?Math:ws);return t.domain(e),r=e.map(a),o},o.ticks=function(){var t=Pi(r),o=[],u=t[0],s=t[1],c=Math.floor(i(u)),l=Math.ceil(i(s)),h=e%1?2:e;if(isFinite(l-c)){if(n){for(;l>c;c++)for(var f=1;h>f;f++)o.push(a(c)*f);o.push(a(c))}else for(o.push(a(c));c++0;f--)o.push(a(c)*f);for(c=0;o[c]s;l--);o=o.slice(c,l)}return o},o.tickFormat=function(t,e){if(!arguments.length)return xs;arguments.length<2?e=xs:"function"!=typeof e&&(e=no.format(e));var r,u=Math.max(.1,t/o.ticks().length),s=n?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/a(s(i(t)+r))<=u?e(t):""}},o.copy=function(){return Ji(t.copy(),e,n,r)},Hi(o,t)}function Qi(t,e,n){function r(e){return t(i(e))}var i=ta(e),a=ta(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 Wi(n,t)},r.tickFormat=function(t,e){return Zi(n,t,e)},r.nice=function(t){return r.domain($i(n,t))},r.exponent=function(o){return arguments.length?(i=ta(e=o),a=ta(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return Qi(t.copy(),e,n)},Hi(r,t)}function ta(t){return function(e){return 0>e?-Math.pow(-e,t):Math.pow(e,t)}}function ea(t,e){function n(n){return a[((i.get(n)||("range"===e.t?i.set(n,t.push(n)):0/0))-1)%a.length]}function r(e,n){return no.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 l;for(var a,o=-1,u=r.length;++on?[0/0,0/0]:[n>0?u[n-1]:t[0],ne?0/0:e/a+t,[e,e+1/a]},r.copy=function(){return ra(t,e,n)},i()}function ia(t,e){function n(n){return n>=n?e[no.bisect(t,n)]:void 0}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 ia(t,e)},n}function aa(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 Wi(t,e)},e.tickFormat=function(e,n){return Zi(t,e,n)},e.copy=function(){return aa(t)},e}function oa(){return 0}function ua(t){return t.innerRadius}function sa(t){return t.outerRadius}function ca(t){return t.startAngle}function la(t){return t.endAngle}function ha(t){return t&&t.padAngle}function fa(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function da(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,h=t[1]+c,f=e[0]+s,d=e[1]+c,p=(l+f)/2,g=(h+d)/2,y=f-l,m=d-h,v=y*y+m*m,b=n-r,_=l*d-f*h,x=(0>m?-1:1)*Math.sqrt(b*b*v-_*_),w=(_*m-y*x)/v,A=(-_*y-m*x)/v,k=(_*m+y*x)/v,E=(-_*y+m*x)/v,D=w-p,M=A-g,S=k-p,C=E-g;return D*D+M*M>S*S+C*C&&(w=k,A=E),[[w-s,A-c],[w*n/b,A*n/b]]}function pa(t){function e(e){function o(){c.push("M",a(t(l),u))}for(var s,c=[],l=[],h=-1,f=e.length,d=Mt(n),p=Mt(r);++h1&&i.push("H",r[0]),i.join("")}function va(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e1){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;c9&&(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 Oa(t){return t.length<3?ga(t):t[0]+Aa(t,Ba(t))}function Na(t){for(var e,n,r,i=-1,a=t.length;++ir)return l();var i=a[a.active];i&&(--a.count,delete a[a.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),a.active=r,o.event&&o.event.start.call(t,t.__data__,e),o.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&g.push(r)}),f=o.ease,h=o.duration,no.timer(function(){return p.c=c(n||1)?Ce:c,1},0,u)}function c(n){if(a.active!==r)return 1;for(var i=n/h,u=f(i),s=g.length;s>0;)g[--s].call(t,u);return i>=1?(o.event&&o.event.end.call(t,t.__data__,e),l()):void 0}function l(){return--a.count?delete a[r]:delete t[n],1}var h,f,d=o.delay,p=iu,g=[];return p.t=d+u,i>=d?s(i-d):void(p.c=s)},0,u)}}function Za(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function Xa(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function Ka(t){return t.toISOString()}function Ja(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,a=no.bisect(Gs,i);return a==Gs.length?[e.year,Gi(t.map(function(t){return t/31536e6}),n)[2]]:a?e[i/Gs[a-1]1?{floor:function(e){for(;n(e=t.floor(e));)e=Qa(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=Qa(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Pi(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],Qa(+n[1]+1),1>e?1:e)},r.tickFormat=function(){return n},r.copy=function(){return Ja(t.copy(),e,n)},Hi(r,t)}function Qa(t){return new Date(t)}function to(t){return JSON.parse(t.responseText)}function eo(t){var e=ao.createRange();return e.selectNode(ao.body),e.createContextualFragment(t.responseText)}var no={version:"3.5.6"},ro=[].slice,io=function(t){return ro.call(t)},ao=this.document;if(ao)try{io(ao.documentElement.childNodes)[0].nodeType}catch(oo){io=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}),ao)try{ao.createElement("DIV").style.setProperty("opacity",0,"")}catch(uo){var so=this.Element.prototype,co=so.setAttribute,lo=so.setAttributeNS,ho=this.CSSStyleDeclaration.prototype,fo=ho.setProperty;so.setAttribute=function(t,e){co.call(this,t,e+"")},so.setAttributeNS=function(t,e,n){lo.call(this,t,e,n+"")},ho.setProperty=function(t,e,n){fo.call(this,t,e+"",n)}}no.ascending=r,no.descending=function(t,e){return t>e?-1:e>t?1:e>=t?0:0/0},no.min=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){n=r;break}for(;++ir&&(n=r)}else{for(;++i=r){n=r;break}for(;++ir&&(n=r)}return n},no.max=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){n=r;break}for(;++in&&(n=r)}else{for(;++i=r){n=r;break}for(;++in&&(n=r)}return n},no.extent=function(t,e){var n,r,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=r){n=i=r;break}for(;++ar&&(n=r),r>i&&(i=r))}else{for(;++a=r){n=i=r;break}for(;++ar&&(n=r),r>i&&(i=r))}return[n,i]},no.sum=function(t,e){var n,r=0,i=t.length,o=-1;if(1===arguments.length)for(;++o1?s/(l-1):void 0},no.deviation=function(){var t=no.variance.apply(this,arguments);return t?Math.sqrt(t):t};var po=o(r);no.bisectLeft=po.left,no.bisect=no.bisectRight=po.right,no.bisector=function(t){return o(1===t.length?function(e,n){return r(t(e),n)}:t)},no.shuffle=function(t,e,n){(a=arguments.length)<3&&(n=t.length,2>a&&(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},no.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},no.pairs=function(t){for(var e,n=0,r=t.length-1,i=t[0],a=new Array(0>r?0:r);r>n;)a[n]=[e=i,i=t[++n]];return a},no.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,e=no.min(arguments,u),n=new Array(e);++t=0;)for(r=t[i],e=r.length;--e>=0;)n[--o]=r[e];return n};var go=Math.abs;no.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=s(go(n)),o=-1;if(t*=a,e*=a,n*=a,0>n)for(;(r=t+n*++o)>e;)i.push(r/a);else for(;(r=t+n*++o)=a.length)return r?r.call(i,o):n?o.sort(n):o;for(var s,c,h,f,d=-1,p=o.length,g=a[u++],y=new l;++d=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(no.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},no.set=function(t){var e=new v;if(t)for(var n=0,r=t.length;r>n;++n)e.add(t[n]);return e},c(v,{has:d,add:function(t){return this._[h(t+="")]=!0,t},remove:p,values:g,size:y,empty:m,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),no.behavior={},no.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r=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}},no.event=null,no.requote=function(t){return t.replace(bo,"\\$&")};var bo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_o={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},xo=function(t,e){return e.querySelector(t)},wo=function(t,e){return e.querySelectorAll(t)},Ao=function(t,e){var n=t.matches||t[x(t,"matchesSelector")];return(Ao=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(xo=function(t,e){return Sizzle(t,e)[0]||null},wo=Sizzle,Ao=Sizzle.matchesSelector),no.selection=function(){return no.select(ao.documentElement)};var ko=no.selection.prototype=[];ko.select=function(t){var e,n,r,i,a=[];t=C(t);for(var o=-1,u=this.length;++o=0&&(n=t.slice(0,e),t=t.slice(e+1)),Eo.hasOwnProperty(n)?{space:Eo[n],local:t}:t}},ko.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=no.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},ko.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=O(t)).length,i=-1;if(e=n.classList){for(;++ii){if("string"!=typeof t){2>i&&(e="");for(r in t)this.each(R(r,t[r],e));return this}if(2>i){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(R(t,e,r))},ko.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(P(e,t[e]));return this}return this.each(P(t,e))},ko.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},ko.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},ko.append=function(t){return t=q(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},ko.insert=function(t,e){return t=q(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},ko.remove=function(){return this.each(j)},ko.data=function(t,e){function n(t,n){var r,i,a,o=t.length,h=n.length,f=Math.min(o,h),d=new Array(h),p=new Array(h),g=new Array(o);if(e){var y,m=new l,v=new Array(o);for(r=-1;++rr;++r)p[r]=U(n[r]);for(;o>r;++r)g[r]=t[r]}p.update=d,p.parentNode=d.parentNode=g.parentNode=t.parentNode,u.push(p),s.push(d),c.push(g)}var r,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(r=this[0]).length);++aa;a++){i.push(e=[]),e.parentNode=(n=this[a]).parentNode;for(var u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return S(i)},ko.order=function(){for(var t=-1,e=this.length;++t=0;)(n=r[i])&&(a&&a!==n.nextSibling&&a.parentNode.insertBefore(n,a),a=n);return this},ko.sort=function(t){t=z.apply(this,arguments);for(var e=-1,n=this.length;++et;t++)for(var n=this[t],r=0,i=n.length;i>r;r++){var a=n[r];if(a)return a}return null},ko.size=function(){var t=0;return V(this,function(){++t}),t};var Do=[];no.selection.enter=H,no.selection.enter.prototype=Do,Do.append=ko.append,Do.empty=ko.empty,Do.node=ko.node,Do.call=ko.call,Do.size=ko.size,Do.select=function(t){for(var e,n,r,i,a,o=[],u=-1,s=this.length;++ur){if("string"!=typeof t){2>r&&(e=!1);for(n in t)this.each(G(n,t[n],e));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(G(t,e,n))};var Mo=no.map({mouseenter:"mouseover",mouseleave:"mouseout"});ao&&Mo.forEach(function(t){"on"+t in ao&&Mo.remove(t)});var So,Co=0;no.mouse=function(t){return K(t,D())};var To=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;no.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=D().changedTouches),e)for(var r,i=0,a=e.length;a>i;++i)if((r=e[i]).identifier===n)return K(t,r)},no.behavior.drag=function(){function t(){this.on("mousedown.drag",a).on("touchstart.drag",o)}function e(t,e,n,a,o){return function(){function u(){var t,n,r=e(f,g);r&&(t=r[0]-b[0],n=r[1]-b[1],p|=t|n,b=r,d({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:n}))}function s(){e(f,g)&&(m.on(a+y,null).on(o+y,null),v(p&&no.event.target===h),d({type:"dragend"}))}var c,l=this,h=no.event.target,f=l.parentNode,d=r.of(l,arguments),p=0,g=t(),y=".drag"+(null==g?"":"-"+g),m=no.select(n(h)).on(a+y,u).on(o+y,s),v=X(h),b=e(f,g);i?(c=i.apply(l,arguments),c=[c.x-b[0],c.y-b[1]]):c=[0,0],d({type:"dragstart"})}}var r=M(t,"drag","dragstart","dragend"),i=null,a=e(w,no.mouse,n,"mousemove","mouseup"),o=e(J,no.touch,b,"touchmove","touchend");return t.origin=function(e){return arguments.length?(i=e,t):i},no.rebind(t,r,"on")},no.touches=function(t,e){return arguments.length<2&&(e=D().touches),e?io(e).map(function(e){var n=K(t,e);return n.identifier=e.identifier,n}):[]};var Fo=1e-6,Lo=Fo*Fo,Bo=Math.PI,Oo=2*Bo,No=Oo-Fo,Io=Bo/2,Ro=Bo/180,Po=180/Bo,qo=Math.SQRT2,jo=2,Uo=4;no.interpolateZoom=function(t,e){function n(t){var e=t*v;if(m){var n=it(g),o=a/(jo*f)*(n*at(qo*e+g)-rt(g));return[r+o*c,i+o*l,a*n/it(qo*e+g)]}return[r+t*c,i+t*l,a*Math.exp(qo*e)]}var r=t[0],i=t[1],a=t[2],o=e[0],u=e[1],s=e[2],c=o-r,l=u-i,h=c*c+l*l,f=Math.sqrt(h),d=(s*s-a*a+Uo*h)/(2*a*jo*f),p=(s*s-a*a-Uo*h)/(2*s*jo*f),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(p*p+1)-p),m=y-g,v=(m||Math.log(s/a))/qo;return n.duration=1e3*v,n},no.behavior.zoom=function(){function t(t){t.on(F,h).on(zo+".zoom",d).on("dblclick.zoom",p).on(O,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(S[0],Math.min(S[1],t))}function a(t,e){e=r(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function o(e,n,r,o){e.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),a(y=n,r),e=no.select(e),C>0&&(e=e.transition().duration(C)),e.call(t.event)}function u(){x&&x.domain(_.range().map(function(t){return(t-k.x)/k.k}).map(_.invert)),A&&A.domain(w.range().map(function(t){return(t-k.y)/k.k}).map(w.invert))}function s(t){T++||t({type:"zoomstart"})}function c(t){u(),t({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function l(t){--T||(t({type:"zoomend"}),y=null)}function h(){function t(){h=1,a(no.mouse(i),d),c(u)}function r(){f.on(L,null).on(B,null),p(h&&no.event.target===o),l(u)}var i=this,o=no.event.target,u=N.of(i,arguments),h=0,f=no.select(n(i)).on(L,t).on(B,r),d=e(no.mouse(i)),p=X(i);Rs.call(i),s(u)}function f(){function t(){var t=no.touches(p);return d=k.k,t.forEach(function(t){t.identifier in y&&(y[t.identifier]=e(t))}),t}function n(){var e=no.event.target;no.select(e).on(_,r).on(x,u),w.push(e);for(var n=no.event.changedTouches,i=0,a=n.length;a>i;++i)y[n[i].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(500>c-b){var l=s[0];o(p,l,y[l.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),E()}b=c}else if(s.length>1){var l=s[0],h=s[1],f=l[0]-h[0],d=l[1]-h[1];m=f*f+d*d}}function r(){var t,e,n,r,o=no.touches(p);Rs.call(p);for(var u=0,s=o.length;s>u;++u,r=null)if(n=o[u],r=y[n.identifier]){if(e)break;t=n,e=r}if(r){var l=(l=n[0]-t[0])*l+(l=n[1]-t[1])*l,h=m&&Math.sqrt(l/m);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+r[0])/2,(e[1]+r[1])/2],i(h*d)}b=null,a(t,e),c(g)}function u(){if(no.event.touches.length){for(var e=no.event.changedTouches,n=0,r=e.length;r>n;++n)delete y[e[n].identifier];for(var i in y)return void t()}no.selectAll(w).on(v,null),A.on(F,h).on(O,f),D(),l(g)}var d,p=this,g=N.of(p,arguments),y={},m=0,v=".zoom-"+no.event.changedTouches[0].identifier,_="touchmove"+v,x="touchend"+v,w=[],A=no.select(p),D=X(p);n(),s(g),A.on(F,null).on(O,n)}function d(){var t=N.of(this,arguments);v?clearTimeout(v):(Rs.call(this),g=e(y=m||no.mouse(this)),s(t)),v=setTimeout(function(){v=null,l(t)},50),E(),i(Math.pow(2,.002*Yo())*k.k),a(y,g),c(t)}function p(){var t=no.mouse(this),n=Math.log(k.k)/Math.LN2;o(this,t,e(t),no.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var g,y,m,v,b,_,x,w,A,k={x:0,y:0,k:1},D=[960,500],S=Vo,C=250,T=0,F="mousedown.zoom",L="mousemove.zoom",B="mouseup.zoom",O="touchstart.zoom",N=M(t,"zoomstart","zoom","zoomend");return zo||(zo="onwheel"in ao?(Yo=function(){return-no.event.deltaY*(no.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ao?(Yo=function(){return no.event.wheelDelta},"mousewheel"):(Yo=function(){return-no.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=N.of(this,arguments),e=k;Ns?no.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var n=D[0],r=D[1],i=y?y[0]:n/2,a=y?y[1]:r/2,o=no.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,n/k.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__=k={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__=k,s(t),c(t),l(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},u(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:+e},u(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Vo:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(m=e&&[+e[0],+e[1]],t):m},t.size=function(e){return arguments.length?(D=e&&[+e[0],+e[1]],t):D},t.duration=function(e){return arguments.length?(C=+e,t):C},t.x=function(e){return arguments.length?(x=e,_=e.copy(),k={x:0,y:0,k:1},t):x},t.y=function(e){return arguments.length?(A=e,w=e.copy(),k={x:0,y:0,k:1},t):A},no.rebind(t,N,"on")};var Yo,zo,Vo=[0,1/0];no.color=ut,ut.prototype.toString=function(){return this.rgb()+""},no.hsl=st;var Ho=st.prototype=new ut;Ho.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,this.l/t)},Ho.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,t*this.l)},Ho.rgb=function(){return ct(this.h,this.s,this.l)},no.hcl=lt;var $o=lt.prototype=new ut;$o.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Go*(arguments.length?t:1)))},$o.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Go*(arguments.length?t:1)))},$o.rgb=function(){return ht(this.h,this.c,this.l).rgb()},no.lab=ft;var Go=18,Wo=.95047,Zo=1,Xo=1.08883,Ko=ft.prototype=new ut;Ko.brighter=function(t){return new ft(Math.min(100,this.l+Go*(arguments.length?t:1)),this.a,this.b)},Ko.darker=function(t){return new ft(Math.max(0,this.l-Go*(arguments.length?t:1)),this.a,this.b)},Ko.rgb=function(){return dt(this.l,this.a,this.b)},no.rgb=vt;var Jo=vt.prototype=new ut;Jo.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&&i>e&&(e=i),n&&i>n&&(n=i),r&&i>r&&(r=i),new vt(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new vt(i,i,i)},Jo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new vt(t*this.r,t*this.g,t*this.b)},Jo.hsl=function(){return At(this.r,this.g,this.b)},Jo.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Qo=no.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});Qo.forEach(function(t,e){Qo.set(t,bt(e))}),no.functor=Mt,no.xhr=St(b),no.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++l;){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,h=0;(r=n())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=n();e&&null==(f=e(f,h++))||u.push(f)}return u},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new v,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},no.csv=no.dsv(",","text/csv"),no.tsv=no.dsv(" ","text/tab-separated-values");var tu,eu,nu,ru,iu,au=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};no.timer=function(t,e,n){var r=arguments.length;2>r&&(e=0),3>r&&(n=Date.now());var i=n+e,a={c:t,t:i,f:!1,n:null};eu?eu.n=a:tu=a, +eu=a,nu||(ru=clearTimeout(ru),nu=1,au(Lt))},no.timer.flush=function(){Bt(),Ot()},no.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var ou=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(It);no.formatPrefix=function(t,e){var n=0;return t&&(0>t&&(t*=-1),e&&(t=no.round(t,Nt(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)))),ou[8+n/3]};var uu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,su=no.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=no.round(t,Nt(t,e))).toFixed(Math.max(0,Math.min(20,Nt(t*(1+1e-15),e))))}}),cu=no.time={},lu=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(){hu.setUTCDate.apply(this._,arguments)},setDay:function(){hu.setUTCDay.apply(this._,arguments)},setFullYear:function(){hu.setUTCFullYear.apply(this._,arguments)},setHours:function(){hu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){hu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){hu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){hu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){hu.setUTCSeconds.apply(this._,arguments)},setTime:function(){hu.setTime.apply(this._,arguments)}};var hu=Date.prototype;cu.year=jt(function(t){return t=cu.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),cu.years=cu.year.range,cu.years.utc=cu.year.utc.range,cu.day=jt(function(t){var e=new lu(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}),cu.days=cu.day.range,cu.days.utc=cu.day.utc.range,cu.dayOfYear=function(t){var e=cu.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=cu[t]=jt(function(t){return(t=cu.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=cu.year(t).getDay();return Math.floor((cu.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});cu[t+"s"]=n.range,cu[t+"s"].utc=n.utc.range,cu[t+"OfYear"]=function(t){var n=cu.year(t).getDay();return Math.floor((cu.dayOfYear(t)+(n+e)%7)/7)}}),cu.week=cu.sunday,cu.weeks=cu.sunday.range,cu.weeks.utc=cu.sunday.utc.range,cu.weekOfYear=cu.sundayOfYear;var fu={"-":"",_:" ",0:"0"},du=/^\s*\d+/,pu=/^%/;no.locale=function(t){return{numberFormat:Rt(t),timeFormat:Yt(t)}};var gu=no.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"]});no.format=gu.numberFormat,no.geo={},ce.prototype={s:0,t:0,add:function(t){le(t,this.t,yu),le(yu.s,this.s,this),this.s?this.t+=yu.t:this.s=yu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yu=new ce;no.geo.stream=function(t,e){t&&mu.hasOwnProperty(t.type)?mu[t.type](t,e):he(t,e)};var mu={Feature:function(t,e){he(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++rt?4*Bo+t:t,xu.lineStart=xu.lineEnd=xu.point=w}};no.geo.bounds=function(){function t(t,e){b.push(_=[l=t,f=t]),h>e&&(h=e),e>d&&(d=e)}function e(e,n){var r=ge([e*Ro,n*Ro]);if(m){var i=me(m,r),a=[i[1],-i[0],0],o=me(a,i);_e(o),o=xe(o);var s=e-p,c=s>0?1:-1,g=o[0]*Po*c,y=go(s)>180;if(y^(g>c*p&&c*e>g)){var v=o[1]*Po;v>d&&(d=v)}else if(g=(g+360)%360-180,y^(g>c*p&&c*e>g)){var v=-o[1]*Po;h>v&&(h=v)}else h>n&&(h=n),n>d&&(d=n);y?p>e?u(l,e)>u(l,f)&&(f=e):u(e,f)>u(l,f)&&(l=e):f>=l?(l>e&&(l=e),e>f&&(f=e)):e>p?u(l,e)>u(l,f)&&(f=e):u(e,f)>u(l,f)&&(l=e)}else t(e,n);m=r,p=e}function n(){x.point=e}function r(){_[0]=l,_[1]=f,x.point=t,m=null}function i(t,n){if(m){var r=t-p;v+=go(r)>180?r+(r>0?360:-360):r}else g=t,y=n;xu.point(t,n),e(t,n)}function a(){xu.lineStart()}function o(){i(g,y),xu.lineEnd(),go(v)>Fo&&(l=-(f=180)),_[0]=l,_[1]=f,m=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_u?(l=-(f=180),h=-(d=90)):v>Fo?d=90:-Fo>v&&(h=-90),_[0]=l,_[1]=f}};return function(t){d=f=-(l=h=1/0),b=[],no.geo.stream(t,x);var e=b.length;if(e){b.sort(s);for(var n,r=1,i=b[0],a=[i];e>r;++r)n=b[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,p=-(1/0),e=a.length-1,r=0,i=a[e];e>=r;i=n,++r)n=a[r],(o=u(i[1],n[0]))>p&&(p=o,l=n[0],f=i[1])}return b=_=null,l===1/0||h===1/0?[[0/0,0/0],[0/0,0/0]]:[[l,h],[f,d]]}}(),no.geo.centroid=function(t){wu=Au=ku=Eu=Du=Mu=Su=Cu=Tu=Fu=Lu=0,no.geo.stream(t,Bu);var e=Tu,n=Fu,r=Lu,i=e*e+n*n+r*r;return Lo>i&&(e=Mu,n=Su,r=Cu,Fo>Au&&(e=ku,n=Eu,r=Du),i=e*e+n*n+r*r,Lo>i)?[0/0,0/0]:[Math.atan2(n,e)*Po,nt(r/Math.sqrt(i))*Po]};var wu,Au,ku,Eu,Du,Mu,Su,Cu,Tu,Fu,Lu,Bu={sphere:w,point:Ae,lineStart:Ee,lineEnd:De,polygonStart:function(){Bu.lineStart=Me},polygonEnd:function(){Bu.lineStart=Ee}},Ou=Be(Ce,Re,qe,[-Bo,-Bo/2]),Nu=1e9;no.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=ze(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]])},(no.geo.conicEqualArea=function(){return Ve(He)}).raw=He,no.geo.albers=function(){return no.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},no.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=no.geo.albers(),o=no.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=no.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&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?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],h=+e[1];return n=a.translate(e).clipExtent([[l-.455*c,h-.238*c],[l+.455*c,h+.238*c]]).stream(s).point,r=o.translate([l-.307*c,h+.201*c]).clipExtent([[l-.425*c+Fo,h+.12*c+Fo],[l-.214*c-Fo,h+.234*c-Fo]]).stream(s).point,i=u.translate([l-.205*c,h+.212*c]).clipExtent([[l-.214*c+Fo,h+.166*c+Fo],[l-.115*c-Fo,h+.234*c-Fo]]).stream(s).point,t},t.scale(1070)};var Iu,Ru,Pu,qu,ju,Uu,Yu={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Ru=0,Yu.lineStart=$e},polygonEnd:function(){Yu.lineStart=Yu.lineEnd=Yu.point=w,Iu+=go(Ru/2)}},zu={point:Ge,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},Vu={point:Xe,lineStart:Ke,lineEnd:Je,polygonStart:function(){Vu.lineStart=Qe},polygonEnd:function(){Vu.point=Xe,Vu.lineStart=Ke,Vu.lineEnd=Je}};no.geo.path=function(){function t(t){return t&&("function"==typeof u&&a.pointRadius(+u.apply(this,arguments)),o&&o.valid||(o=i(a)),no.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 Iu=0,no.geo.stream(t,i(Yu)),Iu},t.centroid=function(t){return ku=Eu=Du=Mu=Su=Cu=Tu=Fu=Lu=0,no.geo.stream(t,i(Vu)),Lu?[Tu/Lu,Fu/Lu]:Cu?[Mu/Cu,Su/Cu]:Du?[ku/Du,Eu/Du]:[0/0,0/0]},t.bounds=function(t){return ju=Uu=-(Pu=qu=1/0),no.geo.stream(t,i(zu)),[[Pu,qu],[ju,Uu]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||nn(t):b,e()):n},t.context=function(t){return arguments.length?(a=null==(r=t)?new We:new tn(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(no.geo.albersUsa()).context(null)},no.geo.transform=function(t){return{stream:function(e){var n=new rn(e);for(var r in t)n[r]=t[r];return n}}},rn.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()}},no.geo.projection=on,no.geo.projectionMutator=un,(no.geo.equirectangular=function(){return on(cn)}).raw=cn.invert=cn,no.geo.rotation=function(t){function e(e){return e=t(e[0]*Ro,e[1]*Ro),e[0]*=Po,e[1]*=Po,e}return t=hn(t[0]%360*Ro,t[1]*Ro,t.length>2?t[2]*Ro:0),e.invert=function(e){return e=t.invert(e[0]*Ro,e[1]*Ro),e[0]*=Po,e[1]*=Po,e},e},ln.invert=cn,no.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=hn(-t[0]*Ro,-t[1]*Ro,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=Po,t[1]*=Po}}),{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=gn((e=+r)*Ro,i*Ro),t):e},t.precision=function(r){return arguments.length?(n=gn(e*Ro,(i=+r)*Ro),t):i},t.angle(90)},no.geo.distance=function(t,e){var n,r=(e[0]-t[0])*Ro,i=t[1]*Ro,a=e[1]*Ro,o=Math.sin(r),u=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((n=h*o)*n+(n=c*l-s*h*u)*n),s*l+c*h*u)},no.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return no.range(Math.ceil(a/y)*y,i,y).map(f).concat(no.range(Math.ceil(c/m)*m,s,m).map(d)).concat(no.range(Math.ceil(r/p)*p,n,p).filter(function(t){return go(t%y)>Fo}).map(l)).concat(no.range(Math.ceil(u/g)*g,o,g).filter(function(t){return go(t%m)>Fo}).map(h))}var n,r,i,a,o,u,s,c,l,h,f,d,p=10,g=p,y=90,m=360,v=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[f(a).concat(d(s).slice(1),f(i).reverse().slice(1),d(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(v)):[[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(v)):[[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?(y=+e[0],m=+e[1],t):[y,m]},t.minorStep=function(e){return arguments.length?(p=+e[0],g=+e[1],t):[p,g]},t.precision=function(e){return arguments.length?(v=+e,l=mn(u,o,90),h=vn(r,n,v),f=mn(c,s,90),d=vn(a,i,v),t):v},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},no.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=bn,i=_n;return t.distance=function(){return no.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},no.geo.interpolate=function(t,e){return xn(t[0]*Ro,t[1]*Ro,e[0]*Ro,e[1]*Ro)},no.geo.length=function(t){return Hu=0,no.geo.stream(t,$u),Hu};var Hu,$u={sphere:w,point:w,lineStart:wn,lineEnd:w,polygonStart:w,polygonEnd:w},Gu=An(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(no.geo.azimuthalEqualArea=function(){return on(Gu)}).raw=Gu;var Wu=An(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},b);(no.geo.azimuthalEquidistant=function(){return on(Wu)}).raw=Wu,(no.geo.conicConformal=function(){return Ve(kn)}).raw=kn,(no.geo.conicEquidistant=function(){return Ve(En)}).raw=En;var Zu=An(function(t){return 1/t},Math.atan);(no.geo.gnomonic=function(){return on(Zu)}).raw=Zu,Dn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Io]},(no.geo.mercator=function(){return Mn(Dn)}).raw=Dn;var Xu=An(function(){return 1},Math.asin);(no.geo.orthographic=function(){return on(Xu)}).raw=Xu;var Ku=An(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(no.geo.stereographic=function(){return on(Ku)}).raw=Ku,Sn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Io]},(no.geo.transverseMercator=function(){var t=Mn(Sn),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=Sn,no.geom={},no.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=Mt(n),a=Mt(r),o=t.length,u=[],s=[];for(e=0;o>e;e++)u.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(u.sort(Ln),e=0;o>e;e++)s.push([u[e][0],-u[e][1]]);var c=Fn(u),l=Fn(s),h=l[0]===c[0],f=l[l.length-1]===c[c.length-1],d=[];for(e=c.length-1;e>=0;--e)d.push(t[u[c[e]][2]]);for(e=+h;e=r&&c.x<=a&&c.y>=i&&c.y<=o?[[r,o],[a,o],[a,i],[r,i]]:[];l.point=t[u]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Fo)*Fo,y:Math.round(o(t,e)/Fo)*Fo,i:e}})}var r=Cn,i=Tn,a=r,o=i,u=os;return t?e(t):(e.links=function(t){return ur(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 ur(n(t)).cells.forEach(function(n,r){for(var i,a,o=n.site,u=n.edges.sort(Hn),s=-1,c=u.length,l=u[c-1].edge,h=l.l===o?l.r:l.l;++s=c,f=r>=l,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=fr()),h?i=c:u=c,f?o=l:s=l,a(t,e,n,r,i,o,u,s)}var l,h,f,d,p,g,y,m,v,b=Mt(u),_=Mt(s);if(null!=e)g=e,y=n,m=r,v=i;else if(m=v=-(g=y=1/0),h=[],f=[],p=t.length,o)for(d=0;p>d;++d)l=t[d],l.xm&&(m=l.x),l.y>v&&(v=l.y),h.push(l.x),f.push(l.y);else for(d=0;p>d;++d){var x=+b(l=t[d],d),w=+_(l,d);g>x&&(g=x),y>w&&(y=w),x>m&&(m=x),w>v&&(v=w),h.push(x),f.push(w)}var A=m-g,k=v-y;A>k?v=y+A:m=g+k;var E=fr();if(E.add=function(t){a(E,t,+b(t,++d),+_(t,d),g,y,m,v)},E.visit=function(t){dr(t,E,g,y,m,v)},E.find=function(t){return pr(E,t[0],t[1],g,y,m,v)},d=-1,null==e){for(;++d=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=ls.get(n)||cs,r=hs.get(r)||b,xr(r(n.apply(null,ro.call(arguments,1))))},no.interpolateHcl=Or,no.interpolateHsl=Nr,no.interpolateLab=Ir,no.interpolateRound=Rr,no.transform=function(t){var e=ao.createElementNS(no.ns.prefix.svg,"g");return(no.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new Pr(n?n.matrix:fs)})(t)},Pr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var fs={a:1,b:0,c:0,d:1,e:0,f:0};no.interpolateTransform=Yr,no.layout={},no.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++nu*u/y){if(p>s){var c=e.charge/s;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&s&&p>s){var c=e.pointCharge/s;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=no.event.x,t.py=no.event.y,u.resume()}var n,r,i,a,o,u={},s=no.dispatch("start","tick","end"),c=[1,1],l=.9,h=ds,f=ps,d=-30,p=gs,g=.1,y=.64,m=[],v=[];return u.tick=function(){if((r*=.99)<.005)return s.end({type:"end",alpha:r=0}),!0;var e,n,u,h,f,p,y,b,_,x=m.length,w=v.length;for(n=0;w>n;++n)u=v[n],h=u.source,f=u.target,b=f.x-h.x,_=f.y-h.y,(p=b*b+_*_)&&(p=r*a[n]*((p=Math.sqrt(p))-i[n])/p,b*=p,_*=p,f.x-=b*(y=h.weight/(f.weight+h.weight)),f.y-=_*y,h.x+=b*(y=1-y),h.y+=_*y);if((y=r*g)&&(b=c[0]/2,_=c[1]/2,n=-1,y))for(;++n0?t:0:t>0&&(s.start({type:"start",alpha:r=t}),no.timer(u.tick)),u):r},u.start=function(){function t(t,r){if(!n){for(n=new Array(s),u=0;s>u;++u)n[u]=[];for(u=0;l>u;++u){var i=v[u];n[i.source.index].push(i.target),n[i.target.index].push(i.source)}}for(var a,o=n[e],u=-1,c=o.length;++ue;++e)(r=m[e]).index=e,r.weight=0;for(e=0;l>e;++e)r=v[e],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(e=0;s>e;++e)r=m[e],isNaN(r.x)&&(r.x=t("x",p)),isNaN(r.y)&&(r.y=t("y",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof h)for(e=0;l>e;++e)i[e]=+h.call(this,v[e],e);else for(e=0;l>e;++e)i[e]=h;if(a=[],"function"==typeof f)for(e=0;l>e;++e)a[e]=+f.call(this,v[e],e);else for(e=0;l>e;++e)a[e]=f;if(o=[],"function"==typeof d)for(e=0;s>e;++e)o[e]=+d.call(this,m[e],e);else for(e=0;s>e;++e)o[e]=d;return u.resume()},u.resume=function(){return u.alpha(.1)},u.stop=function(){return u.alpha(0)},u.drag=function(){return n||(n=no.behavior.drag().origin(b).on("dragstart.force",Wr).on("drag.force",e).on("dragend.force",Zr)),arguments.length?void this.on("mouseover.force",Xr).on("mouseout.force",Kr).call(n):n},no.rebind(u,s,"on")};var ds=20,ps=1,gs=1/0;no.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 ei(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}var e=ii,n=ni,r=ri;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&&(ti(e,function(t){t.children&&(t.value=0)}),ei(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},no.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;++ch?-1:1),p=(h-s*d)/no.sum(c),g=no.range(s),y=[];return null!=n&&g.sort(n===ys?function(t,e){return c[e]-c[t]}:function(t,e){return n(o[t],o[e])}),g.forEach(function(t){y[t]={data:o[t],value:u=c[t],startAngle:l,endAngle:l+=u*p+d,padAngle:f}}),y}var e=Number,n=ys,r=0,i=Oo,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 ys={};no.layout.stack=function(){function t(u,s){if(!(f=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)]})}),h=n.call(t,l,s);c=no.permute(c,h),l=no.permute(l,h);var f,d,p,g,y=r.call(t,l,s),m=c[0].length;for(p=0;m>p;++p)for(i.call(t,c[0][p],g=y[p],l[0][p][1]),d=1;f>d;++d)i.call(t,c[d][p],g+=l[d-1][p][1],l[d][p][1]);return u}var e=b,n=ci,r=li,i=si,a=oi,o=ui;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:ms.get(e)||ci,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:vs.get(e)||li,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 ms=no.map({"inside-out":function(t){var e,n,r=t.length,i=t.map(hi),a=t.map(fi),o=no.range(r).sort(function(t,e){return i[t]-i[e]}),u=0,s=0,c=[],l=[];for(e=0;r>e;++e)n=o[e],s>u?(u+=a[n],c.push(n)):(s+=a[n],l.push(n));return l.reverse().concat(c)},reverse:function(t){return no.range(t.length).reverse()},"default":ci}),vs=no.map({silhouette:function(t){var e,n,r,i=t.length,a=t[0].length,o=[],u=0,s=[];for(n=0;a>n;++n){for(e=0,r=0;i>e;e++)r+=t[e][n][1];r>u&&(u=r),o.push(r)}for(n=0;a>n;++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,h=t[0],f=h.length,d=[];for(d[0]=s=c=0,n=1;f>n;++n){for(e=0,i=0;l>e;++e)i+=t[e][n][1];for(e=0,a=0,u=h[n][0]-h[n-1][0];l>e;++e){for(r=0,o=(t[e][n][1]-t[e][n-1][1])/(2*u);e>r;++r)o+=(t[r][n][1]-t[r][n-1][1])/u;a+=o*t[e][n][1]}d[n]=s-=i?a/i*u:0,c>s&&(c=s)}for(n=0;f>n;++n)d[n]-=c;return d},expand:function(t){var e,n,r,i=t.length,a=t[0].length,o=1/i,u=[];for(n=0;a>n;++n){for(e=0,r=0;i>e;e++)r+=t[e][n][1];if(r)for(e=0;i>e;e++)t[e][n][1]/=r;else for(e=0;i>e;e++)t[e][n][1]=o}for(n=0;a>n;++n)u[n]=0;return u},zero:li});no.layout.histogram=function(){function t(t,a){for(var o,u,s=[],c=t.map(n,this),l=r.call(this,c,a),h=i.call(this,l,c,a),a=-1,f=c.length,d=h.length-1,p=e?1:1/f;++a0)for(a=-1;++a=l[0]&&u<=l[1]&&(o=s[no.bisect(h,u,1,d)-1],o.y+=p,o.push(t[a]));return s}var e=!0,n=Number,r=yi,i=pi;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=Mt(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return gi(t,e)}:Mt(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},no.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,ei(u,function(t){t.r=+l(t.value)}),ei(u,xi),r){var h=r*(e?1:Math.max(2*u.r/s,2*u.r/c))/2;ei(u,function(t){t.r+=h; + +}),ei(u,xi),ei(u,function(t){t.r-=h})}return ki(u,s/2,c/2,e?1:1/Math.max(2*u.r/s,2*u.r/c)),o}var e,n=no.layout.hierarchy().sort(mi),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},Qr(t,n)},no.layout.tree=function(){function t(t,i){var l=o.call(this,t,i),h=l[0],f=e(h);if(ei(f,n),f.parent.m=-f.z,ti(f,r),c)ti(h,a);else{var d=h,p=h,g=h;ti(h,function(t){t.xp.x&&(p=t),t.depth>g.depth&&(g=t)});var y=u(d,p)/2-d.x,m=s[0]/(p.x+u(p,d)/2+y),v=s[1]/(g.depth||1);ti(h,function(t){t.x=(t.x+y)*m,t.y=t.depth*v})}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;u>o;++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){Ti(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,h=o.m,f=s.m;o=Si(o),i=Mi(i),o&&i;)s=Mi(s),a=Si(a),a.a=t,r=o.z+h-i.z-c+u(o._,i._),r>0&&(Ci(Fi(o,t,n),t,r),c+=r,l+=r),h+=o.m,c+=i.m,f+=s.m,l+=a.m;o&&!Si(a)&&(a.t=o,a.m+=h-l),i&&!Mi(s)&&(s.t=i,s.m+=c-f,n=t)}return n}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var o=no.layout.hierarchy().sort(null).value(null),u=Di,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},Qr(t,o)},no.layout.cluster=function(){function t(t,a){var o,u=e.call(this,t,a),s=u[0],c=0;ei(s,function(t){var e=t.children;e&&e.length?(t.x=Bi(e),t.y=Li(e)):(t.x=o?c+=n(t,o):0,t.y=0,o=t)});var l=Oi(s),h=Ni(s),f=l.x-n(l,h)/2,d=h.x+n(h,l)/2;return ei(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-f)/(d-f)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var e=no.layout.hierarchy().sort(null).value(null),n=Di,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},Qr(t,e)},no.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,a=t.length;++ie?0:e),n.area=isNaN(r)||0>=r?0:r}function e(n){var a=n.children;if(a&&a.length){var o,u,s,c=h(n),l=[],f=a.slice(),p=1/0,g="slice"===d?c.dx:"dice"===d?c.dy:"slice-dice"===d?1&n.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(f,c.dx*c.dy/n.value),l.area=0;(s=f.length)>0;)l.push(o=f[s-1]),l.area+=o.area,"squarify"!==d||(u=r(l,g))<=p?(f.pop(),p=u):(l.area-=l.pop().area,i(l,g,c,!1),g=Math.min(c.dx,c.dy),l.length=l.area=0,p=1/0);l.length&&(i(l,g,c,!0),l.length=l.area=0),a.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var a,o=h(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;++on&&(a=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*p/r,r/(e*a*p)):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);++an.dx)&&(l=n.dx);++an&&(e=1),1>n&&(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=no.random.normal.apply(no,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=no.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;t>n;n++)e+=Math.random();return e}}},no.scale={};var bs={floor:b,ceil:b};no.scale.linear=function(){return Vi([0,1],[0,1],br,!1)};var _s={s:1,g:1,p:1,r:1,e:1};no.scale.log=function(){return Ji(no.scale.linear().domain([0,1]),10,!0,[1,10])};var xs=no.format(".0e"),ws={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};no.scale.pow=function(){return Qi(no.scale.linear(),1,[0,1])},no.scale.sqrt=function(){return no.scale.pow().exponent(.5)},no.scale.ordinal=function(){return ea([],{t:"range",a:[[]]})},no.scale.category10=function(){return no.scale.ordinal().range(As)},no.scale.category20=function(){return no.scale.ordinal().range(ks)},no.scale.category20b=function(){return no.scale.ordinal().range(Es)},no.scale.category20c=function(){return no.scale.ordinal().range(Ds)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(_t),ks=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(_t),Es=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(_t),Ds=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(_t);no.scale.quantile=function(){return na([],[])},no.scale.quantize=function(){return ra(0,1,[0,1])},no.scale.threshold=function(){return ia([.5],[0,1])},no.scale.identity=function(){return aa([0,1])},no.svg={},no.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)-Io,h=u.apply(this,arguments)-Io,f=Math.abs(h-l),d=l>h?0:1;if(t>c&&(p=c,c=t,t=p),f>=No)return e(c,d)+(t?e(t,1-d):"")+"Z";var p,g,y,m,v,b,_,x,w,A,k,E,D=0,M=0,S=[];if((m=(+s.apply(this,arguments)||0)/2)&&(y=a===Ms?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(M*=-1),c&&(M=nt(y/c*Math.sin(m))),t&&(D=nt(y/t*Math.sin(m)))),c){v=c*Math.cos(l+M),b=c*Math.sin(l+M),_=c*Math.cos(h-M),x=c*Math.sin(h-M);var C=Math.abs(h-l-2*M)<=Bo?0:1;if(M&&fa(v,b,_,x)===d^C){var T=(l+h)/2;v=c*Math.cos(T),b=c*Math.sin(T),_=x=null}}else v=b=0;if(t){w=t*Math.cos(h-D),A=t*Math.sin(h-D),k=t*Math.cos(l+D),E=t*Math.sin(l+D);var F=Math.abs(l-h+2*D)<=Bo?0:1;if(D&&fa(w,A,k,E)===1-d^F){var L=(l+h)/2;w=t*Math.cos(L),A=t*Math.sin(L),k=E=null}}else w=A=0;if((p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){g=c>t^d?0:1;var B=null==k?[w,A]:null==_?[v,b]:On([v,b],[k,E],[_,x],[w,A]),O=v-B[0],N=b-B[1],I=_-B[0],R=x-B[1],P=1/Math.sin(Math.acos((O*I+N*R)/(Math.sqrt(O*O+N*N)*Math.sqrt(I*I+R*R)))/2),q=Math.sqrt(B[0]*B[0]+B[1]*B[1]);if(null!=_){var j=Math.min(p,(c-q)/(P+1)),U=da(null==k?[w,A]:[k,E],[v,b],c,j,d),Y=da([_,x],[w,A],c,j,d);p===j?S.push("M",U[0],"A",j,",",j," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-d^fa(U[1][0],U[1][1],Y[1][0],Y[1][1]),",",d," ",Y[1],"A",j,",",j," 0 0,",g," ",Y[0]):S.push("M",U[0],"A",j,",",j," 0 1,",g," ",Y[0])}else S.push("M",v,",",b);if(null!=k){var z=Math.min(p,(t-q)/(P-1)),V=da([v,b],[k,E],t,-z,d),H=da([w,A],null==_?[v,b]:[_,x],t,-z,d);p===z?S.push("L",H[0],"A",z,",",z," 0 0,",g," ",H[1],"A",t,",",t," 0 ",d^fa(H[1][0],H[1][1],V[1][0],V[1][1]),",",1-d," ",V[1],"A",z,",",z," 0 0,",g," ",V[0]):S.push("L",H[0],"A",z,",",z," 0 0,",g," ",V[0])}else S.push("L",w,",",A)}else S.push("M",v,",",b),null!=_&&S.push("A",c,",",c," 0 ",C,",",d," ",_,",",x),S.push("L",w,",",A),null!=k&&S.push("A",t,",",t," 0 ",F,",",1-d," ",k,",",E);return S.push("Z"),S.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=ua,r=sa,i=oa,a=Ms,o=ca,u=la,s=ha;return t.innerRadius=function(e){return arguments.length?(n=Mt(e),t):n},t.outerRadius=function(e){return arguments.length?(r=Mt(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=Mt(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Ms?Ms:Mt(e),t):a},t.startAngle=function(e){return arguments.length?(o=Mt(e),t):o},t.endAngle=function(e){return arguments.length?(u=Mt(e),t):u},t.padAngle=function(e){return arguments.length?(s=Mt(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-Io;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Ms="auto";no.svg.line=function(){return pa(b)};var Ss=no.map({linear:ga,"linear-closed":ya,step:ma,"step-before":va,"step-after":ba,basis:Ea,"basis-open":Da,"basis-closed":Ma,bundle:Sa,cardinal:wa,"cardinal-open":_a,"cardinal-closed":xa,monotone:Oa});Ss.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Cs=[0,2/3,1/3,0],Ts=[0,1/3,2/3,0],Fs=[0,1/6,2/3,1/6];no.svg.line.radial=function(){var t=pa(Na);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},va.reverse=ba,ba.reverse=va,no.svg.area=function(){return Ia(b)},no.svg.area.radial=function(){var t=Ia(Na);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},no.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)-Io,l=c.call(t,i,r)-Io;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>Bo)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var a=bn,o=_n,u=Ra,s=ca,c=la;return t.radius=function(e){return arguments.length?(u=Mt(e),t):u},t.source=function(e){return arguments.length?(a=Mt(e),t):a},t.target=function(e){return arguments.length?(o=Mt(e),t):o},t.startAngle=function(e){return arguments.length?(s=Mt(e),t):s},t.endAngle=function(e){return arguments.length?(c=Mt(e),t):c},t},no.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=bn,n=_n,r=Pa;return t.source=function(n){return arguments.length?(e=Mt(n),t):e},t.target=function(e){return arguments.length?(n=Mt(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},no.svg.diagonal.radial=function(){var t=no.svg.diagonal(),e=Pa,n=t.projection;return t.projection=function(t){return arguments.length?n(qa(e=t)):e},t},no.svg.symbol=function(){function t(t,r){return(Ls.get(e.call(this,t,r))||Ya)(n.call(this,t,r))}var e=Ua,n=ja;return t.type=function(n){return arguments.length?(e=Mt(n),t):e},t.size=function(e){return arguments.length?(n=Mt(e),t):n},t};var Ls=no.map({circle:Ya,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*Os)),n=e*Os;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"}});no.svg.symbolTypes=Ls.keys();var Bs=Math.sqrt(3),Os=Math.tan(30*Ro);ko.transition=function(t){for(var e,n,r=Ns||++qs,i=Ga(t),a=[],o=Is||{time:Date.now(),ease:Dr,delay:0,duration:250},u=-1,s=this.length;++ua;a++){i.push(e=[]);for(var n=this[a],u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return Va(i,this.namespace,this.id)},Ps.tween=function(t,e){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(t):V(this,null==e?function(e){e[r][n].tween.remove(t)}:function(i){i[r][n].tween.set(t,e)})},Ps.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?Yr:br,u=no.ns.qualify(t);return Ha(this,"attr."+t,e,u.local?a:i)},Ps.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=no.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},Ps.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+="",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=br(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof t){2>o&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return Ha(this,"style."+t,e,a)},Ps.styleTween=function(t,e,r){function i(i,a){var o=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Ps.text=function(t){return Ha(this,"text",t,$a)},Ps.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Ps.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=no.ease.apply(no,arguments)),V(this,function(r){r[n][e].ease=t}))},Ps.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:V(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}))},Ps.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:V(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}))},Ps.each=function(t,e){var n=this.id,r=this.namespace;if(arguments.length<2){var i=Is,a=Ns;try{Ns=n,V(this,function(e,i,a){Is=e[r][n],t.call(e,e.__data__,i,a)})}finally{Is=i,Ns=a}}else V(this,function(i){var a=i[r][n];(a.event||(a.event=no.dispatch("start","end","interrupt"))).on(t,e)});return this},Ps.transition=function(){for(var t,e,n,r,i=this.id,a=++qs,o=this.namespace,u=[],s=0,c=this.length;c>s;s++){u.push(t=[]);for(var e=this[s],l=0,h=e.length;h>l;l++)(n=e[l])&&(r=n[o][i],Wa(n,l,o,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return Va(u,o,a)},no.svg.axis=function(){function t(t){t.each(function(){var t,c=no.select(this),l=this.__chart__||n,h=this.__chart__=n.copy(),f=null==s?h.ticks?h.ticks.apply(h,u):h.domain():s,d=null==e?h.tickFormat?h.tickFormat.apply(h,u):b:e,p=c.selectAll(".tick").data(f,h),g=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Fo),y=no.transition(p.exit()).style("opacity",Fo).remove(),m=no.transition(p.order()).style("opacity",1),v=Math.max(i,0)+o,_=qi(h),x=c.selectAll(".domain").data([0]),w=(x.enter().append("path").attr("class","domain"),no.transition(x));g.append("line"),g.append("text");var A,k,E,D,M=g.select("line"),S=m.select("line"),C=p.select("text").text(d),T=g.select("text"),F=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=Za,A="x",E="y",k="x2",D="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+_[0]+","+L*a+"V0H"+_[1]+"V"+L*a)):(t=Xa,A="y",E="x",k="y2",D="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),w.attr("d","M"+L*a+","+_[0]+"H0V"+_[1]+"H"+L*a)),M.attr(D,L*i),T.attr(E,L*v),S.attr(k,0).attr(D,L*i),F.attr(A,0).attr(E,L*v),h.rangeBand){var B=h,O=B.rangeBand()/2;l=h=function(t){return B(t)+O}}else l.rangeBand?l=h:y.call(t,h,l);g.call(t,l,h),m.call(t,h,h)})}var e,n=no.scale.linear(),r=js,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 Us?e+"":js,t):r},t.ticks=function(){return arguments.length?(u=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 js="bottom",Us={top:1,right:1,bottom:1,left:1};no.svg.brush=function(){function t(n){n.each(function(){var n=no.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",a).on("touchstart.brush",a),o=n.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=n.selectAll(".resize").data(g,b);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ys[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,h=no.transition(n),f=no.transition(o);c&&(s=qi(c),f.attr("x",s[0]).attr("width",s[1]-s[0]),r(h)),l&&(s=qi(l),f.attr("y",s[0]).attr("height",s[1]-s[0]),i(h)),e(h)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+h[+/e$/.test(t)]+","+f[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",h[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",h[1]-h[0])}function i(t){t.select(".extent").attr("y",f[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function a(){function a(){32==no.event.keyCode&&(C||(b=null,F[0]-=h[1],F[1]-=f[1],C=2),E())}function g(){32==no.event.keyCode&&2==C&&(F[0]+=h[1],F[1]+=f[1],C=0,E())}function y(){var t=no.mouse(x),n=!1;_&&(t[0]+=_[0],t[1]+=_[1]),C||(no.event.altKey?(b||(b=[(h[0]+h[1])/2,(f[0]+f[1])/2]),F[0]=h[+(t[0]l?(i=r,r=l):i=l),g[0]!=r||g[1]!=i?(n?u=null:o=null,g[0]=r,g[1]=i,!0):void 0}function v(){y(),k.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),no.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),A({type:"brushend"})}var b,_,x=this,w=no.select(no.event.target),A=s.of(x,arguments),k=no.select(x),D=w.datum(),M=!/^(n|s)$/.test(D)&&c,S=!/^(e|w)$/.test(D)&&l,C=w.classed("extent"),T=X(x),F=no.mouse(x),L=no.select(n(x)).on("keydown.brush",a).on("keyup.brush",g);if(no.event.changedTouches?L.on("touchmove.brush",y).on("touchend.brush",v):L.on("mousemove.brush",y).on("mouseup.brush",v),k.interrupt().selectAll("*").interrupt(),C)F[0]=h[0]-F[0],F[1]=f[0]-F[1];else if(D){var B=+/w$/.test(D),O=+/^n/.test(D);_=[h[1-B]-F[0],f[1-O]-F[1]],F[0]=h[B],F[1]=f[O]}else no.event.altKey&&(b=F.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),no.select("body").style("cursor",w.style("cursor")),A({type:"brushstart"}),y()}var o,u,s=M(t,"brushstart","brush","brushend"),c=null,l=null,h=[0,0],f=[0,0],d=!0,p=!0,g=zs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),e={x:h,y:f,i:o,j:u},n=this.__chart__||e;this.__chart__=e,Ns?no.select(this).transition().each("start.brush",function(){o=n.i,u=n.j,h=n.x,f=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=_r(h,e.x),r=_r(f,e.y);return o=u=null,function(i){h=e.x=n(i),f=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=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,g=zs[!c<<1|!l],t):c},t.y=function(e){return arguments.length?(l=e,g=zs[!c<<1|!l],t):l},t.clamp=function(e){return arguments.length?(c&&l?(d=!!e[0],p=!!e[1]):c?d=!!e:l&&(p=!!e),t):c&&l?[d,p]:c?d:l?p:null},t.extent=function(e){var n,r,i,a,s;return arguments.length?(c&&(n=e[0],r=e[1],l&&(n=n[0],r=r[0]),o=[n,r],c.invert&&(n=c(n),r=c(r)),n>r&&(s=n,n=r,r=s),(n!=h[0]||r!=h[1])&&(h=[n,r])),l&&(i=e[0],a=e[1],c&&(i=i[1],a=a[1]),u=[i,a],l.invert&&(i=l(i),a=l(a)),i>a&&(s=i,i=a,a=s),(i!=f[0]||a!=f[1])&&(f=[i,a])),t):(c&&(o?(n=o[0],r=o[1]):(n=h[0],r=h[1],c.invert&&(n=c.invert(n),r=c.invert(r)),n>r&&(s=n,n=r,r=s))),l&&(u?(i=u[0],a=u[1]):(i=f[0],a=f[1],l.invert&&(i=l.invert(i),a=l.invert(a)),i>a&&(s=i,i=a,a=s))),c&&l?[[n,i],[r,a]]:c?[n,r]:l&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=u=null),t},t.empty=function(){return!!c&&h[0]==h[1]||!!l&&f[0]==f[1]},no.rebind(t,s,"on")};var Ys={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Vs=cu.format=gu.timeFormat,Hs=Vs.utc,$s=Hs("%Y-%m-%dT%H:%M:%S.%LZ");Vs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ka:$s,Ka.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ka.toString=$s.toString,cu.second=jt(function(t){return new lu(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),cu.seconds=cu.second.range,cu.seconds.utc=cu.second.utc.range,cu.minute=jt(function(t){return new lu(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),cu.minutes=cu.minute.range,cu.minutes.utc=cu.minute.utc.range,cu.hour=jt(function(t){var e=t.getTimezoneOffset()/60;return new lu(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),cu.hours=cu.hour.range,cu.hours.utc=cu.hour.utc.range,cu.month=jt(function(t){return t=cu.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),cu.months=cu.month.range,cu.months.utc=cu.month.utc.range;var Gs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ws=[[cu.second,1],[cu.second,5],[cu.second,15],[cu.second,30],[cu.minute,1],[cu.minute,5],[cu.minute,15],[cu.minute,30],[cu.hour,1],[cu.hour,3],[cu.hour,6],[cu.hour,12],[cu.day,1],[cu.day,2],[cu.week,1],[cu.month,1],[cu.month,3],[cu.year,1]],Zs=Vs.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",Ce]]),Xs={range:function(t,e,n){return no.range(Math.ceil(t/n)*n,+e,n).map(Qa)},floor:b,ceil:b};Ws.year=cu.year,cu.scale=function(){return Ja(no.scale.linear(),Ws,Zs)};var Ks=Ws.map(function(t){return[t[0].utc,t[1]]}),Js=Hs.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",Ce]]);Ks.year=cu.year.utc,cu.scale.utc=function(){return Ja(no.scale.linear(),Ks,Js)},no.text=St(function(t){return t.responseText}),no.json=function(t,e){return Ct(t,"application/json",to,e)},no.html=function(t,e){return Ct(t,"text/html",eo,e)},no.xml=St(function(t){return t.responseXML}),"function"==typeof define&&define.amd?define(no):"object"==typeof e&&e.exports&&(e.exports=no),this.d3=no}()},{}],5:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":12,"./lib/graphlib":13,"./lib/intersect":14,"./lib/render":29,"./lib/util":31,"./lib/version":32}],6:[function(t,e){function n(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"),o=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,n[r+"Style"])}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"),o=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");a.applyStyle(o,n[r+"Style"])}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"),o=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,n[r+"Style"])}var a=t("./util");e.exports={"default":n,normal:n,vee:r,undirected:i}},{"./util":31}],7:[function(t,e){function n(t,e){var n=e.nodes().filter(function(t){return r.isSubgraph(e,t)}),a=t.selectAll("g.cluster").data(n,function(t){return t});return a.selectAll("*").remove(),a.enter().append("g").attr("class","cluster").attr("id",function(t){var n=e.node(t);return n.id}).style("opacity",0),r.applyTransition(a,e).style("opacity",1),a.each(function(t){var n=e.node(t),r=d3.select(this);d3.select(this).append("rect");var a=r.append("g").attr("class","label");i(a,n,n.clusterLabelPos)}),a.selectAll("rect").each(function(t){var n=e.node(t),i=d3.select(this);r.applyStyle(i,n.style)}),r.applyTransition(a.exit(),e).style("opacity",0).remove(),a}var r=t("./util"),i=t("./label/add-label");e.exports=n},{"./label/add-label":22,"./util":31}],8:[function(t,e){"use strict";function n(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return a.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),a=i(o.select(this),e.edge(t),0,0).classed("label",!0),u=a.node().getBBox();n.labelId&&a.attr("id",n.labelId),r.has(n,"width")||(n.width=u.width),r.has(n,"height")||(n.height=u.height)}),a.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");e.exports=n},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],9:[function(t,e){"use strict";function n(t,e,n){var i=t.selectAll("g.edgePath").data(e.edges(),function(t){return l.edgeToId(t)}).classed("update",!0);return o(i,e),u(i,e),l.applyTransition(i,e).style("opacity",1),i.each(function(t){var n=h.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),l.applyClass(n,r["class"],(n.classed("update")?"update ":"")+"edgePath")}),i.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=s.uniqueId("arrowhead");var i=h.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");l.applyTransition(i,e).attr("d",function(t){return r(e,t)}),l.applyStyle(i,n.style)}),i.selectAll("defs *").remove(),i.selectAll("defs").each(function(t){var r=e.edge(t),i=n[r.arrowhead];i(h.select(this),r.arrowheadId,r,"arrowhead")}),i}function r(t,e){var n=t.edge(e),r=t.node(e.v),a=t.node(e.w),o=n.points.slice(1,n.points.length-1);return o.unshift(c(r,o[0])),o.push(c(a,o[o.length-1])),i(n,o)}function i(t,e){var n=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return s.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),s.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function a(t){var e=t.getBBox(),n=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:n.e,y:n.f}}function o(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,o=s.range(n.points.length).map(function(){return a(r)});return i(n,o)}),n.append("defs")}function u(t,e){var n=t.exit();l.applyTransition(n,e).style("opacity",0).remove(),l.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);if(n){var r=s.range(this.pathSegList.length).map(function(){return n});return i({},r)}return h.select(this).attr("d")})}var s=t("./lodash"),c=t("./intersect/intersect-node"),l=t("./util"),h=t("./d3");e.exports=n},{"./d3":11,"./intersect/intersect-node":18,"./lodash":25,"./util":31}],10:[function(t,e){"use strict"; + +function n(t,e,n){var u=e.nodes().filter(function(t){return!a.isSubgraph(e,t)}),s=t.selectAll("g.node").data(u,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 u=e.node(t),s=o.select(this),c=s.append("g").attr("class","label"),l=i(c,u),h=n[u.shape],f=r.pick(l.node().getBBox(),"width","height");u.elem=this,u.id&&s.attr("id",u.id),u.labelId&&c.attr("id",u.labelId),a.applyClass(s,u["class"],(s.classed("update")?"update ":"")+"node"),r.has(u,"width")&&(f.width=u.width),r.has(u,"height")&&(f.height=u.height),f.width+=u.paddingLeft+u.paddingRight,f.height+=u.paddingTop+u.paddingBottom,c.attr("transform","translate("+(u.paddingLeft-u.paddingRight)/2+","+(u.paddingTop-u.paddingBottom)/2+")");var d=h(o.select(this),f,u);a.applyStyle(d,u.style);var p=d.node().getBBox();u.width=p.width,u.height=p.height}),a.applyTransition(s.exit(),e).style("opacity",0).remove(),s}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");e.exports=n},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],11:[function(t,e){e.exports=window.d3},{}],12:[function(t,e){var n;if(t)try{n=t("dagre")}catch(r){}n||(n=window.dagre),e.exports=n},{dagre:33}],13:[function(t,e){var n;if(t)try{n=t("graphlib")}catch(r){}n||(n=window.graphlib),e.exports=n},{graphlib:63}],14:[function(t,e){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":15,"./intersect-ellipse":16,"./intersect-node":18,"./intersect-polygon":19,"./intersect-rect":20}],15:[function(t,e){function n(t,e,n){return r(t,e,e,n)}var r=t("./intersect-ellipse");e.exports=n},{"./intersect-ellipse":16}],16:[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.xm?(m-y)/g:(m+y)/g,m=o*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function r(t,e){return t*e>0}e.exports=n},{}],18:[function(t,e){function n(t,e){return t.intersect(e)}e.exports=n},{}],19:[function(t,e){function n(t,e,n){var i=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=i-t.width/2-u,l=a-t.height/2-s,h=0;h1&&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 s>a?-1:a===s?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var r=t("./intersect-line");e.exports=n},{"./intersect-line":17}],20:[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?(0>u&&(c=-c),n=0===u?0:c*o/u,r=c):(0>o&&(s=-s),n=s,r=0===o?0:s*u/o),{x:i+n,y:a+r}}e.exports=n},{}],21:[function(t,e){function n(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div"),a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}r.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var o,u;return i.each(function(){o=this.clientWidth,u=this.clientHeight}),n.attr("width",o).attr("height",u),n}var r=t("../util");e.exports=n},{"../util":31}],22:[function(t,e){function n(t,e,n){var o=e.label,u=t.append("g");"svg"===e.labelType?a(u,e):"string"!=typeof o||"html"===e.labelType?i(u,e):r(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 r=t("./add-text-label"),i=t("./add-html-label"),a=t("./add-svg-label");e.exports=n},{"./add-html-label":21,"./add-svg-label":23,"./add-text-label":24}],23:[function(t,e){function n(t,e){var n=t;return n.node().appendChild(e.label),r.applyStyle(n,e.labelStyle),n}var r=t("../util");e.exports=n},{"../util":31}],24:[function(t,e){function n(t,e){for(var n=t.append("text"),a=r(e.label).split("\n"),o=0;ou;++u)r(t,"borderLeft","_bl",n,o,u),r(t,"borderRight","_br",n,o,u)}}i.each(t.children(),e)}function r(t,e,n,r,i,o){var u={width:0,height:0,rank:o,borderType:e},s=i[e][o-1],c=a.addDummyNode(t,"border",u,n);i[e][o]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var i=t("./lodash"),a=t("./util");e.exports=n},{"./lodash":42,"./util":61}],36:[function(t,e){"use strict";function n(t){var e=t.graph().rankdir.toLowerCase();("lr"===e||"rl"===e)&&i(t)}function r(t){var e=t.graph().rankdir.toLowerCase();("bt"===e||"rl"===e)&&o(t),("lr"===e||"rl"===e)&&(s(t),i(t))}function i(t){l.each(t.nodes(),function(e){a(t.node(e))}),l.each(t.edges(),function(e){a(t.edge(e))})}function a(t){var e=t.width;t.width=t.height,t.height=e}function o(t){l.each(t.nodes(),function(e){u(t.node(e))}),l.each(t.edges(),function(e){var n=t.edge(e);l.each(n.points,u),l.has(n,"y")&&u(n)})}function u(t){t.y=-t.y}function s(t){l.each(t.nodes(),function(e){c(t.node(e))}),l.each(t.edges(),function(e){var n=t.edge(e);l.each(n.points,c),l.has(n,"x")&&c(n)})}function c(t){var e=t.x;t.x=t.y,t.y=e}var l=t("./lodash");e.exports={adjust:n,undo:r}},{"./lodash":42}],37:[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){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(r(e),e):void 0},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(", ")+"]"}},{}],38:[function(t,e){function n(t){var e=i.buildLayerMatrix(t),n=new a({compound:!0,multigraph:!0}).setGraph({});return r.each(t.nodes(),function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)}),r.each(t.edges(),function(t){n.setEdge(t.v,t.w,{},t.name)}),r.each(e,function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,function(t,e){return n.setEdge(t,e,{style:"invis"}),e})}),n}var r=t("./lodash"),i=t("./util"),a=t("./graphlib").Graph;e.exports={debugOrdering:n}},{"./graphlib":39,"./lodash":42,"./util":61}],39:[function(t,e){var n;if("function"==typeof t)try{n=t("graphlib")}catch(r){}n||(n=window.graphlib),e.exports=n},{graphlib:63}],40:[function(t,e){function n(t,e){if(t.nodeCount()<=1)return[];var n=a(t,e||l),i=r(n.graph,n.buckets,n.zeroIdx);return u.flatten(u.map(i,function(e){return t.outEdges(e.v,e.w)}),!0)}function r(t,e,n){for(var r,a=[],o=e[e.length-1],u=e[0];t.nodeCount();){for(;r=u.dequeue();)i(t,e,n,r);for(;r=o.dequeue();)i(t,e,n,r);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(r=e[s].dequeue()){a=a.concat(i(t,e,n,r,!0));break}}return a}function i(t,e,n,r,i){var a=i?[]:void 0;return u.each(t.inEdges(r.v),function(r){var u=t.edge(r),s=t.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=u,o(e,n,s)}),u.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,u=t.node(a);u["in"]-=i,o(e,n,u)}),t.removeNode(r.v),a}function a(t,e){var n=new s,r=0,i=0;u.each(t.nodes(),function(t){n.setNode(t,{v:t,"in":0,out:0})}),u.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=u.range(i+r+3).map(function(){return new c}),l=r+1;return u.each(n.nodes(),function(t){o(a,l,n.node(t))}),{graph:n,buckets:a,zeroIdx:l}}function o(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 u=t("./lodash"),s=t("./graphlib").Graph,c=t("./data/list");e.exports=n;var l=u.constant(1)},{"./data/list":37,"./graphlib":39,"./lodash":42}],41:[function(t,e){"use strict";function n(t,e){var n=e&&e.debugTiming?L.time:L.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return a(t)});n(" runLayout",function(){r(e,n)}),n(" updateInputGraph",function(){i(t,e)})})}function r(t,e){e(" makeSpaceForEdgeLabels",function(){o(t)}),e(" removeSelfEdges",function(){g(t)}),e(" acyclic",function(){x.run(t)}),e(" nestingGraph.run",function(){M.run(t)}),e(" rank",function(){A(L.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){u(t)}),e(" removeEmptyRanks",function(){D(t)}),e(" nestingGraph.cleanup",function(){M.cleanup(t)}),e(" normalizeRanks",function(){k(t)}),e(" assignRankMinMax",function(){s(t)}),e(" removeEdgeLabelProxies",function(){c(t)}),e(" normalize.run",function(){w.run(t)}),e(" parentDummyChains",function(){E(t)}),e(" addBorderSegments",function(){S(t)}),e(" order",function(){T(t)}),e(" insertSelfEdges",function(){y(t)}),e(" adjustCoordinateSystem",function(){C.adjust(t)}),e(" position",function(){F(t)}),e(" positionSelfEdges",function(){m(t)}),e(" removeBorderNodes",function(){p(t)}),e(" normalize.undo",function(){w.undo(t)}),e(" fixupEdgeLabelCoords",function(){f(t)}),e(" undoCoordinateSystem",function(){C.undo(t)}),e(" translateGraph",function(){l(t)}),e(" assignNodeIntersects",function(){h(t)}),e(" reversePoints",function(){d(t)}),e(" acyclic.undo",function(){x.undo(t)})}function i(t,e){_.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))}),_.each(t.edges(),function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,_.has(i,"x")&&(r.x=i.x,r.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function a(t){var e=new B({multigraph:!0,compound:!0}),n=b(t.graph());return e.setGraph(_.merge({},N,v(n,O),_.pick(n,I))),_.each(t.nodes(),function(n){var r=b(t.node(n));e.setNode(n,_.defaults(v(r,R),P)),e.setParent(n,t.parent(n))}),_.each(t.edges(),function(n){var r=b(t.edge(n));e.setEdge(n,_.merge({},j,v(r,q),_.pick(r,U)))}),e}function o(t){var e=t.graph();e.ranksep/=2,_.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 u(t){_.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};L.addDummyNode(t,"edge-proxy",a,"_ep")}})}function s(t){var e=0;_.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=_.max(e,r.maxRank))}),t.graph().maxRank=e}function c(t){_.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 l(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;_.each(t.nodes(),function(n){e(t.node(n))}),_.each(t.edges(),function(n){var r=t.edge(n);_.has(r,"x")&&e(r)}),n-=u,i-=s,_.each(t.nodes(),function(e){var r=t.node(e);r.x-=n,r.y-=i}),_.each(t.edges(),function(e){var r=t.edge(e);_.each(r.points,function(t){t.x-=n,t.y-=i}),_.has(r,"x")&&(r.x-=n),_.has(r,"y")&&(r.y-=i)}),o.width=r-n+u,o.height=a-i+s}function h(t){_.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(L.intersectRect(a,n)),i.points.push(L.intersectRect(o,r))})}function f(t){_.each(t.edges(),function(e){var n=t.edge(e);if(_.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 d(t){_.each(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}function p(t){_.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(_.last(n.borderLeft)),o=t.node(_.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}}),_.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function g(t){_.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=L.buildLayerMatrix(t);_.each(e,function(e){var n=0;_.each(e,function(e,r){var i=t.node(e);i.order=r+n,_.each(i.selfEdges,function(e){L.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 m(t){_.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 _.mapValues(_.pick(t,e),Number)}function b(t){var e={};return _.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var _=t("./lodash"),x=t("./acyclic"),w=t("./normalize"),A=t("./rank"),k=t("./util").normalizeRanks,E=t("./parent-dummy-chains"),D=t("./util").removeEmptyRanks,M=t("./nesting-graph"),S=t("./add-border-segments"),C=t("./coordinate-system"),T=t("./order"),F=t("./position"),L=t("./util"),B=t("./graphlib").Graph;e.exports=n;var O=["nodesep","edgesep","ranksep","marginx","marginy"],N={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},I=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},q=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":34,"./add-border-segments":35,"./coordinate-system":36,"./graphlib":39,"./lodash":42,"./nesting-graph":43,"./normalize":44,"./order":49,"./parent-dummy-chains":54,"./position":56,"./rank":58,"./util":61}],42:[function(t,e){var n;if("function"==typeof t)try{n=t("lodash")}catch(r){}n||(n=window._),e.exports=n},{lodash:83}],43:[function(t,e){function n(t){var e=s.addDummyNode(t,"root",{},"_root"),n=i(t),o=u.max(n)-1,c=2*o+1;t.graph().nestingRoot=e,u.each(t.edges(),function(e){t.edge(e).minlen*=c});var l=a(t)+1;u.each(t.children(),function(i){r(t,e,c,l,o,n,i)}),t.graph().nodeRankFactor=c}function r(t,e,n,i,a,o,c){var l=t.children(c);if(!l.length)return void(c!==e&&t.setEdge(e,c,{weight:0,minlen:n}));var h=s.addBorderNode(t,"_bt"),f=s.addBorderNode(t,"_bb"),d=t.node(c);t.setParent(h,c),d.borderTop=h,t.setParent(f,c),d.borderBottom=f,u.each(l,function(u){r(t,e,n,i,a,o,u);var s=t.node(u),l=s.borderTop?s.borderTop:u,d=s.borderBottom?s.borderBottom:u,p=s.borderTop?i:2*i,g=l!==d?1:a-o[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(e,h,{weight:0,minlen:a+o[c]})}function i(t){function e(r,i){var a=t.children(r);a&&a.length&&u.each(a,function(t){e(t,i+1)}),n[r]=i}var n={};return u.each(t.children(),function(t){e(t,1)}),n}function a(t){return u.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}function o(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,u.each(t.edges(),function(e){var n=t.edge(e);n.nestingEdge&&t.removeEdge(e)})}var u=t("./lodash"),s=t("./util");e.exports={run:n,cleanup:o}},{"./lodash":42,"./util":61}],44:[function(t,e){"use strict";function n(t){t.graph().dummyChains=[],a.each(t.edges(),function(e){r(t,e)})}function r(t,e){var n=e.v,r=t.node(n).rank,i=e.w,a=t.node(i).rank,u=e.name,s=t.edge(e),c=s.labelRank;if(a!==r+1){t.removeEdge(e);var l,h,f;for(f=0,++r;a>r;++f,++r)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:e,rank:r},l=o.addDummyNode(t,"edge",h,"_d"),r===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),t.setEdge(n,l,{weight:s.weight},u),0===f&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,i,{weight:s.weight},u)}}function i(t){a.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 a=t("./lodash"),o=t("./util");e.exports={run:n,undo:i}},{"./lodash":42,"./util":61}],45:[function(t,e){function n(t,e,n){var i,a={};r.each(n,function(n){for(var r,o,u=t.parent(n);u;){if(r=t.parent(u),r?(o=a[r],a[r]=u):(o=i,i=u),o&&o!==u)return void e.setEdge(o,u);u=r}})}var r=t("../lodash");e.exports=n},{"../lodash":42}],46:[function(t,e){function n(t,e){return r.map(e,function(e){var n=t.inEdges(e);if(n.length){var i=r.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:i.sum/i.weight,weight:i.weight}}return{v:e}})}var r=t("../lodash");e.exports=n},{"../lodash":42}],47:[function(t,e){function n(t,e,n){var o=r(t),u=new a({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(e){return t.node(e)});return i.each(t.nodes(),function(r){var a=t.node(r),s=t.parent(r);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(u.setNode(r),u.setParent(r,s||o),i.each(t[n](r),function(e){var n=e.v===r?e.w:e.v,a=u.edge(n,r),o=i.isUndefined(a)?0:a.weight;u.setEdge(n,r,{weight:t.edge(e).weight+o})}),i.has(a,"minRank")&&u.setNode(r,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),u}function r(t){for(var e;t.hasNode(e=i.uniqueId("_root")););return e}var i=t("../lodash"),a=t("../graphlib").Graph;e.exports=n},{"../graphlib":39,"../lodash":42}],48:[function(t,e){"use strict";function n(t,e){for(var n=0,i=1;i0;)e%2&&(n+=s[e+1]),e=e-1>>1,s[e]+=t.weight;c+=t.weight*n})),c}var i=t("../lodash");e.exports=n},{"../lodash":42}],49:[function(t,e){"use strict";function n(t){var e=d.maxRank(t),n=r(t,o.range(1,e+1),"inEdges"),c=r(t,o.range(e-1,-1,-1),"outEdges"),l=u(t);a(t,l);for(var h,f=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?n:c,p%4>=2),l=d.buildLayerMatrix(t);var y=s(t,l);f>y&&(g=0,h=o.cloneDeep(l),f=y)}a(t,h)}function r(t,e,n){return o.map(e,function(e){return l(t,e,n)})}function i(t,e){var n=new f;o.each(t,function(t){var r=t.graph().root,i=c(t,r,n,e);o.each(i.vs,function(e,n){t.node(e).order=n}),h(t,n,i.vs)})}function a(t,e){o.each(e,function(e){o.each(e,function(e,n){t.node(e).order=n})})}var o=t("../lodash"),u=t("./init-order"),s=t("./cross-count"),c=t("./sort-subgraph"),l=t("./build-layer-graph"),h=t("./add-subgraph-constraints"),f=t("../graphlib").Graph,d=t("../util");e.exports=n},{"../graphlib":39,"../lodash":42,"../util":61,"./add-subgraph-constraints":45,"./build-layer-graph":47,"./cross-count":48,"./init-order":50,"./sort-subgraph":52}],50:[function(t,e){"use strict";function n(t){function e(i){if(!r.has(n,i)){n[i]=!0;var a=t.node(i);o[a.rank].push(i),r.each(t.successors(i),e)}}var n={},i=r.filter(t.nodes(),function(e){return!t.children(e).length}),a=r.max(r.map(i,function(e){return t.node(e).rank})),o=r.map(r.range(a+1),function(){return[]}),u=r.sortBy(i,function(e){return t.node(e).rank});return r.each(u,e),o}var r=t("../lodash");e.exports=n},{"../lodash":42}],51:[function(t,e){"use strict";function n(t,e){var n={};a.each(t,function(t,e){var r=n[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};a.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),a.each(e.edges(),function(t){var e=n[t.v],r=n[t.w];a.isUndefined(e)||a.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))});var i=a.filter(n,function(t){return!t.indegree});return r(i)}function r(t){function e(t){return function(e){e.merged||(a.isUndefined(e.barycenter)||a.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&i(t,e)}}function n(e){return function(n){n["in"].push(e),0===--n.indegree&&t.push(n)}}for(var r=[];t.length;){var o=t.pop();r.push(o),a.each(o["in"].reverse(),e(o)),a.each(o.out,n(o))}return a.chain(r).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,["vs","i","barycenter","weight"])}).value()}function i(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 a=t("../lodash");e.exports=n},{"../lodash":42}],52:[function(t,e){function n(t,e,c,l){var h=t.children(e),f=t.node(e),d=f?f.borderLeft:void 0,p=f?f.borderRight:void 0,g={};d&&(h=a.filter(h,function(t){return t!==d&&t!==p}));var y=o(t,h);a.each(y,function(e){if(t.children(e.v).length){var r=n(t,e.v,c,l);g[e.v]=r,a.has(r,"barycenter")&&i(e,r)}});var m=u(y,c);r(m,g);var v=s(m,l);if(d&&(v.vs=a.flatten([d,v.vs,p],!0),t.predecessors(d).length)){var b=t.node(t.predecessors(d)[0]),_=t.node(t.predecessors(p)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+_.order)/(v.weight+2),v.weight+=2}return v}function r(t,e){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function i(t,e){a.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 a=t("../lodash"),o=t("./barycenter"),u=t("./resolve-conflicts"),s=t("./sort");e.exports=n},{"../lodash":42,"./barycenter":46,"./resolve-conflicts":51,"./sort":53}],53:[function(t,e){function n(t,e){var n=o.partition(t,function(t){return a.has(t,"barycenter")}),u=n.lhs,s=a.sortBy(n.rhs,function(t){return-t.i}),c=[],l=0,h=0,f=0;u.sort(i(!!e)),f=r(c,s,f),a.each(u,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=r(c,s,f)});var d={vs:a.flatten(c,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}function r(t,e,n){for(var r;e.length&&(r=a.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function i(t){return function(e,n){return e.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i}}var a=t("../lodash"),o=t("../util");e.exports=n},{"../lodash":42,"../util":61}],54:[function(t,e){function n(t){var e=i(t);a.each(t.graph().dummyChains,function(n){for(var i=t.node(n),a=i.edgeObj,o=r(t,e,a.v,a.w),u=o.path,s=o.lca,c=0,l=u[c],h=!0;n!==a.w;){if(i=t.node(n),h){for(;(l=u[c])!==s&&t.node(l).maxRanks||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 i(t){function e(i){var o=r;a.each(t.children(i),e),n[i]={low:o,lim:r++}}var n={},r=0;return a.each(t.children(),e),n}var a=t("./lodash");e.exports=n},{"./lodash":42}],55:[function(t,e){"use strict";function n(t,e){function n(e,n){var o=0,u=0,s=e.length,c=y.last(n);return y.each(n,function(e,l){var h=i(t,e),f=h?t.node(h).order:s;(h||e===c)&&(y.each(n.slice(u,l+1),function(e){y.each(t.predecessors(e),function(n){var i=t.node(n),u=i.order;!(o>u||u>f)||i.dummy&&t.node(e).dummy||a(r,n,e)})}),u=l+1,o=f)}),n}var r={};return y.reduce(e,n),r}function r(t,e){function n(e,n,r,o,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.orderu)&&a(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 i(t,e){return t.node(e).dummy?y.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function a(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 o(t,e,n){if(e>n){var r=e;e=n,n=r}return y.has(t[e],n)}function u(t,e,n,r){var i={},a={},u={};return y.each(e,function(t){y.each(t,function(t,e){i[t]=t,a[t]=t,u[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 u[t]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var f=s[l];a[t]===t&&eo.lim&&(u=o,s=!0);var c=p.filter(e.edges(),function(e){return s===d(t,t.node(e.v),u)&&s!==d(t,t.node(e.w),u)});return p.min(c,function(t){return y(e,t)})}function l(t,e,n,i){var a=n.v,u=n.w;t.removeEdge(a,u),t.setEdge(i.v,i.w,{}),o(t),r(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 d(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var p=t("../lodash"),g=t("./feasible-tree"),y=t("./util").slack,m=t("./util").longestPath,v=t("../graphlib").alg.preorder,b=t("../graphlib").alg.postorder,_=t("../util").simplify;e.exports=n,n.initLowLimValues=o,n.initCutValues=r,n.calcCutValue=a,n.leaveEdge=s,n.enterEdge=c,n.exchangeEdges=l},{"../graphlib":39,"../lodash":42,"../util":61,"./feasible-tree":57,"./util":60}],60:[function(t,e){"use strict";function n(t){function e(r){var a=t.node(r);if(i.has(n,r))return a.rank;n[r]=!0;var o=i.min(i.map(t.outEdges(r),function(n){return e(n.w)-t.edge(n).minlen}));return o===Number.POSITIVE_INFINITY&&(o=0),a.rank=o}var n={};i.each(t.sources(),e)}function r(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var i=t("../lodash");e.exports={longestPath:n,slack:r}},{"../lodash":42}],61:[function(t,e){"use strict";function n(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 r(t){var e=(new m).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 i(t){var e=new m({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 a(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 o(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 u(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?(0>a&&(u=-u),s=u*i/a,c=u):(0>i&&(o=-o),s=o,c=o*a/i),{x:n+s,y:r+c}}function s(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 c(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 l(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,r,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=i),n(t,"border",a,e)}function f(t){return y.max(y.map(t.nodes(),function(e){var n=t.node(e).rank;return y.isUndefined(n)?void 0:n}))}function d(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 g(t,e){return e()}var y=t("./lodash"),m=t("./graphlib").Graph;e.exports={addDummyNode:n,simplify:r,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:o,intersectRect:u,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:f,partition:d,time:p,notime:g}},{"./graphlib":39,"./lodash":42}],62:[function(t,e){e.exports="0.7.4"},{}],63:[function(t,e){var n=t("./lib");e.exports={Graph:n.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:n.version}},{"./lib":79,"./lib/alg":70,"./lib/json":80}],64:[function(t,e){function n(t){function e(a){r.has(i,a)||(i[a]=!0,n.push(a),r.each(t.successors(a),e),r.each(t.predecessors(a),e))}var n,i={},a=[];return r.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var r=t("../lodash");e.exports=n},{"../lodash":81}],65:[function(t,e){function n(t,e,n){i.isArray(e)||(e=[e]);var a=[],o={};return i.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);r(t,e,"post"===n,o,a)}),a}function r(t,e,n,a,o){i.has(a,e)||(a[e]=!0,n||o.push(e),i.each(t.neighbors(e),function(e){r(t,e,n,a,o)}),n&&o.push(e))}var i=t("../lodash");e.exports=n},{"../lodash":81}],66:[function(t,e){function n(t,e,n){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,e,n)},{})}var r=t("./dijkstra"),i=t("../lodash");e.exports=n},{"../lodash":81,"./dijkstra":67}],67:[function(t,e){function n(t,e,n,i){return r(t,String(e),n||o,i||function(e){return t.outEdges(e)})}function r(t,e,n,r){var i,o,u={},s=new a,c=function(t){var e=t.v!==i?t.v:t.w,r=u[e],a=n(t),c=o.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c0&&(i=s.removeMin(),o=u[i],o.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var i=t("../lodash"),a=t("../data/priority-queue");e.exports=n;var o=i.constant(1)},{"../data/priority-queue":77,"../lodash":81}],68:[function(t,e){function n(t){return r.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var r=t("../lodash"),i=t("./tarjan");e.exports=n},{"../lodash":81,"./tarjan":75}],69:[function(t,e){function n(t,e,n){return r(t,e||a,n||function(e){return t.outEdges(e)})}function r(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;ui&&(s[n]=o,c.decrease(n,i))}}var o,u=new i,s={},c=new a;if(0===t.nodeCount())return u;r.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(o=c.removeMin(),r.has(s,o))u.setEdge(o,s[o]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(o).forEach(n)}return u}var r=t("../lodash"),i=t("../graph"),a=t("../data/priority-queue");e.exports=n},{"../data/priority-queue":77,"../graph":78,"../lodash":81}],75:[function(t,e){function n(t){function e(u){var s=a[u]={onStack:!0,lowlink:n,index:n++};if(i.push(u),t.successors(u).forEach(function(t){r.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=i.pop(),a[c].onStack=!1,l.push(c);while(u!==c);o.push(l)}}var n=0,i=[],a={},o=[];return t.nodes().forEach(function(t){r.has(a,t)||e(t)}),o}var r=t("../lodash");e.exports=n},{"../lodash":81}],76:[function(t,e){function n(t){function e(u){if(i.has(a,u))throw new r;i.has(n,u)||(a[u]=!0,n[u]=!0,i.each(t.predecessors(u),e),delete a[u],o.push(u))}var n={},a={},o=[];if(i.each(t.sinks(),e),i.size(n)!==t.nodeCount())throw new r;return o}function r(){}var i=t("../lodash");e.exports=n,n.CycleException=r},{"../lodash":81}],77:[function(t,e){function n(){this._arr=[],this._keyIndices={}}var r=t("../lodash");e.exports=n,n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(t){return t.key})},n.prototype.has=function(t){return r.has(this._keyIndices,t)},n.prototype.priority=function(t){var e=this._keyIndices[t];return void 0!==e?this._arr[e].priority:void 0},n.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},n.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},n.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},n.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)},n.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1,!(n[e].prioritya){var o=i;i=a,a=o}return i+h+a+h+(s.isUndefined(r)?c:r)}function o(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 u(t,e){return a(t,e.v,e.w,e.name)}var s=t("./lodash");e.exports=n;var c="\x00",l="\x00",h="";n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(t){return this._label=t,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultNodeLabelFn=t,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return s.keys(this._nodes)},n.prototype.sources=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._in[t])},this)},n.prototype.sinks=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._out[t])},this)},n.prototype.setNodes=function(t,e){var n=arguments;return s.each(t,function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this),this},n.prototype.setNode=function(t,e){return s.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]=l,this._children[t]={},this._children[l][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},n.prototype.node=function(t){return this._nodes[t]},n.prototype.hasNode=function(t){return s.has(this._nodes,t)},n.prototype.removeNode=function(t){var e=this;if(s.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],s.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),s.each(s.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],s.each(s.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},n.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(e))e=l;else{e+="";for(var n=e;!s.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},n.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},n.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==l)return e}},n.prototype.children=function(t){if(s.isUndefined(t)&&(t=l),this._isCompound){var e=this._children[t];if(e)return s.keys(e)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},n.prototype.predecessors=function(t){var e=this._preds[t];return e?s.keys(e):void 0},n.prototype.successors=function(t){var e=this._sucs[t];return e?s.keys(e):void 0},n.prototype.neighbors=function(t){var e=this.predecessors(t);return e?s.union(e,this.successors(t)):void 0},n.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()),s.each(this._nodes,function(e,r){t(r)&&n.setNode(r,e)},this),s.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&&s.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},n.prototype.setDefaultEdgeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultEdgeLabelFn=t,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return s.values(this._edgeObjs)},n.prototype.setPath=function(t,e){var n=this,r=arguments;return s.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},n.prototype.setEdge=function(){var t,e,n,i,u=!1,c=arguments[0];"object"==typeof c&&null!==c&&"v"in c?(t=c.v,e=c.w,n=c.name,2===arguments.length&&(i=arguments[1],u=!0)):(t=c,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],u=!0)),t=""+t,e=""+e,s.isUndefined(n)||(n=""+n);var l=a(this._isDirected,t,e,n);if(s.has(this._edgeLabels,l))return u&&(this._edgeLabels[l]=i),this;if(!s.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=u?i:this._defaultEdgeLabelFn(t,e,n);var h=o(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,r(this._preds[e],t),r(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},n.prototype.edge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return this._edgeLabels[r]},n.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return s.has(this._edgeLabels,r)},n.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,e,n),o=this._edgeObjs[r];return o&&(t=o.v,e=o.w,delete this._edgeLabels[r],delete this._edgeObjs[r],i(this._preds[e],t),i(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},n.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=s.values(n);return e?s.filter(r,function(t){return t.v===e}):r}},n.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=s.values(n);return e?s.filter(r,function(t){return t.w===e}):r}},n.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);return n?n.concat(this.outEdges(t,e)):void 0}},{"./lodash":81}],79:[function(t,e){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":78,"./version":82}],80:[function(t,e){function n(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:i(t)};return o.isUndefined(t.graph())||(e.value=o.clone(t.graph())),e}function r(t){return o.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return o.isUndefined(n)||(i.value=n),o.isUndefined(r)||(i.parent=r),i})}function i(t){return o.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return o.isUndefined(e.name)||(r.name=e.name),o.isUndefined(n)||(r.value=n),r})}function a(t){var e=new u(t.options).setGraph(t.value);return o.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),o.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var o=t("./lodash"),u=t("./graph");e.exports={write:n,read:a}},{"./graph":78,"./lodash":81}],81:[function(t,e){e.exports=t(42)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":42,lodash:83}],82:[function(t,e){e.exports="1.0.7"},{}],83:[function(t,e,n){(function(t){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===E,i=t===t,a=null===e,o=e===E,u=e===e;if(t>e&&!a||!i||n&&!o&&u||r&&u)return 1;if(e>t&&!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-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 h(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,u=a.length,s=n.length;++i=s)return c;var l=n[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function f(t){return Vt[t]}function d(t){return Ht[t]}function p(t,e,n){return e?t=Wt[t]:n&&(t=Zt[t]),"\\"+t}function g(t){return"\\"+Zt[t]}function y(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function b(t,e){for(var n=-1,r=t.length,i=-1,a=[];++ne,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__,h=l.length,f=0,d=Ao(s,this.__takeCount__);if(!n||j>i||i==s&&d==s)return nn(r&&n?t.reverse():t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=e;for(var g=-1,y=t[c];++g=j?gn(e):null,c=e.length;s&&(o=Kt,u=!1,e=s);t:for(;++in&&(n=-n>i?0:i+n),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=n>r?0:r>>>0,n>>>=0;i>n;)t[n++]=e;return t}function Me(t,e){var n=[];return Io(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Se(t,e,n,r){var i;return n(t,function(t,n,a){return e(t,n,a)?(i=r?n:t,!1):void 0}),i}function Ce(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++ir;)t=t[e[r++]];return r&&r==i?t:E}}function Ne(t,e,n,r,i,a){return t===e?!0:null==t||null==e||!Oi(t)&&!m(e)?t!==t&&e!==e:Ie(t,e,Ne,n,r,i,a)}function Ie(t,e,n,r,i,a,o){var u=Cu(t),s=Cu(e),c=$,l=$;u||(c=no.call(t),c==H?c=Q:c!=Q&&(u=zi(t))),s||(l=no.call(e),l==H?l=Q:l!=Q&&(s=zi(e)));var h=c==Q,f=l==Q,d=c==l;if(d&&!u&&!h)return qn(t,e,c);if(!i){var p=h&&to.call(t,"__wrapped__"),g=f&&to.call(e,"__wrapped__");if(p||g)return n(p?t.value():t,g?e.value():e,r,i,a,o)}if(!d)return!1;a||(a=[]),o||(o=[]);for(var y=a.length;y--;)if(a[y]==t)return o[y]==e;a.push(t),o.push(e);var m=(u?Pn:jn)(t,e,n,r,i,a,o);return a.pop(),o.pop(),m}function Re(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=hr(t);r--;){var o=e[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++re&&(e=-e>i?0:i+e),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=ja(i);++r=j,s=u?gn():null,c=[];s?(r=Kt,o=!1):(u=!1,s=e?[]:c);t:for(;++n=i){for(;i>r;){var a=r+i>>>1,o=t[a];(n?e>=o:e>o)&&null!==o?r=a+1:i=a}return i}return an(t,e,Ma,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===E;a>i;){var c=vo((i+a)/2),l=n(t[c]),h=l!==E,f=l===l;if(o)var d=f||r;else d=u?f&&h&&(r||null!=l):s?f&&(r||h):null==l?!1:r?e>=l:e>l;d?i=c+1:a=c}return Ao(a,To)}function on(t,e,n){if("function"!=typeof t)return Ma;if(e===E)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),n=new po(e);return n.set(new po(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=wo(t.length-r,0),o=-1,u=e.length,s=ja(u+a);++o2?n[i-2]:E,o=i>2?n[2]:E,u=i>1?n[i-1]:E;for("function"==typeof a?(a=on(a,u,5),i-=2):(a="function"==typeof u?u:E,i-=a?1:0),o&&Qn(n[0],n[1],o)&&(a=3>i?E:a,i=1);++r-1?n[o]:E}return Se(n,r,t)}}function wn(t){return function(e,n,r){return e&&e.length?(n=Un(n,r,3),i(e,n,t)):-1}}function An(t){return function(e,n,r){return n=Un(n,r,3),Se(e,n,t,!0)}}function kn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=ja(n);t?r--:++r=j)return e.plant(r).value();for(var i=0,o=n?a[i].apply(this,t):r;++iv){var k=u?te(u):E,D=wo(c-v,0),C=p?A:E,T=p?E:A,F=p?x:E,O=p?E:x;e|=p?L:B,e&=~(p?B:L),g||(e&=~(M|S));var N=[t,e,n,F,C,O,T,k,s,D],I=Ln.apply(E,N);return er(t)&&zo(I,N),I.placeholder=w,I}}var R=f?n:this,P=d?R[t]:t;return u&&(x=sr(x,u)),h&&s=e||!_o(e))return"";var i=e-r;return n=null==n?" ":n+"",ya(n,yo(i/n.length)).slice(0,i)}function On(t,e,n,r){function i(){for(var e=-1,u=arguments.length,s=-1,c=r.length,l=ja(c+u);++ss))return!1;for(;++u-1&&t%1==0&&e>t}function Qn(t,e,n){if(!Oi(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Jn(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;if("string"==n&&Et.test(t)||"number"==n)return!0;if(Cu(t))return!1;var r=!kt.test(t);return r||null!=e&&t in hr(e)}function er(t){var n=Yn(t);if(!(n in K.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Uo(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&Lo>=t}function rr(t){return t===t&&!Oi(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=O>i,o=r==O&&n==T||r==O&&n==N&&t[7].length<=e[8]||r==(O|N)&&n==T;if(!a&&!o)return t;r&M&&(t[2]=e[2],i|=n&M?0:C);var u=e[3];if(u){var s=t[3];t[3]=s?sn(s,u,e[4]):te(u),t[4]=s?b(t[3],V):te(e[4])}return u=e[5],u&&(s=t[5],t[5]=s?cn(s,u,e[6]):te(u),t[6]=s?b(t[5],V):te(e[6])),u=e[7],u&&(t[7]=te(u)),r&O&&(t[8]=null==t[8]?e[8]:Ao(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===E?e:Tu(t,e,ar)}function or(t,e){t=hr(t);for(var n=-1,r=e.length,i={};++nr;)o[++a]=We(t,r,r+=e);return o}function gr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++ee?0:e)):[]}function mr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),We(t,0,0>e?0:e)):[]}function vr(t,e,n){return t&&t.length?en(t,Un(e,n,3),!0,!0):[]}function br(t,e,n){return t&&t.length?en(t,Un(e,n,3),!0):[]}function _r(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),De(t,e,n,r)):[]}function xr(t){return t?t[0]:E}function wr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Ce(t,e):[]}function Ar(t){var e=t?t.length:0;return e?Ce(t,!0):[]}function kr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=0>n?wo(r+n,0):n;else if(n){var i=rn(t,e);return r>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Er(t){return mr(t,1)}function Dr(t){var e=t?t.length:0;return e?t[e-1]:E}function Mr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(0>n?wo(r+n,0):Ao(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 y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Sr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=zn(),i=t.length;++n-1;)fo.call(e,a,1);return e}function Cr(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(e=Un(e,n,3);++ie?0:e)):[]}function Br(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),We(t,0>e?0:e)):[]}function Or(t,e,n){return t&&t.length?en(t,Un(e,n,3),!1,!0):[]}function Nr(t,e,n){return t&&t.length?en(t,Un(e,n,3)):[]}function Ir(t,e,n,r){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?E:e,e=!1);var o=Un();return(null!=n||o!==_e)&&(n=o(n,r,3)),e&&zn()==a?_(t,n):Qe(t,n)}function Rr(t){if(!t||!t.length)return[];var e=-1,n=0;t=ue(t,function(t){return Kn(t)?(n=wo(t.length,n),!0):void 0});for(var r=ja(n);++en?wo(i+n,0):n||0,"string"==typeof t||!Cu(t)&&Yi(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&zn(t,e,n)>-1}function ti(t,e,n){var r=Cu(t)?se:Pe;return e=Un(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ba(e))}function ni(t,e,n){var r=Cu(t)?ue:Me;return e=Un(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)]:E}var i=-1,a=Gi(t),r=a.length,o=r-1;for(e=Ao(0>e?0:+e||0,r);++i0&&(n=e.apply(this,arguments)),1>=t&&(e=E),n}}function di(t,e,n){function r(){d&&oo(d),c&&oo(c),g=0,c=d=p=E}function i(e,n){n&&oo(n),c=d=p=E,e&&(g=gu(),l=t.apply(f,s),d||c||(s=f=E))}function a(){var t=e-(gu()-h);0>=t||t>e?i(p,c):d=ho(a,t)}function o(){i(m,d)}function u(){if(s=arguments,h=gu(),f=this,p=m&&(d||!v),y===!1)var n=v&&!d;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=oo(c)),g=h,l=t.apply(f,s)):c||(c=ho(o,r))}return i&&d?d=oo(d):d||e===y||(d=ho(a,e)),n&&(i=!0,l=t.apply(f,s)),!i||d||c||(s=f=E),l}var s,c,l,h,f,d,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Za(z);if(e=0>e?0:+e||0,n===!0){var v=!0;m=!1}else Oi(n)&&(v=!!n.leading,y="maxWait"in n&&wo(+n.maxWait||0,e),m="trailing"in n?!!n.trailing:m);return u.cancel=r,u}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Za(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 pi.Cache,n}function gi(t){if("function"!=typeof t)throw new Za(z);return function(){return!t.apply(this,arguments)}}function yi(t){return fi(2,t)}function mi(t,e){if("function"!=typeof t)throw new Za(z);return e=wo(e===E?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=wo(n.length-e,0),a=ja(i);++re}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Kn(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&no.call(t)==G}function Mi(t){return m(t)&&no.call(t)==W}function Si(t){return!!t&&1===t.nodeType&&m(t)&&!ji(t)}function Ci(t){return null==t?!0:Kn(t)&&(Cu(t)||Yi(t)||Ei(t)||m(t)&&Bi(t.splice))?!t.length:!ju(t).length}function Ti(t,e,n,r){n="function"==typeof n?on(n,r,3):E;var i=n?n(t,e):E;return i===E?Ne(t,e,n):!!i}function Fi(t){return m(t)&&"string"==typeof t.message&&no.call(t)==Z}function Li(t){return"number"==typeof t&&_o(t)}function Bi(t){return Oi(t)&&no.call(t)==X}function Oi(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Ni(t,e,n,r){return n="function"==typeof n?on(n,r,3):E,Re(t,Vn(e),n)}function Ii(t){return qi(t)&&t!=+t}function Ri(t){return null==t?!1:Bi(t)?io.test(Qa.call(t)):m(t)&&Ot.test(t)}function Pi(t){return null===t}function qi(t){return"number"==typeof t||m(t)&&no.call(t)==J}function ji(t){var e;if(!m(t)||no.call(t)!=Q||Ei(t)||!to.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var n;return Te(t,function(t,e){n=e}),n===E||to.call(t,n)}function Ui(t){return Oi(t)&&no.call(t)==tt}function Yi(t){return"string"==typeof t||m(t)&&no.call(t)==nt}function zi(t){return m(t)&&nr(t.length)&&!!Yt[no.call(t)]}function Vi(t){return t===E}function Hi(t,e){return e>t}function $i(t,e){return e>=t}function Gi(t){var e=t?Yo(t):0;return nr(e)?e?te(t):[]:aa(t)}function Wi(t){return be(t,ta(t))}function Zi(t,e,n){var r=No(t);return n&&Qn(t,e,n)&&(e=E),e?me(r,e):r}function Xi(t){return Be(t,ta(t))}function Ki(t,e,n){var r=null==t?E:Oe(t,fr(e),e+"");return r===E?n:r}function Ji(t,e){if(null==t)return!1;var n=to.call(t,e);if(!n&&!tr(e)){if(e=fr(e),t=1==e.length?t:Oe(t,We(e,0,-1)),null==t)return!1;e=Dr(e),n=to.call(t,e)}return n||nr(t.length)&&Jn(e,t.length)&&(Cu(t)||Ei(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=E);for(var r=-1,i=ju(t),a=i.length,o={};++r0;++r=Ao(e,n)&&tn?0:+n||0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function fa(t){return t=u(t),t&&_t.test(t)?t.replace(vt,d):t}function da(t){return t=u(t),t&&St.test(t)?t.replace(Mt,p):t||"(?:)"}function pa(t,e,n){t=u(t),e=+e;var r=t.length;if(r>=e||!_o(e))return t;var i=(e-r)/2,a=vo(i),o=yo(i);return n=Bn("",o,n),n.slice(0,a)+t+n}function ga(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=ba(t),Eo(t,e||(Bt.test(t)?16:10))}function ya(t,e){var n="";if(t=u(t),e=+e,1>e||!t||!_o(e))return n;do e%2&&(n+=t),e=vo(e/2),t+=t;while(e);return n}function ma(t,e,n){return t=u(t),n=null==n?0:Ao(0>n?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function va(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=E),t=u(t),n=ye(me({},r||n),i,ge);var a,o,s=ye(me({},n.imports),i.imports,ge),c=ju(s),l=tn(s,c),h=0,f=n.interpolate||Rt,d="__p += '",p=Ga((n.escape||Rt).source+"|"+f.source+"|"+(f===At?Ft:Rt).source+"|"+(n.evaluate||Rt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Ut+"]")+"\n";t.replace(p,function(e,n,r,i,u,s){return r||(r=i),d+=t.slice(h,s).replace(Pt,g),n&&(a=!0,d+="' +\n__e("+n+") +\n'"),u&&(o=!0,d+="';\n"+u+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=s+e.length,e}),d+="';\n";var m=n.variable;m||(d="with (obj) {\n"+d+"\n}\n"),d=(o?d.replace(pt,""):d).replace(gt,"$1").replace(yt,"$1;"),d="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var v=Ku(function(){return za(c,y+"return "+d).apply(E,l)});if(v.source=d,Fi(v))throw v;return v}function ba(t,e,n){var r=t;return(t=u(t))?(n?Qn(r,e,n):null==e)?t.slice(x(t),w(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function _a(t,e,n){var r=t;return t=u(t),t?t.slice((n?Qn(r,e,n):null==e)?x(t):s(t,e+"")):t}function xa(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,w(t)+1):t.slice(0,c(t,e+"")+1):t}function wa(t,e,n){n&&Qn(t,e,n)&&(e=E);var r=I,i=R;if(null!=e)if(Oi(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(1>o)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ui(a)){if(t.slice(o).search(a)){var c,l,h=t.slice(0,o);for(a.global||(a=Ga(a.source,(Lt.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var f=s.lastIndexOf(a);f>-1&&(s=s.slice(0,f))}return s+i}function Aa(t){return t=u(t),t&&bt.test(t)?t.replace(mt,A):t}function ka(t,e,n){return n&&Qn(t,e,n)&&(e=E),t=u(t),t.match(e||qt)||[]}function Ea(t,e,n){return n&&Qn(t,e,n)&&(e=E),m(t)?Sa(t):_e(t,e)}function Da(t){return function(){return t}}function Ma(t){return t}function Sa(t){return qe(xe(t,!0))}function Ca(t,e){return je(t,xe(e,!0))}function Ta(t,e,n){if(null==n){var r=Oi(e),i=r?ju(e):E,a=i&&i.length?Be(e,i):E;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Be(e,ju(e)));var o=!0,u=-1,s=Bi(t),c=a.length;n===!1?o=!1:Oi(n)&&"chain"in n&&(o=n.chain);for(;++ut||!_o(t))return[];var r=-1,i=ja(Ao(t,Co));for(e=on(e,n,1);++rr?i[r]=e(r):e(r);return i}function Ra(t){var e=++eo;return u(t)+e}function Pa(t,e){return(+t||0)+(+e||0)}function qa(t,e,n){return n&&Qn(t,e,n)&&(e=E),e=Un(e,n,3),1==e.length?de(Cu(t)?t:lr(t),e):Je(t,e)}t=t?re.defaults(ne.Object(),t,re.pick(ne,jt)):ne;{var ja=t.Array,Ua=t.Date,Ya=t.Error,za=t.Function,Va=t.Math,Ha=t.Number,$a=t.Object,Ga=t.RegExp,Wa=t.String,Za=t.TypeError,Xa=ja.prototype,Ka=$a.prototype,Ja=Wa.prototype,Qa=za.prototype.toString,to=Ka.hasOwnProperty,eo=0,no=Ka.toString,ro=ne._,io=Ga("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,uo=t.parseFloat,so=Va.pow,co=Ka.propertyIsEnumerable,lo=Hn(t,"Set"),ho=t.setTimeout,fo=Xa.splice,po=t.Uint8Array,go=Hn(t,"WeakMap"),yo=Va.ceil,mo=Hn($a,"create"),vo=Va.floor,bo=Hn(ja,"isArray"),_o=t.isFinite,xo=Hn($a,"keys"),wo=Va.max,Ao=Va.min,ko=Hn(Ua,"now"),Eo=t.parseInt,Do=Va.random,Mo=Ha.NEGATIVE_INFINITY,So=Ha.POSITIVE_INFINITY,Co=4294967295,To=Co-1,Fo=Co>>>1,Lo=9007199254740991,Bo=go&&new go,Oo={};e.support={}}e.templateSettings={escape:xt,evaluate:wt,interpolate:At,variable:"",imports:{_:e}};var No=function(){function t(){}return function(e){if(Oi(e)){t.prototype=e;var n=new t;t.prototype=E}return n||{}}}(),Io=fn(Fe),Ro=fn(Le,!0),Po=dn(),qo=dn(!0),jo=Bo?function(t,e){return Bo.set(t,e),t}:Ma,Uo=Bo?function(t){return Bo.get(t)}:La,Yo=ze("length"),zo=function(){var t=0,e=0;return function(n,r){var i=gu(),a=q-(i-e);if(e=i,a>0){if(++t>=P)return n}else t=0;return jo(n,r)}}(),Vo=mi(function(t,e){return m(t)&&Kn(t)?Ae(t,Ce(e,!1,!0)):[]}),Ho=wn(),$o=wn(!0),Go=mi(function(t){for(var e=t.length,n=e,r=ja(h),i=zn(),o=i==a,u=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=o&&s.length>=120?gn(n&&s):null}var c=t[0],l=-1,h=c?c.length:0,f=r[0];t:for(;++l2?t[e-2]:E,r=e>1?t[e-1]:E;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):E,r=E),t.length=e,Pr(t,n,r)}),eu=mi(function(t){return t=Ce(t),this.thru(function(e){return Qt(Cu(e)?e:[hr(e)],t)})}),nu=mi(function(t,e){return ve(t,Ce(e))}),ru=ln(function(t,e,n){to.call(t,n)?++t[n]:t[n]=1}),iu=xn(Io),au=xn(Ro,!0),ou=En(ee,Io),uu=En(ie,Ro),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=mi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),o=Kn(t)?ja(t.length):[];return Io(t,function(t){var u=i?e:a&&null!=t?t[e]:E;o[++r]=u?u.apply(t,n):Xn(t,e,n)}),o}),hu=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),fu=Fn(le,Io),du=Fn(he,Ro),pu=mi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Ce(e),[])}),gu=ko||function(){return(new Ua).getTime()},yu=mi(function(t,e,n){var r=M;if(n.length){var i=b(n,yu.placeholder);r|=L}return Rn(t,r,e,n,i)}),mu=mi(function(t,e){e=e.length?Ce(e):Xi(t);for(var n=-1,r=e.length;++n0||0>e)?new K(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==E&&(e=+e||0,n=0>e?n.dropRight(-e):n.take(e-t)),n)},K.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},K.prototype.toArray=function(){return this.take(So)},Fe(K.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 K,c=e[0],l=s||Cu(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=function(t){return i&&n?a(t,1)[0]:a.apply(E,ce([t],e))},f={func:zr,args:[h],thisArg:E},d=s&&!u;if(i&&!n)return d?(o=o.clone(),o.__actions__.push(f),t.call(o)):a.call(E,this.value())[0];if(!i&&l){o=d?o:new K(this);var p=t.apply(o,e);return p.__actions__.push(f),new v(p,n)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Ja:Xa)[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)})}}),Fe(K.prototype,function(t,n){var r=e[n];if(r){var i=r.name,a=Oo[i]||(Oo[i]=[]);a.push({name:n,func:r})}}),Oo[Ln(E,S).name]=[{name:"wrapper",func:E}],K.prototype.clone=et,K.prototype.reverse=rt,K.prototype.value=Vt,e.prototype.chain=Vr,e.prototype.commit=Hr,e.prototype.concat=eu,e.prototype.plant=$r,e.prototype.reverse=Gr,e.prototype.toString=Wr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Zr,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 E,D="3.10.1",M=1,S=2,C=4,T=8,F=16,L=32,B=64,O=128,N=256,I=30,R="...",P=150,q=16,j=200,U=1,Y=2,z="Expected a function",V="__lodash_placeholder__",H="[object Arguments]",$="[object Array]",G="[object Boolean]",W="[object Date]",Z="[object Error]",X="[object Function]",K="[object Map]",J="[object Number]",Q="[object Object]",tt="[object RegExp]",et="[object Set]",nt="[object String]",rt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",ot="[object Float64Array]",ut="[object Int8Array]",st="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",ft="[object Uint16Array]",dt="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,bt=RegExp(mt.source),_t=RegExp(vt.source),xt=/<%-([\s\S]+?)%>/g,wt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Mt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,St=RegExp(Mt.source),Ct=/[\u0300-\u036f\ufe20-\ufe23]/g,Tt=/\\(\\)?/g,Ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Lt=/\w*$/,Bt=/^0[xX]/,Ot=/^\[object .+?Constructor\]$/,Nt=/^\d+$/,It=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rt=/($^)/,Pt=/['\n\r\u2028\u2029\\]/g,qt=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")}(),jt=["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"],Ut=-1,Yt={};Yt[at]=Yt[ot]=Yt[ut]=Yt[st]=Yt[ct]=Yt[lt]=Yt[ht]=Yt[ft]=Yt[dt]=!0,Yt[H]=Yt[$]=Yt[it]=Yt[G]=Yt[W]=Yt[Z]=Yt[X]=Yt[K]=Yt[J]=Yt[Q]=Yt[tt]=Yt[et]=Yt[nt]=Yt[rt]=!1;var zt={};zt[H]=zt[$]=zt[it]=zt[G]=zt[W]=zt[at]=zt[ot]=zt[ut]=zt[st]=zt[ct]=zt[J]=zt[Q]=zt[tt]=zt[nt]=zt[lt]=zt[ht]=zt[ft]=zt[dt]=!0,zt[Z]=zt[X]=zt[K]=zt[et]=zt[rt]=!1;var Vt={"À":"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"},Ht={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},$t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Gt={"function":!0,object:!0},Wt={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"},Zt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xt=Gt[typeof n]&&n&&!n.nodeType&&n,Kt=Gt[typeof e]&&e&&!e.nodeType&&e,Jt=Xt&&Kt&&"object"==typeof t&&t&&t.Object&&t,Qt=Gt[typeof self]&&self&&self.Object&&self,te=Gt[typeof window]&&window&&window.Object&&window,ee=Kt&&Kt.exports===Xt&&Xt,ne=Jt||te!==(this&&this.window)&&te||Qt||this,re=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ne._=re,define(function(){return re})):Xt&&Kt?ee?(Kt.exports=re)._=re:Xt._=re:ne._=re}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],84:[function(t,e,n){(function(t){!function(r){var i="object"==typeof n&&n,a="object"==typeof e&&e&&e.exports==i&&e,o="object"==typeof t&&t;(o.global===o||o.window===o)&&(r=o);var u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\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,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"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","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"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","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},f=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\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|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={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:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",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:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",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:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",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:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",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:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",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:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",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:"▫",emsp13:" ",emsp14:" ",emsp:" ",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:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",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",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",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:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",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:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",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:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",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:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",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:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",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:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",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:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",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:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",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:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",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:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",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:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",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:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",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:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",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:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",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:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",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:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",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:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",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:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",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:"ÿ"},b={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:"Ÿ"},_=[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],x=String.fromCharCode,w={},A=w.hasOwnProperty,k=function(t,e){return A.call(t,e)},E=function(t,e){for(var n=-1,r=t.length;++n=55296&&57343>=t||t>1114111?(e&&C("character reference outside the permissible Unicode range"),"�"):k(b,t)?(e&&C("disallowed character reference"),b[t]):(e&&E(_,t)&&C("disallowed character reference"),t>65535&&(t-=65536,n+=x(t>>>10&1023|55296),t=56320|1023&t),n+=x(t))},S=function(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"},C=function(t){throw Error("Parse error: "+t)},T=function(t,e){e=D(e,T.options);var n=e.strict;n&&g.test(t)&&C("forbidden code point");var r=e.encodeEverything,i=e.useNamedReferences,a=e.allowUnsafeSymbols;return r?(t=t.replace(s,function(t){return i&&k(h,t)?"&"+h[t]+";":S(t)}),i&&(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(t=t.replace(l,function(t){return"&"+h[t]+";"}))):i?(a||(t=t.replace(f,function(t){return"&"+h[t]+";"})),t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),t=t.replace(l,function(t){return"&"+h[t]+";"})):a||(t=t.replace(f,S)),t.replace(u,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1),r=1024*(e-55296)+n-56320+65536;return"&#x"+r.toString(16).toUpperCase()+";"}).replace(c,S)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var F=function(t,e){e=D(e,F.options);var n=e.strict;return n&&p.test(t)&&C("malformed character reference"),t.replace(y,function(t,r,i,a,o,u,s,c){var l,h,f,d,p;return r?(l=r,h=i,n&&!h&&C("character reference was not terminated by a semicolon"),M(l,n)):a?(f=a,h=o,n&&!h&&C("character reference was not terminated by a semicolon"),l=parseInt(f,16),M(l,n)):u?(d=u,k(m,d)?m[d]:(n&&C("named character reference was not terminated by a semicolon"),t)):(d=s,p=c,p&&e.isAttributeValue?(n&&"="==p&&C("`&` did not start a character reference"),t):(n&&C("named character reference was not terminated by a semicolon"),v[d]+(p||"")))})};F.options={isAttributeValue:!1,strict:!1};var L=function(t){return t.replace(f,function(t){return d[t]})},B={version:"0.5.0",encode:T,decode:F,escape:L,unescape:F};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return B});else if(i&&!i.nodeType)if(a)a.exports=B;else for(var O in B)k(B,O)&&(i[O]=B[O]);else r.he=B}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],85:[function(t,e,n){!function(t,r){"object"==typeof n&&"undefined"!=typeof e?e.exports=r():"function"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){"use strict";function n(){return In.apply(null,arguments)}function r(t){In=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function o(t,e){var n,r=[];for(n=0;n0)for(n in Pn)r=Pn[n],i=e[r],"undefined"!=typeof i&&(t[r]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():0/0),qn===!1&&(qn=!0,n.updateOffset(this),qn=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=m(e)),n}function b(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&v(t[r])!==v(e[r]))&&o++;return o+a}function _(){}function x(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var e,n,r,i,a=0;a0;){if(r=A(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&b(i,n,!0)>=e-1)break;e--}a++}return null}function A(n){var r=null;if(!jn[n]&&"undefined"!=typeof e&&e&&e.exports)try{r=Rn._abbr,t("./locale/"+n),k(r)}catch(i){}return jn[n]}function k(t,e){var n;return t&&(n="undefined"==typeof e?D(t):E(t,e),n&&(Rn=n)),Rn._abbr}function E(t,e){return null!==e?(e.abbr=t,jn[t]=jn[t]||new _,jn[t].set(e),k(t),jn[t]):(delete jn[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Rn;if(!i(t)){if(e=A(t))return e;t=[t]}return w(t)}function M(t,e){var n=t.toLowerCase();Un[n]=Un[n+"s"]=Un[e]=t}function S(t){return"string"==typeof t?Un[t]||Un[t.toLowerCase()]:void 0}function C(t){var e,n,r={};for(n in t)u(t,n)&&(e=S(n),e&&(r[e]=t[n]));return r}function T(t,e){return function(r){return null!=r?(L(this,t,r),n.updateOffset(this,e),this):F(this,t)}}function F(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function L(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function B(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=S(t),"function"==typeof this[t])return this[t](e);return this}function O(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}function N(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Hn[t]=i),e&&(Hn[e[0]]=function(){return O(i.apply(this,arguments),e[1],e[2])}),n&&(Hn[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function I(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function R(t){var e,n,r=t.match(Yn);for(e=0,n=r.length;n>e;e++)r[e]=Hn[r[e]]?Hn[r[e]]:I(r[e]);return function(i){var a="";for(e=0;n>e;e++)a+=r[e]instanceof Function?r[e].call(i,t):r[e];return a}}function P(t,e){return t.isValid()?(e=q(e,t.localeData()),Vn[e]=Vn[e]||R(e),Vn[e](t)):t.localeData().invalidDate()}function q(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(zn.lastIndex=0;r>=0&&zn.test(t);)t=t.replace(zn,n),zn.lastIndex=0,r-=1;return t}function j(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function U(t,e,n){or[t]=j(e)?e:function(t){return t&&n?n:e}}function Y(t,e){return u(or,t)?or[t](e._strict,e._locale):new RegExp(z(t))}function z(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function V(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=v(t)}),n=0;nr;r++){if(i=c([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 K(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function J(t){return null!=t?(K(this,t),n.updateOffset(this,!0),this):F(this,"Month")}function Q(){return G(this.year(),this.month())}function tt(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[cr]<0||n[cr]>11?cr:n[lr]<1||n[lr]>G(n[sr],n[cr])?lr:n[hr]<0||n[hr]>24||24===n[hr]&&(0!==n[fr]||0!==n[dr]||0!==n[pr])?hr:n[fr]<0||n[fr]>59?fr:n[dr]<0||n[dr]>59?dr:n[pr]<0||n[pr]>999?pr:-1,h(t)._overflowDayOfYear&&(sr>e||e>lr)&&(e=lr),h(t).overflow=e),t}function et(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function nt(t,e){var n=!0;return s(function(){return n&&(et(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function rt(t,e){mr[t]||(et(e),mr[t]=!0)}function it(t){var e,n,r=t._i,i=vr.exec(r);if(i){for(h(t).iso=!0,e=0,n=br.length;n>e;e++)if(br[e][1].exec(r)){t._f=br[e][0];break}for(e=0,n=_r.length;n>e;e++)if(_r[e][1].exec(r)){t._f+=(i[6]||" ")+_r[e][0];break}r.match(rr)&&(t._f+="Z"),At(t)}else t._isValid=!1}function at(t){var e=xr.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function ot(t,e,n,r,i,a,o){var u=new Date(t,e,n,r,i,a,o);return 1970>t&&u.setFullYear(t),u}function ut(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function st(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,e,n){var r,i=n-e,a=n-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),r=Ft(t).add(a,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function ft(t){return ht(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function yt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function mt(t,e,n,r,i){var a,o=6+i-r,u=ut(t,0,1+o),s=u.getUTCDay();return i>s&&(s+=7),n=null!=n?1*n:i,a=1+o+7*(e-1)-s+n,{year:a>0?t:t-1,dayOfYear:a>0?a:st(t-1)+a}}function vt(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 bt(t,e,n){return null!=t?t:null!=e?e:n}function _t(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function xt(t){var e,n,r,i,a=[];if(!t._d){for(r=_t(t),t._w&&null==t._a[lr]&&null==t._a[cr]&&wt(t),t._dayOfYear&&(i=bt(t._a[sr],r[sr]),t._dayOfYear>st(i)&&(h(t)._overflowDayOfYear=!0),n=ut(i,0,t._dayOfYear),t._a[cr]=n.getUTCMonth(),t._a[lr]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[hr]&&0===t._a[fr]&&0===t._a[dr]&&0===t._a[pr]&&(t._nextDay=!0,t._a[hr]=0),t._d=(t._useUTC?ut:ot).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hr]=24)}}function wt(t){var e,n,r,i,a,o,u;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,o=4,n=bt(e.GG,t._a[sr],ht(Ft(),1,4).year),r=bt(e.W,1),i=bt(e.E,1)):(a=t._locale._week.dow,o=t._locale._week.doy,n=bt(e.gg,t._a[sr],ht(Ft(),a,o).year),r=bt(e.w,1),null!=e.d?(i=e.d,a>i&&++r):i=null!=e.e?e.e+a:a),u=mt(n,r,i,o,a),t._a[sr]=u.year,t._dayOfYear=u.dayOfYear}function At(t){if(t._f===n.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var e,r,i,a,o,u=""+t._i,s=u.length,c=0;for(i=q(t._f,t._locale).match(Yn)||[],e=0;e0&&h(t).unusedInput.push(o),u=u.slice(u.indexOf(r)+r.length),c+=r.length),Hn[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),$(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=s-c,u.length>0&&h(t).unusedInput.push(u),h(t).bigHour===!0&&t._a[hr]<=12&&t._a[hr]>0&&(h(t).bigHour=void 0),t._a[hr]=kt(t._locale,t._a[hr],t._meridiem),xt(t),tt(t)}function kt(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function Et(t){var e,n,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;ia)&&(r=a,n=e));s(t,n||e)}function Dt(t){if(!t._d){var e=C(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],xt(t)}}function Mt(t){var e=new g(tt(St(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function St(t){var e=t._i,n=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===n&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new g(tt(e)):(i(n)?Et(t):n?At(t):a(e)?t._d=e:Ct(t),t))}function Ct(t){var e=t._i;void 0===e?t._d=new Date:a(e)?t._d=new Date(+e):"string"==typeof e?at(t):i(e)?(t._a=o(e.slice(0),function(t){return parseInt(t,10)}),xt(t)):"object"==typeof e?Dt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Tt(t,e,n,r,i){var a={};return"boolean"==typeof n&&(r=n,n=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=t,a._f=e,a._strict=r,Mt(a)}function Ft(t,e,n,r){return Tt(t,e,n,r,!1)}function Lt(t,e){var n,r;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Ft();for(n=e[0],r=1;rt&&(t=-t,n="-"),n+O(~~(t/60),2)+e+O(~~t%60,2)})}function Pt(t){var e=(t||"").match(rr)||[],n=e[e.length-1]||[],r=(n+"").match(Dr)||["-",0,0],i=+(60*r[1])+v(r[2]);return"+"===r[0]?i:-i}function qt(t,e){var r,i;return e._isUTC?(r=e.clone(),i=(y(t)||a(t)?+t:+Ft(t))-+r,r._d.setTime(+r._d+i),n.updateOffset(r,!1),r):Ft(t).local()}function jt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,e){var r,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Pt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(r=jt(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==t&&(!e||this._changeInProgress?re(this,Jt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:jt(this)}function Yt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function zt(t){return this.utcOffset(0,t)}function Vt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(jt(this),"m")),this}function Ht(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Pt(this._i)),this}function $t(t){return t=t?Ft(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Gt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=St(t),t._a){var e=t._isUTC?c(t._a):Ft(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Zt(){return!this._isUTC}function Xt(){return this._isUTC}function Kt(){return this._isUTC&&0===this._offset}function Jt(t,e){var n,r,i,a=t,o=null;return It(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(o=Mr.exec(t))?(n="-"===o[1]?-1:1,a={y:0,d:v(o[lr])*n,h:v(o[hr])*n,m:v(o[fr])*n,s:v(o[dr])*n,ms:v(o[pr])*n}):(o=Sr.exec(t))?(n="-"===o[1]?-1:1,a={y:Qt(o[2],n),M:Qt(o[3],n),d:Qt(o[4],n),h:Qt(o[5],n),m:Qt(o[6],n),s:Qt(o[7],n),w:Qt(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=ee(Ft(a.from),Ft(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Nt(a),It(t)&&u(t,"_locale")&&(r._locale=t._locale),r}function Qt(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function te(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 ee(t,e){var n;return e=qt(e,t),t.isBefore(e)?n=te(t,e):(n=te(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function ne(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(rt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=Jt(n,r),re(this,i,t),this}}function re(t,e,r,i){var a=e._milliseconds,o=e._days,u=e._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*r),o&&L(t,"Date",F(t,"Date")+o*r),u&&K(t,F(t,"Month")+u*r),i&&n.updateOffset(t,o||u)}function ie(t,e){var n=t||Ft(),r=qt(n,this).startOf("day"),i=this.diff(r,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[a]||this.localeData().calendar(a,this,Ft(n)))}function ae(){return new g(this)}function oe(t,e){var n;return e=S("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ft(t),+this>+t):(n=y(t)?+t:+Ft(t),n<+this.clone().startOf(e))}function ue(t,e){var n;return e=S("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ft(t),+t>+this):(n=y(t)?+t:+Ft(t),+this.clone().endOf(e)e-a?(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)}function fe(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(n=Ft([2e3,1]).day(e),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function ze(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Pe(t,this.localeData()),this.add(t-e,"d")):e}function Ve(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function He(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function $e(t,e){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ge(t,e){return e._meridiemParse}function We(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ze(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Xe(t,e){e[pr]=v(1e3*("0."+t))}function Ke(){return this._isUTC?"UTC":""}function Je(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Ft(1e3*t)}function tn(){return Ft.apply(null,arguments).parseZone()}function en(t,e,n){var r=this._calendar[t];return"function"==typeof r?r.call(e,n):r}function nn(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 rn(){return this._invalidDate}function an(t){return this._ordinal.replace("%d",t)}function on(t){return t}function un(t,e,n,r){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,r):i.replace(/%d/i,t)}function sn(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function cn(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ln(t,e,n,r){var i=D(),a=c().set(r,e);return i[n](a,t)}function hn(t,e,n,r,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ln(t,e,n,i);var a,o=[];for(a=0;r>a;a++)o[a]=ln(t,a,n,i);return o}function fn(t,e){return hn(t,e,"months",12,"month")}function dn(t,e){return hn(t,e,"monthsShort",12,"month")}function pn(t,e){return hn(t,e,"weekdays",7,"day")}function gn(t,e){return hn(t,e,"weekdaysShort",7,"day")}function yn(t,e){return hn(t,e,"weekdaysMin",7,"day")}function mn(){var t=this._data;return this._milliseconds=Kr(this._milliseconds),this._days=Kr(this._days),this._months=Kr(this._months),t.milliseconds=Kr(t.milliseconds),t.seconds=Kr(t.seconds),t.minutes=Kr(t.minutes),t.hours=Kr(t.hours),t.months=Kr(t.months),t.years=Kr(t.years),this}function vn(t,e,n,r){var i=Jt(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function bn(t,e){return vn(this,t,e,1)}function _n(t,e){return vn(this,t,e,-1)}function xn(t){return 0>t?Math.floor(t):Math.ceil(t)}function wn(){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||0>=a&&0>=o&&0>=u||(a+=864e5*xn(kn(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(An(o)),u+=i,o-=xn(kn(i)),r=m(u/12),u%=12,s.days=o,s.months=u,s.years=r,this}function An(t){return 4800*t/146097}function kn(t){return 146097*t/4800}function En(t){var e,n,r=this._milliseconds;if(t=S(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+An(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)}}function Dn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function Mn(t){return function(){return this.as(t)}}function Sn(t){return t=S(t),this[t+"s"]()}function Cn(t){return function(){return this._data[t]}}function Tn(){return m(this.days()/7)}function Fn(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function Ln(t,e,n){var r=Jt(t).abs(),i=di(r.as("s")),a=di(r.as("m")),o=di(r.as("h")),u=di(r.as("d")),s=di(r.as("M")),c=di(r.as("y")),l=i0,l[4]=n,Fn.apply(null,l)}function Bn(t,e){return void 0===pi[t]?!1:void 0===e?pi[t]:(pi[t]=e,!0)}function On(t){var e=this.localeData(),n=Ln(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Nn(){var t,e,n,r=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(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,h=r,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(o?o+"Y":"")+(u?u+"M":"")+(s?s+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var In,Rn,Pn=n.momentProperties=[],qn=!1,jn={},Un={},Yn=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,zn=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vn={},Hn={},$n=/\d/,Gn=/\d\d/,Wn=/\d{3}/,Zn=/\d{4}/,Xn=/[+-]?\d{6}/,Kn=/\d\d?/,Jn=/\d{1,3}/,Qn=/\d{1,4}/,tr=/[+-]?\d{1,6}/,er=/\d+/,nr=/[+-]?\d+/,rr=/Z|[+-]\d\d:?\d\d/gi,ir=/[+-]?\d+(\.\d{1,3})?/,ar=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,or={},ur={},sr=0,cr=1,lr=2,hr=3,fr=4,dr=5,pr=6;N("M",["MM",2],"Mo",function(){return this.month()+1}),N("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),N("MMMM",0,0,function(t){return this.localeData().months(this,t)}),M("month","M"),U("M",Kn),U("MM",Kn,Gn),U("MMM",ar),U("MMMM",ar),V(["M","MM"],function(t,e){e[cr]=v(t)-1}),V(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[cr]=i:h(n).invalidMonth=t});var gr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mr={};n.suppressDeprecationWarnings=!1;var vr=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,br=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],_r=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],xr=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=nt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),N(0,["YY",2],0,function(){return this.year()%100}),N(0,["YYYY",4],0,"year"),N(0,["YYYYY",5],0,"year"),N(0,["YYYYYY",6,!0],0,"year"),M("year","y"),U("Y",nr),U("YY",Kn,Gn),U("YYYY",Qn,Zn),U("YYYYY",tr,Xn),U("YYYYYY",tr,Xn),V(["YYYYY","YYYYYY"],sr),V("YYYY",function(t,e){e[sr]=2===t.length?n.parseTwoDigitYear(t):v(t)}),V("YY",function(t,e){e[sr]=n.parseTwoDigitYear(t)}),n.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var wr=T("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),U("w",Kn),U("ww",Kn,Gn),U("W",Kn),U("WW",Kn,Gn),H(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=v(t)});var Ar={dow:0,doy:6};N("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),U("DDD",Jn),U("DDDD",Wn),V(["DDD","DDDD"],function(t,e,n){n._dayOfYear=v(t)}),n.ISO_8601=function(){};var kr=nt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return this>t?this:t}),Er=nt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return t>this?this:t});Rt("Z",":"),Rt("ZZ",""),U("Z",rr),U("ZZ",rr),V(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Pt(t)});var Dr=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var Mr=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Sr=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Jt.fn=Nt.prototype;var Cr=ne(1,"add"),Tr=ne(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Fr=nt("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)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Fe("gggg","weekYear"),Fe("ggggg","weekYear"),Fe("GGGG","isoWeekYear"),Fe("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),U("G",nr),U("g",nr),U("GG",Kn,Gn),U("gg",Kn,Gn),U("GGGG",Qn,Zn),U("gggg",Qn,Zn),U("GGGGG",tr,Xn),U("ggggg",tr,Xn),H(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=v(t)}),H(["gg","GG"],function(t,e,r,i){e[i]=n.parseTwoDigitYear(t)}),N("Q",0,0,"quarter"),M("quarter","Q"),U("Q",$n),V("Q",function(t,e){e[cr]=3*(v(t)-1)}),N("D",["DD",2],"Do","date"),M("date","D"),U("D",Kn),U("DD",Kn,Gn),U("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),V(["D","DD"],lr),V("Do",function(t,e){e[lr]=v(t.match(Kn)[0],10)});var Lr=T("Date",!0);N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),U("d",Kn),U("e",Kn),U("E",Kn),U("dd",ar),U("ddd",ar),U("dddd",ar),H(["dd","ddd","dddd"],function(t,e,n){var r=n._locale.weekdaysParse(t);null!=r?e.d=r:h(n).invalidWeekday=t}),H(["d","e","E"],function(t,e,n,r){e[r]=v(t)});var Br="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Or="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Nr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");N("H",["HH",2],0,"hour"),N("h",["hh",2],0,function(){return this.hours()%12||12}),$e("a",!0),$e("A",!1),M("hour","h"),U("a",Ge),U("A",Ge),U("H",Kn),U("h",Kn),U("HH",Kn,Gn),U("hh",Kn,Gn),V(["H","HH"],hr),V(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),V(["h","hh"],function(t,e,n){e[hr]=v(t),h(n).bigHour=!0});var Ir=/[ap]\.?m?\.?/i,Rr=T("Hours",!0);N("m",["mm",2],0,"minute"),M("minute","m"),U("m",Kn),U("mm",Kn,Gn),V(["m","mm"],fr);var Pr=T("Minutes",!1);N("s",["ss",2],0,"second"),M("second","s"),U("s",Kn),U("ss",Kn,Gn),V(["s","ss"],dr);var qr=T("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),N(0,["SSS",3],0,"millisecond"),N(0,["SSSS",4],0,function(){return 10*this.millisecond()}),N(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),N(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),N(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),N(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),N(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),M("millisecond","ms"),U("S",Jn,$n),U("SS",Jn,Gn),U("SSS",Jn,Wn);var jr;for(jr="SSSS";jr.length<=9;jr+="S")U(jr,er);for(jr="S";jr.length<=9;jr+="S")V(jr,Xe);var Ur=T("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var Yr=g.prototype;Yr.add=Cr,Yr.calendar=ie,Yr.clone=ae,Yr.diff=le,Yr.endOf=we,Yr.format=pe,Yr.from=ge,Yr.fromNow=ye,Yr.to=me,Yr.toNow=ve,Yr.get=B,Yr.invalidAt=Te,Yr.isAfter=oe,Yr.isBefore=ue,Yr.isBetween=se,Yr.isSame=ce,Yr.isValid=Se,Yr.lang=Fr,Yr.locale=be,Yr.localeData=_e,Yr.max=Er,Yr.min=kr,Yr.parsingFlags=Ce,Yr.set=B,Yr.startOf=xe,Yr.subtract=Tr,Yr.toArray=De,Yr.toObject=Me,Yr.toDate=Ee,Yr.toISOString=de,Yr.toJSON=de,Yr.toString=fe,Yr.unix=ke,Yr.valueOf=Ae,Yr.year=wr,Yr.isLeapYear=lt,Yr.weekYear=Be,Yr.isoWeekYear=Oe,Yr.quarter=Yr.quarters=Re,Yr.month=J,Yr.daysInMonth=Q,Yr.week=Yr.weeks=gt,Yr.isoWeek=Yr.isoWeeks=yt,Yr.weeksInYear=Ie,Yr.isoWeeksInYear=Ne,Yr.date=Lr,Yr.day=Yr.days=ze,Yr.weekday=Ve,Yr.isoWeekday=He,Yr.dayOfYear=vt,Yr.hour=Yr.hours=Rr,Yr.minute=Yr.minutes=Pr,Yr.second=Yr.seconds=qr,Yr.millisecond=Yr.milliseconds=Ur,Yr.utcOffset=Ut,Yr.utc=zt,Yr.local=Vt,Yr.parseZone=Ht,Yr.hasAlignedHourOffset=$t,Yr.isDST=Gt,Yr.isDSTShifted=Wt,Yr.isLocal=Zt,Yr.isUtcOffset=Xt,Yr.isUtc=Kt,Yr.isUTC=Kt,Yr.zoneAbbr=Ke,Yr.zoneName=Je,Yr.dates=nt("dates accessor is deprecated. Use date instead.",Lr),Yr.months=nt("months accessor is deprecated. Use month instead",J),Yr.years=nt("years accessor is deprecated. Use year instead",wr),Yr.zone=nt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Yt);var zr=Yr,Vr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Hr={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"},$r="Invalid date",Gr="%d",Wr=/\d{1,2}/,Zr={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"},Xr=_.prototype;Xr._calendar=Vr,Xr.calendar=en,Xr._longDateFormat=Hr,Xr.longDateFormat=nn,Xr._invalidDate=$r,Xr.invalidDate=rn,Xr._ordinal=Gr,Xr.ordinal=an,Xr._ordinalParse=Wr,Xr.preparse=on,Xr.postformat=on,Xr._relativeTime=Zr, +Xr.relativeTime=un,Xr.pastFuture=sn,Xr.set=cn,Xr.months=W,Xr._months=gr,Xr.monthsShort=Z,Xr._monthsShort=yr,Xr.monthsParse=X,Xr.week=ft,Xr._week=Ar,Xr.firstDayOfYear=pt,Xr.firstDayOfWeek=dt,Xr.weekdays=qe,Xr._weekdays=Br,Xr.weekdaysMin=Ue,Xr._weekdaysMin=Nr,Xr.weekdaysShort=je,Xr._weekdaysShort=Or,Xr.weekdaysParse=Ye,Xr.isPM=We,Xr._meridiemParse=Ir,Xr.meridiem=Ze,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=nt("moment.lang is deprecated. Use moment.locale instead.",k),n.langData=nt("moment.langData is deprecated. Use moment.localeData instead.",D);var Kr=Math.abs,Jr=Mn("ms"),Qr=Mn("s"),ti=Mn("m"),ei=Mn("h"),ni=Mn("d"),ri=Mn("w"),ii=Mn("M"),ai=Mn("y"),oi=Cn("milliseconds"),ui=Cn("seconds"),si=Cn("minutes"),ci=Cn("hours"),li=Cn("days"),hi=Cn("months"),fi=Cn("years"),di=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Nt.prototype;yi.abs=mn,yi.add=bn,yi.subtract=_n,yi.as=En,yi.asMilliseconds=Jr,yi.asSeconds=Qr,yi.asMinutes=ti,yi.asHours=ei,yi.asDays=ni,yi.asWeeks=ri,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Dn,yi._bubble=wn,yi.get=Sn,yi.milliseconds=oi,yi.seconds=ui,yi.minutes=si,yi.hours=ci,yi.days=li,yi.weeks=Tn,yi.months=hi,yi.years=fi,yi.humanize=On,yi.toISOString=Nn,yi.toString=Nn,yi.toJSON=Nn,yi.locale=be,yi.localeData=_e,yi.toIsoString=nt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Nn),yi.lang=Fr,N("X",0,0,"unix"),N("x",0,0,"valueOf"),U("x",nr),U("X",ir),V("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),V("x",function(t,e,n){n._d=new Date(v(t))}),n.version="2.10.6",r(Ft),n.fn=zr,n.min=Bt,n.max=Ot,n.utc=c,n.unix=Qe,n.months=fn,n.isDate=a,n.locale=k,n.invalid=d,n.duration=Jt,n.isMoment=y,n.weekdays=pn,n.parseZone=tn,n.localeData=D,n.isDuration=It,n.monthsShort=dn,n.weekdaysMin=yn,n.defineLocale=E,n.weekdaysShort=gn,n.normalizeUnits=S,n.relativeTimeThreshold=Bn;var mi=n;return mi})},{}],86:[function(t,e){e.exports={name:"mermaid",version:"0.5.4",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0","babel-eslint":"^4.1.3",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","eslint-watch":"^2.1.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3",uglifyjs:"^2.4.10","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],87:[function(t,e){"use strict";var n;if(t)try{n=t("d3")}catch(r){}n||(n=window.d3),e.exports=n,function(){var t=!1;if(t="tspans",n.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;n.selection.prototype.textwrap=n.selection.enter.prototype.textwrap=function(e,r){var i,r=parseInt(r)||0,a=this,o=function(t){var e=t[0][0],r=e.tagName.toString();if("rect"!==r)return!1;var i={};return i.x=n.select(e).attr("x")||0,i.y=n.select(e).attr("y")||0,i.width=n.select(e).attr("width")||0,i.height=n.select(e).attr("height")||0,i.attr=t.attr,i},u=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=o(t);return e}return!1},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},c=u(e);if(r&&(c=s(c,r)),0!=a.length&&n&&e&&c){e=c;var l,h=function(t){var r=n.select(t[0].parentNode),a=r.select("text"),o=a.style("line-height"),u=a.text();a.remove();var s=r.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),i=r.select("foreignObject")},f=function(t){var a,o=t[0],u=o.parentNode,s=n.select(o),c=o.getBBox().height,l=o.getBBox().width,h=c,f=s.style("line-height");if(a=f&&parseInt(f)?parseInt(f.replace("px","")):h,l>e.width){var d=s.text();if(s.text(""),d){var p,g;if(-1!==d.indexOf(" ")){var p=" ";g=d.split(" ")}else{p="";var y=d.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var b,_,g=[],x=0;m>x;x++)_=x*v,b=d.substr(_,v),g.push(b)}for(var w=[],A=0,k={},x=0;xe.width&&M&&""!==M&&(A+=S,k={string:M,width:S,offset:A},w.push(k),s.text(""),s.text(D),x==g.length-1&&(E=D,s.text(E),C=o.getComputedTextLength())),x==g.length-1){s.text("");var T=E;T&&""!==T&&(C-A>0&&(C-=A),k={string:T,width:C,offset:A},w.push(k))}}var F;s.text("");for(var x=0;x0){w[x-1]}x*a0?a:void 0}),F.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}}s.attr("y",function(){var t=e.y;return a&&(t+=a),r&&(t+=r),t}),s.attr("x",function(){var t=e.x;return r&&(t+=r),t}),i=n.select(u).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=f)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:f);for(var d=0;dl&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},i=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],91:[function(t,e){"use strict";function n(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}var r,i=t("../../logger"),a=n(i),o=new a.Log;if(t)try{r=t("dagre-d3")}catch(u){o.debug("Could not load dagre-d3")}r||(r=window.dagreD3),e.exports=r},{"../../logger":103,"dagre-d3":5}],92:[function(t,e,n){"use strict";function r(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}var i=t("../../logger"),a=r(i),o=t("./graphDb"),u=t("./parser/flow"),s=t("./parser/dot"),c=t("../../d3"),l=t("./dagre-d3"),h=new a.Log,f={};e.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e0&&(o=a.classes.join(" "));var u="";u=r(u,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s="";f.htmlLabels?(s="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),s="text");var c=0,l="";switch(a.type){case"round":c=5,l="rect";break;case"square":l="rect";break;case"diamond":l="question";break;case"odd":l="rect_left_inv_arrow";break;case"odd_right":l="rect_left_inv_arrow";break;case"circle":l="circle";break;case"group":l="rect",i="";break;default:l="rect"}e.setNode(a.id,{labelType:s,shape:l,label:i,rx:c,ry:c,"class":o,style:u,id:a.id})})},n.addEdges=function(t,e){var n,r,i=0;"undefined"!=typeof t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,n="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof 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"}if("undefined"==typeof t.text)"undefined"==typeof t.style?e.setEdge(t.start,t.end,{style:a,arrowhead:n},i):e.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:n},i);else{var o=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?f.htmlLabels?e.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:o,arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:o,arrowhead:n},i)}})},n.getClasses=function(t,e){var n;o.clear(),n=e?s.parser:u.parser,n.yy=o,n.parse(t);var r=o.getClasses();return"undefined"==typeof r["default"]&&(r["default"]={id:"default"},r["default"].styles=[],r["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],r["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],r["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),r},n.draw=function(t,e,r){h.debug("Drawing flowchart");var i;o.clear(),i=r?s.parser:u.parser,i.yy=o;try{i.parse(t)}catch(a){h.debug("Parsing failed")}var d;d=o.getDirection(),"undefined"==typeof d&&(d="TD");var p,g=new l.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=o.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],o.addVertex(p.id,p.title,"group",void 0);var v=o.getVertices(),b=o.getEdges();m=0;var _;for(m=y.length-1;m>=0;m--)for(p=y[m],c.selectAll("cluster").append("text"),_=0;_0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(n){var r=d3.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,r),setClickFun(t,e),setLink(t,n)}):(setTooltip(t,r),setClickFun(t,e),setLink(t,n))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var n=d3.select(t).select("svg"),r=n.selectAll("g.node");r.on("mouseover",function(){var t=d3.select(this),n=t.attr("title");if(null!==n){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);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function n(t){var e={"boolean":{},number:{},string:{}},n=[];return t.filter(function(t){var r=typeof t;return" "===t?!1:r in e?e[r].hasOwnProperty(t)?!1:e[r][t]=!0:n.indexOf(t)>=0?!1:n.push(t)})}var r=[];r=n(r.concat.apply(r,t));var i={id:"subGraph"+subCount,nodes:r,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e2e3)){if(posCrossRef[secCount]=n,subGraphs[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i=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}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":87,"../../logger":103}],94:[function(t,e,n){(function(r){"use strict";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],h=[1,19],f=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],_=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],M=[1,49],S=[1,52],C=[2,65],T=[1,65],F=[1,66],L=[1,67],B=[1,68],O=[1,69],N=[1,70],I=[1,71],R=[1,72],P=[1,73],q=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],U={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){ +var o=a.length-1;switch(i){case 1:this.$=a[o-1];break;case 2:this.$=a[o-4];break;case 3:this.$=a[o-5];break;case 4:this.$=a[o-3];break;case 8:case 10:case 11:this.$=a[o];break;case 9:this.$=a[o-1]+""+a[o];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[o];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:r.addLink(a[o-1],a[o].id,a[o].op),this.$="oy";break;case 42:r.addLink(a[o-1],a[o].id,a[o].op),this.$={op:a[o-2],id:a[o-1]};break;case 44:this.$={op:a[o-1],id:a[o]};break;case 48:r.addVertex(a[o-1]),this.$=a[o-1];break;case 49:r.addVertex(a[o]),this.$=a[o];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:h,24:f,25:d,26:p},{6:23,12:n,13:r},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},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:h,24:f,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:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,41]},{10:[2,21],28:[1,42]},e(w,[2,23]),e(w,[2,24]),e(w,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(w,[2,27],{41:46,43:47,57:D,58:M}),e(w,[2,47],{43:47,34:50,41:51,37:S,57:D,58:M}),{34:53,37:S},{34:54,37:S},{34:55,37:S},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{7:62,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},e(A,[2,48]),e(A,C,{14:10,15:11,7:63,46:64,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,48:T,49:F,50:L,51:B,52:O,53:N,54:I,55:R,56:P}),e(w,[2,41],{34:74,37:S}),{7:77,8:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,33:76,42:75,47:_},e(q,[2,66]),e(q,[2,67]),e(w,[2,46]),e(w,[2,40],{34:78,37:S}),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:79,39:[1,80]},e(w,[2,28]),e(w,[2,29]),e(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{5:[2,2]},{10:[2,22]},e(w,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(w,[2,38]),e(j,[2,44],{43:47,41:87,57:D,58:M}),e(j,[2,45],{43:47,41:88,57:D,58:M}),e(A,k,{44:44,45:E}),e(w,[2,39]),{39:[1,89]},e(w,[2,34],{34:90,37:S}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,C,{46:95,48:T,49:F,50:L,51:B,52:O,53:N,54:I,55:R,56:P}),e(j,[2,42]),e(j,[2,43]),e(w,[2,33],{34:96,37:S}),e(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,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)throw new Error(t);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=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,b,_,x,w,A,k,E,D,M=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},S={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=M()),x=a[_]&&a[_][v]),"undefined"==typeof x||!x.length||!x[0]){var C="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Y=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return U.lexer=Y,t.prototype=U,U.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],95:[function(t,e,n){(function(r){"use strict";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,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],o=[2,2],u=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,31],f=[1,33],d=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],b=[1,28],_=[1,36],x=[1,38],w=[1,35],A=[1,37],k=[1,43],E=[1,42],D=[1,39],M=[1,40],S=[1,41],C=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],T=[1,51],F=[1,50],L=[1,52],B=[1,70],O=[1,78],N=[1,79],I=[1,64],R=[1,63],P=[1,83],q=[1,82],j=[1,80],U=[1,81],Y=[1,71],z=[1,66],V=[1,65],H=[1,61],$=[1,73],G=[1,74],W=[1,75],Z=[1,76],X=[1,77],K=[1,68],J=[1,67],Q=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],et=[1,112],nt=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],rt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],ot=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],ut=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],st=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],ft=[1,190],dt=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],bt=[1,188],_t=[1,189],xt=[1,205],wt=[8,9,11,83],At=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],kt={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]],performAction:function(t,e,n,r,i,a){var o=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[o]!==[]&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 55:case 57:case 58:case 90:case 92:case 93:case 106:this.$=a[o];break;case 11:r.setDirection(a[o-1]),this.$=a[o-1];break;case 12:r.setDirection("LR"),this.$=a[o-1];break;case 13:r.setDirection("RL"),this.$=a[o-1];break;case 14:r.setDirection("BT"),this.$=a[o-1];break;case 15:r.setDirection("TB"),this.$=a[o-1];break;case 30:this.$=a[o-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[o-1],a[o-3]);break;case 37:this.$=r.addSubGraph(a[o-1],void 0);break;case 41:r.addLink(a[o-2],a[o],a[o-1]),this.$=[a[o-2],a[o]];break;case 42:this.$=[a[o]];break;case 43:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"square");break;case 44:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"square");break;case 45:this.$=a[o-5],r.addVertex(a[o-5],a[o-2],"circle");break;case 46:this.$=a[o-6],r.addVertex(a[o-6],a[o-3],"circle");break;case 47:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"round");break;case 48:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"round");break;case 49:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"diamond");break;case 50:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"diamond");break;case 51:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"odd");break;case 52:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"odd");break;case 53:this.$=a[o],r.addVertex(a[o]);break;case 54:this.$=a[o-1],r.addVertex(a[o-1]);break;case 56:case 91:case 94:case 107:this.$=a[o-1]+""+a[o];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[o-1].text=a[o],this.$=a[o-1];break;case 62:case 63:a[o-2].text=a[o-1],this.$=a[o-2];break;case 64:this.$=a[o];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[o-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[o-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[o-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[o-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[o-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[o-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[o-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[o-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[o-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[o-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[o-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[o-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[o-1];break;case 108:case 109:this.$=a[o-4],r.addClass(a[o-2],a[o]);break;case 110:this.$=a[o-4],r.setClass(a[o-2],a[o]);break;case 111:this.$=a[o-4],r.setClickEvent(a[o-2],a[o],void 0,void 0);break;case 112:this.$=a[o-6],r.setClickEvent(a[o-4],a[o-2],void 0,a[o]);break;case 113:this.$=a[o-4],r.setClickEvent(a[o-2],void 0,a[o],void 0);break;case 114:this.$=a[o-6],r.setClickEvent(a[o-4],void 0,a[o-2],a[o]);break;case 115:this.$=a[o-4],r.addVertex(a[o-2],void 0,void 0,a[o]);break;case 116:case 117:case 118:this.$=a[o-4],r.updateLink(a[o-2],a[o]);break;case 120:this.$=[a[o]];break;case 121:a[o-2].push(a[o]),this.$=a[o-2];break;case 123:this.$=a[o-1]+a[o]}},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:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(a,[2,9]),e(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},e(C,[2,3]),e(C,[2,4]),e(C,[2,5]),e(C,[2,6]),e(C,[2,7]),e(C,[2,8]),{8:T,9:F,11:L,24:49},{8:T,9:F,11:L,24:53},{8:T,9:F,11:L,24:54},{8:T,9:F,11:L,24:55},{8:T,9:F,11:L,24:56},{8:T,9:F,11:L,24:57},{8:T,9:F,10:B,11:L,12:O,13:N,15:I,16:R,17:P,18:q,24:59,30:j,31:58,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(Q,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},e(tt,[2,53],{43:32,21:110,42:111,10:et,13:h,15:[1,109],18:f,36:[1,106],38:[1,107],40:[1,108],44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S}),e(nt,[2,55]),e(nt,[2,57]),e(nt,[2,58]),e(nt,[2,59]),e(nt,[2,60]),e(rt,[2,148]),e(rt,[2,149]),e(rt,[2,150]),e(rt,[2,151]),e(rt,[2,152]),e(rt,[2,153]),e(rt,[2,154]),e(rt,[2,155]),e(rt,[2,156]),{8:it,9:at,10:et,14:113,21:116},{8:it,9:at,10:et,14:117,21:116},{8:it,9:at,10:et,14:118,21:116},{8:it,9:at,10:et,14:119,21:116},{8:it,9:at,10:et,14:120,21:116},e(C,[2,30]),e(C,[2,38]),e(C,[2,39]),e(C,[2,40]),e(C,[2,31]),e(C,[2,32]),e(C,[2,33]),e(C,[2,34]),e(C,[2,35]),{8:T,9:F,10:B,11:L,12:O,13:N,15:I,16:R,17:P,18:q,24:121,30:j,32:U,43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(ot,o,{5:123}),e(ut,[2,90]),e(ut,[2,92]),e(ut,[2,137]),e(ut,[2,138]),e(ut,[2,139]),e(ut,[2,140]),e(ut,[2,141]),e(ut,[2,142]),e(ut,[2,143]),e(ut,[2,144]),e(ut,[2,145]),e(ut,[2,146]),e(ut,[2,147]),e(ut,[2,95]),e(ut,[2,96]),e(ut,[2,97]),e(ut,[2,98]),e(ut,[2,99]),e(ut,[2,100]),e(ut,[2,101]),e(ut,[2,102]),e(ut,[2,103]),e(ut,[2,104]),e(ut,[2,105]),{13:h,18:f,33:124,35:29,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(st,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:128,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:129,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:130,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(ct,[2,77]),e(ct,[2,78]),e(ct,[2,79]),e(ct,[2,80]),e(ct,[2,81]),e(ct,[2,82]),e(ct,[2,83]),e(ct,[2,84]),e(ct,[2,85]),e(ct,[2,86]),e(ct,[2,87]),e(ct,[2,88]),{13:h,18:f,35:131,42:30,43:32,44:p,78:[1,132],79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{76:[1,133],79:[1,134]},{13:h,18:f,35:136,42:30,43:32,44:p,76:[1,135],79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{13:h,18:f,35:137,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{13:h,18:f,35:138,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:139,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:141,32:U,38:[1,140],43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:142,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:143,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,54]),e(nt,[2,56]),e(tt,[2,29],{21:144,10:et}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,145]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(ot,o,{5:146}),e(ut,[2,91]),{6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(Q,[2,41]),e(st,[2,61],{10:[1,148]}),{10:[1,149]},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:150,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,43:69,44:Y,48:z,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,43:69,44:Y,48:z,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,43:69,44:Y,48:z,58:V,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,163],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,169],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:[1,170],13:h,18:f,42:111,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,37:[1,171],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z, +73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,31:172,32:U,43:69,44:Y,48:z,58:V,64:60,65:H,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,39:[1,173],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,41:[1,174],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,37:[1,175],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,28]),e(a,[2,23]),{6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(C,[2,37]),e(st,[2,63]),e(st,[2,62]),{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,43:69,44:Y,48:z,58:V,63:[1,177],64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(st,[2,65]),e(st,[2,66]),e(st,[2,67]),e(st,[2,68]),e(st,[2,69]),e(st,[2,70]),e(st,[2,71]),e(st,[2,72]),e(st,[2,73]),e(st,[2,74]),e(st,[2,75]),e(st,[2,76]),{10:lt,44:ht,69:ft,77:178,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:192,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:193,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:194,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:195,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:ft,77:196,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{13:h,18:f,35:197,42:30,43:32,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},{13:h,18:f,35:198,42:30,43:32,44:p,65:[1,199],79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,43],{21:200,10:et}),{10:B,12:O,13:N,15:I,16:R,17:P,18:q,30:j,32:U,39:[1,201],43:69,44:Y,48:z,58:V,64:122,68:72,69:$,70:G,71:W,72:Z,73:X,75:62,76:K,79:_,81:J,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S},e(tt,[2,47],{21:202,10:et}),e(tt,[2,49],{21:203,10:et}),e(tt,[2,51],{21:204,10:et}),e(C,[2,36]),e([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),e(Q,[2,115],{83:xt}),e(wt,[2,120],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(At,[2,122]),e(At,[2,124]),e(At,[2,125]),e(At,[2,126]),e(At,[2,127]),e(At,[2,128]),e(At,[2,129]),e(At,[2,130]),e(At,[2,131]),e(At,[2,132]),e(At,[2,133]),e(At,[2,134]),e(Q,[2,116],{83:xt}),e(Q,[2,117],{83:xt}),e(Q,[2,118],{83:xt}),e(Q,[2,108],{83:xt}),e(Q,[2,109],{83:xt}),e(Q,[2,110],{43:32,42:111,13:h,18:f,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S}),e(Q,[2,111],{43:32,42:111,10:[1,207],13:h,18:f,44:p,79:_,83:x,85:w,86:A,88:k,89:E,91:D,92:M,93:S}),e(Q,[2,113],{10:[1,208]}),e(tt,[2,44]),{39:[1,209]},e(tt,[2,48]),e(tt,[2,50]),e(tt,[2,52]),{10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},e(At,[2,123]),{65:[1,211]},{65:[1,212]},e(tt,[2,45],{21:213,10:et}),e(wt,[2,121],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(Q,[2,112]),e(Q,[2,114]),e(tt,[2,46])],defaultActions:{},parseError:function(t,e){if(!e.recoverable)throw new Error(t);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=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,b,_,x,w,A,k,E,D,M=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},S={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=M()),x=a[_]&&a[_][v]),"undefined"==typeof x||!x.length||!x[0]){var C="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9;case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return kt.lexer=Et,t.prototype=kt,kt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],96:[function(t,e,n){(function(e){"use strict";function r(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}var i=t("../../logger"),a=r(i),o=t("moment"),u=new a.Log,s="",c="",l=[],h=[],f="";n.clear=function(){l=[],h=[],f="",c="",y=0,d=void 0},n.setDateFormat=function(t){s=t},n.getDateFormat=function(){return s},n.setTitle=function(t){c=t},n.getTitle=function(){return c},n.addSection=function(t){f=t,l.push(t)},n.findTaskById=function(t){var e;for(e=0;en-e?n+i+1.5*o.sidePadding>u?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+o.barHeight/2+(o.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=w(t.startTime),n=w(t.endTime),r=this.getBBox().width,i=0,a=0;an-e?n+r+1.5*o.sidePadding>u?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}function l(t,e,n,a){var u,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()}]];"undefined"!=typeof o.axisFormatter&&(l=[],o.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),u=s.concat(l).concat(c);var h=i.svg.axis().scale(w).orient("bottom").tickSize(-a+e+o.gridLineStartPadding,0,0).tickFormat(i.time.format.multi(u));r>7&&230>r&&(h=h.ticks(i.time.monday.range)),b.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,e){for(var n=[],r=0,i=0;i0))return i[1]*t/2+e;for(var o=0;a>o;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;er;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}function p(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function g(t,e){return p(e)[t]||0}n.yy.clear(),n.parse(t);var y=document.getElementById(e);u=y.parentElement.offsetWidth,"undefined"==typeof u&&(u=1200),"undefined"!=typeof o.useWidth&&(u=o.useWidth);var m=n.yy.getTasks(),v=m.length*(o.barHeight+o.barGap)+2*o.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+u+" "+v);var b=i.select("#"+e),_=i.min(m,function(t){return t.startTime}),x=i.max(m,function(t){return t.endTime}),w=i.time.scale().domain([i.min(m,function(t){return t.startTime}),i.max(m,function(t){return t.endTime})]).rangeRound([0,u-150]),A=[];r=a.duration(x-_).asDays();for(var k=0;kl&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},s=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:break;case 2:break;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 t}();return u.lexer=s,t.prototype=u,u.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],99:[function(t,e,n){(function(r){"use strict";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,15,17,19,20,22,33],r=[2,2],i=[1,6],a=[1,8],o=[1,9],u=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],f=[1,18],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,e,n,r,i,a){var o=a.length-1;switch(i){case 1:return r.apply(a[o-1]),a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:this.$=a[o-1];break;case 12:a[o-1].unshift({type:"loopStart",loopText:a[o-2].actor,signalType:r.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 13:a[o-1].unshift({type:"optStart",optText:a[o-2].actor,signalType:r.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:a[o-2].actor,signalType:r.LINETYPE.OPT_END}),this.$=a[o-1];break;case 14:a[o-4].unshift({type:"altStart",altText:a[o-5].actor,signalType:r.LINETYPE.ALT_START}),a[o-4].push({type:"else",altText:a[o-2].actor,signalType:r.LINETYPE.ALT_ELSE}),a[o-4]=a[o-4].concat(a[o-1]),a[o-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[o-4];break;case 15:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 19:this.$=a[o];break;case 20:this.$=[a[o-2],a[o]];break;case 21:this.$=r.PLACEMENT.LEFTOF;break;case 22:this.$=r.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 26:this.$={type:"addActor",actor:a[o]};break;case 27:this.$=r.LINETYPE.SOLID_OPEN;break;case 28:this.$=r.LINETYPE.DOTTED_OPEN;break;case 29:this.$=r.LINETYPE.SOLID;break;case 30:this.$=r.LINETYPE.DOTTED;break;case 31:this.$=r.LINETYPE.SOLID_CROSS;break;case 32:this.$=r.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[o].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,r,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,22:h,33:f},e(n,d,{1:[2,1]}),e(p,[2,3]),{9:19,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,22:h,33:f},e(p,[2,5]),e(p,[2,6]),{12:20,33:f},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:f},{12:25,33:f},{12:26,33:f},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},e([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),e(p,[2,4]),{10:[1,38]},e(p,[2,9]),e(p,[2,10]),{16:[1,39]},e(g,r,{5:40}),e(g,r,{5:41}),e([6,8,10,11,15,17,19,20,21,22,33],r,{5:42}),{12:43,33:f},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:f},{8:y,26:45},{33:[2,21]},{33:[2,22]},e(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,48],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,50],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,21:[1,51],22:h,33:f},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:f},{8:y,26:57,33:[2,18]},e(p,[2,11]),e(p,[2,12]),e(p,d),e(p,[2,13]),{12:58,33:f},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:f},{28:[1,60],33:[2,19]},{33:[2,17]},e(g,r,{5:61}),{10:[2,16]},{12:62,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,63],19:c,20:l,22:h,33:f},{33:[2,20]},e(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);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=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,b,_,x,w,A,k,E,D,M=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},S={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=M()),x=a[_]&&a[_][v]),"undefined"==typeof x||!x.length||!x[0]){var C="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");C=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,b?(v=b,b=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],S.$=r[r.length-k],S._$={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},m&&(S._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},_=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return b.lexer=_,t.prototype=b,b.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],100:[function(t,e,n){(function(e){"use strict";function r(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}var i=t("../../logger"),a=r(i),o={},u=[],s=[],c=[],l=new a.Log;n.addActor=function(t,e,n){o[t]={name:e,description:n},u.push(t)},n.addMessage=function(t,e,n,r){s.push({from:t,to:e,message:n,answer:r})},n.addSignal=function(t,e,n,r){l.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),s.push({from:t,to:e,message:n,type:r})},n.getMessages=function(){return s},n.getActors=function(){return o},n.getActor=function(t){return o[t]},n.getActorKeys=function(){return Object.keys(o)},n.clear=function(){o={},s=[]},n.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},n.ARROWTYPE={FILLED:0,OPEN:1},n.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},n.addNote=function(t,e,r){var i={actor:t,placement:e,message:r};c.push(i),s.push({from:t,to:t,message:r,type:n.LINETYPE.NOTE,placement:e})},n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)},n.apply=function(t){if(t instanceof Array)t.forEach(function(t){n.apply(t)});else switch(t.type){case"addActor":n.addActor(t.actor,t.actor,t.actor);break;case"addNote":n.addNote(t.actor,t.placement,t.text);break;case"addMessage":n.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":n.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":n.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":n.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":103}],101:[function(t,e,n){"use strict";function r(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}var i=t("../../logger"),a=r(i),o=t("./parser/sequenceDiagram").parser;o.yy=t("./sequenceDb");var u=t("./svgDraw"),s=t("../../d3"),c=new a.Log,l={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};n.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){t[e]="undefined"==typeof t[e]?n:r(n,t[e])},updateLoops:function(t,e,r,i){var a=this,o=0;this.list.forEach(function(u){o++;var s=a.list.length-o+1;a.updateVal(u,"startx",t-s*l.boxMargin,Math.min),a.updateVal(u,"starty",e-s*l.boxMargin,Math.min),a.updateVal(u,"stopx",r+s*l.boxMargin,Math.max),a.updateVal(u,"stopy",i+s*l.boxMargin,Math.max),a.updateVal(n.bounds.data,"startx",t-s*l.boxMargin,Math.min),a.updateVal(n.bounds.data,"starty",e-s*l.boxMargin,Math.min),a.updateVal(n.bounds.data,"stopx",r+s*l.boxMargin,Math.max),a.updateVal(n.bounds.data,"stopy",i+s*l.boxMargin,Math.max)})},insert:function(t,e,r,i){var a,o,u,s;a=Math.min(t,r),u=Math.max(t,r),o=Math.min(e,i),s=Math.max(e,i),this.updateVal(n.bounds.data,"startx",a,Math.min),this.updateVal(n.bounds.data,"starty",o,Math.min),this.updateVal(n.bounds.data,"stopx",u,Math.max),this.updateVal(n.bounds.data,"stopy",s,Math.max),this.updateLoops(a,o,u,s)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var e=this.list.pop();e.elsey=n.bounds.getVerticalPos(),e.elseText=t,this.list.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}};var h=function(t,e,r,i){var a=u.getNoteRect();a.x=e,a.y=r,a.width=l.width,a["class"]="note";var o=t.append("g"),s=u.drawRect(o,a),c=u.getTextObj();c.x=e-4,c.y=r-13,c.textMargin=l.noteMargin,c.dy="1em",c.text=i.message,c["class"]="noteText";var h=u.drawText(o,c,l.width-l.noteMargin),f=h[0][0].getBBox().height;f>l.width?(h.remove(),o=t.append("g"),h=u.drawText(o,c,2*l.width-l.noteMargin),f=h[0][0].getBBox().height,s.attr("width",2*l.width),n.bounds.insert(e,r,e+2*l.width,r+2*l.noteMargin+f)):n.bounds.insert(e,r,e+l.width,r+2*l.noteMargin+f),s.attr("height",f+2*l.noteMargin),n.bounds.bumpVerticalPos(f+2*l.noteMargin)},f=function(t,e,r,i,a){var u,s=t.append("g"),c=e+(r-e)/2,l=s.append("text").attr("x",c).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message);u="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(e===r){h=s.append("path").attr("d","M "+e+","+i+" C "+(e+60)+","+(i-10)+" "+(e+60)+","+(i+30)+" "+e+","+(i+20)),n.bounds.bumpVerticalPos(30);var f=Math.max(u/2,100);n.bounds.insert(e-f,n.bounds.getVerticalPos()-10,r+f,n.bounds.getVerticalPos())}else h=s.append("line"),h.attr("x1",e),h.attr("y1",i),h.attr("x2",r),h.attr("y2",i),n.bounds.insert(e,n.bounds.getVerticalPos()-10,r,n.bounds.getVerticalPos());a.type===o.yy.LINETYPE.DOTTED||a.type===o.yy.LINETYPE.DOTTED_CROSS||a.type===o.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var d=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;d=d.replace(/\(/g,"\\("),d=d.replace(/\)/g,"\\)"),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),(a.type===o.yy.LINETYPE.SOLID||a.type===o.yy.LINETYPE.DOTTED)&&h.attr("marker-end","url("+d+"#crosshead)"),(a.type===o.yy.LINETYPE.SOLID_CROSS||a.type===o.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+d+"#crosshead)")};e.exports.drawActors=function(t,e,r,i){var a;for(a=0;a/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),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(r),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},n.drawLabel=function(t,e){var r=n.getNoteRect();r.x=e.x,r.y=e.y,r.width=50,r.height=20,r.fill="#526e52",r.stroke="none",r["class"]="labelBox",n.drawRect(t,r),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",n.drawText(t,e)};var r=-1;n.drawActor=function(t,e,i,a,o){var u=e+o.width/2,s=t.append("g");0===i&&(r++,s.append("line").attr("id","actor"+r).attr("x1",u).attr("y1",5).attr("x2",u).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var c=n.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=o.width,c.height=o.height,c["class"]="actor",c.rx=3,c.ry=3,n.drawRect(s,c),s.append("text").attr("x",u).attr("y",i+o.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},n.drawLoop=function(t,e,r,i){var a=t.append("g"),o=function(t,e,n,r){a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};o(e.startx,e.starty,e.stopx,e.starty),o(e.stopx,e.starty,e.stopx,e.stopy),o(e.startx,e.stopy,e.stopx,e.stopy),o(e.startx,e.starty,e.startx,e.stopy),"undefined"!=typeof e.elsey&&o(e.startx,e.elsey,e.stopx,e.elsey);var u=n.getTextObj();u.text=r,u.x=e.startx,u.y=e.starty,u.labelMargin=1.5*i.boxMargin,u["class"]="labelText",u.fill="white",n.drawLabel(a,u),u=n.getTextObj(),u.text="[ "+e.title+" ]",u.x=e.startx+(e.stopx-e.startx)/2,u.y=e.starty+1.5*i.boxMargin,u.anchor="middle",u["class"]="loopText",n.drawText(a,u),"undefined"!=typeof e.elseText&&(u.text="[ "+e.elseText+" ]",u.y=e.elsey+1.5*i.boxMargin,n.drawText(a,u))},n.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")},n.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")},n.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},n.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],103:[function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>n&&(n="0"+n),10>r&&(r="0"+r),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+n+":"+r+" ("+i+")";return a}var a=function(){function t(t,e){for(var n=0;n=n&&"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log("["+i(new Date)+"] "+t):void 0}},{key:"trace",value:function(t){this.log(t,o.trace)}},{key:"debug",value:function(t){this.log(t,o.debug)}},{key:"info",value:function(t){this.log(t,o.info)}},{key:"warn",value:function(t){this.log(t,o.warn)}},{key:"error",value:function(t){this.log(t,o.error)}}]),t}();n.Log=s},{}],104:[function(t,e,n){(function(r){"use strict";function i(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}var a=t("./logger"),o=i(a),u=new o.Log,s=t("./mermaidAPI"),c=0,l=t("he");e.exports.mermaidAPI=s;var h=function(){var t=s.getConfig();u.debug("Starting rendering diagrams");var e;arguments.length>=2?("undefined"!=typeof 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],u.debug("Callback function found")):"undefined"!=typeof t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,u.debug("Callback function found")):u.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof Node?[e]:e;var i;"undefined"!=typeof mermaid_config&&s.initialize(r.mermaid_config),u.debug("Start On Load before: "+r.mermaid.startOnLoad),"undefined"!=typeof r.mermaid.startOnLoad&&(u.debug("Start On Load inner: "+r.mermaid.startOnLoad),s.initialize({startOnLoad:r.mermaid.startOnLoad})),"undefined"!=typeof r.mermaid.ganttConfig&&s.initialize({gantt:r.mermaid.ganttConfig});var a,o=function(t,e){h.innerHTML=t,"undefined"!=typeof n&&n(f),e(h)};for(i=0;i0&&(r+=n.selectorText+" { "+n.style.cssText+" }\n")}}catch(l){"undefined"!==n&&o.warn('Invalid CSS selector "'+n.selectorText+'"',l)}var h="",f="";for(var d in e)e.hasOwnProperty(d)&&"undefined"!=typeof d&&("default"===d?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[d].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+e[d].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+e[d].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+e[d].clusterStyles.join("; ")+"; }\n")):e[d].styles instanceof Array&&(f+="#"+t.id.trim()+" ."+d+">rect { "+e[d].styles.join("; ")+"; }\n"));if(""!==r||""!==h||""!==f){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};n.cloneCssStyles=s},{"./logger":103}]},{},[104])(104)}); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 7ecfb8547..e3a803239 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -21471,7 +21471,7 @@ module.exports = '1.0.7'; },{}],85:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.5.3-2", + "version": "0.5.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", "main": "src/mermaid.js", "keywords": [ diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 9c95f07ce..57990cab5 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,11 +1,14 @@ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaid=t()}}(function(){var define,module,exports;return function t(e,r,n){function i(s,o){if(!r[s]){if(!e[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};e[s][0].call(l.exports,function(t){var r=e[s][1][t];return i(r?r:t)},l,l.exports,t,e,r,n)}return r[s].exports}for(var a="function"==typeof require&&require,s=0;s=0;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n=-1&&!i;a--){var s=a>=0?arguments[a]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(r=s+"/"+r,i="/"===s.charAt(0))}return r=e(n(r.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(t){var i=r.isAbsolute(t),a="/"===s(t,-1);return t=e(n(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},r.isAbsolute=function(t){return"/"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},r.relative=function(t,e){function n(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split("/")),a=n(e.split("/")),s=Math.min(i.length,a.length),o=s,u=0;s>u;u++)if(i[u]!==a[u]){o=u;break}for(var c=[],u=o;ue&&(e=t.length+e),t.substr(e,r)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e,r){function n(){}var i=e.exports={};i.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,r="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var n=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=n.slice();n.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){n.length||i.setAttribute("yes","no"),n.push(t)}}return r?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),i.title="browser",i.browser=!0,i.env={},i.argv=[],i.on=n,i.addListener=n,i.once=n,i.off=n,i.removeListener=n,i.removeAllListeners=n,i.emit=n,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")}},{}],4:[function(t,e,r){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":11,"./lib/graphlib":12,"./lib/intersect":13,"./lib/render":28,"./lib/util":30,"./lib/version":31}],5:[function(t,e,r){function n(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"),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");s.applyStyle(a,r[n+"Style"])}function i(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"),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");s.applyStyle(a,r[n+"Style"])}function a(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"),a=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");s.applyStyle(a,r[n+"Style"])}var s=t("./util");e.exports={"default":n,normal:n,vee:i,undirected:a}},{"./util":30}],6:[function(t,e,r){function n(t,e){var r=e.nodes().filter(function(t){return i.isSubgraph(e,t)}),n=t.selectAll("g.cluster").data(r,function(t){return t});return n.selectAll("*").remove(),n.enter().append("g").attr("class","cluster").attr("id",function(t){var r=e.node(t);return r.id}).style("opacity",0),i.applyTransition(n,e).style("opacity",1),n.each(function(t){var r=e.node(t),n=d3.select(this);d3.select(this).append("rect");var i=n.append("g").attr("class","label");a(i,r,r.clusterLabelPos)}),n.selectAll("rect").each(function(t){var r=e.node(t),n=d3.select(this);i.applyStyle(n,r.style)}),i.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var i=t("./util"),a=t("./label/add-label");e.exports=n},{"./label/add-label":21,"./util":30}],7:[function(t,e,r){"use strict";function n(t,e){var r=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return s.edgeToId(t)}).classed("update",!0);return r.selectAll("*").remove(),r.enter().append("g").classed("edgeLabel",!0).style("opacity",0),r.each(function(t){var r=e.edge(t),n=a(o.select(this),e.edge(t),0,0).classed("label",!0),s=n.node().getBBox();r.labelId&&n.attr("id",r.labelId),i.has(r,"width")||(r.width=s.width),i.has(r,"height")||(r.height=s.height)}),s.applyTransition(r.exit(),e).style("opacity",0).remove(),r}var i=t("./lodash"),a=t("./label/add-label"),s=t("./util"),o=t("./d3");e.exports=n},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],8:[function(t,e,r){"use strict";function n(t,e,r){var n=t.selectAll("g.edgePath").data(e.edges(),function(t){return h.edgeToId(t)}).classed("update",!0);return o(n,e),u(n,e),h.applyTransition(n,e).style("opacity",1),n.each(function(t){var r=d.select(this),n=e.edge(t);n.elem=this,n.id&&r.attr("id",n.id),h.applyClass(r,n["class"],(r.classed("update")?"update ":"")+"edgePath")}),n.selectAll("path.path").each(function(t){var r=e.edge(t);r.arrowheadId=c.uniqueId("arrowhead");var n=d.select(this).attr("marker-end",function(){return"url(#"+r.arrowheadId+")"}).style("fill","none");h.applyTransition(n,e).attr("d",function(t){return i(e,t)}),h.applyStyle(n,r.style)}),n.selectAll("defs *").remove(),n.selectAll("defs").each(function(t){var n=e.edge(t),i=r[n.arrowhead];i(d.select(this),n.arrowheadId,n,"arrowhead")}),n}function i(t,e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),s=r.points.slice(1,r.points.length-1);return s.unshift(l(n,s[0])),s.push(l(i,s[s.length-1])),a(r,s)}function a(t,e){var r=d.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return c.has(t,"lineInterpolate")&&r.interpolate(t.lineInterpolate),c.has(t,"lineTension")&&r.tension(Number(t.lineTension)),r(e)}function s(t){var e=t.getBBox(),r=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:r.e,y:r.f}}function o(t,e){var r=t.enter().append("g").attr("class","edgePath").style("opacity",0);r.append("path").attr("class","path").attr("d",function(t){var r=e.edge(t),n=e.node(t.v).elem,i=c.range(r.points.length).map(function(){return s(n)});return a(r,i)}),r.append("defs")}function u(t,e){var r=t.exit();h.applyTransition(r,e).style("opacity",0).remove(),h.applyTransition(r.select("path.path"),e).attr("d",function(t){var r=e.node(t.v);if(r){var n=c.range(this.pathSegList.length).map(function(){return r});return a({},n)}return d.select(this).attr("d")})}var c=t("./lodash"),l=t("./intersect/intersect-node"),h=t("./util"),d=t("./d3");e.exports=n},{"./d3":10,"./intersect/intersect-node":17,"./lodash":24,"./util":30}],9:[function(t,e,r){"use strict";function n(t,e,r){var n=e.nodes().filter(function(t){return!s.isSubgraph(e,t)}),u=t.selectAll("g.node").data(n,function(t){return t}).classed("update",!0);return u.selectAll("*").remove(),u.enter().append("g").attr("class","node").style("opacity",0),u.each(function(t){var n=e.node(t),u=o.select(this),c=u.append("g").attr("class","label"),l=a(c,n),h=r[n.shape],d=i.pick(l.node().getBBox(),"width","height");n.elem=this,n.id&&u.attr("id",n.id),n.labelId&&c.attr("id",n.labelId),s.applyClass(u,n["class"],(u.classed("update")?"update ":"")+"node"),i.has(n,"width")&&(d.width=n.width),i.has(n,"height")&&(d.height=n.height),d.width+=n.paddingLeft+n.paddingRight,d.height+=n.paddingTop+n.paddingBottom,c.attr("transform","translate("+(n.paddingLeft-n.paddingRight)/2+","+(n.paddingTop-n.paddingBottom)/2+")");var f=h(o.select(this),d,n);s.applyStyle(f,n.style);var p=f.node().getBBox();n.width=p.width,n.height=p.height}),s.applyTransition(u.exit(),e).style("opacity",0).remove(),u}var i=t("./lodash"),a=t("./label/add-label"),s=t("./util"),o=t("./d3");e.exports=n},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],10:[function(t,e,r){e.exports=window.d3},{}],11:[function(t,e,r){var n;if(t)try{n=t("dagre")}catch(i){}n||(n=window.dagre),e.exports=n},{dagre:32}],12:[function(t,e,r){var n;if(t)try{n=t("graphlib")}catch(i){}n||(n=window.graphlib),e.exports=n},{graphlib:62}],13:[function(t,e,r){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":14,"./intersect-ellipse":15,"./intersect-node":17,"./intersect-polygon":18,"./intersect-rect":19}],14:[function(t,e,r){function n(t,e,r){return i(t,e,e,r)}var i=t("./intersect-ellipse");e.exports=n},{"./intersect-ellipse":15}],15:[function(t,e,r){function n(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,u=Math.sqrt(e*e*o*o+r*r*s*s),c=Math.abs(e*r*s/u);n.xm?(m-y)/g:(m+y)/g,m=s*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function i(t,e){return t*e>0}e.exports=n},{}],17:[function(t,e,r){function n(t,e){return t.intersect(e)}e.exports=n},{}],18:[function(t,e,r){function n(t,e,r){var n=t.x,a=t.y,s=[],o=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY;e.forEach(function(t){o=Math.min(o,t.x),u=Math.min(u,t.y)});for(var c=n-t.width/2-o,l=a-t.height/2-u,h=0;h1&&s.sort(function(t,e){var n=t.x-r.x,i=t.y-r.y,a=Math.sqrt(n*n+i*i),s=e.x-r.x,o=e.y-r.y,u=Math.sqrt(s*s+o*o);return u>a?-1:a===u?0:1}),s[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var i=t("./intersect-line");e.exports=n},{"./intersect-line":16}],19:[function(t,e,r){function n(t,e){var r,n,i=t.x,a=t.y,s=e.x-i,o=e.y-a,u=t.width/2,c=t.height/2;return Math.abs(o)*u>Math.abs(s)*c?(0>o&&(c=-c),r=0===o?0:c*s/o,n=c):(0>s&&(u=-u),r=u,n=0===s?0:u*o/s),{x:i+r,y:a+n}}e.exports=n},{}],20:[function(t,e,r){function n(t,e){var r=t.append("foreignObject").attr("width","100000"),n=r.append("xhtml:div"),a=e.label;switch(typeof a){case"function":n.insert(a);break;case"object":n.insert(function(){return a});break;default:n.html(a)}i.applyStyle(n,e.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap");var s,o;return n.each(function(){s=this.clientWidth,o=this.clientHeight}),r.attr("width",s).attr("height",o),r}var i=t("../util");e.exports=n},{"../util":30}],21:[function(t,e,r){function n(t,e,r){var n=e.label,o=t.append("g");"svg"===e.labelType?s(o,e):"string"!=typeof n||"html"===e.labelType?a(o,e):i(o,e);var u,c=o.node().getBBox();switch(r){case"top":u=-e.height/2;break;case"bottom":u=e.height/2-c.height;break;default:u=-c.height/2}return o.attr("transform","translate("+-c.width/2+","+u+")"),o}var i=t("./add-text-label"),a=t("./add-html-label"),s=t("./add-svg-label");e.exports=n},{"./add-html-label":20,"./add-svg-label":22,"./add-text-label":23}],22:[function(t,e,r){function n(t,e){var r=t;return r.node().appendChild(e.label),i.applyStyle(r,e.labelStyle),r}var i=t("../util");e.exports=n},{"../util":30}],23:[function(t,e,r){function n(t,e){for(var r=t.append("text"),n=i(e.label).split("\n"),s=0;so;++o)i(t,"borderLeft","_bl",r,s,o),i(t,"borderRight","_br",r,s,o)}}a.each(t.children(),e)}function i(t,e,r,n,i,a){var o={width:0,height:0,rank:a,borderType:e},u=i[e][a-1],c=s.addDummyNode(t,"border",o,r);i[e][a]=c,t.setParent(c,n),u&&t.setEdge(u,c,{weight:1})}var a=t("./lodash"),s=t("./util");e.exports=n},{"./lodash":41,"./util":60}],35:[function(t,e,r){"use strict";function n(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)&&o(t),("lr"===e||"rl"===e)&&(c(t),a(t))}function a(t){h.each(t.nodes(),function(e){s(t.node(e))}),h.each(t.edges(),function(e){s(t.edge(e))})}function s(t){var e=t.width;t.width=t.height,t.height=e}function o(t){h.each(t.nodes(),function(e){u(t.node(e))}),h.each(t.edges(),function(e){var r=t.edge(e);h.each(r.points,u),h.has(r,"y")&&u(r)})}function u(t){t.y=-t.y}function c(t){h.each(t.nodes(),function(e){l(t.node(e))}),h.each(t.edges(),function(e){var r=t.edge(e);h.each(r.points,l),h.has(r,"x")&&l(r)})}function l(t){var e=t.x;t.x=t.y,t.y=e}var h=t("./lodash");e.exports={adjust:n,undo:i}},{"./lodash":41}],36:[function(t,e,r){function n(){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){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(i(e),e):void 0},n.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},n.prototype.toString=function(){for(var t=[],e=this._sentinel,r=e._prev;r!==e;)t.push(JSON.stringify(r,a)),r=r._prev;return"["+t.join(", ")+"]"}},{}],37:[function(t,e,r){function n(t){var e=a.buildLayerMatrix(t),r=new s({compound:!0,multigraph:!0}).setGraph({});return i.each(t.nodes(),function(e){r.setNode(e,{label:e}),r.setParent(e,"layer"+t.node(e).rank)}),i.each(t.edges(),function(t){r.setEdge(t.v,t.w,{},t.name)}),i.each(e,function(t,e){var n="layer"+e;r.setNode(n,{rank:"same"}),i.reduce(t,function(t,e){return r.setEdge(t,e,{style:"invis"}),e})}),r}var i=t("./lodash"),a=t("./util"),s=t("./graphlib").Graph;e.exports={debugOrdering:n}},{"./graphlib":38,"./lodash":41,"./util":60}],38:[function(t,e,r){var n;if("function"==typeof t)try{n=t("graphlib")}catch(i){}n||(n=window.graphlib),e.exports=n},{graphlib:62}],39:[function(t,e,r){function n(t,e){if(t.nodeCount()<=1)return[];var r=s(t,e||h),n=i(r.graph,r.buckets,r.zeroIdx);return u.flatten(u.map(n,function(e){return t.outEdges(e.v,e.w)}),!0)}function i(t,e,r){for(var n,i=[],s=e[e.length-1],o=e[0];t.nodeCount();){for(;n=o.dequeue();)a(t,e,r,n);for(;n=s.dequeue();)a(t,e,r,n);if(t.nodeCount())for(var u=e.length-2;u>0;--u)if(n=e[u].dequeue()){i=i.concat(a(t,e,r,n,!0));break}}return i}function a(t,e,r,n,i){var a=i?[]:void 0;return u.each(t.inEdges(n.v),function(n){var s=t.edge(n),u=t.node(n.v);i&&a.push({v:n.v,w:n.w}),u.out-=s,o(e,r,u)}),u.each(t.outEdges(n.v),function(n){var i=t.edge(n),a=n.w,s=t.node(a);s["in"]-=i,o(e,r,s)}),t.removeNode(n.v),a}function s(t,e){var r=new c,n=0,i=0;u.each(t.nodes(),function(t){r.setNode(t,{v:t,"in":0,out:0})}),u.each(t.edges(),function(t){var a=r.edge(t.v,t.w)||0,s=e(t),o=a+s;r.setEdge(t.v,t.w,o),i=Math.max(i,r.node(t.v).out+=s),n=Math.max(n,r.node(t.w)["in"]+=s)});var a=u.range(i+n+3).map(function(){return new l}),s=n+1;return u.each(r.nodes(),function(t){o(a,s,r.node(t))}),{graph:r,buckets:a,zeroIdx:s}}function o(t,e,r){r.out?r["in"]?t[r.out-r["in"]+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var u=t("./lodash"),c=t("./graphlib").Graph,l=t("./data/list");e.exports=n;var h=u.constant(1)},{"./data/list":36,"./graphlib":38,"./lodash":41}],40:[function(t,e,r){"use strict";function n(t,e){var r=e&&e.debugTiming?O.time:O.notime;r("layout",function(){var e=r(" buildLayoutGraph",function(){return s(t)});r(" runLayout",function(){i(e,r)}),r(" updateInputGraph",function(){a(t,e)})})}function i(t,e){e(" makeSpaceForEdgeLabels",function(){o(t)}),e(" removeSelfEdges",function(){y(t)}),e(" acyclic",function(){x.run(t)}),e(" nestingGraph.run",function(){T.run(t)}),e(" rank",function(){k(O.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){u(t)}),e(" removeEmptyRanks",function(){C(t)}),e(" nestingGraph.cleanup",function(){T.cleanup(t)}),e(" normalizeRanks",function(){E(t)}),e(" assignRankMinMax",function(){c(t)}),e(" removeEdgeLabelProxies",function(){l(t)}),e(" normalize.run",function(){A.run(t)}),e(" parentDummyChains",function(){D(t)}),e(" addBorderSegments",function(){S(t)}),e(" order",function(){B(t)}),e(" insertSelfEdges",function(){m(t)}),e(" adjustCoordinateSystem",function(){F.adjust(t)}),e(" position",function(){L(t)}),e(" positionSelfEdges",function(){v(t)}),e(" removeBorderNodes",function(){g(t)}),e(" normalize.undo",function(){A.undo(t)}),e(" fixupEdgeLabelCoords",function(){f(t)}),e(" undoCoordinateSystem",function(){F.undo(t)}),e(" translateGraph",function(){h(t)}),e(" assignNodeIntersects",function(){d(t)}),e(" reversePoints",function(){p(t)}),e(" acyclic.undo",function(){x.undo(t)})}function a(t,e){w.each(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),w.each(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,w.has(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function s(t){var e=new I({multigraph:!0,compound:!0}),r=_(t.graph());return e.setGraph(w.merge({},M,b(r,N),w.pick(r,P))),w.each(t.nodes(),function(r){var n=_(t.node(r));e.setNode(r,w.defaults(b(n,R),q)),e.setParent(r,t.parent(r))}),w.each(t.edges(),function(r){var n=_(t.edge(r));e.setEdge(r,w.merge({},U,b(n,j),w.pick(n,Y)))}),e}function o(t){var e=t.graph();e.ranksep/=2,w.each(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function u(t){w.each(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e:e};O.addDummyNode(t,"edge-proxy",a,"_ep")}})}function c(t){var e=0;w.each(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=w.max(e,n.maxRank))}),t.graph().maxRank=e}function l(t){w.each(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function h(t){function e(t){var e=t.x,s=t.y,o=t.width,u=t.height;r=Math.min(r,e-o/2),n=Math.max(n,e+o/2),i=Math.min(i,s-u/2),a=Math.max(a,s+u/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,s=t.graph(),o=s.marginx||0,u=s.marginy||0;w.each(t.nodes(),function(r){e(t.node(r))}),w.each(t.edges(),function(r){var n=t.edge(r);w.has(n,"x")&&e(n)}),r-=o,i-=u,w.each(t.nodes(),function(e){var n=t.node(e);n.x-=r,n.y-=i}),w.each(t.edges(),function(e){var n=t.edge(e);w.each(n.points,function(t){t.x-=r,t.y-=i}),w.has(n,"x")&&(n.x-=r),w.has(n,"y")&&(n.y-=i)}),s.width=n-r+o,s.height=a-i+u}function d(t){w.each(t.edges(),function(e){var r,n,i=t.edge(e),a=t.node(e.v),s=t.node(e.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=s,n=a),i.points.unshift(O.intersectRect(a,r)),i.points.push(O.intersectRect(s,n))})}function f(t){w.each(t.edges(),function(e){var r=t.edge(e);if(w.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(t){w.each(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function g(t){w.each(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(w.last(r.borderLeft)),s=t.node(w.last(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),w.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function y(t){w.each(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}function m(t){var e=O.buildLayerMatrix(t);w.each(e,function(e){var r=0;w.each(e,function(e,n){var i=t.node(e);i.order=n+r,w.each(i.selfEdges,function(e){O.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete i.selfEdges})})}function v(t){w.each(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function b(t,e){return w.mapValues(w.pick(t,e),Number)}function _(t){var e={};return w.each(t,function(t,r){e[r.toLowerCase()]=t}),e}var w=t("./lodash"),x=t("./acyclic"),A=t("./normalize"),k=t("./rank"),E=t("./util").normalizeRanks,D=t("./parent-dummy-chains"),C=t("./util").removeEmptyRanks,T=t("./nesting-graph"),S=t("./add-border-segments"),F=t("./coordinate-system"),B=t("./order"),L=t("./position"),O=t("./util"),I=t("./graphlib").Graph;e.exports=n;var N=["nodesep","edgesep","ranksep","marginx","marginy"],M={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},P=["acyclicer","ranker","rankdir","align"],R=["width","height"],q={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Y=["labelpos"]},{"./acyclic":33,"./add-border-segments":34,"./coordinate-system":35,"./graphlib":38,"./lodash":41,"./nesting-graph":42,"./normalize":43,"./order":48,"./parent-dummy-chains":53,"./position":55,"./rank":57,"./util":60}],41:[function(t,e,r){var n;if("function"==typeof t)try{n=t("lodash")}catch(i){}n||(n=window._),e.exports=n},{lodash:82}],42:[function(t,e,r){function n(t){var e=c.addDummyNode(t,"root",{},"_root"),r=a(t),n=u.max(r)-1,o=2*n+1;t.graph().nestingRoot=e,u.each(t.edges(),function(e){t.edge(e).minlen*=o});var l=s(t)+1;u.each(t.children(),function(a){i(t,e,o,l,n,r,a)}),t.graph().nodeRankFactor=o}function i(t,e,r,n,a,s,o){var l=t.children(o);if(!l.length)return void(o!==e&&t.setEdge(e,o,{weight:0,minlen:r}));var h=c.addBorderNode(t,"_bt"),d=c.addBorderNode(t,"_bb"),f=t.node(o);t.setParent(h,o),f.borderTop=h,t.setParent(d,o),f.borderBottom=d,u.each(l,function(u){i(t,e,r,n,a,s,u);var c=t.node(u),l=c.borderTop?c.borderTop:u,f=c.borderBottom?c.borderBottom:u,p=c.borderTop?n:2*n,g=l!==f?1:a-s[o]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(f,d,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(o)||t.setEdge(e,h,{weight:0,minlen:a+s[o]})}function a(t){function e(n,i){var a=t.children(n);a&&a.length&&u.each(a,function(t){e(t,i+1)}),r[n]=i}var r={};return u.each(t.children(),function(t){e(t,1)}),r}function s(t){return u.reduce(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function o(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,u.each(t.edges(),function(e){var r=t.edge(e);r.nestingEdge&&t.removeEdge(e)})}var u=t("./lodash"),c=t("./util");e.exports={run:n,cleanup:o}},{"./lodash":41,"./util":60 -}],43:[function(t,e,r){"use strict";function n(t){t.graph().dummyChains=[],s.each(t.edges(),function(e){i(t,e)})}function i(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,u=t.edge(e),c=u.labelRank;if(a!==n+1){t.removeEdge(e);var l,h,d;for(d=0,++n;a>n;++d,++n)u.points=[],h={width:0,height:0,edgeLabel:u,edgeObj:e,rank:n},l=o.addDummyNode(t,"edge",h,"_d"),n===c&&(h.width=u.width,h.height=u.height,h.dummy="edge-label",h.labelpos=u.labelpos),t.setEdge(r,l,{weight:u.weight},s),0===d&&t.graph().dummyChains.push(l),r=l;t.setEdge(r,i,{weight:u.weight},s)}}function a(t){s.each(t.graph().dummyChains,function(e){var r,n=t.node(e),i=n.edgeLabel;for(t.setEdge(n.edgeObj,i);n.dummy;)r=t.successors(e)[0],t.removeNode(e),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),e=r,n=t.node(e)})}var s=t("./lodash"),o=t("./util");e.exports={run:n,undo:a}},{"./lodash":41,"./util":60}],44:[function(t,e,r){function n(t,e,r){var n,a={};i.each(r,function(r){for(var i,s,o=t.parent(r);o;){if(i=t.parent(o),i?(s=a[i],a[i]=o):(s=n,n=o),s&&s!==o)return void e.setEdge(s,o);o=i}})}var i=t("../lodash");e.exports=n},{"../lodash":41}],45:[function(t,e,r){function n(t,e){return i.map(e,function(e){var r=t.inEdges(e);if(r.length){var n=i.reduce(r,function(e,r){var n=t.edge(r),i=t.node(r.v);return{sum:e.sum+n.weight*i.order,weight:e.weight+n.weight}},{sum:0,weight:0});return{v:e,barycenter:n.sum/n.weight,weight:n.weight}}return{v:e}})}var i=t("../lodash");e.exports=n},{"../lodash":41}],46:[function(t,e,r){function n(t,e,r){var n=i(t),o=new s({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(e){return t.node(e)});return a.each(t.nodes(),function(i){var s=t.node(i),u=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(i),o.setParent(i,u||n),a.each(t[r](i),function(e){var r=e.v===i?e.w:e.v,n=o.edge(r,i),s=a.isUndefined(n)?0:n.weight;o.setEdge(r,i,{weight:t.edge(e).weight+s})}),a.has(s,"minRank")&&o.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),o}function i(t){for(var e;t.hasNode(e=a.uniqueId("_root")););return e}var a=t("../lodash"),s=t("../graphlib").Graph;e.exports=n},{"../graphlib":38,"../lodash":41}],47:[function(t,e,r){"use strict";function n(t,e){for(var r=0,n=1;n0;)e%2&&(r+=u[e+1]),e=e-1>>1,u[e]+=t.weight;c+=t.weight*r})),c}var a=t("../lodash");e.exports=n},{"../lodash":41}],48:[function(t,e,r){"use strict";function n(t){var e=p.maxRank(t),r=i(t,o.range(1,e+1),"inEdges"),n=i(t,o.range(e-1,-1,-1),"outEdges"),l=u(t);s(t,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){a(f%2?r:n,f%4>=2),l=p.buildLayerMatrix(t);var y=c(t,l);d>y&&(g=0,h=o.cloneDeep(l),d=y)}s(t,h)}function i(t,e,r){return o.map(e,function(e){return h(t,e,r)})}function a(t,e){var r=new f;o.each(t,function(t){var n=t.graph().root,i=l(t,n,r,e);o.each(i.vs,function(e,r){t.node(e).order=r}),d(t,r,i.vs)})}function s(t,e){o.each(e,function(e){o.each(e,function(e,r){t.node(e).order=r})})}var o=t("../lodash"),u=t("./init-order"),c=t("./cross-count"),l=t("./sort-subgraph"),h=t("./build-layer-graph"),d=t("./add-subgraph-constraints"),f=t("../graphlib").Graph,p=t("../util");e.exports=n},{"../graphlib":38,"../lodash":41,"../util":60,"./add-subgraph-constraints":44,"./build-layer-graph":46,"./cross-count":47,"./init-order":49,"./sort-subgraph":51}],49:[function(t,e,r){"use strict";function n(t){function e(n){if(!i.has(r,n)){r[n]=!0;var a=t.node(n);s[a.rank].push(n),i.each(t.successors(n),e)}}var r={},n=i.filter(t.nodes(),function(e){return!t.children(e).length}),a=i.max(i.map(n,function(e){return t.node(e).rank})),s=i.map(i.range(a+1),function(){return[]}),o=i.sortBy(n,function(e){return t.node(e).rank});return i.each(o,e),s}var i=t("../lodash");e.exports=n},{"../lodash":41}],50:[function(t,e,r){"use strict";function n(t,e){var r={};s.each(t,function(t,e){var n=r[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};s.isUndefined(t.barycenter)||(n.barycenter=t.barycenter,n.weight=t.weight)}),s.each(e.edges(),function(t){var e=r[t.v],n=r[t.w];s.isUndefined(e)||s.isUndefined(n)||(n.indegree++,e.out.push(r[t.w]))});var n=s.filter(r,function(t){return!t.indegree});return i(n)}function i(t){function e(t){return function(e){e.merged||(s.isUndefined(e.barycenter)||s.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&a(t,e)}}function r(e){return function(r){r["in"].push(e),0===--r.indegree&&t.push(r)}}for(var n=[];t.length;){var i=t.pop();n.push(i),s.each(i["in"].reverse(),e(i)),s.each(i.out,r(i))}return s.chain(n).filter(function(t){return!t.merged}).map(function(t){return s.pick(t,["vs","i","barycenter","weight"])}).value()}function a(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var s=t("../lodash");e.exports=n},{"../lodash":41}],51:[function(t,e,r){function n(t,e,r,l){var h=t.children(e),d=t.node(e),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,g={};f&&(h=s.filter(h,function(t){return t!==f&&t!==p}));var y=o(t,h);s.each(y,function(e){if(t.children(e.v).length){var i=n(t,e.v,r,l);g[e.v]=i,s.has(i,"barycenter")&&a(e,i)}});var m=u(y,r);i(m,g);var v=c(m,l);if(f&&(v.vs=s.flatten([f,v.vs,p],!0),t.predecessors(f).length)){var b=t.node(t.predecessors(f)[0]),_=t.node(t.predecessors(p)[0]);s.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+_.order)/(v.weight+2),v.weight+=2}return v}function i(t,e){s.each(t,function(t){t.vs=s.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function a(t,e){s.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 s=t("../lodash"),o=t("./barycenter"),u=t("./resolve-conflicts"),c=t("./sort");e.exports=n},{"../lodash":41,"./barycenter":45,"./resolve-conflicts":50,"./sort":52}],52:[function(t,e,r){function n(t,e){var r=o.partition(t,function(t){return s.has(t,"barycenter")}),n=r.lhs,u=s.sortBy(r.rhs,function(t){return-t.i}),c=[],l=0,h=0,d=0;n.sort(a(!!e)),d=i(c,u,d),s.each(n,function(t){d+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,d=i(c,u,d)});var f={vs:s.flatten(c,!0)};return h&&(f.barycenter=l/h,f.weight=h),f}function i(t,e,r){for(var n;e.length&&(n=s.last(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function a(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var s=t("../lodash"),o=t("../util");e.exports=n},{"../lodash":41,"../util":60}],53:[function(t,e,r){function n(t){var e=a(t);s.each(t.graph().dummyChains,function(r){for(var n=t.node(r),a=n.edgeObj,s=i(t,e,a.v,a.w),o=s.path,u=s.lca,c=0,l=o[c],h=!0;r!==a.w;){if(n=t.node(r),h){for(;(l=o[c])!==u&&t.node(l).maxRanku||c>e[i].lim));for(a=i,i=n;(i=t.parent(i))!==a;)o.push(i);return{path:s.concat(o.reverse()),lca:a}}function a(t){function e(i){var a=n;s.each(t.children(i),e),r[i]={low:a,lim:n++}}var r={},n=0;return s.each(t.children(),e),r}var s=t("./lodash");e.exports=n},{"./lodash":41}],54:[function(t,e,r){"use strict";function n(t,e){function r(e,r){var i=0,o=0,u=e.length,c=m.last(r);return m.each(r,function(e,l){var h=a(t,e),d=h?t.node(h).order:u;(h||e===c)&&(m.each(r.slice(o,l+1),function(e){m.each(t.predecessors(e),function(r){var a=t.node(r),o=a.order;!(i>o||o>d)||a.dummy&&t.node(e).dummy||s(n,r,e)})}),o=l+1,i=d)}),r}var n={};return m.reduce(e,r),n}function i(t,e){function r(e,r,n,a,o){var u;m.each(m.range(r,n),function(r){u=e[r],t.node(u).dummy&&m.each(t.predecessors(u),function(e){var r=t.node(e);r.dummy&&(r.ordero)&&s(i,e,u)})})}function n(e,n){var i,a=-1,s=0;return m.each(n,function(o,u){if("border"===t.node(o).dummy){var c=t.predecessors(o);c.length&&(i=t.node(c[0]).order,r(n,s,u,a,i),s=u,a=i)}r(n,s,n.length,i,e.length)}),n}var i={};return m.reduce(e,n),i}function a(t,e){return t.node(e).dummy?m.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function s(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function o(t,e,r){if(e>r){var n=e;e=r,r=n}return m.has(t[e],r)}function u(t,e,r,n){var i={},a={},s={};return m.each(e,function(t){m.each(t,function(t,e){i[t]=t,a[t]=t,s[t]=e})}),m.each(e,function(t){var e=-1;m.each(t,function(t){var u=n(t);if(u.length){u=m.sortBy(u,function(t){return s[t]});for(var c=(u.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=u[l];a[t]===t&&es.lim&&(o=s,u=!0);var c=g.filter(e.edges(),function(e){return u===p(t,t.node(e.v),o)&&u!==p(t,t.node(e.w),o)});return g.min(c,function(t){return m(e,t)})}function h(t,e,r,n){var a=r.v,s=r.w;t.removeEdge(a,s),t.setEdge(n.v,n.w,{}),o(t),i(t,e),d(t,e)}function d(t,e){var r=g.find(t.nodes(),function(t){return!e.node(t).parent}),n=b(t,r);n=n.slice(1),g.each(n,function(r){var n=t.node(r).parent,i=e.edge(r,n),a=!1;i||(i=e.edge(n,r),a=!0),e.node(r).rank=e.node(n).rank+(a?i.minlen:-i.minlen)})}function f(t,e,r){return t.hasEdge(e,r)}function p(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var g=t("../lodash"),y=t("./feasible-tree"),m=t("./util").slack,v=t("./util").longestPath,b=t("../graphlib").alg.preorder,_=t("../graphlib").alg.postorder,w=t("../util").simplify;e.exports=n,n.initLowLimValues=o,n.initCutValues=i,n.calcCutValue=s,n.leaveEdge=c,n.enterEdge=l,n.exchangeEdges=h},{"../graphlib":38,"../lodash":41,"../util":60,"./feasible-tree":56,"./util":59}],59:[function(t,e,r){"use strict";function n(t){function e(n){var i=t.node(n);if(a.has(r,n))return i.rank;r[n]=!0;var s=a.min(a.map(t.outEdges(n),function(r){return e(r.w)-t.edge(r).minlen}));return s===Number.POSITIVE_INFINITY&&(s=0),i.rank=s}var r={};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=t("../lodash");e.exports={longestPath:n,slack:i}},{"../lodash":41}],60:[function(t,e,r){"use strict";function n(t,e,r,n){var i;do i=m.uniqueId(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function i(t){var e=(new v).setGraph(t.graph());return m.each(t.nodes(),function(r){e.setNode(r,t.node(r))}),m.each(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function a(t){var e=new v({multigraph:t.isMultigraph()}).setGraph(t.graph());return m.each(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),m.each(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function s(t){var e=m.map(t.nodes(),function(e){var r={};return m.each(t.outEdges(e),function(e){r[e.w]=(r[e.w]||0)+t.edge(e).weight}),r});return m.zipObject(t.nodes(),e)}function o(t){var e=m.map(t.nodes(),function(e){var r={};return m.each(t.inEdges(e),function(e){r[e.v]=(r[e.v]||0)+t.edge(e).weight}),r});return m.zipObject(t.nodes(),e)}function u(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,c;return Math.abs(a)*s>Math.abs(i)*o?(0>a&&(o=-o),u=o*i/a,c=o):(0>i&&(s=-s),u=s,c=s*a/i),{x:r+u,y:n+c}}function c(t){var e=m.map(m.range(f(t)+1),function(){return[]});return m.each(t.nodes(),function(r){var n=t.node(r),i=n.rank;m.isUndefined(i)||(e[i][n.order]=r)}),e}function l(t){var e=m.min(m.map(t.nodes(),function(e){return t.node(e).rank}));m.each(t.nodes(),function(r){var n=t.node(r);m.has(n,"rank")&&(n.rank-=e)})}function h(t){var e=m.min(m.map(t.nodes(),function(e){return t.node(e).rank})),r=[];m.each(t.nodes(),function(n){var i=t.node(n).rank-e;r[i]||(r[i]=[]),r[i].push(n)});var n=0,i=t.graph().nodeRankFactor;m.each(r,function(e,r){m.isUndefined(e)&&r%i!==0?--n:n&&m.each(e,function(e){t.node(e).rank+=n})})}function d(t,e,r,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=i),n(t,"border",a,e)}function f(t){return m.max(m.map(t.nodes(),function(e){var r=t.node(e).rank;return m.isUndefined(r)?void 0:r}))}function p(t,e){var r={lhs:[],rhs:[]};return m.each(t,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function g(t,e){var r=m.now();try{return e()}finally{console.log(t+" time: "+(m.now()-r)+"ms")}}function y(t,e){return e()}var m=t("./lodash"),v=t("./graphlib").Graph;e.exports={addDummyNode:n,simplify:i,asNonCompoundGraph:a,successorWeights:s,predecessorWeights:o,intersectRect:u,buildLayerMatrix:c,normalizeRanks:l,removeEmptyRanks:h,addBorderNode:d,maxRank:f,partition:p,time:g,notime:y}},{"./graphlib":38,"./lodash":41}],61:[function(t,e,r){e.exports="0.7.4"},{}],62:[function(t,e,r){var n=t("./lib");e.exports={Graph:n.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:n.version}},{"./lib":78,"./lib/alg":69,"./lib/json":79}],63:[function(t,e,r){function n(t){function e(a){i.has(n,a)||(n[a]=!0,r.push(a),i.each(t.successors(a),e),i.each(t.predecessors(a),e))}var r,n={},a=[];return i.each(t.nodes(),function(t){r=[],e(t),r.length&&a.push(r)}),a}var i=t("../lodash");e.exports=n},{"../lodash":80}],64:[function(t,e,r){function n(t,e,r){a.isArray(e)||(e=[e]);var n=[],s={};return a.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===r,s,n)}),n}function i(t,e,r,n,s){a.has(n,e)||(n[e]=!0,r||s.push(e),a.each(t.neighbors(e),function(e){i(t,e,r,n,s)}),r&&s.push(e))}var a=t("../lodash");e.exports=n},{"../lodash":80}],65:[function(t,e,r){function n(t,e,r){return a.transform(t.nodes(),function(n,a){n[a]=i(t,a,e,r)},{})}var i=t("./dijkstra"),a=t("../lodash");e.exports=n},{"../lodash":80,"./dijkstra":66}],66:[function(t,e,r){function n(t,e,r,n){return i(t,String(e),r||o,n||function(e){return t.outEdges(e)})}function i(t,e,r,n){var i,a,o={},u=new s,c=function(t){var e=t.v!==i?t.v:t.w,n=o[e],s=r(t),c=a.distance+s;if(0>s)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+s);c0&&(i=u.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var a=t("../lodash"),s=t("../data/priority-queue");e.exports=n;var o=a.constant(1)},{"../data/priority-queue":76,"../lodash":80}],67:[function(t,e,r){function n(t){return i.filter(a(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var i=t("../lodash"),a=t("./tarjan");e.exports=n},{"../lodash":80,"./tarjan":74}],68:[function(t,e,r){function n(t,e,r){return i(t,e||s,r||function(e){return t.outEdges(e)})}function i(t,e,r){var n={},i=t.nodes();return i.forEach(function(t){n[t]={},n[t][t]={distance:0},i.forEach(function(e){t!==e&&(n[t][e]={distance:Number.POSITIVE_INFINITY})}),r(t).forEach(function(r){var i=r.v===t?r.w:r.v,a=e(r);n[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=n[t];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[t],i=e[r],s=a[r],o=n.distance+i.distance;oa&&(u[r]=n,c.decrease(r,a))}}var n,o=new a,u={},c=new s;if(0===t.nodeCount())return o;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(n=c.removeMin(),i.has(u,n))o.setEdge(n,u[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(r)}return o}var i=t("../lodash"),a=t("../graph"),s=t("../data/priority-queue");e.exports=n},{"../data/priority-queue":76,"../graph":77,"../lodash":80}],74:[function(t,e,r){function n(t){function e(o){var u=a[o]={onStack:!0,lowlink:r,index:r++};if(n.push(o),t.successors(o).forEach(function(t){i.has(a,t)?a[t].onStack&&(u.lowlink=Math.min(u.lowlink,a[t].index)):(e(t),u.lowlink=Math.min(u.lowlink,a[t].lowlink))}),u.lowlink===u.index){var c,l=[];do c=n.pop(),a[c].onStack=!1,l.push(c);while(o!==c);s.push(l)}}var r=0,n=[],a={},s=[];return t.nodes().forEach(function(t){i.has(a,t)||e(t)}),s}var i=t("../lodash");e.exports=n},{"../lodash":80}],75:[function(t,e,r){function n(t){function e(o){if(a.has(n,o))throw new i;a.has(r,o)||(n[o]=!0,r[o]=!0,a.each(t.predecessors(o),e),delete n[o],s.push(o))}var r={},n={},s=[];if(a.each(t.sinks(),e),a.size(r)!==t.nodeCount())throw new i;return s}function i(){}var a=t("../lodash");e.exports=n,n.CycleException=i},{"../lodash":80}],76:[function(t,e,r){function n(){this._arr=[],this._keyIndices={}}var i=t("../lodash");e.exports=n,n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(t){return t.key})},n.prototype.has=function(t){return i.has(this._keyIndices,t)},n.prototype.priority=function(t){var e=this._keyIndices[t];return void 0!==e?this._arr[e].priority:void 0},n.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(t,e){var r=this._keyIndices;if(t=String(t),!i.has(r,t)){var n=this._arr,a=n.length;return r[t]=a,n.push({key:t,priority:e}),this._decrease(a),!0}return!1},n.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},n.prototype.decrease=function(t,e){var r=this._keyIndices[t];if(e>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[r].priority+" New: "+e);this._arr[r].priority=e,this._decrease(r)},n.prototype._heapify=function(t){var e=this._arr,r=2*t,n=r+1,i=t;r>1,!(r[e].prioritya){var s=i;i=a,a=s}return i+d+a+d+(c.isUndefined(n)?l:n)}function o(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function u(t,e){return s(t,e.v,e.w,e.name)}var c=t("./lodash");e.exports=n;var l="\x00",h="\x00",d="";n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(t){return this._label=t,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultNodeLabelFn=t,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return c.keys(this._nodes)},n.prototype.sources=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._in[t])},this)},n.prototype.sinks=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._out[t])},this)},n.prototype.setNodes=function(t,e){var r=arguments;return c.each(t,function(t){r.length>1?this.setNode(t,e):this.setNode(t)},this),this},n.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]=h,this._children[t]={},this._children[h][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},n.prototype.node=function(t){return this._nodes[t]},n.prototype.hasNode=function(t){return c.has(this._nodes,t)},n.prototype.removeNode=function(t){var e=this;if(c.has(this._nodes,t)){var r=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]),r),delete this._in[t],delete this._preds[t],c.each(c.keys(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},n.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(e))e=h;else{e+="";for(var r=e;!c.isUndefined(r);r=this.parent(r))if(r===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},n.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},n.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==h)return e}},n.prototype.children=function(t){if(c.isUndefined(t)&&(t=h),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===h)return this.nodes();if(this.hasNode(t))return[]}},n.prototype.predecessors=function(t){var e=this._preds[t];return e?c.keys(e):void 0},n.prototype.successors=function(t){var e=this._sucs[t];return e?c.keys(e):void 0},n.prototype.neighbors=function(t){var e=this.predecessors(t);return e?c.union(e,this.successors(t)):void 0},n.prototype.filterNodes=function(t){function e(t){var a=n.parent(t);return void 0===a||r.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph()),c.each(this._nodes,function(e,n){t(n)&&r.setNode(n,e)},this),c.each(this._edgeObjs,function(t){r.hasNode(t.v)&&r.hasNode(t.w)&&r.setEdge(t,this.edge(t))},this);var n=this,i={};return this._isCompound&&c.each(r.nodes(),function(t){r.setParent(t,e(t))}),r},n.prototype.setDefaultEdgeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultEdgeLabelFn=t,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return c.values(this._edgeObjs)},n.prototype.setPath=function(t,e){var r=this,n=arguments;return c.reduce(t,function(t,i){return n.length>1?r.setEdge(t,i,e):r.setEdge(t,i),i}),this},n.prototype.setEdge=function(){var t,e,r,n,a=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,r=u.name,2===arguments.length&&(n=arguments[1],a=!0)):(t=u,e=arguments[1],r=arguments[3],arguments.length>2&&(n=arguments[2],a=!0)),t=""+t,e=""+e,c.isUndefined(r)||(r=""+r);var l=s(this._isDirected,t,e,r);if(c.has(this._edgeLabels,l))return a&&(this._edgeLabels[l]=n),this;if(!c.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=a?n:this._defaultEdgeLabelFn(t,e,r);var h=o(this._isDirected,t,e,r);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},n.prototype.edge=function(t,e,r){var n=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,r);return this._edgeLabels[n]},n.prototype.hasEdge=function(t,e,r){var n=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,r);return c.has(this._edgeLabels,n)},n.prototype.removeEdge=function(t,e,r){var n=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,r),i=this._edgeObjs[n];return i&&(t=i.v,e=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],a(this._preds[e],t),a(this._sucs[t],e),delete this._in[e][n],delete this._out[t][n],this._edgeCount--),this},n.prototype.inEdges=function(t,e){var r=this._in[t];if(r){var n=c.values(r);return e?c.filter(n,function(t){return t.v===e}):n}},n.prototype.outEdges=function(t,e){var r=this._out[t];if(r){var n=c.values(r);return e?c.filter(n,function(t){return t.w===e}):n}},n.prototype.nodeEdges=function(t,e){var r=this.inEdges(t,e);return r?r.concat(this.outEdges(t,e)):void 0}},{"./lodash":80}],78:[function(t,e,r){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":77,"./version":81}],79:[function(t,e,r){function n(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:i(t),edges:a(t)};return o.isUndefined(t.graph())||(e.value=o.clone(t.graph())),e}function i(t){return o.map(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return o.isUndefined(r)||(i.value=r),o.isUndefined(n)||(i.parent=n),i})}function a(t){return o.map(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return o.isUndefined(e.name)||(n.name=e.name),o.isUndefined(r)||(n.value=r),n})}function s(t){var e=new u(t.options).setGraph(t.value);return o.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),o.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w, -name:t.name},t.value)}),e}var o=t("./lodash"),u=t("./graph");e.exports={write:n,read:s}},{"./graph":77,"./lodash":80}],80:[function(t,e,r){e.exports=t(41)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":41,lodash:82}],81:[function(t,e,r){e.exports="1.0.7"},{}],82:[function(t,e,r){(function(t){(function(){function n(t,e){if(t!==e){var r=null===t,n=t===E,i=t===t,a=null===e,s=e===E,o=e===e;if(t>e&&!a||!i||r&&!s&&o||n&&o)return 1;if(e>t&&!r||!o||a&&!n&&i||s&&i)return-1}return 0}function i(t,e,r){for(var n=t.length,i=r?n:-1;r?i--:++i-1;);return r}function c(t,e){for(var r=t.length;r--&&e.indexOf(t.charAt(r))>-1;);return r}function l(t,e){return n(t.criteria,e.criteria)||t.index-e.index}function h(t,e,r){for(var i=-1,a=t.criteria,s=e.criteria,o=a.length,u=r.length;++i=u)return c;var l=r[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function d(t){return Gt[t]}function f(t){return $t[t]}function p(t,e,r){return e?t=zt[t]:r&&(t=Zt[t]),"\\"+t}function g(t){return"\\"+Zt[t]}function y(t,e,r){for(var n=t.length,i=e+(r?0:-1);r?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function b(t,e){for(var r=-1,n=t.length,i=-1,a=[];++re,i=r?t.length:0,a=$r(0,i,this.__views__),s=a.start,o=a.end,u=o-s,c=n?o:s-1,l=this.__iteratees__,h=l.length,d=0,f=xs(u,this.__takeCount__);if(!r||j>i||i==u&&f==u)return rr(n&&r?t.reverse():t,this.__actions__);var p=[];t:for(;u--&&f>d;){c+=e;for(var g=-1,y=t[c];++g=j?pr(e):null,c=e.length;u&&(s=Xt,o=!1,e=u);t:for(;++ir&&(r=-r>i?0:i+r),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=r>n?0:n>>>0,r>>>=0;i>r;)t[r++]=e;return t}function Ce(t,e){var r=[];return Ns(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function Te(t,e,r,n){var i;return r(t,function(t,r,a){return e(t,r,a)?(i=n?r:t,!1):void 0}),i}function Se(t,e,r,n){n||(n=[]);for(var i=-1,a=t.length;++in;)t=t[e[n++]];return n&&n==i?t:E}}function Ne(t,e,r,n,i,a){return t===e?!0:null==t||null==e||!Ii(t)&&!m(e)?t!==t&&e!==e:Me(t,e,Ne,r,n,i,a)}function Me(t,e,r,n,i,a,s){var o=So(t),u=So(e),c=H,l=H;o||(c=rs.call(t),c==$?c=Q:c!=Q&&(o=Vi(t))),u||(l=rs.call(e),l==$?l=Q:l!=Q&&(u=Vi(e)));var h=c==Q,d=l==Q,f=c==l;if(f&&!o&&!h)return Rr(t,e,c);if(!i){var p=h&&ts.call(t,"__wrapped__"),g=d&&ts.call(e,"__wrapped__");if(p||g)return r(p?t.value():t,g?e.value():e,n,i,a,s)}if(!f)return!1;a||(a=[]),s||(s=[]);for(var y=a.length;y--;)if(a[y]==t)return s[y]==e;a.push(t),s.push(e);var m=(o?Pr:qr)(t,e,r,n,i,a,s);return a.pop(),s.pop(),m}function Pe(t,e,r){var n=e.length,i=n,a=!r;if(null==t)return!i;for(t=hn(t);n--;){var s=e[n];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++ne&&(e=-e>i?0:i+e),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=ja(i);++n=j,u=o?pr():null,c=[];u?(n=Xt,s=!1):(o=!1,u=e?[]:c);t:for(;++r=i){for(;i>n;){var a=n+i>>>1,s=t[a];(r?e>=s:e>s)&&null!==s?n=a+1:i=a}return i}return ir(t,e,Ca,r)}function ir(t,e,r,n){e=r(e);for(var i=0,a=t?t.length:0,s=e!==e,o=null===e,u=e===E;a>i;){var c=ms((i+a)/2),l=r(t[c]),h=l!==E,d=l===l;if(s)var f=d||n;else f=o?d&&h&&(n||null!=l):u?d&&(n||h):null==l?!1:n?e>=l:e>l;f?i=c+1:a=c}return xs(a,Ss)}function ar(t,e,r){if("function"!=typeof t)return Ca;if(e===E)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 3:return function(r,n,i){return t.call(e,r,n,i)};case 4:return function(r,n,i,a){return t.call(e,r,n,i,a)};case 5:return function(r,n,i,a,s){return t.call(e,r,n,i,a,s)}}return function(){return t.apply(e,arguments)}}function sr(t){var e=new as(t.byteLength),r=new fs(e);return r.set(new fs(t)),e}function or(t,e,r){for(var n=r.length,i=-1,a=ws(t.length-n,0),s=-1,o=e.length,u=ja(o+a);++s2?r[i-2]:E,s=i>2?r[2]:E,o=i>1?r[i-1]:E;for("function"==typeof a?(a=ar(a,o,5),i-=2):(a="function"==typeof o?o:E,i-=a?1:0),s&&Jr(r[0],r[1],s)&&(a=3>i?E:a,i=1);++n-1?r[s]:E}return Te(r,n,t)}}function wr(t){return function(e,r,n){return e&&e.length?(r=jr(r,n,3),i(e,r,t)):-1}}function xr(t){return function(e,r,n){return r=jr(r,n,3),Te(e,r,t,!0)}}function Ar(t){return function(){for(var e,r=arguments.length,n=t?r:-1,i=0,a=ja(r);t?n--:++n=j)return e.plant(n).value();for(var i=0,s=r?a[i].apply(this,t):n;++iv){var k=o?te(o):E,D=ws(c-v,0),S=p?A:E,F=p?E:A,B=p?w:E,I=p?E:w;e|=p?L:O,e&=~(p?O:L),g||(e&=~(C|T));var N=[t,e,r,B,S,I,F,k,u,D],M=Br.apply(E,N);return tn(t)&&Ys(M,N),M.placeholder=x,M}}var P=d?r:this,R=f?P[t]:t;return o&&(w=un(w,o)),h&&u=e||!bs(e))return"";var i=e-n;return r=null==r?" ":r+"",ya(r,gs(i/r.length)).slice(0,i)}function Or(t,e,r,n){function i(){for(var e=-1,o=arguments.length,u=-1,c=n.length,l=ja(c+o);++uu))return!1;for(;++o-1&&t%1==0&&e>t}function Jr(t,e,r){if(!Ii(r))return!1;var n=typeof e;if("number"==n?Kr(r)&&Xr(e,r.length):"string"==n&&e in r){var i=r[e];return t===t?t===i:i!==i}return!1}function Qr(t,e){var r=typeof t;if("string"==r&&Et.test(t)||"number"==r)return!0;if(So(t))return!1;var n=!kt.test(t);return n||null!=e&&t in hn(e)}function tn(t){var r=Ur(t);if(!(r in X.prototype))return!1;var n=e[r];if(t===n)return!0;var i=js(n);return!!i&&t===i[0]}function en(t){return"number"==typeof t&&t>-1&&t%1==0&&Bs>=t}function rn(t){return t===t&&!Ii(t)}function nn(t,e){var r=t[1],n=e[1],i=r|n,a=I>i,s=n==I&&r==F||n==I&&r==N&&t[7].length<=e[8]||n==(I|N)&&r==F;if(!a&&!s)return t;n&C&&(t[2]=e[2],i|=r&C?0:S);var o=e[3];if(o){var u=t[3];t[3]=u?or(u,o,e[4]):te(o),t[4]=u?b(t[3],G):te(e[4])}return o=e[5],o&&(u=t[5],t[5]=u?ur(u,o,e[6]):te(o),t[6]=u?b(t[5],G):te(e[6])),o=e[7],o&&(t[7]=te(o)),n&I&&(t[8]=null==t[8]?e[8]:xs(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function an(t,e){return t===E?e:Fo(t,e,an)}function sn(t,e){t=hn(t);for(var r=-1,n=e.length,i={};++rn;)s[++a]=ze(t,n,n+=e);return s}function gn(t){for(var e=-1,r=t?t.length:0,n=-1,i=[];++ee?0:e)):[]}function mn(t,e,r){var n=t?t.length:0;return n?((r?Jr(t,e,r):null==e)&&(e=1),e=n-(+e||0),ze(t,0,0>e?0:e)):[]}function vn(t,e,r){return t&&t.length?er(t,jr(e,r,3),!0,!0):[]}function bn(t,e,r){return t&&t.length?er(t,jr(e,r,3),!0):[]}function _n(t,e,r,n){var i=t?t.length:0;return i?(r&&"number"!=typeof r&&Jr(t,e,r)&&(r=0,n=i),De(t,e,r,n)):[]}function wn(t){return t?t[0]:E}function xn(t,e,r){var n=t?t.length:0;return r&&Jr(t,e,r)&&(e=!1),n?Se(t,e):[]}function An(t){var e=t?t.length:0;return e?Se(t,!0):[]}function kn(t,e,r){var n=t?t.length:0;if(!n)return-1;if("number"==typeof r)r=0>r?ws(n+r,0):r;else if(r){var i=nr(t,e);return n>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,r||0)}function En(t){return mn(t,1)}function Dn(t){var e=t?t.length:0;return e?t[e-1]:E}function Cn(t,e,r){var n=t?t.length:0;if(!n)return-1;var i=n;if("number"==typeof r)i=(0>r?ws(n+r,0):xs(r||0,n-1))+1;else if(r){i=nr(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Tn(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var r=0,n=Yr(),i=t.length;++r-1;)ds.call(e,a,1);return e}function Sn(t,e,r){var n=[];if(!t||!t.length)return n;var i=-1,a=[],s=t.length;for(e=jr(e,r,3);++ie?0:e)):[]}function On(t,e,r){var n=t?t.length:0;return n?((r?Jr(t,e,r):null==e)&&(e=1),e=n-(+e||0),ze(t,0>e?0:e)):[]}function In(t,e,r){return t&&t.length?er(t,jr(e,r,3),!1,!0):[]}function Nn(t,e,r){return t&&t.length?er(t,jr(e,r,3)):[]}function Mn(t,e,r,n){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(n=r,r=Jr(t,e,n)?E:e,e=!1);var s=jr();return(null!=r||s!==_e)&&(r=s(r,n,3)),e&&Yr()==a?_(t,r):Qe(t,r)}function Pn(t){if(!t||!t.length)return[];var e=-1,r=0;t=oe(t,function(t){return Kr(t)?(r=ws(t.length,r),!0):void 0});for(var n=ja(r);++er?ws(i+r,0):r||0,"string"==typeof t||!So(t)&&Yi(t)?i>=r&&t.indexOf(e,r)>-1:!!i&&Yr(t,e,r)>-1}function ti(t,e,r){var n=So(t)?ue:Re;return e=jr(e,r,3),n(t,e)}function ei(t,e){return ti(t,Oa(e))}function ri(t,e,r){var n=So(t)?oe:Ce;return e=jr(e,r,3),n(t,function(t,r,n){return!e(t,r,n)})}function ni(t,e,r){if(r?Jr(t,e,r):null==e){t=ln(t);var n=t.length;return n>0?t[He(0,n-1)]:E}var i=-1,a=Wi(t),n=a.length,s=n-1;for(e=xs(0>e?0:+e||0,n);++i0&&(r=e.apply(this,arguments)),1>=t&&(e=E),r}}function fi(t,e,r){function n(){f&&ss(f),c&&ss(c),g=0,c=f=p=E}function i(e,r){r&&ss(r),c=f=p=E,e&&(g=go(),l=t.apply(d,u),f||c||(u=d=E))}function a(){var t=e-(go()-h);0>=t||t>e?i(p,c):f=hs(a,t)}function s(){i(m,f)}function o(){if(u=arguments,h=go(),d=this,p=m&&(f||!v),y===!1)var r=v&&!f;else{c||v||(g=h);var n=y-(h-g),i=0>=n||n>y;i?(c&&(c=ss(c)),g=h,l=t.apply(d,u)):c||(c=hs(s,n))}return i&&f?f=ss(f):f||e===y||(f=hs(a,e)),r&&(i=!0,l=t.apply(d,u)),!i||f||c||(u=d=E),l}var u,c,l,h,d,f,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Za(V);if(e=0>e?0:+e||0,r===!0){var v=!0;m=!1}else Ii(r)&&(v=!!r.leading,y="maxWait"in r&&ws(+r.maxWait||0,e),m="trailing"in r?!!r.trailing:m);return o.cancel=n,o}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Za(V);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s),s};return r.cache=new pi.Cache,r}function gi(t){if("function"!=typeof t)throw new Za(V);return function(){return!t.apply(this,arguments)}}function yi(t){return di(2,t)}function mi(t,e){if("function"!=typeof t)throw new Za(V);return e=ws(e===E?t.length-1:+e||0,0),function(){for(var r=arguments,n=-1,i=ws(r.length-e,0),a=ja(i);++ne}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Kr(t)&&ts.call(t,"callee")&&!cs.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&rs.call(t)==W}function Ci(t){return m(t)&&rs.call(t)==z}function Ti(t){return!!t&&1===t.nodeType&&m(t)&&!ji(t)}function Si(t){return null==t?!0:Kr(t)&&(So(t)||Yi(t)||Ei(t)||m(t)&&Oi(t.splice))?!t.length:!jo(t).length}function Fi(t,e,r,n){r="function"==typeof r?ar(r,n,3):E;var i=r?r(t,e):E;return i===E?Ne(t,e,r):!!i}function Bi(t){return m(t)&&"string"==typeof t.message&&rs.call(t)==Z}function Li(t){return"number"==typeof t&&bs(t)}function Oi(t){return Ii(t)&&rs.call(t)==K}function Ii(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Ni(t,e,r,n){return r="function"==typeof r?ar(r,n,3):E,Pe(t,Vr(e),r)}function Mi(t){return qi(t)&&t!=+t}function Pi(t){return null==t?!1:Oi(t)?is.test(Qa.call(t)):m(t)&&It.test(t)}function Ri(t){return null===t}function qi(t){return"number"==typeof t||m(t)&&rs.call(t)==J}function ji(t){var e;if(!m(t)||rs.call(t)!=Q||Ei(t)||!ts.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var r;return Fe(t,function(t,e){r=e}),r===E||ts.call(t,r)}function Ui(t){return Ii(t)&&rs.call(t)==tt}function Yi(t){return"string"==typeof t||m(t)&&rs.call(t)==rt}function Vi(t){return m(t)&&en(t.length)&&!!Yt[rs.call(t)]}function Gi(t){return t===E}function $i(t,e){return e>t}function Hi(t,e){return e>=t}function Wi(t){var e=t?Us(t):0;return en(e)?e?te(t):[]:aa(t)}function zi(t){return be(t,ta(t))}function Zi(t,e,r){var n=Is(t);return r&&Jr(t,e,r)&&(e=E),e?me(n,e):n}function Ki(t){return Oe(t,ta(t))}function Xi(t,e,r){var n=null==t?E:Ie(t,dn(e),e+"");return n===E?r:n}function Ji(t,e){if(null==t)return!1;var r=ts.call(t,e);if(!r&&!Qr(e)){if(e=dn(e),t=1==e.length?t:Ie(t,ze(e,0,-1)),null==t)return!1;e=Dn(e),r=ts.call(t,e)}return r||en(t.length)&&Xr(e,t.length)&&(So(t)||Ei(t))}function Qi(t,e,r){r&&Jr(t,e,r)&&(e=E);for(var n=-1,i=jo(t),a=i.length,s={};++n0;++n=xs(e,r)&&tr?0:+r||0,n),r-=e.length,r>=0&&t.indexOf(e,r)==r}function da(t){return t=o(t),t&&_t.test(t)?t.replace(vt,f):t}function fa(t){return t=o(t),t&&Tt.test(t)?t.replace(Ct,p):t||"(?:)"}function pa(t,e,r){t=o(t),e=+e;var n=t.length;if(n>=e||!bs(e))return t;var i=(e-n)/2,a=ms(i),s=gs(i);return r=Lr("",s,r),r.slice(0,a)+t+r}function ga(t,e,r){return(r?Jr(t,e,r):null==e)?e=0:e&&(e=+e),t=ba(t),ks(t,e||(Ot.test(t)?16:10))}function ya(t,e){var r="";if(t=o(t),e=+e,1>e||!t||!bs(e))return r;do e%2&&(r+=t),e=ms(e/2),t+=t;while(e);return r}function ma(t,e,r){return t=o(t),r=null==r?0:xs(0>r?0:+r||0,t.length),t.lastIndexOf(e,r)==r}function va(t,r,n){var i=e.templateSettings;n&&Jr(t,r,n)&&(r=n=E),t=o(t),r=ye(me({},n||r),i,ge);var a,s,u=ye(me({},r.imports),i.imports,ge),c=jo(u),l=tr(u,c),h=0,d=r.interpolate||Pt,f="__p += '",p=Wa((r.escape||Pt).source+"|"+d.source+"|"+(d===At?Bt:Pt).source+"|"+(r.evaluate||Pt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in r?r.sourceURL:"lodash.templateSources["+ ++Ut+"]")+"\n";t.replace(p,function(e,r,n,i,o,u){return n||(n=i),f+=t.slice(h,u).replace(Rt,g),r&&(a=!0,f+="' +\n__e("+r+") +\n'"),o&&(s=!0,f+="';\n"+o+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),h=u+e.length,e}),f+="';\n";var m=r.variable;m||(f="with (obj) {\n"+f+"\n}\n"),f=(s?f.replace(pt,""):f).replace(gt,"$1").replace(yt,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var v=Xo(function(){return Va(c,y+"return "+f).apply(E,l)});if(v.source=f,Bi(v))throw v;return v}function ba(t,e,r){var n=t;return(t=o(t))?(r?Jr(n,e,r):null==e)?t.slice(w(t),x(t)+1):(e+="",t.slice(u(t,e),c(t,e)+1)):t}function _a(t,e,r){var n=t;return t=o(t),t?(r?Jr(n,e,r):null==e)?t.slice(w(t)):t.slice(u(t,e+"")):t}function wa(t,e,r){var n=t;return t=o(t),t?(r?Jr(n,e,r):null==e)?t.slice(0,x(t)+1):t.slice(0,c(t,e+"")+1):t}function xa(t,e,r){r&&Jr(t,e,r)&&(e=E);var n=M,i=P;if(null!=e)if(Ii(e)){var a="separator"in e?e.separator:a;n="length"in e?+e.length||0:n,i="omission"in e?o(e.omission):i}else n=+e||0;if(t=o(t),n>=t.length)return t;var s=n-i.length;if(1>s)return i;var u=t.slice(0,s);if(null==a)return u+i;if(Ui(a)){if(t.slice(s).search(a)){var c,l,h=t.slice(0,s);for(a.global||(a=Wa(a.source,(Lt.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;u=u.slice(0,null==l?s:l)}}else if(t.indexOf(a,s)!=s){var d=u.lastIndexOf(a);d>-1&&(u=u.slice(0,d))}return u+i}function Aa(t){return t=o(t),t&&bt.test(t)?t.replace(mt,A):t}function ka(t,e,r){return r&&Jr(t,e,r)&&(e=E),t=o(t),t.match(e||qt)||[]}function Ea(t,e,r){return r&&Jr(t,e,r)&&(e=E),m(t)?Ta(t):_e(t,e)}function Da(t){return function(){return t}}function Ca(t){return t}function Ta(t){return qe(we(t,!0))}function Sa(t,e){return je(t,we(e,!0))}function Fa(t,e,r){if(null==r){var n=Ii(e),i=n?jo(e):E,a=i&&i.length?Oe(e,i):E;(a?a.length:n)||(a=!1,r=e,e=t,t=this)}a||(a=Oe(e,jo(e)));var s=!0,o=-1,u=Oi(t),c=a.length;r===!1?s=!1:Ii(r)&&"chain"in r&&(s=r.chain);for(;++ot||!bs(t))return[];var n=-1,i=ja(xs(t,Ts));for(e=ar(e,r,1);++nn?i[n]=e(n):e(n);return i}function Pa(t){var e=++es;return o(t)+e}function Ra(t,e){return(+t||0)+(+e||0)}function qa(t,e,r){return r&&Jr(t,e,r)&&(e=E),e=jr(e,r,3),1==e.length?fe(So(t)?t:ln(t),e):Je(t,e)}t=t?ne.defaults(re.Object(),t,ne.pick(re,jt)):re;var ja=t.Array,Ua=t.Date,Ya=t.Error,Va=t.Function,Ga=t.Math,$a=t.Number,Ha=t.Object,Wa=t.RegExp,za=t.String,Za=t.TypeError,Ka=ja.prototype,Xa=Ha.prototype,Ja=za.prototype,Qa=Va.prototype.toString,ts=Xa.hasOwnProperty,es=0,rs=Xa.toString,ns=re._,is=Wa("^"+Qa.call(ts).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),as=t.ArrayBuffer,ss=t.clearTimeout,os=t.parseFloat,us=Ga.pow,cs=Xa.propertyIsEnumerable,ls=Gr(t,"Set"),hs=t.setTimeout,ds=Ka.splice,fs=t.Uint8Array,ps=Gr(t,"WeakMap"),gs=Ga.ceil,ys=Gr(Ha,"create"),ms=Ga.floor,vs=Gr(ja,"isArray"),bs=t.isFinite,_s=Gr(Ha,"keys"),ws=Ga.max,xs=Ga.min,As=Gr(Ua,"now"),ks=t.parseInt,Es=Ga.random,Ds=$a.NEGATIVE_INFINITY,Cs=$a.POSITIVE_INFINITY,Ts=4294967295,Ss=Ts-1,Fs=Ts>>>1,Bs=9007199254740991,Ls=ps&&new ps,Os={};e.support={};e.templateSettings={escape:wt,evaluate:xt,interpolate:At,variable:"",imports:{_:e}};var Is=function(){function t(){}return function(e){if(Ii(e)){t.prototype=e;var r=new t;t.prototype=E}return r||{}}}(),Ns=hr(Be),Ms=hr(Le,!0),Ps=dr(),Rs=dr(!0),qs=Ls?function(t,e){return Ls.set(t,e),t}:Ca,js=Ls?function(t){return Ls.get(t)}:La,Us=Ve("length"),Ys=function(){var t=0,e=0;return function(r,n){var i=go(),a=q-(i-e);if(e=i,a>0){if(++t>=R)return r}else t=0;return qs(r,n)}}(),Vs=mi(function(t,e){return m(t)&&Kr(t)?Ae(t,Se(e,!1,!0)):[]}),Gs=wr(),$s=wr(!0),Hs=mi(function(t){for(var e=t.length,r=e,n=ja(h),i=Yr(),s=i==a,o=[];r--;){var u=t[r]=Kr(u=t[r])?u:[];n[r]=s&&u.length>=120?pr(r&&u):null}var c=t[0],l=-1,h=c?c.length:0,d=n[0];t:for(;++l2?t[e-2]:E,n=e>1?t[e-1]:E;return e>2&&"function"==typeof r?e-=2:(r=e>1&&"function"==typeof n?(--e,n):E,n=E),t.length=e,Rn(t,r,n)}),to=mi(function(t){return t=Se(t),this.thru(function(e){return Qt(So(e)?e:[hn(e)],t)})}),eo=mi(function(t,e){return ve(t,Se(e))}),ro=cr(function(t,e,r){ts.call(t,r)?++t[r]:t[r]=1}),no=_r(Ns),io=_r(Ms,!0),ao=kr(ee,Ns),so=kr(ie,Ms),oo=cr(function(t,e,r){ts.call(t,r)?t[r].push(e):t[r]=[e]}),uo=cr(function(t,e,r){t[r]=e}),co=mi(function(t,e,r){var n=-1,i="function"==typeof e,a=Qr(e),s=Kr(t)?ja(t.length):[];return Ns(t,function(t){var o=i?e:a&&null!=t?t[e]:E;s[++n]=o?o.apply(t,r):Zr(t,e,r)}),s}),lo=cr(function(t,e,r){t[r?0:1].push(e)},function(){return[[],[]]}),ho=Fr(le,Ns),fo=Fr(he,Ms),po=mi(function(t,e){if(null==t)return[];var r=e[2];return r&&Jr(e[0],e[1],r)&&(e.length=1),Xe(t,Se(e),[])}),go=As||function(){return(new Ua).getTime()},yo=mi(function(t,e,r){var n=C;if(r.length){var i=b(r,yo.placeholder);n|=L}return Mr(t,n,e,r,i)}),mo=mi(function(t,e){e=e.length?Se(e):Ki(t);for(var r=-1,n=e.length;++r0||0>e)?new X(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),e!==E&&(e=+e||0,r=0>e?r.dropRight(-e):r.take(e-t)),r)},X.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},X.prototype.toArray=function(){return this.take(Cs)},Be(X.prototype,function(t,r){var n=/^(?:filter|map|reject)|While$/.test(r),i=/^(?:first|last)$/.test(r),a=e[i?"take"+("last"==r?"Right":""):r];a&&(e.prototype[r]=function(){var e=i?[1]:arguments,r=this.__chain__,s=this.__wrapped__,o=!!this.__actions__.length,u=s instanceof X,c=e[0],l=u||So(s);l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var h=function(t){return i&&r?a(t,1)[0]:a.apply(E,ce([t],e))},d={func:Vn,args:[h],thisArg:E},f=u&&!o;if(i&&!r)return f?(s=s.clone(),s.__actions__.push(d),t.call(s)):a.call(E,this.value())[0];if(!i&&l){s=f?s:new X(this);var p=t.apply(s,e);return p.__actions__.push(d),new v(p,r)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var r=(/^(?:replace|split)$/.test(t)?Ja:Ka)[t],n=/^(?: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__?r.apply(this.value(),t):this[n](function(e){return r.apply(e,t)})}}),Be(X.prototype,function(t,r){var n=e[r];if(n){var i=n.name,a=Os[i]||(Os[i]=[]);a.push({name:r,func:n})}}),Os[Br(E,T).name]=[{name:"wrapper",func:E}],X.prototype.clone=et,X.prototype.reverse=nt,X.prototype.value=Gt,e.prototype.chain=Gn,e.prototype.commit=$n,e.prototype.concat=to,e.prototype.plant=Hn,e.prototype.reverse=Wn,e.prototype.toString=zn,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Zn,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 E,D="3.10.1",C=1,T=2,S=4,F=8,B=16,L=32,O=64,I=128,N=256,M=30,P="...",R=150,q=16,j=200,U=1,Y=2,V="Expected a function",G="__lodash_placeholder__",$="[object Arguments]",H="[object Array]",W="[object Boolean]",z="[object Date]",Z="[object Error]",K="[object Function]",X="[object Map]",J="[object Number]",Q="[object Object]",tt="[object RegExp]",et="[object Set]",rt="[object String]",nt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",st="[object Float64Array]",ot="[object Int8Array]",ut="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",dt="[object Uint16Array]",ft="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,bt=RegExp(mt.source),_t=RegExp(vt.source),wt=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Ct=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Tt=RegExp(Ct.source),St=/[\u0300-\u036f\ufe20-\ufe23]/g,Ft=/\\(\\)?/g,Bt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Lt=/\w*$/,Ot=/^0[xX]/,It=/^\[object .+?Constructor\]$/,Nt=/^\d+$/,Mt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Pt=/($^)/,Rt=/['\n\r\u2028\u2029\\]/g,qt=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")}(),jt=["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"],Ut=-1,Yt={};Yt[at]=Yt[st]=Yt[ot]=Yt[ut]=Yt[ct]=Yt[lt]=Yt[ht]=Yt[dt]=Yt[ft]=!0,Yt[$]=Yt[H]=Yt[it]=Yt[W]=Yt[z]=Yt[Z]=Yt[K]=Yt[X]=Yt[J]=Yt[Q]=Yt[tt]=Yt[et]=Yt[rt]=Yt[nt]=!1;var Vt={};Vt[$]=Vt[H]=Vt[it]=Vt[W]=Vt[z]=Vt[at]=Vt[st]=Vt[ot]=Vt[ut]=Vt[ct]=Vt[J]=Vt[Q]=Vt[tt]=Vt[rt]=Vt[lt]=Vt[ht]=Vt[dt]=Vt[ft]=!0,Vt[Z]=Vt[K]=Vt[X]=Vt[et]=Vt[nt]=!1;var Gt={"À":"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"},$t={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ht={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Wt={"function":!0,object:!0},zt={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"},Zt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Kt=Wt[typeof r]&&r&&!r.nodeType&&r,Xt=Wt[typeof e]&&e&&!e.nodeType&&e,Jt=Kt&&Xt&&"object"==typeof t&&t&&t.Object&&t,Qt=Wt[typeof self]&&self&&self.Object&&self,te=Wt[typeof window]&&window&&window.Object&&window,ee=Xt&&Xt.exports===Kt&&Kt,re=Jt||te!==(this&&this.window)&&te||Qt||this,ne=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(re._=ne,define(function(){return ne})):Kt&&Xt?ee?(Xt.exports=ne)._=ne:Kt._=ne:re._=ne}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(t,e,r){(function(t){!function(n){var i="object"==typeof r&&r,a="object"==typeof e&&e&&e.exports==i&&e,s="object"==typeof t&&t;(s.global===s||s.window===s)&&(n=s);var o=/[\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,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"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","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht", -"𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"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","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,f={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\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|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={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:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",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:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",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:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",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:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",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:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",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:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",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:"▫",emsp13:" ",emsp14:" ",emsp:" ",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:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",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",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",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:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",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:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",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:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",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:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",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:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",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:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",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:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",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:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",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:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",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:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",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:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",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:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",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:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",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:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",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:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",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:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗", -tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",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:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",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:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",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:"ÿ"},b={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:"Ÿ"},_=[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],w=String.fromCharCode,x={},A=x.hasOwnProperty,k=function(t,e){return A.call(t,e)},E=function(t,e){for(var r=-1,n=t.length;++r=55296&&57343>=t||t>1114111?(e&&S("character reference outside the permissible Unicode range"),"�"):k(b,t)?(e&&S("disallowed character reference"),b[t]):(e&&E(_,t)&&S("disallowed character reference"),t>65535&&(t-=65536,r+=w(t>>>10&1023|55296),t=56320|1023&t),r+=w(t))},T=function(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"},S=function(t){throw Error("Parse error: "+t)},F=function(t,e){e=D(e,F.options);var r=e.strict;r&&g.test(t)&&S("forbidden code point");var n=e.encodeEverything,i=e.useNamedReferences,a=e.allowUnsafeSymbols;return n?(t=t.replace(u,function(t){return i&&k(h,t)?"&"+h[t]+";":T(t)}),i&&(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(t=t.replace(l,function(t){return"&"+h[t]+";"}))):i?(a||(t=t.replace(d,function(t){return"&"+h[t]+";"})),t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),t=t.replace(l,function(t){return"&"+h[t]+";"})):a||(t=t.replace(d,T)),t.replace(o,function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),n=1024*(e-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,T)};F.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var B=function(t,e){e=D(e,B.options);var r=e.strict;return r&&p.test(t)&&S("malformed character reference"),t.replace(y,function(t,n,i,a,s,o,u,c){var l,h,d,f,p;return n?(l=n,h=i,r&&!h&&S("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=s,r&&!h&&S("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(f=o,k(m,f)?m[f]:(r&&S("named character reference was not terminated by a semicolon"),t)):(f=u,p=c,p&&e.isAttributeValue?(r&&"="==p&&S("`&` did not start a character reference"),t):(r&&S("named character reference was not terminated by a semicolon"),v[f]+(p||"")))})};B.options={isAttributeValue:!1,strict:!1};var L=function(t){return t.replace(d,function(t){return f[t]})},O={version:"0.5.0",encode:F,decode:B,escape:L,unescape:B};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return O});else if(i&&!i.nodeType)if(a)a.exports=O;else for(var I in O)k(O,I)&&(i[I]=O[I]);else n.he=O}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],84:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():"function"==typeof define&&define.amd?define(n):t.moment=n()}(this,function(){"use strict";function r(){return Nr.apply(null,arguments)}function n(t){Nr=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var r,n=[];for(r=0;r0)for(r in Pr)n=Pr[r],i=e[n],"undefined"!=typeof i&&(t[n]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),Rr===!1&&(Rr=!0,r.updateOffset(this),Rr=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var e=+t,r=0;return 0!==e&&isFinite(e)&&(r=m(e)),r}function b(t,e,r){var n,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),s=0;for(n=0;i>n;n++)(r&&t[n]!==e[n]||!r&&v(t[n])!==v(e[n]))&&s++;return s+a}function _(){}function w(t){return t?t.toLowerCase().replace("_","-"):t}function x(t){for(var e,r,n,i,a=0;a0;){if(n=A(i.slice(0,e).join("-")))return n;if(r&&r.length>=e&&b(i,r,!0)>=e-1)break;e--}a++}return null}function A(r){var n=null;if(!qr[r]&&"undefined"!=typeof e&&e&&e.exports)try{n=Mr._abbr,t("./locale/"+r),k(n)}catch(i){}return qr[r]}function k(t,e){var r;return t&&(r="undefined"==typeof e?D(t):E(t,e),r&&(Mr=r)),Mr._abbr}function E(t,e){return null!==e?(e.abbr=t,qr[t]=qr[t]||new _,qr[t].set(e),k(t),qr[t]):(delete qr[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Mr;if(!i(t)){if(e=A(t))return e;t=[t]}return x(t)}function C(t,e){var r=t.toLowerCase();jr[r]=jr[r+"s"]=jr[e]=t}function T(t){return"string"==typeof t?jr[t]||jr[t.toLowerCase()]:void 0}function S(t){var e,r,n={};for(r in t)o(t,r)&&(e=T(r),e&&(n[e]=t[r]));return n}function F(t,e){return function(n){return null!=n?(L(this,t,n),r.updateOffset(this,e),this):B(this,t)}}function B(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function L(t,e,r){return t._d["set"+(t._isUTC?"UTC":"")+e](r)}function O(t,e){var r;if("object"==typeof t)for(r in t)this.set(r,t[r]);else if(t=T(t),"function"==typeof this[t])return this[t](e);return this}function I(t,e,r){var n=""+Math.abs(t),i=e-n.length,a=t>=0;return(a?r?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+n}function N(t,e,r,n){var i=n;"string"==typeof n&&(i=function(){return this[n]()}),t&&(Gr[t]=i),e&&(Gr[e[0]]=function(){return I(i.apply(this,arguments),e[1],e[2])}),r&&(Gr[r]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function M(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function P(t){var e,r,n=t.match(Ur);for(e=0,r=n.length;r>e;e++)Gr[n[e]]?n[e]=Gr[n[e]]:n[e]=M(n[e]);return function(i){var a="";for(e=0;r>e;e++)a+=n[e]instanceof Function?n[e].call(i,t):n[e];return a}}function R(t,e){return t.isValid()?(e=q(e,t.localeData()),Vr[e]=Vr[e]||P(e),Vr[e](t)):t.localeData().invalidDate()}function q(t,e){function r(t){return e.longDateFormat(t)||t}var n=5;for(Yr.lastIndex=0;n>=0&&Yr.test(t);)t=t.replace(Yr,r),Yr.lastIndex=0,n-=1;return t}function j(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function U(t,e,r){sn[t]=j(e)?e:function(t){return t&&r?r:e}}function Y(t,e){return o(sn,t)?sn[t](e._strict,e._locale):new RegExp(V(t))}function V(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,r,n,i){return e||r||n||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var r,n=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(n=function(t,r){r[e]=v(t)}),r=0;rn;n++){if(i=c([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),r||this._monthsParse[n]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[n]=new RegExp(a.replace(".",""),"i")),r&&"MMMM"===e&&this._longMonthsParse[n].test(t))return n;if(r&&"MMM"===e&&this._shortMonthsParse[n].test(t))return n;if(!r&&this._monthsParse[n].test(t))return n}}function X(t,e){var r;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(r=Math.min(t.date(),W(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,r),t)}function J(t){return null!=t?(X(this,t),r.updateOffset(this,!0),this):B(this,"Month")}function Q(){return W(this.year(),this.month())}function tt(t){var e,r=t._a;return r&&-2===h(t).overflow&&(e=r[cn]<0||r[cn]>11?cn:r[ln]<1||r[ln]>W(r[un],r[cn])?ln:r[hn]<0||r[hn]>24||24===r[hn]&&(0!==r[dn]||0!==r[fn]||0!==r[pn])?hn:r[dn]<0||r[dn]>59?dn:r[fn]<0||r[fn]>59?fn:r[pn]<0||r[pn]>999?pn:-1,h(t)._overflowDayOfYear&&(un>e||e>ln)&&(e=ln),h(t).overflow=e),t}function et(t){r.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function rt(t,e){var r=!0;return u(function(){return r&&(et(t+"\n"+(new Error).stack),r=!1),e.apply(this,arguments)},e)}function nt(t,e){mn[t]||(et(e),mn[t]=!0)}function it(t){var e,r,n=t._i,i=vn.exec(n);if(i){for(h(t).iso=!0,e=0,r=bn.length;r>e;e++)if(bn[e][1].exec(n)){t._f=bn[e][0];break}for(e=0,r=_n.length;r>e;e++)if(_n[e][1].exec(n)){t._f+=(i[6]||" ")+_n[e][0];break}n.match(rn)&&(t._f+="Z"),At(t)}else t._isValid=!1}function at(t){var e=wn.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,r.createFromInputFallback(t))))}function st(t,e,r,n,i,a,s){var o=new Date(t,e,r,n,i,a,s);return 1970>t&&o.setFullYear(t),o}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ut(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,e,r){var n,i=r-e,a=r-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),n=Bt(t).add(a,"d"),{week:Math.ceil(n.dayOfYear()/7),year:n.year()}}function dt(t){return ht(t,this._week.dow,this._week.doy).week}function ft(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function yt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function mt(t,e,r,n,i){var a,s=6+i-n,o=ot(t,0,1+s),u=o.getUTCDay();return i>u&&(u+=7),r=null!=r?1*r:i,a=1+s+7*(e-1)-u+r,{year:a>0?t:t-1,dayOfYear:a>0?a:ut(t-1)+a}}function vt(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 bt(t,e,r){return null!=t?t:null!=e?e:r}function _t(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wt(t){var e,r,n,i,a=[];if(!t._d){for(n=_t(t),t._w&&null==t._a[ln]&&null==t._a[cn]&&xt(t),t._dayOfYear&&(i=bt(t._a[un],n[un]),t._dayOfYear>ut(i)&&(h(t)._overflowDayOfYear=!0),r=ot(i,0,t._dayOfYear),t._a[cn]=r.getUTCMonth(),t._a[ln]=r.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=n[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[hn]&&0===t._a[dn]&&0===t._a[fn]&&0===t._a[pn]&&(t._nextDay=!0,t._a[hn]=0),t._d=(t._useUTC?ot:st).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hn]=24)}}function xt(t){var e,r,n,i,a,s,o;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,s=4,r=bt(e.GG,t._a[un],ht(Bt(),1,4).year),n=bt(e.W,1),i=bt(e.E,1)):(a=t._locale._week.dow,s=t._locale._week.doy,r=bt(e.gg,t._a[un],ht(Bt(),a,s).year),n=bt(e.w,1),null!=e.d?(i=e.d,a>i&&++n):i=null!=e.e?e.e+a:a),o=mt(r,n,i,s,a),t._a[un]=o.year,t._dayOfYear=o.dayOfYear}function At(t){if(t._f===r.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var e,n,i,a,s,o=""+t._i,u=o.length,c=0;for(i=q(t._f,t._locale).match(Ur)||[],e=0;e0&&h(t).unusedInput.push(s),o=o.slice(o.indexOf(n)+n.length),c+=n.length),Gr[a]?(n?h(t).empty=!1:h(t).unusedTokens.push(a),H(a,n,t)):t._strict&&!n&&h(t).unusedTokens.push(a);h(t).charsLeftOver=u-c,o.length>0&&h(t).unusedInput.push(o),h(t).bigHour===!0&&t._a[hn]<=12&&t._a[hn]>0&&(h(t).bigHour=void 0),t._a[hn]=kt(t._locale,t._a[hn],t._meridiem),wt(t),tt(t)}function kt(t,e,r){var n;return null==r?e:null!=t.meridiemHour?t.meridiemHour(e,r):null!=t.isPM?(n=t.isPM(r),n&&12>e&&(e+=12),n||12!==e||(e=0),e):e}function Et(t){var e,r,n,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;ia)&&(n=a,r=e));u(t,r||e)}function Dt(t){if(!t._d){var e=S(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],wt(t)}}function Ct(t){var e=new g(tt(Tt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Tt(t){var e=t._i,r=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===r&&""===e?f({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new g(tt(e)):(i(r)?Et(t):r?At(t):a(e)?t._d=e:St(t),t))}function St(t){var e=t._i;void 0===e?t._d=new Date:a(e)?t._d=new Date(+e):"string"==typeof e?at(t):i(e)?(t._a=s(e.slice(0),function(t){return parseInt(t,10)}),wt(t)):"object"==typeof e?Dt(t):"number"==typeof e?t._d=new Date(e):r.createFromInputFallback(t)}function Ft(t,e,r,n,i){var a={};return"boolean"==typeof r&&(n=r,r=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=r,a._i=t,a._f=e,a._strict=n,Ct(a)}function Bt(t,e,r,n){return Ft(t,e,r,n,!1)}function Lt(t,e){var r,n;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Bt();for(r=e[0],n=1;nt&&(t=-t,r="-"),r+I(~~(t/60),2)+e+I(~~t%60,2)})}function Rt(t){var e=(t||"").match(rn)||[],r=e[e.length-1]||[],n=(r+"").match(Dn)||["-",0,0],i=+(60*n[1])+v(n[2]);return"+"===n[0]?i:-i}function qt(t,e){var n,i;return e._isUTC?(n=e.clone(),i=(y(t)||a(t)?+t:+Bt(t))-+n,n._d.setTime(+n._d+i),r.updateOffset(n,!1),n):Bt(t).local()}function jt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,e){var n,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Rt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(n=jt(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),i!==t&&(!e||this._changeInProgress?ne(this,Jt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:jt(this)}function Yt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Vt(t){return this.utcOffset(0,t)}function Gt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(jt(this),"m")),this}function $t(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Rt(this._i)),this}function Ht(t){return t=t?Bt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function zt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=Tt(t),t._a){var e=t._isUTC?c(t._a):Bt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Zt(){return!this._isUTC}function Kt(){return this._isUTC}function Xt(){return this._isUTC&&0===this._offset}function Jt(t,e){var r,n,i,a=t,s=null;return Mt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(s=Cn.exec(t))?(r="-"===s[1]?-1:1,a={y:0,d:v(s[ln])*r,h:v(s[hn])*r,m:v(s[dn])*r,s:v(s[fn])*r,ms:v(s[pn])*r}):(s=Tn.exec(t))?(r="-"===s[1]?-1:1,a={y:Qt(s[2],r),M:Qt(s[3],r),d:Qt(s[4],r),h:Qt(s[5],r),m:Qt(s[6],r),s:Qt(s[7],r),w:Qt(s[8],r)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=ee(Bt(a.from),Bt(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),n=new Nt(a),Mt(t)&&o(t,"_locale")&&(n._locale=t._locale),n}function Qt(t,e){var r=t&&parseFloat(t.replace(",","."));return(isNaN(r)?0:r)*e}function te(t,e){var r={milliseconds:0,months:0};return r.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(r.months,"M").isAfter(e)&&--r.months,r.milliseconds=+e-+t.clone().add(r.months,"M"),r}function ee(t,e){var r;return e=qt(e,t),t.isBefore(e)?r=te(t,e):(r=te(e,t),r.milliseconds=-r.milliseconds,r.months=-r.months),r}function re(t,e){return function(r,n){var i,a;return null===n||isNaN(+n)||(nt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=r,r=n,n=a),r="string"==typeof r?+r:r,i=Jt(r,n),ne(this,i,t),this}}function ne(t,e,n,i){var a=e._milliseconds,s=e._days,o=e._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*n),s&&L(t,"Date",B(t,"Date")+s*n),o&&X(t,B(t,"Month")+o*n),i&&r.updateOffset(t,s||o)}function ie(t,e){var r=t||Bt(),n=qt(r,this).startOf("day"),i=this.diff(n,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[a]||this.localeData().calendar(a,this,Bt(r)))}function ae(){return new g(this)}function se(t,e){var r;return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Bt(t),+this>+t):(r=y(t)?+t:+Bt(t),r<+this.clone().startOf(e))}function oe(t,e){var r;return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Bt(t),+t>+this):(r=y(t)?+t:+Bt(t),+this.clone().endOf(e)e-a?(r=t.clone().add(i-1,"months"),n=(e-a)/(a-r)):(r=t.clone().add(i+1,"months"),n=(e-a)/(r-a)),-(i+n)}function de(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function fe(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(r=Bt([2e3,1]).day(e),n="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[e]=new RegExp(n.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Ve(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Re(t,this.localeData()),this.add(t-e,"d")):e}function Ge(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function $e(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function He(t,e){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function We(t,e){return e._meridiemParse}function ze(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ze(t,e,r){return t>11?r?"pm":"PM":r?"am":"AM"}function Ke(t,e){e[pn]=v(1e3*("0."+t))}function Xe(){return this._isUTC?"UTC":""}function Je(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Bt(1e3*t)}function tr(){return Bt.apply(null,arguments).parseZone()}function er(t,e,r){var n=this._calendar[t];return"function"==typeof n?n.call(e,r):n}function rr(t){var e=this._longDateFormat[t],r=this._longDateFormat[t.toUpperCase()];return e||!r?e:(this._longDateFormat[t]=r.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function nr(){return this._invalidDate}function ir(t){return this._ordinal.replace("%d",t)}function ar(t){return t}function sr(t,e,r,n){var i=this._relativeTime[r];return"function"==typeof i?i(t,e,r,n):i.replace(/%d/i,t)}function or(t,e){var r=this._relativeTime[t>0?"future":"past"];return"function"==typeof r?r(e):r.replace(/%s/i,e)}function ur(t){var e,r;for(r in t)e=t[r],"function"==typeof e?this[r]=e:this["_"+r]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function cr(t,e,r,n){var i=D(),a=c().set(n,e);return i[r](a,t)}function lr(t,e,r,n,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return cr(t,e,r,i);var a,s=[];for(a=0;n>a;a++)s[a]=cr(t,a,r,i);return s}function hr(t,e){return lr(t,e,"months",12,"month")}function dr(t,e){return lr(t,e,"monthsShort",12,"month")}function fr(t,e){return lr(t,e,"weekdays",7,"day")}function pr(t,e){return lr(t,e,"weekdaysShort",7,"day")}function gr(t,e){return lr(t,e,"weekdaysMin",7,"day")}function yr(){var t=this._data;return this._milliseconds=Xn(this._milliseconds),this._days=Xn(this._days),this._months=Xn(this._months),t.milliseconds=Xn(t.milliseconds),t.seconds=Xn(t.seconds),t.minutes=Xn(t.minutes),t.hours=Xn(t.hours),t.months=Xn(t.months),t.years=Xn(t.years),this}function mr(t,e,r,n){var i=Jt(e,r);return t._milliseconds+=n*i._milliseconds,t._days+=n*i._days,t._months+=n*i._months,t._bubble()}function vr(t,e){return mr(this,t,e,1)}function br(t,e){return mr(this,t,e,-1)}function _r(t){return 0>t?Math.floor(t):Math.ceil(t)}function wr(){var t,e,r,n,i,a=this._milliseconds,s=this._days,o=this._months,u=this._data;return a>=0&&s>=0&&o>=0||0>=a&&0>=s&&0>=o||(a+=864e5*_r(Ar(o)+s),s=0,o=0),u.milliseconds=a%1e3,t=m(a/1e3),u.seconds=t%60,e=m(t/60),u.minutes=e%60,r=m(e/60),u.hours=r%24,s+=m(r/24),i=m(xr(s)),o+=i,s-=_r(Ar(i)),n=m(o/12),o%=12,u.days=s,u.months=o,u.years=n,this}function xr(t){return 4800*t/146097}function Ar(t){return 146097*t/4800}function kr(t){var e,r,n=this._milliseconds;if(t=T(t),"month"===t||"year"===t)return e=this._days+n/864e5,r=this._months+xr(e),"month"===t?r:r/12;switch(e=this._days+Math.round(Ar(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}}function Er(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function Dr(t){return function(){return this.as(t)}}function Cr(t){return t=T(t),this[t+"s"]()}function Tr(t){return function(){return this._data[t]}}function Sr(){return m(this.days()/7)}function Fr(t,e,r,n,i){return i.relativeTime(e||1,!!r,t,n)}function Br(t,e,r){var n=Jt(t).abs(),i=fi(n.as("s")),a=fi(n.as("m")),s=fi(n.as("h")),o=fi(n.as("d")),u=fi(n.as("M")),c=fi(n.as("y")),l=i0,l[4]=r,Fr.apply(null,l)}function Lr(t,e){return void 0===pi[t]?!1:void 0===e?pi[t]:(pi[t]=e,!0)}function Or(t){var e=this.localeData(),r=Br(this,!t,e);return t&&(r=e.pastFuture(+this,r)),e.postformat(r)} -function Ir(){var t,e,r,n=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(this._months);t=m(n/60),e=m(t/60),n%=60,t%=60,r=m(a/12),a%=12;var s=r,o=a,u=i,c=e,l=t,h=n,d=this.asSeconds();return d?(0>d?"-":"")+"P"+(s?s+"Y":"")+(o?o+"M":"")+(u?u+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var Nr,Mr,Pr=r.momentProperties=[],Rr=!1,qr={},jr={},Ur=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Yr=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vr={},Gr={},$r=/\d/,Hr=/\d\d/,Wr=/\d{3}/,zr=/\d{4}/,Zr=/[+-]?\d{6}/,Kr=/\d\d?/,Xr=/\d{1,3}/,Jr=/\d{1,4}/,Qr=/[+-]?\d{1,6}/,tn=/\d+/,en=/[+-]?\d+/,rn=/Z|[+-]\d\d:?\d\d/gi,nn=/[+-]?\d+(\.\d{1,3})?/,an=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,sn={},on={},un=0,cn=1,ln=2,hn=3,dn=4,fn=5,pn=6;N("M",["MM",2],"Mo",function(){return this.month()+1}),N("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),N("MMMM",0,0,function(t){return this.localeData().months(this,t)}),C("month","M"),U("M",Kr),U("MM",Kr,Hr),U("MMM",an),U("MMMM",an),G(["M","MM"],function(t,e){e[cn]=v(t)-1}),G(["MMM","MMMM"],function(t,e,r,n){var i=r._locale.monthsParse(t,n,r._strict);null!=i?e[cn]=i:h(r).invalidMonth=t});var gn="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yn="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mn={};r.suppressDeprecationWarnings=!1;var vn=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],_n=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],wn=/^\/?Date\((\-?\d+)/i;r.createFromInputFallback=rt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),N(0,["YY",2],0,function(){return this.year()%100}),N(0,["YYYY",4],0,"year"),N(0,["YYYYY",5],0,"year"),N(0,["YYYYYY",6,!0],0,"year"),C("year","y"),U("Y",en),U("YY",Kr,Hr),U("YYYY",Jr,zr),U("YYYYY",Qr,Zr),U("YYYYYY",Qr,Zr),G(["YYYYY","YYYYYY"],un),G("YYYY",function(t,e){e[un]=2===t.length?r.parseTwoDigitYear(t):v(t)}),G("YY",function(t,e){e[un]=r.parseTwoDigitYear(t)}),r.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var xn=F("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),U("w",Kr),U("ww",Kr,Hr),U("W",Kr),U("WW",Kr,Hr),$(["w","ww","W","WW"],function(t,e,r,n){e[n.substr(0,1)]=v(t)});var An={dow:0,doy:6};N("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),U("DDD",Xr),U("DDDD",Wr),G(["DDD","DDDD"],function(t,e,r){r._dayOfYear=v(t)}),r.ISO_8601=function(){};var kn=rt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Bt.apply(null,arguments);return this>t?this:t}),En=rt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Bt.apply(null,arguments);return t>this?this:t});Pt("Z",":"),Pt("ZZ",""),U("Z",rn),U("ZZ",rn),G(["Z","ZZ"],function(t,e,r){r._useUTC=!0,r._tzm=Rt(t)});var Dn=/([\+\-]|\d\d)/gi;r.updateOffset=function(){};var Cn=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Tn=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Jt.fn=Nt.prototype;var Sn=re(1,"add"),Fn=re(-1,"subtract");r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Bn=rt("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)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Be("gggg","weekYear"),Be("ggggg","weekYear"),Be("GGGG","isoWeekYear"),Be("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),U("G",en),U("g",en),U("GG",Kr,Hr),U("gg",Kr,Hr),U("GGGG",Jr,zr),U("gggg",Jr,zr),U("GGGGG",Qr,Zr),U("ggggg",Qr,Zr),$(["gggg","ggggg","GGGG","GGGGG"],function(t,e,r,n){e[n.substr(0,2)]=v(t)}),$(["gg","GG"],function(t,e,n,i){e[i]=r.parseTwoDigitYear(t)}),N("Q",0,0,"quarter"),C("quarter","Q"),U("Q",$r),G("Q",function(t,e){e[cn]=3*(v(t)-1)}),N("D",["DD",2],"Do","date"),C("date","D"),U("D",Kr),U("DD",Kr,Hr),U("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),G(["D","DD"],ln),G("Do",function(t,e){e[ln]=v(t.match(Kr)[0],10)});var Ln=F("Date",!0);N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),U("d",Kr),U("e",Kr),U("E",Kr),U("dd",an),U("ddd",an),U("dddd",an),$(["dd","ddd","dddd"],function(t,e,r){var n=r._locale.weekdaysParse(t);null!=n?e.d=n:h(r).invalidWeekday=t}),$(["d","e","E"],function(t,e,r,n){e[n]=v(t)});var On="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),In="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Nn="Su_Mo_Tu_We_Th_Fr_Sa".split("_");N("H",["HH",2],0,"hour"),N("h",["hh",2],0,function(){return this.hours()%12||12}),He("a",!0),He("A",!1),C("hour","h"),U("a",We),U("A",We),U("H",Kr),U("h",Kr),U("HH",Kr,Hr),U("hh",Kr,Hr),G(["H","HH"],hn),G(["a","A"],function(t,e,r){r._isPm=r._locale.isPM(t),r._meridiem=t}),G(["h","hh"],function(t,e,r){e[hn]=v(t),h(r).bigHour=!0});var Mn=/[ap]\.?m?\.?/i,Pn=F("Hours",!0);N("m",["mm",2],0,"minute"),C("minute","m"),U("m",Kr),U("mm",Kr,Hr),G(["m","mm"],dn);var Rn=F("Minutes",!1);N("s",["ss",2],0,"second"),C("second","s"),U("s",Kr),U("ss",Kr,Hr),G(["s","ss"],fn);var qn=F("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),N(0,["SSS",3],0,"millisecond"),N(0,["SSSS",4],0,function(){return 10*this.millisecond()}),N(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),N(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),N(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),N(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),N(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),U("S",Xr,$r),U("SS",Xr,Hr),U("SSS",Xr,Wr);var jn;for(jn="SSSS";jn.length<=9;jn+="S")U(jn,tn);for(jn="S";jn.length<=9;jn+="S")G(jn,Ke);var Un=F("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var Yn=g.prototype;Yn.add=Sn,Yn.calendar=ie,Yn.clone=ae,Yn.diff=le,Yn.endOf=xe,Yn.format=pe,Yn.from=ge,Yn.fromNow=ye,Yn.to=me,Yn.toNow=ve,Yn.get=O,Yn.invalidAt=Fe,Yn.isAfter=se,Yn.isBefore=oe,Yn.isBetween=ue,Yn.isSame=ce,Yn.isValid=Te,Yn.lang=Bn,Yn.locale=be,Yn.localeData=_e,Yn.max=En,Yn.min=kn,Yn.parsingFlags=Se,Yn.set=O,Yn.startOf=we,Yn.subtract=Fn,Yn.toArray=De,Yn.toObject=Ce,Yn.toDate=Ee,Yn.toISOString=fe,Yn.toJSON=fe,Yn.toString=de,Yn.unix=ke,Yn.valueOf=Ae,Yn.year=xn,Yn.isLeapYear=lt,Yn.weekYear=Oe,Yn.isoWeekYear=Ie,Yn.quarter=Yn.quarters=Pe,Yn.month=J,Yn.daysInMonth=Q,Yn.week=Yn.weeks=gt,Yn.isoWeek=Yn.isoWeeks=yt,Yn.weeksInYear=Me,Yn.isoWeeksInYear=Ne,Yn.date=Ln,Yn.day=Yn.days=Ve,Yn.weekday=Ge,Yn.isoWeekday=$e,Yn.dayOfYear=vt,Yn.hour=Yn.hours=Pn,Yn.minute=Yn.minutes=Rn,Yn.second=Yn.seconds=qn,Yn.millisecond=Yn.milliseconds=Un,Yn.utcOffset=Ut,Yn.utc=Vt,Yn.local=Gt,Yn.parseZone=$t,Yn.hasAlignedHourOffset=Ht,Yn.isDST=Wt,Yn.isDSTShifted=zt,Yn.isLocal=Zt,Yn.isUtcOffset=Kt,Yn.isUtc=Xt,Yn.isUTC=Xt,Yn.zoneAbbr=Xe,Yn.zoneName=Je,Yn.dates=rt("dates accessor is deprecated. Use date instead.",Ln),Yn.months=rt("months accessor is deprecated. Use month instead",J),Yn.years=rt("years accessor is deprecated. Use year instead",xn),Yn.zone=rt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Yt);var Vn=Yn,Gn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},$n={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"},Hn="Invalid date",Wn="%d",zn=/\d{1,2}/,Zn={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"},Kn=_.prototype;Kn._calendar=Gn,Kn.calendar=er,Kn._longDateFormat=$n,Kn.longDateFormat=rr,Kn._invalidDate=Hn,Kn.invalidDate=nr,Kn._ordinal=Wn,Kn.ordinal=ir,Kn._ordinalParse=zn,Kn.preparse=ar,Kn.postformat=ar,Kn._relativeTime=Zn,Kn.relativeTime=sr,Kn.pastFuture=or,Kn.set=ur,Kn.months=z,Kn._months=gn,Kn.monthsShort=Z,Kn._monthsShort=yn,Kn.monthsParse=K,Kn.week=dt,Kn._week=An,Kn.firstDayOfYear=pt,Kn.firstDayOfWeek=ft,Kn.weekdays=qe,Kn._weekdays=On,Kn.weekdaysMin=Ue,Kn._weekdaysMin=Nn,Kn.weekdaysShort=je,Kn._weekdaysShort=In,Kn.weekdaysParse=Ye,Kn.isPM=ze,Kn._meridiemParse=Mn,Kn.meridiem=Ze,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,r=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+r}}),r.lang=rt("moment.lang is deprecated. Use moment.locale instead.",k),r.langData=rt("moment.langData is deprecated. Use moment.localeData instead.",D);var Xn=Math.abs,Jn=Dr("ms"),Qn=Dr("s"),ti=Dr("m"),ei=Dr("h"),ri=Dr("d"),ni=Dr("w"),ii=Dr("M"),ai=Dr("y"),si=Tr("milliseconds"),oi=Tr("seconds"),ui=Tr("minutes"),ci=Tr("hours"),li=Tr("days"),hi=Tr("months"),di=Tr("years"),fi=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Nt.prototype;yi.abs=yr,yi.add=vr,yi.subtract=br,yi.as=kr,yi.asMilliseconds=Jn,yi.asSeconds=Qn,yi.asMinutes=ti,yi.asHours=ei,yi.asDays=ri,yi.asWeeks=ni,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Er,yi._bubble=wr,yi.get=Cr,yi.milliseconds=si,yi.seconds=oi,yi.minutes=ui,yi.hours=ci,yi.days=li,yi.weeks=Sr,yi.months=hi,yi.years=di,yi.humanize=Or,yi.toISOString=Ir,yi.toString=Ir,yi.toJSON=Ir,yi.locale=be,yi.localeData=_e,yi.toIsoString=rt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ir),yi.lang=Bn,N("X",0,0,"unix"),N("x",0,0,"valueOf"),U("x",en),U("X",nn),G("X",function(t,e,r){r._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,r){r._d=new Date(v(t))}),r.version="2.10.6",n(Bt),r.fn=Vn,r.min=Ot,r.max=It,r.utc=c,r.unix=Qe,r.months=hr,r.isDate=a,r.locale=k,r.invalid=f,r.duration=Jt,r.isMoment=y,r.weekdays=fr,r.parseZone=tr,r.localeData=D,r.isDuration=Mt,r.monthsShort=dr,r.weekdaysMin=gr,r.defineLocale=E,r.weekdaysShort=pr,r.normalizeUnits=T,r.relativeTimeThreshold=Lr;var mi=r;return mi})},{}],85:[function(t,e,r){e.exports={name:"mermaid",version:"0.5.3-2",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],86:[function(t,e,r){"use strict";var n;if(t)try{n=t("d3")}catch(i){}n||(n=window.d3),e.exports=n,function(){var t=!1;if(t="tspans",n.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;n.selection.prototype.textwrap=n.selection.enter.prototype.textwrap=function(e,r){var i,r=parseInt(r)||0,a=this,s=function(t){var e=t[0][0],r=e.tagName.toString();if("rect"!==r)return!1;var i={};return i.x=n.select(e).attr("x")||0,i.y=n.select(e).attr("y")||0,i.width=n.select(e).attr("width")||0,i.height=n.select(e).attr("height")||0,i.attr=t.attr,i},o=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=s(t);return e}return!1},u=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},c=o(e);if(r&&(c=u(c,r)),0!=a.length&&n&&e&&c){e=c;var l,h=function(t){var r=n.select(t[0].parentNode),a=r.select("text"),s=a.style("line-height"),o=a.text();a.remove();var u=r.append("foreignObject");u.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=u.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(o),s&&c.style("line-height",s),i=r.select("foreignObject")},d=function(t){var a,s=t[0],o=s.parentNode,u=n.select(s),c=s.getBBox().height,l=s.getBBox().width,h=c,d=u.style("line-height");if(a=d&&parseInt(d)?parseInt(d.replace("px","")):h,l>e.width){var f=u.text();if(u.text(""),f){var p,g;if(-1!==f.indexOf(" ")){var p=" ";g=f.split(" ")}else{p="";var y=f.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var b,_,g=[],w=0;m>w;w++)_=w*v,b=f.substr(_,v),g.push(b)}for(var x=[],A=0,k={},w=0;we.width&&C&&""!==C&&(A+=T,k={string:C,width:T,offset:A},x.push(k),u.text(""),u.text(D),w==g.length-1&&(E=D,u.text(E),S=s.getComputedTextLength())),w==g.length-1){u.text("");var F=E;F&&""!==F&&(S-A>0&&(S-=A),k={string:F,width:S,offset:A},x.push(k))}}var B;u.text("");for(var w=0;w0){x[w-1]}w*a0?a:void 0}),B.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}}u.attr("y",function(){var t=e.y;return a&&(t+=a),r&&(t+=r),t}),u.attr("x",function(){var t=e.x;return r&&(t+=r),t}),i=n.select(o).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=d)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:d);for(var f=0;fl&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[s,u,o,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},i=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 t}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],90:[function(t,e,r){"use strict";var n,i=t("../../logger").create();if(t)try{n=t("dagre-d3")}catch(a){i.debug("Could not load dagre-d3")}n||(n=window.dagreD3),e.exports=n},{"../../logger":102,"dagre-d3":4}],91:[function(t,e,r){"use strict";var n=t("./graphDb"),i=t("./parser/flow"),a=t("./parser/dot"),s=t("../../d3"),o=t("./dagre-d3"),u=t("../../logger").create(),c={};e.exports.setConf=function(t){var e,r=Object.keys(t);for(e=0;e0&&(s=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var u="";c.htmlLabels?(u="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),u="text");var l=0,h="";switch(a.type){case"round":l=5,h="rect";break;case"square":h="rect";break;case"diamond":h="question";break;case"odd":h="rect_left_inv_arrow";break;case"odd_right":h="rect_left_inv_arrow";break;case"circle":h="circle";break;case"group":h="rect",i="";break;default:h="rect"}e.setNode(a.id,{labelType:u,shape:h,label:i,rx:l,ry:l,"class":s,style:o,id:a.id})})},r.addEdges=function(t,e){var r,n,i=0;"undefined"!=typeof t.defaultStyle&&(n=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,r="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof n&&(a=n);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"}if("undefined"==typeof t.text)"undefined"==typeof t.style?e.setEdge(t.start,t.end,{style:a,arrowhead:r},i):e.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:r},i);else{var s=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?c.htmlLabels?e.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:r},i):e.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:s,arrowheadStyle:"fill: #333",arrowhead:r},i):e.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:s,arrowhead:r},i)}})},r.getClasses=function(t,e){var r;n.clear(),r=e?a.parser:i.parser,r.yy=n,r.parse(t);var s=n.getClasses();return"undefined"==typeof s["default"]&&(s["default"]={id:"default"},s["default"].styles=[],s["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],s["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],s["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),s},r.draw=function(t,e,l){u.debug("Drawing flowchart");var h;n.clear(),h=l?a.parser:i.parser,h.yy=n;try{h.parse(t)}catch(d){u.debug("Parsing failed")}var f;f=n.getDirection(),"undefined"==typeof f&&(f="TD");var p,g=new o.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=n.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],n.addVertex(p.id,p.title,"group",void 0);var v=n.getVertices(),b=n.getEdges();m=0;var _;for(m=y.length-1;m>=0;m--)for(p=y[m],s.selectAll("cluster").append("text"),_=0;_0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(r){var n=d3.select(r).select("#"+t);null!==n&&n.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,r,n){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,n),setClickFun(t,e),setLink(t,r)}):(setTooltip(t,n),setClickFun(t,e),setLink(t,r))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var r=d3.select(t).select("svg"),n=r.selectAll("g.node");n.on("mouseover",function(){var t=d3.select(this),r=t.attr("title");if(null!==r){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);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function r(t){var e={"boolean":{},number:{},string:{}},r=[];return t.filter(function(t){var n=typeof t;return" "===t?!1:n in e?e[n].hasOwnProperty(t)?!1:e[n][t]=!0:r.indexOf(t)>=0?!1:r.push(t)})}var n=[];n=r(n.concat.apply(n,t));var i={id:"subGraph"+subCount,nodes:n,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e2e3)){if(posCrossRef[secCount]=r,subGraphs[r].id===e)return{result:!0,count:0};for(var i=0,a=1;i=0){var o=t(e,s);if(o.result)return{result:!0,count:a+o.count};a+=o.count}i+=1}return{result:!1,count:a}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":86,"../../logger":102}],93:[function(t,e,r){(function(n){"use strict";var i=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],a=[1,13],s=[1,14],o=[1,15],u=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],f=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],_=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],C=[1,49],T=[1,52],S=[2,65],F=[1,65],B=[1,66],L=[1,67],O=[1,68],I=[1,69],N=[1,70],M=[1,71],P=[1,72],R=[1,73],q=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],U={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,a,s){var o=a.length-1;switch(i){case 1:this.$=a[o-1];break;case 2:this.$=a[o-4];break;case 3:this.$=a[o-5];break;case 4:this.$=a[o-3];break;case 8:case 10:case 11:this.$=a[o];break;case 9:this.$=a[o-1]+""+a[o];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[o];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[o-1],a[o].id,a[o].op),this.$="oy";break;case 42:n.addLink(a[o-1],a[o].id,a[o].op),this.$={op:a[o-2],id:a[o-1]};break;case 44:this.$={op:a[o-1],id:a[o]};break;case 48:n.addVertex(a[o-1]),this.$=a[o-1];break;case 49:n.addVertex(a[o]),this.$=a[o];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:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,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:y,9:25,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p}),e(w,[2,8]),e(w,[2,10]),e(w,[2,11]),e(w,[2,12]),e(w,[2,13]),e(w,[2,14]),e(w,[2,15]),e(w,[2,16]),e(w,[2,17]),e(w,[2,18]),e(w,[2,19]),e(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,41]},{10:[2,21],28:[1,42]},e(x,[2,23]),e(x,[2,24]),e(x,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(x,[2,27],{41:46,43:47,57:D,58:C}),e(x,[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:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},e(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{7:62,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},e(A,[2,48]),e(A,S,{14:10,15:11,7:63,46:64,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,48:F,49:B,50:L,51:O,52:I,53:N,54:M,55:P,56:R}),e(x,[2,41],{34:74,37:T}),{7:77,8:y,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,33:76,42:75,47:_},e(q,[2,66]),e(q,[2,67]),e(x,[2,46]),e(x,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,38:79,39:[1,80]},e(x,[2,28]),e(x,[2,29]),e(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{5:[2,2]},{10:[2,22]},e(x,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(x,[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(A,k,{44:44,45:E}),e(x,[2,39]),{39:[1,89]},e(x,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,S,{46:95,48:F,49:B,50:L,51:O,52:I,53:N,54:M,55:P,56:R}),e(j,[2,42]),e(j,[2,43]),e(x,[2,33],{34:96,37:T}),e(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,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)throw new Error(t);this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,b,_,w,x,A,k,E,D,C=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},T={};;){if(_=r[r.length-1],this.defaultActions[_]?w=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=C()),w=a[_]&&a[_][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[s,u,o,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},Y=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return U.lexer=Y,t.prototype=U,U.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],94:[function(t,e,r){(function(n){"use strict";var i=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],a=[1,8,9,10,11,13,18,30,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],s=[2,2],o=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,31],d=[1,33],f=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],b=[1,28],_=[1,36],w=[1,38],x=[1,35],A=[1,37],k=[1,43],E=[1,42],D=[1,39],C=[1,40],T=[1,41],S=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],F=[1,51],B=[1,50],L=[1,52],O=[1,70],I=[1,78],N=[1,79],M=[1,64],P=[1,63],R=[1,83],q=[1,82],j=[1,80],U=[1,81],Y=[1,71],V=[1,66],G=[1,65],$=[1,61],H=[1,73],W=[1,74],z=[1,75],Z=[1,76],K=[1,77],X=[1,68],J=[1,67],Q=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],et=[1,112],rt=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],nt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],st=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],ot=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],ut=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],dt=[1,190],ft=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],bt=[1,188],_t=[1,189],wt=[1,205],xt=[8,9,11,83],At=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],kt={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]],performAction:function(t,e,r,n,i,a,s){var o=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[o]!==[]&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 55:case 57:case 58:case 90:case 92:case 93:case 106:this.$=a[o];break;case 11:n.setDirection(a[o-1]),this.$=a[o-1];break;case 12:n.setDirection("LR"),this.$=a[o-1];break;case 13:n.setDirection("RL"),this.$=a[o-1];break;case 14:n.setDirection("BT"),this.$=a[o-1];break;case 15:n.setDirection("TB"),this.$=a[o-1];break;case 30:this.$=a[o-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=n.addSubGraph(a[o-1],a[o-3]);break;case 37:this.$=n.addSubGraph(a[o-1],void 0);break;case 41:n.addLink(a[o-2],a[o],a[o-1]),this.$=[a[o-2],a[o]];break;case 42:this.$=[a[o]];break;case 43:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"square");break;case 44:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"square");break;case 45:this.$=a[o-5],n.addVertex(a[o-5],a[o-2],"circle");break;case 46:this.$=a[o-6],n.addVertex(a[o-6],a[o-3],"circle");break;case 47:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"round");break;case 48:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"round");break;case 49:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"diamond");break;case 50:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"diamond");break;case 51:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"odd");break;case 52:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"odd");break;case 53:this.$=a[o],n.addVertex(a[o]);break;case 54:this.$=a[o-1],n.addVertex(a[o-1]);break;case 56:case 91:case 94:case 107:this.$=a[o-1]+""+a[o];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[o-1].text=a[o],this.$=a[o-1];break;case 62:case 63:a[o-2].text=a[o-1],this.$=a[o-2]; -break;case 64:this.$=a[o];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[o-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[o-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[o-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[o-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[o-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[o-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[o-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[o-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[o-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[o-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[o-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[o-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[o-1];break;case 108:case 109:this.$=a[o-4],n.addClass(a[o-2],a[o]);break;case 110:this.$=a[o-4],n.setClass(a[o-2],a[o]);break;case 111:this.$=a[o-4],n.setClickEvent(a[o-2],a[o],void 0,void 0);break;case 112:this.$=a[o-6],n.setClickEvent(a[o-4],a[o-2],void 0,a[o]);break;case 113:this.$=a[o-4],n.setClickEvent(a[o-2],void 0,a[o],void 0);break;case 114:this.$=a[o-6],n.setClickEvent(a[o-4],void 0,a[o-2],a[o]);break;case 115:this.$=a[o-4],n.addVertex(a[o-2],void 0,void 0,a[o]);break;case 116:case 117:case 118:this.$=a[o-4],n.updateLink(a[o-2],a[o]);break;case 120:this.$=[a[o]];break;case 121:a[o-2].push(a[o]),this.$=a[o-2];break;case 123:this.$=a[o-1]+a[o]}},table:[{3:1,4:2,9:r,10:n,12:i},{1:[3]},e(a,s,{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:o,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(a,[2,9]),e(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},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:B,11:L,24:49},{8:F,9:B,11:L,24:53},{8:F,9:B,11:L,24:54},{8:F,9:B,11:L,24:55},{8:F,9:B,11:L,24:56},{8:F,9:B,11:L,24:57},{8:F,9:B,10:O,11:L,12:I,13:N,15:M,16:P,17:R,18:q,24:59,30:j,31:58,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(Q,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},e(tt,[2,53],{43:32,21:110,42:111,10:et,13:h,15:[1,109],18:d,36:[1,106],38:[1,107],40:[1,108],44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T}),e(rt,[2,55]),e(rt,[2,57]),e(rt,[2,58]),e(rt,[2,59]),e(rt,[2,60]),e(nt,[2,148]),e(nt,[2,149]),e(nt,[2,150]),e(nt,[2,151]),e(nt,[2,152]),e(nt,[2,153]),e(nt,[2,154]),e(nt,[2,155]),e(nt,[2,156]),{8:it,9:at,10:et,14:113,21:116},{8:it,9:at,10:et,14:117,21:116},{8:it,9:at,10:et,14:118,21:116},{8:it,9:at,10:et,14:119,21:116},{8:it,9:at,10:et,14:120,21:116},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:B,10:O,11:L,12:I,13:N,15:M,16:P,17:R,18:q,24:121,30:j,32:U,43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(st,s,{5:123}),e(ot,[2,90]),e(ot,[2,92]),e(ot,[2,137]),e(ot,[2,138]),e(ot,[2,139]),e(ot,[2,140]),e(ot,[2,141]),e(ot,[2,142]),e(ot,[2,143]),e(ot,[2,144]),e(ot,[2,145]),e(ot,[2,146]),e(ot,[2,147]),e(ot,[2,95]),e(ot,[2,96]),e(ot,[2,97]),e(ot,[2,98]),e(ot,[2,99]),e(ot,[2,100]),e(ot,[2,101]),e(ot,[2,102]),e(ot,[2,103]),e(ot,[2,104]),e(ot,[2,105]),{13:h,18:d,33:124,35:29,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ut,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:128,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:129,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:130,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ct,[2,77]),e(ct,[2,78]),e(ct,[2,79]),e(ct,[2,80]),e(ct,[2,81]),e(ct,[2,82]),e(ct,[2,83]),e(ct,[2,84]),e(ct,[2,85]),e(ct,[2,86]),e(ct,[2,87]),e(ct,[2,88]),{13:h,18:d,35:131,42:30,43:32,44:p,78:[1,132],79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{76:[1,133],79:[1,134]},{13:h,18:d,35:136,42:30,43:32,44:p,76:[1,135],79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{13:h,18:d,35:137,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{13:h,18:d,35:138,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:139,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:141,32:U,38:[1,140],43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:142,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:143,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,54]),e(rt,[2,56]),e(tt,[2,29],{21:144,10:et}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,145]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(st,s,{5:146}),e(ot,[2,91]),{6:10,7:11,8:o,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(Q,[2,41]),e(ut,[2,61],{10:[1,148]}),{10:[1,149]},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:150,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,58:G,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,163],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,169],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,170],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,37:[1,171],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,31:172,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,39:[1,173],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,41:[1,174],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,37:[1,175],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,28]),e(a,[2,23]),{6:10,7:11,8:o,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(S,[2,37]),e(ut,[2,63]),e(ut,[2,62]),{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,58:G,63:[1,177],64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ut,[2,65]),e(ut,[2,66]),e(ut,[2,67]),e(ut,[2,68]),e(ut,[2,69]),e(ut,[2,70]),e(ut,[2,71]),e(ut,[2,72]),e(ut,[2,73]),e(ut,[2,74]),e(ut,[2,75]),e(ut,[2,76]),{10:lt,44:ht,69:dt,77:178,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:192,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:193,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:194,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:195,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:196,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{13:h,18:d,35:197,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{13:h,18:d,35:198,42:30,43:32,44:p,65:[1,199],79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,43],{21:200,10:et}),{10:O,12:I,13:N,15:M,16:P,17:R,18:q,30:j,32:U,39:[1,201],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,47],{21:202,10:et}),e(tt,[2,49],{21:203,10:et}),e(tt,[2,51],{21:204,10:et}),e(S,[2,36]),e([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),e(Q,[2,115],{83:wt}),e(xt,[2,120],{84:206,10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(At,[2,122]),e(At,[2,124]),e(At,[2,125]),e(At,[2,126]),e(At,[2,127]),e(At,[2,128]),e(At,[2,129]),e(At,[2,130]),e(At,[2,131]),e(At,[2,132]),e(At,[2,133]),e(At,[2,134]),e(Q,[2,116],{83:wt}),e(Q,[2,117],{83:wt}),e(Q,[2,118],{83:wt}),e(Q,[2,108],{83:wt}),e(Q,[2,109],{83:wt}),e(Q,[2,110],{43:32,42:111,13:h,18:d,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T}),e(Q,[2,111],{43:32,42:111,10:[1,207],13:h,18:d,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T}),e(Q,[2,113],{10:[1,208]}),e(tt,[2,44]),{39:[1,209]},e(tt,[2,48]),e(tt,[2,50]),e(tt,[2,52]),{10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},e(At,[2,123]),{65:[1,211]},{65:[1,212]},e(tt,[2,45],{21:213,10:et}),e(xt,[2,121],{84:206,10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(Q,[2,112]),e(Q,[2,114]),e(tt,[2,46])],defaultActions:{},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,b,_,w,x,A,k,E,D,C=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},T={};;){if(_=r[r.length-1],this.defaultActions[_]?w=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=C()),w=a[_]&&a[_][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[s,u,o,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9;case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return kt.lexer=Et,t.prototype=kt,kt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],95:[function(t,e,r){(function(e){"use strict";var n=t("moment"),i=t("../../logger").create(),a="",s="",o=[],u=[],c="";r.clear=function(){o=[],u=[],c="",s="",f=0,l=void 0},r.setDateFormat=function(t){a=t},r.getDateFormat=function(){return a},r.setTitle=function(t){s=t},r.getTitle=function(){return s},r.addSection=function(t){c=t,o.push(t)},r.findTaskById=function(t){var e;for(e=0;er-e?r+i+1.5*o.sidePadding>s?e+n-5:r+n+5:(r-e)/2+e+n}).attr("y",function(t,n){return n*e+o.barHeight/2+(o.fontSize/2-2)+r}).attr("text-height",i).attr("class",function(t){for(var e=x(t.startTime),r=x(t.endTime),n=this.getBBox().width,i=0,a=0;ar-e?r+n+1.5*o.sidePadding>s?"taskTextOutsideLeft taskTextOutside"+i+" "+u:"taskTextOutsideRight taskTextOutside"+i+" "+u:"taskText taskText"+i+" "+u})}function l(t,e,r,n){var s,u=[[".%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()}]];"undefined"!=typeof o.axisFormatter&&(l=[],o.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),s=u.concat(l).concat(c);var h=a.svg.axis().scale(x).orient("bottom").tickSize(-n+e+o.gridLineStartPadding,0,0).tickFormat(a.time.format.multi(s));i>7&&230>i&&(h=h.ticks(a.time.monday.range)),b.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 h(t,e){for(var r=[],n=0,i=0;i0))return i[1]*t/2+e;for(var s=0;a>s;s++)return n+=r[a-1][1],i[1]*t/2+n*t+e}).attr("class",function(t){for(var e=0;en;++n)e.hasOwnProperty(t[n])||(e[t[n]]=!0, -r.push(t[n]));return r}function p(t){for(var e=t.length,r={};e;)r[t[--e]]=(r[t[e]]||0)+1;return r}function g(t,e){return p(e)[t]||0}n.yy.clear(),n.parse(t);var y=document.getElementById(e);u=y.parentElement.offsetWidth,"undefined"==typeof u&&(u=1200),"undefined"!=typeof o.useWidth&&(u=o.useWidth);var m=n.yy.getTasks(),v=m.length*(o.barHeight+o.barGap)+2*o.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+u+" "+v);var b=a.select("#"+e),_=a.min(m,function(t){return t.startTime}),w=a.max(m,function(t){return t.endTime}),x=a.time.scale().domain([a.min(m,function(t){return t.startTime}),a.max(m,function(t){return t.endTime})]).rangeRound([0,u-150]),A=[];i=s.duration(w-_).asDays();for(var k=0;kl&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[s,u,o,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},u=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:break;case 2:break;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 t}();return o.lexer=u,t.prototype=o,o.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],98:[function(t,e,r){(function(n){"use strict";var i=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,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],s=[1,9],o=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],f=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,e,r,n,i,a,s){var o=a.length-1;switch(i){case 1:return n.apply(a[o-1]),a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:this.$=a[o-1];break;case 12:a[o-1].unshift({type:"loopStart",loopText:a[o-2].actor,signalType:n.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 13:a[o-1].unshift({type:"optStart",optText:a[o-2].actor,signalType:n.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:a[o-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[o-1];break;case 14:a[o-4].unshift({type:"altStart",altText:a[o-5].actor,signalType:n.LINETYPE.ALT_START}),a[o-4].push({type:"else",altText:a[o-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[o-4]=a[o-4].concat(a[o-1]),a[o-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[o-4];break;case 15:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 19:this.$=a[o];break;case 20:this.$=[a[o-2],a[o]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 26:this.$={type:"addActor",actor:a[o]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[o].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,22:h,33:d},e(r,f,{1:[2,1]}),e(p,[2,3]),{9:19,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,22:h,33:d},e(p,[2,5]),e(p,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},e([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),e(p,[2,4]),{10:[1,38]},e(p,[2,9]),e(p,[2,10]),{16:[1,39]},e(g,n,{5:40}),e(g,n,{5:41}),e([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},e(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},e(p,[2,11]),e(p,[2,12]),e(p,f),e(p,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},e(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},e(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,b,_,w,x,A,k,E,D,C=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},T={};;){if(_=r[r.length-1],this.defaultActions[_]?w=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=C()),w=a[_]&&a[_][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[s,u,o,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},_=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return b.lexer=_,t.prototype=b,b.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],99:[function(t,e,r){(function(e){"use strict";var n={},i=[],a=[],s=[],o=t("../../logger").create();r.addActor=function(t,e,r){n[t]={name:e,description:r},i.push(t)},r.addMessage=function(t,e,r,n){a.push({from:t,to:e,message:r,answer:n})},r.addSignal=function(t,e,r,n){o.debug("Adding message from="+t+" to="+e+" message="+r+" type="+n),a.push({from:t,to:e,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(t){return n[t]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.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},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(t,e,n){var i={actor:t,placement:e,message:n};s.push(i),a.push({from:t,to:t,message:n,type:r.LINETYPE.NOTE,placement:e})},r.parseError=function(t,r){e.mermaidAPI.parseError(t,r)},r.apply=function(t){if(t instanceof Array)t.forEach(function(t){r.apply(t)});else switch(t.type){case"addActor":r.addActor(t.actor,t.actor,t.actor);break;case"addNote":r.addNote(t.actor,t.placement,t.text);break;case"addMessage":r.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":r.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":r.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":r.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":r.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":102}],100:[function(t,e,r){"use strict";var n=t("./parser/sequenceDiagram").parser;n.yy=t("./sequenceDb");var i=t("./svgDraw"),a=t("../../d3"),s=t("../../logger").create(),o={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){"undefined"==typeof t[e]?t[e]=r:t[e]=n(r,t[e])},updateLoops:function(t,e,n,i){var a=this,s=0;this.list.forEach(function(u){s++;var c=a.list.length-s+1;a.updateVal(u,"startx",t-c*o.boxMargin,Math.min),a.updateVal(u,"starty",e-c*o.boxMargin,Math.min),a.updateVal(u,"stopx",n+c*o.boxMargin,Math.max),a.updateVal(u,"stopy",i+c*o.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",t-c*o.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",e-c*o.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*o.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*o.boxMargin,Math.max)})},insert:function(t,e,n,i){var a,s,o,u;a=Math.min(t,n),o=Math.max(t,n),s=Math.min(e,i),u=Math.max(e,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",s,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",u,Math.max),this.updateLoops(a,s,o,u)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var e=this.list.pop();e.elsey=r.bounds.getVerticalPos(),e.elseText=t,this.list.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}};var u=function(t,e,n,a){var s=i.getNoteRect();s.x=e,s.y=n,s.width=o.width,s["class"]="note";var u=t.append("g"),c=i.drawRect(u,s),l=i.getTextObj();l.x=e-4,l.y=n-13,l.textMargin=o.noteMargin,l.dy="1em",l.text=a.message,l["class"]="noteText";var h=i.drawText(u,l,o.width-o.noteMargin),d=h[0][0].getBBox().height;d>o.width?(h.remove(),u=t.append("g"),h=i.drawText(u,l,2*o.width-o.noteMargin),d=h[0][0].getBBox().height,c.attr("width",2*o.width),r.bounds.insert(e,n,e+2*o.width,n+2*o.noteMargin+d)):r.bounds.insert(e,n,e+o.width,n+2*o.noteMargin+d),c.attr("height",d+2*o.noteMargin),r.bounds.bumpVerticalPos(d+2*o.noteMargin)},c=function(t,e,i,a,s){var o,u=t.append("g"),c=e+(i-e)/2,l=u.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(s.message);o="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(e===i){h=u.append("path").attr("d","M "+e+","+a+" C "+(e+60)+","+(a-10)+" "+(e+60)+","+(a+30)+" "+e+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(o/2,100);r.bounds.insert(e-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else h=u.append("line"),h.attr("x1",e),h.attr("y1",a),h.attr("x2",i),h.attr("y2",a),r.bounds.insert(e,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());s.type===n.yy.LINETYPE.DOTTED||s.type===n.yy.LINETYPE.DOTTED_CROSS||s.type===n.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)"),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),(s.type===n.yy.LINETYPE.SOLID||s.type===n.yy.LINETYPE.DOTTED)&&h.attr("marker-end","url("+f+"#crosshead)"),(s.type===n.yy.LINETYPE.SOLID_CROSS||s.type===n.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+f+"#crosshead)")};e.exports.drawActors=function(t,e,n,a){var s;for(s=0;s/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),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(n),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:r,height:1800},e.textMargin),i},r.drawLabel=function(t,e){var n=r.getNoteRect();n.x=e.x,n.y=e.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n["class"]="labelBox",r.drawRect(t,n),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",r.drawText(t,e)};var n=-1;r.drawActor=function(t,e,i,a,s){var o=e+s.width/2,u=t.append("g");0===i&&(n++,u.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 c=r.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=s.width,c.height=s.height,c["class"]="actor",c.rx=3,c.ry=3,r.drawRect(u,c),u.append("text").attr("x",o).attr("y",i+s.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},r.drawLoop=function(t,e,n,i){var a=t.append("g"),s=function(t,e,r,n){a.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").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),"undefined"!=typeof e.elsey&&s(e.startx,e.elsey,e.stopx,e.elsey);var o=r.getTextObj();o.text=n,o.x=e.startx,o.y=e.starty,o.labelMargin=1.5*i.boxMargin,o["class"]="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+e.title+" ]",o.x=e.startx+(e.stopx-e.startx)/2,o.y=e.starty+1.5*i.boxMargin,o.anchor="middle",o["class"]="loopText",r.drawText(a,o),"undefined"!=typeof e.elseText&&(o.text="[ "+e.elseText+" ]",o.y=e.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.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")},r.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")},r.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},r.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],102:[function(t,e,r){(function(t){"use strict";var e;e=function(){function e(t){var r,n;this.options=t||{},this.level=this.options.level||e.levels["default"],n=e.levels;for(r in n)e.define(this,r)}function r(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>r&&(r="0"+r),10>n&&(n="0"+n),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+r+":"+n+" ("+i+")";return a}return e.prototype.add=function(r,n,i){return this.level>(e.levels[r]||5)?void 0:(i?n=i():"function"==typeof n&&(n=n()),this.write({timestamp:new Date,severity:r,message:n,pid:t.pid}))},e.prototype.write=function(t){return"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log(this.build_message(t)):void 0},e.prototype.build_message=function(t){return"["+r(t.timestamp)+"] "+t.message},e}(),e.define=function(t,e){return t[e]=function(t,r){return this.add(e,t,r)}},e.levels={debug:1,info:2,warn:3,error:4,fatal:5,"default":5},r.setLogLevel=function(t){e.levels["default"]=t},r.create=function(t){return new e(t)}}).call(this,t("_process"))},{_process:3}],103:[function(t,e,r){(function(n){"use strict";var i=t("./mermaidAPI"),a=0,s=t("./logger").create(),o=t("he");e.exports.mermaidAPI=i;var u=function(){var t=i.getConfig();s.debug("Starting rendering diagrams");var e;arguments.length>=2?("undefined"!=typeof arguments[0]&&(n.mermaid.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var r;"function"==typeof arguments[arguments.length-1]?(r=arguments[arguments.length-1],s.debug("Callback function found")):"undefined"!=typeof t.mermaid&&("function"==typeof t.mermaid.callback?(r=t.mermaid.callback,s.debug("Callback function found")):s.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof Node?[e]:e;var u;"undefined"!=typeof mermaid_config&&i.initialize(n.mermaid_config),s.debug("Start On Load before: "+n.mermaid.startOnLoad),"undefined"!=typeof n.mermaid.startOnLoad&&(s.debug("Start On Load inner: "+n.mermaid.startOnLoad),i.initialize({startOnLoad:n.mermaid.startOnLoad})),"undefined"!=typeof n.mermaid.ganttConfig&&i.initialize({gantt:n.mermaid.ganttConfig});var c,l=function(t,e){h.innerHTML=t,"undefined"!=typeof r&&r(d),e(h)};for(u=0;u0&&(n+=r.selectorText+" { "+r.style.cssText+" }\n")}}catch(l){"undefined"!==r&&s.warn('Invalid CSS selector "'+r.selectorText+'"',l)}var h="",d="";for(var f in e)e.hasOwnProperty(f)&&"undefined"!=typeof f&&("default"===f?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[f].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+e[f].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+e[f].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+e[f].clusterStyles.join("; ")+"; }\n")):e[f].styles instanceof Array&&(d+="#"+t.id.trim()+" ."+f+">rect { "+e[f].styles.join("; ")+"; }\n"));if(""!==n||""!==h||""!==d){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};r.cloneCssStyles=u},{"./logger":102}]},{},[103])(103)}); +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaid=t()}}(function(){var define,module,exports;return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[o]={exports:{}};e[o][0].call(l.exports,function(t){var r=e[o][1][t];return i(r?r:t)},l,l.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o=0;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n=-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&&(r=o+"/"+r,i="/"===o.charAt(0))}return r=e(n(r.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(t){var i=r.isAbsolute(t),a="/"===o(t,-1);return t=e(n(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},r.isAbsolute=function(t){return"/"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},r.relative=function(t,e){function n(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split("/")),a=n(e.split("/")),o=Math.min(i.length,a.length),s=o,u=0;o>u;u++)if(i[u]!==a[u]){s=u;break}for(var c=[],u=s;ue&&(e=t.length+e),t.substr(e,r)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e){function r(){}var n=e.exports={};n.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,r="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var n=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=n.slice();n.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){n.length||i.setAttribute("yes","no"),n.push(t)}}return r?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":11,"./lib/graphlib":12,"./lib/intersect":13,"./lib/render":28,"./lib/util":30,"./lib/version":31}],5:[function(t,e){function r(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"),o=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,r[n+"Style"])}function n(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"),o=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");a.applyStyle(o,r[n+"Style"])}function i(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"),o=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,r[n+"Style"])}var a=t("./util");e.exports={"default":r,normal:r,vee:n,undirected:i}},{"./util":30}],6:[function(t,e){function r(t,e){var r=e.nodes().filter(function(t){return n.isSubgraph(e,t)}),a=t.selectAll("g.cluster").data(r,function(t){return t});return a.selectAll("*").remove(),a.enter().append("g").attr("class","cluster").attr("id",function(t){var r=e.node(t);return r.id}).style("opacity",0),n.applyTransition(a,e).style("opacity",1),a.each(function(t){var r=e.node(t),n=d3.select(this);d3.select(this).append("rect");var a=n.append("g").attr("class","label");i(a,r,r.clusterLabelPos)}),a.selectAll("rect").each(function(t){var r=e.node(t),i=d3.select(this);n.applyStyle(i,r.style)}),n.applyTransition(a.exit(),e).style("opacity",0).remove(),a}var n=t("./util"),i=t("./label/add-label");e.exports=r},{"./label/add-label":21,"./util":30}],7:[function(t,e){"use strict";function r(t,e){var r=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return a.edgeToId(t)}).classed("update",!0);return r.selectAll("*").remove(),r.enter().append("g").classed("edgeLabel",!0).style("opacity",0),r.each(function(t){var r=e.edge(t),a=i(o.select(this),e.edge(t),0,0).classed("label",!0),s=a.node().getBBox();r.labelId&&a.attr("id",r.labelId),n.has(r,"width")||(r.width=s.width),n.has(r,"height")||(r.height=s.height)}),a.applyTransition(r.exit(),e).style("opacity",0).remove(),r}var n=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");e.exports=r},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],8:[function(t,e){"use strict";function r(t,e,r){var i=t.selectAll("g.edgePath").data(e.edges(),function(t){return l.edgeToId(t)}).classed("update",!0);return o(i,e),s(i,e),l.applyTransition(i,e).style("opacity",1),i.each(function(t){var r=h.select(this),n=e.edge(t);n.elem=this,n.id&&r.attr("id",n.id),l.applyClass(r,n["class"],(r.classed("update")?"update ":"")+"edgePath")}),i.selectAll("path.path").each(function(t){var r=e.edge(t);r.arrowheadId=u.uniqueId("arrowhead");var i=h.select(this).attr("marker-end",function(){return"url(#"+r.arrowheadId+")"}).style("fill","none");l.applyTransition(i,e).attr("d",function(t){return n(e,t)}),l.applyStyle(i,r.style)}),i.selectAll("defs *").remove(),i.selectAll("defs").each(function(t){var n=e.edge(t),i=r[n.arrowhead];i(h.select(this),n.arrowheadId,n,"arrowhead")}),i}function n(t,e){var r=t.edge(e),n=t.node(e.v),a=t.node(e.w),o=r.points.slice(1,r.points.length-1);return o.unshift(c(n,o[0])),o.push(c(a,o[o.length-1])),i(r,o)}function i(t,e){var r=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return u.has(t,"lineInterpolate")&&r.interpolate(t.lineInterpolate),u.has(t,"lineTension")&&r.tension(Number(t.lineTension)),r(e)}function a(t){var e=t.getBBox(),r=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:r.e,y:r.f}}function o(t,e){var r=t.enter().append("g").attr("class","edgePath").style("opacity",0);r.append("path").attr("class","path").attr("d",function(t){var r=e.edge(t),n=e.node(t.v).elem,o=u.range(r.points.length).map(function(){return a(n)});return i(r,o)}),r.append("defs")}function s(t,e){var r=t.exit();l.applyTransition(r,e).style("opacity",0).remove(),l.applyTransition(r.select("path.path"),e).attr("d",function(t){var r=e.node(t.v);if(r){var n=u.range(this.pathSegList.length).map(function(){return r});return i({},n)}return h.select(this).attr("d")})}var u=t("./lodash"),c=t("./intersect/intersect-node"),l=t("./util"),h=t("./d3");e.exports=r},{"./d3":10,"./intersect/intersect-node":17,"./lodash":24,"./util":30}],9:[function(t,e){"use strict";function r(t,e,r){var s=e.nodes().filter(function(t){return!a.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.each(function(t){var s=e.node(t),u=o.select(this),c=u.append("g").attr("class","label"),l=i(c,s),h=r[s.shape],d=n.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&u.attr("id",s.id),s.labelId&&c.attr("id",s.labelId),a.applyClass(u,s["class"],(u.classed("update")?"update ":"")+"node"),n.has(s,"width")&&(d.width=s.width),n.has(s,"height")&&(d.height=s.height),d.width+=s.paddingLeft+s.paddingRight,d.height+=s.paddingTop+s.paddingBottom,c.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var f=h(o.select(this),d,s);a.applyStyle(f,s.style);var p=f.node().getBBox();s.width=p.width,s.height=p.height}),a.applyTransition(u.exit(),e).style("opacity",0).remove(),u}var n=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");e.exports=r},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],10:[function(t,e){e.exports=window.d3},{}],11:[function(t,e){var r;if(t)try{r=t("dagre")}catch(n){}r||(r=window.dagre),e.exports=r},{dagre:32}],12:[function(t,e){var r;if(t)try{r=t("graphlib")}catch(n){}r||(r=window.graphlib),e.exports=r},{graphlib:62}],13:[function(t,e){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":14,"./intersect-ellipse":15,"./intersect-node":17,"./intersect-polygon":18,"./intersect-rect":19}],14:[function(t,e){function r(t,e,r){return n(t,e,e,r)}var n=t("./intersect-ellipse");e.exports=r},{"./intersect-ellipse":15}],15:[function(t,e){function r(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,s=a-n.y,u=Math.sqrt(e*e*s*s+r*r*o*o),c=Math.abs(e*r*o/u);n.xm?(m-y)/g:(m+y)/g,m=o*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(t,e){return t*e>0}e.exports=r},{}],17:[function(t,e){function r(t,e){return t.intersect(e)}e.exports=r},{}],18:[function(t,e){function r(t,e,r){var i=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=i-t.width/2-s,l=a-t.height/2-u,h=0;h1&&o.sort(function(t,e){var n=t.x-r.x,i=t.y-r.y,a=Math.sqrt(n*n+i*i),o=e.x-r.x,s=e.y-r.y,u=Math.sqrt(o*o+s*s);return u>a?-1:a===u?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var n=t("./intersect-line");e.exports=r},{"./intersect-line":16}],19:[function(t,e){function r(t,e){var r,n,i=t.x,a=t.y,o=e.x-i,s=e.y-a,u=t.width/2,c=t.height/2;return Math.abs(s)*u>Math.abs(o)*c?(0>s&&(c=-c),r=0===s?0:c*o/s,n=c):(0>o&&(u=-u),r=u,n=0===o?0:u*s/o),{x:i+r,y:a+n}}e.exports=r},{}],20:[function(t,e){function r(t,e){var r=t.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var o,s;return i.each(function(){o=this.clientWidth,s=this.clientHeight}),r.attr("width",o).attr("height",s),r}var n=t("../util");e.exports=r},{"../util":30}],21:[function(t,e){function r(t,e,r){var o=e.label,s=t.append("g");"svg"===e.labelType?a(s,e):"string"!=typeof o||"html"===e.labelType?i(s,e):n(s,e);var u,c=s.node().getBBox();switch(r){case"top":u=-e.height/2;break;case"bottom":u=e.height/2-c.height;break;default:u=-c.height/2}return s.attr("transform","translate("+-c.width/2+","+u+")"),s}var n=t("./add-text-label"),i=t("./add-html-label"),a=t("./add-svg-label");e.exports=r},{"./add-html-label":20,"./add-svg-label":22,"./add-text-label":23}],22:[function(t,e){function r(t,e){var r=t;return r.node().appendChild(e.label),n.applyStyle(r,e.labelStyle),r}var n=t("../util");e.exports=r},{"../util":30}],23:[function(t,e){function r(t,e){for(var r=t.append("text"),a=n(e.label).split("\n"),o=0;os;++s)n(t,"borderLeft","_bl",r,o,s),n(t,"borderRight","_br",r,o,s)}}i.each(t.children(),e)}function n(t,e,r,n,i,o){var s={width:0,height:0,rank:o,borderType:e},u=i[e][o-1],c=a.addDummyNode(t,"border",s,r);i[e][o]=c,t.setParent(c,n),u&&t.setEdge(u,c,{weight:1})}var i=t("./lodash"),a=t("./util");e.exports=r},{"./lodash":41,"./util":60}],35:[function(t,e){"use strict";function r(t){var e=t.graph().rankdir.toLowerCase();("lr"===e||"rl"===e)&&i(t)}function n(t){var e=t.graph().rankdir.toLowerCase();("bt"===e||"rl"===e)&&o(t),("lr"===e||"rl"===e)&&(u(t),i(t))}function i(t){l.each(t.nodes(),function(e){a(t.node(e))}),l.each(t.edges(),function(e){a(t.edge(e))})}function a(t){var e=t.width;t.width=t.height,t.height=e}function o(t){l.each(t.nodes(),function(e){s(t.node(e))}),l.each(t.edges(),function(e){var r=t.edge(e);l.each(r.points,s),l.has(r,"y")&&s(r)})}function s(t){t.y=-t.y}function u(t){l.each(t.nodes(),function(e){c(t.node(e))}),l.each(t.edges(),function(e){var r=t.edge(e);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(t){var e=t.x;t.x=t.y,t.y=e}var l=t("./lodash");e.exports={adjust:r,undo:n}},{"./lodash":41}],36:[function(t,e){function r(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,e){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=r,r.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(n(e),e):void 0},r.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(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,r=e._prev;r!==e;)t.push(JSON.stringify(r,i)),r=r._prev;return"["+t.join(", ")+"]"}},{}],37:[function(t,e){function r(t){var e=i.buildLayerMatrix(t),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(t.nodes(),function(e){r.setNode(e,{label:e}),r.setParent(e,"layer"+t.node(e).rank)}),n.each(t.edges(),function(t){r.setEdge(t.v,t.w,{},t.name)}),n.each(e,function(t,e){var i="layer"+e;r.setNode(i,{rank:"same"}),n.reduce(t,function(t,e){return r.setEdge(t,e,{style:"invis"}),e})}),r}var n=t("./lodash"),i=t("./util"),a=t("./graphlib").Graph;e.exports={debugOrdering:r}},{"./graphlib":38,"./lodash":41,"./util":60}],38:[function(t,e){var r;if("function"==typeof t)try{r=t("graphlib")}catch(n){}r||(r=window.graphlib),e.exports=r},{graphlib:62}],39:[function(t,e){function r(t,e){if(t.nodeCount()<=1)return[];var r=a(t,e||l),i=n(r.graph,r.buckets,r.zeroIdx);return s.flatten(s.map(i,function(e){return t.outEdges(e.v,e.w)}),!0)}function n(t,e,r){for(var n,a=[],o=e[e.length-1],s=e[0];t.nodeCount();){for(;n=s.dequeue();)i(t,e,r,n);for(;n=o.dequeue();)i(t,e,r,n);if(t.nodeCount())for(var u=e.length-2;u>0;--u)if(n=e[u].dequeue()){a=a.concat(i(t,e,r,n,!0));break}}return a}function i(t,e,r,n,i){var a=i?[]:void 0;return s.each(t.inEdges(n.v),function(n){var s=t.edge(n),u=t.node(n.v);i&&a.push({v:n.v,w:n.w}),u.out-=s,o(e,r,u)}),s.each(t.outEdges(n.v),function(n){var i=t.edge(n),a=n.w,s=t.node(a);s["in"]-=i,o(e,r,s)}),t.removeNode(n.v),a}function a(t,e){var r=new u,n=0,i=0;s.each(t.nodes(),function(t){r.setNode(t,{v:t,"in":0,out:0})}),s.each(t.edges(),function(t){var a=r.edge(t.v,t.w)||0,o=e(t),s=a+o;r.setEdge(t.v,t.w,s),i=Math.max(i,r.node(t.v).out+=o),n=Math.max(n,r.node(t.w)["in"]+=o)});var a=s.range(i+n+3).map(function(){return new c}),l=n+1;return s.each(r.nodes(),function(t){o(a,l,r.node(t))}),{graph:r,buckets:a,zeroIdx:l}}function o(t,e,r){r.out?r["in"]?t[r.out-r["in"]+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var s=t("./lodash"),u=t("./graphlib").Graph,c=t("./data/list");e.exports=r;var l=s.constant(1)},{"./data/list":36,"./graphlib":38,"./lodash":41}],40:[function(t,e){"use strict";function r(t,e){var r=e&&e.debugTiming?B.time:B.notime;r("layout",function(){var e=r(" buildLayoutGraph",function(){return a(t)});r(" runLayout",function(){n(e,r)}),r(" updateInputGraph",function(){i(t,e)})})}function n(t,e){e(" makeSpaceForEdgeLabels",function(){o(t)}),e(" removeSelfEdges",function(){g(t)}),e(" acyclic",function(){w.run(t)}),e(" nestingGraph.run",function(){C.run(t)}),e(" rank",function(){A(B.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){s(t)}),e(" removeEmptyRanks",function(){D(t)}),e(" nestingGraph.cleanup",function(){C.cleanup(t)}),e(" normalizeRanks",function(){k(t)}),e(" assignRankMinMax",function(){u(t)}),e(" removeEdgeLabelProxies",function(){c(t)}),e(" normalize.run",function(){x.run(t)}),e(" parentDummyChains",function(){E(t)}),e(" addBorderSegments",function(){T(t)}),e(" order",function(){F(t)}),e(" insertSelfEdges",function(){y(t)}),e(" adjustCoordinateSystem",function(){S.adjust(t)}),e(" position",function(){L(t)}),e(" positionSelfEdges",function(){m(t)}),e(" removeBorderNodes",function(){p(t)}),e(" normalize.undo",function(){x.undo(t)}),e(" fixupEdgeLabelCoords",function(){d(t)}),e(" undoCoordinateSystem",function(){S.undo(t)}),e(" translateGraph",function(){l(t)}),e(" assignNodeIntersects",function(){h(t)}),e(" reversePoints",function(){f(t)}),e(" acyclic.undo",function(){w.undo(t)})}function i(t,e){_.each(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),_.each(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,_.has(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function a(t){var e=new O({multigraph:!0,compound:!0}),r=b(t.graph());return e.setGraph(_.merge({},M,v(r,I),_.pick(r,N))),_.each(t.nodes(),function(r){var n=b(t.node(r));e.setNode(r,_.defaults(v(n,P),R)),e.setParent(r,t.parent(r))}),_.each(t.edges(),function(r){var n=b(t.edge(r));e.setEdge(r,_.merge({},j,v(n,q),_.pick(n,U)))}),e}function o(t){var e=t.graph();e.ranksep/=2,_.each(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function s(t){_.each(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e:e};B.addDummyNode(t,"edge-proxy",a,"_ep")}})}function u(t){var e=0;_.each(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=_.max(e,n.maxRank))}),t.graph().maxRank=e}function c(t){_.each(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function l(t){function e(t){var e=t.x,o=t.y,s=t.width,u=t.height;r=Math.min(r,e-s/2),n=Math.max(n,e+s/2),i=Math.min(i,o-u/2),a=Math.max(a,o+u/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),s=o.marginx||0,u=o.marginy||0;_.each(t.nodes(),function(r){e(t.node(r))}),_.each(t.edges(),function(r){var n=t.edge(r);_.has(n,"x")&&e(n)}),r-=s,i-=u,_.each(t.nodes(),function(e){var n=t.node(e);n.x-=r,n.y-=i}),_.each(t.edges(),function(e){var n=t.edge(e);_.each(n.points,function(t){t.x-=r,t.y-=i}),_.has(n,"x")&&(n.x-=r),_.has(n,"y")&&(n.y-=i)}),o.width=n-r+s,o.height=a-i+u}function h(t){_.each(t.edges(),function(e){var r,n,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=o,n=a),i.points.unshift(B.intersectRect(a,r)),i.points.push(B.intersectRect(o,n))})}function d(t){_.each(t.edges(),function(e){var r=t.edge(e);if(_.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function f(t){_.each(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function p(t){_.each(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(_.last(r.borderLeft)),o=t.node(_.last(r.borderRight));r.width=Math.abs(o.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),_.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function g(t){_.each(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}function y(t){var e=B.buildLayerMatrix(t);_.each(e,function(e){var r=0;_.each(e,function(e,n){var i=t.node(e);i.order=n+r,_.each(i.selfEdges,function(e){B.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete i.selfEdges})})}function m(t){_.each(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,o=r.x-i,s=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.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}],r.label.x=r.x,r.label.y=r.y}})}function v(t,e){return _.mapValues(_.pick(t,e),Number)}function b(t){var e={};return _.each(t,function(t,r){e[r.toLowerCase()]=t}),e}var _=t("./lodash"),w=t("./acyclic"),x=t("./normalize"),A=t("./rank"),k=t("./util").normalizeRanks,E=t("./parent-dummy-chains"),D=t("./util").removeEmptyRanks,C=t("./nesting-graph"),T=t("./add-border-segments"),S=t("./coordinate-system"),F=t("./order"),L=t("./position"),B=t("./util"),O=t("./graphlib").Graph;e.exports=r;var I=["nodesep","edgesep","ranksep","marginx","marginy"],M={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],P=["width","height"],R={width:0,height:0},q=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":33,"./add-border-segments":34,"./coordinate-system":35,"./graphlib":38,"./lodash":41,"./nesting-graph":42,"./normalize":43,"./order":48,"./parent-dummy-chains":53,"./position":55,"./rank":57,"./util":60}],41:[function(t,e){var r;if("function"==typeof t)try{r=t("lodash")}catch(n){}r||(r=window._),e.exports=r},{lodash:82}],42:[function(t,e){function r(t){var e=u.addDummyNode(t,"root",{},"_root"),r=i(t),o=s.max(r)-1,c=2*o+1;t.graph().nestingRoot=e,s.each(t.edges(),function(e){t.edge(e).minlen*=c});var l=a(t)+1;s.each(t.children(),function(i){n(t,e,c,l,o,r,i)}),t.graph().nodeRankFactor=c}function n(t,e,r,i,a,o,c){var l=t.children(c);if(!l.length)return void(c!==e&&t.setEdge(e,c,{weight:0,minlen:r}));var h=u.addBorderNode(t,"_bt"),d=u.addBorderNode(t,"_bb"),f=t.node(c);t.setParent(h,c),f.borderTop=h,t.setParent(d,c),f.borderBottom=d,s.each(l,function(s){n(t,e,r,i,a,o,s);var u=t.node(s),l=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?i:2*i,g=l!==f?1:a-o[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(f,d,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(e,h,{weight:0,minlen:a+o[c]})}function i(t){function e(n,i){var a=t.children(n);a&&a.length&&s.each(a,function(t){e(t,i+1)}),r[n]=i}var r={};return s.each(t.children(),function(t){e(t,1)}),r}function a(t){return s.reduce(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function o(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,s.each(t.edges(),function(e){var r=t.edge(e);r.nestingEdge&&t.removeEdge(e)})}var s=t("./lodash"),u=t("./util");e.exports={run:r,cleanup:o}},{"./lodash":41,"./util":60}],43:[function(t,e){"use strict";function r(t){t.graph().dummyChains=[],a.each(t.edges(),function(e){ +n(t,e)})}function n(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,u=t.edge(e),c=u.labelRank;if(a!==n+1){t.removeEdge(e);var l,h,d;for(d=0,++n;a>n;++d,++n)u.points=[],h={width:0,height:0,edgeLabel:u,edgeObj:e,rank:n},l=o.addDummyNode(t,"edge",h,"_d"),n===c&&(h.width=u.width,h.height=u.height,h.dummy="edge-label",h.labelpos=u.labelpos),t.setEdge(r,l,{weight:u.weight},s),0===d&&t.graph().dummyChains.push(l),r=l;t.setEdge(r,i,{weight:u.weight},s)}}function i(t){a.each(t.graph().dummyChains,function(e){var r,n=t.node(e),i=n.edgeLabel;for(t.setEdge(n.edgeObj,i);n.dummy;)r=t.successors(e)[0],t.removeNode(e),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),e=r,n=t.node(e)})}var a=t("./lodash"),o=t("./util");e.exports={run:r,undo:i}},{"./lodash":41,"./util":60}],44:[function(t,e){function r(t,e,r){var i,a={};n.each(r,function(r){for(var n,o,s=t.parent(r);s;){if(n=t.parent(s),n?(o=a[n],a[n]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=n}})}var n=t("../lodash");e.exports=r},{"../lodash":41}],45:[function(t,e){function r(t,e){return n.map(e,function(e){var r=t.inEdges(e);if(r.length){var i=n.reduce(r,function(e,r){var n=t.edge(r),i=t.node(r.v);return{sum:e.sum+n.weight*i.order,weight:e.weight+n.weight}},{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}})}var n=t("../lodash");e.exports=r},{"../lodash":41}],46:[function(t,e){function r(t,e,r){var o=n(t),s=new a({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(e){return t.node(e)});return i.each(t.nodes(),function(n){var a=t.node(n),u=t.parent(n);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(s.setNode(n),s.setParent(n,u||o),i.each(t[r](n),function(e){var r=e.v===n?e.w:e.v,a=s.edge(r,n),o=i.isUndefined(a)?0:a.weight;s.setEdge(r,n,{weight:t.edge(e).weight+o})}),i.has(a,"minRank")&&s.setNode(n,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),s}function n(t){for(var e;t.hasNode(e=i.uniqueId("_root")););return e}var i=t("../lodash"),a=t("../graphlib").Graph;e.exports=r},{"../graphlib":38,"../lodash":41}],47:[function(t,e){"use strict";function r(t,e){for(var r=0,i=1;i0;)e%2&&(r+=u[e+1]),e=e-1>>1,u[e]+=t.weight;c+=t.weight*r})),c}var i=t("../lodash");e.exports=r},{"../lodash":41}],48:[function(t,e){"use strict";function r(t){var e=f.maxRank(t),r=n(t,o.range(1,e+1),"inEdges"),c=n(t,o.range(e-1,-1,-1),"outEdges"),l=s(t);a(t,l);for(var h,d=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?r:c,p%4>=2),l=f.buildLayerMatrix(t);var y=u(t,l);d>y&&(g=0,h=o.cloneDeep(l),d=y)}a(t,h)}function n(t,e,r){return o.map(e,function(e){return l(t,e,r)})}function i(t,e){var r=new d;o.each(t,function(t){var n=t.graph().root,i=c(t,n,r,e);o.each(i.vs,function(e,r){t.node(e).order=r}),h(t,r,i.vs)})}function a(t,e){o.each(e,function(e){o.each(e,function(e,r){t.node(e).order=r})})}var o=t("../lodash"),s=t("./init-order"),u=t("./cross-count"),c=t("./sort-subgraph"),l=t("./build-layer-graph"),h=t("./add-subgraph-constraints"),d=t("../graphlib").Graph,f=t("../util");e.exports=r},{"../graphlib":38,"../lodash":41,"../util":60,"./add-subgraph-constraints":44,"./build-layer-graph":46,"./cross-count":47,"./init-order":49,"./sort-subgraph":51}],49:[function(t,e){"use strict";function r(t){function e(i){if(!n.has(r,i)){r[i]=!0;var a=t.node(i);o[a.rank].push(i),n.each(t.successors(i),e)}}var r={},i=n.filter(t.nodes(),function(e){return!t.children(e).length}),a=n.max(n.map(i,function(e){return t.node(e).rank})),o=n.map(n.range(a+1),function(){return[]}),s=n.sortBy(i,function(e){return t.node(e).rank});return n.each(s,e),o}var n=t("../lodash");e.exports=r},{"../lodash":41}],50:[function(t,e){"use strict";function r(t,e){var r={};a.each(t,function(t,e){var n=r[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};a.isUndefined(t.barycenter)||(n.barycenter=t.barycenter,n.weight=t.weight)}),a.each(e.edges(),function(t){var e=r[t.v],n=r[t.w];a.isUndefined(e)||a.isUndefined(n)||(n.indegree++,e.out.push(r[t.w]))});var i=a.filter(r,function(t){return!t.indegree});return n(i)}function n(t){function e(t){return function(e){e.merged||(a.isUndefined(e.barycenter)||a.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&i(t,e)}}function r(e){return function(r){r["in"].push(e),0===--r.indegree&&t.push(r)}}for(var n=[];t.length;){var o=t.pop();n.push(o),a.each(o["in"].reverse(),e(o)),a.each(o.out,r(o))}return a.chain(n).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,["vs","i","barycenter","weight"])}).value()}function i(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var a=t("../lodash");e.exports=r},{"../lodash":41}],51:[function(t,e){function r(t,e,c,l){var h=t.children(e),d=t.node(e),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,g={};f&&(h=a.filter(h,function(t){return t!==f&&t!==p}));var y=o(t,h);a.each(y,function(e){if(t.children(e.v).length){var n=r(t,e.v,c,l);g[e.v]=n,a.has(n,"barycenter")&&i(e,n)}});var m=s(y,c);n(m,g);var v=u(m,l);if(f&&(v.vs=a.flatten([f,v.vs,p],!0),t.predecessors(f).length)){var b=t.node(t.predecessors(f)[0]),_=t.node(t.predecessors(p)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+_.order)/(v.weight+2),v.weight+=2}return v}function n(t,e){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function i(t,e){a.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 a=t("../lodash"),o=t("./barycenter"),s=t("./resolve-conflicts"),u=t("./sort");e.exports=r},{"../lodash":41,"./barycenter":45,"./resolve-conflicts":50,"./sort":52}],52:[function(t,e){function r(t,e){var r=o.partition(t,function(t){return a.has(t,"barycenter")}),s=r.lhs,u=a.sortBy(r.rhs,function(t){return-t.i}),c=[],l=0,h=0,d=0;s.sort(i(!!e)),d=n(c,u,d),a.each(s,function(t){d+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,d=n(c,u,d)});var f={vs:a.flatten(c,!0)};return h&&(f.barycenter=l/h,f.weight=h),f}function n(t,e,r){for(var n;e.length&&(n=a.last(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function i(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var a=t("../lodash"),o=t("../util");e.exports=r},{"../lodash":41,"../util":60}],53:[function(t,e){function r(t){var e=i(t);a.each(t.graph().dummyChains,function(r){for(var i=t.node(r),a=i.edgeObj,o=n(t,e,a.v,a.w),s=o.path,u=o.lca,c=0,l=s[c],h=!0;r!==a.w;){if(i=t.node(r),h){for(;(l=s[c])!==u&&t.node(l).maxRanku||c>e[i].lim));for(a=i,i=n;(i=t.parent(i))!==a;)s.push(i);return{path:o.concat(s.reverse()),lca:a}}function i(t){function e(i){var o=n;a.each(t.children(i),e),r[i]={low:o,lim:n++}}var r={},n=0;return a.each(t.children(),e),r}var a=t("./lodash");e.exports=r},{"./lodash":41}],54:[function(t,e){"use strict";function r(t,e){function r(e,r){var o=0,s=0,u=e.length,c=y.last(r);return y.each(r,function(e,l){var h=i(t,e),d=h?t.node(h).order:u;(h||e===c)&&(y.each(r.slice(s,l+1),function(e){y.each(t.predecessors(e),function(r){var i=t.node(r),s=i.order;!(o>s||s>d)||i.dummy&&t.node(e).dummy||a(n,r,e)})}),s=l+1,o=d)}),r}var n={};return y.reduce(e,r),n}function n(t,e){function r(e,r,n,o,s){var u;y.each(y.range(r,n),function(r){u=e[r],t.node(u).dummy&&y.each(t.predecessors(u),function(e){var r=t.node(e);r.dummy&&(r.orders)&&a(i,e,u)})})}function n(e,n){var i,a=-1,o=0;return y.each(n,function(s,u){if("border"===t.node(s).dummy){var c=t.predecessors(s);c.length&&(i=t.node(c[0]).order,r(n,o,u,a,i),o=u,a=i)}r(n,o,n.length,i,e.length)}),n}var i={};return y.reduce(e,n),i}function i(t,e){return t.node(e).dummy?y.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function a(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function o(t,e,r){if(e>r){var n=e;e=r,r=n}return y.has(t[e],r)}function s(t,e,r,n){var i={},a={},s={};return y.each(e,function(t){y.each(t,function(t,e){i[t]=t,a[t]=t,s[t]=e})}),y.each(e,function(t){var e=-1;y.each(t,function(t){var u=n(t);if(u.length){u=y.sortBy(u,function(t){return s[t]});for(var c=(u.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=u[l];a[t]===t&&eo.lim&&(s=o,u=!0);var c=p.filter(e.edges(),function(e){return u===f(t,t.node(e.v),s)&&u!==f(t,t.node(e.w),s)});return p.min(c,function(t){return y(e,t)})}function l(t,e,r,i){var a=r.v,s=r.w;t.removeEdge(a,s),t.setEdge(i.v,i.w,{}),o(t),n(t,e),h(t,e)}function h(t,e){var r=p.find(t.nodes(),function(t){return!e.node(t).parent}),n=v(t,r);n=n.slice(1),p.each(n,function(r){var n=t.node(r).parent,i=e.edge(r,n),a=!1;i||(i=e.edge(n,r),a=!0),e.node(r).rank=e.node(n).rank+(a?i.minlen:-i.minlen)})}function d(t,e,r){return t.hasEdge(e,r)}function f(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var p=t("../lodash"),g=t("./feasible-tree"),y=t("./util").slack,m=t("./util").longestPath,v=t("../graphlib").alg.preorder,b=t("../graphlib").alg.postorder,_=t("../util").simplify;e.exports=r,r.initLowLimValues=o,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=u,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":38,"../lodash":41,"../util":60,"./feasible-tree":56,"./util":59}],59:[function(t,e){"use strict";function r(t){function e(n){var a=t.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var o=i.min(i.map(t.outEdges(n),function(r){return e(r.w)-t.edge(r).minlen}));return o===Number.POSITIVE_INFINITY&&(o=0),a.rank=o}var r={};i.each(t.sources(),e)}function n(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var i=t("../lodash");e.exports={longestPath:r,slack:n}},{"../lodash":41}],60:[function(t,e){"use strict";function r(t,e,r,n){var i;do i=y.uniqueId(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function n(t){var e=(new m).setGraph(t.graph());return y.each(t.nodes(),function(r){e.setNode(r,t.node(r))}),y.each(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function i(t){var e=new m({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),y.each(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function a(t){var e=y.map(t.nodes(),function(e){var r={};return y.each(t.outEdges(e),function(e){r[e.w]=(r[e.w]||0)+t.edge(e).weight}),r});return y.zipObject(t.nodes(),e)}function o(t){var e=y.map(t.nodes(),function(e){var r={};return y.each(t.inEdges(e),function(e){r[e.v]=(r[e.v]||0)+t.edge(e).weight}),r});return y.zipObject(t.nodes(),e)}function s(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,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,c;return Math.abs(a)*o>Math.abs(i)*s?(0>a&&(s=-s),u=s*i/a,c=s):(0>i&&(o=-o),u=o,c=o*a/i),{x:r+u,y:n+c}}function u(t){var e=y.map(y.range(d(t)+1),function(){return[]});return y.each(t.nodes(),function(r){var n=t.node(r),i=n.rank;y.isUndefined(i)||(e[i][n.order]=r)}),e}function c(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank}));y.each(t.nodes(),function(r){var n=t.node(r);y.has(n,"rank")&&(n.rank-=e)})}function l(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank})),r=[];y.each(t.nodes(),function(n){var i=t.node(n).rank-e;r[i]||(r[i]=[]),r[i].push(n)});var n=0,i=t.graph().nodeRankFactor;y.each(r,function(e,r){y.isUndefined(e)&&r%i!==0?--n:n&&y.each(e,function(e){t.node(e).rank+=n})})}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 d(t){return y.max(y.map(t.nodes(),function(e){var r=t.node(e).rank;return y.isUndefined(r)?void 0:r}))}function f(t,e){var r={lhs:[],rhs:[]};return y.each(t,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function p(t,e){var r=y.now();try{return e()}finally{console.log(t+" time: "+(y.now()-r)+"ms")}}function g(t,e){return e()}var y=t("./lodash"),m=t("./graphlib").Graph;e.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:o,intersectRect:s,buildLayerMatrix:u,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:f,time:p,notime:g}},{"./graphlib":38,"./lodash":41}],61:[function(t,e){e.exports="0.7.4"},{}],62:[function(t,e){var r=t("./lib");e.exports={Graph:r.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:r.version}},{"./lib":78,"./lib/alg":69,"./lib/json":79}],63:[function(t,e){function r(t){function e(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(t.successors(a),e),n.each(t.predecessors(a),e))}var r,i={},a=[];return n.each(t.nodes(),function(t){r=[],e(t),r.length&&a.push(r)}),a}var n=t("../lodash");e.exports=r},{"../lodash":80}],64:[function(t,e){function r(t,e,r){i.isArray(e)||(e=[e]);var a=[],o={};return i.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);n(t,e,"post"===r,o,a)}),a}function n(t,e,r,a,o){i.has(a,e)||(a[e]=!0,r||o.push(e),i.each(t.neighbors(e),function(e){n(t,e,r,a,o)}),r&&o.push(e))}var i=t("../lodash");e.exports=r},{"../lodash":80}],65:[function(t,e){function r(t,e,r){return i.transform(t.nodes(),function(i,a){i[a]=n(t,a,e,r)},{})}var n=t("./dijkstra"),i=t("../lodash");e.exports=r},{"../lodash":80,"./dijkstra":66}],66:[function(t,e){function r(t,e,r,i){return n(t,String(e),r||o,i||function(e){return t.outEdges(e)})}function n(t,e,r,n){var i,o,s={},u=new a,c=function(t){var e=t.v!==i?t.v:t.w,n=s[e],a=r(t),c=o.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c0&&(i=u.removeMin(),o=s[i],o.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return s}var i=t("../lodash"),a=t("../data/priority-queue");e.exports=r;var o=i.constant(1)},{"../data/priority-queue":76,"../lodash":80}],67:[function(t,e){function r(t){return n.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var n=t("../lodash"),i=t("./tarjan");e.exports=r},{"../lodash":80,"./tarjan":74}],68:[function(t,e){function r(t,e,r){return n(t,e||a,r||function(e){return t.outEdges(e)})}function n(t,e,r){var n={},i=t.nodes();return i.forEach(function(t){n[t]={},n[t][t]={distance:0},i.forEach(function(e){t!==e&&(n[t][e]={distance:Number.POSITIVE_INFINITY})}),r(t).forEach(function(r){var i=r.v===t?r.w:r.v,a=e(r);n[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=n[t];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[t],i=e[r],o=a[r],s=n.distance+i.distance;si&&(u[r]=o,c.decrease(r,i))}}var o,s=new i,u={},c=new a;if(0===t.nodeCount())return s;n.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),s.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(o=c.removeMin(),n.has(u,o))s.setEdge(o,u[o]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(o).forEach(r)}return s}var n=t("../lodash"),i=t("../graph"),a=t("../data/priority-queue");e.exports=r},{"../data/priority-queue":76,"../graph":77,"../lodash":80}],74:[function(t,e){function r(t){function e(s){var u=a[s]={onStack:!0,lowlink:r,index:r++};if(i.push(s),t.successors(s).forEach(function(t){n.has(a,t)?a[t].onStack&&(u.lowlink=Math.min(u.lowlink,a[t].index)):(e(t),u.lowlink=Math.min(u.lowlink,a[t].lowlink))}),u.lowlink===u.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(s!==c);o.push(l)}}var r=0,i=[],a={},o=[];return t.nodes().forEach(function(t){n.has(a,t)||e(t)}),o}var n=t("../lodash");e.exports=r},{"../lodash":80}],75:[function(t,e){function r(t){function e(s){if(i.has(a,s))throw new n;i.has(r,s)||(a[s]=!0,r[s]=!0,i.each(t.predecessors(s),e),delete a[s],o.push(s))}var r={},a={},o=[];if(i.each(t.sinks(),e),i.size(r)!==t.nodeCount())throw new n;return o}function n(){}var i=t("../lodash");e.exports=r,r.CycleException=n},{"../lodash":80}],76:[function(t,e){function r(){this._arr=[],this._keyIndices={}}var n=t("../lodash");e.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 n.has(this._keyIndices,t)},r.prototype.priority=function(t){var e=this._keyIndices[t];return void 0!==e?this._arr[e].priority:void 0},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 r=this._keyIndices;if(t=String(t),!n.has(r,t)){var i=this._arr,a=i.length;return r[t]=a,i.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 r=this._keyIndices[t];if(e>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[r].priority+" New: "+e);this._arr[r].priority=e,this._decrease(r)},r.prototype._heapify=function(t){var e=this._arr,r=2*t,n=r+1,i=t;r>1,!(r[e].prioritya){var o=i;i=a,a=o}return i+h+a+h+(u.isUndefined(n)?c:n)}function o(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return n&&(s.name=n),s}function s(t,e){return a(t,e.v,e.w,e.name)}var u=t("./lodash");e.exports=r;var c="\x00",l="\x00",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 u.isFunction(t)||(t=u.constant(t)),this._defaultNodeLabelFn=t,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return u.keys(this._nodes)},r.prototype.sources=function(){return u.filter(this.nodes(),function(t){return u.isEmpty(this._in[t])},this)},r.prototype.sinks=function(){return u.filter(this.nodes(),function(t){return u.isEmpty(this._out[t])},this)},r.prototype.setNodes=function(t,e){var r=arguments;return u.each(t,function(t){r.length>1?this.setNode(t,e):this.setNode(t)},this),this},r.prototype.setNode=function(t,e){return u.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]=l,this._children[t]={},this._children[l][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 u.has(this._nodes,t)},r.prototype.removeNode=function(t){var e=this;if(u.has(this._nodes,t)){var r=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],u.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),u.each(u.keys(this._in[t]),r),delete this._in[t],delete this._preds[t],u.each(u.keys(this._out[t]),r),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(u.isUndefined(e))e=l;else{e+="";for(var r=e;!u.isUndefined(r);r=this.parent(r))if(r===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!==l)return e}},r.prototype.children=function(t){if(u.isUndefined(t)&&(t=l),this._isCompound){var e=this._children[t];if(e)return u.keys(e)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];return e?u.keys(e):void 0},r.prototype.successors=function(t){var e=this._sucs[t];return e?u.keys(e):void 0},r.prototype.neighbors=function(t){var e=this.predecessors(t);return e?u.union(e,this.successors(t)):void 0},r.prototype.filterNodes=function(t){function e(t){var a=n.parent(t);return void 0===a||r.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph()),u.each(this._nodes,function(e,n){t(n)&&r.setNode(n,e)},this),u.each(this._edgeObjs,function(t){r.hasNode(t.v)&&r.hasNode(t.w)&&r.setEdge(t,this.edge(t))},this);var n=this,i={};return this._isCompound&&u.each(r.nodes(),function(t){r.setParent(t,e(t))}),r},r.prototype.setDefaultEdgeLabel=function(t){return u.isFunction(t)||(t=u.constant(t)),this._defaultEdgeLabelFn=t,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return u.values(this._edgeObjs)},r.prototype.setPath=function(t,e){var r=this,n=arguments;return u.reduce(t,function(t,i){return n.length>1?r.setEdge(t,i,e):r.setEdge(t,i),i}),this},r.prototype.setEdge=function(){var t,e,r,i,s=!1,c=arguments[0];"object"==typeof c&&null!==c&&"v"in c?(t=c.v,e=c.w,r=c.name,2===arguments.length&&(i=arguments[1],s=!0)):(t=c,e=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),t=""+t,e=""+e,u.isUndefined(r)||(r=""+r);var l=a(this._isDirected,t,e,r);if(u.has(this._edgeLabels,l))return s&&(this._edgeLabels[l]=i),this;if(!u.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=s?i:this._defaultEdgeLabelFn(t,e,r);var h=o(this._isDirected,t,e,r);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,n(this._preds[e],t),n(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},r.prototype.edge=function(t,e,r){var n=1===arguments.length?s(this._isDirected,arguments[0]):a(this._isDirected,t,e,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(t,e,r){var n=1===arguments.length?s(this._isDirected,arguments[0]):a(this._isDirected,t,e,r);return u.has(this._edgeLabels,n)},r.prototype.removeEdge=function(t,e,r){var n=1===arguments.length?s(this._isDirected,arguments[0]):a(this._isDirected,t,e,r),o=this._edgeObjs[n];return o&&(t=o.v,e=o.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[e],t),i(this._sucs[t],e),delete this._in[e][n],delete this._out[t][n],this._edgeCount--),this},r.prototype.inEdges=function(t,e){var r=this._in[t];if(r){var n=u.values(r);return e?u.filter(n,function(t){return t.v===e}):n}},r.prototype.outEdges=function(t,e){var r=this._out[t];if(r){var n=u.values(r);return e?u.filter(n,function(t){return t.w===e}):n}},r.prototype.nodeEdges=function(t,e){var r=this.inEdges(t,e);return r?r.concat(this.outEdges(t,e)):void 0}},{"./lodash":80}],78:[function(t,e){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":77,"./version":81}],79:[function(t,e){function r(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:n(t),edges:i(t)};return o.isUndefined(t.graph())||(e.value=o.clone(t.graph())),e}function n(t){return o.map(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return o.isUndefined(r)||(i.value=r),o.isUndefined(n)||(i.parent=n),i})}function i(t){return o.map(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return o.isUndefined(e.name)||(n.name=e.name),o.isUndefined(r)||(n.value=r),n})}function a(t){var e=new s(t.options).setGraph(t.value);return o.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),o.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var o=t("./lodash"),s=t("./graph");e.exports={write:r,read:a}},{"./graph":77,"./lodash":80}],80:[function(t,e){e.exports=t(41)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":41, +lodash:82}],81:[function(t,e){e.exports="1.0.7"},{}],82:[function(t,e,r){(function(t){(function(){function n(t,e){if(t!==e){var r=null===t,n=t===E,i=t===t,a=null===e,o=e===E,s=e===e;if(t>e&&!a||!i||r&&!o&&s||n&&s)return 1;if(e>t&&!r||!s||a&&!n&&i||o&&i)return-1}return 0}function i(t,e,r){for(var n=t.length,i=r?n:-1;r?i--:++i-1;);return r}function c(t,e){for(var r=t.length;r--&&e.indexOf(t.charAt(r))>-1;);return r}function l(t,e){return n(t.criteria,e.criteria)||t.index-e.index}function h(t,e,r){for(var i=-1,a=t.criteria,o=e.criteria,s=a.length,u=r.length;++i=u)return c;var l=r[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function d(t){return Gt[t]}function f(t){return $t[t]}function p(t,e,r){return e?t=zt[t]:r&&(t=Zt[t]),"\\"+t}function g(t){return"\\"+Zt[t]}function y(t,e,r){for(var n=t.length,i=e+(r?0:-1);r?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function b(t,e){for(var r=-1,n=t.length,i=-1,a=[];++re,i=r?t.length:0,a=$r(0,i,this.__views__),o=a.start,s=a.end,u=s-o,c=n?s:o-1,l=this.__iteratees__,h=l.length,d=0,f=Ao(u,this.__takeCount__);if(!r||j>i||i==u&&f==u)return rr(n&&r?t.reverse():t,this.__actions__);var p=[];t:for(;u--&&f>d;){c+=e;for(var g=-1,y=t[c];++g=j?pr(e):null,c=e.length;u&&(o=Xt,s=!1,e=u);t:for(;++ir&&(r=-r>i?0:i+r),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=r>n?0:n>>>0,r>>>=0;i>r;)t[r++]=e;return t}function Ce(t,e){var r=[];return No(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function Te(t,e,r,n){var i;return r(t,function(t,r,a){return e(t,r,a)?(i=n?r:t,!1):void 0}),i}function Se(t,e,r,n){n||(n=[]);for(var i=-1,a=t.length;++in;)t=t[e[n++]];return n&&n==i?t:E}}function Me(t,e,r,n,i,a){return t===e?!0:null==t||null==e||!Ii(t)&&!m(e)?t!==t&&e!==e:Ne(t,e,Me,r,n,i,a)}function Ne(t,e,r,n,i,a,o){var s=Ss(t),u=Ss(e),c=H,l=H;s||(c=ro.call(t),c==$?c=Q:c!=Q&&(s=Vi(t))),u||(l=ro.call(e),l==$?l=Q:l!=Q&&(u=Vi(e)));var h=c==Q,d=l==Q,f=c==l;if(f&&!s&&!h)return Rr(t,e,c);if(!i){var p=h&&to.call(t,"__wrapped__"),g=d&&to.call(e,"__wrapped__");if(p||g)return r(p?t.value():t,g?e.value():e,n,i,a,o)}if(!f)return!1;a||(a=[]),o||(o=[]);for(var y=a.length;y--;)if(a[y]==t)return o[y]==e;a.push(t),o.push(e);var m=(s?Pr:qr)(t,e,r,n,i,a,o);return a.pop(),o.pop(),m}function Pe(t,e,r){var n=e.length,i=n,a=!r;if(null==t)return!i;for(t=hn(t);n--;){var o=e[n];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++ne&&(e=-e>i?0:i+e),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=ja(i);++n=j,u=s?pr():null,c=[];u?(n=Xt,o=!1):(s=!1,u=e?[]:c);t:for(;++r=i){for(;i>n;){var a=n+i>>>1,o=t[a];(r?e>=o:e>o)&&null!==o?n=a+1:i=a}return i}return ir(t,e,Ca,r)}function ir(t,e,r,n){e=r(e);for(var i=0,a=t?t.length:0,o=e!==e,s=null===e,u=e===E;a>i;){var c=vo((i+a)/2),l=r(t[c]),h=l!==E,d=l===l;if(o)var f=d||n;else f=s?d&&h&&(n||null!=l):u?d&&(n||h):null==l?!1:n?e>=l:e>l;f?i=c+1:a=c}return Ao(a,Fo)}function ar(t,e,r){if("function"!=typeof t)return Ca;if(e===E)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 3:return function(r,n,i){return t.call(e,r,n,i)};case 4:return function(r,n,i,a){return t.call(e,r,n,i,a)};case 5:return function(r,n,i,a,o){return t.call(e,r,n,i,a,o)}}return function(){return t.apply(e,arguments)}}function or(t){var e=new ao(t.byteLength),r=new po(e);return r.set(new po(t)),e}function sr(t,e,r){for(var n=r.length,i=-1,a=xo(t.length-n,0),o=-1,s=e.length,u=ja(s+a);++o2?r[i-2]:E,o=i>2?r[2]:E,s=i>1?r[i-1]:E;for("function"==typeof a?(a=ar(a,s,5),i-=2):(a="function"==typeof s?s:E,i-=a?1:0),o&&Jr(r[0],r[1],o)&&(a=3>i?E:a,i=1);++n-1?r[o]:E}return Te(r,n,t)}}function wr(t){return function(e,r,n){return e&&e.length?(r=jr(r,n,3),i(e,r,t)):-1}}function xr(t){return function(e,r,n){return r=jr(r,n,3),Te(e,r,t,!0)}}function Ar(t){return function(){for(var e,r=arguments.length,n=t?r:-1,i=0,a=ja(r);t?n--:++n=j)return e.plant(n).value();for(var i=0,o=r?a[i].apply(this,t):n;++iv){var k=s?te(s):E,D=xo(c-v,0),S=p?A:E,F=p?E:A,L=p?w:E,I=p?E:w;e|=p?B:O,e&=~(p?O:B),g||(e&=~(C|T));var M=[t,e,r,L,S,I,F,k,u,D],N=Lr.apply(E,M);return tn(t)&&Vo(N,M),N.placeholder=x,N}}var P=d?r:this,R=f?P[t]:t;return s&&(w=un(w,s)),h&&u=e||!_o(e))return"";var i=e-n;return r=null==r?" ":r+"",ya(r,yo(i/r.length)).slice(0,i)}function Or(t,e,r,n){function i(){for(var e=-1,s=arguments.length,u=-1,c=n.length,l=ja(c+s);++uu))return!1;for(;++s-1&&t%1==0&&e>t}function Jr(t,e,r){if(!Ii(r))return!1;var n=typeof e;if("number"==n?Kr(r)&&Xr(e,r.length):"string"==n&&e in r){var i=r[e];return t===t?t===i:i!==i}return!1}function Qr(t,e){var r=typeof t;if("string"==r&&Et.test(t)||"number"==r)return!0;if(Ss(t))return!1;var n=!kt.test(t);return n||null!=e&&t in hn(e)}function tn(t){var r=Ur(t);if(!(r in X.prototype))return!1;var n=e[r];if(t===n)return!0;var i=Uo(n);return!!i&&t===i[0]}function en(t){return"number"==typeof t&&t>-1&&t%1==0&&Bo>=t}function rn(t){return t===t&&!Ii(t)}function nn(t,e){var r=t[1],n=e[1],i=r|n,a=I>i,o=n==I&&r==F||n==I&&r==M&&t[7].length<=e[8]||n==(I|M)&&r==F;if(!a&&!o)return t;n&C&&(t[2]=e[2],i|=r&C?0:S);var s=e[3];if(s){var u=t[3];t[3]=u?sr(u,s,e[4]):te(s),t[4]=u?b(t[3],G):te(e[4])}return s=e[5],s&&(u=t[5],t[5]=u?ur(u,s,e[6]):te(s),t[6]=u?b(t[5],G):te(e[6])),s=e[7],s&&(t[7]=te(s)),n&I&&(t[8]=null==t[8]?e[8]:Ao(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function an(t,e){return t===E?e:Fs(t,e,an)}function on(t,e){t=hn(t);for(var r=-1,n=e.length,i={};++rn;)o[++a]=ze(t,n,n+=e);return o}function gn(t){for(var e=-1,r=t?t.length:0,n=-1,i=[];++ee?0:e)):[]}function mn(t,e,r){var n=t?t.length:0;return n?((r?Jr(t,e,r):null==e)&&(e=1),e=n-(+e||0),ze(t,0,0>e?0:e)):[]}function vn(t,e,r){return t&&t.length?er(t,jr(e,r,3),!0,!0):[]}function bn(t,e,r){return t&&t.length?er(t,jr(e,r,3),!0):[]}function _n(t,e,r,n){var i=t?t.length:0;return i?(r&&"number"!=typeof r&&Jr(t,e,r)&&(r=0,n=i),De(t,e,r,n)):[]}function wn(t){return t?t[0]:E}function xn(t,e,r){var n=t?t.length:0;return r&&Jr(t,e,r)&&(e=!1),n?Se(t,e):[]}function An(t){var e=t?t.length:0;return e?Se(t,!0):[]}function kn(t,e,r){var n=t?t.length:0;if(!n)return-1;if("number"==typeof r)r=0>r?xo(n+r,0):r;else if(r){var i=nr(t,e);return n>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,r||0)}function En(t){return mn(t,1)}function Dn(t){var e=t?t.length:0;return e?t[e-1]:E}function Cn(t,e,r){var n=t?t.length:0;if(!n)return-1;var i=n;if("number"==typeof r)i=(0>r?xo(n+r,0):Ao(r||0,n-1))+1;else if(r){i=nr(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Tn(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var r=0,n=Yr(),i=t.length;++r-1;)fo.call(e,a,1);return e}function Sn(t,e,r){var n=[];if(!t||!t.length)return n;var i=-1,a=[],o=t.length;for(e=jr(e,r,3);++ie?0:e)):[]}function On(t,e,r){var n=t?t.length:0;return n?((r?Jr(t,e,r):null==e)&&(e=1),e=n-(+e||0),ze(t,0>e?0:e)):[]}function In(t,e,r){return t&&t.length?er(t,jr(e,r,3),!1,!0):[]}function Mn(t,e,r){return t&&t.length?er(t,jr(e,r,3)):[]}function Nn(t,e,r,n){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(n=r,r=Jr(t,e,n)?E:e,e=!1);var o=jr();return(null!=r||o!==_e)&&(r=o(r,n,3)),e&&Yr()==a?_(t,r):Qe(t,r)}function Pn(t){if(!t||!t.length)return[];var e=-1,r=0;t=se(t,function(t){return Kr(t)?(r=xo(t.length,r),!0):void 0});for(var n=ja(r);++er?xo(i+r,0):r||0,"string"==typeof t||!Ss(t)&&Yi(t)?i>=r&&t.indexOf(e,r)>-1:!!i&&Yr(t,e,r)>-1}function ti(t,e,r){var n=Ss(t)?ue:Re;return e=jr(e,r,3),n(t,e)}function ei(t,e){return ti(t,Oa(e))}function ri(t,e,r){var n=Ss(t)?se:Ce;return e=jr(e,r,3),n(t,function(t,r,n){return!e(t,r,n)})}function ni(t,e,r){if(r?Jr(t,e,r):null==e){t=ln(t);var n=t.length;return n>0?t[He(0,n-1)]:E}var i=-1,a=Wi(t),n=a.length,o=n-1;for(e=Ao(0>e?0:+e||0,n);++i0&&(r=e.apply(this,arguments)),1>=t&&(e=E),r}}function fi(t,e,r){function n(){f&&oo(f),c&&oo(c),g=0,c=f=p=E}function i(e,r){r&&oo(r),c=f=p=E,e&&(g=gs(),l=t.apply(d,u),f||c||(u=d=E))}function a(){var t=e-(gs()-h);0>=t||t>e?i(p,c):f=ho(a,t)}function o(){i(m,f)}function s(){if(u=arguments,h=gs(),d=this,p=m&&(f||!v),y===!1)var r=v&&!f;else{c||v||(g=h);var n=y-(h-g),i=0>=n||n>y;i?(c&&(c=oo(c)),g=h,l=t.apply(d,u)):c||(c=ho(o,n))}return i&&f?f=oo(f):f||e===y||(f=ho(a,e)),r&&(i=!0,l=t.apply(d,u)),!i||f||c||(u=d=E),l}var u,c,l,h,d,f,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Za(V);if(e=0>e?0:+e||0,r===!0){var v=!0;m=!1}else Ii(r)&&(v=!!r.leading,y="maxWait"in r&&xo(+r.maxWait||0,e),m="trailing"in r?!!r.trailing:m);return s.cancel=n,s}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Za(V);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=t.apply(this,n);return r.cache=a.set(i,o),o};return r.cache=new pi.Cache,r}function gi(t){if("function"!=typeof t)throw new Za(V);return function(){return!t.apply(this,arguments)}}function yi(t){return di(2,t)}function mi(t,e){if("function"!=typeof t)throw new Za(V);return e=xo(e===E?t.length-1:+e||0,0),function(){for(var r=arguments,n=-1,i=xo(r.length-e,0),a=ja(i);++ne}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Kr(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&ro.call(t)==W}function Ci(t){return m(t)&&ro.call(t)==z}function Ti(t){return!!t&&1===t.nodeType&&m(t)&&!ji(t)}function Si(t){return null==t?!0:Kr(t)&&(Ss(t)||Yi(t)||Ei(t)||m(t)&&Oi(t.splice))?!t.length:!js(t).length}function Fi(t,e,r,n){r="function"==typeof r?ar(r,n,3):E;var i=r?r(t,e):E;return i===E?Me(t,e,r):!!i}function Li(t){return m(t)&&"string"==typeof t.message&&ro.call(t)==Z}function Bi(t){return"number"==typeof t&&_o(t)}function Oi(t){return Ii(t)&&ro.call(t)==K}function Ii(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Mi(t,e,r,n){return r="function"==typeof r?ar(r,n,3):E,Pe(t,Vr(e),r)}function Ni(t){return qi(t)&&t!=+t}function Pi(t){return null==t?!1:Oi(t)?io.test(Qa.call(t)):m(t)&&It.test(t)}function Ri(t){return null===t}function qi(t){return"number"==typeof t||m(t)&&ro.call(t)==J}function ji(t){var e;if(!m(t)||ro.call(t)!=Q||Ei(t)||!to.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var r;return Fe(t,function(t,e){r=e}),r===E||to.call(t,r)}function Ui(t){return Ii(t)&&ro.call(t)==tt}function Yi(t){return"string"==typeof t||m(t)&&ro.call(t)==rt}function Vi(t){return m(t)&&en(t.length)&&!!Yt[ro.call(t)]}function Gi(t){return t===E}function $i(t,e){return e>t}function Hi(t,e){return e>=t}function Wi(t){var e=t?Yo(t):0;return en(e)?e?te(t):[]:aa(t)}function zi(t){return be(t,ta(t))}function Zi(t,e,r){var n=Mo(t);return r&&Jr(t,e,r)&&(e=E),e?me(n,e):n}function Ki(t){return Oe(t,ta(t))}function Xi(t,e,r){var n=null==t?E:Ie(t,dn(e),e+"");return n===E?r:n}function Ji(t,e){if(null==t)return!1;var r=to.call(t,e);if(!r&&!Qr(e)){if(e=dn(e),t=1==e.length?t:Ie(t,ze(e,0,-1)),null==t)return!1;e=Dn(e),r=to.call(t,e)}return r||en(t.length)&&Xr(e,t.length)&&(Ss(t)||Ei(t))}function Qi(t,e,r){r&&Jr(t,e,r)&&(e=E);for(var n=-1,i=js(t),a=i.length,o={};++n0;++n=Ao(e,r)&&tr?0:+r||0,n),r-=e.length,r>=0&&t.indexOf(e,r)==r}function da(t){return t=s(t),t&&_t.test(t)?t.replace(vt,f):t}function fa(t){return t=s(t),t&&Tt.test(t)?t.replace(Ct,p):t||"(?:)"}function pa(t,e,r){t=s(t),e=+e;var n=t.length;if(n>=e||!_o(e))return t;var i=(e-n)/2,a=vo(i),o=yo(i);return r=Br("",o,r),r.slice(0,a)+t+r}function ga(t,e,r){return(r?Jr(t,e,r):null==e)?e=0:e&&(e=+e),t=ba(t),Eo(t,e||(Ot.test(t)?16:10))}function ya(t,e){var r="";if(t=s(t),e=+e,1>e||!t||!_o(e))return r;do e%2&&(r+=t),e=vo(e/2),t+=t;while(e);return r}function ma(t,e,r){return t=s(t),r=null==r?0:Ao(0>r?0:+r||0,t.length),t.lastIndexOf(e,r)==r}function va(t,r,n){var i=e.templateSettings;n&&Jr(t,r,n)&&(r=n=E),t=s(t),r=ye(me({},n||r),i,ge);var a,o,u=ye(me({},r.imports),i.imports,ge),c=js(u),l=tr(u,c),h=0,d=r.interpolate||Pt,f="__p += '",p=Wa((r.escape||Pt).source+"|"+d.source+"|"+(d===At?Lt:Pt).source+"|"+(r.evaluate||Pt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in r?r.sourceURL:"lodash.templateSources["+ ++Ut+"]")+"\n";t.replace(p,function(e,r,n,i,s,u){return n||(n=i),f+=t.slice(h,u).replace(Rt,g),r&&(a=!0,f+="' +\n__e("+r+") +\n'"),s&&(o=!0,f+="';\n"+s+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),h=u+e.length,e}),f+="';\n";var m=r.variable;m||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(pt,""):f).replace(gt,"$1").replace(yt,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"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 v=Xs(function(){return Va(c,y+"return "+f).apply(E,l)});if(v.source=f,Li(v))throw v;return v}function ba(t,e,r){var n=t;return(t=s(t))?(r?Jr(n,e,r):null==e)?t.slice(w(t),x(t)+1):(e+="",t.slice(u(t,e),c(t,e)+1)):t}function _a(t,e,r){var n=t;return t=s(t),t?t.slice((r?Jr(n,e,r):null==e)?w(t):u(t,e+"")):t}function wa(t,e,r){var n=t;return t=s(t),t?(r?Jr(n,e,r):null==e)?t.slice(0,x(t)+1):t.slice(0,c(t,e+"")+1):t}function xa(t,e,r){r&&Jr(t,e,r)&&(e=E);var n=N,i=P;if(null!=e)if(Ii(e)){var a="separator"in e?e.separator:a;n="length"in e?+e.length||0:n,i="omission"in e?s(e.omission):i}else n=+e||0;if(t=s(t),n>=t.length)return t;var o=n-i.length;if(1>o)return i;var u=t.slice(0,o);if(null==a)return u+i;if(Ui(a)){if(t.slice(o).search(a)){var c,l,h=t.slice(0,o);for(a.global||(a=Wa(a.source,(Bt.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;u=u.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var d=u.lastIndexOf(a);d>-1&&(u=u.slice(0,d))}return u+i}function Aa(t){return t=s(t),t&&bt.test(t)?t.replace(mt,A):t}function ka(t,e,r){return r&&Jr(t,e,r)&&(e=E),t=s(t),t.match(e||qt)||[]}function Ea(t,e,r){return r&&Jr(t,e,r)&&(e=E),m(t)?Ta(t):_e(t,e)}function Da(t){return function(){return t}}function Ca(t){return t}function Ta(t){return qe(we(t,!0))}function Sa(t,e){return je(t,we(e,!0))}function Fa(t,e,r){if(null==r){var n=Ii(e),i=n?js(e):E,a=i&&i.length?Oe(e,i):E;(a?a.length:n)||(a=!1,r=e,e=t,t=this)}a||(a=Oe(e,js(e)));var o=!0,s=-1,u=Oi(t),c=a.length;r===!1?o=!1:Ii(r)&&"chain"in r&&(o=r.chain);for(;++st||!_o(t))return[];var n=-1,i=ja(Ao(t,So));for(e=ar(e,r,1);++nn?i[n]=e(n):e(n);return i}function Pa(t){var e=++eo;return s(t)+e}function Ra(t,e){return(+t||0)+(+e||0)}function qa(t,e,r){return r&&Jr(t,e,r)&&(e=E),e=jr(e,r,3),1==e.length?fe(Ss(t)?t:ln(t),e):Je(t,e)}t=t?ne.defaults(re.Object(),t,ne.pick(re,jt)):re;{var ja=t.Array,Ua=t.Date,Ya=t.Error,Va=t.Function,Ga=t.Math,$a=t.Number,Ha=t.Object,Wa=t.RegExp,za=t.String,Za=t.TypeError,Ka=ja.prototype,Xa=Ha.prototype,Ja=za.prototype,Qa=Va.prototype.toString,to=Xa.hasOwnProperty,eo=0,ro=Xa.toString,no=re._,io=Wa("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,so=t.parseFloat,uo=Ga.pow,co=Xa.propertyIsEnumerable,lo=Gr(t,"Set"),ho=t.setTimeout,fo=Ka.splice,po=t.Uint8Array,go=Gr(t,"WeakMap"),yo=Ga.ceil,mo=Gr(Ha,"create"),vo=Ga.floor,bo=Gr(ja,"isArray"),_o=t.isFinite,wo=Gr(Ha,"keys"),xo=Ga.max,Ao=Ga.min,ko=Gr(Ua,"now"),Eo=t.parseInt,Do=Ga.random,Co=$a.NEGATIVE_INFINITY,To=$a.POSITIVE_INFINITY,So=4294967295,Fo=So-1,Lo=So>>>1,Bo=9007199254740991,Oo=go&&new go,Io={};e.support={}}e.templateSettings={escape:wt,evaluate:xt,interpolate:At,variable:"",imports:{_:e}};var Mo=function(){function t(){}return function(e){if(Ii(e)){t.prototype=e;var r=new t;t.prototype=E}return r||{}}}(),No=hr(Le),Po=hr(Be,!0),Ro=dr(),qo=dr(!0),jo=Oo?function(t,e){return Oo.set(t,e),t}:Ca,Uo=Oo?function(t){return Oo.get(t)}:Ba,Yo=Ve("length"),Vo=function(){var t=0,e=0;return function(r,n){var i=gs(),a=q-(i-e);if(e=i,a>0){if(++t>=R)return r}else t=0;return jo(r,n)}}(),Go=mi(function(t,e){return m(t)&&Kr(t)?Ae(t,Se(e,!1,!0)):[]}),$o=wr(),Ho=wr(!0),Wo=mi(function(t){for(var e=t.length,r=e,n=ja(h),i=Yr(),o=i==a,s=[];r--;){var u=t[r]=Kr(u=t[r])?u:[];n[r]=o&&u.length>=120?pr(r&&u):null}var c=t[0],l=-1,h=c?c.length:0,d=n[0];t:for(;++l2?t[e-2]:E,n=e>1?t[e-1]:E;return e>2&&"function"==typeof r?e-=2:(r=e>1&&"function"==typeof n?(--e,n):E,n=E),t.length=e,Rn(t,r,n)}),es=mi(function(t){return t=Se(t),this.thru(function(e){return Qt(Ss(e)?e:[hn(e)],t)})}),rs=mi(function(t,e){return ve(t,Se(e))}),ns=cr(function(t,e,r){to.call(t,r)?++t[r]:t[r]=1}),is=_r(No),as=_r(Po,!0),os=kr(ee,No),ss=kr(ie,Po),us=cr(function(t,e,r){to.call(t,r)?t[r].push(e):t[r]=[e]}),cs=cr(function(t,e,r){t[r]=e}),ls=mi(function(t,e,r){var n=-1,i="function"==typeof e,a=Qr(e),o=Kr(t)?ja(t.length):[];return No(t,function(t){var s=i?e:a&&null!=t?t[e]:E;o[++n]=s?s.apply(t,r):Zr(t,e,r)}),o}),hs=cr(function(t,e,r){t[r?0:1].push(e)},function(){return[[],[]]}),ds=Fr(le,No),fs=Fr(he,Po),ps=mi(function(t,e){if(null==t)return[];var r=e[2];return r&&Jr(e[0],e[1],r)&&(e.length=1),Xe(t,Se(e),[])}),gs=ko||function(){return(new Ua).getTime()},ys=mi(function(t,e,r){var n=C;if(r.length){var i=b(r,ys.placeholder);n|=B}return Nr(t,n,e,r,i)}),ms=mi(function(t,e){e=e.length?Se(e):Ki(t);for(var r=-1,n=e.length;++r0||0>e)?new X(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),e!==E&&(e=+e||0,r=0>e?r.dropRight(-e):r.take(e-t)),r)},X.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},X.prototype.toArray=function(){return this.take(To)},Le(X.prototype,function(t,r){var n=/^(?:filter|map|reject)|While$/.test(r),i=/^(?:first|last)$/.test(r),a=e[i?"take"+("last"==r?"Right":""):r];a&&(e.prototype[r]=function(){var e=i?[1]:arguments,r=this.__chain__,o=this.__wrapped__,s=!!this.__actions__.length,u=o instanceof X,c=e[0],l=u||Ss(o);l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var h=function(t){return i&&r?a(t,1)[0]:a.apply(E,ce([t],e))},d={func:Vn,args:[h],thisArg:E},f=u&&!s;if(i&&!r)return f?(o=o.clone(),o.__actions__.push(d),t.call(o)):a.call(E,this.value())[0];if(!i&&l){o=f?o:new X(this);var p=t.apply(o,e);return p.__actions__.push(d),new v(p,r)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var r=(/^(?:replace|split)$/.test(t)?Ja:Ka)[t],n=/^(?: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__?r.apply(this.value(),t):this[n](function(e){return r.apply(e,t)})}}),Le(X.prototype,function(t,r){var n=e[r];if(n){var i=n.name,a=Io[i]||(Io[i]=[]);a.push({name:r,func:n})}}),Io[Lr(E,T).name]=[{name:"wrapper",func:E}],X.prototype.clone=et,X.prototype.reverse=nt,X.prototype.value=Gt,e.prototype.chain=Gn,e.prototype.commit=$n,e.prototype.concat=es,e.prototype.plant=Hn,e.prototype.reverse=Wn,e.prototype.toString=zn,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Zn,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 E,D="3.10.1",C=1,T=2,S=4,F=8,L=16,B=32,O=64,I=128,M=256,N=30,P="...",R=150,q=16,j=200,U=1,Y=2,V="Expected a function",G="__lodash_placeholder__",$="[object Arguments]",H="[object Array]",W="[object Boolean]",z="[object Date]",Z="[object Error]",K="[object Function]",X="[object Map]",J="[object Number]",Q="[object Object]",tt="[object RegExp]",et="[object Set]",rt="[object String]",nt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",ot="[object Float64Array]",st="[object Int8Array]",ut="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",dt="[object Uint16Array]",ft="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,bt=RegExp(mt.source),_t=RegExp(vt.source),wt=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Ct=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Tt=RegExp(Ct.source),St=/[\u0300-\u036f\ufe20-\ufe23]/g,Ft=/\\(\\)?/g,Lt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bt=/\w*$/,Ot=/^0[xX]/,It=/^\[object .+?Constructor\]$/,Mt=/^\d+$/,Nt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Pt=/($^)/,Rt=/['\n\r\u2028\u2029\\]/g,qt=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")}(),jt=["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"],Ut=-1,Yt={};Yt[at]=Yt[ot]=Yt[st]=Yt[ut]=Yt[ct]=Yt[lt]=Yt[ht]=Yt[dt]=Yt[ft]=!0,Yt[$]=Yt[H]=Yt[it]=Yt[W]=Yt[z]=Yt[Z]=Yt[K]=Yt[X]=Yt[J]=Yt[Q]=Yt[tt]=Yt[et]=Yt[rt]=Yt[nt]=!1;var Vt={};Vt[$]=Vt[H]=Vt[it]=Vt[W]=Vt[z]=Vt[at]=Vt[ot]=Vt[st]=Vt[ut]=Vt[ct]=Vt[J]=Vt[Q]=Vt[tt]=Vt[rt]=Vt[lt]=Vt[ht]=Vt[dt]=Vt[ft]=!0,Vt[Z]=Vt[K]=Vt[X]=Vt[et]=Vt[nt]=!1;var Gt={"À":"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"},$t={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ht={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Wt={"function":!0,object:!0},zt={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"},Zt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Kt=Wt[typeof r]&&r&&!r.nodeType&&r,Xt=Wt[typeof e]&&e&&!e.nodeType&&e,Jt=Kt&&Xt&&"object"==typeof t&&t&&t.Object&&t,Qt=Wt[typeof self]&&self&&self.Object&&self,te=Wt[typeof window]&&window&&window.Object&&window,ee=Xt&&Xt.exports===Kt&&Kt,re=Jt||te!==(this&&this.window)&&te||Qt||this,ne=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(re._=ne,define(function(){return ne})):Kt&&Xt?ee?(Xt.exports=ne)._=ne:Kt._=ne:re._=ne}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(t,e,r){(function(t){!function(n){var i="object"==typeof r&&r,a="object"==typeof e&&e&&e.exports==i&&e,o="object"==typeof t&&t;(o.global===o||o.window===o)&&(n=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,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"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","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap", +"⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"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","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,f={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\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|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={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:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",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:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",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:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",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:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",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:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",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:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",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:"▫",emsp13:" ",emsp14:" ",emsp:" ",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:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",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",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",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:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",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:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",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:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",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:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",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:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",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:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",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:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",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:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",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:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",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:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",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:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",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:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",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:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",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:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",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:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",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:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈", +timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",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:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",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:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",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:"ÿ"},b={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:"Ÿ"},_=[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],w=String.fromCharCode,x={},A=x.hasOwnProperty,k=function(t,e){return A.call(t,e)},E=function(t,e){for(var r=-1,n=t.length;++r=55296&&57343>=t||t>1114111?(e&&S("character reference outside the permissible Unicode range"),"�"):k(b,t)?(e&&S("disallowed character reference"),b[t]):(e&&E(_,t)&&S("disallowed character reference"),t>65535&&(t-=65536,r+=w(t>>>10&1023|55296),t=56320|1023&t),r+=w(t))},T=function(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"},S=function(t){throw Error("Parse error: "+t)},F=function(t,e){e=D(e,F.options);var r=e.strict;r&&g.test(t)&&S("forbidden code point");var n=e.encodeEverything,i=e.useNamedReferences,a=e.allowUnsafeSymbols;return n?(t=t.replace(u,function(t){return i&&k(h,t)?"&"+h[t]+";":T(t)}),i&&(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(t=t.replace(l,function(t){return"&"+h[t]+";"}))):i?(a||(t=t.replace(d,function(t){return"&"+h[t]+";"})),t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),t=t.replace(l,function(t){return"&"+h[t]+";"})):a||(t=t.replace(d,T)),t.replace(s,function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),n=1024*(e-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,T)};F.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(t,e){e=D(e,L.options);var r=e.strict;return r&&p.test(t)&&S("malformed character reference"),t.replace(y,function(t,n,i,a,o,s,u,c){var l,h,d,f,p;return n?(l=n,h=i,r&&!h&&S("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=o,r&&!h&&S("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):s?(f=s,k(m,f)?m[f]:(r&&S("named character reference was not terminated by a semicolon"),t)):(f=u,p=c,p&&e.isAttributeValue?(r&&"="==p&&S("`&` did not start a character reference"),t):(r&&S("named character reference was not terminated by a semicolon"),v[f]+(p||"")))})};L.options={isAttributeValue:!1,strict:!1};var B=function(t){return t.replace(d,function(t){return f[t]})},O={version:"0.5.0",encode:F,decode:L,escape:B,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return O});else if(i&&!i.nodeType)if(a)a.exports=O;else for(var I in O)k(O,I)&&(i[I]=O[I]);else n.he=O}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],84:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():"function"==typeof define&&define.amd?define(n):t.moment=n()}(this,function(){"use strict";function r(){return Mr.apply(null,arguments)}function n(t){Mr=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function o(t,e){var r,n=[];for(r=0;r0)for(r in Pr)n=Pr[r],i=e[n],"undefined"!=typeof i&&(t[n]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():0/0),Rr===!1&&(Rr=!0,r.updateOffset(this),Rr=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var e=+t,r=0;return 0!==e&&isFinite(e)&&(r=m(e)),r}function b(t,e,r){var n,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(n=0;i>n;n++)(r&&t[n]!==e[n]||!r&&v(t[n])!==v(e[n]))&&o++;return o+a}function _(){}function w(t){return t?t.toLowerCase().replace("_","-"):t}function x(t){for(var e,r,n,i,a=0;a0;){if(n=A(i.slice(0,e).join("-")))return n;if(r&&r.length>=e&&b(i,r,!0)>=e-1)break;e--}a++}return null}function A(r){var n=null;if(!qr[r]&&"undefined"!=typeof e&&e&&e.exports)try{n=Nr._abbr,t("./locale/"+r),k(n)}catch(i){}return qr[r]}function k(t,e){var r;return t&&(r="undefined"==typeof e?D(t):E(t,e),r&&(Nr=r)),Nr._abbr}function E(t,e){return null!==e?(e.abbr=t,qr[t]=qr[t]||new _,qr[t].set(e),k(t),qr[t]):(delete qr[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Nr;if(!i(t)){if(e=A(t))return e;t=[t]}return x(t)}function C(t,e){var r=t.toLowerCase();jr[r]=jr[r+"s"]=jr[e]=t}function T(t){return"string"==typeof t?jr[t]||jr[t.toLowerCase()]:void 0}function S(t){var e,r,n={};for(r in t)s(t,r)&&(e=T(r),e&&(n[e]=t[r]));return n}function F(t,e){return function(n){return null!=n?(B(this,t,n),r.updateOffset(this,e),this):L(this,t)}}function L(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function B(t,e,r){return t._d["set"+(t._isUTC?"UTC":"")+e](r)}function O(t,e){var r;if("object"==typeof t)for(r in t)this.set(r,t[r]);else if(t=T(t),"function"==typeof this[t])return this[t](e);return this}function I(t,e,r){var n=""+Math.abs(t),i=e-n.length,a=t>=0;return(a?r?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+n}function M(t,e,r,n){var i=n;"string"==typeof n&&(i=function(){return this[n]()}),t&&(Gr[t]=i),e&&(Gr[e[0]]=function(){return I(i.apply(this,arguments),e[1],e[2])}),r&&(Gr[r]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function N(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function P(t){var e,r,n=t.match(Ur);for(e=0,r=n.length;r>e;e++)n[e]=Gr[n[e]]?Gr[n[e]]:N(n[e]);return function(i){var a="";for(e=0;r>e;e++)a+=n[e]instanceof Function?n[e].call(i,t):n[e];return a}}function R(t,e){return t.isValid()?(e=q(e,t.localeData()),Vr[e]=Vr[e]||P(e),Vr[e](t)):t.localeData().invalidDate()}function q(t,e){function r(t){return e.longDateFormat(t)||t}var n=5;for(Yr.lastIndex=0;n>=0&&Yr.test(t);)t=t.replace(Yr,r),Yr.lastIndex=0,n-=1;return t}function j(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function U(t,e,r){on[t]=j(e)?e:function(t){return t&&r?r:e}}function Y(t,e){return s(on,t)?on[t](e._strict,e._locale):new RegExp(V(t))}function V(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,r,n,i){return e||r||n||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var r,n=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(n=function(t,r){r[e]=v(t)}),r=0;rn;n++){if(i=c([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),r||this._monthsParse[n]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[n]=new RegExp(a.replace(".",""),"i")),r&&"MMMM"===e&&this._longMonthsParse[n].test(t))return n;if(r&&"MMM"===e&&this._shortMonthsParse[n].test(t))return n;if(!r&&this._monthsParse[n].test(t))return n}}function X(t,e){var r;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(r=Math.min(t.date(),W(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,r),t)}function J(t){return null!=t?(X(this,t),r.updateOffset(this,!0),this):L(this,"Month")}function Q(){return W(this.year(),this.month())}function tt(t){var e,r=t._a;return r&&-2===h(t).overflow&&(e=r[cn]<0||r[cn]>11?cn:r[ln]<1||r[ln]>W(r[un],r[cn])?ln:r[hn]<0||r[hn]>24||24===r[hn]&&(0!==r[dn]||0!==r[fn]||0!==r[pn])?hn:r[dn]<0||r[dn]>59?dn:r[fn]<0||r[fn]>59?fn:r[pn]<0||r[pn]>999?pn:-1,h(t)._overflowDayOfYear&&(un>e||e>ln)&&(e=ln),h(t).overflow=e),t}function et(t){r.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function rt(t,e){var r=!0;return u(function(){return r&&(et(t+"\n"+(new Error).stack),r=!1),e.apply(this,arguments)},e)}function nt(t,e){mn[t]||(et(e),mn[t]=!0)}function it(t){var e,r,n=t._i,i=vn.exec(n);if(i){for(h(t).iso=!0,e=0,r=bn.length;r>e;e++)if(bn[e][1].exec(n)){t._f=bn[e][0];break}for(e=0,r=_n.length;r>e;e++)if(_n[e][1].exec(n)){t._f+=(i[6]||" ")+_n[e][0];break}n.match(rn)&&(t._f+="Z"),At(t)}else t._isValid=!1}function at(t){var e=wn.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,r.createFromInputFallback(t))))}function ot(t,e,r,n,i,a,o){var s=new Date(t,e,r,n,i,a,o);return 1970>t&&s.setFullYear(t),s}function st(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ut(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,e,r){var n,i=r-e,a=r-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),n=Lt(t).add(a,"d"),{week:Math.ceil(n.dayOfYear()/7),year:n.year()}}function dt(t){return ht(t,this._week.dow,this._week.doy).week}function ft(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function yt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function mt(t,e,r,n,i){var a,o=6+i-n,s=st(t,0,1+o),u=s.getUTCDay();return i>u&&(u+=7),r=null!=r?1*r:i,a=1+o+7*(e-1)-u+r,{year:a>0?t:t-1,dayOfYear:a>0?a:ut(t-1)+a}}function vt(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 bt(t,e,r){return null!=t?t:null!=e?e:r}function _t(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wt(t){var e,r,n,i,a=[];if(!t._d){for(n=_t(t),t._w&&null==t._a[ln]&&null==t._a[cn]&&xt(t),t._dayOfYear&&(i=bt(t._a[un],n[un]),t._dayOfYear>ut(i)&&(h(t)._overflowDayOfYear=!0),r=st(i,0,t._dayOfYear),t._a[cn]=r.getUTCMonth(),t._a[ln]=r.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=n[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[hn]&&0===t._a[dn]&&0===t._a[fn]&&0===t._a[pn]&&(t._nextDay=!0,t._a[hn]=0),t._d=(t._useUTC?st:ot).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hn]=24)}}function xt(t){var e,r,n,i,a,o,s;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,o=4,r=bt(e.GG,t._a[un],ht(Lt(),1,4).year),n=bt(e.W,1),i=bt(e.E,1)):(a=t._locale._week.dow,o=t._locale._week.doy,r=bt(e.gg,t._a[un],ht(Lt(),a,o).year),n=bt(e.w,1),null!=e.d?(i=e.d,a>i&&++n):i=null!=e.e?e.e+a:a),s=mt(r,n,i,o,a),t._a[un]=s.year,t._dayOfYear=s.dayOfYear}function At(t){if(t._f===r.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var e,n,i,a,o,s=""+t._i,u=s.length,c=0;for(i=q(t._f,t._locale).match(Ur)||[],e=0;e0&&h(t).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),c+=n.length),Gr[a]?(n?h(t).empty=!1:h(t).unusedTokens.push(a),H(a,n,t)):t._strict&&!n&&h(t).unusedTokens.push(a);h(t).charsLeftOver=u-c,s.length>0&&h(t).unusedInput.push(s),h(t).bigHour===!0&&t._a[hn]<=12&&t._a[hn]>0&&(h(t).bigHour=void 0),t._a[hn]=kt(t._locale,t._a[hn],t._meridiem),wt(t),tt(t)}function kt(t,e,r){var n;return null==r?e:null!=t.meridiemHour?t.meridiemHour(e,r):null!=t.isPM?(n=t.isPM(r),n&&12>e&&(e+=12),n||12!==e||(e=0),e):e}function Et(t){var e,r,n,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;ia)&&(n=a,r=e));u(t,r||e)}function Dt(t){if(!t._d){var e=S(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],wt(t)}}function Ct(t){var e=new g(tt(Tt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Tt(t){var e=t._i,r=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===r&&""===e?f({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new g(tt(e)):(i(r)?Et(t):r?At(t):a(e)?t._d=e:St(t),t))}function St(t){var e=t._i;void 0===e?t._d=new Date:a(e)?t._d=new Date(+e):"string"==typeof e?at(t):i(e)?(t._a=o(e.slice(0),function(t){return parseInt(t,10)}),wt(t)):"object"==typeof e?Dt(t):"number"==typeof e?t._d=new Date(e):r.createFromInputFallback(t)}function Ft(t,e,r,n,i){var a={};return"boolean"==typeof r&&(n=r,r=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=r,a._i=t,a._f=e,a._strict=n,Ct(a)}function Lt(t,e,r,n){return Ft(t,e,r,n,!1)}function Bt(t,e){var r,n;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Lt();for(r=e[0],n=1;nt&&(t=-t,r="-"),r+I(~~(t/60),2)+e+I(~~t%60,2)})}function Rt(t){var e=(t||"").match(rn)||[],r=e[e.length-1]||[],n=(r+"").match(Dn)||["-",0,0],i=+(60*n[1])+v(n[2]);return"+"===n[0]?i:-i}function qt(t,e){var n,i;return e._isUTC?(n=e.clone(),i=(y(t)||a(t)?+t:+Lt(t))-+n,n._d.setTime(+n._d+i),r.updateOffset(n,!1),n):Lt(t).local()}function jt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,e){var n,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Rt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(n=jt(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),i!==t&&(!e||this._changeInProgress?ne(this,Jt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:jt(this)}function Yt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Vt(t){return this.utcOffset(0,t)}function Gt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(jt(this),"m")),this}function $t(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Rt(this._i)),this}function Ht(t){return t=t?Lt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function zt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=Tt(t),t._a){var e=t._isUTC?c(t._a):Lt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Zt(){return!this._isUTC}function Kt(){return this._isUTC}function Xt(){return this._isUTC&&0===this._offset}function Jt(t,e){var r,n,i,a=t,o=null;return Nt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(o=Cn.exec(t))?(r="-"===o[1]?-1:1,a={y:0,d:v(o[ln])*r,h:v(o[hn])*r,m:v(o[dn])*r,s:v(o[fn])*r,ms:v(o[pn])*r}):(o=Tn.exec(t))?(r="-"===o[1]?-1:1,a={y:Qt(o[2],r),M:Qt(o[3],r),d:Qt(o[4],r),h:Qt(o[5],r),m:Qt(o[6],r),s:Qt(o[7],r),w:Qt(o[8],r)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=ee(Lt(a.from),Lt(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),n=new Mt(a),Nt(t)&&s(t,"_locale")&&(n._locale=t._locale),n}function Qt(t,e){var r=t&&parseFloat(t.replace(",","."));return(isNaN(r)?0:r)*e}function te(t,e){var r={milliseconds:0,months:0};return r.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(r.months,"M").isAfter(e)&&--r.months,r.milliseconds=+e-+t.clone().add(r.months,"M"),r}function ee(t,e){var r;return e=qt(e,t),t.isBefore(e)?r=te(t,e):(r=te(e,t),r.milliseconds=-r.milliseconds,r.months=-r.months),r}function re(t,e){return function(r,n){var i,a;return null===n||isNaN(+n)||(nt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=r,r=n,n=a),r="string"==typeof r?+r:r,i=Jt(r,n),ne(this,i,t),this}}function ne(t,e,n,i){var a=e._milliseconds,o=e._days,s=e._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*n),o&&B(t,"Date",L(t,"Date")+o*n),s&&X(t,L(t,"Month")+s*n),i&&r.updateOffset(t,o||s)}function ie(t,e){var r=t||Lt(),n=qt(r,this).startOf("day"),i=this.diff(n,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[a]||this.localeData().calendar(a,this,Lt(r)))}function ae(){return new g(this)}function oe(t,e){var r;return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Lt(t),+this>+t):(r=y(t)?+t:+Lt(t),r<+this.clone().startOf(e))}function se(t,e){var r;return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Lt(t),+t>+this):(r=y(t)?+t:+Lt(t),+this.clone().endOf(e)e-a?(r=t.clone().add(i-1,"months"),n=(e-a)/(a-r)):(r=t.clone().add(i+1,"months"),n=(e-a)/(r-a)),-(i+n)}function de(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function fe(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(r=Lt([2e3,1]).day(e),n="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[e]=new RegExp(n.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Ve(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Re(t,this.localeData()),this.add(t-e,"d")):e}function Ge(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function $e(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function He(t,e){M(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function We(t,e){return e._meridiemParse}function ze(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ze(t,e,r){return t>11?r?"pm":"PM":r?"am":"AM"}function Ke(t,e){e[pn]=v(1e3*("0."+t))}function Xe(){return this._isUTC?"UTC":""}function Je(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Lt(1e3*t)}function tr(){return Lt.apply(null,arguments).parseZone()}function er(t,e,r){var n=this._calendar[t];return"function"==typeof n?n.call(e,r):n}function rr(t){var e=this._longDateFormat[t],r=this._longDateFormat[t.toUpperCase()];return e||!r?e:(this._longDateFormat[t]=r.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function nr(){return this._invalidDate}function ir(t){return this._ordinal.replace("%d",t)}function ar(t){return t}function or(t,e,r,n){var i=this._relativeTime[r];return"function"==typeof i?i(t,e,r,n):i.replace(/%d/i,t)}function sr(t,e){var r=this._relativeTime[t>0?"future":"past"];return"function"==typeof r?r(e):r.replace(/%s/i,e)}function ur(t){var e,r;for(r in t)e=t[r],"function"==typeof e?this[r]=e:this["_"+r]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function cr(t,e,r,n){var i=D(),a=c().set(n,e);return i[r](a,t)}function lr(t,e,r,n,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return cr(t,e,r,i);var a,o=[];for(a=0;n>a;a++)o[a]=cr(t,a,r,i);return o}function hr(t,e){return lr(t,e,"months",12,"month")}function dr(t,e){return lr(t,e,"monthsShort",12,"month")}function fr(t,e){return lr(t,e,"weekdays",7,"day")}function pr(t,e){return lr(t,e,"weekdaysShort",7,"day")}function gr(t,e){return lr(t,e,"weekdaysMin",7,"day")}function yr(){var t=this._data;return this._milliseconds=Xn(this._milliseconds),this._days=Xn(this._days),this._months=Xn(this._months),t.milliseconds=Xn(t.milliseconds),t.seconds=Xn(t.seconds),t.minutes=Xn(t.minutes),t.hours=Xn(t.hours),t.months=Xn(t.months),t.years=Xn(t.years),this}function mr(t,e,r,n){var i=Jt(e,r);return t._milliseconds+=n*i._milliseconds,t._days+=n*i._days,t._months+=n*i._months,t._bubble()}function vr(t,e){return mr(this,t,e,1)}function br(t,e){return mr(this,t,e,-1)}function _r(t){return 0>t?Math.floor(t):Math.ceil(t)}function wr(){var t,e,r,n,i,a=this._milliseconds,o=this._days,s=this._months,u=this._data;return a>=0&&o>=0&&s>=0||0>=a&&0>=o&&0>=s||(a+=864e5*_r(Ar(s)+o),o=0,s=0),u.milliseconds=a%1e3,t=m(a/1e3),u.seconds=t%60,e=m(t/60),u.minutes=e%60,r=m(e/60),u.hours=r%24,o+=m(r/24),i=m(xr(o)),s+=i,o-=_r(Ar(i)),n=m(s/12),s%=12,u.days=o,u.months=s,u.years=n,this}function xr(t){return 4800*t/146097}function Ar(t){return 146097*t/4800}function kr(t){var e,r,n=this._milliseconds;if(t=T(t),"month"===t||"year"===t)return e=this._days+n/864e5,r=this._months+xr(e),"month"===t?r:r/12;switch(e=this._days+Math.round(Ar(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}}function Er(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function Dr(t){return function(){return this.as(t)}}function Cr(t){return t=T(t),this[t+"s"]()}function Tr(t){return function(){return this._data[t]}}function Sr(){return m(this.days()/7)}function Fr(t,e,r,n,i){return i.relativeTime(e||1,!!r,t,n)}function Lr(t,e,r){var n=Jt(t).abs(),i=fi(n.as("s")),a=fi(n.as("m")),o=fi(n.as("h")),s=fi(n.as("d")),u=fi(n.as("M")),c=fi(n.as("y")),l=i0,l[4]=r,Fr.apply(null,l)}function Br(t,e){return void 0===pi[t]?!1:void 0===e?pi[t]:(pi[t]=e,!0)}function Or(t){var e=this.localeData(),r=Lr(this,!t,e);return t&&(r=e.pastFuture(+this,r)),e.postformat(r)}function Ir(){var t,e,r,n=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(this._months);t=m(n/60),e=m(t/60),n%=60,t%=60,r=m(a/12),a%=12;var o=r,s=a,u=i,c=e,l=t,h=n,d=this.asSeconds();return d?(0>d?"-":"")+"P"+(o?o+"Y":"")+(s?s+"M":"")+(u?u+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"; + +}var Mr,Nr,Pr=r.momentProperties=[],Rr=!1,qr={},jr={},Ur=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Yr=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vr={},Gr={},$r=/\d/,Hr=/\d\d/,Wr=/\d{3}/,zr=/\d{4}/,Zr=/[+-]?\d{6}/,Kr=/\d\d?/,Xr=/\d{1,3}/,Jr=/\d{1,4}/,Qr=/[+-]?\d{1,6}/,tn=/\d+/,en=/[+-]?\d+/,rn=/Z|[+-]\d\d:?\d\d/gi,nn=/[+-]?\d+(\.\d{1,3})?/,an=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,on={},sn={},un=0,cn=1,ln=2,hn=3,dn=4,fn=5,pn=6;M("M",["MM",2],"Mo",function(){return this.month()+1}),M("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),M("MMMM",0,0,function(t){return this.localeData().months(this,t)}),C("month","M"),U("M",Kr),U("MM",Kr,Hr),U("MMM",an),U("MMMM",an),G(["M","MM"],function(t,e){e[cn]=v(t)-1}),G(["MMM","MMMM"],function(t,e,r,n){var i=r._locale.monthsParse(t,n,r._strict);null!=i?e[cn]=i:h(r).invalidMonth=t});var gn="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yn="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mn={};r.suppressDeprecationWarnings=!1;var vn=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],_n=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],wn=/^\/?Date\((\-?\d+)/i;r.createFromInputFallback=rt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),M(0,["YY",2],0,function(){return this.year()%100}),M(0,["YYYY",4],0,"year"),M(0,["YYYYY",5],0,"year"),M(0,["YYYYYY",6,!0],0,"year"),C("year","y"),U("Y",en),U("YY",Kr,Hr),U("YYYY",Jr,zr),U("YYYYY",Qr,Zr),U("YYYYYY",Qr,Zr),G(["YYYYY","YYYYYY"],un),G("YYYY",function(t,e){e[un]=2===t.length?r.parseTwoDigitYear(t):v(t)}),G("YY",function(t,e){e[un]=r.parseTwoDigitYear(t)}),r.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var xn=F("FullYear",!1);M("w",["ww",2],"wo","week"),M("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),U("w",Kr),U("ww",Kr,Hr),U("W",Kr),U("WW",Kr,Hr),$(["w","ww","W","WW"],function(t,e,r,n){e[n.substr(0,1)]=v(t)});var An={dow:0,doy:6};M("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),U("DDD",Xr),U("DDDD",Wr),G(["DDD","DDDD"],function(t,e,r){r._dayOfYear=v(t)}),r.ISO_8601=function(){};var kn=rt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Lt.apply(null,arguments);return this>t?this:t}),En=rt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Lt.apply(null,arguments);return t>this?this:t});Pt("Z",":"),Pt("ZZ",""),U("Z",rn),U("ZZ",rn),G(["Z","ZZ"],function(t,e,r){r._useUTC=!0,r._tzm=Rt(t)});var Dn=/([\+\-]|\d\d)/gi;r.updateOffset=function(){};var Cn=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Tn=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Jt.fn=Mt.prototype;var Sn=re(1,"add"),Fn=re(-1,"subtract");r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Ln=rt("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)});M(0,["gg",2],0,function(){return this.weekYear()%100}),M(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Le("gggg","weekYear"),Le("ggggg","weekYear"),Le("GGGG","isoWeekYear"),Le("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),U("G",en),U("g",en),U("GG",Kr,Hr),U("gg",Kr,Hr),U("GGGG",Jr,zr),U("gggg",Jr,zr),U("GGGGG",Qr,Zr),U("ggggg",Qr,Zr),$(["gggg","ggggg","GGGG","GGGGG"],function(t,e,r,n){e[n.substr(0,2)]=v(t)}),$(["gg","GG"],function(t,e,n,i){e[i]=r.parseTwoDigitYear(t)}),M("Q",0,0,"quarter"),C("quarter","Q"),U("Q",$r),G("Q",function(t,e){e[cn]=3*(v(t)-1)}),M("D",["DD",2],"Do","date"),C("date","D"),U("D",Kr),U("DD",Kr,Hr),U("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),G(["D","DD"],ln),G("Do",function(t,e){e[ln]=v(t.match(Kr)[0],10)});var Bn=F("Date",!0);M("d",0,"do","day"),M("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),M("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),M("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),M("e",0,0,"weekday"),M("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),U("d",Kr),U("e",Kr),U("E",Kr),U("dd",an),U("ddd",an),U("dddd",an),$(["dd","ddd","dddd"],function(t,e,r){var n=r._locale.weekdaysParse(t);null!=n?e.d=n:h(r).invalidWeekday=t}),$(["d","e","E"],function(t,e,r,n){e[n]=v(t)});var On="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),In="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Mn="Su_Mo_Tu_We_Th_Fr_Sa".split("_");M("H",["HH",2],0,"hour"),M("h",["hh",2],0,function(){return this.hours()%12||12}),He("a",!0),He("A",!1),C("hour","h"),U("a",We),U("A",We),U("H",Kr),U("h",Kr),U("HH",Kr,Hr),U("hh",Kr,Hr),G(["H","HH"],hn),G(["a","A"],function(t,e,r){r._isPm=r._locale.isPM(t),r._meridiem=t}),G(["h","hh"],function(t,e,r){e[hn]=v(t),h(r).bigHour=!0});var Nn=/[ap]\.?m?\.?/i,Pn=F("Hours",!0);M("m",["mm",2],0,"minute"),C("minute","m"),U("m",Kr),U("mm",Kr,Hr),G(["m","mm"],dn);var Rn=F("Minutes",!1);M("s",["ss",2],0,"second"),C("second","s"),U("s",Kr),U("ss",Kr,Hr),G(["s","ss"],fn);var qn=F("Seconds",!1);M("S",0,0,function(){return~~(this.millisecond()/100)}),M(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),M(0,["SSS",3],0,"millisecond"),M(0,["SSSS",4],0,function(){return 10*this.millisecond()}),M(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),M(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),M(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),M(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),M(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),U("S",Xr,$r),U("SS",Xr,Hr),U("SSS",Xr,Wr);var jn;for(jn="SSSS";jn.length<=9;jn+="S")U(jn,tn);for(jn="S";jn.length<=9;jn+="S")G(jn,Ke);var Un=F("Milliseconds",!1);M("z",0,0,"zoneAbbr"),M("zz",0,0,"zoneName");var Yn=g.prototype;Yn.add=Sn,Yn.calendar=ie,Yn.clone=ae,Yn.diff=le,Yn.endOf=xe,Yn.format=pe,Yn.from=ge,Yn.fromNow=ye,Yn.to=me,Yn.toNow=ve,Yn.get=O,Yn.invalidAt=Fe,Yn.isAfter=oe,Yn.isBefore=se,Yn.isBetween=ue,Yn.isSame=ce,Yn.isValid=Te,Yn.lang=Ln,Yn.locale=be,Yn.localeData=_e,Yn.max=En,Yn.min=kn,Yn.parsingFlags=Se,Yn.set=O,Yn.startOf=we,Yn.subtract=Fn,Yn.toArray=De,Yn.toObject=Ce,Yn.toDate=Ee,Yn.toISOString=fe,Yn.toJSON=fe,Yn.toString=de,Yn.unix=ke,Yn.valueOf=Ae,Yn.year=xn,Yn.isLeapYear=lt,Yn.weekYear=Oe,Yn.isoWeekYear=Ie,Yn.quarter=Yn.quarters=Pe,Yn.month=J,Yn.daysInMonth=Q,Yn.week=Yn.weeks=gt,Yn.isoWeek=Yn.isoWeeks=yt,Yn.weeksInYear=Ne,Yn.isoWeeksInYear=Me,Yn.date=Bn,Yn.day=Yn.days=Ve,Yn.weekday=Ge,Yn.isoWeekday=$e,Yn.dayOfYear=vt,Yn.hour=Yn.hours=Pn,Yn.minute=Yn.minutes=Rn,Yn.second=Yn.seconds=qn,Yn.millisecond=Yn.milliseconds=Un,Yn.utcOffset=Ut,Yn.utc=Vt,Yn.local=Gt,Yn.parseZone=$t,Yn.hasAlignedHourOffset=Ht,Yn.isDST=Wt,Yn.isDSTShifted=zt,Yn.isLocal=Zt,Yn.isUtcOffset=Kt,Yn.isUtc=Xt,Yn.isUTC=Xt,Yn.zoneAbbr=Xe,Yn.zoneName=Je,Yn.dates=rt("dates accessor is deprecated. Use date instead.",Bn),Yn.months=rt("months accessor is deprecated. Use month instead",J),Yn.years=rt("years accessor is deprecated. Use year instead",xn),Yn.zone=rt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Yt);var Vn=Yn,Gn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},$n={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"},Hn="Invalid date",Wn="%d",zn=/\d{1,2}/,Zn={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"},Kn=_.prototype;Kn._calendar=Gn,Kn.calendar=er,Kn._longDateFormat=$n,Kn.longDateFormat=rr,Kn._invalidDate=Hn,Kn.invalidDate=nr,Kn._ordinal=Wn,Kn.ordinal=ir,Kn._ordinalParse=zn,Kn.preparse=ar,Kn.postformat=ar,Kn._relativeTime=Zn,Kn.relativeTime=or,Kn.pastFuture=sr,Kn.set=ur,Kn.months=z,Kn._months=gn,Kn.monthsShort=Z,Kn._monthsShort=yn,Kn.monthsParse=K,Kn.week=dt,Kn._week=An,Kn.firstDayOfYear=pt,Kn.firstDayOfWeek=ft,Kn.weekdays=qe,Kn._weekdays=On,Kn.weekdaysMin=Ue,Kn._weekdaysMin=Mn,Kn.weekdaysShort=je,Kn._weekdaysShort=In,Kn.weekdaysParse=Ye,Kn.isPM=ze,Kn._meridiemParse=Nn,Kn.meridiem=Ze,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,r=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+r}}),r.lang=rt("moment.lang is deprecated. Use moment.locale instead.",k),r.langData=rt("moment.langData is deprecated. Use moment.localeData instead.",D);var Xn=Math.abs,Jn=Dr("ms"),Qn=Dr("s"),ti=Dr("m"),ei=Dr("h"),ri=Dr("d"),ni=Dr("w"),ii=Dr("M"),ai=Dr("y"),oi=Tr("milliseconds"),si=Tr("seconds"),ui=Tr("minutes"),ci=Tr("hours"),li=Tr("days"),hi=Tr("months"),di=Tr("years"),fi=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Mt.prototype;yi.abs=yr,yi.add=vr,yi.subtract=br,yi.as=kr,yi.asMilliseconds=Jn,yi.asSeconds=Qn,yi.asMinutes=ti,yi.asHours=ei,yi.asDays=ri,yi.asWeeks=ni,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Er,yi._bubble=wr,yi.get=Cr,yi.milliseconds=oi,yi.seconds=si,yi.minutes=ui,yi.hours=ci,yi.days=li,yi.weeks=Sr,yi.months=hi,yi.years=di,yi.humanize=Or,yi.toISOString=Ir,yi.toString=Ir,yi.toJSON=Ir,yi.locale=be,yi.localeData=_e,yi.toIsoString=rt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ir),yi.lang=Ln,M("X",0,0,"unix"),M("x",0,0,"valueOf"),U("x",en),U("X",nn),G("X",function(t,e,r){r._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,r){r._d=new Date(v(t))}),r.version="2.10.6",n(Lt),r.fn=Vn,r.min=Ot,r.max=It,r.utc=c,r.unix=Qe,r.months=hr,r.isDate=a,r.locale=k,r.invalid=f,r.duration=Jt,r.isMoment=y,r.weekdays=fr,r.parseZone=tr,r.localeData=D,r.isDuration=Nt,r.monthsShort=dr,r.weekdaysMin=gr,r.defineLocale=E,r.weekdaysShort=pr,r.normalizeUnits=T,r.relativeTimeThreshold=Br;var mi=r;return mi})},{}],85:[function(t,e){e.exports={name:"mermaid",version:"0.5.4",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0","babel-eslint":"^4.1.3",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","eslint-watch":"^2.1.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3",uglifyjs:"^2.4.10","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],86:[function(t,e){"use strict";var r;if(t)try{r=t("d3")}catch(n){}r||(r=window.d3),e.exports=r,function(){var t=!1;if(t="tspans",r.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;r.selection.prototype.textwrap=r.selection.enter.prototype.textwrap=function(e,n){var i,n=parseInt(n)||0,a=this,o=function(t){var e=t[0][0],n=e.tagName.toString();if("rect"!==n)return!1;var i={};return i.x=r.select(e).attr("x")||0,i.y=r.select(e).attr("y")||0,i.width=r.select(e).attr("width")||0,i.height=r.select(e).attr("height")||0,i.attr=t.attr,i},s=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=o(t);return e}return!1},u=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},c=s(e);if(n&&(c=u(c,n)),0!=a.length&&r&&e&&c){e=c;var l,h=function(t){var n=r.select(t[0].parentNode),a=n.select("text"),o=a.style("line-height"),s=a.text();a.remove();var u=n.append("foreignObject");u.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=u.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(s),o&&c.style("line-height",o),i=n.select("foreignObject")},d=function(t){var a,o=t[0],s=o.parentNode,u=r.select(o),c=o.getBBox().height,l=o.getBBox().width,h=c,d=u.style("line-height");if(a=d&&parseInt(d)?parseInt(d.replace("px","")):h,l>e.width){var f=u.text();if(u.text(""),f){var p,g;if(-1!==f.indexOf(" ")){var p=" ";g=f.split(" ")}else{p="";var y=f.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var b,_,g=[],w=0;m>w;w++)_=w*v,b=f.substr(_,v),g.push(b)}for(var x=[],A=0,k={},w=0;we.width&&C&&""!==C&&(A+=T,k={string:C,width:T,offset:A},x.push(k),u.text(""),u.text(D),w==g.length-1&&(E=D,u.text(E),S=o.getComputedTextLength())),w==g.length-1){u.text("");var F=E;F&&""!==F&&(S-A>0&&(S-=A),k={string:F,width:S,offset:A},x.push(k))}}var L;u.text("");for(var w=0;w0){x[w-1]}w*a0?a:void 0}),L.attr("x",function(){var t=e.x;return n&&(t+=n),t}))}}}u.attr("y",function(){var t=e.y;return a&&(t+=a),n&&(t+=n),t}),u.attr("x",function(){var t=e.x;return n&&(t+=n),t}),i=r.select(s).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=d)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:d);for(var f=0;fl&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(s+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,o=f.yytext,s=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[o,u,s,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},i=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 t}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],90:[function(t,e){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}var n,i=t("../../logger"),a=r(i),o=new a.Log;if(t)try{n=t("dagre-d3")}catch(s){o.debug("Could not load dagre-d3")}n||(n=window.dagreD3),e.exports=n},{"../../logger":102,"dagre-d3":4}],91:[function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}var i=t("../../logger"),a=n(i),o=t("./graphDb"),s=t("./parser/flow"),u=t("./parser/dot"),c=t("../../d3"),l=t("./dagre-d3"),h=new a.Log,d={};e.exports.setConf=function(t){var e,r=Object.keys(t);for(e=0;e0&&(o=a.classes.join(" "));var s="";s=n(s,a.styles),i="undefined"==typeof a.text?a.id:a.text;var u="";d.htmlLabels?(u="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),u="text");var c=0,l="";switch(a.type){case"round":c=5,l="rect";break;case"square":l="rect";break;case"diamond":l="question";break;case"odd":l="rect_left_inv_arrow";break;case"odd_right":l="rect_left_inv_arrow";break;case"circle":l="circle";break;case"group":l="rect",i="";break;default:l="rect"}e.setNode(a.id,{labelType:u,shape:l,label:i,rx:c,ry:c,"class":o,style:s,id:a.id})})},r.addEdges=function(t,e){var r,n,i=0;"undefined"!=typeof t.defaultStyle&&(n=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,r="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof n&&(a=n);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"}if("undefined"==typeof t.text)"undefined"==typeof t.style?e.setEdge(t.start,t.end,{style:a,arrowhead:r},i):e.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:r},i);else{var o=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?d.htmlLabels?e.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:r},i):e.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:o,arrowheadStyle:"fill: #333",arrowhead:r},i):e.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:o,arrowhead:r},i)}})},r.getClasses=function(t,e){var r;o.clear(),r=e?u.parser:s.parser,r.yy=o,r.parse(t);var n=o.getClasses();return"undefined"==typeof n["default"]&&(n["default"]={id:"default"},n["default"].styles=[],n["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],n["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],n["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),n},r.draw=function(t,e,n){h.debug("Drawing flowchart");var i;o.clear(),i=n?u.parser:s.parser,i.yy=o;try{i.parse(t)}catch(a){h.debug("Parsing failed")}var f;f=o.getDirection(),"undefined"==typeof f&&(f="TD");var p,g=new l.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=o.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],o.addVertex(p.id,p.title,"group",void 0);var v=o.getVertices(),b=o.getEdges();m=0;var _;for(m=y.length-1;m>=0;m--)for(p=y[m],c.selectAll("cluster").append("text"),_=0;_0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(r){var n=d3.select(r).select("#"+t);null!==n&&n.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,r,n){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,n),setClickFun(t,e),setLink(t,r)}):(setTooltip(t,n),setClickFun(t,e),setLink(t,r))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var r=d3.select(t).select("svg"),n=r.selectAll("g.node");n.on("mouseover",function(){var t=d3.select(this),r=t.attr("title");if(null!==r){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);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function r(t){var e={"boolean":{},number:{},string:{}},r=[];return t.filter(function(t){var n=typeof t;return" "===t?!1:n in e?e[n].hasOwnProperty(t)?!1:e[n][t]=!0:r.indexOf(t)>=0?!1:r.push(t)})}var n=[];n=r(n.concat.apply(n,t));var i={id:"subGraph"+subCount,nodes:n,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e2e3)){if(posCrossRef[secCount]=r,subGraphs[r].id===e)return{result:!0,count:0};for(var i=0,a=1;i=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}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":86,"../../logger":102}],93:[function(t,e,r){(function(n){"use strict";var i=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],a=[1,13],o=[1,14],s=[1,15],u=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],f=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],_=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],C=[1,49],T=[1,52],S=[2,65],F=[1,65],L=[1,66],B=[1,67],O=[1,68],I=[1,69],M=[1,70],N=[1,71],P=[1,72],R=[1,73],q=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],U={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,a){var o=a.length-1;switch(i){case 1:this.$=a[o-1];break;case 2:this.$=a[o-4];break;case 3:this.$=a[o-5];break;case 4:this.$=a[o-3];break;case 8:case 10:case 11:this.$=a[o];break;case 9:this.$=a[o-1]+""+a[o];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[o];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[o-1],a[o].id,a[o].op),this.$="oy";break;case 42:n.addLink(a[o-1],a[o].id,a[o].op),this.$={op:a[o-2],id:a[o-1]};break;case 44:this.$={op:a[o-1],id:a[o]};break;case 48:n.addVertex(a[o-1]),this.$=a[o-1];break;case 49:n.addVertex(a[o]),this.$=a[o];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:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,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:y,9:25,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p}),e(w,[2,8]),e(w,[2,10]),e(w,[2,11]),e(w,[2,12]),e(w,[2,13]),e(w,[2,14]),e(w,[2,15]),e(w,[2,16]),e(w,[2,17]),e(w,[2,18]),e(w,[2,19]),e(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,41]},{10:[2,21],28:[1,42]},e(x,[2,23]),e(x,[2,24]),e(x,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(x,[2,27],{41:46,43:47,57:D,58:C}),e(x,[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:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},e(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{7:62,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p},e(A,[2,48]),e(A,S,{14:10,15:11,7:63,46:64,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,48:F,49:L,50:B,51:O,52:I,53:M,54:N,55:P,56:R}),e(x,[2,41],{34:74,37:T}),{7:77,8:y,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,33:76,42:75,47:_},e(q,[2,66]),e(q,[2,67]),e(x,[2,46]),e(x,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,38:79,39:[1,80]},e(x,[2,28]),e(x,[2,29]),e(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{5:[2,2]},{10:[2,22]},e(x,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(x,[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(A,k,{44:44,45:E}),e(x,[2,39]),{39:[1,89]},e(x,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:_},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,S,{46:95,48:F,49:L,50:B,51:O,52:I,53:M,54:N,55:P,56:R}),e(j,[2,42]),e(j,[2,43]),e(x,[2,33],{34:96,37:T}),e(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:o,19:s,20:u,21:c,22:l,23:h,24:d,25:f,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)throw new Error(t);this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],a=this.table,o="",s=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,b,_,w,x,A,k,E,D,C=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},T={};;){if(_=r[r.length-1],this.defaultActions[_]?w=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=C()),w=a[_]&&a[_][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(s+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,o=f.yytext,s=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[o,u,s,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},Y=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return U.lexer=Y,t.prototype=U,U.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],94:[function(t,e,r){(function(n){"use strict";var i=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],a=[1,8,9,10,11,13,18,30,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],o=[2,2],s=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,31],d=[1,33],f=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],b=[1,28],_=[1,36],w=[1,38],x=[1,35],A=[1,37],k=[1,43],E=[1,42],D=[1,39],C=[1,40],T=[1,41],S=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],F=[1,51],L=[1,50],B=[1,52],O=[1,70],I=[1,78],M=[1,79],N=[1,64],P=[1,63],R=[1,83],q=[1,82],j=[1,80],U=[1,81],Y=[1,71],V=[1,66],G=[1,65],$=[1,61],H=[1,73],W=[1,74],z=[1,75],Z=[1,76],K=[1,77],X=[1,68],J=[1,67],Q=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],et=[1,112],rt=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],nt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],ot=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],st=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],ut=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],dt=[1,190],ft=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],bt=[1,188],_t=[1,189],wt=[1,205],xt=[8,9,11,83],At=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],kt={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]],performAction:function(t,e,r,n,i,a){var o=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[o]!==[]&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 55:case 57:case 58:case 90:case 92:case 93:case 106:this.$=a[o];break;case 11:n.setDirection(a[o-1]),this.$=a[o-1];break;case 12:n.setDirection("LR"),this.$=a[o-1];break;case 13:n.setDirection("RL"),this.$=a[o-1];break;case 14:n.setDirection("BT"),this.$=a[o-1];break;case 15:n.setDirection("TB"),this.$=a[o-1];break;case 30:this.$=a[o-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=n.addSubGraph(a[o-1],a[o-3]);break;case 37:this.$=n.addSubGraph(a[o-1],void 0);break;case 41:n.addLink(a[o-2],a[o],a[o-1]),this.$=[a[o-2],a[o]];break;case 42:this.$=[a[o]];break;case 43:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"square");break;case 44:this.$=a[o-4], +n.addVertex(a[o-4],a[o-2],"square");break;case 45:this.$=a[o-5],n.addVertex(a[o-5],a[o-2],"circle");break;case 46:this.$=a[o-6],n.addVertex(a[o-6],a[o-3],"circle");break;case 47:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"round");break;case 48:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"round");break;case 49:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"diamond");break;case 50:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"diamond");break;case 51:this.$=a[o-3],n.addVertex(a[o-3],a[o-1],"odd");break;case 52:this.$=a[o-4],n.addVertex(a[o-4],a[o-2],"odd");break;case 53:this.$=a[o],n.addVertex(a[o]);break;case 54:this.$=a[o-1],n.addVertex(a[o-1]);break;case 56:case 91:case 94:case 107:this.$=a[o-1]+""+a[o];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[o-1].text=a[o],this.$=a[o-1];break;case 62:case 63:a[o-2].text=a[o-1],this.$=a[o-2];break;case 64:this.$=a[o];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[o-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[o-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[o-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[o-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[o-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[o-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[o-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[o-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[o-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[o-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[o-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[o-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[o-1];break;case 108:case 109:this.$=a[o-4],n.addClass(a[o-2],a[o]);break;case 110:this.$=a[o-4],n.setClass(a[o-2],a[o]);break;case 111:this.$=a[o-4],n.setClickEvent(a[o-2],a[o],void 0,void 0);break;case 112:this.$=a[o-6],n.setClickEvent(a[o-4],a[o-2],void 0,a[o]);break;case 113:this.$=a[o-4],n.setClickEvent(a[o-2],void 0,a[o],void 0);break;case 114:this.$=a[o-6],n.setClickEvent(a[o-4],void 0,a[o-2],a[o]);break;case 115:this.$=a[o-4],n.addVertex(a[o-2],void 0,void 0,a[o]);break;case 116:case 117:case 118:this.$=a[o-4],n.updateLink(a[o-2],a[o]);break;case 120:this.$=[a[o]];break;case 121:a[o-2].push(a[o]),this.$=a[o-2];break;case 123:this.$=a[o-1]+a[o]}},table:[{3:1,4:2,9:r,10:n,12:i},{1:[3]},e(a,o,{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:s,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(a,[2,9]),e(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},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:L,11:B,24:49},{8:F,9:L,11:B,24:53},{8:F,9:L,11:B,24:54},{8:F,9:L,11:B,24:55},{8:F,9:L,11:B,24:56},{8:F,9:L,11:B,24:57},{8:F,9:L,10:O,11:B,12:I,13:M,15:N,16:P,17:R,18:q,24:59,30:j,31:58,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(Q,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},e(tt,[2,53],{43:32,21:110,42:111,10:et,13:h,15:[1,109],18:d,36:[1,106],38:[1,107],40:[1,108],44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T}),e(rt,[2,55]),e(rt,[2,57]),e(rt,[2,58]),e(rt,[2,59]),e(rt,[2,60]),e(nt,[2,148]),e(nt,[2,149]),e(nt,[2,150]),e(nt,[2,151]),e(nt,[2,152]),e(nt,[2,153]),e(nt,[2,154]),e(nt,[2,155]),e(nt,[2,156]),{8:it,9:at,10:et,14:113,21:116},{8:it,9:at,10:et,14:117,21:116},{8:it,9:at,10:et,14:118,21:116},{8:it,9:at,10:et,14:119,21:116},{8:it,9:at,10:et,14:120,21:116},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:L,10:O,11:B,12:I,13:M,15:N,16:P,17:R,18:q,24:121,30:j,32:U,43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ot,o,{5:123}),e(st,[2,90]),e(st,[2,92]),e(st,[2,137]),e(st,[2,138]),e(st,[2,139]),e(st,[2,140]),e(st,[2,141]),e(st,[2,142]),e(st,[2,143]),e(st,[2,144]),e(st,[2,145]),e(st,[2,146]),e(st,[2,147]),e(st,[2,95]),e(st,[2,96]),e(st,[2,97]),e(st,[2,98]),e(st,[2,99]),e(st,[2,100]),e(st,[2,101]),e(st,[2,102]),e(st,[2,103]),e(st,[2,104]),e(st,[2,105]),{13:h,18:d,33:124,35:29,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ut,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:128,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:129,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:130,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ct,[2,77]),e(ct,[2,78]),e(ct,[2,79]),e(ct,[2,80]),e(ct,[2,81]),e(ct,[2,82]),e(ct,[2,83]),e(ct,[2,84]),e(ct,[2,85]),e(ct,[2,86]),e(ct,[2,87]),e(ct,[2,88]),{13:h,18:d,35:131,42:30,43:32,44:p,78:[1,132],79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{76:[1,133],79:[1,134]},{13:h,18:d,35:136,42:30,43:32,44:p,76:[1,135],79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{13:h,18:d,35:137,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{13:h,18:d,35:138,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:139,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:141,32:U,38:[1,140],43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:142,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:143,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,54]),e(rt,[2,56]),e(tt,[2,29],{21:144,10:et}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,145]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(ot,o,{5:146}),e(st,[2,91]),{6:10,7:11,8:s,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(Q,[2,41]),e(ut,[2,61],{10:[1,148]}),{10:[1,149]},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:150,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,58:G,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,163],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,169],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:[1,170],13:h,18:d,42:111,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,37:[1,171],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,31:172,32:U,43:69,44:Y,48:V,58:G,64:60,65:$,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,39:[1,173],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,41:[1,174],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,37:[1,175],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,28]),e(a,[2,23]),{6:10,7:11,8:s,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:b,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(S,[2,37]),e(ut,[2,63]),e(ut,[2,62]),{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,43:69,44:Y,48:V,58:G,63:[1,177],64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(ut,[2,65]),e(ut,[2,66]),e(ut,[2,67]),e(ut,[2,68]),e(ut,[2,69]),e(ut,[2,70]),e(ut,[2,71]),e(ut,[2,72]),e(ut,[2,73]),e(ut,[2,74]),e(ut,[2,75]),e(ut,[2,76]),{10:lt,44:ht,69:dt,77:178,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:192,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:193,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:194,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:195,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{10:lt,44:ht,69:dt,77:196,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},{13:h,18:d,35:197,42:30,43:32,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},{13:h,18:d,35:198,42:30,43:32,44:p,65:[1,199],79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,43],{21:200,10:et}),{10:O,12:I,13:M,15:N,16:P,17:R,18:q,30:j,32:U,39:[1,201],43:69,44:Y,48:V,58:G,64:122,68:72,69:H,70:W,71:z,72:Z,73:K,75:62,76:X,79:_,81:J,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T},e(tt,[2,47],{21:202,10:et}),e(tt,[2,49],{21:203,10:et}),e(tt,[2,51],{21:204,10:et}),e(S,[2,36]),e([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),e(Q,[2,115],{83:wt}),e(xt,[2,120],{84:206,10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(At,[2,122]),e(At,[2,124]),e(At,[2,125]),e(At,[2,126]),e(At,[2,127]),e(At,[2,128]),e(At,[2,129]),e(At,[2,130]),e(At,[2,131]),e(At,[2,132]),e(At,[2,133]),e(At,[2,134]),e(Q,[2,116],{83:wt}),e(Q,[2,117],{83:wt}),e(Q,[2,118],{83:wt}),e(Q,[2,108],{83:wt}),e(Q,[2,109],{83:wt}),e(Q,[2,110],{43:32,42:111,13:h,18:d,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T}),e(Q,[2,111],{43:32,42:111,10:[1,207],13:h,18:d,44:p,79:_,83:w,85:x,86:A,88:k,89:E,91:D,92:C,93:T}),e(Q,[2,113],{10:[1,208]}),e(tt,[2,44]),{39:[1,209]},e(tt,[2,48]),e(tt,[2,50]),e(tt,[2,52]),{10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:bt,89:_t},e(At,[2,123]),{65:[1,211]},{65:[1,212]},e(tt,[2,45],{21:213,10:et}),e(xt,[2,121],{84:206,10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,85:yt,86:mt,87:vt,88:bt,89:_t}),e(Q,[2,112]),e(Q,[2,114]),e(tt,[2,46])],defaultActions:{},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],a=this.table,o="",s=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,b,_,w,x,A,k,E,D,C=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},T={};;){if(_=r[r.length-1],this.defaultActions[_]?w=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=C()),w=a[_]&&a[_][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(s+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,o=f.yytext,s=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[o,u,s,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9;case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return kt.lexer=Et,t.prototype=kt,kt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],95:[function(t,e,r){(function(e){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}var i=t("../../logger"),a=n(i),o=t("moment"),s=new a.Log,u="",c="",l=[],h=[],d="";r.clear=function(){l=[],h=[],d="",c="",y=0,f=void 0},r.setDateFormat=function(t){u=t},r.getDateFormat=function(){return u},r.setTitle=function(t){c=t},r.getTitle=function(){return c},r.addSection=function(t){d=t,l.push(t)},r.findTaskById=function(t){var e;for(e=0;er-e?r+i+1.5*o.sidePadding>s?e+n-5:r+n+5:(r-e)/2+e+n}).attr("y",function(t,n){return n*e+o.barHeight/2+(o.fontSize/2-2)+r}).attr("text-height",i).attr("class",function(t){for(var e=x(t.startTime),r=x(t.endTime),n=this.getBBox().width,i=0,a=0;ar-e?r+n+1.5*o.sidePadding>s?"taskTextOutsideLeft taskTextOutside"+i+" "+u:"taskTextOutsideRight taskTextOutside"+i+" "+u:"taskText taskText"+i+" "+u})}function l(t,e,r,a){var s,u=[[".%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()}]];"undefined"!=typeof o.axisFormatter&&(l=[],o.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),s=u.concat(l).concat(c);var h=i.svg.axis().scale(x).orient("bottom").tickSize(-a+e+o.gridLineStartPadding,0,0).tickFormat(i.time.format.multi(s)); + +n>7&&230>n&&(h=h.ticks(i.time.monday.range)),b.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,e){for(var r=[],n=0,i=0;i0))return i[1]*t/2+e;for(var o=0;a>o;o++)return n+=r[a-1][1],i[1]*t/2+n*t+e}).attr("class",function(t){for(var e=0;en;++n)e.hasOwnProperty(t[n])||(e[t[n]]=!0,r.push(t[n]));return r}function p(t){for(var e=t.length,r={};e;)r[t[--e]]=(r[t[e]]||0)+1;return r}function g(t,e){return p(e)[t]||0}r.yy.clear(),r.parse(t);var y=document.getElementById(e);s=y.parentElement.offsetWidth,"undefined"==typeof s&&(s=1200),"undefined"!=typeof o.useWidth&&(s=o.useWidth);var m=r.yy.getTasks(),v=m.length*(o.barHeight+o.barGap)+2*o.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+s+" "+v);var b=i.select("#"+e),_=i.min(m,function(t){return t.startTime}),w=i.max(m,function(t){return t.endTime}),x=i.time.scale().domain([i.min(m,function(t){return t.startTime}),i.max(m,function(t){return t.endTime})]).rangeRound([0,s-150]),A=[];n=a.duration(w-_).asDays();for(var k=0;kl&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(s+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,o=f.yytext,s=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[o,u,s,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},u=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:break;case 2:break;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 t}();return s.lexer=u,t.prototype=s,s.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],98:[function(t,e,r){(function(n){"use strict";var i=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,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],o=[1,9],s=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],f=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,e,r,n,i,a){var o=a.length-1;switch(i){case 1:return n.apply(a[o-1]),a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:this.$=a[o-1];break;case 12:a[o-1].unshift({type:"loopStart",loopText:a[o-2].actor,signalType:n.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 13:a[o-1].unshift({type:"optStart",optText:a[o-2].actor,signalType:n.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:a[o-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[o-1];break;case 14:a[o-4].unshift({type:"altStart",altText:a[o-5].actor,signalType:n.LINETYPE.ALT_START}),a[o-4].push({type:"else",altText:a[o-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[o-4]=a[o-4].concat(a[o-1]),a[o-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[o-4];break;case 15:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 19:this.$=a[o];break;case 20:this.$=[a[o-2],a[o]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 26:this.$={type:"addActor",actor:a[o]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[o].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:s,17:u,19:c,20:l,22:h,33:d},e(r,f,{1:[2,1]}),e(p,[2,3]),{9:19,11:o,12:16,13:10,14:11,15:s,17:u,19:c,20:l,22:h,33:d},e(p,[2,5]),e(p,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},e([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),e(p,[2,4]),{10:[1,38]},e(p,[2,9]),e(p,[2,10]),{16:[1,39]},e(g,n,{5:40}),e(g,n,{5:41}),e([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},e(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:s,17:u,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:s,17:u,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:s,17:u,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},e(p,[2,11]),e(p,[2,12]),e(p,f),e(p,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},e(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:s,17:u,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},e(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],a=this.table,o="",s=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,b,_,w,x,A,k,E,D,C=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},T={};;){if(_=r[r.length-1],this.defaultActions[_]?w=this.defaultActions[_]:((null===v||"undefined"==typeof v)&&(v=C()),w=a[_]&&a[_][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[_])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(s+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+v);switch(w[0]){case 1:r.push(v),n.push(f.yytext),i.push(f.yylloc),r.push(w[1]),v=null,b?(v=b,b=null):(u=f.yyleng,o=f.yytext,s=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],T.$=n[n.length-k],T._$={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},m&&(T._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(T,[o,u,s,p.yy,w[1],n,i].concat(d)),"undefined"!=typeof x)return x;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[w[1]][0]),n.push(T.$),i.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},_=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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 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,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(t=this.test_match(r,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[n]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return b.lexer=_,t.prototype=b,b.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),n.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&r.main(n.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],99:[function(t,e,r){(function(e){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}var i=t("../../logger"),a=n(i),o={},s=[],u=[],c=[],l=new a.Log;r.addActor=function(t,e,r){o[t]={name:e,description:r},s.push(t)},r.addMessage=function(t,e,r,n){u.push({from:t,to:e,message:r,answer:n})},r.addSignal=function(t,e,r,n){l.debug("Adding message from="+t+" to="+e+" message="+r+" type="+n),u.push({from:t,to:e,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return o},r.getActor=function(t){return o[t]},r.getActorKeys=function(){return Object.keys(o)},r.clear=function(){o={},u=[]},r.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},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(t,e,n){var i={actor:t,placement:e,message:n};c.push(i),u.push({from:t,to:t,message:n,type:r.LINETYPE.NOTE,placement:e})},r.parseError=function(t,r){e.mermaidAPI.parseError(t,r)},r.apply=function(t){if(t instanceof Array)t.forEach(function(t){r.apply(t)});else switch(t.type){case"addActor":r.addActor(t.actor,t.actor,t.actor);break;case"addNote":r.addNote(t.actor,t.placement,t.text);break;case"addMessage":r.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":r.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":r.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":r.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":r.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":102}],100:[function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}var i=t("../../logger"),a=n(i),o=t("./parser/sequenceDiagram").parser;o.yy=t("./sequenceDb");var s=t("./svgDraw"),u=t("../../d3"),c=new a.Log,l={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){t[e]="undefined"==typeof t[e]?r:n(r,t[e])},updateLoops:function(t,e,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var u=a.list.length-o+1;a.updateVal(s,"startx",t-u*l.boxMargin,Math.min),a.updateVal(s,"starty",e-u*l.boxMargin,Math.min),a.updateVal(s,"stopx",n+u*l.boxMargin,Math.max),a.updateVal(s,"stopy",i+u*l.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",t-u*l.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",e-u*l.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+u*l.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+u*l.boxMargin,Math.max)})},insert:function(t,e,n,i){var a,o,s,u;a=Math.min(t,n),s=Math.max(t,n),o=Math.min(e,i),u=Math.max(e,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",o,Math.min),this.updateVal(r.bounds.data,"stopx",s,Math.max),this.updateVal(r.bounds.data,"stopy",u,Math.max),this.updateLoops(a,o,s,u)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var e=this.list.pop();e.elsey=r.bounds.getVerticalPos(),e.elseText=t,this.list.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}};var h=function(t,e,n,i){var a=s.getNoteRect();a.x=e,a.y=n,a.width=l.width,a["class"]="note";var o=t.append("g"),u=s.drawRect(o,a),c=s.getTextObj();c.x=e-4,c.y=n-13,c.textMargin=l.noteMargin,c.dy="1em",c.text=i.message,c["class"]="noteText";var h=s.drawText(o,c,l.width-l.noteMargin),d=h[0][0].getBBox().height;d>l.width?(h.remove(),o=t.append("g"),h=s.drawText(o,c,2*l.width-l.noteMargin),d=h[0][0].getBBox().height,u.attr("width",2*l.width),r.bounds.insert(e,n,e+2*l.width,n+2*l.noteMargin+d)):r.bounds.insert(e,n,e+l.width,n+2*l.noteMargin+d),u.attr("height",d+2*l.noteMargin),r.bounds.bumpVerticalPos(d+2*l.noteMargin)},d=function(t,e,n,i,a){var s,u=t.append("g"),c=e+(n-e)/2,l=u.append("text").attr("x",c).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message);s="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(e===n){h=u.append("path").attr("d","M "+e+","+i+" C "+(e+60)+","+(i-10)+" "+(e+60)+","+(i+30)+" "+e+","+(i+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(s/2,100);r.bounds.insert(e-d,r.bounds.getVerticalPos()-10,n+d,r.bounds.getVerticalPos())}else h=u.append("line"),h.attr("x1",e),h.attr("y1",i),h.attr("x2",n),h.attr("y2",i),r.bounds.insert(e,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());a.type===o.yy.LINETYPE.DOTTED||a.type===o.yy.LINETYPE.DOTTED_CROSS||a.type===o.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)"),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),(a.type===o.yy.LINETYPE.SOLID||a.type===o.yy.LINETYPE.DOTTED)&&h.attr("marker-end","url("+f+"#crosshead)"),(a.type===o.yy.LINETYPE.SOLID_CROSS||a.type===o.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+f+"#crosshead)")};e.exports.drawActors=function(t,e,n,i){var a;for(a=0;a/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),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(n),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:r,height:1800},e.textMargin),i},r.drawLabel=function(t,e){var n=r.getNoteRect();n.x=e.x,n.y=e.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n["class"]="labelBox",r.drawRect(t,n),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",r.drawText(t,e)};var n=-1;r.drawActor=function(t,e,i,a,o){var s=e+o.width/2,u=t.append("g");0===i&&(n++,u.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 c=r.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=o.width,c.height=o.height,c["class"]="actor",c.rx=3,c.ry=3,r.drawRect(u,c),u.append("text").attr("x",s).attr("y",i+o.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},r.drawLoop=function(t,e,n,i){var a=t.append("g"),o=function(t,e,r,n){a.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};o(e.startx,e.starty,e.stopx,e.starty),o(e.stopx,e.starty,e.stopx,e.stopy),o(e.startx,e.stopy,e.stopx,e.stopy),o(e.startx,e.starty,e.startx,e.stopy),"undefined"!=typeof e.elsey&&o(e.startx,e.elsey,e.stopx,e.elsey);var s=r.getTextObj();s.text=n,s.x=e.startx,s.y=e.starty,s.labelMargin=1.5*i.boxMargin,s["class"]="labelText",s.fill="white",r.drawLabel(a,s),s=r.getTextObj(),s.text="[ "+e.title+" ]",s.x=e.startx+(e.stopx-e.startx)/2,s.y=e.starty+1.5*i.boxMargin,s.anchor="middle",s["class"]="loopText",r.drawText(a,s),"undefined"!=typeof e.elseText&&(s.text="[ "+e.elseText+" ]",s.y=e.elsey+1.5*i.boxMargin,r.drawText(a,s))},r.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")},r.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")},r.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},r.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],102:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>r&&(r="0"+r),10>n&&(n="0"+n),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+r+":"+n+" ("+i+")";return a}var a=function(){function t(t,e){for(var r=0;r=r&&"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log("["+i(new Date)+"] "+t):void 0}},{key:"trace",value:function(t){this.log(t,o.trace)}},{key:"debug",value:function(t){this.log(t,o.debug)}},{key:"info",value:function(t){this.log(t,o.info)}},{key:"warn",value:function(t){this.log(t,o.warn)}},{key:"error",value:function(t){this.log(t,o.error)}}]),t}();r.Log=u},{}],103:[function(t,e,r){(function(n){"use strict";function i(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}var a=t("./logger"),o=i(a),s=new o.Log,u=t("./mermaidAPI"),c=0,l=t("he");e.exports.mermaidAPI=u;var h=function(){var t=u.getConfig();s.debug("Starting rendering diagrams");var e;arguments.length>=2?("undefined"!=typeof arguments[0]&&(n.mermaid.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var r;"function"==typeof arguments[arguments.length-1]?(r=arguments[arguments.length-1],s.debug("Callback function found")):"undefined"!=typeof t.mermaid&&("function"==typeof t.mermaid.callback?(r=t.mermaid.callback,s.debug("Callback function found")):s.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof Node?[e]:e;var i;"undefined"!=typeof mermaid_config&&u.initialize(n.mermaid_config),s.debug("Start On Load before: "+n.mermaid.startOnLoad),"undefined"!=typeof n.mermaid.startOnLoad&&(s.debug("Start On Load inner: "+n.mermaid.startOnLoad),u.initialize({startOnLoad:n.mermaid.startOnLoad})),"undefined"!=typeof n.mermaid.ganttConfig&&u.initialize({gantt:n.mermaid.ganttConfig});var a,o=function(t,e){h.innerHTML=t,"undefined"!=typeof r&&r(d),e(h)};for(i=0;i0&&(n+=r.selectorText+" { "+r.style.cssText+" }\n")}}catch(l){"undefined"!==r&&o.warn('Invalid CSS selector "'+r.selectorText+'"',l)}var h="",d="";for(var f in e)e.hasOwnProperty(f)&&"undefined"!=typeof f&&("default"===f?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[f].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+e[f].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+e[f].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+e[f].clusterStyles.join("; ")+"; }\n")):e[f].styles instanceof Array&&(d+="#"+t.id.trim()+" ."+f+">rect { "+e[f].styles.join("; ")+"; }\n"));if(""!==n||""!==h||""!==d){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};r.cloneCssStyles=u},{"./logger":102}]},{},[103])(103)}); \ No newline at end of file diff --git a/dist/mermaidAPI.js b/dist/mermaidAPI.js index 146d39003..c2b79c06f 100644 --- a/dist/mermaidAPI.js +++ b/dist/mermaidAPI.js @@ -30643,7 +30643,7 @@ module.exports = '1.0.7'; },{}],85:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.5.3-2", + "version": "0.5.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", "main": "src/mermaid.js", "keywords": [ diff --git a/dist/mermaidAPI.min.js b/dist/mermaidAPI.min.js new file mode 100644 index 000000000..16a5ce129 --- /dev/null +++ b/dist/mermaidAPI.min.js @@ -0,0 +1,20 @@ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n;"undefined"!=typeof window?n=window:"undefined"!=typeof global?n=global:"undefined"!=typeof self&&(n=self),n.mermaidAPI=t()}}(function(){var define,module,exports;return function t(n,e,r){function i(o,u){if(!e[o]){if(!n[o]){var s="function"==typeof require&&require;if(!u&&s)return s(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=e[o]={exports:{}};n[o][0].call(l.exports,function(t){var e=n[o][1][t];return i(e?e:t)},l,l.exports,t,n,e,r)}return e[o].exports}for(var a="function"==typeof require&&require,o=0;o=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),e++):e&&(t.splice(r,1),e--)}if(n)for(;e--;e)t.unshift("..");return t}function r(t,n){if(t.filter)return t.filter(n);for(var e=[],r=0;r=-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){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 n=0;n=0&&""===t[e];e--);return n>e?[]:t.slice(n,e-n+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;o>s;s++)if(i[s]!==a[s]){u=s;break}for(var c=[],s=u;sn&&(n=t.length+n),t.substr(n,e)}}).call(this,t("_process"))},{_process:3}],3:[function(t,n){function e(){}var r=n.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,n="undefined"!=typeof window&&window.MutationObserver,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(n){var i=document.createElement("div"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return e?(window.addEventListener("message",function(t){var n=t.source;if((n===window||null===n)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var e=r.shift();e()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=e,r.addListener=e,r.once=e,r.off=e,r.removeListener=e,r.removeAllListeners=e,r.emit=e,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,n){!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function e(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function r(t,n){return n>t?-1:t>n?1:t>=n?0:0/0}function i(t){return null===t?0/0:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);i>r;){var a=r+i>>>1;t(n[a],e)<0?r=a+1:i=a}return r},right:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);i>r;){var a=r+i>>>1;t(n[a],e)>0?i=a:r=a+1}return r}}}function u(t){return t.length}function s(t){for(var n=1;t*n%1;)n*=10;return n}function c(t,n){for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}function l(){this._=Object.create(null)}function h(t){return(t+="")===yo||t[0]===mo?mo+t:t}function f(t){return(t+="")[0]===mo?t.slice(1):t}function d(t){return h(t)in this._}function p(t){return(t=h(t))in this._&&delete this._[t]}function g(){var t=[];for(var n in this._)t.push(f(n));return t}function y(){var t=0;for(var n in this._)++t;return t}function m(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function _(t){return t}function b(t,n,e){return function(){var r=e.apply(n,arguments);return r===n?t:r}}function x(t,n){if(n in t)return n;n=n.charAt(0).toUpperCase()+n.slice(1);for(var e=0,r=vo.length;r>e;++e){var i=vo[e]+n;if(i in t)return i}}function w(){}function k(){}function A(t){function n(){for(var n,r=e,i=-1,a=r.length;++ie;e++)for(var i,a=t[e],o=0,u=a.length;u>o;o++)(i=a[o])&&n(i,o,e);return t}function W(t){return bo(t,Mo),t}function H(t){var n,e;return function(r,i,a){var o,u=t[a].update,s=u.length;for(a!=e&&(e=a,n=0),i>=n&&(n=i+1);!(o=u[n])&&++n0&&(t=t.slice(0,u));var c=Do.get(t);return c&&(t=c,s=Z),u?n?i:r:n?w:a}function V(t,n){return function(e){var r=eo.event;eo.event=e,n[0]=this.__data__;try{t.apply(this,n)}finally{eo.event=r}}}function Z(t,n){var e=V(t,n);return function(t){var n=this,r=t.relatedTarget;r&&(r===n||8&r.compareDocumentPosition(n))||e.call(n,t)}}function X(n){var r=".dragsuppress-"+ ++To,i="click"+r,a=eo.select(e(n)).on("touchmove"+r,E).on("dragstart"+r,E).on("selectstart"+r,E);if(null==So&&(So="onselectstart"in n?!1:x(n.style,"userSelect")),So){var o=t(n).style,u=o[So];o[So]="none"}return function(t){if(a.on(r,null),So&&(o[So]=u),t){var n=function(){a.on(i,null)};a.on(i,function(){E(),n()},!0),setTimeout(n,0)}}}function K(t,n){n.changedTouches&&(n=n.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Co){var a=e(t);if(a.scrollX||a.scrollY){r=eo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Co=!(o.f||o.e),r.remove()}}return Co?(i.x=n.pageX,i.y=n.pageY):(i.x=n.clientX,i.y=n.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[n.clientX-u.left-t.clientLeft,n.clientY-u.top-t.clientTop]}function Q(){return eo.event.changedTouches[0].identifier}function J(t){return t>0?1:0>t?-1:0}function tt(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function nt(t){return t>1?0:-1>t?Lo:Math.acos(t)}function et(t){return t>1?Po:-1>t?-Po:Math.asin(t)}function rt(t){return((t=Math.exp(t))-1/t)/2}function it(t){return((t=Math.exp(t))+1/t)/2}function at(t){return((t=Math.exp(2*t))-1)/(t+1)}function ot(t){return(t=Math.sin(t/2))*t}function ut(){}function st(t,n,e){return this instanceof st?(this.h=+t,this.s=+n,void(this.l=+e)):arguments.length<2?t instanceof st?new st(t.h,t.s,t.l):wt(""+t,kt,st):new st(t,n,e)}function ct(t,n,e){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?a+(o-a)*t/60:180>t?o:240>t?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,n=isNaN(n)?0:0>n?0:n>1?1:n,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+n):e+n-e*n,a=2*e-o,new vt(i(t+120),i(t),i(t-120))}function lt(t,n,e){return this instanceof lt?(this.h=+t,this.c=+n,void(this.l=+e)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=At((t=eo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,n,e)}function ht(t,n,e){return isNaN(t)&&(t=0),isNaN(n)&&(n=0),new ft(e,Math.cos(t*=Bo)*n,Math.sin(t)*n)}function ft(t,n,e){return this instanceof ft?(this.l=+t,this.a=+n,void(this.b=+e)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ht(t.h,t.c,t.l):At((t=vt(t)).r,t.g,t.b):new ft(t,n,e)}function dt(t,n,e){var r=(t+16)/116,i=r+n/500,a=r-e/200;return i=gt(i)*Vo,r=gt(r)*Zo,a=gt(a)*Xo,new vt(mt(3.2404542*i-1.5371385*r-.4985314*a),mt(-.969266*i+1.8760108*r+.041556*a),mt(.0556434*i-.2040259*r+1.0572252*a))}function pt(t,n,e){return t>0?new lt(Math.atan2(e,n)*Ro,Math.sqrt(n*n+e*e),t):new lt(0/0,0/0,t)}function gt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function yt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function mt(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function vt(t,n,e){return this instanceof vt?(this.r=~~t,this.g=~~n,void(this.b=~~e)):arguments.length<2?t instanceof vt?new vt(t.r,t.g,t.b):wt(""+t,vt,ct):new vt(t,n,e)}function _t(t){return new vt(t>>16,t>>8&255,255&t)}function bt(t){return _t(t)+""}function xt(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function wt(t,n,e){t=t.toLowerCase();var r,i,a,o=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return n(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(a=Jo.get(t))?n(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|o,u=240&a,u=u>>4|u,s=15&a,s=s<<4|s):7===t.length&&(o=(16711680&a)>>16,u=(65280&a)>>8,s=255&a)),n(o,u,s))}function kt(t,n,e){var r,i,a=Math.min(t/=255,n/=255,e/=255),o=Math.max(t,n,e),u=o-a,s=(o+a)/2;return u?(i=.5>s?u/(o+a):u/(2-o-a),r=t==o?(n-e)/u+(e>n?6:0):n==o?(e-t)/u+2:(t-n)/u+4,r*=60):(r=0/0,i=s>0&&1>s?0:r),new st(r,i,s)}function At(t,n,e){t=Et(t),n=Et(n),e=Et(e);var r=yt((.4124564*t+.3575761*n+.1804375*e)/Vo),i=yt((.2126729*t+.7151522*n+.072175*e)/Zo),a=yt((.0193339*t+.119192*n+.9503041*e)/Xo);return ft(116*i-16,500*(r-i),200*(i-a))}function Et(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Mt(t){var n=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*n):n}function Dt(t){return"function"==typeof t?t:function(){return t}}function St(t){return function(n,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Tt(n,e,t,r)}}function Tt(t,n,e,r){function i(){var t,n=s.status;if(!n&&Ft(s)||n>=200&&300>n||304===n){try{t=e.call(a,s)}catch(r){return void o.error.call(a,r)}o.load.call(a,t)}else o.error.call(a,s)}var a={},o=eo.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 n=eo.event;eo.event=t;try{o.progress.call(a,s)}finally{eo.event=n}},a.header=function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==n?delete u[t]:u[t]=n+"",a)},a.mimeType=function(t){return arguments.length?(n=null==t?null:t+"",a):n},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return e=t,a},["get","post"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(io(arguments)))}}),a.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(e,t,!0),null==n||"accept"in u||(u.accept=n+",*/*"),s.setRequestHeader)for(var l in u)s.setRequestHeader(l,u[l]);return null!=n&&s.overrideMimeType&&s.overrideMimeType(n),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},eo.rebind(a,o,"on"),null==r?a:a.get(Ct(r))}function Ct(t){return 1===t.length?function(n,e){t(null==n?e:null)}:t}function Ft(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function Ot(){var t=Lt(),n=It()-t;n>24?(isFinite(n)&&(clearTimeout(ru),ru=setTimeout(Ot,n)),eu=0):(eu=1,au(Ot))}function Lt(){var t=Date.now();for(iu=tu;iu;)t>=iu.t&&(iu.f=iu.c(t-iu.t)),iu=iu.n;return t}function It(){for(var t,n=tu,e=1/0;n;)n.f?n=t?t.n=n.n:tu=n.n:(n.t8?function(t){return t/e}:function(t){return t*e},symbol:t}}function Bt(t){var n=t.decimal,e=t.thousands,r=t.grouping,i=t.currency,a=r&&e?function(t,n){for(var i=t.length,a=[],o=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>n&&(u=Math.max(1,n-s)),a.push(t.substring(i-=u,i+u)),!((s+=u+1)>n));)u=r[o=(o+1)%r.length];return a.reverse().join(e)}:_;return function(t){var e=uu.exec(t),r=e[1]||" ",o=e[2]||">",u=e[3]||"-",s=e[4]||"",c=e[5],l=+e[6],h=e[7],f=e[8],d=e[9],p=1,g="",y="",m=!1,v=!0;switch(f&&(f=+f.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),d){case"n":h=!0,d="g";break;case"%":p=100,y="%",d="f";break;case"p":p=100,y="%",d="r";break;case"b":case"o":case"x":case"X":"#"===s&&(g="0"+d.toLowerCase());case"c":v=!1;case"d":m=!0,f=0;break;case"s":p=-1,d="r"}"$"===s&&(g=i[0],y=i[1]),"r"!=d||f||(d="g"),null!=f&&("g"==d?f=Math.max(1,Math.min(21,f)):("e"==d||"f"==d)&&(f=Math.max(0,Math.min(20,f)))),d=su.get(d)||Rt;var _=c&&h;return function(t){var e=y;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===u?"":u;if(0>p){var s=eo.formatPrefix(t,f);t=s.scale(t),e=s.symbol+y}else t*=p;t=d(t,f);var b,x,w=t.lastIndexOf(".");if(0>w){var k=v?t.lastIndexOf("e"):-1;0>k?(b=t,x=""):(b=t.substring(0,k),x=t.substring(k))}else b=t.substring(0,w),x=n+t.substring(w+1);!c&&h&&(b=a(b,1/0));var A=g.length+b.length+x.length+(_?0:i.length),E=l>A?new Array(A=l-A+1).join(r):"";return _&&(b=a(E+b,E.length?l-x.length:1/0)),i+=g,t=b+x,("<"===o?i+t+E:">"===o?E+i+t:"^"===o?E.substring(0,A>>=1)+i+t+E.substring(A):i+(_?t:E+t))+e}}}function Rt(t){return t+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Yt(t,n,e){function r(n){var e=t(n),r=a(e,1);return r-n>n-e?e:r}function i(e){return n(e=t(new lu(e-1)),1),e}function a(t,e){return n(t=new lu(+t),e),t}function o(t,r,a){var o=i(t),u=[];if(a>1)for(;r>o;)e(o)%a||u.push(new Date(+o)),n(o,1);else for(;r>o;)u.push(new Date(+o)),n(o,1);return u}function u(t,n,e){try{lu=jt;var r=new jt;return r._=t,o(r,n,e)}finally{lu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Ut(t);return s.floor=s,s.round=Ut(r),s.ceil=Ut(i),s.offset=Ut(a),s.range=u,t}function Ut(t){return function(n,e){try{lu=jt;var r=new jt;return r._=n,t(r,e)._}finally{lu=Date}}}function $t(t){function n(t){function n(n){for(var e,i,a,o=[],u=-1,s=0;++uu;){if(r>=c)return-1;if(i=n.charCodeAt(u++),37===i){if(o=n.charAt(u++),a=T[o in fu?n.charAt(u++):o],!a||(r=a(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(t,n,e){w.lastIndex=0;var r=w.exec(n.slice(e));return r?(t.w=k.get(r[0].toLowerCase()),e+r[0].length):-1}function i(t,n,e){b.lastIndex=0;var r=b.exec(n.slice(e));return r?(t.w=x.get(r[0].toLowerCase()),e+r[0].length):-1}function a(t,n,e){M.lastIndex=0;var r=M.exec(n.slice(e));return r?(t.m=D.get(r[0].toLowerCase()),e+r[0].length):-1}function o(t,n,e){A.lastIndex=0;var r=A.exec(n.slice(e));return r?(t.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function u(t,n,r){return e(t,S.c.toString(),n,r)}function s(t,n,r){return e(t,S.x.toString(),n,r)}function c(t,n,r){return e(t,S.X.toString(),n,r)}function l(t,n,e){var r=_.get(n.slice(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,g=t.days,y=t.shortDays,m=t.months,v=t.shortMonths;n.utc=function(t){function e(t){try{lu=jt;var n=new lu;return n._=t,r(n)}finally{lu=Date}}var r=n(t);return e.parse=function(t){try{lu=jt;var n=r.parse(t);return n&&n._}finally{lu=Date}},e.toString=r.toString,e},n.multi=n.utc.multi=cn;var _=eo.map(),b=qt(g),x=Wt(g),w=qt(y),k=Wt(y),A=qt(m),E=Wt(m),M=qt(v),D=Wt(v);p.forEach(function(t,n){_.set(t.toLowerCase(),n)});var S={a:function(t){return y[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:n(h),d:function(t,n){return zt(t.getDate(),n,2)},e:function(t,n){return zt(t.getDate(),n,2)},H:function(t,n){return zt(t.getHours(),n,2)},I:function(t,n){return zt(t.getHours()%12||12,n,2)},j:function(t,n){return zt(1+cu.dayOfYear(t),n,3)},L:function(t,n){return zt(t.getMilliseconds(),n,3)},m:function(t,n){return zt(t.getMonth()+1,n,2)},M:function(t,n){return zt(t.getMinutes(),n,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,n){return zt(t.getSeconds(),n,2)},U:function(t,n){return zt(cu.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return zt(cu.mondayOfYear(t),n,2)},x:n(f),X:n(d),y:function(t,n){return zt(t.getFullYear()%100,n,2)},Y:function(t,n){return zt(t.getFullYear()%1e4,n,4)},Z:un,"%":function(){return"%"}},T={a:r,A:i,b:a,B:o,c:u,d:tn,e:tn,H:en,I:en,j:nn,L:on,m:Jt,M:rn,p:l,S:an,U:Gt,w:Ht,W:Vt,x:s,X:c,y:Xt,Y:Zt,Z:Kt,"%":sn};return n}function zt(t,n,e){var r=0>t?"-":"",i=(r?-t:t)+"",a=i.length;return r+(e>a?new Array(e-a+1).join(n)+i:i)}function qt(t){return new RegExp("^(?:"+t.map(eo.requote).join("|")+")","i")}function Wt(t){for(var n=new l,e=-1,r=t.length;++e68?1900:2e3)}function Jt(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function tn(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function nn(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+3));return r?(t.j=+r[0],e+r[0].length):-1}function en(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function rn(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function an(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function on(t,n,e){du.lastIndex=0;var r=du.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function un(t){var n=t.getTimezoneOffset(),e=n>0?"-":"+",r=go(n)/60|0,i=go(n)%60;return e+zt(r,"0",2)+zt(i,"0",2)}function sn(t,n,e){pu.lastIndex=0;var r=pu.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function cn(t){for(var n=t.length,e=-1;++e=0?1:-1,u=o*e,s=Math.cos(n),c=Math.sin(n),l=a*c,h=i*s+l*Math.cos(u),f=l*o*Math.sin(u);bu.add(Math.atan2(f,h)),r=t,i=s,a=c}var n,e,r,i,a;xu.point=function(o,u){xu.point=t,r=(n=o)*Bo,i=Math.cos(u=(e=u)*Bo/2+Lo/4),a=Math.sin(u)},xu.lineEnd=function(){t(n,e)}}function yn(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function mn(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function vn(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 _n(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function bn(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function xn(t){var n=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function wn(t){return[Math.atan2(t[1],t[0]),et(t[2])]}function kn(t,n){return go(t[0]-n[0])u;++u)i.point((e=t[u])[0],e[1]);return void i.lineEnd()}var s=new Ln(e,t,null,!0),c=new Ln(e,null,s,!1);s.o=c,a.push(s),o.push(c),s=new Ln(r,t,null,!1),c=new Ln(r,null,s,!0),s.o=c,a.push(s),o.push(c)}}),o.sort(n),On(a),On(o),a.length){for(var u=0,s=e,c=o.length;c>u;++u)o[u].e=s=!s;for(var l,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var u=0,c=l.length;c>u;++u)i.point((h=l[u])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(p){l=d.p.z;for(var u=l.length-1;u>=0;--u)i.point((h=l[u])[0],h[1])}else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,l=d.z,p=!p}while(!d.v);i.lineEnd()}}}function On(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r0){for(x||(a.polygonStart(),x=!0),a.lineStart();++o1&&2&n&&e.push(e.pop().concat(e.shift())),d.push(e.filter(Nn))}var d,p,g,y=n(a),m=i.invert(r[0],r[1]),v={point:o,lineStart:s,lineEnd:c,polygonStart:function(){v.point=l,v.lineStart=h,v.lineEnd=f,d=[],p=[]},polygonEnd:function(){v.point=o,v.lineStart=s,v.lineEnd=c,d=eo.merge(d);var t=Un(m,p);d.length?(x||(a.polygonStart(),x=!0),Fn(d,Bn,t,e,a)):t&&(x||(a.polygonStart(),x=!0),a.lineStart(),e(null,null,1,a),a.lineEnd()),x&&(a.polygonEnd(),x=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),e(null,null,1,a),a.lineEnd(),a.polygonEnd()}},_=Pn(),b=n(_),x=!1;return v}}function Nn(t){return t.length>1}function Pn(){var t,n=[];return{lineStart:function(){n.push(t=[])},point:function(n,e){t.push([n,e])},lineEnd:w,buffer:function(){var e=n;return n=[],t=null,e},rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))}}}function Bn(t,n){return((t=t.x)[0]<0?t[1]-Po-Fo:Po-t[1])-((n=n.x)[0]<0?n[1]-Po-Fo:Po-n[1])}function Rn(t){var n,e=0/0,r=0/0,i=0/0;return{lineStart:function(){t.lineStart(),n=1},point:function(a,o){var u=a>0?Lo:-Lo,s=go(a-e);go(s-Lo)0?Po:-Po),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(a,r),n=0):i!==u&&s>=Lo&&(go(e-i)Fo?Math.atan((Math.sin(n)*(a=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(n))*Math.sin(t))/(i*a*o)):(n+r)/2}function Yn(t,n,e,r){var i;if(null==t)i=e*Po,r.point(-Lo,i),r.point(0,i),r.point(Lo,i),r.point(Lo,0),r.point(Lo,-i),r.point(0,-i),r.point(-Lo,-i),r.point(-Lo,0),r.point(-Lo,i);else if(go(t[0]-n[0])>Fo){var a=t[0]u;++u){var c=n[u],l=c.length;if(l)for(var h=c[0],f=h[0],d=h[1]/2+Lo/4,p=Math.sin(d),g=Math.cos(d),y=1;;){y===l&&(y=0),t=c[y];var m=t[0],v=t[1]/2+Lo/4,_=Math.sin(v),b=Math.cos(v),x=m-f,w=x>=0?1:-1,k=w*x,A=k>Lo,E=p*_;if(bu.add(Math.atan2(E*w*Math.sin(k),g*b+E*Math.cos(k))),a+=A?x+w*Io:x,A^f>=e^m>=e){var M=vn(yn(h),yn(t));xn(M);var D=vn(i,M);xn(D);var S=(A^x>=0?-1:1)*et(D[2]);(r>S||r===S&&(M[0]||M[1]))&&(o+=A^x>=0?1:-1)}if(!y++)break;f=m,p=_,g=b,h=t}}return(-Fo>a||Fo>a&&0>bu)^1&o}function $n(t){function n(t,n){return Math.cos(t)*Math.cos(n)>a}function e(t){var e,a,s,c,l;return{lineStart:function(){c=s=!1,l=1},point:function(h,f){var d,p=[h,f],g=n(h,f),y=o?g?0:i(h,f):g?i(h+(0>h?Lo:-Lo),f):0;if(!e&&(c=s=g)&&t.lineStart(),g!==s&&(d=r(e,p),(kn(e,d)||kn(p,d))&&(p[0]+=Fo,p[1]+=Fo,g=n(p[0],p[1]))),g!==s)l=0,g?(t.lineStart(),d=r(p,e),t.point(d[0],d[1])):(d=r(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(u&&e&&o^g){var m;y&a||!(m=r(p,e,!0))||(l=0,o?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&kn(e,p)||t.point(p[0],p[1]),e=p,s=g,a=y},lineEnd:function(){s&&t.lineEnd(),e=null},clean:function(){return l|(c&&s)<<1}}}function r(t,n,e){var r=yn(t),i=yn(n),o=[1,0,0],u=vn(r,i),s=mn(u,u),c=u[0],l=s-c*c;if(!l)return!e&&t;var h=a*s/l,f=-a*c/l,d=vn(o,u),p=bn(o,h),g=bn(u,f);_n(p,g);var y=d,m=mn(p,y),v=mn(y,y),_=m*m-v*(mn(p,p)-1);if(!(0>_)){var b=Math.sqrt(_),x=bn(y,(-m-b)/v);if(_n(x,p),x=wn(x),!e)return x;var w,k=t[0],A=n[0],E=t[1],M=n[1];k>A&&(w=k,k=A,A=w);var D=A-k,S=go(D-Lo)D;if(!S&&E>M&&(w=E,E=M,M=w),T?S?E+M>0^x[1]<(go(x[0]-k)Lo^(k<=x[0]&&x[0]<=A)){var C=bn(y,(-m+b)/v);return _n(C,p),[x,wn(C)]}}}function i(n,e){var r=o?t:Lo-t,i=0;return-r>n?i|=1:n>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var a=Math.cos(t),o=a>0,u=go(a)>Fo,s=ge(t,6*Bo);return In(n,e,s,o?[0,-t]:[-Lo,t-Lo])}function zn(t,n,e,r){return function(i){var a,o=i.a,u=i.b,s=o.x,c=o.y,l=u.x,h=u.y,f=0,d=1,p=l-s,g=h-c;if(a=t-s,p||!(a>0)){if(a/=p,0>p){if(f>a)return;d>a&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=e-s,p||!(0>a)){if(a/=p,0>p){if(a>d)return;a>f&&(f=a)}else if(p>0){if(f>a)return;d>a&&(d=a)}if(a=n-c,g||!(a>0)){if(a/=g,0>g){if(f>a)return;d>a&&(d=a)}else if(g>0){if(a>d)return;a>f&&(f=a)}if(a=r-c,g||!(0>a)){if(a/=g,0>g){if(a>d)return;a>f&&(f=a)}else if(g>0){if(f>a)return;d>a&&(d=a)}return f>0&&(i.a={x:s+f*p,y:c+f*g}),1>d&&(i.b={x:s+d*p,y:c+d*g}),i}}}}}}function qn(t,n,e,r){function i(r,i){return go(r[0]-t)0?0:3:go(r[0]-e)0?2:1:go(r[1]-n)0?1:0:i>0?3:2}function a(t,n){return o(t.x,n.x)}function o(t,n){var e=i(t,1),r=i(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 s(t){for(var n=0,e=y.length,r=t[1],i=0;e>i;++i)for(var a,o=1,u=y[i],s=u.length,c=u[0];s>o;++o)a=u[o],c[1]<=r?a[1]>r&&tt(c,a,t)>0&&++n:a[1]<=r&&tt(c,a,t)<0&&--n,c=a;return 0!==n}function c(a,u,s,c){var l=0,h=0;if(null==a||(l=i(a,s))!==(h=i(u,s))||o(a,u)<0^s>0){do c.point(0===l||3===l?t:e,l>1?r:n);while((l=(l+s+4)%4)!==h)}else c.point(u[0],u[1])}function l(i,a){return i>=t&&e>=i&&a>=n&&r>=a}function h(t,n){l(t,n)&&u.point(t,n)}function f(){T.point=p,y&&y.push(m=[]),A=!0,k=!1,x=w=0/0}function d(){g&&(p(v,_),b&&k&&D.rejoin(),g.push(D.buffer())),T.point=h,k&&u.lineEnd()}function p(t,n){t=Math.max(-Nu,Math.min(Nu,t)),n=Math.max(-Nu,Math.min(Nu,n));var e=l(t,n);if(y&&m.push([t,n]),A)v=t,_=n,b=e,A=!1,e&&(u.lineStart(),u.point(t,n));else if(e&&k)u.point(t,n);else{var r={a:{x:x,y:w},b:{x:t,y:n}};S(r)?(k||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),e||u.lineEnd(),E=!1):e&&(u.lineStart(),u.point(t,n),E=!1)}x=t,w=n,k=e}var g,y,m,v,_,b,x,w,k,A,E,M=u,D=Pn(),S=zn(t,n,e,r),T={point:h,lineStart:f,lineEnd:d,polygonStart:function(){u=D,g=[],y=[],E=!0},polygonEnd:function(){u=M,g=eo.merge(g);var n=s([t,r]),e=E&&n,i=g.length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),c(null,null,1,u),u.lineEnd()),i&&Fn(g,a,n,c,u),u.polygonEnd()),g=y=m=null}};return T}}function Wn(t){var n=0,e=Lo/3,r=ue(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Lo/180,e=t[1]*Lo/180):[n/Lo*180,e/Lo*180]},i}function Hn(t,n){function e(t,n){var e=Math.sqrt(a-2*i*Math.sin(n))/i;return[e*Math.sin(t*=i),o-e*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(n))/2,a=1+r*(2*i-r),o=Math.sqrt(a)/i;return e.invert=function(t,n){var e=o-n;return[Math.atan2(t,e)/i,et((a-(t*t+e*e)*i*i)/(2*i))]},e}function Gn(){function t(t,n){Bu+=i*t-r*n,r=t,i=n}var n,e,r,i;$u.point=function(a,o){$u.point=t,n=r=a,e=i=o},$u.lineEnd=function(){t(n,e)}}function Vn(t,n){Ru>t&&(Ru=t),t>Yu&&(Yu=t),ju>n&&(ju=n),n>Uu&&(Uu=n)}function Zn(){function t(t,n){o.push("M",t,",",n,a)}function n(t,n){o.push("M",t,",",n),u.point=e}function e(t,n){o.push("L",t,",",n)}function r(){u.point=t}function i(){o.push("Z")}var a=Xn(4.5),o=[],u={point:t,lineStart:function(){u.point=n},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return a=Xn(t),u},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return u}function Xn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Kn(t,n){Au+=t,Eu+=n,++Mu}function Qn(){function t(t,r){var i=t-n,a=r-e,o=Math.sqrt(i*i+a*a);Du+=o*(n+t)/2,Su+=o*(e+r)/2,Tu+=o,Kn(n=t,e=r)}var n,e;qu.point=function(r,i){qu.point=t,Kn(n=r,e=i)}}function Jn(){qu.point=Kn}function te(){function t(t,n){var e=t-r,a=n-i,o=Math.sqrt(e*e+a*a);Du+=o*(r+t)/2,Su+=o*(i+n)/2,Tu+=o,o=i*t-r*n,Cu+=o*(r+t),Fu+=o*(i+n),Ou+=3*o,Kn(r=t,i=n)}var n,e,r,i;qu.point=function(a,o){qu.point=t,Kn(n=r=a,e=i=o)},qu.lineEnd=function(){t(n,e)}}function ne(t){function n(n,e){t.moveTo(n+o,e),t.arc(n,e,o,0,Io)}function e(n,e){t.moveTo(n,e),u.point=r}function r(n,e){t.lineTo(n,e)}function i(){u.point=n}function a(){t.closePath()}var o=4.5,u={point:n,lineStart:function(){u.point=e},lineEnd:i,polygonStart:function(){u.lineEnd=a},polygonEnd:function(){u.lineEnd=i,u.point=n},pointRadius:function(t){return o=t,u},result:w};return u}function ee(t){function n(t){return(u?r:e)(t)}function e(n){return ae(n,function(e,r){e=t(e,r),n.point(e[0],e[1])})}function r(n){function e(e,r){e=t(e,r),n.point(e[0],e[1])}function r(){_=0/0,A.point=a,n.lineStart()}function a(e,r){var a=yn([e,r]),o=t(e,r);i(_,b,v,x,w,k,_=o[0],b=o[1],v=e,x=a[0],w=a[1],k=a[2],u,n),n.point(_,b)}function o(){A.point=e,n.lineEnd()}function s(){r(),A.point=c,A.lineEnd=l}function c(t,n){a(h=t,f=n),d=_,p=b,g=x,y=w,m=k,A.point=a}function l(){i(_,b,v,x,w,k,d,p,h,g,y,m,u,n),A.lineEnd=o,o()}var h,f,d,p,g,y,m,v,_,b,x,w,k,A={point:e,lineStart:r,lineEnd:o,polygonStart:function(){n.polygonStart(),A.lineStart=s},polygonEnd:function(){n.polygonEnd(),A.lineStart=r}};return A}function i(n,e,r,u,s,c,l,h,f,d,p,g,y,m){var v=l-n,_=h-e,b=v*v+_*_;if(b>4*a&&y--){var x=u+d,w=s+p,k=c+g,A=Math.sqrt(x*x+w*w+k*k),E=Math.asin(k/=A),M=go(go(k)-1)a||go((v*C+_*F)/b-.5)>.3||o>u*d+s*p+c*g)&&(i(n,e,r,u,s,c,S,T,M,x/=A,w/=A,k,y,m),m.point(S,T),i(S,T,M,x,w,k,l,h,f,d,p,g,y,m))}}var a=.5,o=Math.cos(30*Bo),u=16;return n.precision=function(t){return arguments.length?(u=(a=t*t)>0&&16,n):Math.sqrt(a)},n}function re(t){var n=ee(function(n,e){return t([n*Ro,e*Ro])});return function(t){return se(n(t))}}function ie(t){this.stream=t}function ae(t,n){return{point:n,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function oe(t){return ue(function(){return t})()}function ue(t){function n(t){return t=u(t[0]*Bo,t[1]*Bo),[t[0]*f+s,c-t[1]*f]}function e(t){return t=u.invert((t[0]-s)/f,(c-t[1])/f),t&&[t[0]*Ro,t[1]*Ro]}function r(){u=Tn(o=he(m,v,b),a);var t=a(g,y);return s=d-t[0]*f,c=p+t[1]*f,i()}function i(){return l&&(l.valid=!1,l=null),n}var a,o,u,s,c,l,h=ee(function(t,n){return t=a(t,n),[t[0]*f+s,c-t[1]*f]}),f=150,d=480,p=250,g=0,y=0,m=0,v=0,b=0,x=Iu,w=_,k=null,A=null;return n.stream=function(t){return l&&(l.valid=!1),l=se(x(o,h(w(t)))),l.valid=!0,l},n.clipAngle=function(t){return arguments.length?(x=null==t?(k=t,Iu):$n((k=+t)*Bo),i()):k},n.clipExtent=function(t){return arguments.length?(A=t,w=t?qn(t[0][0],t[0][1],t[1][0],t[1][1]):_,i()):A},n.scale=function(t){return arguments.length?(f=+t,r()):f},n.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],r()):[d,p]},n.center=function(t){return arguments.length?(g=t[0]%360*Bo,y=t[1]%360*Bo,r()):[g*Ro,y*Ro]},n.rotate=function(t){return arguments.length?(m=t[0]%360*Bo,v=t[1]%360*Bo,b=t.length>2?t[2]%360*Bo:0,r()):[m*Ro,v*Ro,b*Ro]},eo.rebind(n,h,"precision"),function(){return a=t.apply(this,arguments),n.invert=a.invert&&e,r()}}function se(t){return ae(t,function(n,e){t.point(n*Bo,e*Bo)})}function ce(t,n){return[t,n]}function le(t,n){return[t>Lo?t-Io:-Lo>t?t+Io:t,n]}function he(t,n,e){return t?n||e?Tn(de(t),pe(n,e)):de(t):n||e?pe(n,e):le}function fe(t){return function(n,e){return n+=t,[n>Lo?n-Io:-Lo>n?n+Io:n,e]}}function de(t){var n=fe(t);return n.invert=fe(-t),n}function pe(t,n){function e(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,c=Math.sin(n),l=c*r+u*i;return[Math.atan2(s*a-l*o,u*r-c*i),et(l*a+s*o)]}var r=Math.cos(t),i=Math.sin(t),a=Math.cos(n),o=Math.sin(n);return e.invert=function(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,c=Math.sin(n),l=c*a-s*o;return[Math.atan2(s*a+c*o,u*r+l*i),et(l*r-u*i)]},e}function ge(t,n){var e=Math.cos(t),r=Math.sin(t);return function(i,a,o,u){var s=o*n;null!=i?(i=ye(e,i),a=ye(e,a),(o>0?a>i:i>a)&&(i+=o*Io)):(i=t+o*Io,a=t-.5*s);for(var c,l=i;o>0?l>a:a>l;l-=s)u.point((c=wn([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function ye(t,n){var e=yn(n);e[0]-=t,xn(e);var r=nt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Fo)%(2*Math.PI)}function me(t,n,e){var r=eo.range(t,n-Fo,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ve(t,n,e){var r=eo.range(t,n-Fo,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function _e(t){return t.source}function be(t){return t.target}function xe(t,n,e,r){var i=Math.cos(n),a=Math.sin(n),o=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),c=i*Math.sin(t),l=o*Math.cos(e),h=o*Math.sin(e),f=2*Math.asin(Math.sqrt(ot(r-n)+i*o*ot(e-t))),d=1/Math.sin(f),p=f?function(t){var n=Math.sin(t*=f)*d,e=Math.sin(f-t)*d,r=e*s+n*l,i=e*c+n*h,o=e*a+n*u;return[Math.atan2(i,r)*Ro,Math.atan2(o,Math.sqrt(r*r+i*i))*Ro]}:function(){return[t*Ro,n*Ro]};return p.distance=f,p}function we(){function t(t,i){var a=Math.sin(i*=Bo),o=Math.cos(i),u=go((t*=Bo)-n),s=Math.cos(u);Wu+=Math.atan2(Math.sqrt((u=o*Math.sin(u))*u+(u=r*a-e*o*s)*u),e*a+r*o*s),n=t,e=a,r=o}var n,e,r;Hu.point=function(i,a){n=i*Bo,e=Math.sin(a*=Bo),r=Math.cos(a),Hu.point=t},Hu.lineEnd=function(){Hu.point=Hu.lineEnd=w}}function ke(t,n){function e(n,e){var r=Math.cos(n),i=Math.cos(e),a=t(r*i);return[a*i*Math.sin(n),a*Math.sin(e)]}return e.invert=function(t,e){var r=Math.sqrt(t*t+e*e),i=n(r),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,r*o),Math.asin(r&&e*a/r)]},e}function Ae(t,n){function e(t,n){o>0?-Po+Fo>n&&(n=-Po+Fo):n>Po-Fo&&(n=Po-Fo);var e=o/Math.pow(i(n),a);return[e*Math.sin(a*t),o-e*Math.cos(a*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Lo/4+t/2)},a=t===n?Math.sin(t):Math.log(r/Math.cos(n))/Math.log(i(n)/i(t)),o=r*Math.pow(i(t),a)/a;return a?(e.invert=function(t,n){var e=o-n,r=J(a)*Math.sqrt(t*t+e*e);return[Math.atan2(t,e)/a,2*Math.atan(Math.pow(o/r,1/a))-Po]},e):Me}function Ee(t,n){function e(t,n){var e=a-n;return[e*Math.sin(i*t),a-e*Math.cos(i*t)]}var r=Math.cos(t),i=t===n?Math.sin(t):(r-Math.cos(n))/(n-t),a=r/i+t;return go(i)i;i++){for(;r>1&&tt(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Oe(t,n){return t[0]-n[0]||t[1]-n[1]}function Le(t,n,e){return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function Ie(t,n,e,r){var i=t[0],a=e[0],o=n[0]-i,u=r[0]-a,s=t[1],c=e[1],l=n[1]-s,h=r[1]-c,f=(u*(s-c)-h*(i-a))/(h*o-u*l);return[i+f*o,s+f*l]}function Ne(t){var n=t[0],e=t[t.length-1];return!(n[0]-e[0]||n[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Be(t){var n=is.pop()||new Pe;return n.site=t,n}function Re(t){Ve(t),ns.remove(t),is.push(t),rr(t)}function je(t){var n=t.circle,e=n.x,r=n.cy,i={x:e,y:r},a=t.P,o=t.N,u=[t];Re(t);for(var s=a;s.circle&&go(e-s.circle.x)l;++l)c=u[l],s=u[l-1],tr(c.edge,s.site,c.site,i);s=u[0],c=u[h-1],c.edge=Qe(s.site,c.site,null,i),Ge(s),Ge(c)}function Ye(t){for(var n,e,r,i,a=t.x,o=t.y,u=ns._;u;)if(r=Ue(u,o)-a,r>Fo)u=u.L;else{if(i=a-$e(u,o),!(i>Fo)){r>-Fo?(n=u.P,e=u):i>-Fo?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}var s=Be(t);if(ns.insert(n,s),n||e){if(n===e)return Ve(n),e=Be(n.site),ns.insert(s,e),s.edge=e.edge=Qe(n.site,s.site),Ge(n),void Ge(e);if(!e)return void(s.edge=Qe(n.site,s.site));Ve(n),Ve(e);var c=n.site,l=c.x,h=c.y,f=t.x-l,d=t.y-h,p=e.site,g=p.x-l,y=p.y-h,m=2*(f*y-d*g),v=f*f+d*d,_=g*g+y*y,b={x:(y*v-d*_)/m+l,y:(f*_-g*v)/m+h};tr(e.edge,c,p,b),s.edge=Qe(c,t,null,b),e.edge=Qe(t,p,null,b),Ge(n),Ge(e)}}function Ue(t,n){var e=t.site,r=e.x,i=e.y,a=i-n;if(!a)return r;var o=t.P;if(!o)return-(1/0);e=o.site;var u=e.x,s=e.y,c=s-n;if(!c)return u;var l=u-r,h=1/a-1/c,f=l/c;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*c)-s+c/2+i-a/2)))/h+r:(r+u)/2}function $e(t,n){var e=t.N;if(e)return Ue(e,n);var r=t.site;return r.y===n?r.x:1/0}function ze(t){this.site=t,this.edges=[]}function qe(t){for(var n,e,r,i,a,o,u,s,c,l,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],g=ts,y=g.length;y--;)if(a=g[y],a&&a.prepare())for(u=a.edges,s=u.length,o=0;s>o;)l=u[o].end(),r=l.x,i=l.y,c=u[++o%s].start(),n=c.x,e=c.y,(go(r-n)>Fo||go(i-e)>Fo)&&(u.splice(o,0,new nr(Je(a.site,l,go(r-h)Fo?{x:h,y:go(n-h)Fo?{x:go(e-p)Fo?{x:f,y:go(n-f)Fo?{x:go(e-d)=-Oo)){var d=s*s+c*c,p=l*l+h*h,g=(h*d-c*p)/f,y=(s*p-l*d)/f,h=y+u,m=as.pop()||new He;m.arc=t,m.site=i,m.x=g+o,m.y=h+Math.sqrt(g*g+y*y),m.cy=h,t.circle=m;for(var v=null,_=rs._;_;)if(m.y<_.y||m.y===_.y&&m.x<=_.x){if(!_.L){v=_.P;break}_=_.L}else{if(!_.R){v=_;break}_=_.R}rs.insert(v,m),v||(es=m)}}}}function Ve(t){var n=t.circle;n&&(n.P||(es=n.N),rs.remove(n),as.push(n),rr(n),t.circle=null)}function Ze(t){for(var n,e=Ju,r=zn(t[0][0],t[0][1],t[1][0],t[1][1]),i=e.length;i--;)n=e[i],(!Xe(n,t)||!r(n)||go(n.a.x-n.b.x)y||y>=u)return;if(f>p){if(a){if(a.y>=c)return}else a={x:y,y:s};e={x:y,y:c}}else{if(a){if(a.yr||r>1)if(f>p){if(a){if(a.y>=c)return}else a={x:(s-i)/r,y:s};e={x:(c-i)/r,y:c}}else{if(a){if(a.yd){if(a){if(a.x>=u)return}else a={x:o,y:r*o+i};e={x:u,y:r*u+i}}else{if(a){if(a.xa||h>o||r>f||i>d)){if(p=t.point){var p,g=n-t.x,y=e-t.y,m=g*g+y*y;if(s>m){var v=Math.sqrt(s=m);r=n-v,i=e-v,a=n+v,o=e+v,u=p}}for(var _=t.nodes,b=.5*(l+f),x=.5*(h+d),w=n>=b,k=e>=x,A=k<<1|w,E=A+4;E>A;++A)if(t=_[3&A])switch(3&A){case 0:c(t,l,h,b,x);break;case 1:c(t,b,h,f,x);break;case 2:c(t,l,x,b,d);break;case 3:c(t,b,x,f,d)}}}(t,r,i,a,o),u}function gr(t,n){t=eo.rgb(t),n=eo.rgb(n);var e=t.r,r=t.g,i=t.b,a=n.r-e,o=n.g-r,u=n.b-i;return function(t){return"#"+xt(Math.round(e+a*t))+xt(Math.round(r+o*t))+xt(Math.round(i+u*t))}}function yr(t,n){var e,r={},i={};for(e in t)e in n?r[e]=_r(t[e],n[e]):i[e]=t[e];for(e in n)e in t||(i[e]=n[e]);return function(t){for(e in r)i[e]=r[e](t);return i}}function mr(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function vr(t,n){var e,r,i,a=us.lastIndex=ss.lastIndex=0,o=-1,u=[],s=[];for(t+="",n+="";(e=us.exec(t))&&(r=ss.exec(n));)(i=r.index)>a&&(i=n.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(e=e[0])===(r=r[0])?u[o]?u[o]+=r:u[++o]=r:(u[++o]=null,s.push({i:o,x:mr(e,r)})),a=ss.lastIndex;return ar;++r)u[(e=s[r]).i]=e.x(t);return u.join("")})}function _r(t,n){for(var e,r=eo.interpolators.length;--r>=0&&!(e=eo.interpolators[r](t,n)););return e}function br(t,n){var e,r=[],i=[],a=t.length,o=n.length,u=Math.min(t.length,n.length);for(e=0;u>e;++e)r.push(_r(t[e],n[e]));for(;a>e;++e)i[e]=t[e];for(;o>e;++e)i[e]=n[e];return function(t){for(e=0;u>e;++e)i[e]=r[e](t);return i}}function xr(t){return function(n){return 0>=n?0:n>=1?1:t(n)}}function wr(t){return function(n){return 1-t(1-n)}}function kr(t){return function(n){return.5*(.5>n?t(2*n):2-t(2-2*n))}}function Ar(t){return t*t}function Er(t){return t*t*t}function Mr(t){if(0>=t)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(.5>t?e:3*(t-n)+e-.75)}function Dr(t){return function(n){return Math.pow(n,t)}}function Sr(t){return 1-Math.cos(t*Po)}function Tr(t){return Math.pow(2,10*(t-1))}function Cr(t){return 1-Math.sqrt(1-t*t)}function Fr(t,n){var e;return arguments.length<2&&(n=.45),arguments.length?e=n/Io*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-e)*Io/n)}}function Or(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function Lr(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Ir(t,n){t=eo.hcl(t),n=eo.hcl(n);var e=t.h,r=t.c,i=t.l,a=n.h-e,o=n.c-r,u=n.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?n.c:r),isNaN(a)?(a=0,e=isNaN(e)?n.h:e):a>180?a-=360:-180>a&&(a+=360),function(t){return ht(e+a*t,r+o*t,i+u*t)+""}}function Nr(t,n){t=eo.hsl(t),n=eo.hsl(n);var e=t.h,r=t.s,i=t.l,a=n.h-e,o=n.s-r,u=n.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?n.s:r),isNaN(a)?(a=0,e=isNaN(e)?n.h:e):a>180?a-=360:-180>a&&(a+=360),function(t){return ct(e+a*t,r+o*t,i+u*t)+""}}function Pr(t,n){t=eo.lab(t),n=eo.lab(n);var e=t.l,r=t.a,i=t.b,a=n.l-e,o=n.a-r,u=n.b-i;return function(t){return dt(e+a*t,r+o*t,i+u*t)+""}}function Br(t,n){return n-=t,function(e){return Math.round(t+n*e)}}function Rr(t){var n=[t.a,t.b],e=[t.c,t.d],r=Yr(n),i=jr(n,e),a=Yr(Ur(e,n,-i))||0;n[0]*e[1]180?l+=360:l-c>180&&(c+=360),i.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:mr(c,l)})):l&&r.push(r.pop()+"rotate("+l+")"),h!=f?i.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:mr(h,f)}):f&&r.push(r.pop()+"skewX("+f+")"),d[0]!=p[0]||d[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),i.push({i:e-4,x:mr(d[0],p[0])},{i:e-2,x:mr(d[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=i.length,function(t){for(var n,a=-1;++a=0;)e.push(i[r])}function ni(t,n){for(var e=[t],r=[];null!=(t=e.pop());)if(r.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++oe;++e)(n=t[e][1])>i&&(r=e,i=n);return r}function fi(t){return t.reduce(di,0)}function di(t,n){return t+n[1]}function pi(t,n){return gi(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function gi(t,n){for(var e=-1,r=+t[0],i=(t[1]-r)/n,a=[];++e<=n;)a[e]=i*e+r;return a}function yi(t){return[eo.min(t),eo.max(t)]}function mi(t,n){return t.value-n.value}function vi(t,n){var e=t._pack_next;t._pack_next=n,n._pack_prev=t,n._pack_next=e,e._pack_prev=n}function _i(t,n){t._pack_next=n,n._pack_prev=t}function bi(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return.999*i*i>e*e+r*r}function xi(t){function n(t){l=Math.min(t.x-t.r,l),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((e=t.children)&&(c=e.length)){var e,r,i,a,o,u,s,c,l=1/0,h=-(1/0),f=1/0,d=-(1/0);if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,n(r),c>1&&(i=e[1],i.x=i.r,i.y=0,n(i),c>2))for(a=e[2],Ei(r,i,a),n(a),vi(r,a),r._pack_prev=a,vi(a,i),i=r._pack_next,o=3;c>o;o++){Ei(r,i,a=e[o]);var p=0,g=1,y=1;for(u=i._pack_next;u!==i;u=u._pack_next,g++)if(bi(u,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==u._pack_prev&&!bi(s,a);s=s._pack_prev,y++);p?(y>g||g==y&&i.ro;o++)a=e[o],a.x-=m,a.y-=v,_=Math.max(_,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=_,e.forEach(ki)}}function wi(t){t._pack_next=t._pack_prev=t}function ki(t){delete t._pack_next,delete t._pack_prev}function Ai(t,n,e,r){var i=t.children;if(t.x=n+=r*t.x,t.y=e+=r*t.y,t.r*=r,i)for(var a=-1,o=i.length;++a=0;)n=i[a],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Fi(t,n,e){return t.a.parent===n.parent?t.a:e}function Oi(t){return 1+eo.max(t,function(t){return t.y})}function Li(t){return t.reduce(function(t,n){return t+n.x},0)/t.length}function Ii(t){var n=t.children;return n&&n.length?Ii(n[0]):t}function Ni(t){var n,e=t.children;return e&&(n=e.length)?Ni(e[n-1]):t}function Pi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Bi(t,n){var e=t.x+n[3],r=t.y+n[0],i=t.dx-n[1]-n[3],a=t.dy-n[0]-n[2];return 0>i&&(e+=i/2,i=0),0>a&&(r+=a/2,a=0),{x:e,y:r,dx:i,dy:a}}function Ri(t){var n=t[0],e=t[t.length-1];return e>n?[n,e]:[e,n]}function ji(t){return t.rangeExtent?t.rangeExtent():Ri(t.range())}function Yi(t,n,e,r){var i=e(t[0],t[1]),a=r(n[0],n[1]);return function(t){return a(i(t))}}function Ui(t,n){var e,r=0,i=t.length-1,a=t[r],o=t[i];return a>o&&(e=r,r=i,i=e,e=a,a=o,o=e),t[r]=n.floor(a),t[i]=n.ceil(o),t}function $i(t){return t?{floor:function(n){return Math.floor(n/t)*t},ceil:function(n){return Math.ceil(n/t)*t}}:_s}function zi(t,n,e,r){var i=[],a=[],o=0,u=Math.min(t.length,n.length)-1;for(t[u]2?zi:Yi,s=r?qr:zr;return o=i(t,n,s,e),u=i(n,t,s,_r),a}function a(t){return o(t)}var o,u;return a.invert=function(t){return u(t)},a.domain=function(n){return arguments.length?(t=n.map(Number),i()):t},a.range=function(t){return arguments.length?(n=t,i()):n},a.rangeRound=function(t){return a.range(t).interpolate(Br)},a.clamp=function(t){return arguments.length?(r=t,i()):r},a.interpolate=function(t){return arguments.length?(e=t,i()):e},a.ticks=function(n){return Vi(t,n)},a.tickFormat=function(n,e){return Zi(t,n,e)},a.nice=function(n){return Hi(t,n),i()},a.copy=function(){return qi(t,n,e,r)},i()}function Wi(t,n){return eo.rebind(t,n,"range","rangeRound","interpolate","clamp")}function Hi(t,n){return Ui(t,$i(Gi(t,n)[2]))}function Gi(t,n){null==n&&(n=10);var e=Ri(t),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),a=n/r*i;return.15>=a?i*=10:.35>=a?i*=5:.75>=a&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Vi(t,n){return eo.range.apply(eo,Gi(t,n))}function Zi(t,n,e){var r=Gi(t,n);if(e){var i=uu.exec(e);if(i.shift(),"s"===i[8]){var a=eo.formatPrefix(Math.max(go(r[0]),go(r[1])));return i[7]||(i[7]="."+Xi(a.scale(r[2]))),i[8]="f",e=eo.format(i.join("")),function(t){return e(a.scale(t))+a.symbol}}i[7]||(i[7]="."+Ki(i[8],r)),e=i.join("")}else e=",."+Xi(r[2])+"f";return eo.format(e)}function Xi(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Ki(t,n){var e=Xi(n[2]);return t in bs?Math.abs(e-Xi(Math.max(go(n[0]),go(n[1]))))+ +("e"!==t):e-2*("%"===t)}function Qi(t,n,e,r){function i(t){return(e?Math.log(0>t?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function a(t){return e?Math.pow(n,t):-Math.pow(n,-t)}function o(n){return t(i(n))}return o.invert=function(n){return a(t.invert(n))},o.domain=function(n){return arguments.length?(e=n[0]>=0,t.domain((r=n.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(n=+e,t.domain(r.map(i)),o):n},o.nice=function(){var n=Ui(r.map(i),e?Math:ws);return t.domain(n),r=n.map(a),o},o.ticks=function(){var t=Ri(r),o=[],u=t[0],s=t[1],c=Math.floor(i(u)),l=Math.ceil(i(s)),h=n%1?2:n;if(isFinite(l-c)){if(e){for(;l>c;c++)for(var f=1;h>f;f++)o.push(a(c)*f);o.push(a(c))}else for(o.push(a(c));c++0;f--)o.push(a(c)*f);for(c=0;o[c]s;l--);o=o.slice(c,l)}return o},o.tickFormat=function(t,n){if(!arguments.length)return xs;arguments.length<2?n=xs:"function"!=typeof n&&(n=eo.format(n));var r,u=Math.max(.1,t/o.ticks().length),s=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/a(s(i(t)+r))<=u?n(t):""}},o.copy=function(){return Qi(t.copy(),n,e,r)},Wi(o,t)}function Ji(t,n,e){function r(n){return t(i(n))}var i=ta(n),a=ta(1/n);return r.invert=function(n){return a(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain((e=n.map(Number)).map(i)),r):e},r.ticks=function(t){return Vi(e,t)},r.tickFormat=function(t,n){return Zi(e,t,n)},r.nice=function(t){return r.domain(Hi(e,t))},r.exponent=function(o){return arguments.length?(i=ta(n=o),a=ta(1/n),t.domain(e.map(i)),r):n},r.copy=function(){return Ji(t.copy(),n,e)},Wi(r,t)}function ta(t){return function(n){return 0>n?-Math.pow(-n,t):Math.pow(n,t)}}function na(t,n){function e(e){return a[((i.get(e)||("range"===n.t?i.set(e,t.push(e)):0/0))-1)%a.length]}function r(n,e){return eo.range(t.length).map(function(t){return n+e*t})}var i,a,o;return e.domain=function(r){if(!arguments.length)return t;t=[],i=new l;for(var a,o=-1,u=r.length;++oe?[0/0,0/0]:[e>0?u[e-1]:t[0],en?0/0:n/a+t,[n,n+1/a]},r.copy=function(){return ra(t,n,e)},i()}function ia(t,n){function e(e){return e>=e?n[eo.bisect(t,e)]:void 0}return e.domain=function(n){return arguments.length?(t=n,e):t},e.range=function(t){return arguments.length?(n=t,e):n},e.invertExtent=function(e){return e=n.indexOf(e),[t[e-1],t[e]]},e.copy=function(){return ia(t,n)},e}function aa(t){function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=e.map(n),n):t},n.ticks=function(n){return Vi(t,n)},n.tickFormat=function(n,e){return Zi(t,n,e)},n.copy=function(){return aa(t)},n}function oa(){return 0}function ua(t){return t.innerRadius}function sa(t){return t.outerRadius}function ca(t){return t.startAngle}function la(t){return t.endAngle}function ha(t){return t&&t.padAngle}function fa(t,n,e,r){return(t-e)*n-(n-r)*t>0?0:1}function da(t,n,e,r,i){var a=t[0]-n[0],o=t[1]-n[1],u=(i?r:-r)/Math.sqrt(a*a+o*o),s=u*o,c=-u*a,l=t[0]+s,h=t[1]+c,f=n[0]+s,d=n[1]+c,p=(l+f)/2,g=(h+d)/2,y=f-l,m=d-h,v=y*y+m*m,_=e-r,b=l*d-f*h,x=(0>m?-1:1)*Math.sqrt(_*_*v-b*b),w=(b*m-y*x)/v,k=(-b*y-m*x)/v,A=(b*m+y*x)/v,E=(-b*y+m*x)/v,M=w-p,D=k-g,S=A-p,T=E-g;return M*M+D*D>S*S+T*T&&(w=A,k=E),[[w-s,k-c],[w*e/_,k*e/_]]}function pa(t){function n(n){function o(){c.push("M",a(t(l),u))}for(var s,c=[],l=[],h=-1,f=n.length,d=Dt(e),p=Dt(r);++h1&&i.push("H",r[0]),i.join("")}function va(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n1){u=n[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;c9&&(i=3*n/Math.sqrt(i),o[u]=i*e,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 Ia(t){return t.length<3?ga(t):t[0]+ka(t,La(t))}function Na(t){for(var n,e,r,i=-1,a=t.length;++ir)return l();var i=a[a.active];i&&(--a.count,delete a[a.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),a.active=r,o.event&&o.event.start.call(t,t.__data__,n),o.tween.forEach(function(e,r){(r=r.call(t,t.__data__,n))&&g.push(r)}),f=o.ease,h=o.duration,eo.timer(function(){return p.c=c(e||1)?Cn:c,1},0,u)}function c(e){if(a.active!==r)return 1;for(var i=e/h,u=f(i),s=g.length;s>0;)g[--s].call(t,u);return i>=1?(o.event&&o.event.end.call(t,t.__data__,n),l()):void 0}function l(){return--a.count?delete a[r]:delete t[e],1}var h,f,d=o.delay,p=iu,g=[];return p.t=d+u,i>=d?s(i-d):void(p.c=s)},0,u)}}function Za(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate("+(isFinite(r)?r:e(t))+",0)"})}function Xa(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate(0,"+(isFinite(r)?r:e(t))+")"})}function Ka(t){return t.toISOString()}function Qa(t,n,e){function r(n){return t(n)}function i(t,e){var r=t[1]-t[0],i=r/e,a=eo.bisect(Gs,i);return a==Gs.length?[n.year,Gi(t.map(function(t){return t/31536e6}),e)[2]]:a?n[i/Gs[a-1]1?{floor:function(n){for(;e(n=t.floor(n));)n=Ja(n-1);return n},ceil:function(n){for(;e(n=t.ceil(n));)n=Ja(+n+1);return n}}:t))},r.ticks=function(t,n){var e=Ri(r.domain()),a=null==t?i(e,10):"number"==typeof t?i(e,t):!t.range&&[{range:t},n];return a&&(t=a[0],n=a[1]),t.range(e[0],Ja(+e[1]+1),1>n?1:n)},r.tickFormat=function(){return e},r.copy=function(){return Qa(t.copy(),n,e)},Wi(r,t)}function Ja(t){return new Date(t)}function to(t){return JSON.parse(t.responseText)}function no(t){var n=ao.createRange();return n.selectNode(ao.body),n.createContextualFragment(t.responseText)}var eo={version:"3.5.6"},ro=[].slice,io=function(t){return ro.call(t)},ao=this.document;if(ao)try{io(ao.documentElement.childNodes)[0].nodeType}catch(oo){io=function(t){for(var n=t.length,e=new Array(n);n--;)e[n]=t[n];return e}}if(Date.now||(Date.now=function(){return+new Date}),ao)try{ao.createElement("DIV").style.setProperty("opacity",0,"")}catch(uo){var so=this.Element.prototype,co=so.setAttribute,lo=so.setAttributeNS,ho=this.CSSStyleDeclaration.prototype,fo=ho.setProperty;so.setAttribute=function(t,n){co.call(this,t,n+"")},so.setAttributeNS=function(t,n,e){lo.call(this,t,n,e+"")},ho.setProperty=function(t,n,e){fo.call(this,t,n+"",e)}}eo.ascending=r,eo.descending=function(t,n){return t>n?-1:n>t?1:n>=t?0:0/0},eo.min=function(t,n){var e,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ir&&(e=r)}else{for(;++i=r){e=r;break}for(;++ir&&(e=r)}return e},eo.max=function(t,n){var e,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ie&&(e=r)}else{for(;++i=r){e=r;break}for(;++ie&&(e=r)}return e},eo.extent=function(t,n){var e,r,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=r){e=i=r;break}for(;++ar&&(e=r),r>i&&(i=r))}else{for(;++a=r){e=i=r;break}for(;++ar&&(e=r),r>i&&(i=r))}return[e,i]},eo.sum=function(t,n){var e,r=0,i=t.length,o=-1;if(1===arguments.length)for(;++o1?s/(l-1):void 0},eo.deviation=function(){var t=eo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var po=o(r);eo.bisectLeft=po.left,eo.bisect=eo.bisectRight=po.right,eo.bisector=function(t){return o(1===t.length?function(n,e){return r(t(n),e)}:t)},eo.shuffle=function(t,n,e){(a=arguments.length)<3&&(e=t.length,2>a&&(n=0));for(var r,i,a=e-n;a;)i=Math.random()*a--|0,r=t[a+n],t[a+n]=t[i+n],t[i+n]=r;return t},eo.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},eo.pairs=function(t){for(var n,e=0,r=t.length-1,i=t[0],a=new Array(0>r?0:r);r>e;)a[e]=[n=i,i=t[++e]];return a},eo.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,n=eo.min(arguments,u),e=new Array(n);++t=0;)for(r=t[i],n=r.length;--n>=0;)e[--o]=r[n];return e};var go=Math.abs;eo.range=function(t,n,e){if(arguments.length<3&&(e=1,arguments.length<2&&(n=t,t=0)),(n-t)/e===1/0)throw new Error("infinite range");var r,i=[],a=s(go(e)),o=-1;if(t*=a,n*=a,e*=a,0>e)for(;(r=t+e*++o)>n;)i.push(r/a);else for(;(r=t+e*++o)=a.length)return r?r.call(i,o):e?o.sort(e):o;for(var s,c,h,f,d=-1,p=o.length,g=a[u++],y=new l;++d=a.length)return t;var r=[],i=o[e++];return t.forEach(function(t,i){r.push({key:t,values:n(i,e)})}),i?r.sort(function(t,n){return i(t.key,n.key)}):r}var e,r,i={},a=[],o=[];return i.map=function(n,e){return t(e,n,0)},i.entries=function(e){return n(t(eo.map,e,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 e=t,i},i.rollup=function(t){return r=t,i},i},eo.set=function(t){var n=new v;if(t)for(var e=0,r=t.length;r>e;++e)n.add(t[e]);return n},c(v,{has:d,add:function(t){return this._[h(t+="")]=!0,t},remove:p,values:g,size:y,empty:m,forEach:function(t){for(var n in this._)t.call(this,f(n))}}),eo.behavior={},eo.rebind=function(t,n){for(var e,r=1,i=arguments.length;++r=0&&(r=t.slice(e+1),t=t.slice(0,e)),t)return arguments.length<2?this[t].on(r):this[t].on(r,n);if(2===arguments.length){if(null==n)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},eo.event=null,eo.requote=function(t){return t.replace(_o,"\\$&")};var _o=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,bo={}.__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]},xo=function(t,n){return n.querySelector(t)},wo=function(t,n){return n.querySelectorAll(t)},ko=function(t,n){var e=t.matches||t[x(t,"matchesSelector")];return(ko=function(t,n){return e.call(t,n)})(t,n)};"function"==typeof Sizzle&&(xo=function(t,n){return Sizzle(t,n)[0]||null},wo=Sizzle,ko=Sizzle.matchesSelector),eo.selection=function(){return eo.select(ao.documentElement)};var Ao=eo.selection.prototype=[];Ao.select=function(t){var n,e,r,i,a=[];t=T(t);for(var o=-1,u=this.length;++o=0&&(e=t.slice(0,n),t=t.slice(n+1)),Eo.hasOwnProperty(e)?{space:Eo[e],local:t}:t}},Ao.attr=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node();return t=eo.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(F(n,t[n]));return this}return this.each(F(t,n))},Ao.classed=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node(),r=(t=I(t)).length,i=-1;if(n=e.classList){for(;++ii){if("string"!=typeof t){2>i&&(n="");for(r in t)this.each(B(r,t[r],n));return this}if(2>i){var a=this.node();return e(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(B(t,n,r))},Ao.property=function(t,n){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(n in t)this.each(R(n,t[n]));return this}return this.each(R(t,n))},Ao.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Ao.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Ao.append=function(t){return t=j(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Ao.insert=function(t,n){return t=j(t),n=T(n),this.select(function(){return this.insertBefore(t.apply(this,arguments),n.apply(this,arguments)||null)})},Ao.remove=function(){return this.each(Y)},Ao.data=function(t,n){function e(t,e){var r,i,a,o=t.length,h=e.length,f=Math.min(o,h),d=new Array(h),p=new Array(h),g=new Array(o);if(n){var y,m=new l,v=new Array(o);for(r=-1;++rr;++r)p[r]=U(e[r]);for(;o>r;++r)g[r]=t[r]}p.update=d,p.parentNode=d.parentNode=g.parentNode=t.parentNode,u.push(p),s.push(d),c.push(g)}var r,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(r=this[0]).length);++aa;a++){i.push(n=[]),n.parentNode=(e=this[a]).parentNode;for(var u=0,s=e.length;s>u;u++)(r=e[u])&&t.call(r,r.__data__,u,a)&&n.push(r)}return S(i)},Ao.order=function(){for(var t=-1,n=this.length;++t=0;)(e=r[i])&&(a&&a!==e.nextSibling&&a.parentNode.insertBefore(e,a),a=e);return this},Ao.sort=function(t){t=z.apply(this,arguments);for(var n=-1,e=this.length;++nt;t++)for(var e=this[t],r=0,i=e.length;i>r;r++){var a=e[r];if(a)return a}return null},Ao.size=function(){var t=0;return q(this,function(){++t}),t};var Mo=[];eo.selection.enter=W,eo.selection.enter.prototype=Mo,Mo.append=Ao.append,Mo.empty=Ao.empty,Mo.node=Ao.node,Mo.call=Ao.call,Mo.size=Ao.size,Mo.select=function(t){for(var n,e,r,i,a,o=[],u=-1,s=this.length;++ur){if("string"!=typeof t){2>r&&(n=!1);for(e in t)this.each(G(e,t[e],n));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;e=!1}return this.each(G(t,n,e))};var Do=eo.map({mouseenter:"mouseover",mouseleave:"mouseout"});ao&&Do.forEach(function(t){"on"+t in ao&&Do.remove(t)});var So,To=0;eo.mouse=function(t){return K(t,M())};var Co=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;eo.touch=function(t,n,e){if(arguments.length<3&&(e=n,n=M().changedTouches),n)for(var r,i=0,a=n.length;a>i;++i)if((r=n[i]).identifier===e)return K(t,r)},eo.behavior.drag=function(){function t(){this.on("mousedown.drag",a).on("touchstart.drag",o)}function n(t,n,e,a,o){return function(){function u(){var t,e,r=n(f,g);r&&(t=r[0]-_[0],e=r[1]-_[1],p|=t|e,_=r,d({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:e}))}function s(){n(f,g)&&(m.on(a+y,null).on(o+y,null),v(p&&eo.event.target===h),d({type:"dragend"}))}var c,l=this,h=eo.event.target,f=l.parentNode,d=r.of(l,arguments),p=0,g=t(),y=".drag"+(null==g?"":"-"+g),m=eo.select(e(h)).on(a+y,u).on(o+y,s),v=X(h),_=n(f,g);i?(c=i.apply(l,arguments),c=[c.x-_[0],c.y-_[1]]):c=[0,0],d({type:"dragstart"})}}var r=D(t,"drag","dragstart","dragend"),i=null,a=n(w,eo.mouse,e,"mousemove","mouseup"),o=n(Q,eo.touch,_,"touchmove","touchend");return t.origin=function(n){return arguments.length?(i=n,t):i},eo.rebind(t,r,"on")},eo.touches=function(t,n){return arguments.length<2&&(n=M().touches),n?io(n).map(function(n){var e=K(t,n);return e.identifier=n.identifier,e}):[]};var Fo=1e-6,Oo=Fo*Fo,Lo=Math.PI,Io=2*Lo,No=Io-Fo,Po=Lo/2,Bo=Lo/180,Ro=180/Lo,jo=Math.SQRT2,Yo=2,Uo=4;eo.interpolateZoom=function(t,n){function e(t){var n=t*v;if(m){var e=it(g),o=a/(Yo*f)*(e*at(jo*n+g)-rt(g));return[r+o*c,i+o*l,a*e/it(jo*n+g)]}return[r+t*c,i+t*l,a*Math.exp(jo*n)]}var r=t[0],i=t[1],a=t[2],o=n[0],u=n[1],s=n[2],c=o-r,l=u-i,h=c*c+l*l,f=Math.sqrt(h),d=(s*s-a*a+Uo*h)/(2*a*Yo*f),p=(s*s-a*a-Uo*h)/(2*s*Yo*f),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(p*p+1)-p),m=y-g,v=(m||Math.log(s/a))/jo;return e.duration=1e3*v,e},eo.behavior.zoom=function(){function t(t){t.on(F,h).on(zo+".zoom",d).on("dblclick.zoom",p).on(I,f)}function n(t){return[(t[0]-A.x)/A.k,(t[1]-A.y)/A.k]}function r(t){return[t[0]*A.k+A.x,t[1]*A.k+A.y]}function i(t){A.k=Math.max(S[0],Math.min(S[1],t))}function a(t,n){n=r(n),A.x+=t[0]-n[0],A.y+=t[1]-n[1]}function o(n,e,r,o){n.__chart__={x:A.x,y:A.y,k:A.k},i(Math.pow(2,o)),a(y=e,r),n=eo.select(n),T>0&&(n=n.transition().duration(T)),n.call(t.event)}function u(){x&&x.domain(b.range().map(function(t){return(t-A.x)/A.k}).map(b.invert)),k&&k.domain(w.range().map(function(t){return(t-A.y)/A.k}).map(w.invert))}function s(t){C++||t({type:"zoomstart"})}function c(t){u(),t({type:"zoom",scale:A.k,translate:[A.x,A.y]})}function l(t){--C||(t({type:"zoomend"}),y=null)}function h(){function t(){h=1,a(eo.mouse(i),d),c(u)}function r(){f.on(O,null).on(L,null),p(h&&eo.event.target===o),l(u)}var i=this,o=eo.event.target,u=N.of(i,arguments),h=0,f=eo.select(e(i)).on(O,t).on(L,r),d=n(eo.mouse(i)),p=X(i);Bs.call(i),s(u)}function f(){function t(){var t=eo.touches(p);return d=A.k,t.forEach(function(t){t.identifier in y&&(y[t.identifier]=n(t))}),t}function e(){var n=eo.event.target;eo.select(n).on(b,r).on(x,u),w.push(n);for(var e=eo.event.changedTouches,i=0,a=e.length;a>i;++i)y[e[i].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(500>c-_){var l=s[0];o(p,l,y[l.identifier],Math.floor(Math.log(A.k)/Math.LN2)+1),E()}_=c}else if(s.length>1){var l=s[0],h=s[1],f=l[0]-h[0],d=l[1]-h[1];m=f*f+d*d}}function r(){var t,n,e,r,o=eo.touches(p);Bs.call(p);for(var u=0,s=o.length;s>u;++u,r=null)if(e=o[u],r=y[e.identifier]){if(n)break;t=e,n=r}if(r){var l=(l=e[0]-t[0])*l+(l=e[1]-t[1])*l,h=m&&Math.sqrt(l/m);t=[(t[0]+e[0])/2,(t[1]+e[1])/2],n=[(n[0]+r[0])/2,(n[1]+r[1])/2],i(h*d)}_=null,a(t,n),c(g)}function u(){if(eo.event.touches.length){for(var n=eo.event.changedTouches,e=0,r=n.length;r>e;++e)delete y[n[e].identifier];for(var i in y)return void t()}eo.selectAll(w).on(v,null),k.on(F,h).on(I,f),M(),l(g)}var d,p=this,g=N.of(p,arguments),y={},m=0,v=".zoom-"+eo.event.changedTouches[0].identifier,b="touchmove"+v,x="touchend"+v,w=[],k=eo.select(p),M=X(p);e(),s(g),k.on(F,null).on(I,e)}function d(){var t=N.of(this,arguments);v?clearTimeout(v):(Bs.call(this),g=n(y=m||eo.mouse(this)),s(t)),v=setTimeout(function(){v=null,l(t)},50),E(),i(Math.pow(2,.002*$o())*A.k),a(y,g),c(t)}function p(){var t=eo.mouse(this),e=Math.log(A.k)/Math.LN2;o(this,t,n(t),eo.event.shiftKey?Math.ceil(e)-1:Math.floor(e)+1)}var g,y,m,v,_,b,x,w,k,A={x:0,y:0,k:1},M=[960,500],S=qo,T=250,C=0,F="mousedown.zoom",O="mousemove.zoom",L="mouseup.zoom",I="touchstart.zoom",N=D(t,"zoomstart","zoom","zoomend");return zo||(zo="onwheel"in ao?($o=function(){return-eo.event.deltaY*(eo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ao?($o=function(){return eo.event.wheelDelta},"mousewheel"):($o=function(){return-eo.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=N.of(this,arguments),n=A;Ns?eo.select(this).transition().each("start.zoom",function(){A=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var e=M[0],r=M[1],i=y?y[0]:e/2,a=y?y[1]:r/2,o=eo.interpolateZoom([(i-A.x)/A.k,(a-A.y)/A.k,e/A.k],[(i-n.x)/n.k,(a-n.y)/n.k,e/n.k]);return function(n){var r=o(n),u=e/r[2];this.__chart__=A={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__=A,s(t),c(t),l(t))})},t.translate=function(n){return arguments.length?(A={x:+n[0],y:+n[1],k:A.k},u(),t):[A.x,A.y]},t.scale=function(n){return arguments.length?(A={x:A.x,y:A.y,k:+n},u(),t):A.k},t.scaleExtent=function(n){return arguments.length?(S=null==n?qo:[+n[0],+n[1]],t):S},t.center=function(n){return arguments.length?(m=n&&[+n[0],+n[1]],t):m},t.size=function(n){return arguments.length?(M=n&&[+n[0],+n[1]],t):M},t.duration=function(n){return arguments.length?(T=+n,t):T},t.x=function(n){return arguments.length?(x=n,b=n.copy(),A={x:0,y:0,k:1},t):x},t.y=function(n){return arguments.length?(k=n,w=n.copy(),A={x:0,y:0,k:1},t):k},eo.rebind(t,N,"on")};var $o,zo,qo=[0,1/0];eo.color=ut,ut.prototype.toString=function(){return this.rgb()+""},eo.hsl=st;var Wo=st.prototype=new ut;Wo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,this.l/t)},Wo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,t*this.l)},Wo.rgb=function(){return ct(this.h,this.s,this.l)},eo.hcl=lt;var Ho=lt.prototype=new ut;Ho.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Go*(arguments.length?t:1)))},Ho.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Go*(arguments.length?t:1)))},Ho.rgb=function(){return ht(this.h,this.c,this.l).rgb()},eo.lab=ft;var Go=18,Vo=.95047,Zo=1,Xo=1.08883,Ko=ft.prototype=new ut;Ko.brighter=function(t){return new ft(Math.min(100,this.l+Go*(arguments.length?t:1)),this.a,this.b)},Ko.darker=function(t){return new ft(Math.max(0,this.l-Go*(arguments.length?t:1)),this.a,this.b)},Ko.rgb=function(){return dt(this.l,this.a,this.b)},eo.rgb=vt;var Qo=vt.prototype=new ut;Qo.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b,i=30;return n||e||r?(n&&i>n&&(n=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new vt(Math.min(255,n/t),Math.min(255,e/t),Math.min(255,r/t))):new vt(i,i,i)},Qo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new vt(t*this.r,t*this.g,t*this.b)},Qo.hsl=function(){return kt(this.r,this.g,this.b)},Qo.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Jo=eo.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});Jo.forEach(function(t,n){Jo.set(t,_t(n))}),eo.functor=Dt,eo.xhr=St(_),eo.dsv=function(t,n){function e(t,e,a){arguments.length<3&&(a=e,e=null);var o=Tt(t,n,null==e?r:i(e),a);return o.row=function(t){return arguments.length?o.response(null==(e=t)?r:i(t)):e},o}function r(t){return e.parse(t.responseText)}function i(t){return function(n){return e.parse(n.responseText,t)}}function a(n){return n.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 e.parse=function(t,n){var r;return e.parseRows(t,function(t,e){if(r)return r(t,e-1);var i=new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}");r=n?function(t,e){return n(i(t),e)}:i})},e.parseRows=function(t,n){function e(){if(l>=c)return o;if(i)return i=!1,a;var n=l;if(34===t.charCodeAt(n)){for(var e=n;e++l;){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(n,l-u)}return t.slice(n)}for(var r,i,a={},o={},u=[],c=t.length,l=0,h=0;(r=e())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=e();n&&null==(f=n(f,h++))||u.push(f)}return u},e.format=function(n){if(Array.isArray(n[0]))return e.formatRows(n);var r=new v,i=[];return n.forEach(function(t){for(var n in t)r.has(n)||i.push(r.add(n))}),[i.map(o).join(t)].concat(n.map(function(n){return i.map(function(t){return o(n[t])}).join(t)})).join("\n")},e.formatRows=function(t){return t.map(a).join("\n")},e},eo.csv=eo.dsv(",","text/csv"),eo.tsv=eo.dsv(" ","text/tab-separated-values");var tu,nu,eu,ru,iu,au=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};eo.timer=function(t,n,e){var r=arguments.length;2>r&&(n=0),3>r&&(e=Date.now());var i=e+n,a={c:t,t:i,f:!1,n:null};nu?nu.n=a:tu=a, +nu=a,eu||(ru=clearTimeout(ru),eu=1,au(Ot))},eo.timer.flush=function(){Lt(),It()},eo.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)};var ou=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Pt);eo.formatPrefix=function(t,n){var e=0;return t&&(0>t&&(t*=-1),n&&(t=eo.round(t,Nt(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),ou[8+e/3]};var uu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,su=eo.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,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=eo.round(t,Nt(t,n))).toFixed(Math.max(0,Math.min(20,Nt(t*(1+1e-15),n))))}}),cu=eo.time={},lu=Date;jt.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(){hu.setUTCDate.apply(this._,arguments)},setDay:function(){hu.setUTCDay.apply(this._,arguments)},setFullYear:function(){hu.setUTCFullYear.apply(this._,arguments)},setHours:function(){hu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){hu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){hu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){hu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){hu.setUTCSeconds.apply(this._,arguments)},setTime:function(){hu.setTime.apply(this._,arguments)}};var hu=Date.prototype;cu.year=Yt(function(t){return t=cu.day(t),t.setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),cu.years=cu.year.range,cu.years.utc=cu.year.utc.range,cu.day=Yt(function(t){var n=new lu(2e3,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),cu.days=cu.day.range,cu.days.utc=cu.day.utc.range,cu.dayOfYear=function(t){var n=cu.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,n){n=7-n;var e=cu[t]=Yt(function(t){return(t=cu.day(t)).setDate(t.getDate()-(t.getDay()+n)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var e=cu.year(t).getDay();return Math.floor((cu.dayOfYear(t)+(e+n)%7)/7)-(e!==n)});cu[t+"s"]=e.range,cu[t+"s"].utc=e.utc.range,cu[t+"OfYear"]=function(t){var e=cu.year(t).getDay();return Math.floor((cu.dayOfYear(t)+(e+n)%7)/7)}}),cu.week=cu.sunday,cu.weeks=cu.sunday.range,cu.weeks.utc=cu.sunday.utc.range,cu.weekOfYear=cu.sundayOfYear;var fu={"-":"",_:" ",0:"0"},du=/^\s*\d+/,pu=/^%/;eo.locale=function(t){return{numberFormat:Bt(t),timeFormat:$t(t)}};var gu=eo.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"]});eo.format=gu.numberFormat,eo.geo={},ln.prototype={s:0,t:0,add:function(t){hn(t,this.t,yu),hn(yu.s,this.s,this),this.s?this.t+=yu.t:this.s=yu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yu=new ln;eo.geo.stream=function(t,n){t&&mu.hasOwnProperty(t.type)?mu[t.type](t,n):fn(t,n)};var mu={Feature:function(t,n){fn(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++rt?4*Lo+t:t,xu.lineStart=xu.lineEnd=xu.point=w}};eo.geo.bounds=function(){function t(t,n){_.push(b=[l=t,f=t]),h>n&&(h=n),n>d&&(d=n)}function n(n,e){var r=yn([n*Bo,e*Bo]);if(m){var i=vn(m,r),a=[i[1],-i[0],0],o=vn(a,i);xn(o),o=wn(o);var s=n-p,c=s>0?1:-1,g=o[0]*Ro*c,y=go(s)>180;if(y^(g>c*p&&c*n>g)){var v=o[1]*Ro;v>d&&(d=v)}else if(g=(g+360)%360-180,y^(g>c*p&&c*n>g)){var v=-o[1]*Ro;h>v&&(h=v)}else h>e&&(h=e),e>d&&(d=e);y?p>n?u(l,n)>u(l,f)&&(f=n):u(n,f)>u(l,f)&&(l=n):f>=l?(l>n&&(l=n),n>f&&(f=n)):n>p?u(l,n)>u(l,f)&&(f=n):u(n,f)>u(l,f)&&(l=n)}else t(n,e);m=r,p=n}function e(){x.point=n}function r(){b[0]=l,b[1]=f,x.point=t,m=null}function i(t,e){if(m){var r=t-p;v+=go(r)>180?r+(r>0?360:-360):r}else g=t,y=e;xu.point(t,e),n(t,e)}function a(){xu.lineStart()}function o(){i(g,y),xu.lineEnd(),go(v)>Fo&&(l=-(f=180)),b[0]=l,b[1]=f,m=null}function u(t,n){return(n-=t)<0?n+360:n}function s(t,n){return t[0]-n[0]}function c(t,n){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:tbu?(l=-(f=180),h=-(d=90)):v>Fo?d=90:-Fo>v&&(h=-90),b[0]=l,b[1]=f}};return function(t){d=f=-(l=h=1/0),_=[],eo.geo.stream(t,x);var n=_.length;if(n){_.sort(s);for(var e,r=1,i=_[0],a=[i];n>r;++r)e=_[r],c(e[0],i)||c(e[1],i)?(u(i[0],e[1])>u(i[0],i[1])&&(i[1]=e[1]),u(e[0],i[1])>u(i[0],i[1])&&(i[0]=e[0])):a.push(i=e);for(var o,e,p=-(1/0),n=a.length-1,r=0,i=a[n];n>=r;i=e,++r)e=a[r],(o=u(i[1],e[0]))>p&&(p=o,l=e[0],f=i[1])}return _=b=null,l===1/0||h===1/0?[[0/0,0/0],[0/0,0/0]]:[[l,h],[f,d]]}}(),eo.geo.centroid=function(t){wu=ku=Au=Eu=Mu=Du=Su=Tu=Cu=Fu=Ou=0,eo.geo.stream(t,Lu);var n=Cu,e=Fu,r=Ou,i=n*n+e*e+r*r;return Oo>i&&(n=Du,e=Su,r=Tu,Fo>ku&&(n=Au,e=Eu,r=Mu),i=n*n+e*e+r*r,Oo>i)?[0/0,0/0]:[Math.atan2(e,n)*Ro,et(r/Math.sqrt(i))*Ro]};var wu,ku,Au,Eu,Mu,Du,Su,Tu,Cu,Fu,Ou,Lu={sphere:w,point:An,lineStart:Mn,lineEnd:Dn,polygonStart:function(){Lu.lineStart=Sn},polygonEnd:function(){Lu.lineStart=Mn}},Iu=In(Cn,Rn,Yn,[-Lo,-Lo/2]),Nu=1e9;eo.geo.clipExtent=function(){var t,n,e,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=qn(t=+u[0][0],n=+u[0][1],e=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),o):[[t,n],[e,r]]}};return o.extent([[0,0],[960,500]])},(eo.geo.conicEqualArea=function(){return Wn(Hn)}).raw=Hn,eo.geo.albers=function(){return eo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},eo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return n=null,e(a,o),n||(r(a,o),n)||i(a,o),n}var n,e,r,i,a=eo.geo.albers(),o=eo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=eo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,e){n=[t,e]}};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&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?u:a).invert(t)},t.stream=function(t){var n=a.stream(t),e=o.stream(t),r=u.stream(t);return{point:function(t,i){n.point(t,i),e.point(t,i),r.point(t,i)},sphere:function(){n.sphere(),e.sphere(),r.sphere()},lineStart:function(){n.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){n.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){n.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){n.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},t.precision=function(n){return arguments.length?(a.precision(n),o.precision(n),u.precision(n),t):a.precision()},t.scale=function(n){return arguments.length?(a.scale(n),o.scale(.35*n),u.scale(n),t.translate(a.translate())):a.scale()},t.translate=function(n){if(!arguments.length)return a.translate();var c=a.scale(),l=+n[0],h=+n[1];return e=a.translate(n).clipExtent([[l-.455*c,h-.238*c],[l+.455*c,h+.238*c]]).stream(s).point,r=o.translate([l-.307*c,h+.201*c]).clipExtent([[l-.425*c+Fo,h+.12*c+Fo],[l-.214*c-Fo,h+.234*c-Fo]]).stream(s).point,i=u.translate([l-.205*c,h+.212*c]).clipExtent([[l-.214*c+Fo,h+.166*c+Fo],[l-.115*c-Fo,h+.234*c-Fo]]).stream(s).point,t},t.scale(1070)};var Pu,Bu,Ru,ju,Yu,Uu,$u={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Bu=0,$u.lineStart=Gn},polygonEnd:function(){$u.lineStart=$u.lineEnd=$u.point=w,Pu+=go(Bu/2)}},zu={point:Vn,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},qu={point:Kn,lineStart:Qn,lineEnd:Jn,polygonStart:function(){qu.lineStart=te},polygonEnd:function(){qu.point=Kn,qu.lineStart=Qn,qu.lineEnd=Jn}};eo.geo.path=function(){function t(t){return t&&("function"==typeof u&&a.pointRadius(+u.apply(this,arguments)),o&&o.valid||(o=i(a)),eo.geo.stream(t,o)),a.result()}function n(){return o=null,t}var e,r,i,a,o,u=4.5;return t.area=function(t){return Pu=0,eo.geo.stream(t,i($u)),Pu},t.centroid=function(t){return Au=Eu=Mu=Du=Su=Tu=Cu=Fu=Ou=0,eo.geo.stream(t,i(qu)),Ou?[Cu/Ou,Fu/Ou]:Tu?[Du/Tu,Su/Tu]:Mu?[Au/Mu,Eu/Mu]:[0/0,0/0]},t.bounds=function(t){return Yu=Uu=-(Ru=ju=1/0),eo.geo.stream(t,i(zu)),[[Ru,ju],[Yu,Uu]]},t.projection=function(t){return arguments.length?(i=(e=t)?t.stream||re(t):_,n()):e},t.context=function(t){return arguments.length?(a=null==(r=t)?new Zn:new ne(t),"function"!=typeof u&&a.pointRadius(u),n()):r},t.pointRadius=function(n){return arguments.length?(u="function"==typeof n?n:(a.pointRadius(+n),+n),t):u},t.projection(eo.geo.albersUsa()).context(null)},eo.geo.transform=function(t){return{stream:function(n){var e=new ie(n);for(var r in t)e[r]=t[r];return e}}},ie.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()}},eo.geo.projection=oe,eo.geo.projectionMutator=ue,(eo.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,eo.geo.rotation=function(t){function n(n){return n=t(n[0]*Bo,n[1]*Bo),n[0]*=Ro,n[1]*=Ro,n}return t=he(t[0]%360*Bo,t[1]*Bo,t.length>2?t[2]*Bo:0),n.invert=function(n){return n=t.invert(n[0]*Bo,n[1]*Bo),n[0]*=Ro,n[1]*=Ro,n},n},le.invert=ce,eo.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,n=he(-t[0]*Bo,-t[1]*Bo,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Ro,t[1]*=Ro}}),{type:"Polygon",coordinates:[i]}}var n,e,r=[0,0],i=6;return t.origin=function(n){return arguments.length?(r=n,t):r},t.angle=function(r){return arguments.length?(e=ge((n=+r)*Bo,i*Bo),t):n},t.precision=function(r){return arguments.length?(e=ge(n*Bo,(i=+r)*Bo),t):i},t.angle(90)},eo.geo.distance=function(t,n){var e,r=(n[0]-t[0])*Bo,i=t[1]*Bo,a=n[1]*Bo,o=Math.sin(r),u=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((e=h*o)*e+(e=c*l-s*h*u)*e),s*l+c*h*u)},eo.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return eo.range(Math.ceil(a/y)*y,i,y).map(f).concat(eo.range(Math.ceil(c/m)*m,s,m).map(d)).concat(eo.range(Math.ceil(r/p)*p,e,p).filter(function(t){return go(t%y)>Fo}).map(l)).concat(eo.range(Math.ceil(u/g)*g,o,g).filter(function(t){return go(t%m)>Fo}).map(h))}var e,r,i,a,o,u,s,c,l,h,f,d,p=10,g=p,y=90,m=360,v=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[f(a).concat(d(s).slice(1),f(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.majorExtent(n).minorExtent(n):t.minorExtent()},t.majorExtent=function(n){return arguments.length?(a=+n[0][0],i=+n[1][0],c=+n[0][1],s=+n[1][1],a>i&&(n=a,a=i,i=n),c>s&&(n=c,c=s,s=n),t.precision(v)):[[a,c],[i,s]]},t.minorExtent=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],u=+n[0][1],o=+n[1][1],r>e&&(n=r,r=e,e=n),u>o&&(n=u,u=o,o=n),t.precision(v)):[[r,u],[e,o]]},t.step=function(n){return arguments.length?t.majorStep(n).minorStep(n):t.minorStep()},t.majorStep=function(n){return arguments.length?(y=+n[0],m=+n[1],t):[y,m]},t.minorStep=function(n){return arguments.length?(p=+n[0],g=+n[1],t):[p,g]},t.precision=function(n){return arguments.length?(v=+n,l=me(u,o,90),h=ve(r,e,v),f=me(c,s,90),d=ve(a,i,v),t):v},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},eo.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[n||r.apply(this,arguments),e||i.apply(this,arguments)]}}var n,e,r=_e,i=be;return t.distance=function(){return eo.geo.distance(n||r.apply(this,arguments),e||i.apply(this,arguments))},t.source=function(e){return arguments.length?(r=e,n="function"==typeof e?null:e,t):r},t.target=function(n){return arguments.length?(i=n,e="function"==typeof n?null:n,t):i},t.precision=function(){return arguments.length?t:0},t},eo.geo.interpolate=function(t,n){return xe(t[0]*Bo,t[1]*Bo,n[0]*Bo,n[1]*Bo)},eo.geo.length=function(t){return Wu=0,eo.geo.stream(t,Hu),Wu};var Wu,Hu={sphere:w,point:w,lineStart:we,lineEnd:w,polygonStart:w,polygonEnd:w},Gu=ke(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(eo.geo.azimuthalEqualArea=function(){return oe(Gu)}).raw=Gu;var Vu=ke(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},_);(eo.geo.azimuthalEquidistant=function(){return oe(Vu)}).raw=Vu,(eo.geo.conicConformal=function(){return Wn(Ae)}).raw=Ae,(eo.geo.conicEquidistant=function(){return Wn(Ee)}).raw=Ee;var Zu=ke(function(t){return 1/t},Math.atan);(eo.geo.gnomonic=function(){return oe(Zu)}).raw=Zu,Me.invert=function(t,n){return[t,2*Math.atan(Math.exp(n))-Po]},(eo.geo.mercator=function(){return De(Me)}).raw=Me;var Xu=ke(function(){return 1},Math.asin);(eo.geo.orthographic=function(){return oe(Xu)}).raw=Xu;var Ku=ke(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(eo.geo.stereographic=function(){return oe(Ku)}).raw=Ku,Se.invert=function(t,n){return[-n,2*Math.atan(Math.exp(t))-Po]},(eo.geo.transverseMercator=function(){var t=De(Se),n=t.center,e=t.rotate;return t.center=function(t){return t?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return t?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])}).raw=Se,eo.geom={},eo.geom.hull=function(t){function n(t){if(t.length<3)return[];var n,i=Dt(e),a=Dt(r),o=t.length,u=[],s=[];for(n=0;o>n;n++)u.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(u.sort(Oe),n=0;o>n;n++)s.push([u[n][0],-u[n][1]]);var c=Fe(u),l=Fe(s),h=l[0]===c[0],f=l[l.length-1]===c[c.length-1],d=[];for(n=c.length-1;n>=0;--n)d.push(t[u[c[n]][2]]);for(n=+h;n=r&&c.x<=a&&c.y>=i&&c.y<=o?[[r,o],[a,o],[a,i],[r,i]]:[];l.point=t[u]}),n}function e(t){return t.map(function(t,n){return{x:Math.round(a(t,n)/Fo)*Fo,y:Math.round(o(t,n)/Fo)*Fo,i:n}})}var r=Te,i=Ce,a=r,o=i,u=os;return t?n(t):(n.links=function(t){return ur(e(t)).edges.filter(function(t){return t.l&&t.r}).map(function(n){return{source:t[n.l.i],target:t[n.r.i]}})},n.triangles=function(t){var n=[];return ur(e(t)).cells.forEach(function(e,r){for(var i,a,o=e.site,u=e.edges.sort(We),s=-1,c=u.length,l=u[c-1].edge,h=l.l===o?l.r:l.l;++s=c,f=r>=l,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=fr()),h?i=c:u=c,f?o=l:s=l,a(t,n,e,r,i,o,u,s)}var l,h,f,d,p,g,y,m,v,_=Dt(u),b=Dt(s);if(null!=n)g=n,y=e,m=r,v=i;else if(m=v=-(g=y=1/0),h=[],f=[],p=t.length,o)for(d=0;p>d;++d)l=t[d],l.xm&&(m=l.x),l.y>v&&(v=l.y),h.push(l.x),f.push(l.y);else for(d=0;p>d;++d){var x=+_(l=t[d],d),w=+b(l,d);g>x&&(g=x),y>w&&(y=w),x>m&&(m=x),w>v&&(v=w),h.push(x),f.push(w)}var k=m-g,A=v-y;k>A?v=y+k:m=g+A;var E=fr();if(E.add=function(t){a(E,t,+_(t,++d),+b(t,d),g,y,m,v)},E.visit=function(t){dr(t,E,g,y,m,v)},E.find=function(t){return pr(E,t[0],t[1],g,y,m,v)},d=-1,null==n){for(;++d=0?t.slice(0,n):t,r=n>=0?t.slice(n+1):"in";return e=ls.get(e)||cs,r=hs.get(r)||_,xr(r(e.apply(null,ro.call(arguments,1))))},eo.interpolateHcl=Ir,eo.interpolateHsl=Nr,eo.interpolateLab=Pr,eo.interpolateRound=Br,eo.transform=function(t){var n=ao.createElementNS(eo.ns.prefix.svg,"g");return(eo.transform=function(t){if(null!=t){n.setAttribute("transform",t);var e=n.transform.baseVal.consolidate()}return new Rr(e?e.matrix:fs)})(t)},Rr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var fs={a:1,b:0,c:0,d:1,e:0,f:0};eo.interpolateTransform=$r,eo.layout={},eo.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;++eu*u/y){if(p>s){var c=n.charge/s;t.px-=a*c,t.py-=o*c}return!0}if(n.point&&s&&p>s){var c=n.pointCharge/s;t.px-=a*c,t.py-=o*c}}return!n.charge}}function n(t){t.px=eo.event.x,t.py=eo.event.y,u.resume()}var e,r,i,a,o,u={},s=eo.dispatch("start","tick","end"),c=[1,1],l=.9,h=ds,f=ps,d=-30,p=gs,g=.1,y=.64,m=[],v=[];return u.tick=function(){if((r*=.99)<.005)return s.end({type:"end",alpha:r=0}),!0;var n,e,u,h,f,p,y,_,b,x=m.length,w=v.length;for(e=0;w>e;++e)u=v[e],h=u.source,f=u.target,_=f.x-h.x,b=f.y-h.y,(p=_*_+b*b)&&(p=r*a[e]*((p=Math.sqrt(p))-i[e])/p,_*=p,b*=p,f.x-=_*(y=h.weight/(f.weight+h.weight)),f.y-=b*y,h.x+=_*(y=1-y),h.y+=b*y);if((y=r*g)&&(_=c[0]/2,b=c[1]/2,e=-1,y))for(;++e0?t:0:t>0&&(s.start({type:"start",alpha:r=t}),eo.timer(u.tick)),u):r},u.start=function(){function t(t,r){if(!e){for(e=new Array(s),u=0;s>u;++u)e[u]=[];for(u=0;l>u;++u){var i=v[u];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var a,o=e[n],u=-1,c=o.length;++un;++n)(r=m[n]).index=n,r.weight=0;for(n=0;l>n;++n)r=v[n],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(n=0;s>n;++n)r=m[n],isNaN(r.x)&&(r.x=t("x",p)),isNaN(r.y)&&(r.y=t("y",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof h)for(n=0;l>n;++n)i[n]=+h.call(this,v[n],n);else for(n=0;l>n;++n)i[n]=h;if(a=[],"function"==typeof f)for(n=0;l>n;++n)a[n]=+f.call(this,v[n],n);else for(n=0;l>n;++n)a[n]=f;if(o=[],"function"==typeof d)for(n=0;s>n;++n)o[n]=+d.call(this,m[n],n);else for(n=0;s>n;++n)o[n]=d;return u.resume()},u.resume=function(){return u.alpha(.1)},u.stop=function(){return u.alpha(0)},u.drag=function(){return e||(e=eo.behavior.drag().origin(_).on("dragstart.force",Vr).on("drag.force",n).on("dragend.force",Zr)),arguments.length?void this.on("mouseover.force",Xr).on("mouseout.force",Kr).call(e):e},eo.rebind(u,s,"on")};var ds=20,ps=1,gs=1/0;eo.layout.hierarchy=function(){function t(i){var a,o=[i],u=[];for(i.depth=0;null!=(a=o.pop());)if(u.push(a),(c=e.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 ni(i,function(t){var e,i;n&&(e=t.children)&&e.sort(n),r&&(i=t.parent)&&(i.value+=t.value)}),u}var n=ii,e=ei,r=ri;return t.sort=function(e){return arguments.length?(n=e,t):n},t.children=function(n){return arguments.length?(e=n,t):e},t.value=function(n){return arguments.length?(r=n,t):r},t.revalue=function(n){return r&&(ti(n,function(t){t.children&&(t.value=0)}),ni(n,function(n){var e;n.children||(n.value=+r.call(t,n,n.depth)||0),(e=n.parent)&&(e.value+=n.value)})),n},t},eo.layout.partition=function(){function t(n,e,r,i){var a=n.children;if(n.x=e,n.y=n.depth*i,n.dx=r,n.dy=i,a&&(o=a.length)){var o,u,s,c=-1;for(r=n.value?r/n.value:0;++ch?-1:1),p=(h-s*d)/eo.sum(c),g=eo.range(s),y=[];return null!=e&&g.sort(e===ys?function(t,n){return c[n]-c[t]}:function(t,n){return e(o[t],o[n])}),g.forEach(function(t){y[t]={data:o[t],value:u=c[t],startAngle:l,endAngle:l+=u*p+d,padAngle:f}}),y}var n=Number,e=ys,r=0,i=Io,a=0;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(i=n,t):i},t.padAngle=function(n){return arguments.length?(a=n,t):a},t};var ys={};eo.layout.stack=function(){function t(u,s){if(!(f=u.length))return u;var c=u.map(function(e,r){return n.call(t,e,r)}),l=c.map(function(n){return n.map(function(n,e){return[a.call(t,n,e),o.call(t,n,e)]})}),h=e.call(t,l,s);c=eo.permute(c,h),l=eo.permute(l,h);var f,d,p,g,y=r.call(t,l,s),m=c[0].length;for(p=0;m>p;++p)for(i.call(t,c[0][p],g=y[p],l[0][p][1]),d=1;f>d;++d)i.call(t,c[d][p],g+=l[d-1][p][1],l[d][p][1]);return u}var n=_,e=ci,r=li,i=si,a=oi,o=ui;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e="function"==typeof n?n:ms.get(n)||ci,t):e},t.offset=function(n){return arguments.length?(r="function"==typeof n?n:vs.get(n)||li,t):r},t.x=function(n){return arguments.length?(a=n,t):a},t.y=function(n){return arguments.length?(o=n,t):o},t.out=function(n){return arguments.length?(i=n,t):i},t};var ms=eo.map({"inside-out":function(t){var n,e,r=t.length,i=t.map(hi),a=t.map(fi),o=eo.range(r).sort(function(t,n){return i[t]-i[n]}),u=0,s=0,c=[],l=[];for(n=0;r>n;++n)e=o[n],s>u?(u+=a[e],c.push(e)):(s+=a[e],l.push(e));return l.reverse().concat(c)},reverse:function(t){return eo.range(t.length).reverse()},"default":ci}),vs=eo.map({silhouette:function(t){var n,e,r,i=t.length,a=t[0].length,o=[],u=0,s=[];for(e=0;a>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];r>u&&(u=r),o.push(r)}for(e=0;a>e;++e)s[e]=(u-o[e])/2;return s},wiggle:function(t){var n,e,r,i,a,o,u,s,c,l=t.length,h=t[0],f=h.length,d=[];for(d[0]=s=c=0,e=1;f>e;++e){for(n=0,i=0;l>n;++n)i+=t[n][e][1];for(n=0,a=0,u=h[e][0]-h[e-1][0];l>n;++n){for(r=0,o=(t[n][e][1]-t[n][e-1][1])/(2*u);n>r;++r)o+=(t[r][e][1]-t[r][e-1][1])/u;a+=o*t[n][e][1]}d[e]=s-=i?a/i*u:0,c>s&&(c=s)}for(e=0;f>e;++e)d[e]-=c;return d},expand:function(t){var n,e,r,i=t.length,a=t[0].length,o=1/i,u=[];for(e=0;a>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];if(r)for(n=0;i>n;n++)t[n][e][1]/=r;else for(n=0;i>n;n++)t[n][e][1]=o}for(e=0;a>e;++e)u[e]=0;return u},zero:li});eo.layout.histogram=function(){function t(t,a){for(var o,u,s=[],c=t.map(e,this),l=r.call(this,c,a),h=i.call(this,l,c,a),a=-1,f=c.length,d=h.length-1,p=n?1:1/f;++a0)for(a=-1;++a=l[0]&&u<=l[1]&&(o=s[eo.bisect(h,u,1,d)-1],o.y+=p,o.push(t[a]));return s}var n=!0,e=Number,r=yi,i=pi;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=Dt(n),t):r},t.bins=function(n){return arguments.length?(i="number"==typeof n?function(t){return gi(t,n)}:Dt(n),t):i},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},eo.layout.pack=function(){function t(t,a){var o=e.call(this,t,a),u=o[0],s=i[0],c=i[1],l=null==n?Math.sqrt:"function"==typeof n?n:function(){return n};if(u.x=u.y=0,ni(u,function(t){t.r=+l(t.value)}),ni(u,xi),r){var h=r*(n?1:Math.max(2*u.r/s,2*u.r/c))/2;ni(u,function(t){t.r+=h; + +}),ni(u,xi),ni(u,function(t){t.r-=h})}return Ai(u,s/2,c/2,n?1:1/Math.max(2*u.r/s,2*u.r/c)),o}var n,e=eo.layout.hierarchy().sort(mi),r=0,i=[1,1];return t.size=function(n){return arguments.length?(i=n,t):i},t.radius=function(e){return arguments.length?(n=null==e||"function"==typeof e?e:+e,t):n},t.padding=function(n){return arguments.length?(r=+n,t):r},Jr(t,e)},eo.layout.tree=function(){function t(t,i){var l=o.call(this,t,i),h=l[0],f=n(h);if(ni(f,e),f.parent.m=-f.z,ti(f,r),c)ti(h,a);else{var d=h,p=h,g=h;ti(h,function(t){t.xp.x&&(p=t),t.depth>g.depth&&(g=t)});var y=u(d,p)/2-d.x,m=s[0]/(p.x+u(p,d)/2+y),v=s[1]/(g.depth||1);ti(h,function(t){t.x=(t.x+y)*m,t.y=t.depth*v})}return l}function n(t){for(var n,e={A:null,children:[t]},r=[e];null!=(n=r.pop());)for(var i,a=n.children,o=0,u=a.length;u>o;++o)r.push((a[o]=i={_:a[o],parent:n,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 e.children[0]}function e(t){var n=t.children,e=t.parent.children,r=t.i?e[t.i-1]:null;if(n.length){Ci(t);var a=(n[0].z+n[n.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||e[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,n,e){if(n){for(var r,i=t,a=t,o=n,s=i.parent.children[0],c=i.m,l=a.m,h=o.m,f=s.m;o=Si(o),i=Di(i),o&&i;)s=Di(s),a=Si(a),a.a=t,r=o.z+h-i.z-c+u(o._,i._),r>0&&(Ti(Fi(o,t,e),t,r),c+=r,l+=r),h+=o.m,c+=i.m,f+=s.m,l+=a.m;o&&!Si(a)&&(a.t=o,a.m+=h-l),i&&!Di(s)&&(s.t=i,s.m+=c-f,e=t)}return e}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var o=eo.layout.hierarchy().sort(null).value(null),u=Mi,s=[1,1],c=null;return t.separation=function(n){return arguments.length?(u=n,t):u},t.size=function(n){return arguments.length?(c=null==(s=n)?a:null,t):c?null:s},t.nodeSize=function(n){return arguments.length?(c=null==(s=n)?null:a,t):c?s:null},Jr(t,o)},eo.layout.cluster=function(){function t(t,a){var o,u=n.call(this,t,a),s=u[0],c=0;ni(s,function(t){var n=t.children;n&&n.length?(t.x=Li(n),t.y=Oi(n)):(t.x=o?c+=e(t,o):0,t.y=0,o=t)});var l=Ii(s),h=Ni(s),f=l.x-e(l,h)/2,d=h.x+e(h,l)/2;return ni(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-f)/(d-f)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var n=eo.layout.hierarchy().sort(null).value(null),e=Mi,r=[1,1],i=!1;return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(i=null==(r=n),t):i?null:r},t.nodeSize=function(n){return arguments.length?(i=null!=(r=n),t):i?r:null},Jr(t,n)},eo.layout.treemap=function(){function t(t,n){for(var e,r,i=-1,a=t.length;++in?0:n),e.area=isNaN(r)||0>=r?0:r}function n(e){var a=e.children;if(a&&a.length){var o,u,s,c=h(e),l=[],f=a.slice(),p=1/0,g="slice"===d?c.dx:"dice"===d?c.dy:"slice-dice"===d?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(f,c.dx*c.dy/e.value),l.area=0;(s=f.length)>0;)l.push(o=f[s-1]),l.area+=o.area,"squarify"!==d||(u=r(l,g))<=p?(f.pop(),p=u):(l.area-=l.pop().area,i(l,g,c,!1),g=Math.min(c.dx,c.dy),l.length=l.area=0,p=1/0);l.length&&(i(l,g,c,!0),l.length=l.area=0),a.forEach(n)}}function e(n){var r=n.children;if(r&&r.length){var a,o=h(n),u=r.slice(),s=[];for(t(u,o.dx*o.dy/n.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(e)}}function r(t,n){for(var e,r=t.area,i=0,a=1/0,o=-1,u=t.length;++oe&&(a=e),e>i&&(i=e));return r*=r,n*=n,r?Math.max(n*i*p/r,r/(n*a*p)):1/0}function i(t,n,e,r){var i,a=-1,o=t.length,u=e.x,c=e.y,l=n?s(t.area/n):0;if(n==e.dx){for((r||l>e.dy)&&(l=e.dy);++ae.dx)&&(l=e.dx);++ae&&(n=1),1>e&&(t=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return t+n*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=eo.random.normal.apply(eo,arguments);return function(){return Math.exp(t())}},bates:function(t){var n=eo.random.irwinHall(t);return function(){return n()/t}},irwinHall:function(t){return function(){for(var n=0,e=0;t>e;e++)n+=Math.random();return n}}},eo.scale={};var _s={floor:_,ceil:_};eo.scale.linear=function(){return qi([0,1],[0,1],_r,!1)};var bs={s:1,g:1,p:1,r:1,e:1};eo.scale.log=function(){return Qi(eo.scale.linear().domain([0,1]),10,!0,[1,10])};var xs=eo.format(".0e"),ws={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};eo.scale.pow=function(){return Ji(eo.scale.linear(),1,[0,1])},eo.scale.sqrt=function(){return eo.scale.pow().exponent(.5)},eo.scale.ordinal=function(){return na([],{t:"range",a:[[]]})},eo.scale.category10=function(){return eo.scale.ordinal().range(ks)},eo.scale.category20=function(){return eo.scale.ordinal().range(As)},eo.scale.category20b=function(){return eo.scale.ordinal().range(Es)},eo.scale.category20c=function(){return eo.scale.ordinal().range(Ms)};var ks=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(bt),As=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(bt),Es=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(bt),Ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(bt);eo.scale.quantile=function(){return ea([],[])},eo.scale.quantize=function(){return ra(0,1,[0,1])},eo.scale.threshold=function(){return ia([.5],[0,1])},eo.scale.identity=function(){return aa([0,1])},eo.svg={},eo.svg.arc=function(){function t(){var t=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),l=o.apply(this,arguments)-Po,h=u.apply(this,arguments)-Po,f=Math.abs(h-l),d=l>h?0:1;if(t>c&&(p=c,c=t,t=p),f>=No)return n(c,d)+(t?n(t,1-d):"")+"Z";var p,g,y,m,v,_,b,x,w,k,A,E,M=0,D=0,S=[];if((m=(+s.apply(this,arguments)||0)/2)&&(y=a===Ds?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(D*=-1),c&&(D=et(y/c*Math.sin(m))),t&&(M=et(y/t*Math.sin(m)))),c){v=c*Math.cos(l+D),_=c*Math.sin(l+D),b=c*Math.cos(h-D),x=c*Math.sin(h-D);var T=Math.abs(h-l-2*D)<=Lo?0:1;if(D&&fa(v,_,b,x)===d^T){var C=(l+h)/2;v=c*Math.cos(C),_=c*Math.sin(C),b=x=null}}else v=_=0;if(t){w=t*Math.cos(h-M),k=t*Math.sin(h-M),A=t*Math.cos(l+M),E=t*Math.sin(l+M);var F=Math.abs(l-h+2*M)<=Lo?0:1;if(M&&fa(w,k,A,E)===1-d^F){var O=(l+h)/2;w=t*Math.cos(O),k=t*Math.sin(O),A=E=null}}else w=k=0;if((p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){g=c>t^d?0:1;var L=null==A?[w,k]:null==b?[v,_]:Ie([v,_],[A,E],[b,x],[w,k]),I=v-L[0],N=_-L[1],P=b-L[0],B=x-L[1],R=1/Math.sin(Math.acos((I*P+N*B)/(Math.sqrt(I*I+N*N)*Math.sqrt(P*P+B*B)))/2),j=Math.sqrt(L[0]*L[0]+L[1]*L[1]);if(null!=b){var Y=Math.min(p,(c-j)/(R+1)),U=da(null==A?[w,k]:[A,E],[v,_],c,Y,d),$=da([b,x],[w,k],c,Y,d);p===Y?S.push("M",U[0],"A",Y,",",Y," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-d^fa(U[1][0],U[1][1],$[1][0],$[1][1]),",",d," ",$[1],"A",Y,",",Y," 0 0,",g," ",$[0]):S.push("M",U[0],"A",Y,",",Y," 0 1,",g," ",$[0])}else S.push("M",v,",",_);if(null!=A){var z=Math.min(p,(t-j)/(R-1)),q=da([v,_],[A,E],t,-z,d),W=da([w,k],null==b?[v,_]:[b,x],t,-z,d);p===z?S.push("L",W[0],"A",z,",",z," 0 0,",g," ",W[1],"A",t,",",t," 0 ",d^fa(W[1][0],W[1][1],q[1][0],q[1][1]),",",1-d," ",q[1],"A",z,",",z," 0 0,",g," ",q[0]):S.push("L",W[0],"A",z,",",z," 0 0,",g," ",q[0])}else S.push("L",w,",",k)}else S.push("M",v,",",_),null!=b&&S.push("A",c,",",c," 0 ",T,",",d," ",b,",",x),S.push("L",w,",",k),null!=A&&S.push("A",t,",",t," 0 ",F,",",1-d," ",A,",",E);return S.push("Z"),S.join("")}function n(t,n){return"M0,"+t+"A"+t+","+t+" 0 1,"+n+" 0,"+-t+"A"+t+","+t+" 0 1,"+n+" 0,"+t}var e=ua,r=sa,i=oa,a=Ds,o=ca,u=la,s=ha;return t.innerRadius=function(n){return arguments.length?(e=Dt(n),t):e},t.outerRadius=function(n){return arguments.length?(r=Dt(n),t):r},t.cornerRadius=function(n){return arguments.length?(i=Dt(n),t):i},t.padRadius=function(n){return arguments.length?(a=n==Ds?Ds:Dt(n),t):a},t.startAngle=function(n){return arguments.length?(o=Dt(n),t):o},t.endAngle=function(n){return arguments.length?(u=Dt(n),t):u},t.padAngle=function(n){return arguments.length?(s=Dt(n),t):s},t.centroid=function(){var t=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,n=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-Po;return[Math.cos(n)*t,Math.sin(n)*t]},t};var Ds="auto";eo.svg.line=function(){return pa(_)};var Ss=eo.map({linear:ga,"linear-closed":ya,step:ma,"step-before":va,"step-after":_a,basis:Ea,"basis-open":Ma,"basis-closed":Da,bundle:Sa,cardinal:wa,"cardinal-open":ba,"cardinal-closed":xa,monotone:Ia});Ss.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var Ts=[0,2/3,1/3,0],Cs=[0,1/3,2/3,0],Fs=[0,1/6,2/3,1/6];eo.svg.line.radial=function(){var t=pa(Na);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},va.reverse=_a,_a.reverse=va,eo.svg.area=function(){return Pa(_)},eo.svg.area.radial=function(){var t=Pa(Na);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},eo.svg.chord=function(){function t(t,u){var s=n(this,a,t,u),c=n(this,o,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(e(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 n(t,n,e,r){var i=n.call(t,e,r),a=u.call(t,i,r),o=s.call(t,i,r)-Po,l=c.call(t,i,r)-Po;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 e(t,n){return t.a0==n.a0&&t.a1==n.a1}function r(t,n,e){return"A"+t+","+t+" 0 "+ +(e>Lo)+",1 "+n}function i(t,n,e,r){return"Q 0,0 "+r}var a=_e,o=be,u=Ba,s=ca,c=la;return t.radius=function(n){return arguments.length?(u=Dt(n),t):u},t.source=function(n){return arguments.length?(a=Dt(n),t):a},t.target=function(n){return arguments.length?(o=Dt(n),t):o},t.startAngle=function(n){return arguments.length?(s=Dt(n),t):s},t.endAngle=function(n){return arguments.length?(c=Dt(n),t):c},t},eo.svg.diagonal=function(){function t(t,i){var a=n.call(this,t,i),o=e.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 n=_e,e=be,r=Ra;return t.source=function(e){return arguments.length?(n=Dt(e),t):n},t.target=function(n){return arguments.length?(e=Dt(n),t):e},t.projection=function(n){return arguments.length?(r=n,t):r},t},eo.svg.diagonal.radial=function(){var t=eo.svg.diagonal(),n=Ra,e=t.projection;return t.projection=function(t){return arguments.length?e(ja(n=t)):n},t},eo.svg.symbol=function(){function t(t,r){return(Os.get(n.call(this,t,r))||$a)(e.call(this,t,r))}var n=Ua,e=Ya;return t.type=function(e){return arguments.length?(n=Dt(e),t):n},t.size=function(n){return arguments.length?(e=Dt(n),t):e},t};var Os=eo.map({circle:$a,cross:function(t){var n=Math.sqrt(t/5)/2;return"M"+-3*n+","+-n+"H"+-n+"V"+-3*n+"H"+n+"V"+-n+"H"+3*n+"V"+n+"H"+n+"V"+3*n+"H"+-n+"V"+n+"H"+-3*n+"Z"},diamond:function(t){var n=Math.sqrt(t/(2*Is)),e=n*Is;return"M0,"+-n+"L"+e+",0 0,"+n+" "+-e+",0Z"},square:function(t){var n=Math.sqrt(t)/2;return"M"+-n+","+-n+"L"+n+","+-n+" "+n+","+n+" "+-n+","+n+"Z"},"triangle-down":function(t){var n=Math.sqrt(t/Ls),e=n*Ls/2;return"M0,"+e+"L"+n+","+-e+" "+-n+","+-e+"Z"},"triangle-up":function(t){var n=Math.sqrt(t/Ls),e=n*Ls/2;return"M0,"+-e+"L"+n+","+e+" "+-n+","+e+"Z"}});eo.svg.symbolTypes=Os.keys();var Ls=Math.sqrt(3),Is=Math.tan(30*Bo);Ao.transition=function(t){for(var n,e,r=Ns||++js,i=Ga(t),a=[],o=Ps||{time:Date.now(),ease:Mr,delay:0,duration:250},u=-1,s=this.length;++ua;a++){i.push(n=[]);for(var e=this[a],u=0,s=e.length;s>u;u++)(r=e[u])&&t.call(r,r.__data__,u,a)&&n.push(r)}return qa(i,this.namespace,this.id)},Rs.tween=function(t,n){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(t):q(this,null==n?function(n){n[r][e].tween.remove(t)}:function(i){i[r][e].tween.set(t,n)})},Rs.attr=function(t,n){function e(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?e:(t+="",function(){var n,e=this.getAttribute(u);return e!==t&&(n=o(e,t),function(t){this.setAttribute(u,n(t))})})}function a(t){return null==t?r:(t+="",function(){var n,e=this.getAttributeNS(u.space,u.local);return e!==t&&(n=o(e,t),function(t){this.setAttributeNS(u.space,u.local,n(t))})})}if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var o="transform"==t?$r:_r,u=eo.ns.qualify(t);return Wa(this,"attr."+t,n,u.local?a:i)},Rs.attrTween=function(t,n){function e(t,e){var r=n.call(this,t,e,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,e){var r=n.call(this,t,e,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=eo.ns.qualify(t);return this.tween("attr."+t,i.local?r:e)},Rs.style=function(t,n,r){function i(){this.style.removeProperty(t)}function a(n){return null==n?i:(n+="",function(){var i,a=e(this).getComputedStyle(this,null).getPropertyValue(t);return a!==n&&(i=_r(a,n),function(n){this.style.setProperty(t,i(n),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof t){2>o&&(n="");for(r in t)this.style(r,t[r],n);return this}r=""}return Wa(this,"style."+t,n,a)},Rs.styleTween=function(t,n,r){function i(i,a){var o=n.call(this,i,a,e(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(n){this.style.setProperty(t,o(n),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Rs.text=function(t){return Wa(this,"text",t,Ha)},Rs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var n;this[t].count<2&&(n=this.parentNode)&&n.removeChild(this)})},Rs.ease=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].ease:("function"!=typeof t&&(t=eo.ease.apply(eo,arguments)),q(this,function(r){r[e][n].ease=t}))},Rs.delay=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].delay:q(this,"function"==typeof t?function(r,i,a){r[e][n].delay=+t.call(r,r.__data__,i,a)}:(t=+t,function(r){r[e][n].delay=t}))},Rs.duration=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].duration:q(this,"function"==typeof t?function(r,i,a){r[e][n].duration=Math.max(1,t.call(r,r.__data__,i,a))}:(t=Math.max(1,t),function(r){r[e][n].duration=t}))},Rs.each=function(t,n){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ps,a=Ns;try{Ns=e,q(this,function(n,i,a){Ps=n[r][e],t.call(n,n.__data__,i,a)})}finally{Ps=i,Ns=a}}else q(this,function(i){var a=i[r][e];(a.event||(a.event=eo.dispatch("start","end","interrupt"))).on(t,n)});return this},Rs.transition=function(){for(var t,n,e,r,i=this.id,a=++js,o=this.namespace,u=[],s=0,c=this.length;c>s;s++){u.push(t=[]);for(var n=this[s],l=0,h=n.length;h>l;l++)(e=n[l])&&(r=e[o][i],Va(e,l,o,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(e)}return qa(u,o,a)},eo.svg.axis=function(){function t(t){t.each(function(){var t,c=eo.select(this),l=this.__chart__||e,h=this.__chart__=e.copy(),f=null==s?h.ticks?h.ticks.apply(h,u):h.domain():s,d=null==n?h.tickFormat?h.tickFormat.apply(h,u):_:n,p=c.selectAll(".tick").data(f,h),g=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Fo),y=eo.transition(p.exit()).style("opacity",Fo).remove(),m=eo.transition(p.order()).style("opacity",1),v=Math.max(i,0)+o,b=ji(h),x=c.selectAll(".domain").data([0]),w=(x.enter().append("path").attr("class","domain"),eo.transition(x));g.append("line"),g.append("text");var k,A,E,M,D=g.select("line"),S=m.select("line"),T=p.select("text").text(d),C=g.select("text"),F=m.select("text"),O="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=Za,k="x",E="y",A="x2",M="y2",T.attr("dy",0>O?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+O*a+"V0H"+b[1]+"V"+O*a)):(t=Xa,k="y",E="x",A="y2",M="x2",T.attr("dy",".32em").style("text-anchor",0>O?"end":"start"),w.attr("d","M"+O*a+","+b[0]+"H0V"+b[1]+"H"+O*a)),D.attr(M,O*i),C.attr(E,O*v),S.attr(A,0).attr(M,O*i),F.attr(k,0).attr(E,O*v),h.rangeBand){var L=h,I=L.rangeBand()/2;l=h=function(t){return L(t)+I}}else l.rangeBand?l=h:y.call(t,h,l);g.call(t,l,h),m.call(t,h,h)})}var n,e=eo.scale.linear(),r=Ys,i=6,a=6,o=3,u=[10],s=null;return t.scale=function(n){return arguments.length?(e=n,t):e},t.orient=function(n){return arguments.length?(r=n in Us?n+"":Ys,t):r},t.ticks=function(){return arguments.length?(u=arguments,t):u},t.tickValues=function(n){return arguments.length?(s=n,t):s},t.tickFormat=function(e){return arguments.length?(n=e,t):n},t.tickSize=function(n){var e=arguments.length;return e?(i=+n,a=+arguments[e-1],t):i},t.innerTickSize=function(n){return arguments.length?(i=+n,t):i},t.outerTickSize=function(n){return arguments.length?(a=+n,t):a},t.tickPadding=function(n){return arguments.length?(o=+n,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var Ys="bottom",Us={top:1,right:1,bottom:1,left:1};eo.svg.brush=function(){function t(e){e.each(function(){var e=eo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",a).on("touchstart.brush",a),o=e.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=e.selectAll(".resize").data(g,_);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return $s[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,h=eo.transition(e),f=eo.transition(o);c&&(s=ji(c),f.attr("x",s[0]).attr("width",s[1]-s[0]),r(h)),l&&(s=ji(l),f.attr("y",s[0]).attr("height",s[1]-s[0]),i(h)),n(h)})}function n(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+h[+/e$/.test(t)]+","+f[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",h[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",h[1]-h[0])}function i(t){t.select(".extent").attr("y",f[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function a(){function a(){32==eo.event.keyCode&&(T||(_=null,F[0]-=h[1],F[1]-=f[1],T=2),E())}function g(){32==eo.event.keyCode&&2==T&&(F[0]+=h[1],F[1]+=f[1],T=0,E())}function y(){var t=eo.mouse(x),e=!1;b&&(t[0]+=b[0],t[1]+=b[1]),T||(eo.event.altKey?(_||(_=[(h[0]+h[1])/2,(f[0]+f[1])/2]),F[0]=h[+(t[0]<_[0])],F[1]=f[+(t[1]<_[1])]):_=null),D&&m(t,c,0)&&(r(A),e=!0),S&&m(t,l,1)&&(i(A),e=!0),e&&(n(A),k({type:"brush",mode:T?"move":"resize"}))}function m(t,n,e){var r,i,a=ji(n),s=a[0],c=a[1],l=F[e],g=e?f:h,y=g[1]-g[0];return T&&(s-=l,c-=y+l),r=(e?p:d)?Math.max(s,Math.min(c,t[e])):t[e],T?i=(r+=l)+y:(_&&(l=Math.max(s,Math.min(c,2*_[e]-r))),r>l?(i=r,r=l):i=l),g[0]!=r||g[1]!=i?(e?u=null:o=null,g[0]=r,g[1]=i,!0):void 0}function v(){y(),A.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),eo.select("body").style("cursor",null),O.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),C(),k({type:"brushend"})}var _,b,x=this,w=eo.select(eo.event.target),k=s.of(x,arguments),A=eo.select(x),M=w.datum(),D=!/^(n|s)$/.test(M)&&c,S=!/^(e|w)$/.test(M)&&l,T=w.classed("extent"),C=X(x),F=eo.mouse(x),O=eo.select(e(x)).on("keydown.brush",a).on("keyup.brush",g);if(eo.event.changedTouches?O.on("touchmove.brush",y).on("touchend.brush",v):O.on("mousemove.brush",y).on("mouseup.brush",v),A.interrupt().selectAll("*").interrupt(),T)F[0]=h[0]-F[0],F[1]=f[0]-F[1];else if(M){var L=+/w$/.test(M),I=+/^n/.test(M);b=[h[1-L]-F[0],f[1-I]-F[1]],F[0]=h[L],F[1]=f[I]}else eo.event.altKey&&(_=F.slice());A.style("pointer-events","none").selectAll(".resize").style("display",null),eo.select("body").style("cursor",w.style("cursor")),k({type:"brushstart"}),y()}var o,u,s=D(t,"brushstart","brush","brushend"),c=null,l=null,h=[0,0],f=[0,0],d=!0,p=!0,g=zs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),n={x:h,y:f,i:o,j:u},e=this.__chart__||n;this.__chart__=n,Ns?eo.select(this).transition().each("start.brush",function(){o=e.i,u=e.j,h=e.x,f=e.y,t({type:"brushstart"})}).tween("brush:brush",function(){var e=br(h,n.x),r=br(f,n.y);return o=u=null,function(i){h=n.x=e(i),f=n.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=n.i,u=n.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(n){return arguments.length?(c=n,g=zs[!c<<1|!l],t):c},t.y=function(n){return arguments.length?(l=n,g=zs[!c<<1|!l],t):l},t.clamp=function(n){return arguments.length?(c&&l?(d=!!n[0],p=!!n[1]):c?d=!!n:l&&(p=!!n),t):c&&l?[d,p]:c?d:l?p:null},t.extent=function(n){var e,r,i,a,s;return arguments.length?(c&&(e=n[0],r=n[1],l&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(s=e,e=r,r=s),(e!=h[0]||r!=h[1])&&(h=[e,r])),l&&(i=n[0],a=n[1],c&&(i=i[1],a=a[1]),u=[i,a],l.invert&&(i=l(i),a=l(a)),i>a&&(s=i,i=a,a=s),(i!=f[0]||a!=f[1])&&(f=[i,a])),t):(c&&(o?(e=o[0],r=o[1]):(e=h[0],r=h[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(s=e,e=r,r=s))),l&&(u?(i=u[0],a=u[1]):(i=f[0],a=f[1],l.invert&&(i=l.invert(i),a=l.invert(a)),i>a&&(s=i,i=a,a=s))),c&&l?[[e,i],[r,a]]:c?[e,r]:l&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=u=null),t},t.empty=function(){return!!c&&h[0]==h[1]||!!l&&f[0]==f[1]},eo.rebind(t,s,"on")};var $s={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],qs=cu.format=gu.timeFormat,Ws=qs.utc,Hs=Ws("%Y-%m-%dT%H:%M:%S.%LZ");qs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ka:Hs,Ka.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},Ka.toString=Hs.toString,cu.second=Yt(function(t){return new lu(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),cu.seconds=cu.second.range,cu.seconds.utc=cu.second.utc.range,cu.minute=Yt(function(t){return new lu(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),cu.minutes=cu.minute.range,cu.minutes.utc=cu.minute.utc.range,cu.hour=Yt(function(t){var n=t.getTimezoneOffset()/60;return new lu(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),cu.hours=cu.hour.range,cu.hours.utc=cu.hour.utc.range,cu.month=Yt(function(t){return t=cu.day(t),t.setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),cu.months=cu.month.range,cu.months.utc=cu.month.utc.range;var Gs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Vs=[[cu.second,1],[cu.second,5],[cu.second,15],[cu.second,30],[cu.minute,1],[cu.minute,5],[cu.minute,15],[cu.minute,30],[cu.hour,1],[cu.hour,3],[cu.hour,6],[cu.hour,12],[cu.day,1],[cu.day,2],[cu.week,1],[cu.month,1],[cu.month,3],[cu.year,1]],Zs=qs.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",Cn]]),Xs={range:function(t,n,e){return eo.range(Math.ceil(t/e)*e,+n,e).map(Ja)},floor:_,ceil:_};Vs.year=cu.year,cu.scale=function(){return Qa(eo.scale.linear(),Vs,Zs)};var Ks=Vs.map(function(t){return[t[0].utc,t[1]]}),Qs=Ws.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",Cn]]);Ks.year=cu.year.utc,cu.scale.utc=function(){return Qa(eo.scale.linear(),Ks,Qs)},eo.text=St(function(t){return t.responseText}),eo.json=function(t,n){return Tt(t,"application/json",to,n)},eo.html=function(t,n){return Tt(t,"text/html",no,n)},eo.xml=St(function(t){return t.responseXML}),"function"==typeof define&&define.amd?define(eo):"object"==typeof n&&n.exports&&(n.exports=eo),this.d3=eo}()},{}],5:[function(t,n){n.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":12,"./lib/graphlib":13,"./lib/intersect":14,"./lib/render":29,"./lib/util":31,"./lib/version":32}],6:[function(t,n){function e(t,n,e,r){var i=t.append("marker").attr("id",n).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),o=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,e[r+"Style"])}function r(t,n,e,r){var i=t.append("marker").attr("id",n).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),o=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");a.applyStyle(o,e[r+"Style"])}function i(t,n,e,r){var i=t.append("marker").attr("id",n).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),o=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,e[r+"Style"])}var a=t("./util");n.exports={"default":e,normal:e,vee:r,undirected:i}},{"./util":31}],7:[function(t,n){function e(t,n){var e=n.nodes().filter(function(t){return r.isSubgraph(n,t)}),a=t.selectAll("g.cluster").data(e,function(t){return t});return a.selectAll("*").remove(),a.enter().append("g").attr("class","cluster").attr("id",function(t){var e=n.node(t);return e.id}).style("opacity",0),r.applyTransition(a,n).style("opacity",1),a.each(function(t){var e=n.node(t),r=d3.select(this);d3.select(this).append("rect");var a=r.append("g").attr("class","label");i(a,e,e.clusterLabelPos)}),a.selectAll("rect").each(function(t){var e=n.node(t),i=d3.select(this);r.applyStyle(i,e.style)}),r.applyTransition(a.exit(),n).style("opacity",0).remove(),a}var r=t("./util"),i=t("./label/add-label");n.exports=e},{"./label/add-label":22,"./util":31}],8:[function(t,n){"use strict";function e(t,n){var e=t.selectAll("g.edgeLabel").data(n.edges(),function(t){return a.edgeToId(t)}).classed("update",!0);return e.selectAll("*").remove(),e.enter().append("g").classed("edgeLabel",!0).style("opacity",0),e.each(function(t){var e=n.edge(t),a=i(o.select(this),n.edge(t),0,0).classed("label",!0),u=a.node().getBBox();e.labelId&&a.attr("id",e.labelId),r.has(e,"width")||(e.width=u.width),r.has(e,"height")||(e.height=u.height)}),a.applyTransition(e.exit(),n).style("opacity",0).remove(),e}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");n.exports=e},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],9:[function(t,n){"use strict";function e(t,n,e){var i=t.selectAll("g.edgePath").data(n.edges(),function(t){return l.edgeToId(t)}).classed("update",!0);return o(i,n),u(i,n),l.applyTransition(i,n).style("opacity",1),i.each(function(t){var e=h.select(this),r=n.edge(t);r.elem=this,r.id&&e.attr("id",r.id),l.applyClass(e,r["class"],(e.classed("update")?"update ":"")+"edgePath")}),i.selectAll("path.path").each(function(t){var e=n.edge(t);e.arrowheadId=s.uniqueId("arrowhead");var i=h.select(this).attr("marker-end",function(){return"url(#"+e.arrowheadId+")"}).style("fill","none");l.applyTransition(i,n).attr("d",function(t){return r(n,t)}),l.applyStyle(i,e.style)}),i.selectAll("defs *").remove(),i.selectAll("defs").each(function(t){var r=n.edge(t),i=e[r.arrowhead];i(h.select(this),r.arrowheadId,r,"arrowhead")}),i}function r(t,n){var e=t.edge(n),r=t.node(n.v),a=t.node(n.w),o=e.points.slice(1,e.points.length-1);return o.unshift(c(r,o[0])),o.push(c(a,o[o.length-1])),i(e,o)}function i(t,n){var e=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return s.has(t,"lineInterpolate")&&e.interpolate(t.lineInterpolate),s.has(t,"lineTension")&&e.tension(Number(t.lineTension)),e(n)}function a(t){var n=t.getBBox(),e=t.getTransformToElement(t.ownerSVGElement).translate(n.width/2,n.height/2);return{x:e.e,y:e.f}}function o(t,n){var e=t.enter().append("g").attr("class","edgePath").style("opacity",0);e.append("path").attr("class","path").attr("d",function(t){var e=n.edge(t),r=n.node(t.v).elem,o=s.range(e.points.length).map(function(){return a(r)});return i(e,o)}),e.append("defs")}function u(t,n){var e=t.exit();l.applyTransition(e,n).style("opacity",0).remove(),l.applyTransition(e.select("path.path"),n).attr("d",function(t){var e=n.node(t.v);if(e){var r=s.range(this.pathSegList.length).map(function(){return e});return i({},r)}return h.select(this).attr("d")})}var s=t("./lodash"),c=t("./intersect/intersect-node"),l=t("./util"),h=t("./d3");n.exports=e},{"./d3":11,"./intersect/intersect-node":18,"./lodash":25,"./util":31}],10:[function(t,n){"use strict"; + +function e(t,n,e){var u=n.nodes().filter(function(t){return!a.isSubgraph(n,t)}),s=t.selectAll("g.node").data(u,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 u=n.node(t),s=o.select(this),c=s.append("g").attr("class","label"),l=i(c,u),h=e[u.shape],f=r.pick(l.node().getBBox(),"width","height");u.elem=this,u.id&&s.attr("id",u.id),u.labelId&&c.attr("id",u.labelId),a.applyClass(s,u["class"],(s.classed("update")?"update ":"")+"node"),r.has(u,"width")&&(f.width=u.width),r.has(u,"height")&&(f.height=u.height),f.width+=u.paddingLeft+u.paddingRight,f.height+=u.paddingTop+u.paddingBottom,c.attr("transform","translate("+(u.paddingLeft-u.paddingRight)/2+","+(u.paddingTop-u.paddingBottom)/2+")");var d=h(o.select(this),f,u);a.applyStyle(d,u.style);var p=d.node().getBBox();u.width=p.width,u.height=p.height}),a.applyTransition(s.exit(),n).style("opacity",0).remove(),s}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");n.exports=e},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],11:[function(t,n){n.exports=window.d3},{}],12:[function(t,n){var e;if(t)try{e=t("dagre")}catch(r){}e||(e=window.dagre),n.exports=e},{dagre:33}],13:[function(t,n){var e;if(t)try{e=t("graphlib")}catch(r){}e||(e=window.graphlib),n.exports=e},{graphlib:63}],14:[function(t,n){n.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":15,"./intersect-ellipse":16,"./intersect-node":18,"./intersect-polygon":19,"./intersect-rect":20}],15:[function(t,n){function e(t,n,e){return r(t,n,n,e)}var r=t("./intersect-ellipse");n.exports=e},{"./intersect-ellipse":16}],16:[function(t,n){function e(t,n,e,r){var i=t.x,a=t.y,o=i-r.x,u=a-r.y,s=Math.sqrt(n*n*u*u+e*e*o*o),c=Math.abs(n*e*o/s);r.xm?(m-y)/g:(m+y)/g,m=o*c-a*l,_=0>m?(m-y)/g:(m+y)/g,{x:v,y:_})}function r(t,n){return t*n>0}n.exports=e},{}],18:[function(t,n){function e(t,n){return t.intersect(n)}n.exports=e},{}],19:[function(t,n){function e(t,n,e){var i=t.x,a=t.y,o=[],u=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;n.forEach(function(t){u=Math.min(u,t.x),s=Math.min(s,t.y)});for(var c=i-t.width/2-u,l=a-t.height/2-s,h=0;h1&&o.sort(function(t,n){var r=t.x-e.x,i=t.y-e.y,a=Math.sqrt(r*r+i*i),o=n.x-e.x,u=n.y-e.y,s=Math.sqrt(o*o+u*u);return s>a?-1:a===s?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var r=t("./intersect-line");n.exports=e},{"./intersect-line":17}],20:[function(t,n){function e(t,n){var e,r,i=t.x,a=t.y,o=n.x-i,u=n.y-a,s=t.width/2,c=t.height/2;return Math.abs(u)*s>Math.abs(o)*c?(0>u&&(c=-c),e=0===u?0:c*o/u,r=c):(0>o&&(s=-s),e=s,r=0===o?0:s*u/o),{x:i+e,y:a+r}}n.exports=e},{}],21:[function(t,n){function e(t,n){var e=t.append("foreignObject").attr("width","100000"),i=e.append("xhtml:div"),a=n.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}r.applyStyle(i,n.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var o,u;return i.each(function(){o=this.clientWidth,u=this.clientHeight}),e.attr("width",o).attr("height",u),e}var r=t("../util");n.exports=e},{"../util":31}],22:[function(t,n){function e(t,n,e){var o=n.label,u=t.append("g");"svg"===n.labelType?a(u,n):"string"!=typeof o||"html"===n.labelType?i(u,n):r(u,n);var s,c=u.node().getBBox();switch(e){case"top":s=-n.height/2;break;case"bottom":s=n.height/2-c.height;break;default:s=-c.height/2}return u.attr("transform","translate("+-c.width/2+","+s+")"),u}var r=t("./add-text-label"),i=t("./add-html-label"),a=t("./add-svg-label");n.exports=e},{"./add-html-label":21,"./add-svg-label":23,"./add-text-label":24}],23:[function(t,n){function e(t,n){var e=t;return e.node().appendChild(n.label),r.applyStyle(e,n.labelStyle),e}var r=t("../util");n.exports=e},{"../util":31}],24:[function(t,n){function e(t,n){for(var e=t.append("text"),a=r(n.label).split("\n"),o=0;ou;++u)r(t,"borderLeft","_bl",e,o,u),r(t,"borderRight","_br",e,o,u)}}i.each(t.children(),n)}function r(t,n,e,r,i,o){var u={width:0,height:0,rank:o,borderType:n},s=i[n][o-1],c=a.addDummyNode(t,"border",u,e);i[n][o]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var i=t("./lodash"),a=t("./util");n.exports=e},{"./lodash":42,"./util":61}],36:[function(t,n){"use strict";function e(t){var n=t.graph().rankdir.toLowerCase();("lr"===n||"rl"===n)&&i(t)}function r(t){var n=t.graph().rankdir.toLowerCase();("bt"===n||"rl"===n)&&o(t),("lr"===n||"rl"===n)&&(s(t),i(t))}function i(t){l.each(t.nodes(),function(n){a(t.node(n))}),l.each(t.edges(),function(n){a(t.edge(n))})}function a(t){var n=t.width;t.width=t.height,t.height=n}function o(t){l.each(t.nodes(),function(n){u(t.node(n))}),l.each(t.edges(),function(n){var e=t.edge(n);l.each(e.points,u),l.has(e,"y")&&u(e)})}function u(t){t.y=-t.y}function s(t){l.each(t.nodes(),function(n){c(t.node(n))}),l.each(t.edges(),function(n){var e=t.edge(n);l.each(e.points,c),l.has(e,"x")&&c(e)})}function c(t){var n=t.x;t.x=t.y,t.y=n}var l=t("./lodash");n.exports={adjust:e,undo:r}},{"./lodash":42}],37:[function(t,n){function e(){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,n){return"_next"!==t&&"_prev"!==t?n:void 0}n.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,n=t._prev;return n!==t?(r(n),n):void 0},e.prototype.enqueue=function(t){var n=this._sentinel;t._prev&&t._next&&r(t),t._next=n._next,n._next._prev=t,n._next=t,t._prev=n},e.prototype.toString=function(){for(var t=[],n=this._sentinel,e=n._prev;e!==n;)t.push(JSON.stringify(e,i)),e=e._prev;return"["+t.join(", ")+"]"}},{}],38:[function(t,n){function e(t){var n=i.buildLayerMatrix(t),e=new a({compound:!0,multigraph:!0}).setGraph({});return r.each(t.nodes(),function(n){e.setNode(n,{label:n}),e.setParent(n,"layer"+t.node(n).rank)}),r.each(t.edges(),function(t){e.setEdge(t.v,t.w,{},t.name)}),r.each(n,function(t,n){var i="layer"+n;e.setNode(i,{rank:"same"}),r.reduce(t,function(t,n){return e.setEdge(t,n,{style:"invis"}),n})}),e}var r=t("./lodash"),i=t("./util"),a=t("./graphlib").Graph;n.exports={debugOrdering:e}},{"./graphlib":39,"./lodash":42,"./util":61}],39:[function(t,n){var e;if("function"==typeof t)try{e=t("graphlib")}catch(r){}e||(e=window.graphlib),n.exports=e},{graphlib:63}],40:[function(t,n){function e(t,n){if(t.nodeCount()<=1)return[];var e=a(t,n||l),i=r(e.graph,e.buckets,e.zeroIdx);return u.flatten(u.map(i,function(n){return t.outEdges(n.v,n.w)}),!0)}function r(t,n,e){for(var r,a=[],o=n[n.length-1],u=n[0];t.nodeCount();){for(;r=u.dequeue();)i(t,n,e,r);for(;r=o.dequeue();)i(t,n,e,r);if(t.nodeCount())for(var s=n.length-2;s>0;--s)if(r=n[s].dequeue()){a=a.concat(i(t,n,e,r,!0));break}}return a}function i(t,n,e,r,i){var a=i?[]:void 0;return u.each(t.inEdges(r.v),function(r){var u=t.edge(r),s=t.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=u,o(n,e,s)}),u.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,u=t.node(a);u["in"]-=i,o(n,e,u)}),t.removeNode(r.v),a}function a(t,n){var e=new s,r=0,i=0;u.each(t.nodes(),function(t){e.setNode(t,{v:t,"in":0,out:0})}),u.each(t.edges(),function(t){var a=e.edge(t.v,t.w)||0,o=n(t),u=a+o;e.setEdge(t.v,t.w,u),i=Math.max(i,e.node(t.v).out+=o),r=Math.max(r,e.node(t.w)["in"]+=o)});var a=u.range(i+r+3).map(function(){return new c}),l=r+1;return u.each(e.nodes(),function(t){o(a,l,e.node(t))}),{graph:e,buckets:a,zeroIdx:l}}function o(t,n,e){e.out?e["in"]?t[e.out-e["in"]+n].enqueue(e):t[t.length-1].enqueue(e):t[0].enqueue(e)}var u=t("./lodash"),s=t("./graphlib").Graph,c=t("./data/list");n.exports=e;var l=u.constant(1)},{"./data/list":37,"./graphlib":39,"./lodash":42}],41:[function(t,n){"use strict";function e(t,n){var e=n&&n.debugTiming?O.time:O.notime;e("layout",function(){var n=e(" buildLayoutGraph",function(){return a(t)});e(" runLayout",function(){r(n,e)}),e(" updateInputGraph",function(){i(t,n)})})}function r(t,n){n(" makeSpaceForEdgeLabels",function(){o(t)}),n(" removeSelfEdges",function(){g(t)}),n(" acyclic",function(){x.run(t)}),n(" nestingGraph.run",function(){D.run(t)}),n(" rank",function(){k(O.asNonCompoundGraph(t))}),n(" injectEdgeLabelProxies",function(){u(t)}),n(" removeEmptyRanks",function(){M(t)}),n(" nestingGraph.cleanup",function(){D.cleanup(t)}),n(" normalizeRanks",function(){A(t)}),n(" assignRankMinMax",function(){s(t)}),n(" removeEdgeLabelProxies",function(){c(t)}),n(" normalize.run",function(){w.run(t)}),n(" parentDummyChains",function(){E(t)}),n(" addBorderSegments",function(){S(t)}),n(" order",function(){C(t)}),n(" insertSelfEdges",function(){y(t)}),n(" adjustCoordinateSystem",function(){T.adjust(t)}),n(" position",function(){F(t)}),n(" positionSelfEdges",function(){m(t)}),n(" removeBorderNodes",function(){p(t)}),n(" normalize.undo",function(){w.undo(t)}),n(" fixupEdgeLabelCoords",function(){f(t)}),n(" undoCoordinateSystem",function(){T.undo(t)}),n(" translateGraph",function(){l(t)}),n(" assignNodeIntersects",function(){h(t)}),n(" reversePoints",function(){d(t)}),n(" acyclic.undo",function(){x.undo(t)})}function i(t,n){b.each(t.nodes(),function(e){var r=t.node(e),i=n.node(e);r&&(r.x=i.x,r.y=i.y,n.children(e).length&&(r.width=i.width,r.height=i.height))}),b.each(t.edges(),function(e){var r=t.edge(e),i=n.edge(e);r.points=i.points,b.has(i,"x")&&(r.x=i.x,r.y=i.y)}),t.graph().width=n.graph().width,t.graph().height=n.graph().height}function a(t){var n=new L({multigraph:!0,compound:!0}),e=_(t.graph());return n.setGraph(b.merge({},N,v(e,I),b.pick(e,P))),b.each(t.nodes(),function(e){var r=_(t.node(e));n.setNode(e,b.defaults(v(r,B),R)),n.setParent(e,t.parent(e))}),b.each(t.edges(),function(e){var r=_(t.edge(e));n.setEdge(e,b.merge({},Y,v(r,j),b.pick(r,U)))}),n}function o(t){var n=t.graph();n.ranksep/=2,b.each(t.edges(),function(e){var r=t.edge(e);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===n.rankdir||"BT"===n.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function u(t){b.each(t.edges(),function(n){var e=t.edge(n);if(e.width&&e.height){var r=t.node(n.v),i=t.node(n.w),a={rank:(i.rank-r.rank)/2+r.rank,e:n};O.addDummyNode(t,"edge-proxy",a,"_ep")}})}function s(t){var n=0;b.each(t.nodes(),function(e){var r=t.node(e);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,n=b.max(n,r.maxRank))}),t.graph().maxRank=n}function c(t){b.each(t.nodes(),function(n){var e=t.node(n);"edge-proxy"===e.dummy&&(t.edge(e.e).labelRank=e.rank,t.removeNode(n))})}function l(t){function n(t){var n=t.x,o=t.y,u=t.width,s=t.height;e=Math.min(e,n-u/2),r=Math.max(r,n+u/2),i=Math.min(i,o-s/2),a=Math.max(a,o+s/2)}var e=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(e){n(t.node(e))}),b.each(t.edges(),function(e){var r=t.edge(e);b.has(r,"x")&&n(r)}),e-=u,i-=s,b.each(t.nodes(),function(n){var r=t.node(n);r.x-=e,r.y-=i}),b.each(t.edges(),function(n){var r=t.edge(n);b.each(r.points,function(t){t.x-=e,t.y-=i}),b.has(r,"x")&&(r.x-=e),b.has(r,"y")&&(r.y-=i)}),o.width=r-e+u,o.height=a-i+s}function h(t){b.each(t.edges(),function(n){var e,r,i=t.edge(n),a=t.node(n.v),o=t.node(n.w);i.points?(e=i.points[0],r=i.points[i.points.length-1]):(i.points=[],e=o,r=a),i.points.unshift(O.intersectRect(a,e)),i.points.push(O.intersectRect(o,r))})}function f(t){b.each(t.edges(),function(n){var e=t.edge(n);if(b.has(e,"x"))switch(("l"===e.labelpos||"r"===e.labelpos)&&(e.width-=e.labeloffset),e.labelpos){case"l":e.x-=e.width/2+e.labeloffset;break;case"r":e.x+=e.width/2+e.labeloffset}})}function d(t){b.each(t.edges(),function(n){var e=t.edge(n);e.reversed&&e.points.reverse()})}function p(t){b.each(t.nodes(),function(n){if(t.children(n).length){var e=t.node(n),r=t.node(e.borderTop),i=t.node(e.borderBottom),a=t.node(b.last(e.borderLeft)),o=t.node(b.last(e.borderRight));e.width=Math.abs(o.x-a.x),e.height=Math.abs(i.y-r.y),e.x=a.x+e.width/2,e.y=r.y+e.height/2}}),b.each(t.nodes(),function(n){"border"===t.node(n).dummy&&t.removeNode(n)})}function g(t){b.each(t.edges(),function(n){if(n.v===n.w){var e=t.node(n.v);e.selfEdges||(e.selfEdges=[]),e.selfEdges.push({e:n,label:t.edge(n)}),t.removeEdge(n)}})}function y(t){var n=O.buildLayerMatrix(t);b.each(n,function(n){var e=0;b.each(n,function(n,r){var i=t.node(n);i.order=r+e,b.each(i.selfEdges,function(n){O.addDummyNode(t,"selfedge",{width:n.label.width,height:n.label.height,rank:i.rank,order:r+ ++e,e:n.e,label:n.label},"_se")}),delete i.selfEdges})})}function m(t){b.each(t.nodes(),function(n){var e=t.node(n);if("selfedge"===e.dummy){var r=t.node(e.e.v),i=r.x+r.width/2,a=r.y,o=e.x-i,u=r.height/2;t.setEdge(e.e,e.label),t.removeNode(n),e.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}],e.label.x=e.x,e.label.y=e.y}})}function v(t,n){return b.mapValues(b.pick(t,n),Number)}function _(t){var n={};return b.each(t,function(t,e){n[e.toLowerCase()]=t}),n}var b=t("./lodash"),x=t("./acyclic"),w=t("./normalize"),k=t("./rank"),A=t("./util").normalizeRanks,E=t("./parent-dummy-chains"),M=t("./util").removeEmptyRanks,D=t("./nesting-graph"),S=t("./add-border-segments"),T=t("./coordinate-system"),C=t("./order"),F=t("./position"),O=t("./util"),L=t("./graphlib").Graph;n.exports=e;var I=["nodesep","edgesep","ranksep","marginx","marginy"],N={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},P=["acyclicer","ranker","rankdir","align"],B=["width","height"],R={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],Y={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":34,"./add-border-segments":35,"./coordinate-system":36,"./graphlib":39,"./lodash":42,"./nesting-graph":43,"./normalize":44,"./order":49,"./parent-dummy-chains":54,"./position":56,"./rank":58,"./util":61}],42:[function(t,n){var e;if("function"==typeof t)try{e=t("lodash")}catch(r){}e||(e=window._),n.exports=e},{lodash:83}],43:[function(t,n){function e(t){var n=s.addDummyNode(t,"root",{},"_root"),e=i(t),o=u.max(e)-1,c=2*o+1;t.graph().nestingRoot=n,u.each(t.edges(),function(n){t.edge(n).minlen*=c});var l=a(t)+1;u.each(t.children(),function(i){r(t,n,c,l,o,e,i)}),t.graph().nodeRankFactor=c}function r(t,n,e,i,a,o,c){var l=t.children(c);if(!l.length)return void(c!==n&&t.setEdge(n,c,{weight:0,minlen:e}));var h=s.addBorderNode(t,"_bt"),f=s.addBorderNode(t,"_bb"),d=t.node(c);t.setParent(h,c),d.borderTop=h,t.setParent(f,c),d.borderBottom=f,u.each(l,function(u){r(t,n,e,i,a,o,u);var s=t.node(u),l=s.borderTop?s.borderTop:u,d=s.borderBottom?s.borderBottom:u,p=s.borderTop?i:2*i,g=l!==d?1:a-o[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(n,h,{weight:0,minlen:a+o[c]})}function i(t){function n(r,i){var a=t.children(r);a&&a.length&&u.each(a,function(t){n(t,i+1)}),e[r]=i}var e={};return u.each(t.children(),function(t){n(t,1)}),e}function a(t){return u.reduce(t.edges(),function(n,e){return n+t.edge(e).weight},0)}function o(t){var n=t.graph();t.removeNode(n.nestingRoot),delete n.nestingRoot,u.each(t.edges(),function(n){var e=t.edge(n);e.nestingEdge&&t.removeEdge(n)})}var u=t("./lodash"),s=t("./util");n.exports={run:e,cleanup:o}},{"./lodash":42,"./util":61}],44:[function(t,n){"use strict";function e(t){t.graph().dummyChains=[],a.each(t.edges(),function(n){r(t,n)})}function r(t,n){var e=n.v,r=t.node(e).rank,i=n.w,a=t.node(i).rank,u=n.name,s=t.edge(n),c=s.labelRank;if(a!==r+1){t.removeEdge(n);var l,h,f;for(f=0,++r;a>r;++f,++r)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},l=o.addDummyNode(t,"edge",h,"_d"),r===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),t.setEdge(e,l,{weight:s.weight},u),0===f&&t.graph().dummyChains.push(l),e=l;t.setEdge(e,i,{weight:s.weight},u)}}function i(t){a.each(t.graph().dummyChains,function(n){var e,r=t.node(n),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)e=t.successors(n)[0],t.removeNode(n),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),n=e,r=t.node(n)})}var a=t("./lodash"),o=t("./util");n.exports={run:e,undo:i}},{"./lodash":42,"./util":61}],45:[function(t,n){function e(t,n,e){var i,a={};r.each(e,function(e){for(var r,o,u=t.parent(e);u;){if(r=t.parent(u),r?(o=a[r],a[r]=u):(o=i,i=u),o&&o!==u)return void n.setEdge(o,u);u=r}})}var r=t("../lodash");n.exports=e},{"../lodash":42}],46:[function(t,n){function e(t,n){return r.map(n,function(n){var e=t.inEdges(n);if(e.length){var i=r.reduce(e,function(n,e){var r=t.edge(e),i=t.node(e.v);return{sum:n.sum+r.weight*i.order,weight:n.weight+r.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}return{v:n}})}var r=t("../lodash");n.exports=e},{"../lodash":42}],47:[function(t,n){function e(t,n,e){var o=r(t),u=new a({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(n){return t.node(n)});return i.each(t.nodes(),function(r){var a=t.node(r),s=t.parent(r);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(u.setNode(r),u.setParent(r,s||o),i.each(t[e](r),function(n){var e=n.v===r?n.w:n.v,a=u.edge(e,r),o=i.isUndefined(a)?0:a.weight;u.setEdge(e,r,{weight:t.edge(n).weight+o})}),i.has(a,"minRank")&&u.setNode(r,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),u}function r(t){for(var n;t.hasNode(n=i.uniqueId("_root")););return n}var i=t("../lodash"),a=t("../graphlib").Graph;n.exports=e},{"../graphlib":39,"../lodash":42}],48:[function(t,n){"use strict";function e(t,n){for(var e=0,i=1;i0;)n%2&&(e+=s[n+1]),n=n-1>>1,s[n]+=t.weight;c+=t.weight*e})),c}var i=t("../lodash");n.exports=e},{"../lodash":42}],49:[function(t,n){"use strict";function e(t){var n=d.maxRank(t),e=r(t,o.range(1,n+1),"inEdges"),c=r(t,o.range(n-1,-1,-1),"outEdges"),l=u(t);a(t,l);for(var h,f=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?e:c,p%4>=2),l=d.buildLayerMatrix(t);var y=s(t,l);f>y&&(g=0,h=o.cloneDeep(l),f=y)}a(t,h)}function r(t,n,e){return o.map(n,function(n){return l(t,n,e)})}function i(t,n){var e=new f;o.each(t,function(t){var r=t.graph().root,i=c(t,r,e,n);o.each(i.vs,function(n,e){t.node(n).order=e}),h(t,e,i.vs)})}function a(t,n){o.each(n,function(n){o.each(n,function(n,e){t.node(n).order=e})})}var o=t("../lodash"),u=t("./init-order"),s=t("./cross-count"),c=t("./sort-subgraph"),l=t("./build-layer-graph"),h=t("./add-subgraph-constraints"),f=t("../graphlib").Graph,d=t("../util");n.exports=e},{"../graphlib":39,"../lodash":42,"../util":61,"./add-subgraph-constraints":45,"./build-layer-graph":47,"./cross-count":48,"./init-order":50,"./sort-subgraph":52}],50:[function(t,n){"use strict";function e(t){function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.each(t.successors(i),n)}}var e={},i=r.filter(t.nodes(),function(n){return!t.children(n).length}),a=r.max(r.map(i,function(n){return t.node(n).rank})),o=r.map(r.range(a+1),function(){return[]}),u=r.sortBy(i,function(n){return t.node(n).rank});return r.each(u,n),o}var r=t("../lodash");n.exports=e},{"../lodash":42}],51:[function(t,n){"use strict";function e(t,n){var e={};a.each(t,function(t,n){var r=e[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:n};a.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),a.each(n.edges(),function(t){var n=e[t.v],r=e[t.w];a.isUndefined(n)||a.isUndefined(r)||(r.indegree++,n.out.push(e[t.w]))});var i=a.filter(e,function(t){return!t.indegree});return r(i)}function r(t){function n(t){return function(n){n.merged||(a.isUndefined(n.barycenter)||a.isUndefined(t.barycenter)||n.barycenter>=t.barycenter)&&i(t,n)}}function e(n){return function(e){e["in"].push(n),0===--e.indegree&&t.push(e)}}for(var r=[];t.length;){var o=t.pop();r.push(o),a.each(o["in"].reverse(),n(o)),a.each(o.out,e(o))}return a.chain(r).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,["vs","i","barycenter","weight"])}).value()}function i(t,n){var e=0,r=0;t.weight&&(e+=t.barycenter*t.weight,r+=t.weight),n.weight&&(e+=n.barycenter*n.weight,r+=n.weight),t.vs=n.vs.concat(t.vs),t.barycenter=e/r,t.weight=r,t.i=Math.min(n.i,t.i),n.merged=!0}var a=t("../lodash");n.exports=e},{"../lodash":42}],52:[function(t,n){function e(t,n,c,l){var h=t.children(n),f=t.node(n),d=f?f.borderLeft:void 0,p=f?f.borderRight:void 0,g={};d&&(h=a.filter(h,function(t){return t!==d&&t!==p}));var y=o(t,h);a.each(y,function(n){if(t.children(n.v).length){var r=e(t,n.v,c,l);g[n.v]=r,a.has(r,"barycenter")&&i(n,r)}});var m=u(y,c);r(m,g);var v=s(m,l);if(d&&(v.vs=a.flatten([d,v.vs,p],!0),t.predecessors(d).length)){var _=t.node(t.predecessors(d)[0]),b=t.node(t.predecessors(p)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+_.order+b.order)/(v.weight+2),v.weight+=2}return v}function r(t,n){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return n[t]?n[t].vs:t}),!0)})}function i(t,n){a.isUndefined(t.barycenter)?(t.barycenter=n.barycenter,t.weight=n.weight):(t.barycenter=(t.barycenter*t.weight+n.barycenter*n.weight)/(t.weight+n.weight),t.weight+=n.weight)}var a=t("../lodash"),o=t("./barycenter"),u=t("./resolve-conflicts"),s=t("./sort");n.exports=e},{"../lodash":42,"./barycenter":46,"./resolve-conflicts":51,"./sort":53}],53:[function(t,n){function e(t,n){var e=o.partition(t,function(t){return a.has(t,"barycenter")}),u=e.lhs,s=a.sortBy(e.rhs,function(t){return-t.i}),c=[],l=0,h=0,f=0;u.sort(i(!!n)),f=r(c,s,f),a.each(u,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=r(c,s,f)});var d={vs:a.flatten(c,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}function r(t,n,e){for(var r;n.length&&(r=a.last(n)).i<=e;)n.pop(),t.push(r.vs),e++;return e}function i(t){return function(n,e){return n.barycentere.barycenter?1:t?e.i-n.i:n.i-e.i}}var a=t("../lodash"),o=t("../util");n.exports=e},{"../lodash":42,"../util":61}],54:[function(t,n){function e(t){var n=i(t);a.each(t.graph().dummyChains,function(e){for(var i=t.node(e),a=i.edgeObj,o=r(t,n,a.v,a.w),u=o.path,s=o.lca,c=0,l=u[c],h=!0;e!==a.w;){if(i=t.node(e),h){for(;(l=u[c])!==s&&t.node(l).maxRanks||c>n[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)u.push(i);return{path:o.concat(u.reverse()),lca:a}}function i(t){function n(i){var o=r;a.each(t.children(i),n),e[i]={low:o,lim:r++}}var e={},r=0;return a.each(t.children(),n),e}var a=t("./lodash");n.exports=e},{"./lodash":42}],55:[function(t,n){"use strict";function e(t,n){function e(n,e){var o=0,u=0,s=n.length,c=y.last(e);return y.each(e,function(n,l){var h=i(t,n),f=h?t.node(h).order:s;(h||n===c)&&(y.each(e.slice(u,l+1),function(n){y.each(t.predecessors(n),function(e){var i=t.node(e),u=i.order;!(o>u||u>f)||i.dummy&&t.node(n).dummy||a(r,e,n)})}),u=l+1,o=f)}),e}var r={};return y.reduce(n,e),r}function r(t,n){function e(n,e,r,o,u){var s;y.each(y.range(e,r),function(e){s=n[e],t.node(s).dummy&&y.each(t.predecessors(s),function(n){var e=t.node(n);e.dummy&&(e.orderu)&&a(i,n,s)})})}function r(n,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,e(r,o,s,a,i),o=s,a=i)}e(r,o,r.length,i,n.length)}),r}var i={};return y.reduce(n,r),i}function i(t,n){return t.node(n).dummy?y.find(t.predecessors(n),function(n){return t.node(n).dummy}):void 0}function a(t,n,e){if(n>e){var r=n;n=e,e=r}var i=t[n];i||(t[n]=i={}),i[e]=!0}function o(t,n,e){if(n>e){var r=n;n=e,e=r}return y.has(t[n],e)}function u(t,n,e,r){var i={},a={},u={};return y.each(n,function(t){y.each(t,function(t,n){i[t]=t,a[t]=t,u[t]=n})}), +y.each(n,function(t){var n=-1;y.each(t,function(t){var s=r(t);if(s.length){s=y.sortBy(s,function(t){return u[t]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var f=s[l];a[t]===t&&no.lim&&(u=o,s=!0);var c=p.filter(n.edges(),function(n){return s===d(t,t.node(n.v),u)&&s!==d(t,t.node(n.w),u)});return p.min(c,function(t){return y(n,t)})}function l(t,n,e,i){var a=e.v,u=e.w;t.removeEdge(a,u),t.setEdge(i.v,i.w,{}),o(t),r(t,n),h(t,n)}function h(t,n){var e=p.find(t.nodes(),function(t){return!n.node(t).parent}),r=v(t,e);r=r.slice(1),p.each(r,function(e){var r=t.node(e).parent,i=n.edge(e,r),a=!1;i||(i=n.edge(r,e),a=!0),n.node(e).rank=n.node(r).rank+(a?i.minlen:-i.minlen)})}function f(t,n,e){return t.hasEdge(n,e)}function d(t,n,e){return e.low<=n.lim&&n.lim<=e.lim}var p=t("../lodash"),g=t("./feasible-tree"),y=t("./util").slack,m=t("./util").longestPath,v=t("../graphlib").alg.preorder,_=t("../graphlib").alg.postorder,b=t("../util").simplify;n.exports=e,e.initLowLimValues=o,e.initCutValues=r,e.calcCutValue=a,e.leaveEdge=s,e.enterEdge=c,e.exchangeEdges=l},{"../graphlib":39,"../lodash":42,"../util":61,"./feasible-tree":57,"./util":60}],60:[function(t,n){"use strict";function e(t){function n(r){var a=t.node(r);if(i.has(e,r))return a.rank;e[r]=!0;var o=i.min(i.map(t.outEdges(r),function(e){return n(e.w)-t.edge(e).minlen}));return o===Number.POSITIVE_INFINITY&&(o=0),a.rank=o}var e={};i.each(t.sources(),n)}function r(t,n){return t.node(n.w).rank-t.node(n.v).rank-t.edge(n).minlen}var i=t("../lodash");n.exports={longestPath:e,slack:r}},{"../lodash":42}],61:[function(t,n){"use strict";function e(t,n,e,r){var i;do i=y.uniqueId(r);while(t.hasNode(i));return e.dummy=n,t.setNode(i,e),i}function r(t){var n=(new m).setGraph(t.graph());return y.each(t.nodes(),function(e){n.setNode(e,t.node(e))}),y.each(t.edges(),function(e){var r=n.edge(e.v,e.w)||{weight:0,minlen:1},i=t.edge(e);n.setEdge(e.v,e.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function i(t){var n=new m({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(e){t.children(e).length||n.setNode(e,t.node(e))}),y.each(t.edges(),function(e){n.setEdge(e,t.edge(e))}),n}function a(t){var n=y.map(t.nodes(),function(n){var e={};return y.each(t.outEdges(n),function(n){e[n.w]=(e[n.w]||0)+t.edge(n).weight}),e});return y.zipObject(t.nodes(),n)}function o(t){var n=y.map(t.nodes(),function(n){var e={};return y.each(t.inEdges(n),function(n){e[n.v]=(e[n.v]||0)+t.edge(n).weight}),e});return y.zipObject(t.nodes(),n)}function u(t,n){var e=t.x,r=t.y,i=n.x-e,a=n.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?(0>a&&(u=-u),s=u*i/a,c=u):(0>i&&(o=-o),s=o,c=o*a/i),{x:e+s,y:r+c}}function s(t){var n=y.map(y.range(f(t)+1),function(){return[]});return y.each(t.nodes(),function(e){var r=t.node(e),i=r.rank;y.isUndefined(i)||(n[i][r.order]=e)}),n}function c(t){var n=y.min(y.map(t.nodes(),function(n){return t.node(n).rank}));y.each(t.nodes(),function(e){var r=t.node(e);y.has(r,"rank")&&(r.rank-=n)})}function l(t){var n=y.min(y.map(t.nodes(),function(n){return t.node(n).rank})),e=[];y.each(t.nodes(),function(r){var i=t.node(r).rank-n;e[i]||(e[i]=[]),e[i].push(r)});var r=0,i=t.graph().nodeRankFactor;y.each(e,function(n,e){y.isUndefined(n)&&e%i!==0?--r:r&&y.each(n,function(n){t.node(n).rank+=r})})}function h(t,n,r,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=i),e(t,"border",a,n)}function f(t){return y.max(y.map(t.nodes(),function(n){var e=t.node(n).rank;return y.isUndefined(e)?void 0:e}))}function d(t,n){var e={lhs:[],rhs:[]};return y.each(t,function(t){n(t)?e.lhs.push(t):e.rhs.push(t)}),e}function p(t,n){var e=y.now();try{return n()}finally{console.log(t+" time: "+(y.now()-e)+"ms")}}function g(t,n){return n()}var y=t("./lodash"),m=t("./graphlib").Graph;n.exports={addDummyNode:e,simplify:r,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:o,intersectRect:u,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:f,partition:d,time:p,notime:g}},{"./graphlib":39,"./lodash":42}],62:[function(t,n){n.exports="0.7.4"},{}],63:[function(t,n){var e=t("./lib");n.exports={Graph:e.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:e.version}},{"./lib":79,"./lib/alg":70,"./lib/json":80}],64:[function(t,n){function e(t){function n(a){r.has(i,a)||(i[a]=!0,e.push(a),r.each(t.successors(a),n),r.each(t.predecessors(a),n))}var e,i={},a=[];return r.each(t.nodes(),function(t){e=[],n(t),e.length&&a.push(e)}),a}var r=t("../lodash");n.exports=e},{"../lodash":81}],65:[function(t,n){function e(t,n,e){i.isArray(n)||(n=[n]);var a=[],o={};return i.each(n,function(n){if(!t.hasNode(n))throw new Error("Graph does not have node: "+n);r(t,n,"post"===e,o,a)}),a}function r(t,n,e,a,o){i.has(a,n)||(a[n]=!0,e||o.push(n),i.each(t.neighbors(n),function(n){r(t,n,e,a,o)}),e&&o.push(n))}var i=t("../lodash");n.exports=e},{"../lodash":81}],66:[function(t,n){function e(t,n,e){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,n,e)},{})}var r=t("./dijkstra"),i=t("../lodash");n.exports=e},{"../lodash":81,"./dijkstra":67}],67:[function(t,n){function e(t,n,e,i){return r(t,String(n),e||o,i||function(n){return t.outEdges(n)})}function r(t,n,e,r){var i,o,u={},s=new a,c=function(t){var n=t.v!==i?t.v:t.w,r=u[n],a=e(t),c=o.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c0&&(i=s.removeMin(),o=u[i],o.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var i=t("../lodash"),a=t("../data/priority-queue");n.exports=e;var o=i.constant(1)},{"../data/priority-queue":77,"../lodash":81}],68:[function(t,n){function e(t){return r.filter(i(t),function(n){return n.length>1||1===n.length&&t.hasEdge(n[0],n[0])})}var r=t("../lodash"),i=t("./tarjan");n.exports=e},{"../lodash":81,"./tarjan":75}],69:[function(t,n){function e(t,n,e){return r(t,n||a,e||function(n){return t.outEdges(n)})}function r(t,n,e){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(n){t!==n&&(r[t][n]={distance:Number.POSITIVE_INFINITY})}),e(t).forEach(function(e){var i=e.v===t?e.w:e.v,a=n(e);r[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var n=r[t];i.forEach(function(e){var a=r[e];i.forEach(function(e){var r=a[t],i=n[e],o=a[e],u=r.distance+i.distance;ui&&(s[e]=o,c.decrease(e,i))}}var o,u=new i,s={},c=new a;if(0===t.nodeCount())return u;r.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(o=c.removeMin(),r.has(s,o))u.setEdge(o,s[o]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(o).forEach(e)}return u}var r=t("../lodash"),i=t("../graph"),a=t("../data/priority-queue");n.exports=e},{"../data/priority-queue":77,"../graph":78,"../lodash":81}],75:[function(t,n){function e(t){function n(u){var s=a[u]={onStack:!0,lowlink:e,index:e++};if(i.push(u),t.successors(u).forEach(function(t){r.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(n(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(u!==c);o.push(l)}}var e=0,i=[],a={},o=[];return t.nodes().forEach(function(t){r.has(a,t)||n(t)}),o}var r=t("../lodash");n.exports=e},{"../lodash":81}],76:[function(t,n){function e(t){function n(u){if(i.has(a,u))throw new r;i.has(e,u)||(a[u]=!0,e[u]=!0,i.each(t.predecessors(u),n),delete a[u],o.push(u))}var e={},a={},o=[];if(i.each(t.sinks(),n),i.size(e)!==t.nodeCount())throw new r;return o}function r(){}var i=t("../lodash");n.exports=e,e.CycleException=r},{"../lodash":81}],77:[function(t,n){function e(){this._arr=[],this._keyIndices={}}var r=t("../lodash");n.exports=e,e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(t){return t.key})},e.prototype.has=function(t){return r.has(this._keyIndices,t)},e.prototype.priority=function(t){var n=this._keyIndices[t];return void 0!==n?this._arr[n].priority:void 0},e.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(t,n){var e=this._keyIndices;if(t=String(t),!r.has(e,t)){var i=this._arr,a=i.length;return e[t]=a,i.push({key:t,priority:n}),this._decrease(a),!0}return!1},e.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},e.prototype.decrease=function(t,n){var e=this._keyIndices[t];if(n>this._arr[e].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[e].priority+" New: "+n);this._arr[e].priority=n,this._decrease(e)},e.prototype._heapify=function(t){var n=this._arr,e=2*t,r=e+1,i=t;e>1,!(e[n].prioritya){var o=i;i=a,a=o}return i+h+a+h+(s.isUndefined(r)?c:r)}function o(t,n,e,r){var i=""+n,a=""+e;if(!t&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return r&&(u.name=r),u}function u(t,n){return a(t,n.v,n.w,n.name)}var s=t("./lodash");n.exports=e;var c="\x00",l="\x00",h="";e.prototype._nodeCount=0,e.prototype._edgeCount=0,e.prototype.isDirected=function(){return this._isDirected},e.prototype.isMultigraph=function(){return this._isMultigraph},e.prototype.isCompound=function(){return this._isCompound},e.prototype.setGraph=function(t){return this._label=t,this},e.prototype.graph=function(){return this._label},e.prototype.setDefaultNodeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultNodeLabelFn=t,this},e.prototype.nodeCount=function(){return this._nodeCount},e.prototype.nodes=function(){return s.keys(this._nodes)},e.prototype.sources=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._in[t])},this)},e.prototype.sinks=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._out[t])},this)},e.prototype.setNodes=function(t,n){var e=arguments;return s.each(t,function(t){e.length>1?this.setNode(t,n):this.setNode(t)},this),this},e.prototype.setNode=function(t,n){return s.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=l,this._children[t]={},this._children[l][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},e.prototype.node=function(t){return this._nodes[t]},e.prototype.hasNode=function(t){return s.has(this._nodes,t)},e.prototype.removeNode=function(t){var n=this;if(s.has(this._nodes,t)){var e=function(t){n.removeEdge(n._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],s.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),s.each(s.keys(this._in[t]),e),delete this._in[t],delete this._preds[t],s.each(s.keys(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},e.prototype.setParent=function(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(n))n=l;else{n+="";for(var e=n;!s.isUndefined(e);e=this.parent(e))if(e===t)throw new Error("Setting "+n+" as parent of "+t+" would create create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this},e.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},e.prototype.parent=function(t){if(this._isCompound){var n=this._parent[t];if(n!==l)return n}},e.prototype.children=function(t){if(s.isUndefined(t)&&(t=l),this._isCompound){var n=this._children[t];if(n)return s.keys(n)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},e.prototype.predecessors=function(t){var n=this._preds[t];return n?s.keys(n):void 0},e.prototype.successors=function(t){var n=this._sucs[t];return n?s.keys(n):void 0},e.prototype.neighbors=function(t){var n=this.predecessors(t);return n?s.union(n,this.successors(t)):void 0},e.prototype.filterNodes=function(t){function n(t){var a=r.parent(t);return void 0===a||e.hasNode(a)?(i[t]=a,a):a in i?i[a]:n(a)}var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),s.each(this._nodes,function(n,r){t(r)&&e.setNode(r,n)},this),s.each(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,this.edge(t))},this);var r=this,i={};return this._isCompound&&s.each(e.nodes(),function(t){e.setParent(t,n(t))}),e},e.prototype.setDefaultEdgeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultEdgeLabelFn=t,this},e.prototype.edgeCount=function(){return this._edgeCount},e.prototype.edges=function(){return s.values(this._edgeObjs)},e.prototype.setPath=function(t,n){var e=this,r=arguments;return s.reduce(t,function(t,i){return r.length>1?e.setEdge(t,i,n):e.setEdge(t,i),i}),this},e.prototype.setEdge=function(){var t,n,e,i,u=!1,c=arguments[0];"object"==typeof c&&null!==c&&"v"in c?(t=c.v,n=c.w,e=c.name,2===arguments.length&&(i=arguments[1],u=!0)):(t=c,n=arguments[1],e=arguments[3],arguments.length>2&&(i=arguments[2],u=!0)),t=""+t,n=""+n,s.isUndefined(e)||(e=""+e);var l=a(this._isDirected,t,n,e);if(s.has(this._edgeLabels,l))return u&&(this._edgeLabels[l]=i),this;if(!s.isUndefined(e)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(n),this._edgeLabels[l]=u?i:this._defaultEdgeLabelFn(t,n,e);var h=o(this._isDirected,t,n,e);return t=h.v,n=h.w,Object.freeze(h),this._edgeObjs[l]=h,r(this._preds[n],t),r(this._sucs[t],n),this._in[n][l]=h,this._out[t][l]=h,this._edgeCount++,this},e.prototype.edge=function(t,n,e){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,n,e);return this._edgeLabels[r]},e.prototype.hasEdge=function(t,n,e){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,n,e);return s.has(this._edgeLabels,r)},e.prototype.removeEdge=function(t,n,e){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,n,e),o=this._edgeObjs[r];return o&&(t=o.v,n=o.w,delete this._edgeLabels[r],delete this._edgeObjs[r],i(this._preds[n],t),i(this._sucs[t],n),delete this._in[n][r],delete this._out[t][r],this._edgeCount--),this},e.prototype.inEdges=function(t,n){var e=this._in[t];if(e){var r=s.values(e);return n?s.filter(r,function(t){return t.v===n}):r}},e.prototype.outEdges=function(t,n){var e=this._out[t];if(e){var r=s.values(e);return n?s.filter(r,function(t){return t.w===n}):r}},e.prototype.nodeEdges=function(t,n){var e=this.inEdges(t,n);return e?e.concat(this.outEdges(t,n)):void 0}},{"./lodash":81}],79:[function(t,n){n.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":78,"./version":82}],80:[function(t,n){function e(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:i(t)};return o.isUndefined(t.graph())||(n.value=o.clone(t.graph())),n}function r(t){return o.map(t.nodes(),function(n){var e=t.node(n),r=t.parent(n),i={v:n};return o.isUndefined(e)||(i.value=e),o.isUndefined(r)||(i.parent=r),i})}function i(t){return o.map(t.edges(),function(n){var e=t.edge(n),r={v:n.v,w:n.w};return o.isUndefined(n.name)||(r.name=n.name),o.isUndefined(e)||(r.value=e),r})}function a(t){var n=new u(t.options).setGraph(t.value);return o.each(t.nodes,function(t){n.setNode(t.v,t.value),t.parent&&n.setParent(t.v,t.parent)}),o.each(t.edges,function(t){n.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),n}var o=t("./lodash"),u=t("./graph");n.exports={write:e,read:a}},{"./graph":78,"./lodash":81}],81:[function(t,n){n.exports=t(42)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":42,lodash:83}],82:[function(t,n){n.exports="1.0.7"},{}],83:[function(t,n,e){(function(t){(function(){function r(t,n){if(t!==n){var e=null===t,r=t===E,i=t===t,a=null===n,o=n===E,u=n===n;if(t>n&&!a||!i||e&&!o&&u||r&&u)return 1;if(n>t&&!e||!u||a&&!r&&i||o&&i)return-1}return 0}function i(t,n,e){for(var r=t.length,i=e?r:-1;e?i--:++i-1;);return e}function c(t,n){for(var e=t.length;e--&&n.indexOf(t.charAt(e))>-1;);return e}function l(t,n){return r(t.criteria,n.criteria)||t.index-n.index}function h(t,n,e){for(var i=-1,a=t.criteria,o=n.criteria,u=a.length,s=e.length;++i=s)return c;var l=e[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-n.index}function f(t){return qt[t]}function d(t){return Wt[t]}function p(t,n,e){return n?t=Vt[t]:e&&(t=Zt[t]),"\\"+t}function g(t){return"\\"+Zt[t]}function y(t,n,e){for(var r=t.length,i=n+(e?0:-1);e?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function _(t,n){for(var e=-1,r=t.length,i=-1,a=[];++en,i=e?t.length:0,a=He(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,h=l.length,f=0,d=ko(s,this.__takeCount__);if(!e||Y>i||i==s&&d==s)return re(r&&e?t.reverse():t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=n;for(var g=-1,y=t[c];++g=Y?ge(n):null,c=n.length;s&&(o=Kt,u=!1,n=s);t:for(;++ie&&(e=-e>i?0:i+e),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=e>r?0:r>>>0,e>>>=0;i>e;)t[e++]=n;return t}function Sn(t,n){var e=[];return Po(t,function(t,r,i){n(t,r,i)&&e.push(t)}),e}function Tn(t,n,e,r){var i;return e(t,function(t,e,a){return n(t,e,a)?(i=r?e:t,!1):void 0}),i}function Cn(t,n,e,r){r||(r=[]);for(var i=-1,a=t.length;++ir;)t=t[n[r++]];return r&&r==i?t:E}}function Pn(t,n,e,r,i,a){return t===n?!0:null==t||null==n||!Ii(t)&&!m(n)?t!==t&&n!==n:Bn(t,n,Pn,e,r,i,a)}function Bn(t,n,e,r,i,a,o){var u=Tu(t),s=Tu(n),c=H,l=H;u||(c=eo.call(t),c==W?c=J:c!=J&&(u=zi(t))),s||(l=eo.call(n),l==W?l=J:l!=J&&(s=zi(n)));var h=c==J,f=l==J,d=c==l;if(d&&!u&&!h)return je(t,n,c);if(!i){var p=h&&to.call(t,"__wrapped__"),g=f&&to.call(n,"__wrapped__");if(p||g)return e(p?t.value():t,g?n.value():n,r,i,a,o)}if(!d)return!1;a||(a=[]),o||(o=[]);for(var y=a.length;y--;)if(a[y]==t)return o[y]==n;a.push(t),o.push(n);var m=(u?Re:Ye)(t,n,e,r,i,a,o);return a.pop(),o.pop(),m}function Rn(t,n,e){var r=n.length,i=r,a=!e;if(null==t)return!i;for(t=hr(t);r--;){var o=n[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++rn&&(n=-n>i?0:i+n),e=e===E||e>i?i:+e||0,0>e&&(e+=i),i=n>e?0:e-n>>>0,n>>>=0;for(var a=Ya(i);++r=Y,s=u?ge():null,c=[];s?(r=Kt,o=!1):(u=!1,s=n?[]:c);t:for(;++e=i){for(;i>r;){var a=r+i>>>1,o=t[a];(e?n>=o:n>o)&&null!==o?r=a+1:i=a}return i}return ae(t,n,Da,e)}function ae(t,n,e,r){n=e(n);for(var i=0,a=t?t.length:0,o=n!==n,u=null===n,s=n===E;a>i;){var c=vo((i+a)/2),l=e(t[c]),h=l!==E,f=l===l;if(o)var d=f||r;else d=u?f&&h&&(r||null!=l):s?f&&(r||h):null==l?!1:r?n>=l:n>l;d?i=c+1:a=c}return ko(a,Co)}function oe(t,n,e){if("function"!=typeof t)return Da;if(n===E)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 3:return function(e,r,i){return t.call(n,e,r,i)};case 4:return function(e,r,i,a){return t.call(n,e,r,i,a)};case 5:return function(e,r,i,a,o){return t.call(n,e,r,i,a,o)}}return function(){return t.apply(n,arguments)}}function ue(t){var n=new ao(t.byteLength),e=new po(n);return e.set(new po(t)),n}function se(t,n,e){for(var r=e.length,i=-1,a=wo(t.length-r,0),o=-1,u=n.length,s=Ya(u+a);++o2?e[i-2]:E,o=i>2?e[2]:E,u=i>1?e[i-1]:E;for("function"==typeof a?(a=oe(a,u,5),i-=2):(a="function"==typeof u?u:E,i-=a?1:0),o&&Je(e[0],e[1],o)&&(a=3>i?E:a,i=1);++r-1?e[o]:E}return Tn(e,r,t)}}function we(t){return function(n,e,r){return n&&n.length?(e=Ue(e,r,3),i(n,e,t)):-1}}function ke(t){return function(n,e,r){return e=Ue(e,r,3),Tn(n,e,t,!0)}}function Ae(t){return function(){for(var n,e=arguments.length,r=t?e:-1,i=0,a=Ya(e);t?r--:++r=Y)return n.plant(r).value();for(var i=0,o=e?a[i].apply(this,t):r;++iv){var A=u?tn(u):E,M=wo(c-v,0),T=p?k:E,C=p?E:k,F=p?x:E,I=p?E:x;n|=p?O:L,n&=~(p?L:O),g||(n&=~(D|S));var N=[t,n,e,F,T,I,C,A,s,M],P=Oe.apply(E,N);return nr(t)&&zo(P,N),P.placeholder=w,P}}var B=f?e:this,R=d?B[t]:t;return u&&(x=sr(x,u)),h&&s=n||!bo(n))return"";var i=n-r;return e=null==e?" ":e+"",ya(e,yo(i/e.length)).slice(0,i)}function Ie(t,n,e,r){function i(){for(var n=-1,u=arguments.length,s=-1,c=r.length,l=Ya(c+u);++ss))return!1;for(;++u-1&&t%1==0&&n>t}function Je(t,n,e){if(!Ii(e))return!1;var r=typeof n;if("number"==r?Ke(e)&&Qe(n,e.length):"string"==r&&n in e){var i=e[n];return t===t?t===i:i!==i}return!1}function tr(t,n){var e=typeof t;if("string"==e&&Et.test(t)||"number"==e)return!0;if(Tu(t))return!1;var r=!At.test(t);return r||null!=n&&t in hr(n)}function nr(t){var e=$e(t);if(!(e in K.prototype))return!1;var r=n[e];if(t===r)return!0;var i=Uo(r);return!!i&&t===i[0]}function er(t){return"number"==typeof t&&t>-1&&t%1==0&&Oo>=t}function rr(t){return t===t&&!Ii(t)}function ir(t,n){var e=t[1],r=n[1],i=e|r,a=I>i,o=r==I&&e==C||r==I&&e==N&&t[7].length<=n[8]||r==(I|N)&&e==C;if(!a&&!o)return t;r&D&&(t[2]=n[2],i|=e&D?0:T);var u=n[3];if(u){var s=t[3];t[3]=s?se(s,u,n[4]):tn(u),t[4]=s?_(t[3],q):tn(n[4])}return u=n[5],u&&(s=t[5],t[5]=s?ce(s,u,n[6]):tn(u),t[6]=s?_(t[5],q):tn(n[6])),u=n[7],u&&(t[7]=tn(u)),r&I&&(t[8]=null==t[8]?n[8]:ko(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i,t}function ar(t,n){return t===E?n:Cu(t,n,ar)}function or(t,n){t=hr(t);for(var e=-1,r=n.length,i={};++er;)o[++a]=Zn(t,r,r+=n);return o}function gr(t){for(var n=-1,e=t?t.length:0,r=-1,i=[];++nn?0:n)):[]}function mr(t,n,e){var r=t?t.length:0;return r?((e?Je(t,n,e):null==n)&&(n=1),n=r-(+n||0),Zn(t,0,0>n?0:n)):[]}function vr(t,n,e){return t&&t.length?ee(t,Ue(n,e,3),!0,!0):[]}function _r(t,n,e){return t&&t.length?ee(t,Ue(n,e,3),!0):[]}function br(t,n,e,r){var i=t?t.length:0;return i?(e&&"number"!=typeof e&&Je(t,n,e)&&(e=0,r=i),Dn(t,n,e,r)):[]}function xr(t){return t?t[0]:E}function wr(t,n,e){var r=t?t.length:0;return e&&Je(t,n,e)&&(n=!1),r?Cn(t,n):[]}function kr(t){var n=t?t.length:0;return n?Cn(t,!0):[]}function Ar(t,n,e){var r=t?t.length:0;if(!r)return-1;if("number"==typeof e)e=0>e?wo(r+e,0):e;else if(e){var i=ie(t,n);return r>i&&(n===n?n===t[i]:t[i]!==t[i])?i:-1}return a(t,n,e||0)}function Er(t){return mr(t,1)}function Mr(t){var n=t?t.length:0;return n?t[n-1]:E}function Dr(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof e)i=(0>e?wo(r+e,0):ko(e||0,r-1))+1;else if(e){i=ie(t,n,!0)-1;var a=t[i];return(n===n?n===a:a!==a)?i:-1}if(n!==n)return y(t,i,!0);for(;i--;)if(t[i]===n)return i;return-1}function Sr(){var t=arguments,n=t[0];if(!n||!n.length)return n;for(var e=0,r=ze(),i=t.length;++e-1;)fo.call(n,a,1);return n}function Tr(t,n,e){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(n=Ue(n,e,3);++in?0:n)):[]}function Lr(t,n,e){var r=t?t.length:0;return r?((e?Je(t,n,e):null==n)&&(n=1),n=r-(+n||0),Zn(t,0>n?0:n)):[]}function Ir(t,n,e){return t&&t.length?ee(t,Ue(n,e,3),!1,!0):[]}function Nr(t,n,e){return t&&t.length?ee(t,Ue(n,e,3)):[]}function Pr(t,n,e,r){var i=t?t.length:0;if(!i)return[];null!=n&&"boolean"!=typeof n&&(r=e,e=Je(t,n,r)?E:n,n=!1);var o=Ue();return(null!=e||o!==xn)&&(e=o(e,r,3)),n&&ze()==a?b(t,e):te(t,e)}function Br(t){if(!t||!t.length)return[];var n=-1,e=0;t=sn(t,function(t){return Ke(t)?(e=wo(t.length,e),!0):void 0});for(var r=Ya(e);++ne?wo(i+e,0):e||0,"string"==typeof t||!Tu(t)&&$i(t)?i>=e&&t.indexOf(n,e)>-1:!!i&&ze(t,n,e)>-1}function ti(t,n,e){var r=Tu(t)?cn:jn;return n=Ue(n,e,3),r(t,n)}function ni(t,n){return ti(t,La(n))}function ei(t,n,e){var r=Tu(t)?sn:Sn;return n=Ue(n,e,3),r(t,function(t,e,r){return!n(t,e,r)})}function ri(t,n,e){if(e?Je(t,n,e):null==n){t=lr(t);var r=t.length;return r>0?t[Gn(0,r-1)]:E}var i=-1,a=Gi(t),r=a.length,o=r-1;for(n=ko(0>n?0:+n||0,r);++i0&&(e=n.apply(this,arguments)),1>=t&&(n=E),e}}function di(t,n,e){function r(){d&&oo(d),c&&oo(c),g=0,c=d=p=E}function i(n,e){e&&oo(e),c=d=p=E,n&&(g=gu(),l=t.apply(f,s),d||c||(s=f=E))}function a(){var t=n-(gu()-h);0>=t||t>n?i(p,c):d=ho(a,t)}function o(){i(m,d)}function u(){if(s=arguments,h=gu(),f=this,p=m&&(d||!v),y===!1)var e=v&&!d;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=oo(c)),g=h,l=t.apply(f,s)):c||(c=ho(o,r))}return i&&d?d=oo(d):d||n===y||(d=ho(a,n)),e&&(i=!0,l=t.apply(f,s)),!i||d||c||(s=f=E),l}var s,c,l,h,f,d,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Za(z);if(n=0>n?0:+n||0,e===!0){var v=!0;m=!1}else Ii(e)&&(v=!!e.leading,y="maxWait"in e&&wo(+e.maxWait||0,n),m="trailing"in e?!!e.trailing:m);return u.cancel=r,u}function pi(t,n){if("function"!=typeof t||n&&"function"!=typeof n)throw new Za(z);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=e.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return e.cache=a.set(i,o),o};return e.cache=new pi.Cache,e}function gi(t){if("function"!=typeof t)throw new Za(z);return function(){return!t.apply(this,arguments)}}function yi(t){return fi(2,t)}function mi(t,n){if("function"!=typeof t)throw new Za(z);return n=wo(n===E?t.length-1:+n||0,0),function(){for(var e=arguments,r=-1,i=wo(e.length-n,0),a=Ya(i);++rn}function Ai(t,n){return t>=n}function Ei(t){return m(t)&&Ke(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function Mi(t){return t===!0||t===!1||m(t)&&eo.call(t)==G}function Di(t){return m(t)&&eo.call(t)==V}function Si(t){return!!t&&1===t.nodeType&&m(t)&&!Yi(t)}function Ti(t){return null==t?!0:Ke(t)&&(Tu(t)||$i(t)||Ei(t)||m(t)&&Li(t.splice))?!t.length:!Yu(t).length}function Ci(t,n,e,r){e="function"==typeof e?oe(e,r,3):E;var i=e?e(t,n):E;return i===E?Pn(t,n,e):!!i}function Fi(t){return m(t)&&"string"==typeof t.message&&eo.call(t)==Z}function Oi(t){return"number"==typeof t&&bo(t)}function Li(t){return Ii(t)&&eo.call(t)==X}function Ii(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function Ni(t,n,e,r){return e="function"==typeof e?oe(e,r,3):E,Rn(t,qe(n),e)}function Pi(t){return ji(t)&&t!=+t}function Bi(t){return null==t?!1:Li(t)?io.test(Ja.call(t)):m(t)&&It.test(t)}function Ri(t){return null===t}function ji(t){return"number"==typeof t||m(t)&&eo.call(t)==Q}function Yi(t){var n;if(!m(t)||eo.call(t)!=J||Ei(t)||!to.call(t,"constructor")&&(n=t.constructor,"function"==typeof n&&!(n instanceof n)))return!1;var e;return Fn(t,function(t,n){e=n}),e===E||to.call(t,e)}function Ui(t){return Ii(t)&&eo.call(t)==tt}function $i(t){return"string"==typeof t||m(t)&&eo.call(t)==et}function zi(t){return m(t)&&er(t.length)&&!!$t[eo.call(t)]}function qi(t){return t===E}function Wi(t,n){return n>t}function Hi(t,n){return n>=t}function Gi(t){var n=t?$o(t):0;return er(n)?n?tn(t):[]:aa(t)}function Vi(t){return bn(t,ta(t))}function Zi(t,n,e){var r=No(t);return e&&Je(t,n,e)&&(n=E),n?vn(r,n):r}function Xi(t){return In(t,ta(t))}function Ki(t,n,e){var r=null==t?E:Nn(t,fr(n),n+"");return r===E?e:r}function Qi(t,n){if(null==t)return!1;var e=to.call(t,n);if(!e&&!tr(n)){if(n=fr(n),t=1==n.length?t:Nn(t,Zn(n,0,-1)),null==t)return!1;n=Mr(n),e=to.call(t,n)}return e||er(t.length)&&Qe(n,t.length)&&(Tu(t)||Ei(t))}function Ji(t,n,e){e&&Je(t,n,e)&&(n=E);for(var r=-1,i=Yu(t),a=i.length,o={};++r0;++r=ko(n,e)&&te?0:+e||0,r),e-=n.length,e>=0&&t.indexOf(n,e)==e}function fa(t){return t=u(t),t&&bt.test(t)?t.replace(vt,d):t}function da(t){return t=u(t),t&&St.test(t)?t.replace(Dt,p):t||"(?:)"}function pa(t,n,e){t=u(t),n=+n;var r=t.length;if(r>=n||!bo(n))return t;var i=(n-r)/2,a=vo(i),o=yo(i);return e=Le("",o,e),e.slice(0,a)+t+e}function ga(t,n,e){return(e?Je(t,n,e):null==n)?n=0:n&&(n=+n),t=_a(t),Eo(t,n||(Lt.test(t)?16:10))}function ya(t,n){var e="";if(t=u(t),n=+n,1>n||!t||!bo(n))return e;do n%2&&(e+=t),n=vo(n/2),t+=t;while(n);return e}function ma(t,n,e){return t=u(t),e=null==e?0:ko(0>e?0:+e||0,t.length),t.lastIndexOf(n,e)==e}function va(t,e,r){var i=n.templateSettings;r&&Je(t,e,r)&&(e=r=E),t=u(t),e=mn(vn({},r||e),i,yn);var a,o,s=mn(vn({},e.imports),i.imports,yn),c=Yu(s),l=ne(s,c),h=0,f=e.interpolate||Bt,d="__p += '",p=Ga((e.escape||Bt).source+"|"+f.source+"|"+(f===kt?Ft:Bt).source+"|"+(e.evaluate||Bt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++Ut+"]")+"\n";t.replace(p,function(n,e,r,i,u,s){return r||(r=i),d+=t.slice(h,s).replace(Rt,g),e&&(a=!0,d+="' +\n__e("+e+") +\n'"),u&&(o=!0,d+="';\n"+u+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=s+n.length,n}),d+="';\n";var m=e.variable;m||(d="with (obj) {\n"+d+"\n}\n"),d=(o?d.replace(pt,""):d).replace(gt,"$1").replace(yt,"$1;"),d="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var v=Ku(function(){return za(c,y+"return "+d).apply(E,l)});if(v.source=d,Fi(v))throw v;return v}function _a(t,n,e){var r=t;return(t=u(t))?(e?Je(r,n,e):null==n)?t.slice(x(t),w(t)+1):(n+="",t.slice(s(t,n),c(t,n)+1)):t}function ba(t,n,e){var r=t;return t=u(t),t?t.slice((e?Je(r,n,e):null==n)?x(t):s(t,n+"")):t}function xa(t,n,e){var r=t;return t=u(t),t?(e?Je(r,n,e):null==n)?t.slice(0,w(t)+1):t.slice(0,c(t,n+"")+1):t}function wa(t,n,e){e&&Je(t,n,e)&&(n=E);var r=P,i=B;if(null!=n)if(Ii(n)){var a="separator"in n?n.separator:a;r="length"in n?+n.length||0:r,i="omission"in n?u(n.omission):i}else r=+n||0;if(t=u(t),r>=t.length)return t;var o=r-i.length;if(1>o)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ui(a)){if(t.slice(o).search(a)){var c,l,h=t.slice(0,o);for(a.global||(a=Ga(a.source,(Ot.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var f=s.lastIndexOf(a);f>-1&&(s=s.slice(0,f))}return s+i}function ka(t){return t=u(t),t&&_t.test(t)?t.replace(mt,k):t}function Aa(t,n,e){return e&&Je(t,n,e)&&(n=E),t=u(t),t.match(n||jt)||[]}function Ea(t,n,e){return e&&Je(t,n,e)&&(n=E),m(t)?Sa(t):xn(t,n)}function Ma(t){return function(){return t}}function Da(t){return t}function Sa(t){return Yn(wn(t,!0))}function Ta(t,n){return Un(t,wn(n,!0))}function Ca(t,n,e){if(null==e){var r=Ii(n),i=r?Yu(n):E,a=i&&i.length?In(n,i):E;(a?a.length:r)||(a=!1,e=n,n=t,t=this)}a||(a=In(n,Yu(n)));var o=!0,u=-1,s=Li(t),c=a.length;e===!1?o=!1:Ii(e)&&"chain"in e&&(o=e.chain);for(;++ut||!bo(t))return[];var r=-1,i=Ya(ko(t,To));for(n=oe(n,e,1);++rr?i[r]=n(r):n(r);return i}function Ba(t){var n=++no;return u(t)+n}function Ra(t,n){return(+t||0)+(+n||0)}function ja(t,n,e){return e&&Je(t,n,e)&&(n=E),n=Ue(n,e,3),1==n.length?pn(Tu(t)?t:lr(t),n):Jn(t,n)}t=t?rn.defaults(en.Object(),t,rn.pick(en,Yt)):en;{var Ya=t.Array,Ua=t.Date,$a=t.Error,za=t.Function,qa=t.Math,Wa=t.Number,Ha=t.Object,Ga=t.RegExp,Va=t.String,Za=t.TypeError,Xa=Ya.prototype,Ka=Ha.prototype,Qa=Va.prototype,Ja=za.prototype.toString,to=Ka.hasOwnProperty,no=0,eo=Ka.toString,ro=en._,io=Ga("^"+Ja.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=We(t,"Set"),ho=t.setTimeout,fo=Xa.splice,po=t.Uint8Array,go=We(t,"WeakMap"),yo=qa.ceil,mo=We(Ha,"create"),vo=qa.floor,_o=We(Ya,"isArray"),bo=t.isFinite,xo=We(Ha,"keys"),wo=qa.max,ko=qa.min,Ao=We(Ua,"now"),Eo=t.parseInt,Mo=qa.random,Do=Wa.NEGATIVE_INFINITY,So=Wa.POSITIVE_INFINITY,To=4294967295,Co=To-1,Fo=To>>>1,Oo=9007199254740991,Lo=go&&new go,Io={};n.support={}}n.templateSettings={escape:xt,evaluate:wt,interpolate:kt,variable:"",imports:{_:n}};var No=function(){function t(){}return function(n){if(Ii(n)){t.prototype=n;var e=new t;t.prototype=E}return e||{}}}(),Po=fe(On),Bo=fe(Ln,!0),Ro=de(),jo=de(!0),Yo=Lo?function(t,n){return Lo.set(t,n),t}:Da,Uo=Lo?function(t){return Lo.get(t)}:Oa,$o=qn("length"),zo=function(){var t=0,n=0;return function(e,r){var i=gu(),a=j-(i-n);if(n=i,a>0){if(++t>=R)return e}else t=0;return Yo(e,r)}}(),qo=mi(function(t,n){return m(t)&&Ke(t)?An(t,Cn(n,!1,!0)):[]}),Wo=we(),Ho=we(!0),Go=mi(function(t){for(var n=t.length,e=n,r=Ya(h),i=ze(),o=i==a,u=[];e--;){var s=t[e]=Ke(s=t[e])?s:[];r[e]=o&&s.length>=120?ge(e&&s):null}var c=t[0],l=-1,h=c?c.length:0,f=r[0];t:for(;++l2?t[n-2]:E,r=n>1?t[n-1]:E;return n>2&&"function"==typeof e?n-=2:(e=n>1&&"function"==typeof r?(--n,r):E,r=E),t.length=n,Rr(t,e,r)}),nu=mi(function(t){return t=Cn(t),this.thru(function(n){return Jt(Tu(n)?n:[hr(n)],t)})}),eu=mi(function(t,n){return _n(t,Cn(n))}),ru=le(function(t,n,e){to.call(t,e)?++t[e]:t[e]=1}),iu=xe(Po),au=xe(Bo,!0),ou=Ee(nn,Po),uu=Ee(an,Bo),su=le(function(t,n,e){to.call(t,e)?t[e].push(n):t[e]=[n]}),cu=le(function(t,n,e){t[e]=n}),lu=mi(function(t,n,e){var r=-1,i="function"==typeof n,a=tr(n),o=Ke(t)?Ya(t.length):[];return Po(t,function(t){var u=i?n:a&&null!=t?t[n]:E;o[++r]=u?u.apply(t,e):Xe(t,n,e)}),o}),hu=le(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]}),fu=Fe(hn,Po),du=Fe(fn,Bo),pu=mi(function(t,n){if(null==t)return[];var e=n[2];return e&&Je(n[0],n[1],e)&&(n.length=1),Qn(t,Cn(n),[])}),gu=Ao||function(){return(new Ua).getTime()},yu=mi(function(t,n,e){var r=D;if(e.length){var i=_(e,yu.placeholder);r|=O}return Be(t,r,n,e,i)}),mu=mi(function(t,n){n=n.length?Cn(n):Xi(t);for(var e=-1,r=n.length;++e0||0>n)?new K(e):(0>t?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==E&&(n=+n||0,e=0>n?e.dropRight(-n):e.take(n-t)),e)},K.prototype.takeRightWhile=function(t,n){return this.reverse().takeWhile(t,n).reverse()},K.prototype.toArray=function(){return this.take(So)},On(K.prototype,function(t,e){var r=/^(?:filter|map|reject)|While$/.test(e),i=/^(?:first|last)$/.test(e),a=n[i?"take"+("last"==e?"Right":""):e];a&&(n.prototype[e]=function(){var n=i?[1]:arguments,e=this.__chain__,o=this.__wrapped__,u=!!this.__actions__.length,s=o instanceof K,c=n[0],l=s||Tu(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=function(t){return i&&e?a(t,1)[0]:a.apply(E,ln([t],n))},f={func:zr,args:[h],thisArg:E},d=s&&!u;if(i&&!e)return d?(o=o.clone(),o.__actions__.push(f),t.call(o)):a.call(E,this.value())[0];if(!i&&l){o=d?o:new K(this);var p=t.apply(o,n);return p.__actions__.push(f),new v(p,e)}return this.thru(h)})}),nn(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var e=(/^(?:replace|split)$/.test(t)?Qa:Xa)[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:join|pop|replace|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?e.apply(this.value(),t):this[r](function(n){return e.apply(n,t)})}}),On(K.prototype,function(t,e){var r=n[e];if(r){var i=r.name,a=Io[i]||(Io[i]=[]);a.push({name:e,func:r})}}),Io[Oe(E,S).name]=[{name:"wrapper",func:E}],K.prototype.clone=nt,K.prototype.reverse=rt,K.prototype.value=qt,n.prototype.chain=qr,n.prototype.commit=Wr,n.prototype.concat=nu,n.prototype.plant=Hr,n.prototype.reverse=Gr,n.prototype.toString=Vr,n.prototype.run=n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=Zr,n.prototype.collect=n.prototype.map,n.prototype.head=n.prototype.first,n.prototype.select=n.prototype.filter,n.prototype.tail=n.prototype.rest,n}var E,M="3.10.1",D=1,S=2,T=4,C=8,F=16,O=32,L=64,I=128,N=256,P=30,B="...",R=150,j=16,Y=200,U=1,$=2,z="Expected a function",q="__lodash_placeholder__",W="[object Arguments]",H="[object Array]",G="[object Boolean]",V="[object Date]",Z="[object Error]",X="[object Function]",K="[object Map]",Q="[object Number]",J="[object Object]",tt="[object RegExp]",nt="[object Set]",et="[object String]",rt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",ot="[object Float64Array]",ut="[object Int8Array]",st="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",ft="[object Uint16Array]",dt="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,_t=RegExp(mt.source),bt=RegExp(vt.source),xt=/<%-([\s\S]+?)%>/g,wt=/<%([\s\S]+?)%>/g,kt=/<%=([\s\S]+?)%>/g,At=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Mt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Dt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,St=RegExp(Dt.source),Tt=/[\u0300-\u036f\ufe20-\ufe23]/g,Ct=/\\(\\)?/g,Ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ot=/\w*$/,Lt=/^0[xX]/,It=/^\[object .+?Constructor\]$/,Nt=/^\d+$/,Pt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Bt=/($^)/,Rt=/['\n\r\u2028\u2029\\]/g,jt=function(){var t="[A-Z\\xc0-\\xd6\\xd8-\\xde]",n="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(t+"+(?="+t+n+")|"+t+"?"+n+"|"+t+"+|[0-9]+","g")}(),Yt=["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"],Ut=-1,$t={};$t[at]=$t[ot]=$t[ut]=$t[st]=$t[ct]=$t[lt]=$t[ht]=$t[ft]=$t[dt]=!0,$t[W]=$t[H]=$t[it]=$t[G]=$t[V]=$t[Z]=$t[X]=$t[K]=$t[Q]=$t[J]=$t[tt]=$t[nt]=$t[et]=$t[rt]=!1;var zt={};zt[W]=zt[H]=zt[it]=zt[G]=zt[V]=zt[at]=zt[ot]=zt[ut]=zt[st]=zt[ct]=zt[Q]=zt[J]=zt[tt]=zt[et]=zt[lt]=zt[ht]=zt[ft]=zt[dt]=!0,zt[Z]=zt[X]=zt[K]=zt[nt]=zt[rt]=!1;var qt={"À":"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={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ht={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Gt={"function":!0,object:!0},Vt={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"},Zt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xt=Gt[typeof e]&&e&&!e.nodeType&&e,Kt=Gt[typeof n]&&n&&!n.nodeType&&n,Qt=Xt&&Kt&&"object"==typeof t&&t&&t.Object&&t,Jt=Gt[typeof self]&&self&&self.Object&&self,tn=Gt[typeof window]&&window&&window.Object&&window,nn=Kt&&Kt.exports===Xt&&Xt,en=Qt||tn!==(this&&this.window)&&tn||Jt||this,rn=A();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(en._=rn,define(function(){return rn})):Xt&&Kt?nn?(Kt.exports=rn)._=rn:Xt._=rn:en._=rn}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],84:[function(t,n,e){!function(t,r){"object"==typeof e&&"undefined"!=typeof n?n.exports=r():"function"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){"use strict";function e(){return Pe.apply(null,arguments)}function r(t){Pe=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function o(t,n){var e,r=[];for(e=0;e0)for(e in Re)r=Re[e],i=n[r],"undefined"!=typeof i&&(t[r]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():0/0),je===!1&&(je=!0,e.updateOffset(this),je=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var n=+t,e=0;return 0!==n&&isFinite(n)&&(e=m(n)),e}function _(t,n,e){var r,i=Math.min(t.length,n.length),a=Math.abs(t.length-n.length),o=0;for(r=0;i>r;r++)(e&&t[r]!==n[r]||!e&&v(t[r])!==v(n[r]))&&o++;return o+a}function b(){}function x(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var n,e,r,i,a=0;a0;){if(r=k(i.slice(0,n).join("-")))return r;if(e&&e.length>=n&&_(i,e,!0)>=n-1)break;n--}a++}return null}function k(e){var r=null;if(!Ye[e]&&"undefined"!=typeof n&&n&&n.exports)try{r=Be._abbr,t("./locale/"+e),A(r)}catch(i){}return Ye[e]}function A(t,n){var e;return t&&(e="undefined"==typeof n?M(t):E(t,n),e&&(Be=e)),Be._abbr}function E(t,n){return null!==n?(n.abbr=t,Ye[t]=Ye[t]||new b,Ye[t].set(n),A(t),Ye[t]):(delete Ye[t],null)}function M(t){var n;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Be;if(!i(t)){if(n=k(t))return n;t=[t]}return w(t)}function D(t,n){var e=t.toLowerCase();Ue[e]=Ue[e+"s"]=Ue[n]=t}function S(t){return"string"==typeof t?Ue[t]||Ue[t.toLowerCase()]:void 0}function T(t){var n,e,r={};for(e in t)u(t,e)&&(n=S(e),n&&(r[n]=t[e]));return r}function C(t,n){return function(r){return null!=r?(O(this,t,r),e.updateOffset(this,n),this):F(this,t)}}function F(t,n){return t._d["get"+(t._isUTC?"UTC":"")+n]()}function O(t,n,e){return t._d["set"+(t._isUTC?"UTC":"")+n](e)}function L(t,n){var e;if("object"==typeof t)for(e in t)this.set(e,t[e]);else if(t=S(t),"function"==typeof this[t])return this[t](n);return this}function I(t,n,e){var r=""+Math.abs(t),i=n-r.length,a=t>=0;return(a?e?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function N(t,n,e,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(We[t]=i),n&&(We[n[0]]=function(){return I(i.apply(this,arguments),n[1],n[2])}),e&&(We[e]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function P(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function B(t){var n,e,r=t.match($e);for(n=0,e=r.length;e>n;n++)r[n]=We[r[n]]?We[r[n]]:P(r[n]);return function(i){var a="";for(n=0;e>n;n++)a+=r[n]instanceof Function?r[n].call(i,t):r[n];return a}}function R(t,n){return t.isValid()?(n=j(n,t.localeData()),qe[n]=qe[n]||B(n),qe[n](t)):t.localeData().invalidDate()}function j(t,n){function e(t){return n.longDateFormat(t)||t}var r=5;for(ze.lastIndex=0;r>=0&&ze.test(t);)t=t.replace(ze,e),ze.lastIndex=0,r-=1;return t}function Y(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function U(t,n,e){or[t]=Y(n)?n:function(t){return t&&e?e:n}}function $(t,n){return u(or,t)?or[t](n._strict,n._locale):new RegExp(z(t))}function z(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,n,e,r,i){return n||e||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function q(t,n){var e,r=n;for("string"==typeof t&&(t=[t]),"number"==typeof n&&(r=function(t,e){e[n]=v(t)}),e=0;er;r++){if(i=c([2e3,r]),e&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),e||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),e&&"MMMM"===n&&this._longMonthsParse[r].test(t))return r;if(e&&"MMM"===n&&this._shortMonthsParse[r].test(t))return r;if(!e&&this._monthsParse[r].test(t))return r}}function K(t,n){var e;return"string"==typeof n&&(n=t.localeData().monthsParse(n),"number"!=typeof n)?t:(e=Math.min(t.date(),G(t.year(),n)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](n,e),t)}function Q(t){return null!=t?(K(this,t),e.updateOffset(this,!0),this):F(this,"Month")}function J(){return G(this.year(),this.month())}function tt(t){var n,e=t._a;return e&&-2===h(t).overflow&&(n=e[cr]<0||e[cr]>11?cr:e[lr]<1||e[lr]>G(e[sr],e[cr])?lr:e[hr]<0||e[hr]>24||24===e[hr]&&(0!==e[fr]||0!==e[dr]||0!==e[pr])?hr:e[fr]<0||e[fr]>59?fr:e[dr]<0||e[dr]>59?dr:e[pr]<0||e[pr]>999?pr:-1,h(t)._overflowDayOfYear&&(sr>n||n>lr)&&(n=lr),h(t).overflow=n),t}function nt(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function et(t,n){var e=!0;return s(function(){return e&&(nt(t+"\n"+(new Error).stack),e=!1),n.apply(this,arguments)},n)}function rt(t,n){mr[t]||(nt(n),mr[t]=!0)}function it(t){var n,e,r=t._i,i=vr.exec(r);if(i){for(h(t).iso=!0,n=0,e=_r.length;e>n;n++)if(_r[n][1].exec(r)){t._f=_r[n][0];break}for(n=0,e=br.length;e>n;n++)if(br[n][1].exec(r)){t._f+=(i[6]||" ")+br[n][0];break}r.match(rr)&&(t._f+="Z"),kt(t)}else t._isValid=!1}function at(t){var n=xr.exec(t._i);return null!==n?void(t._d=new Date(+n[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function ot(t,n,e,r,i,a,o){var u=new Date(t,n,e,r,i,a,o);return 1970>t&&u.setFullYear(t),u}function ut(t){var n=new Date(Date.UTC.apply(null,arguments));return 1970>t&&n.setUTCFullYear(t),n}function st(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,n,e){var r,i=e-n,a=e-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),r=Ft(t).add(a,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function ft(t){return ht(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var n=this.localeData().week(this);return null==t?n:this.add(7*(t-n),"d")}function yt(t){var n=ht(this,1,4).week;return null==t?n:this.add(7*(t-n),"d")}function mt(t,n,e,r,i){var a,o=6+i-r,u=ut(t,0,1+o),s=u.getUTCDay();return i>s&&(s+=7),e=null!=e?1*e:i,a=1+o+7*(n-1)-s+e,{year:a>0?t:t-1,dayOfYear:a>0?a:st(t-1)+a}}function vt(t){var n=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?n:this.add(t-n,"d")}function _t(t,n,e){return null!=t?t:null!=n?n:e}function bt(t){var n=new Date;return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function xt(t){var n,e,r,i,a=[];if(!t._d){for(r=bt(t),t._w&&null==t._a[lr]&&null==t._a[cr]&&wt(t),t._dayOfYear&&(i=_t(t._a[sr],r[sr]),t._dayOfYear>st(i)&&(h(t)._overflowDayOfYear=!0),e=ut(i,0,t._dayOfYear),t._a[cr]=e.getUTCMonth(),t._a[lr]=e.getUTCDate()),n=0;3>n&&null==t._a[n];++n)t._a[n]=a[n]=r[n];for(;7>n;n++)t._a[n]=a[n]=null==t._a[n]?2===n?1:0:t._a[n];24===t._a[hr]&&0===t._a[fr]&&0===t._a[dr]&&0===t._a[pr]&&(t._nextDay=!0,t._a[hr]=0),t._d=(t._useUTC?ut:ot).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hr]=24)}}function wt(t){var n,e,r,i,a,o,u;n=t._w,null!=n.GG||null!=n.W||null!=n.E?(a=1,o=4,e=_t(n.GG,t._a[sr],ht(Ft(),1,4).year),r=_t(n.W,1),i=_t(n.E,1)):(a=t._locale._week.dow,o=t._locale._week.doy,e=_t(n.gg,t._a[sr],ht(Ft(),a,o).year),r=_t(n.w,1),null!=n.d?(i=n.d,a>i&&++r):i=null!=n.e?n.e+a:a),u=mt(e,r,i,o,a),t._a[sr]=u.year,t._dayOfYear=u.dayOfYear}function kt(t){if(t._f===e.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var n,r,i,a,o,u=""+t._i,s=u.length,c=0;for(i=j(t._f,t._locale).match($e)||[],n=0;n0&&h(t).unusedInput.push(o),u=u.slice(u.indexOf(r)+r.length),c+=r.length),We[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),H(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=s-c,u.length>0&&h(t).unusedInput.push(u),h(t).bigHour===!0&&t._a[hr]<=12&&t._a[hr]>0&&(h(t).bigHour=void 0),t._a[hr]=At(t._locale,t._a[hr],t._meridiem),xt(t),tt(t)}function At(t,n,e){var r;return null==e?n:null!=t.meridiemHour?t.meridiemHour(n,e):null!=t.isPM?(r=t.isPM(e),r&&12>n&&(n+=12),r||12!==n||(n=0),n):n}function Et(t){var n,e,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;ia)&&(r=a,e=n));s(t,e||n)}function Mt(t){if(!t._d){var n=T(t._i);t._a=[n.year,n.month,n.day||n.date,n.hour,n.minute,n.second,n.millisecond],xt(t)}}function Dt(t){var n=new g(tt(St(t)));return n._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function St(t){var n=t._i,e=t._f;return t._locale=t._locale||M(t._l),null===n||void 0===e&&""===n?d({nullInput:!0}):("string"==typeof n&&(t._i=n=t._locale.preparse(n)),y(n)?new g(tt(n)):(i(e)?Et(t):e?kt(t):a(n)?t._d=n:Tt(t),t))}function Tt(t){var n=t._i;void 0===n?t._d=new Date:a(n)?t._d=new Date(+n):"string"==typeof n?at(t):i(n)?(t._a=o(n.slice(0),function(t){return parseInt(t,10)}),xt(t)):"object"==typeof n?Mt(t):"number"==typeof n?t._d=new Date(n):e.createFromInputFallback(t)}function Ct(t,n,e,r,i){var a={};return"boolean"==typeof e&&(r=e,e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=e,a._i=t,a._f=n,a._strict=r,Dt(a)}function Ft(t,n,e,r){return Ct(t,n,e,r,!1)}function Ot(t,n){var e,r;if(1===n.length&&i(n[0])&&(n=n[0]),!n.length)return Ft();for(e=n[0],r=1;rt&&(t=-t,e="-"),e+I(~~(t/60),2)+n+I(~~t%60,2)})}function Rt(t){var n=(t||"").match(rr)||[],e=n[n.length-1]||[],r=(e+"").match(Mr)||["-",0,0],i=+(60*r[1])+v(r[2]);return"+"===r[0]?i:-i}function jt(t,n){var r,i;return n._isUTC?(r=n.clone(),i=(y(t)||a(t)?+t:+Ft(t))-+r,r._d.setTime(+r._d+i),e.updateOffset(r,!1),r):Ft(t).local()}function Yt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,n){var r,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Rt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&n&&(r=Yt(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==t&&(!n||this._changeInProgress?rn(this,Qt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Yt(this)}function $t(t,n){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,n),this):-this.utcOffset()}function zt(t){return this.utcOffset(0,t)}function qt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Yt(this),"m")),this}function Wt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Rt(this._i)),this}function Ht(t){return t=t?Ft(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Gt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Vt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=St(t),t._a){var n=t._isUTC?c(t._a):Ft(t._a);this._isDSTShifted=this.isValid()&&_(t._a,n.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Zt(){return!this._isUTC}function Xt(){return this._isUTC}function Kt(){return this._isUTC&&0===this._offset}function Qt(t,n){var e,r,i,a=t,o=null;return Pt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},n?a[n]=t:a.milliseconds=t):(o=Dr.exec(t))?(e="-"===o[1]?-1:1,a={y:0,d:v(o[lr])*e,h:v(o[hr])*e,m:v(o[fr])*e,s:v(o[dr])*e,ms:v(o[pr])*e}):(o=Sr.exec(t))?(e="-"===o[1]?-1:1,a={y:Jt(o[2],e),M:Jt(o[3],e),d:Jt(o[4],e),h:Jt(o[5],e),m:Jt(o[6],e),s:Jt(o[7],e),w:Jt(o[8],e)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=nn(Ft(a.from),Ft(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Nt(a),Pt(t)&&u(t,"_locale")&&(r._locale=t._locale),r}function Jt(t,n){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*n}function tn(t,n){var e={milliseconds:0,months:0};return e.months=n.month()-t.month()+12*(n.year()-t.year()),t.clone().add(e.months,"M").isAfter(n)&&--e.months,e.milliseconds=+n-+t.clone().add(e.months,"M"),e}function nn(t,n){var e;return n=jt(n,t),t.isBefore(n)?e=tn(t,n):(e=tn(n,t),e.milliseconds=-e.milliseconds,e.months=-e.months),e}function en(t,n){return function(e,r){var i,a;return null===r||isNaN(+r)||(rt(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period)."),a=e,e=r,r=a),e="string"==typeof e?+e:e,i=Qt(e,r),rn(this,i,t),this}}function rn(t,n,r,i){var a=n._milliseconds,o=n._days,u=n._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*r),o&&O(t,"Date",F(t,"Date")+o*r),u&&K(t,F(t,"Month")+u*r),i&&e.updateOffset(t,o||u)}function an(t,n){var e=t||Ft(),r=jt(e,this).startOf("day"),i=this.diff(r,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(n&&n[a]||this.localeData().calendar(a,this,Ft(e)))}function on(){return new g(this)}function un(t,n){var e;return n=S("undefined"!=typeof n?n:"millisecond"),"millisecond"===n?(t=y(t)?t:Ft(t),+this>+t):(e=y(t)?+t:+Ft(t),e<+this.clone().startOf(n))}function sn(t,n){var e;return n=S("undefined"!=typeof n?n:"millisecond"),"millisecond"===n?(t=y(t)?t:Ft(t),+t>+this):(e=y(t)?+t:+Ft(t),+this.clone().endOf(n)n-a?(e=t.clone().add(i-1,"months"),r=(n-a)/(a-e)):(e=t.clone().add(i+1,"months"),r=(n-a)/(e-a)),-(i+r)}function dn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function pn(){var t=this.clone().utc();return 0n;n++)if(this._weekdaysParse[n]||(e=Ft([2e3,1]).day(n),r="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[n]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[n].test(t))return n}function qn(t){var n=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=jn(t,this.localeData()),this.add(t-n,"d")):n}function Wn(t){var n=(this.day()+7-this.localeData()._week.dow)%7;return null==t?n:this.add(t-n,"d")}function Hn(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Gn(t,n){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),n)})}function Vn(t,n){return n._meridiemParse}function Zn(t){return"p"===(t+"").toLowerCase().charAt(0)}function Xn(t,n,e){return t>11?e?"pm":"PM":e?"am":"AM"}function Kn(t,n){n[pr]=v(1e3*("0."+t))}function Qn(){return this._isUTC?"UTC":""}function Jn(){return this._isUTC?"Coordinated Universal Time":""}function te(t){return Ft(1e3*t)}function ne(){return Ft.apply(null,arguments).parseZone()}function ee(t,n,e){var r=this._calendar[t];return"function"==typeof r?r.call(n,e):r}function re(t){var n=this._longDateFormat[t],e=this._longDateFormat[t.toUpperCase()];return n||!e?n:(this._longDateFormat[t]=e.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function ie(){return this._invalidDate}function ae(t){return this._ordinal.replace("%d",t)}function oe(t){return t}function ue(t,n,e,r){var i=this._relativeTime[e];return"function"==typeof i?i(t,n,e,r):i.replace(/%d/i,t)}function se(t,n){var e=this._relativeTime[t>0?"future":"past"];return"function"==typeof e?e(n):e.replace(/%s/i,n)}function ce(t){var n,e;for(e in t)n=t[e],"function"==typeof n?this[e]=n:this["_"+e]=n;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function le(t,n,e,r){var i=M(),a=c().set(r,n);return i[e](a,t)}function he(t,n,e,r,i){if("number"==typeof t&&(n=t,t=void 0),t=t||"",null!=n)return le(t,n,e,i);var a,o=[];for(a=0;r>a;a++)o[a]=le(t,a,e,i);return o}function fe(t,n){return he(t,n,"months",12,"month")}function de(t,n){return he(t,n,"monthsShort",12,"month")}function pe(t,n){ +return he(t,n,"weekdays",7,"day")}function ge(t,n){return he(t,n,"weekdaysShort",7,"day")}function ye(t,n){return he(t,n,"weekdaysMin",7,"day")}function me(){var t=this._data;return this._milliseconds=Kr(this._milliseconds),this._days=Kr(this._days),this._months=Kr(this._months),t.milliseconds=Kr(t.milliseconds),t.seconds=Kr(t.seconds),t.minutes=Kr(t.minutes),t.hours=Kr(t.hours),t.months=Kr(t.months),t.years=Kr(t.years),this}function ve(t,n,e,r){var i=Qt(n,e);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function _e(t,n){return ve(this,t,n,1)}function be(t,n){return ve(this,t,n,-1)}function xe(t){return 0>t?Math.floor(t):Math.ceil(t)}function we(){var t,n,e,r,i,a=this._milliseconds,o=this._days,u=this._months,s=this._data;return a>=0&&o>=0&&u>=0||0>=a&&0>=o&&0>=u||(a+=864e5*xe(Ae(u)+o),o=0,u=0),s.milliseconds=a%1e3,t=m(a/1e3),s.seconds=t%60,n=m(t/60),s.minutes=n%60,e=m(n/60),s.hours=e%24,o+=m(e/24),i=m(ke(o)),u+=i,o-=xe(Ae(i)),r=m(u/12),u%=12,s.days=o,s.months=u,s.years=r,this}function ke(t){return 4800*t/146097}function Ae(t){return 146097*t/4800}function Ee(t){var n,e,r=this._milliseconds;if(t=S(t),"month"===t||"year"===t)return n=this._days+r/864e5,e=this._months+ke(n),"month"===t?e:e/12;switch(n=this._days+Math.round(Ae(this._months)),t){case"week":return n/7+r/6048e5;case"day":return n+r/864e5;case"hour":return 24*n+r/36e5;case"minute":return 1440*n+r/6e4;case"second":return 86400*n+r/1e3;case"millisecond":return Math.floor(864e5*n)+r;default:throw new Error("Unknown unit "+t)}}function Me(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function De(t){return function(){return this.as(t)}}function Se(t){return t=S(t),this[t+"s"]()}function Te(t){return function(){return this._data[t]}}function Ce(){return m(this.days()/7)}function Fe(t,n,e,r,i){return i.relativeTime(n||1,!!e,t,r)}function Oe(t,n,e){var r=Qt(t).abs(),i=di(r.as("s")),a=di(r.as("m")),o=di(r.as("h")),u=di(r.as("d")),s=di(r.as("M")),c=di(r.as("y")),l=i0,l[4]=e,Fe.apply(null,l)}function Le(t,n){return void 0===pi[t]?!1:void 0===n?pi[t]:(pi[t]=n,!0)}function Ie(t){var n=this.localeData(),e=Oe(this,!t,n);return t&&(e=n.pastFuture(+this,e)),n.postformat(e)}function Ne(){var t,n,e,r=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(this._months);t=m(r/60),n=m(t/60),r%=60,t%=60,e=m(a/12),a%=12;var o=e,u=a,s=i,c=n,l=t,h=r,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(o?o+"Y":"")+(u?u+"M":"")+(s?s+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var Pe,Be,Re=e.momentProperties=[],je=!1,Ye={},Ue={},$e=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ze=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,qe={},We={},He=/\d/,Ge=/\d\d/,Ve=/\d{3}/,Ze=/\d{4}/,Xe=/[+-]?\d{6}/,Ke=/\d\d?/,Qe=/\d{1,3}/,Je=/\d{1,4}/,tr=/[+-]?\d{1,6}/,nr=/\d+/,er=/[+-]?\d+/,rr=/Z|[+-]\d\d:?\d\d/gi,ir=/[+-]?\d+(\.\d{1,3})?/,ar=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,or={},ur={},sr=0,cr=1,lr=2,hr=3,fr=4,dr=5,pr=6;N("M",["MM",2],"Mo",function(){return this.month()+1}),N("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),N("MMMM",0,0,function(t){return this.localeData().months(this,t)}),D("month","M"),U("M",Ke),U("MM",Ke,Ge),U("MMM",ar),U("MMMM",ar),q(["M","MM"],function(t,n){n[cr]=v(t)-1}),q(["MMM","MMMM"],function(t,n,e,r){var i=e._locale.monthsParse(t,r,e._strict);null!=i?n[cr]=i:h(e).invalidMonth=t});var gr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mr={};e.suppressDeprecationWarnings=!1;var vr=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_r=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],br=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],xr=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=et("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),N(0,["YY",2],0,function(){return this.year()%100}),N(0,["YYYY",4],0,"year"),N(0,["YYYYY",5],0,"year"),N(0,["YYYYYY",6,!0],0,"year"),D("year","y"),U("Y",er),U("YY",Ke,Ge),U("YYYY",Je,Ze),U("YYYYY",tr,Xe),U("YYYYYY",tr,Xe),q(["YYYYY","YYYYYY"],sr),q("YYYY",function(t,n){n[sr]=2===t.length?e.parseTwoDigitYear(t):v(t)}),q("YY",function(t,n){n[sr]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var wr=C("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),D("week","w"),D("isoWeek","W"),U("w",Ke),U("ww",Ke,Ge),U("W",Ke),U("WW",Ke,Ge),W(["w","ww","W","WW"],function(t,n,e,r){n[r.substr(0,1)]=v(t)});var kr={dow:0,doy:6};N("DDD",["DDDD",3],"DDDo","dayOfYear"),D("dayOfYear","DDD"),U("DDD",Qe),U("DDDD",Ve),q(["DDD","DDDD"],function(t,n,e){e._dayOfYear=v(t)}),e.ISO_8601=function(){};var Ar=et("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return this>t?this:t}),Er=et("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return t>this?this:t});Bt("Z",":"),Bt("ZZ",""),U("Z",rr),U("ZZ",rr),q(["Z","ZZ"],function(t,n,e){e._useUTC=!0,e._tzm=Rt(t)});var Mr=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Dr=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Sr=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Qt.fn=Nt.prototype;var Tr=en(1,"add"),Cr=en(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Fr=et("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)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),On("gggg","weekYear"),On("ggggg","weekYear"),On("GGGG","isoWeekYear"),On("GGGGG","isoWeekYear"),D("weekYear","gg"),D("isoWeekYear","GG"),U("G",er),U("g",er),U("GG",Ke,Ge),U("gg",Ke,Ge),U("GGGG",Je,Ze),U("gggg",Je,Ze),U("GGGGG",tr,Xe),U("ggggg",tr,Xe),W(["gggg","ggggg","GGGG","GGGGG"],function(t,n,e,r){n[r.substr(0,2)]=v(t)}),W(["gg","GG"],function(t,n,r,i){n[i]=e.parseTwoDigitYear(t)}),N("Q",0,0,"quarter"),D("quarter","Q"),U("Q",He),q("Q",function(t,n){n[cr]=3*(v(t)-1)}),N("D",["DD",2],"Do","date"),D("date","D"),U("D",Ke),U("DD",Ke,Ge),U("Do",function(t,n){return t?n._ordinalParse:n._ordinalParseLenient}),q(["D","DD"],lr),q("Do",function(t,n){n[lr]=v(t.match(Ke)[0],10)});var Or=C("Date",!0);N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),D("day","d"),D("weekday","e"),D("isoWeekday","E"),U("d",Ke),U("e",Ke),U("E",Ke),U("dd",ar),U("ddd",ar),U("dddd",ar),W(["dd","ddd","dddd"],function(t,n,e){var r=e._locale.weekdaysParse(t);null!=r?n.d=r:h(e).invalidWeekday=t}),W(["d","e","E"],function(t,n,e,r){n[r]=v(t)});var Lr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ir="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Nr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");N("H",["HH",2],0,"hour"),N("h",["hh",2],0,function(){return this.hours()%12||12}),Gn("a",!0),Gn("A",!1),D("hour","h"),U("a",Vn),U("A",Vn),U("H",Ke),U("h",Ke),U("HH",Ke,Ge),U("hh",Ke,Ge),q(["H","HH"],hr),q(["a","A"],function(t,n,e){e._isPm=e._locale.isPM(t),e._meridiem=t}),q(["h","hh"],function(t,n,e){n[hr]=v(t),h(e).bigHour=!0});var Pr=/[ap]\.?m?\.?/i,Br=C("Hours",!0);N("m",["mm",2],0,"minute"),D("minute","m"),U("m",Ke),U("mm",Ke,Ge),q(["m","mm"],fr);var Rr=C("Minutes",!1);N("s",["ss",2],0,"second"),D("second","s"),U("s",Ke),U("ss",Ke,Ge),q(["s","ss"],dr);var jr=C("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),N(0,["SSS",3],0,"millisecond"),N(0,["SSSS",4],0,function(){return 10*this.millisecond()}),N(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),N(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),N(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),N(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),N(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),D("millisecond","ms"),U("S",Qe,He),U("SS",Qe,Ge),U("SSS",Qe,Ve);var Yr;for(Yr="SSSS";Yr.length<=9;Yr+="S")U(Yr,nr);for(Yr="S";Yr.length<=9;Yr+="S")q(Yr,Kn);var Ur=C("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var $r=g.prototype;$r.add=Tr,$r.calendar=an,$r.clone=on,$r.diff=hn,$r.endOf=kn,$r.format=gn,$r.from=yn,$r.fromNow=mn,$r.to=vn,$r.toNow=_n,$r.get=L,$r.invalidAt=Fn,$r.isAfter=un,$r.isBefore=sn,$r.isBetween=cn,$r.isSame=ln,$r.isValid=Tn,$r.lang=Fr,$r.locale=bn,$r.localeData=xn,$r.max=Er,$r.min=Ar,$r.parsingFlags=Cn,$r.set=L,$r.startOf=wn,$r.subtract=Cr,$r.toArray=Dn,$r.toObject=Sn,$r.toDate=Mn,$r.toISOString=pn,$r.toJSON=pn,$r.toString=dn,$r.unix=En,$r.valueOf=An,$r.year=wr,$r.isLeapYear=lt,$r.weekYear=In,$r.isoWeekYear=Nn,$r.quarter=$r.quarters=Rn,$r.month=Q,$r.daysInMonth=J,$r.week=$r.weeks=gt,$r.isoWeek=$r.isoWeeks=yt,$r.weeksInYear=Bn,$r.isoWeeksInYear=Pn,$r.date=Or,$r.day=$r.days=qn,$r.weekday=Wn,$r.isoWeekday=Hn,$r.dayOfYear=vt,$r.hour=$r.hours=Br,$r.minute=$r.minutes=Rr,$r.second=$r.seconds=jr,$r.millisecond=$r.milliseconds=Ur,$r.utcOffset=Ut,$r.utc=zt,$r.local=qt,$r.parseZone=Wt,$r.hasAlignedHourOffset=Ht,$r.isDST=Gt,$r.isDSTShifted=Vt,$r.isLocal=Zt,$r.isUtcOffset=Xt,$r.isUtc=Kt,$r.isUTC=Kt,$r.zoneAbbr=Qn,$r.zoneName=Jn,$r.dates=et("dates accessor is deprecated. Use date instead.",Or),$r.months=et("months accessor is deprecated. Use month instead",Q),$r.years=et("years accessor is deprecated. Use year instead",wr),$r.zone=et("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",$t);var zr=$r,qr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Wr={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"},Hr="Invalid date",Gr="%d",Vr=/\d{1,2}/,Zr={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"},Xr=b.prototype;Xr._calendar=qr,Xr.calendar=ee,Xr._longDateFormat=Wr,Xr.longDateFormat=re,Xr._invalidDate=Hr,Xr.invalidDate=ie,Xr._ordinal=Gr,Xr.ordinal=ae,Xr._ordinalParse=Vr,Xr.preparse=oe,Xr.postformat=oe,Xr._relativeTime=Zr,Xr.relativeTime=ue,Xr.pastFuture=se,Xr.set=ce,Xr.months=V,Xr._months=gr,Xr.monthsShort=Z,Xr._monthsShort=yr,Xr.monthsParse=X,Xr.week=ft,Xr._week=kr,Xr.firstDayOfYear=pt,Xr.firstDayOfWeek=dt,Xr.weekdays=Yn,Xr._weekdays=Lr,Xr.weekdaysMin=$n,Xr._weekdaysMin=Nr,Xr.weekdaysShort=Un,Xr._weekdaysShort=Ir,Xr.weekdaysParse=zn,Xr.isPM=Zn,Xr._meridiemParse=Pr,Xr.meridiem=Xn,A("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var n=t%10,e=1===v(t%100/10)?"th":1===n?"st":2===n?"nd":3===n?"rd":"th";return t+e}}),e.lang=et("moment.lang is deprecated. Use moment.locale instead.",A),e.langData=et("moment.langData is deprecated. Use moment.localeData instead.",M);var Kr=Math.abs,Qr=De("ms"),Jr=De("s"),ti=De("m"),ni=De("h"),ei=De("d"),ri=De("w"),ii=De("M"),ai=De("y"),oi=Te("milliseconds"),ui=Te("seconds"),si=Te("minutes"),ci=Te("hours"),li=Te("days"),hi=Te("months"),fi=Te("years"),di=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Nt.prototype;yi.abs=me,yi.add=_e,yi.subtract=be,yi.as=Ee,yi.asMilliseconds=Qr,yi.asSeconds=Jr,yi.asMinutes=ti,yi.asHours=ni,yi.asDays=ei,yi.asWeeks=ri,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Me,yi._bubble=we,yi.get=Se,yi.milliseconds=oi,yi.seconds=ui,yi.minutes=si,yi.hours=ci,yi.days=li,yi.weeks=Ce,yi.months=hi,yi.years=fi,yi.humanize=Ie,yi.toISOString=Ne,yi.toString=Ne,yi.toJSON=Ne,yi.locale=bn,yi.localeData=xn,yi.toIsoString=et("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ne),yi.lang=Fr,N("X",0,0,"unix"),N("x",0,0,"valueOf"),U("x",er),U("X",ir),q("X",function(t,n,e){e._d=new Date(1e3*parseFloat(t,10))}),q("x",function(t,n,e){e._d=new Date(v(t))}),e.version="2.10.6",r(Ft),e.fn=zr,e.min=Lt,e.max=It,e.utc=c,e.unix=te,e.months=fe,e.isDate=a,e.locale=A,e.invalid=d,e.duration=Qt,e.isMoment=y,e.weekdays=pe,e.parseZone=ne,e.localeData=M,e.isDuration=Pt,e.monthsShort=de,e.weekdaysMin=ye,e.defineLocale=E,e.weekdaysShort=ge,e.normalizeUnits=S,e.relativeTimeThreshold=Le;var mi=e;return mi})},{}],85:[function(t,n){n.exports={name:"mermaid",version:"0.5.4",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0","babel-eslint":"^4.1.3",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","eslint-watch":"^2.1.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3",uglifyjs:"^2.4.10","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],86:[function(t,n){"use strict";var e;if(t)try{e=t("d3")}catch(r){}e||(e=window.d3),n.exports=e,function(){var t=!1;if(t="tspans",e.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;e.selection.prototype.textwrap=e.selection.enter.prototype.textwrap=function(n,r){var i,r=parseInt(r)||0,a=this,o=function(t){var n=t[0][0],r=n.tagName.toString();if("rect"!==r)return!1;var i={};return i.x=e.select(n).attr("x")||0,i.y=e.select(n).attr("y")||0,i.width=e.select(n).attr("width")||0,i.height=e.select(n).attr("height")||0,i.attr=t.attr,i},u=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var n=o(t);return n}return!1},s=function(t,n){var e=t;return 0!==n&&(e.x=parseInt(e.x)+n,e.y=parseInt(e.y)+n,e.width-=2*n,e.height-=2*n),e},c=u(n);if(r&&(c=s(c,r)),0!=a.length&&e&&n&&c){n=c;var l,h=function(t){var r=e.select(t[0].parentNode),a=r.select("text"),o=a.style("line-height"),u=a.text();a.remove();var s=r.append("foreignObject");s.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",n.x).attr("y",n.y).attr("width",n.width).attr("height",n.height);var c=s.append("xhtml:div").attr("class","wrapped");c.style("height",n.height).style("width",n.width).html(u),o&&c.style("line-height",o),i=r.select("foreignObject")},f=function(t){var a,o=t[0],u=o.parentNode,s=e.select(o),c=o.getBBox().height,l=o.getBBox().width,h=c,f=s.style("line-height");if(a=f&&parseInt(f)?parseInt(f.replace("px","")):h,l>n.width){var d=s.text();if(s.text(""),d){var p,g;if(-1!==d.indexOf(" ")){var p=" ";g=d.split(" ")}else{p="";var y=d.length,m=Math.ceil(l/n.width),v=Math.floor(y/m);v*m>=y||m++;for(var _,b,g=[],x=0;m>x;x++)b=x*v,_=d.substr(b,v),g.push(_)}for(var w=[],k=0,A={},x=0;xn.width&&D&&""!==D&&(k+=S,A={string:D,width:S,offset:k},w.push(A),s.text(""),s.text(M),x==g.length-1&&(E=M,s.text(E),T=o.getComputedTextLength())),x==g.length-1){s.text("");var C=E;C&&""!==C&&(T-k>0&&(T-=k),A={string:C,width:T,offset:k},w.push(A))}}var F;s.text("");for(var x=0;x0){w[x-1]}x*a0?a:void 0}),F.attr("x",function(){var t=n.x;return r&&(t+=r),t}))}}}s.attr("y",function(){var t=n.y;return a&&(t+=a),r&&(t+=r),t}),s.attr("x",function(){var t=n.x;return r&&(t+=r),t}),i=e.select(u).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=f)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:f);for(var d=0;dl&&M.push("'"+this.terminals_[k]+"'");T=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(A=this.productions_[x[1]][1],S.$=r[r.length-A],S._$={first_line:i[i.length-(A||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(A||1)].first_column,last_column:i[i.length-1].last_column},m&&(S._$.range=[i[i.length-(A||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;A&&(e=e.slice(0,-1*A*2),r=r.slice(0,-1*A),i=i.slice(0,-1*A)),e.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},i=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\r\n?|\n).*/g);return n?(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 n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),e.length-1&&(this.yylineno-=e.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:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},test_match:function(t,n){var e,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],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;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,n,e,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;an[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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,n,e,r){switch(e){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 t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log("Usage: "+n[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(n[1]),"utf8");return e.parser.parse(i)},"undefined"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],90:[function(t,n){"use strict";function e(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n["default"]=t,n}var r,i=t("../../logger"),a=e(i),o=new a.Log;if(t)try{r=t("dagre-d3")}catch(u){o.debug("Could not load dagre-d3")}r||(r=window.dagreD3),n.exports=r},{"../../logger":102,"dagre-d3":5}],91:[function(t,n,e){"use strict";function r(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n["default"]=t,n}var i=t("../../logger"),a=r(i),o=t("./graphDb"),u=t("./parser/flow"),s=t("./parser/dot"),c=t("../../d3"),l=t("./dagre-d3"),h=new a.Log,f={};n.exports.setConf=function(t){var n,e=Object.keys(t);for(n=0;n0&&(o=a.classes.join(" "));var u="";u=r(u,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s="";f.htmlLabels?(s="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),s="text");var c=0,l="";switch(a.type){case"round":c=5,l="rect";break;case"square":l="rect";break;case"diamond":l="question";break;case"odd":l="rect_left_inv_arrow";break;case"odd_right":l="rect_left_inv_arrow";break;case"circle":l="circle";break;case"group":l="rect",i="";break;default:l="rect"}n.setNode(a.id,{labelType:s,shape:l,label:i,rx:c,ry:c,"class":o,style:u,id:a.id})})},e.addEdges=function(t,n){var e,r,i=0;"undefined"!=typeof t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,e="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof 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"; + +}if("undefined"==typeof t.text)"undefined"==typeof t.style?n.setEdge(t.start,t.end,{style:a,arrowhead:e},i):n.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:e},i);else{var o=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?f.htmlLabels?n.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:e},i):n.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:o,arrowheadStyle:"fill: #333",arrowhead:e},i):n.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:o,arrowhead:e},i)}})},e.getClasses=function(t,n){var e;o.clear(),e=n?s.parser:u.parser,e.yy=o,e.parse(t);var r=o.getClasses();return"undefined"==typeof r["default"]&&(r["default"]={id:"default"},r["default"].styles=[],r["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],r["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],r["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),r},e.draw=function(t,n,r){h.debug("Drawing flowchart");var i;o.clear(),i=r?s.parser:u.parser,i.yy=o;try{i.parse(t)}catch(a){h.debug("Parsing failed")}var d;d=o.getDirection(),"undefined"==typeof d&&(d="TD");var p,g=new l.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=o.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],o.addVertex(p.id,p.title,"group",void 0);var v=o.getVertices(),_=o.getEdges();m=0;var b;for(m=y.length-1;m>=0;m--)for(p=y[m],c.selectAll("cluster").append("text"),b=0;b0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(n)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(n)};var setTooltip=function(t,n){"undefined"!=typeof n&&(tooltips[t]=n)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,n){"undefined"!=typeof n&&"undefined"!=typeof vertices[t]&&funs.push(function(e){var r=d3.select(e).select("#"+t);null!==r&&r.on("click",function(){window.open(n,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,n,e,r){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,r),setClickFun(t,n),setLink(t,e)}):(setTooltip(t,r),setClickFun(t,n),setLink(t,e))},exports.bindFunctions=function(t){funs.forEach(function(n){n(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var n=d3.select(".mermaidTooltip");null===n[0][0]&&(n=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var e=d3.select(t).select("svg"),r=e.selectAll("g.node");r.on("mouseover",function(){var t=d3.select(this),e=t.attr("title");if(null!==e){var r=this.getBoundingClientRect();n.transition().duration(200).style("opacity",".9"),n.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(){n.transition().duration(500).style("opacity",0);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,n){function e(t){var n={"boolean":{},number:{},string:{}},e=[];return t.filter(function(t){var r=typeof t;return" "===t?!1:r in n?n[r].hasOwnProperty(t)?!1:n[r][t]=!0:e.indexOf(t)>=0?!1:e.push(t)})}var r=[];r=e(r.concat.apply(r,t));var i={id:"subGraph"+subCount,nodes:r,title:n};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var n;for(n=0;n2e3)){if(posCrossRef[secCount]=e,subGraphs[e].id===n)return{result:!0,count:0};for(var i=0,a=1;i=0){var u=t(n,o);if(u.result)return{result:!0,count:a+u.count};a+=u.count}i+=1}return{result:!1,count:a}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,n){global.mermaidAPI.parseError(t,n)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":86,"../../logger":102}],93:[function(t,n,e){(function(r){"use strict";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[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],h=[1,19],f=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],_=[1,35],b=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],k=[10,28,37,57,58],A=[2,49],E=[1,45],M=[1,48],D=[1,49],S=[1,52],T=[2,65],C=[1,65],F=[1,66],O=[1,67],L=[1,68],I=[1,69],N=[1,70],P=[1,71],B=[1,72],R=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],Y=[10,28,37],U={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,n,e,r,i,a){var o=a.length-1;switch(i){case 1:this.$=a[o-1];break;case 2:this.$=a[o-4];break;case 3:this.$=a[o-5];break;case 4:this.$=a[o-3];break;case 8:case 10:case 11:this.$=a[o];break;case 9:this.$=a[o-1]+""+a[o];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[o];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:r.addLink(a[o-1],a[o].id,a[o].op),this.$="oy";break;case 42:r.addLink(a[o-1],a[o].id,a[o].op),this.$={op:a[o-2],id:a[o-1]};break;case 44:this.$={op:a[o-1],id:a[o]};break;case 48:r.addVertex(a[o-1]),this.$=a[o-1];break;case 49:r.addVertex(a[o]),this.$=a[o];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:e,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:h,24:f,25:d,26:p},{6:23,12:e,13:r},n(g,[2,5]),n(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},n([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:h,24:f,25:d,26:p}),n(x,[2,8]),n(x,[2,10]),n(x,[2,11]),n(x,[2,12]),n(x,[2,13]),n(x,[2,14]),n(x,[2,15]),n(x,[2,16]),n(x,[2,17]),n(x,[2,18]),n(x,[2,19]),n(x,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,41]},{10:[2,21],28:[1,42]},n(w,[2,23]),n(w,[2,24]),n(w,[2,25]),n(k,A,{44:44,32:[1,43],45:E}),n(w,[2,27],{41:46,43:47,57:M,58:D}),n(w,[2,47],{43:47,34:50,41:51,37:S,57:M,58:D}),{34:53,37:S},{34:54,37:S},{34:55,37:S},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},n(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{7:62,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},n(k,[2,48]),n(k,T,{14:10,15:11,7:63,46:64,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,48:C,49:F,50:O,51:L,52:I,53:N,54:P,55:B,56:R}),n(w,[2,41],{34:74,37:S}),{7:77,8:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,33:76,42:75,47:b},n(j,[2,66]),n(j,[2,67]),n(w,[2,46]),n(w,[2,40],{34:78,37:S}),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:79,39:[1,80]},n(w,[2,28]),n(w,[2,29]),n(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{5:[2,2]},{10:[2,22]},n(w,[2,26]),n(k,[2,51],{45:[1,86]}),n(k,[2,52]),n(k,[2,56]),n(k,[2,57]),n(k,[2,58]),n(k,[2,59]),n(k,[2,60]),n(k,[2,61]),n(k,[2,62]),n(k,[2,63]),n(k,[2,64]),n(w,[2,38]),n(Y,[2,44],{43:47,41:87,57:M,58:D}),n(Y,[2,45],{43:47,41:88,57:M,58:D}),n(k,A,{44:44,45:E}),n(w,[2,39]),{39:[1,89]},n(w,[2,34],{34:90,37:S}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,93]},n(k,[2,55]),{10:[1,94]},n(k,T,{46:95,48:C,49:F,50:O,51:L,52:I,53:N,54:P,55:B,56:R}),n(Y,[2,42]),n(Y,[2,43]),n(w,[2,33],{34:96,37:S}),n(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{10:[1,98]},n(k,[2,54]),{5:[2,3]},n(k,[2,50]),n(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},n(k,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:h,24:f,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,n){if(!n.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,k,A,E,M,D=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=n.symbols_[t]||t),t},S={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=D()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var T="";M=[];for(k in a[b])this.terminals_[k]&&k>l&&M.push("'"+this.terminals_[k]+"'");T=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(A=this.productions_[x[1]][1],S.$=r[r.length-A],S._$={first_line:i[i.length-(A||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(A||1)].first_column,last_column:i[i.length-1].last_column},m&&(S._$.range=[i[i.length-(A||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;A&&(e=e.slice(0,-1*A*2),r=r.slice(0,-1*A),i=i.slice(0,-1*A)),e.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},$=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\r\n?|\n).*/g);return n?(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 n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),e.length-1&&(this.yylineno-=e.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:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},test_match:function(t,n){var e,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],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;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,n,e,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;an[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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,n,e,r){switch(e){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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return U.lexer=$,t.prototype=U,U.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log("Usage: "+n[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(n[1]),"utf8");return e.parser.parse(i)},"undefined"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],94:[function(t,n,e){(function(r){"use strict";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[1,4],r=[1,3],i=[1,5],a=[1,8,9,10,11,13,18,30,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],o=[2,2],u=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,31],f=[1,33],d=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],_=[1,28],b=[1,36],x=[1,38],w=[1,35],k=[1,37],A=[1,43],E=[1,42],M=[1,39],D=[1,40],S=[1,41],T=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],C=[1,51],F=[1,50],O=[1,52],L=[1,70],I=[1,78],N=[1,79],P=[1,64],B=[1,63],R=[1,83],j=[1,82],Y=[1,80],U=[1,81],$=[1,71],z=[1,66],q=[1,65],W=[1,61],H=[1,73],G=[1,74],V=[1,75],Z=[1,76],X=[1,77],K=[1,68],Q=[1,67],J=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],nt=[1,112],et=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],rt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],ot=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],ut=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],st=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],ft=[1,190],dt=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],_t=[1,188],bt=[1,189],xt=[1,205],wt=[8,9,11,83],kt=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],At={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]],performAction:function(t,n,e,r,i,a){var o=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[o]!==[]&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 55:case 57:case 58:case 90:case 92:case 93:case 106:this.$=a[o];break;case 11:r.setDirection(a[o-1]),this.$=a[o-1];break;case 12:r.setDirection("LR"),this.$=a[o-1];break;case 13:r.setDirection("RL"),this.$=a[o-1];break;case 14:r.setDirection("BT"),this.$=a[o-1];break;case 15:r.setDirection("TB"),this.$=a[o-1];break;case 30:this.$=a[o-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[o-1],a[o-3]);break;case 37:this.$=r.addSubGraph(a[o-1],void 0);break;case 41:r.addLink(a[o-2],a[o],a[o-1]),this.$=[a[o-2],a[o]];break;case 42:this.$=[a[o]];break;case 43:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"square");break;case 44:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"square");break;case 45:this.$=a[o-5],r.addVertex(a[o-5],a[o-2],"circle");break;case 46:this.$=a[o-6],r.addVertex(a[o-6],a[o-3],"circle");break;case 47:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"round");break;case 48:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"round");break;case 49:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"diamond");break;case 50:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"diamond");break;case 51:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"odd");break;case 52:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"odd");break;case 53:this.$=a[o],r.addVertex(a[o]);break;case 54:this.$=a[o-1],r.addVertex(a[o-1]);break;case 56:case 91:case 94:case 107:this.$=a[o-1]+""+a[o];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[o-1].text=a[o],this.$=a[o-1];break;case 62:case 63:a[o-2].text=a[o-1],this.$=a[o-2];break;case 64:this.$=a[o];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[o-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[o-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[o-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[o-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[o-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[o-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[o-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[o-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[o-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[o-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[o-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[o-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[o-1];break;case 108:case 109:this.$=a[o-4],r.addClass(a[o-2],a[o]);break;case 110:this.$=a[o-4],r.setClass(a[o-2],a[o]);break;case 111:this.$=a[o-4],r.setClickEvent(a[o-2],a[o],void 0,void 0);break;case 112:this.$=a[o-6],r.setClickEvent(a[o-4],a[o-2],void 0,a[o]);break;case 113:this.$=a[o-4],r.setClickEvent(a[o-2],void 0,a[o],void 0);break;case 114:this.$=a[o-6],r.setClickEvent(a[o-4],void 0,a[o-2],a[o]);break;case 115:this.$=a[o-4],r.addVertex(a[o-2],void 0,void 0,a[o]);break;case 116:case 117:case 118:this.$=a[o-4],r.updateLink(a[o-2],a[o]);break;case 120:this.$=[a[o]];break;case 121:a[o-2].push(a[o]),this.$=a[o-2];break;case 123:this.$=a[o-1]+a[o]}},table:[{3:1,4:2,9:e,10:r,12:i},{1:[3]},n(a,o,{5:6}),{4:7,9:e,10:r,12:i},{4:8,9:e,10:r,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(a,[2,9]),n(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},n(T,[2,3]),n(T,[2,4]),n(T,[2,5]),n(T,[2,6]),n(T,[2,7]),n(T,[2,8]),{8:C,9:F,11:O,24:49},{8:C,9:F,11:O,24:53},{8:C,9:F,11:O,24:54},{8:C,9:F,11:O,24:55},{8:C,9:F,11:O,24:56},{8:C,9:F,11:O,24:57},{8:C,9:F,10:L,11:O,12:I,13:N,15:P,16:B,17:R,18:j,24:59,30:Y,31:58,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(J,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},n(tt,[2,53],{43:32,21:110,42:111,10:nt,13:h,15:[1,109],18:f,36:[1,106],38:[1,107],40:[1,108],44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S}),n(et,[2,55]),n(et,[2,57]),n(et,[2,58]),n(et,[2,59]),n(et,[2,60]),n(rt,[2,148]),n(rt,[2,149]),n(rt,[2,150]),n(rt,[2,151]),n(rt,[2,152]),n(rt,[2,153]),n(rt,[2,154]),n(rt,[2,155]),n(rt,[2,156]),{8:it,9:at,10:nt,14:113,21:116},{8:it,9:at,10:nt,14:117,21:116},{8:it,9:at,10:nt,14:118,21:116},{8:it,9:at,10:nt,14:119,21:116},{8:it,9:at,10:nt,14:120,21:116},n(T,[2,30]),n(T,[2,38]),n(T,[2,39]),n(T,[2,40]),n(T,[2,31]),n(T,[2,32]),n(T,[2,33]),n(T,[2,34]),n(T,[2,35]),{8:C,9:F,10:L,11:O,12:I,13:N,15:P,16:B,17:R,18:j,24:121,30:Y,32:U,43:69,44:$,48:z,58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(ot,o,{5:123}),n(ut,[2,90]),n(ut,[2,92]),n(ut,[2,137]),n(ut,[2,138]),n(ut,[2,139]),n(ut,[2,140]),n(ut,[2,141]),n(ut,[2,142]),n(ut,[2,143]),n(ut,[2,144]),n(ut,[2,145]),n(ut,[2,146]),n(ut,[2,147]),n(ut,[2,95]),n(ut,[2,96]),n(ut,[2,97]),n(ut,[2,98]),n(ut,[2,99]),n(ut,[2,100]),n(ut,[2,101]),n(ut,[2,102]),n(ut,[2,103]),n(ut,[2,104]),n(ut,[2,105]),{13:h,18:f,33:124,35:29,42:30,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(st,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:128,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:129,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:130,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(ct,[2,77]),n(ct,[2,78]),n(ct,[2,79]),n(ct,[2,80]),n(ct,[2,81]),n(ct,[2,82]),n(ct,[2,83]),n(ct,[2,84]),n(ct,[2,85]),n(ct,[2,86]),n(ct,[2,87]),n(ct,[2,88]),{13:h,18:f,35:131,42:30,43:32,44:p,78:[1,132],79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{76:[1,133],79:[1,134]},{13:h,18:f,35:136,42:30,43:32,44:p,76:[1,135],79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{13:h,18:f,35:137,42:30,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{13:h,18:f,35:138,42:30,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:139,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:141,32:U,38:[1,140],43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:142,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:143,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(tt,[2,54]),n(et,[2,56]),n(tt,[2,29],{21:144,10:nt}),n(a,[2,11]),n(a,[2,21]),n(a,[2,22]),{9:[1,145]},n(a,[2,12]),n(a,[2,13]),n(a,[2,14]),n(a,[2,15]),n(ot,o,{5:146}),n(ut,[2,91]),{6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(J,[2,41]),n(st,[2,61],{10:[1,148]}),{10:[1,149]},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:150,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,43:69,44:$,48:z,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,43:69,44:$,48:z,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,43:69,44:$,48:z,58:q,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:[1,163],13:h,18:f,42:111,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:f,42:111,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:[1,169],13:h,18:f,42:111,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:[1,170],13:h,18:f,42:111,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,37:[1,171],43:69,44:$,48:z,58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,31:172,32:U,43:69,44:$,48:z,58:q,64:60,65:W,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,39:[1,173],43:69,44:$,48:z,58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,41:[1,174],43:69,44:$,48:z,58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,37:[1,175],43:69,44:$,48:z,58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(tt,[2,28]),n(a,[2,23]),{6:10,7:11,8:u,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(T,[2,37]),n(st,[2,63]),n(st,[2,62]),{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,43:69,44:$,48:z,58:q,63:[1,177],64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(st,[2,65]),n(st,[2,66]),n(st,[2,67]),n(st,[2,68]),n(st,[2,69]),n(st,[2,70]),n(st,[2,71]),n(st,[2,72]),n(st,[2,73]),n(st,[2,74]),n(st,[2,75]),n(st,[2,76]),{10:lt,44:ht,69:ft,77:178,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:192,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:193,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:194,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:195,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:196,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{13:h,18:f,35:197,42:30,43:32,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},{13:h,18:f,35:198,42:30,43:32,44:p,65:[1,199],79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(tt,[2,43],{21:200,10:nt}),{10:L,12:I,13:N,15:P,16:B,17:R,18:j,30:Y,32:U,39:[1,201],43:69,44:$,48:z,58:q,64:122,68:72,69:H,70:G,71:V,72:Z,73:X,75:62,76:K,79:b,81:Q,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S},n(tt,[2,47],{21:202,10:nt}),n(tt,[2,49],{21:203,10:nt}),n(tt,[2,51],{21:204,10:nt}),n(T,[2,36]),n([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),n(J,[2,115],{83:xt}),n(wt,[2,120],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:_t,89:bt}),n(kt,[2,122]),n(kt,[2,124]),n(kt,[2,125]),n(kt,[2,126]),n(kt,[2,127]),n(kt,[2,128]),n(kt,[2,129]),n(kt,[2,130]),n(kt,[2,131]),n(kt,[2,132]),n(kt,[2,133]),n(kt,[2,134]),n(J,[2,116],{83:xt}),n(J,[2,117],{83:xt}),n(J,[2,118],{83:xt}),n(J,[2,108],{83:xt}),n(J,[2,109],{83:xt}),n(J,[2,110],{43:32,42:111,13:h,18:f,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S}),n(J,[2,111],{43:32,42:111,10:[1,207],13:h,18:f,44:p,79:b,83:x,85:w,86:k,88:A,89:E,91:M,92:D,93:S}),n(J,[2,113],{10:[1,208]}),n(tt,[2,44]),{39:[1,209]},n(tt,[2,48]),n(tt,[2,50]),n(tt,[2,52]),{10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},n(kt,[2,123]),{65:[1,211]},{65:[1,212]},n(tt,[2,45],{21:213,10:nt}),n(wt,[2,121],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:_t,89:bt}),n(J,[2,112]),n(J,[2,114]),n(tt,[2,46])],defaultActions:{},parseError:function(t,n){if(!n.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,k,A,E,M,D=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=n.symbols_[t]||t),t},S={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=D()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var T="";M=[];for(k in a[b])this.terminals_[k]&&k>l&&M.push("'"+this.terminals_[k]+"'");T=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(A=this.productions_[x[1]][1],S.$=r[r.length-A],S._$={first_line:i[i.length-(A||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(A||1)].first_column,last_column:i[i.length-1].last_column},m&&(S._$.range=[i[i.length-(A||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;A&&(e=e.slice(0,-1*A*2),r=r.slice(0,-1*A),i=i.slice(0,-1*A)),e.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\r\n?|\n).*/g);return n?(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 n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),e.length-1&&(this.yylineno-=e.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:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},test_match:function(t,n){var e,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],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;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,n,e,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;an[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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,n,e,r){switch(e){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9;case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return At.lexer=Et,t.prototype=At,At.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log("Usage: "+n[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(n[1]),"utf8");return e.parser.parse(i)},"undefined"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],95:[function(t,n,e){(function(n){"use strict";function r(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n["default"]=t,n}var i=t("../../logger"),a=r(i),o=t("moment"),u=new a.Log,s="",c="",l=[],h=[],f="";e.clear=function(){l=[],h=[],f="",c="",y=0,d=void 0},e.setDateFormat=function(t){s=t},e.getDateFormat=function(){return s},e.setTitle=function(t){c=t},e.getTitle=function(){return c},e.addSection=function(t){f=t,l.push(t)},e.findTaskById=function(t){var n;for(n=0;ne-n?e+i+1.5*o.sidePadding>u?n+r-5:e+r+5:(e-n)/2+n+r}).attr("y",function(t,r){return r*n+o.barHeight/2+(o.fontSize/2-2)+e}).attr("text-height",i).attr("class",function(t){for(var n=w(t.startTime),e=w(t.endTime),r=this.getBBox().width,i=0,a=0;ae-n?e+r+1.5*o.sidePadding>u?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}function l(t,n,e,a){var u,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()}]];"undefined"!=typeof o.axisFormatter&&(l=[],o.axisFormatter.forEach(function(t){var n=[];n[0]=t[0],n[1]=t[1],l.push(n)})),u=s.concat(l).concat(c);var h=i.svg.axis().scale(w).orient("bottom").tickSize(-a+n+o.gridLineStartPadding,0,0).tickFormat(i.time.format.multi(u));r>7&&230>r&&(h=h.ticks(i.time.monday.range)),_.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,n){for(var e=[],r=0,i=0;i0))return i[1]*t/2+n;for(var o=0;a>o;o++)return r+=e[a-1][1],i[1]*t/2+r*t+n}).attr("class",function(t){for(var n=0;nr;++r)n.hasOwnProperty(t[r])||(n[t[r]]=!0,e.push(t[r]));return e}function p(t){for(var n=t.length,e={};n;)e[t[--n]]=(e[t[n]]||0)+1;return e}function g(t,n){return p(n)[t]||0}e.yy.clear(),e.parse(t);var y=document.getElementById(n);u=y.parentElement.offsetWidth,"undefined"==typeof u&&(u=1200),"undefined"!=typeof o.useWidth&&(u=o.useWidth);var m=e.yy.getTasks(),v=m.length*(o.barHeight+o.barGap)+2*o.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+u+" "+v);var _=i.select("#"+n),b=i.min(m,function(t){return t.startTime}),x=i.max(m,function(t){return t.endTime}),w=i.time.scale().domain([i.min(m,function(t){return t.startTime}),i.max(m,function(t){return t.endTime})]).rangeRound([0,u-150]),k=[];r=a.duration(x-b).asDays();for(var A=0;Al&&M.push("'"+this.terminals_[k]+"'");T=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(A=this.productions_[x[1]][1],S.$=r[r.length-A],S._$={first_line:i[i.length-(A||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(A||1)].first_column,last_column:i[i.length-1].last_column},m&&(S._$.range=[i[i.length-(A||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;A&&(e=e.slice(0,-1*A*2),r=r.slice(0,-1*A),i=i.slice(0,-1*A)),e.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},s=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\r\n?|\n).*/g);return n?(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 n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),e.length-1&&(this.yylineno-=e.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:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},test_match:function(t,n){var e,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],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;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,n,e,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;an[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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,n,e,r){switch(e){case 0:return 10;case 1:break;case 2:break;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 t}();return u.lexer=s,t.prototype=u,u.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log("Usage: "+n[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(n[1]),"utf8");return e.parser.parse(i)},"undefined"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],98:[function(t,n,e){(function(r){"use strict";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[6,8,10,11,15,17,19,20,22,33],r=[2,2],i=[1,6],a=[1,8],o=[1,9],u=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],f=[1,18],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,n,e,r,i,a){var o=a.length-1;switch(i){case 1:return r.apply(a[o-1]),a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:this.$=a[o-1];break;case 12:a[o-1].unshift({type:"loopStart",loopText:a[o-2].actor,signalType:r.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 13:a[o-1].unshift({type:"optStart",optText:a[o-2].actor,signalType:r.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:a[o-2].actor,signalType:r.LINETYPE.OPT_END}),this.$=a[o-1];break;case 14:a[o-4].unshift({type:"altStart",altText:a[o-5].actor,signalType:r.LINETYPE.ALT_START}),a[o-4].push({type:"else",altText:a[o-2].actor,signalType:r.LINETYPE.ALT_ELSE}),a[o-4]=a[o-4].concat(a[o-1]),a[o-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[o-4];break;case 15:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 19:this.$=a[o];break;case 20:this.$=[a[o-2],a[o]];break;case 21:this.$=r.PLACEMENT.LEFTOF;break;case 22:this.$=r.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 26:this.$={type:"addActor",actor:a[o]};break;case 27:this.$=r.LINETYPE.SOLID_OPEN;break;case 28:this.$=r.LINETYPE.DOTTED_OPEN;break;case 29:this.$=r.LINETYPE.SOLID;break;case 30:this.$=r.LINETYPE.DOTTED;break;case 31:this.$=r.LINETYPE.SOLID_CROSS;break;case 32:this.$=r.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[o].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},n(e,r,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,22:h,33:f},n(e,d,{1:[2,1]}),n(p,[2,3]),{9:19,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,22:h,33:f},n(p,[2,5]),n(p,[2,6]),{12:20,33:f},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:f},{12:25,33:f},{12:26,33:f},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},n([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),n(p,[2,4]),{10:[1,38]},n(p,[2,9]),n(p,[2,10]),{16:[1,39]},n(g,r,{5:40}),n(g,r,{5:41}),n([6,8,10,11,15,17,19,20,21,22,33],r,{5:42}),{12:43,33:f},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:f},{8:y,26:45},{33:[2,21]},{33:[2,22]},n(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,48],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,50],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,19:c,20:l,21:[1,51],22:h,33:f},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:f},{8:y,26:57,33:[2,18]},n(p,[2,11]),n(p,[2,12]),n(p,d),n(p,[2,13]),{12:58,33:f},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:f},{28:[1,60],33:[2,19]},{33:[2,17]},n(g,r,{5:61}),{10:[2,16]},{12:62,33:f},{6:m,7:5,8:i,9:7,10:a,11:o,12:16,13:10,14:11,15:u,17:s,18:[1,63],19:c,20:l,22:h,33:f},{33:[2,20]},n(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,n){if(!n.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,k,A,E,M,D=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=n.symbols_[t]||t),t},S={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=D()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var T="";M=[];for(k in a[b])this.terminals_[k]&&k>l&&M.push("'"+this.terminals_[k]+"'");T=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(u+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(A=this.productions_[x[1]][1],S.$=r[r.length-A],S._$={first_line:i[i.length-(A||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(A||1)].first_column,last_column:i[i.length-1].last_column},m&&(S._$.range=[i[i.length-(A||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(S,[o,s,u,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;A&&(e=e.slice(0,-1*A*2),r=r.slice(0,-1*A),i=i.slice(0,-1*A)),e.push(this.productions_[x[1]][0]),r.push(S.$),i.push(S._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},b=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\r\n?|\n).*/g);return n?(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 n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),e.length-1&&(this.yylineno-=e.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:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},test_match:function(t,n){var e,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],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;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,n,e,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;an[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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,n,e,r){switch(e){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return _.lexer=b,t.prototype=_,_.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log("Usage: "+n[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(n[1]),"utf8");return e.parser.parse(i)},"undefined"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],99:[function(t,n,e){(function(n){"use strict";function r(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n["default"]=t,n}var i=t("../../logger"),a=r(i),o={},u=[],s=[],c=[],l=new a.Log;e.addActor=function(t,n,e){o[t]={name:n,description:e},u.push(t)},e.addMessage=function(t,n,e,r){s.push({from:t,to:n,message:e,answer:r})},e.addSignal=function(t,n,e,r){l.debug("Adding message from="+t+" to="+n+" message="+e+" type="+r),s.push({from:t,to:n,message:e,type:r})},e.getMessages=function(){return s},e.getActors=function(){return o},e.getActor=function(t){return o[t]},e.getActorKeys=function(){return Object.keys(o)},e.clear=function(){o={},s=[]},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},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,n,r){var i={actor:t,placement:n,message:r};c.push(i),s.push({from:t,to:t,message:r,type:e.LINETYPE.NOTE,placement:n})},e.parseError=function(t,e){n.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.actor);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":e.addSignal(void 0,void 0,t.altText,t.signalType);break;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)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":102}],100:[function(t,n,e){"use strict";function r(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n["default"]=t,n}var i=t("../../logger"),a=r(i),o=t("./parser/sequenceDiagram").parser;o.yy=t("./sequenceDb");var u=t("./svgDraw"),s=t("../../d3"),c=new a.Log,l={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,n,e,r){t[n]="undefined"==typeof t[n]?e:r(e,t[n])},updateLoops:function(t,n,r,i){var a=this,o=0;this.list.forEach(function(u){o++;var s=a.list.length-o+1;a.updateVal(u,"startx",t-s*l.boxMargin,Math.min),a.updateVal(u,"starty",n-s*l.boxMargin,Math.min),a.updateVal(u,"stopx",r+s*l.boxMargin,Math.max),a.updateVal(u,"stopy",i+s*l.boxMargin,Math.max),a.updateVal(e.bounds.data,"startx",t-s*l.boxMargin,Math.min),a.updateVal(e.bounds.data,"starty",n-s*l.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopx",r+s*l.boxMargin,Math.max),a.updateVal(e.bounds.data,"stopy",i+s*l.boxMargin,Math.max)})},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.updateLoops(a,o,u,s)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var n=this.list.pop();n.elsey=e.bounds.getVerticalPos(),n.elseText=t,this.list.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 h=function(t,n,r,i){var a=u.getNoteRect();a.x=n,a.y=r,a.width=l.width,a["class"]="note";var o=t.append("g"),s=u.drawRect(o,a),c=u.getTextObj();c.x=n-4,c.y=r-13,c.textMargin=l.noteMargin,c.dy="1em",c.text=i.message,c["class"]="noteText";var h=u.drawText(o,c,l.width-l.noteMargin),f=h[0][0].getBBox().height; + +f>l.width?(h.remove(),o=t.append("g"),h=u.drawText(o,c,2*l.width-l.noteMargin),f=h[0][0].getBBox().height,s.attr("width",2*l.width),e.bounds.insert(n,r,n+2*l.width,r+2*l.noteMargin+f)):e.bounds.insert(n,r,n+l.width,r+2*l.noteMargin+f),s.attr("height",f+2*l.noteMargin),e.bounds.bumpVerticalPos(f+2*l.noteMargin)},f=function(t,n,r,i,a){var u,s=t.append("g"),c=n+(r-n)/2,l=s.append("text").attr("x",c).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message);u="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(n===r){h=s.append("path").attr("d","M "+n+","+i+" C "+(n+60)+","+(i-10)+" "+(n+60)+","+(i+30)+" "+n+","+(i+20)),e.bounds.bumpVerticalPos(30);var f=Math.max(u/2,100);e.bounds.insert(n-f,e.bounds.getVerticalPos()-10,r+f,e.bounds.getVerticalPos())}else h=s.append("line"),h.attr("x1",n),h.attr("y1",i),h.attr("x2",r),h.attr("y2",i),e.bounds.insert(n,e.bounds.getVerticalPos()-10,r,e.bounds.getVerticalPos());a.type===o.yy.LINETYPE.DOTTED||a.type===o.yy.LINETYPE.DOTTED_CROSS||a.type===o.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var d=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;d=d.replace(/\(/g,"\\("),d=d.replace(/\)/g,"\\)"),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),(a.type===o.yy.LINETYPE.SOLID||a.type===o.yy.LINETYPE.DOTTED)&&h.attr("marker-end","url("+d+"#crosshead)"),(a.type===o.yy.LINETYPE.SOLID_CROSS||a.type===o.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+d+"#crosshead)")};n.exports.drawActors=function(t,n,r,i){var a;for(a=0;a/gi," "),i=t.append("text");i.attr("x",n.x),i.attr("y",n.y),i.style("text-anchor",n.anchor),i.attr("fill",n.fill),"undefined"!=typeof n["class"]&&i.attr("class",n["class"]);var a=i.append("tspan");return a.attr("x",n.x+2*n.textMargin),a.text(r),"undefined"!=typeof i.textwrap&&i.textwrap({x:n.x,y:n.y,width:e,height:1800},n.textMargin),i},e.drawLabel=function(t,n){var r=e.getNoteRect();r.x=n.x,r.y=n.y,r.width=50,r.height=20,r.fill="#526e52",r.stroke="none",r["class"]="labelBox",e.drawRect(t,r),n.y=n.y+n.labelMargin,n.x=n.x+.5*n.labelMargin,n.fill="white",e.drawText(t,n)};var r=-1;e.drawActor=function(t,n,i,a,o){var u=n+o.width/2,s=t.append("g");0===i&&(r++,s.append("line").attr("id","actor"+r).attr("x1",u).attr("y1",5).attr("x2",u).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var c=e.getNoteRect();c.x=n,c.y=i,c.fill="#eaeaea",c.width=o.width,c.height=o.height,c["class"]="actor",c.rx=3,c.ry=3,e.drawRect(s,c),s.append("text").attr("x",u).attr("y",i+o.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},e.drawLoop=function(t,n,r,i){var a=t.append("g"),o=function(t,n,e,r){a.append("line").attr("x1",t).attr("y1",n).attr("x2",e).attr("y2",r).attr("stroke-width",2).attr("stroke","#526e52").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),"undefined"!=typeof n.elsey&&o(n.startx,n.elsey,n.stopx,n.elsey);var u=e.getTextObj();u.text=r,u.x=n.startx,u.y=n.starty,u.labelMargin=1.5*i.boxMargin,u["class"]="labelText",u.fill="white",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),"undefined"!=typeof n.elseText&&(u.text="[ "+n.elseText+" ]",u.y=n.elsey+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 n=t.append("defs"),e=n.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")},e.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},e.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],102:[function(t,n,e){"use strict";function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function i(t){var n=t.getUTCHours(),e=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>n&&(n="0"+n),10>e&&(e="0"+e),10>r&&(r="0"+r),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=n+":"+e+":"+r+" ("+i+")";return a}var a=function(){function t(t,n){for(var e=0;e=e&&"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log("["+i(new Date)+"] "+t):void 0}},{key:"trace",value:function(t){this.log(t,o.trace)}},{key:"debug",value:function(t){this.log(t,o.debug)}},{key:"info",value:function(t){this.log(t,o.info)}},{key:"warn",value:function(t){this.log(t,o.warn)}},{key:"error",value:function(t){this.log(t,o.error)}}]),t}();e.Log=s},{}],103:[function(t,n,e){(function(n){"use strict";function r(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n["default"]=t,n}var i=t("./logger"),a=r(i),o=new a.Log,u=t("./diagrams/flowchart/graphDb"),s=t("./utils"),c=t("./diagrams/flowchart/flowRenderer"),l=t("./diagrams/sequenceDiagram/sequenceRenderer"),h=t("./diagrams/example/exampleRenderer"),f=t("./diagrams/example/parser/example"),d=t("./diagrams/flowchart/parser/flow"),p=t("./diagrams/flowchart/parser/dot"),g=t("./diagrams/sequenceDiagram/parser/sequenceDiagram"),y=t("./diagrams/sequenceDiagram/sequenceDb"),m=t("./diagrams/example/exampleDb"),v=t("./diagrams/gantt/ganttRenderer"),_=t("./diagrams/gantt/parser/gantt"),b=t("./diagrams/gantt/ganttDb"),x=t("./d3"),w={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,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,sidePadding: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()}]]}};a.setLogLevel(w.logLevel);var k=function(t){var n,e=s.detectType(t);switch(e){case"graph":n=d,n.parser.yy=u;break;case"dotGraph":n=p,n.parser.yy=u;break;case"sequenceDiagram":n=g,n.parser.yy=y;break;case"info":n=f,n.parser.yy=m;break;case"gantt":n=_,n.parser.yy=b}try{return n.parse(t),!0}catch(r){return!1}};e.parse=k,e.version=function(){return t("../package.json").version},e.encodeEntities=function(t){var n=t;return n=n.replace(/style.*:\S*#.*;/g,function(t){var n=t.substring(0,t.length-1);return n}),n=n.replace(/classDef.*:\S*#.*;/g,function(t){var n=t.substring(0,t.length-1);return n}),n=n.replace(/#\w+\;/g,function(t){var n=t.substring(1,t.length-1),e=/^\+?\d+$/.test(n);return e?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"})},e.decodeEntities=function(t){var n=t;return n=n.replace(/\fl\°\°/g,function(){return"&#"}),n=n.replace(/\fl\°/g,function(){return"&"}),n=n.replace(/¶ß/g,function(){return";"})};var A=function(t,n,r,i){"undefined"!=typeof i?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"):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 a=x.select("#d"+t).node(),f=s.detectType(n),d={};switch(f){case"graph":c.setConf(w.flowchart),c.draw(n,t,!1),w.cloneCssStyles&&(d=c.getClasses(n,!1),s.cloneCssStyles(a.firstChild,d));break;case"dotGraph":c.setConf(w.flowchart),c.draw(n,t,!0),w.cloneCssStyles&&(d=c.getClasses(n,!0),s.cloneCssStyles(a.firstChild,d));break;case"sequenceDiagram":l.setConf(w.sequenceDiagram),l.draw(n,t),w.cloneCssStyles&&s.cloneCssStyles(a.firstChild,[]);break;case"gantt":v.setConf(w.gantt),v.draw(n,t),w.cloneCssStyles&&s.cloneCssStyles(a.firstChild,[]);break;case"info":h.draw(n,t,e.version()),w.cloneCssStyles&&s.cloneCssStyles(a.firstChild,[])}x.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)");var g=x.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+p+"#arrowhead","g");g=e.decodeEntities(g),"undefined"!=typeof r?r(g,u.bindFunctions):o.warn("CB = undefined");var y=x.select("#d"+t).node();null!==y&&"function"==typeof y.remove&&x.select("#d"+t).node().remove()};e.render=function(t,n,e,r){"undefined"==typeof document||A(t,n,e,r)};var E=function(t){var n,e=Object.keys(t);for(n=0;n0&&(r+=e.selectorText+" { "+e.style.cssText+" }\n")}}catch(l){"undefined"!==e&&o.warn('Invalid CSS selector "'+e.selectorText+'"',l)}var h="",f="";for(var d in n)n.hasOwnProperty(d)&&"undefined"!=typeof d&&("default"===d?(n["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+n[d].styles.join("; ")+"; }\n"),n["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+n[d].nodeLabelStyles.join("; ")+"; }\n"),n["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+n[d].edgeLabelStyles.join("; ")+"; }\n"),n["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+n[d].clusterStyles.join("; ")+"; }\n")):n[d].styles instanceof Array&&(f+="#"+t.id.trim()+" ."+d+">rect { "+n[d].styles.join("; ")+"; }\n"));if(""!==r||""!==h||""!==f){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};e.cloneCssStyles=s},{"./logger":102}]},{},[103])(103)}); \ No newline at end of file diff --git a/dist/mermaidAPI.slim.js b/dist/mermaidAPI.slim.js index 144df352f..c2d3eaca9 100644 --- a/dist/mermaidAPI.slim.js +++ b/dist/mermaidAPI.slim.js @@ -21138,7 +21138,7 @@ module.exports = '1.0.7'; },{}],84:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.5.3-2", + "version": "0.5.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", "main": "src/mermaid.js", "keywords": [ diff --git a/dist/mermaidAPI.slim.min.js b/dist/mermaidAPI.slim.min.js index 85432cb44..d8780b375 100644 --- a/dist/mermaidAPI.slim.min.js +++ b/dist/mermaidAPI.slim.min.js @@ -1,9 +1,12 @@ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaidAPI=t()}}(function(){var define,module,exports;return function t(e,n,r){function i(s,o){if(!n[s]){if(!e[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};e[s][0].call(l.exports,function(t){var n=e[s][1][t];return i(n?n:t)},l,l.exports,t,e,n,r)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s=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=-1&&!i;a--){var s=a>=0?arguments[a]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(n=s+"/"+n,i="/"===s.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var i=n.isAbsolute(t),a="/"===s(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),s=Math.min(i.length,a.length),o=s,u=0;s>u;u++)if(i[u]!==a[u]){o=u;break}for(var c=[],u=o;ue&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e,n){function r(){}var i=e.exports={};i.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,n="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return n?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),i.title="browser",i.browser=!0,i.env={},i.argv=[],i.on=r,i.addListener=r,i.once=r,i.off=r,i.removeListener=r,i.removeAllListeners=r,i.emit=r,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")}},{}],4:[function(t,e,n){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":11,"./lib/graphlib":12,"./lib/intersect":13,"./lib/render":28,"./lib/util":30,"./lib/version":31}],5:[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");s.applyStyle(a,n[r+"Style"])}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");s.applyStyle(a,n[r+"Style"])}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");s.applyStyle(a,n[r+"Style"])}var s=t("./util");e.exports={"default":r,normal:r,vee:i,undirected:a}},{"./util":30}],6:[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){var n=e.node(t);return n.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=t("./util"),a=t("./label/add-label");e.exports=r},{"./label/add-label":21,"./util":30}],7:[function(t,e,n){"use strict";function r(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return s.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(o.select(this),e.edge(t),0,0).classed("label",!0),s=r.node().getBBox();n.labelId&&r.attr("id",n.labelId),i.has(n,"width")||(n.width=s.width),i.has(n,"height")||(n.height=s.height)}),s.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var i=t("./lodash"),a=t("./label/add-label"),s=t("./util"),o=t("./d3");e.exports=r},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],8:[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 o(r,e),u(r,e),h.applyTransition(r,e).style("opacity",1),r.each(function(t){var n=d.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=c.uniqueId("arrowhead");var r=d.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");h.applyTransition(r,e).attr("d",function(t){return i(e,t)}),h.applyStyle(r,n.style)}),r.selectAll("defs *").remove(),r.selectAll("defs").each(function(t){var r=e.edge(t),i=n[r.arrowhead];i(d.select(this),r.arrowheadId,r,"arrowhead")}),r}function i(t,e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),s=n.points.slice(1,n.points.length-1);return s.unshift(l(r,s[0])),s.push(l(i,s[s.length-1])),a(n,s)}function a(t,e){var n=d.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return c.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),c.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function s(t){var e=t.getBBox(),n=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:n.e,y:n.f}}function o(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,i=c.range(n.points.length).map(function(){return s(r)});return a(n,i)}),n.append("defs")}function u(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){var r=c.range(this.pathSegList.length).map(function(){return n});return a({},r)}return d.select(this).attr("d")})}var c=t("./lodash"),l=t("./intersect/intersect-node"),h=t("./util"),d=t("./d3");e.exports=r},{"./d3":10,"./intersect/intersect-node":17,"./lodash":24,"./util":30}],9:[function(t,e,n){"use strict";function r(t,e,n){var r=e.nodes().filter(function(t){return!s.isSubgraph(e,t)}),u=t.selectAll("g.node").data(r,function(t){return t}).classed("update",!0);return u.selectAll("*").remove(),u.enter().append("g").attr("class","node").style("opacity",0),u.each(function(t){var r=e.node(t),u=o.select(this),c=u.append("g").attr("class","label"),l=a(c,r),h=n[r.shape],d=i.pick(l.node().getBBox(),"width","height");r.elem=this,r.id&&u.attr("id",r.id),r.labelId&&c.attr("id",r.labelId),s.applyClass(u,r["class"],(u.classed("update")?"update ":"")+"node"),i.has(r,"width")&&(d.width=r.width),i.has(r,"height")&&(d.height=r.height),d.width+=r.paddingLeft+r.paddingRight,d.height+=r.paddingTop+r.paddingBottom,c.attr("transform","translate("+(r.paddingLeft-r.paddingRight)/2+","+(r.paddingTop-r.paddingBottom)/2+")");var f=h(o.select(this),d,r);s.applyStyle(f,r.style);var p=f.node().getBBox();r.width=p.width,r.height=p.height}),s.applyTransition(u.exit(),e).style("opacity",0).remove(),u}var i=t("./lodash"),a=t("./label/add-label"),s=t("./util"),o=t("./d3");e.exports=r},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],10:[function(t,e,n){e.exports=window.d3},{}],11:[function(t,e,n){var r;if(t)try{r=t("dagre")}catch(i){}r||(r=window.dagre),e.exports=r},{dagre:32}],12:[function(t,e,n){var r;if(t)try{r=t("graphlib")}catch(i){}r||(r=window.graphlib),e.exports=r},{graphlib:62}],13:[function(t,e,n){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":14,"./intersect-ellipse":15,"./intersect-node":17,"./intersect-polygon":18,"./intersect-rect":19}],14:[function(t,e,n){function r(t,e,n){return i(t,e,e,n)}var i=t("./intersect-ellipse");e.exports=r},{"./intersect-ellipse":15}],15:[function(t,e,n){function r(t,e,n,r){var i=t.x,a=t.y,s=i-r.x,o=a-r.y,u=Math.sqrt(e*e*o*o+n*n*s*s),c=Math.abs(e*n*s/u);r.xm?(m-y)/g:(m+y)/g,m=s*c-a*l,_=0>m?(m-y)/g:(m+y)/g,{x:v,y:_})}function i(t,e){return t*e>0}e.exports=r},{}],17:[function(t,e,n){function r(t,e){return t.intersect(e)}e.exports=r},{}],18:[function(t,e,n){function r(t,e,n){var r=t.x,a=t.y,s=[],o=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY;e.forEach(function(t){o=Math.min(o,t.x),u=Math.min(u,t.y)});for(var c=r-t.width/2-o,l=a-t.height/2-u,h=0;h1&&s.sort(function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),s=e.x-n.x,o=e.y-n.y,u=Math.sqrt(s*s+o*o);return u>a?-1:a===u?0:1}),s[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var i=t("./intersect-line");e.exports=r},{"./intersect-line":16}],19:[function(t,e,n){function r(t,e){var n,r,i=t.x,a=t.y,s=e.x-i,o=e.y-a,u=t.width/2,c=t.height/2;return Math.abs(o)*u>Math.abs(s)*c?(0>o&&(c=-c),n=0===o?0:c*s/o,r=c):(0>s&&(u=-u),n=u,r=0===s?0:u*o/s),{x:i+n,y:a+r}}e.exports=r},{}],20:[function(t,e,n){function r(t,e){var n=t.append("foreignObject").attr("width","100000"),r=n.append("xhtml:div"),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 s,o;return r.each(function(){s=this.clientWidth,o=this.clientHeight}),n.attr("width",s).attr("height",o),n}var i=t("../util");e.exports=r},{"../util":30}],21:[function(t,e,n){function r(t,e,n){var r=e.label,o=t.append("g");"svg"===e.labelType?s(o,e):"string"!=typeof r||"html"===e.labelType?a(o,e):i(o,e);var u,c=o.node().getBBox();switch(n){case"top":u=-e.height/2;break;case"bottom":u=e.height/2-c.height;break;default:u=-c.height/2}return o.attr("transform","translate("+-c.width/2+","+u+")"),o}var i=t("./add-text-label"),a=t("./add-html-label"),s=t("./add-svg-label");e.exports=r},{"./add-html-label":20,"./add-svg-label":22,"./add-text-label":23}],22:[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=t("../util");e.exports=r},{"../util":30}],23:[function(t,e,n){function r(t,e){for(var n=t.append("text"),r=i(e.label).split("\n"),s=0;so;++o)i(t,"borderLeft","_bl",n,s,o),i(t,"borderRight","_br",n,s,o)}}a.each(t.children(),e)}function i(t,e,n,r,i,a){var o={width:0,height:0,rank:a,borderType:e},u=i[e][a-1],c=s.addDummyNode(t,"border",o,n);i[e][a]=c,t.setParent(c,r),u&&t.setEdge(u,c,{weight:1})}var a=t("./lodash"),s=t("./util");e.exports=r},{"./lodash":41,"./util":60}],35:[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)&&o(t),("lr"===e||"rl"===e)&&(c(t),a(t))}function a(t){h.each(t.nodes(),function(e){s(t.node(e))}),h.each(t.edges(),function(e){s(t.edge(e))})}function s(t){var e=t.width;t.width=t.height,t.height=e}function o(t){h.each(t.nodes(),function(e){u(t.node(e))}),h.each(t.edges(),function(e){var n=t.edge(e);h.each(n.points,u),h.has(n,"y")&&u(n)})}function u(t){t.y=-t.y}function c(t){h.each(t.nodes(),function(e){l(t.node(e))}),h.each(t.edges(),function(e){var n=t.edge(e);h.each(n.points,l),h.has(n,"x")&&l(n)})}function l(t){var e=t.x;t.x=t.y,t.y=e}var h=t("./lodash");e.exports={adjust:r,undo:i}},{"./lodash":41}],36:[function(t,e,n){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){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=r,r.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(i(e),e):void 0},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(", ")+"]"}},{}],37:[function(t,e,n){function r(t){var e=a.buildLayerMatrix(t),n=new s({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=t("./lodash"),a=t("./util"),s=t("./graphlib").Graph;e.exports={debugOrdering:r}},{"./graphlib":38,"./lodash":41,"./util":60}],38:[function(t,e,n){var r;if("function"==typeof t)try{r=t("graphlib")}catch(i){}r||(r=window.graphlib),e.exports=r},{graphlib:62}],39:[function(t,e,n){function r(t,e){if(t.nodeCount()<=1)return[];var n=s(t,e||h),r=i(n.graph,n.buckets,n.zeroIdx);return u.flatten(u.map(r,function(e){return t.outEdges(e.v,e.w)}),!0)}function i(t,e,n){for(var r,i=[],s=e[e.length-1],o=e[0];t.nodeCount();){for(;r=o.dequeue();)a(t,e,n,r);for(;r=s.dequeue();)a(t,e,n,r);if(t.nodeCount())for(var u=e.length-2;u>0;--u)if(r=e[u].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 u.each(t.inEdges(r.v),function(r){var s=t.edge(r),u=t.node(r.v);i&&a.push({v:r.v,w:r.w}),u.out-=s,o(e,n,u)}),u.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,s=t.node(a);s["in"]-=i,o(e,n,s)}),t.removeNode(r.v),a}function s(t,e){var n=new c,r=0,i=0;u.each(t.nodes(),function(t){n.setNode(t,{v:t,"in":0,out:0})}),u.each(t.edges(),function(t){var a=n.edge(t.v,t.w)||0,s=e(t),o=a+s;n.setEdge(t.v,t.w,o),i=Math.max(i,n.node(t.v).out+=s),r=Math.max(r,n.node(t.w)["in"]+=s)});var a=u.range(i+r+3).map(function(){return new l}),s=r+1;return u.each(n.nodes(),function(t){o(a,s,n.node(t))}),{graph:n,buckets:a,zeroIdx:s}}function o(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 u=t("./lodash"),c=t("./graphlib").Graph,l=t("./data/list");e.exports=r;var h=u.constant(1)},{"./data/list":36,"./graphlib":38,"./lodash":41}],40:[function(t,e,n){"use strict";function r(t,e){var n=e&&e.debugTiming?B.time:B.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return s(t)});n(" runLayout",function(){i(e,n)}),n(" updateInputGraph",function(){a(t,e)})})}function i(t,e){e(" makeSpaceForEdgeLabels",function(){o(t)}),e(" removeSelfEdges",function(){y(t)}),e(" acyclic",function(){x.run(t)}),e(" nestingGraph.run",function(){C.run(t)}),e(" rank",function(){k(B.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){u(t)}),e(" removeEmptyRanks",function(){T(t)}),e(" nestingGraph.cleanup",function(){C.cleanup(t)}),e(" normalizeRanks",function(){E(t)}),e(" assignRankMinMax",function(){c(t)}),e(" removeEdgeLabelProxies",function(){l(t)}),e(" normalize.run",function(){A.run(t)}),e(" parentDummyChains",function(){D(t)}),e(" addBorderSegments",function(){S(t)}),e(" order",function(){O(t)}),e(" insertSelfEdges",function(){m(t)}),e(" adjustCoordinateSystem",function(){F.adjust(t)}),e(" position",function(){I(t)}),e(" positionSelfEdges",function(){v(t)}),e(" removeBorderNodes",function(){g(t)}),e(" normalize.undo",function(){A.undo(t)}),e(" fixupEdgeLabelCoords",function(){f(t)}),e(" undoCoordinateSystem",function(){F.undo(t)}),e(" translateGraph",function(){h(t)}),e(" assignNodeIntersects",function(){d(t)}),e(" reversePoints",function(){p(t)}),e(" acyclic.undo",function(){x.undo(t)})}function a(t,e){w.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))}),w.each(t.edges(),function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,w.has(i,"x")&&(r.x=i.x,r.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function s(t){var e=new M({multigraph:!0,compound:!0}),n=b(t.graph());return e.setGraph(w.merge({},P,_(n,L),w.pick(n,N))),w.each(t.nodes(),function(n){var r=b(t.node(n));e.setNode(n,w.defaults(_(r,R),j)),e.setParent(n,t.parent(n))}),w.each(t.edges(),function(n){var r=b(t.edge(n));e.setEdge(n,w.merge({},$,_(r,Y),w.pick(r,U)))}),e}function o(t){var e=t.graph();e.ranksep/=2,w.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 u(t){w.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};B.addDummyNode(t,"edge-proxy",a,"_ep")}})}function c(t){var e=0;w.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=w.max(e,r.maxRank))}),t.graph().maxRank=e}function l(t){w.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 h(t){function e(t){var e=t.x,s=t.y,o=t.width,u=t.height;n=Math.min(n,e-o/2),r=Math.max(r,e+o/2),i=Math.min(i,s-u/2),a=Math.max(a,s+u/2)}var n=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,a=0,s=t.graph(),o=s.marginx||0,u=s.marginy||0;w.each(t.nodes(),function(n){e(t.node(n))}),w.each(t.edges(),function(n){var r=t.edge(n);w.has(r,"x")&&e(r)}),n-=o,i-=u,w.each(t.nodes(),function(e){var r=t.node(e);r.x-=n,r.y-=i}),w.each(t.edges(),function(e){var r=t.edge(e);w.each(r.points,function(t){t.x-=n,t.y-=i}),w.has(r,"x")&&(r.x-=n),w.has(r,"y")&&(r.y-=i)}),s.width=r-n+o,s.height=a-i+u}function d(t){w.each(t.edges(),function(e){var n,r,i=t.edge(e),a=t.node(e.v),s=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=s,r=a),i.points.unshift(B.intersectRect(a,n)),i.points.push(B.intersectRect(s,r))})}function f(t){w.each(t.edges(),function(e){var n=t.edge(e);if(w.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 p(t){w.each(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}function g(t){w.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(w.last(n.borderLeft)),s=t.node(w.last(n.borderRight));n.width=Math.abs(s.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}}),w.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function y(t){w.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 m(t){var e=B.buildLayerMatrix(t);w.each(e,function(e){var n=0;w.each(e,function(e,r){var i=t.node(e);i.order=r+n,w.each(i.selfEdges,function(e){B.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 v(t){w.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,s=n.x-i,o=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],n.label.x=n.x,n.label.y=n.y}})}function _(t,e){return w.mapValues(w.pick(t,e),Number)}function b(t){var e={};return w.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var w=t("./lodash"),x=t("./acyclic"),A=t("./normalize"),k=t("./rank"),E=t("./util").normalizeRanks,D=t("./parent-dummy-chains"),T=t("./util").removeEmptyRanks,C=t("./nesting-graph"),S=t("./add-border-segments"),F=t("./coordinate-system"),O=t("./order"),I=t("./position"),B=t("./util"),M=t("./graphlib").Graph;e.exports=r;var L=["nodesep","edgesep","ranksep","marginx","marginy"],P={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],R=["width","height"],j={width:0,height:0},Y=["minlen","weight","width","height","labeloffset"],$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":33,"./add-border-segments":34,"./coordinate-system":35,"./graphlib":38,"./lodash":41,"./nesting-graph":42,"./normalize":43,"./order":48,"./parent-dummy-chains":53,"./position":55,"./rank":57,"./util":60}],41:[function(t,e,n){var r;if("function"==typeof t)try{r=t("lodash")}catch(i){}r||(r=window._),e.exports=r},{lodash:82}],42:[function(t,e,n){function r(t){var e=c.addDummyNode(t,"root",{},"_root"),n=a(t),r=u.max(n)-1,o=2*r+1;t.graph().nestingRoot=e,u.each(t.edges(),function(e){t.edge(e).minlen*=o});var l=s(t)+1;u.each(t.children(),function(a){i(t,e,o,l,r,n,a)}),t.graph().nodeRankFactor=o}function i(t,e,n,r,a,s,o){var l=t.children(o);if(!l.length)return void(o!==e&&t.setEdge(e,o,{weight:0,minlen:n}));var h=c.addBorderNode(t,"_bt"),d=c.addBorderNode(t,"_bb"),f=t.node(o);t.setParent(h,o),f.borderTop=h,t.setParent(d,o),f.borderBottom=d,u.each(l,function(u){i(t,e,n,r,a,s,u);var c=t.node(u),l=c.borderTop?c.borderTop:u,f=c.borderBottom?c.borderBottom:u,p=c.borderTop?r:2*r,g=l!==f?1:a-s[o]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(f,d,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(o)||t.setEdge(e,h,{weight:0,minlen:a+s[o]})}function a(t){function e(r,i){var a=t.children(r);a&&a.length&&u.each(a,function(t){e(t,i+1)}),n[r]=i}var n={};return u.each(t.children(),function(t){e(t,1)}),n}function s(t){return u.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}function o(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,u.each(t.edges(),function(e){var n=t.edge(e);n.nestingEdge&&t.removeEdge(e)})}var u=t("./lodash"),c=t("./util");e.exports={run:r,cleanup:o}},{"./lodash":41,"./util":60 -}],43:[function(t,e,n){"use strict";function r(t){t.graph().dummyChains=[],s.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,s=e.name,u=t.edge(e),c=u.labelRank;if(a!==r+1){t.removeEdge(e);var l,h,d;for(d=0,++r;a>r;++d,++r)u.points=[],h={width:0,height:0,edgeLabel:u,edgeObj:e,rank:r},l=o.addDummyNode(t,"edge",h,"_d"),r===c&&(h.width=u.width,h.height=u.height,h.dummy="edge-label",h.labelpos=u.labelpos),t.setEdge(n,l,{weight:u.weight},s),0===d&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,i,{weight:u.weight},s)}}function a(t){s.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 s=t("./lodash"),o=t("./util");e.exports={run:r,undo:a}},{"./lodash":41,"./util":60}],44:[function(t,e,n){function r(t,e,n){var r,a={};i.each(n,function(n){for(var i,s,o=t.parent(n);o;){if(i=t.parent(o),i?(s=a[i],a[i]=o):(s=r,r=o),s&&s!==o)return void e.setEdge(s,o);o=i}})}var i=t("../lodash");e.exports=r},{"../lodash":41}],45:[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=t("../lodash");e.exports=r},{"../lodash":41}],46:[function(t,e,n){function r(t,e,n){var r=i(t),o=new s({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(e){return t.node(e)});return a.each(t.nodes(),function(i){var s=t.node(i),u=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(i),o.setParent(i,u||r),a.each(t[n](i),function(e){var n=e.v===i?e.w:e.v,r=o.edge(n,i),s=a.isUndefined(r)?0:r.weight;o.setEdge(n,i,{weight:t.edge(e).weight+s})}),a.has(s,"minRank")&&o.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),o}function i(t){for(var e;t.hasNode(e=a.uniqueId("_root")););return e}var a=t("../lodash"),s=t("../graphlib").Graph;e.exports=r},{"../graphlib":38,"../lodash":41}],47:[function(t,e,n){"use strict";function r(t,e){for(var n=0,r=1;r0;)e%2&&(n+=u[e+1]),e=e-1>>1,u[e]+=t.weight;c+=t.weight*n})),c}var a=t("../lodash");e.exports=r},{"../lodash":41}],48:[function(t,e,n){"use strict";function r(t){var e=p.maxRank(t),n=i(t,o.range(1,e+1),"inEdges"),r=i(t,o.range(e-1,-1,-1),"outEdges"),l=u(t);s(t,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){a(f%2?n:r,f%4>=2),l=p.buildLayerMatrix(t);var y=c(t,l);d>y&&(g=0,h=o.cloneDeep(l),d=y)}s(t,h)}function i(t,e,n){return o.map(e,function(e){return h(t,e,n)})}function a(t,e){var n=new f;o.each(t,function(t){var r=t.graph().root,i=l(t,r,n,e);o.each(i.vs,function(e,n){t.node(e).order=n}),d(t,n,i.vs)})}function s(t,e){o.each(e,function(e){o.each(e,function(e,n){t.node(e).order=n})})}var o=t("../lodash"),u=t("./init-order"),c=t("./cross-count"),l=t("./sort-subgraph"),h=t("./build-layer-graph"),d=t("./add-subgraph-constraints"),f=t("../graphlib").Graph,p=t("../util");e.exports=r},{"../graphlib":38,"../lodash":41,"../util":60,"./add-subgraph-constraints":44,"./build-layer-graph":46,"./cross-count":47,"./init-order":49,"./sort-subgraph":51}],49:[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);s[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})),s=i.map(i.range(a+1),function(){return[]}),o=i.sortBy(r,function(e){return t.node(e).rank});return i.each(o,e),s}var i=t("../lodash");e.exports=r},{"../lodash":41}],50:[function(t,e,n){"use strict";function r(t,e){var n={};s.each(t,function(t,e){var r=n[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};s.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),s.each(e.edges(),function(t){var e=n[t.v],r=n[t.w];s.isUndefined(e)||s.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))});var r=s.filter(n,function(t){return!t.indegree});return i(r)}function i(t){function e(t){return function(e){e.merged||(s.isUndefined(e.barycenter)||s.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&a(t,e)}}function n(e){return function(n){n["in"].push(e),0===--n.indegree&&t.push(n)}}for(var r=[];t.length;){var i=t.pop();r.push(i),s.each(i["in"].reverse(),e(i)),s.each(i.out,n(i))}return s.chain(r).filter(function(t){return!t.merged}).map(function(t){return s.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 s=t("../lodash");e.exports=r},{"../lodash":41}],51:[function(t,e,n){function r(t,e,n,l){var h=t.children(e),d=t.node(e),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,g={};f&&(h=s.filter(h,function(t){return t!==f&&t!==p}));var y=o(t,h);s.each(y,function(e){if(t.children(e.v).length){var i=r(t,e.v,n,l);g[e.v]=i,s.has(i,"barycenter")&&a(e,i)}});var m=u(y,n);i(m,g);var v=c(m,l);if(f&&(v.vs=s.flatten([f,v.vs,p],!0),t.predecessors(f).length)){var _=t.node(t.predecessors(f)[0]),b=t.node(t.predecessors(p)[0]);s.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+_.order+b.order)/(v.weight+2),v.weight+=2}return v}function i(t,e){s.each(t,function(t){t.vs=s.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function a(t,e){s.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 s=t("../lodash"),o=t("./barycenter"),u=t("./resolve-conflicts"),c=t("./sort");e.exports=r},{"../lodash":41,"./barycenter":45,"./resolve-conflicts":50,"./sort":52}],52:[function(t,e,n){function r(t,e){var n=o.partition(t,function(t){return s.has(t,"barycenter")}),r=n.lhs,u=s.sortBy(n.rhs,function(t){return-t.i}),c=[],l=0,h=0,d=0;r.sort(a(!!e)),d=i(c,u,d),s.each(r,function(t){d+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,d=i(c,u,d)});var f={vs:s.flatten(c,!0)};return h&&(f.barycenter=l/h,f.weight=h),f}function i(t,e,n){for(var r;e.length&&(r=s.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function a(t){return function(e,n){return e.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i}}var s=t("../lodash"),o=t("../util");e.exports=r},{"../lodash":41,"../util":60}],53:[function(t,e,n){function r(t){var e=a(t);s.each(t.graph().dummyChains,function(n){for(var r=t.node(n),a=r.edgeObj,s=i(t,e,a.v,a.w),o=s.path,u=s.lca,c=0,l=o[c],h=!0;n!==a.w;){if(r=t.node(n),h){for(;(l=o[c])!==u&&t.node(l).maxRanku||c>e[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)o.push(i);return{path:s.concat(o.reverse()),lca:a}}function a(t){function e(i){var a=r;s.each(t.children(i),e),n[i]={low:a,lim:r++}}var n={},r=0;return s.each(t.children(),e),n}var s=t("./lodash");e.exports=r},{"./lodash":41}],54:[function(t,e,n){"use strict";function r(t,e){function n(e,n){var i=0,o=0,u=e.length,c=m.last(n);return m.each(n,function(e,l){var h=a(t,e),d=h?t.node(h).order:u;(h||e===c)&&(m.each(n.slice(o,l+1),function(e){m.each(t.predecessors(e),function(n){var a=t.node(n),o=a.order;!(i>o||o>d)||a.dummy&&t.node(e).dummy||s(r,n,e)})}),o=l+1,i=d)}),n}var r={};return m.reduce(e,n),r}function i(t,e){function n(e,n,r,a,o){var u;m.each(m.range(n,r),function(n){u=e[n],t.node(u).dummy&&m.each(t.predecessors(u),function(e){var n=t.node(e);n.dummy&&(n.ordero)&&s(i,e,u)})})}function r(e,r){var i,a=-1,s=0;return m.each(r,function(o,u){if("border"===t.node(o).dummy){var c=t.predecessors(o);c.length&&(i=t.node(c[0]).order,n(r,s,u,a,i),s=u,a=i)}n(r,s,r.length,i,e.length)}),r}var i={};return m.reduce(e,r),i}function a(t,e){return t.node(e).dummy?m.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function s(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 o(t,e,n){if(e>n){var r=e;e=n,n=r}return m.has(t[e],n)}function u(t,e,n,r){var i={},a={},s={};return m.each(e,function(t){m.each(t,function(t,e){i[t]=t,a[t]=t,s[t]=e})}),m.each(e,function(t){var e=-1;m.each(t,function(t){var u=r(t);if(u.length){u=m.sortBy(u,function(t){return s[t]});for(var c=(u.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=u[l];a[t]===t&&es.lim&&(o=s,u=!0);var c=g.filter(e.edges(),function(e){return u===p(t,t.node(e.v),o)&&u!==p(t,t.node(e.w),o)});return g.min(c,function(t){return m(e,t)})}function h(t,e,n,r){var a=n.v,s=n.w;t.removeEdge(a,s),t.setEdge(r.v,r.w,{}),o(t),i(t,e),d(t,e)}function d(t,e){var n=g.find(t.nodes(),function(t){return!e.node(t).parent}),r=_(t,n);r=r.slice(1),g.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 p(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var g=t("../lodash"),y=t("./feasible-tree"),m=t("./util").slack,v=t("./util").longestPath,_=t("../graphlib").alg.preorder,b=t("../graphlib").alg.postorder,w=t("../util").simplify;e.exports=r,r.initLowLimValues=o,r.initCutValues=i,r.calcCutValue=s,r.leaveEdge=c,r.enterEdge=l,r.exchangeEdges=h},{"../graphlib":38,"../lodash":41,"../util":60,"./feasible-tree":56,"./util":59}],59:[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 s=a.min(a.map(t.outEdges(r),function(n){return e(n.w)-t.edge(n).minlen}));return s===Number.POSITIVE_INFINITY&&(s=0),i.rank=s}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=t("../lodash");e.exports={longestPath:r,slack:i}},{"../lodash":41}],60:[function(t,e,n){"use strict";function r(t,e,n,r){var i;do i=m.uniqueId(r);while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function i(t){var e=(new v).setGraph(t.graph());return m.each(t.nodes(),function(n){e.setNode(n,t.node(n))}),m.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 v({multigraph:t.isMultigraph()}).setGraph(t.graph());return m.each(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),m.each(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function s(t){var e=m.map(t.nodes(),function(e){var n={};return m.each(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return m.zipObject(t.nodes(),e)}function o(t){var e=m.map(t.nodes(),function(e){var n={};return m.each(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return m.zipObject(t.nodes(),e)}function u(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,c;return Math.abs(a)*s>Math.abs(i)*o?(0>a&&(o=-o),u=o*i/a,c=o):(0>i&&(s=-s),u=s,c=s*a/i),{x:n+u,y:r+c}}function c(t){var e=m.map(m.range(f(t)+1),function(){return[]});return m.each(t.nodes(),function(n){var r=t.node(n),i=r.rank;m.isUndefined(i)||(e[i][r.order]=n)}),e}function l(t){var e=m.min(m.map(t.nodes(),function(e){return t.node(e).rank}));m.each(t.nodes(),function(n){var r=t.node(n);m.has(r,"rank")&&(r.rank-=e)})}function h(t){var e=m.min(m.map(t.nodes(),function(e){return t.node(e).rank})),n=[];m.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;m.each(n,function(e,n){m.isUndefined(e)&&n%i!==0?--r:r&&m.each(e,function(e){t.node(e).rank+=r})})}function d(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 m.max(m.map(t.nodes(),function(e){var n=t.node(e).rank;return m.isUndefined(n)?void 0:n}))}function p(t,e){var n={lhs:[],rhs:[]};return m.each(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function g(t,e){var n=m.now();try{return e()}finally{console.log(t+" time: "+(m.now()-n)+"ms")}}function y(t,e){return e()}var m=t("./lodash"),v=t("./graphlib").Graph;e.exports={addDummyNode:r,simplify:i,asNonCompoundGraph:a,successorWeights:s,predecessorWeights:o,intersectRect:u,buildLayerMatrix:c,normalizeRanks:l,removeEmptyRanks:h,addBorderNode:d,maxRank:f,partition:p,time:g,notime:y}},{"./graphlib":38,"./lodash":41}],61:[function(t,e,n){e.exports="0.7.4"},{}],62:[function(t,e,n){var r=t("./lib");e.exports={Graph:r.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:r.version}},{"./lib":78,"./lib/alg":69,"./lib/json":79}],63:[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=t("../lodash");e.exports=r},{"../lodash":80}],64:[function(t,e,n){function r(t,e,n){a.isArray(e)||(e=[e]);var r=[],s={};return a.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,r)}),r}function i(t,e,n,r,s){a.has(r,e)||(r[e]=!0,n||s.push(e),a.each(t.neighbors(e),function(e){i(t,e,n,r,s)}),n&&s.push(e))}var a=t("../lodash");e.exports=r},{"../lodash":80}],65:[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=t("./dijkstra"),a=t("../lodash");e.exports=r},{"../lodash":80,"./dijkstra":66}],66:[function(t,e,n){function r(t,e,n,r){return i(t,String(e),n||o,r||function(e){return t.outEdges(e)})}function i(t,e,n,r){var i,a,o={},u=new s,c=function(t){var e=t.v!==i?t.v:t.w,r=o[e],s=n(t),c=a.distance+s;if(0>s)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+s);c0&&(i=u.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return o}var a=t("../lodash"),s=t("../data/priority-queue");e.exports=r;var o=a.constant(1)},{"../data/priority-queue":76,"../lodash":80}],67:[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=t("../lodash"),a=t("./tarjan");e.exports=r},{"../lodash":80,"./tarjan":74}],68:[function(t,e,n){function r(t,e,n){return i(t,e||s,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],s=a[n],o=r.distance+i.distance;oa&&(u[n]=r,c.decrease(n,a))}}var r,o=new a,u={},c=new s;if(0===t.nodeCount())return o;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(r=c.removeMin(),i.has(u,r))o.setEdge(r,u[r]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(r).forEach(n)}return o}var i=t("../lodash"),a=t("../graph"),s=t("../data/priority-queue");e.exports=r},{"../data/priority-queue":76,"../graph":77,"../lodash":80}],74:[function(t,e,n){function r(t){function e(o){var u=a[o]={onStack:!0,lowlink:n,index:n++};if(r.push(o),t.successors(o).forEach(function(t){i.has(a,t)?a[t].onStack&&(u.lowlink=Math.min(u.lowlink,a[t].index)):(e(t),u.lowlink=Math.min(u.lowlink,a[t].lowlink))}),u.lowlink===u.index){var c,l=[];do c=r.pop(),a[c].onStack=!1,l.push(c);while(o!==c);s.push(l)}}var n=0,r=[],a={},s=[];return t.nodes().forEach(function(t){i.has(a,t)||e(t)}),s}var i=t("../lodash");e.exports=r},{"../lodash":80}],75:[function(t,e,n){function r(t){function e(o){if(a.has(r,o))throw new i;a.has(n,o)||(r[o]=!0,n[o]=!0,a.each(t.predecessors(o),e),delete r[o],s.push(o))}var n={},r={},s=[];if(a.each(t.sinks(),e),a.size(n)!==t.nodeCount())throw new i;return s}function i(){}var a=t("../lodash");e.exports=r,r.CycleException=i},{"../lodash":80}],76:[function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=t("../lodash");e.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];return void 0!==e?this._arr[e].priority:void 0},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>1,!(n[e].prioritya){var s=i;i=a,a=s}return i+d+a+d+(c.isUndefined(r)?l:r)}function o(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return r&&(o.name=r),o}function u(t,e){return s(t,e.v,e.w,e.name)}var c=t("./lodash");e.exports=r;var l="\x00",h="\x00",d="";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]=h,this._children[t]={},this._children[h][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=h;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!==h)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=h),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===h)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];return e?c.keys(e):void 0},r.prototype.successors=function(t){var e=this._sucs[t];return e?c.keys(e):void 0},r.prototype.neighbors=function(t){var e=this.predecessors(t);return e?c.union(e,this.successors(t)):void 0},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,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,n=u.name,2===arguments.length&&(r=arguments[1],a=!0)):(t=u,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=s(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 h=o(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},r.prototype.edge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n);return this._edgeLabels[r]},r.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n);return c.has(this._edgeLabels,r)},r.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(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);return n?n.concat(this.outEdges(t,e)):void 0}},{"./lodash":80}],78:[function(t,e,n){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":77,"./version":81}],79:[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 o.isUndefined(t.graph())||(e.value=o.clone(t.graph())),e}function i(t){return o.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return o.isUndefined(n)||(i.value=n),o.isUndefined(r)||(i.parent=r),i})}function a(t){return o.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return o.isUndefined(e.name)||(r.name=e.name),o.isUndefined(n)||(r.value=n),r})}function s(t){var e=new u(t.options).setGraph(t.value);return o.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),o.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w, -name:t.name},t.value)}),e}var o=t("./lodash"),u=t("./graph");e.exports={write:r,read:s}},{"./graph":77,"./lodash":80}],80:[function(t,e,n){e.exports=t(41)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":41,lodash:82}],81:[function(t,e,n){e.exports="1.0.7"},{}],82:[function(t,e,n){(function(t){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===E,i=t===t,a=null===e,s=e===E,o=e===e;if(t>e&&!a||!i||n&&!s&&o||r&&o)return 1;if(e>t&&!n||!o||a&&!r&&i||s&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i-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 h(t,e,n){for(var i=-1,a=t.criteria,s=e.criteria,o=a.length,u=n.length;++i=u)return c;var l=n[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function d(t){return Gt[t]}function f(t){return Vt[t]}function p(t,e,n){return e?t=qt[t]:n&&(t=Kt[t]),"\\"+t}function g(t){return"\\"+Kt[t]}function y(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function _(t,e){for(var n=-1,r=t.length,i=-1,a=[];++ne,i=n?t.length:0,a=Hn(0,i,this.__views__),s=a.start,o=a.end,u=o-s,c=r?o:s-1,l=this.__iteratees__,h=l.length,d=0,f=xs(u,this.__takeCount__);if(!n||Y>i||i==u&&f==u)return nn(r&&n?t.reverse():t,this.__actions__);var p=[];t:for(;u--&&f>d;){c+=e;for(var g=-1,y=t[c];++g=Y?gn(e):null,c=e.length;u&&(s=Zt,o=!1,e=u);t:for(;++in&&(n=-n>i?0:i+n),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=n>r?0:r>>>0,n>>>=0;i>n;)t[n++]=e;return t}function Te(t,e){var n=[];return Ls(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Ce(t,e,n,r){var i;return n(t,function(t,n,a){return e(t,n,a)?(i=r?n:t,!1):void 0}),i}function Se(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++ir;)t=t[e[r++]];return r&&r==i?t:E}}function Le(t,e,n,r,i,a){return t===e?!0:null==t||null==e||!Mi(t)&&!m(e)?t!==t&&e!==e:Pe(t,e,Le,n,r,i,a)}function Pe(t,e,n,r,i,a,s){var o=So(t),u=So(e),c=H,l=H;o||(c=ns.call(t),c==V?c=J:c!=J&&(o=Wi(t))),u||(l=ns.call(e),l==V?l=J:l!=J&&(u=Wi(e)));var h=c==J,d=l==J,f=c==l;if(f&&!o&&!h)return jn(t,e,c);if(!i){var p=h&&ts.call(t,"__wrapped__"),g=d&&ts.call(e,"__wrapped__");if(p||g)return n(p?t.value():t,g?e.value():e,r,i,a,s)}if(!f)return!1;a||(a=[]),s||(s=[]);for(var y=a.length;y--;)if(a[y]==t)return s[y]==e;a.push(t),s.push(e);var m=(o?Rn:Yn)(t,e,n,r,i,a,s);return a.pop(),s.pop(),m}function Ne(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=hr(t);r--;){var s=e[r];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++re&&(e=-e>i?0:i+e),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Ya(i);++r=Y,u=o?gn():null,c=[];u?(r=Zt,s=!1):(o=!1,u=e?[]:c);t:for(;++n=i){for(;i>r;){var a=r+i>>>1,s=t[a];(n?e>=s:e>s)&&null!==s?r=a+1:i=a}return i}return an(t,e,Ta,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,s=e!==e,o=null===e,u=e===E;a>i;){var c=ms((i+a)/2),l=n(t[c]),h=l!==E,d=l===l;if(s)var f=d||r;else f=o?d&&h&&(r||null!=l):u?d&&(r||h):null==l?!1:r?e>=l:e>l;f?i=c+1:a=c}return xs(a,Ss)}function sn(t,e,n){if("function"!=typeof t)return Ta;if(e===E)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,s){return t.call(e,n,r,i,a,s)}}return function(){return t.apply(e,arguments)}}function on(t){var e=new as(t.byteLength),n=new fs(e);return n.set(new fs(t)),e}function un(t,e,n){for(var r=n.length,i=-1,a=ws(t.length-r,0),s=-1,o=e.length,u=Ya(o+a);++s2?n[i-2]:E,s=i>2?n[2]:E,o=i>1?n[i-1]:E;for("function"==typeof a?(a=sn(a,o,5),i-=2):(a="function"==typeof o?o:E,i-=a?1:0),s&&Jn(n[0],n[1],s)&&(a=3>i?E:a,i=1);++r-1?n[s]:E}return Ce(n,r,t)}}function xn(t){return function(e,n,r){return e&&e.length?(n=$n(n,r,3),i(e,n,t)):-1}}function An(t){return function(e,n,r){return n=$n(n,r,3),Ce(e,n,t,!0)}}function kn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=Ya(n);t?r--:++r=Y)return e.plant(r).value();for(var i=0,s=n?a[i].apply(this,t):r;++iv){var k=o?te(o):E,D=ws(c-v,0),S=p?A:E,F=p?E:A,O=p?w:E,M=p?E:w;e|=p?I:B,e&=~(p?B:I),g||(e&=~(T|C));var L=[t,e,n,O,S,M,F,k,u,D],P=In.apply(E,L);return er(t)&&Us(P,L),P.placeholder=x,P}}var N=d?n:this,R=f?N[t]:t;return o&&(w=ur(w,o)),h&&u=e||!_s(e))return"";var i=e-r;return n=null==n?" ":n+"",ya(n,gs(i/n.length)).slice(0,i)}function Mn(t,e,n,r){function i(){for(var e=-1,o=arguments.length,u=-1,c=r.length,l=Ya(c+o);++uu))return!1;for(;++o-1&&t%1==0&&e>t}function Jn(t,e,n){if(!Mi(n))return!1;var r=typeof e;if("number"==r?Zn(n)&&Qn(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;if("string"==n&&Et.test(t)||"number"==n)return!0;if(So(t))return!1;var r=!kt.test(t);return r||null!=e&&t in hr(e)}function er(t){var n=Un(t);if(!(n in Z.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Ys(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&Os>=t}function rr(t){return t===t&&!Mi(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=M>i,s=r==M&&n==F||r==M&&n==L&&t[7].length<=e[8]||r==(M|L)&&n==F;if(!a&&!s)return t;r&T&&(t[2]=e[2],i|=n&T?0:S);var o=e[3];if(o){var u=t[3];t[3]=u?un(u,o,e[4]):te(o),t[4]=u?_(t[3],G):te(e[4])}return o=e[5],o&&(u=t[5],t[5]=u?cn(u,o,e[6]):te(o),t[6]=u?_(t[5],G):te(e[6])),o=e[7],o&&(t[7]=te(o)),r&M&&(t[8]=null==t[8]?e[8]:xs(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===E?e:Fo(t,e,ar)}function sr(t,e){t=hr(t);for(var n=-1,r=e.length,i={};++nr;)s[++a]=qe(t,r,r+=e);return s}function gr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++ee?0:e)):[]}function mr(t,e,n){var r=t?t.length:0;return r?((n?Jn(t,e,n):null==e)&&(e=1),e=r-(+e||0),qe(t,0,0>e?0:e)):[]}function vr(t,e,n){return t&&t.length?en(t,$n(e,n,3),!0,!0):[]}function _r(t,e,n){return t&&t.length?en(t,$n(e,n,3),!0):[]}function br(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Jn(t,e,n)&&(n=0,r=i),De(t,e,n,r)):[]}function wr(t){return t?t[0]:E}function xr(t,e,n){var r=t?t.length:0;return n&&Jn(t,e,n)&&(e=!1),r?Se(t,e):[]}function Ar(t){var e=t?t.length:0;return e?Se(t,!0):[]}function kr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=0>n?ws(r+n,0):n;else if(n){var i=rn(t,e);return r>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Er(t){return mr(t,1)}function Dr(t){var e=t?t.length:0;return e?t[e-1]:E}function Tr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(0>n?ws(r+n,0):xs(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 y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Cr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=Wn(),i=t.length;++n-1;)ds.call(e,a,1);return e}function Sr(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],s=t.length;for(e=$n(e,n,3);++ie?0:e)):[]}function Br(t,e,n){var r=t?t.length:0;return r?((n?Jn(t,e,n):null==e)&&(e=1),e=r-(+e||0),qe(t,0>e?0:e)):[]}function Mr(t,e,n){return t&&t.length?en(t,$n(e,n,3),!1,!0):[]}function Lr(t,e,n){return t&&t.length?en(t,$n(e,n,3)):[]}function Pr(t,e,n,r){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Jn(t,e,r)?E:e,e=!1);var s=$n();return(null!=n||s!==be)&&(n=s(n,r,3)),e&&Wn()==a?b(t,n):Je(t,n)}function Nr(t){if(!t||!t.length)return[];var e=-1,n=0;t=oe(t,function(t){return Zn(t)?(n=ws(t.length,n),!0):void 0});for(var r=Ya(n);++en?ws(i+n,0):n||0,"string"==typeof t||!So(t)&&Ui(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&Wn(t,e,n)>-1}function ti(t,e,n){var r=So(t)?ue:Re;return e=$n(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ba(e))}function ni(t,e,n){var r=So(t)?oe:Te;return e=$n(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Jn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[He(0,r-1)]:E}var i=-1,a=zi(t),r=a.length,s=r-1;for(e=xs(0>e?0:+e||0,r);++i0&&(n=e.apply(this,arguments)),1>=t&&(e=E),n}}function fi(t,e,n){function r(){f&&ss(f),c&&ss(c),g=0,c=f=p=E}function i(e,n){n&&ss(n),c=f=p=E,e&&(g=go(),l=t.apply(d,u),f||c||(u=d=E))}function a(){var t=e-(go()-h);0>=t||t>e?i(p,c):f=hs(a,t)}function s(){i(m,f)}function o(){if(u=arguments,h=go(),d=this,p=m&&(f||!v),y===!1)var n=v&&!f;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=ss(c)),g=h,l=t.apply(d,u)):c||(c=hs(s,r))}return i&&f?f=ss(f):f||e===y||(f=hs(a,e)),n&&(i=!0,l=t.apply(d,u)),!i||f||c||(u=d=E),l}var u,c,l,h,d,f,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Ka(W);if(e=0>e?0:+e||0,n===!0){var v=!0;m=!1}else Mi(n)&&(v=!!n.leading,y="maxWait"in n&&ws(+n.maxWait||0,e),m="trailing"in n?!!n.trailing:m);return o.cancel=r,o}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Ka(W);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 s=t.apply(this,r);return n.cache=a.set(i,s),s};return n.cache=new pi.Cache,n}function gi(t){if("function"!=typeof t)throw new Ka(W);return function(){return!t.apply(this,arguments)}}function yi(t){return di(2,t)}function mi(t,e){if("function"!=typeof t)throw new Ka(W);return e=ws(e===E?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=ws(n.length-e,0),a=Ya(i);++re}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Zn(t)&&ts.call(t,"callee")&&!cs.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&ns.call(t)==z}function Ti(t){return m(t)&&ns.call(t)==q}function Ci(t){return!!t&&1===t.nodeType&&m(t)&&!Yi(t)}function Si(t){return null==t?!0:Zn(t)&&(So(t)||Ui(t)||Ei(t)||m(t)&&Bi(t.splice))?!t.length:!Yo(t).length}function Fi(t,e,n,r){n="function"==typeof n?sn(n,r,3):E;var i=n?n(t,e):E;return i===E?Le(t,e,n):!!i}function Oi(t){return m(t)&&"string"==typeof t.message&&ns.call(t)==K}function Ii(t){return"number"==typeof t&&_s(t)}function Bi(t){return Mi(t)&&ns.call(t)==X}function Mi(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Li(t,e,n,r){return n="function"==typeof n?sn(n,r,3):E,Ne(t,Gn(e),n)}function Pi(t){return ji(t)&&t!=+t}function Ni(t){return null==t?!1:Bi(t)?is.test(Ja.call(t)):m(t)&&Mt.test(t)}function Ri(t){return null===t}function ji(t){return"number"==typeof t||m(t)&&ns.call(t)==Q}function Yi(t){var e;if(!m(t)||ns.call(t)!=J||Ei(t)||!ts.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var n;return Fe(t,function(t,e){n=e}),n===E||ts.call(t,n)}function $i(t){return Mi(t)&&ns.call(t)==tt}function Ui(t){return"string"==typeof t||m(t)&&ns.call(t)==nt}function Wi(t){return m(t)&&nr(t.length)&&!!Ut[ns.call(t)]}function Gi(t){return t===E}function Vi(t,e){return e>t}function Hi(t,e){return e>=t}function zi(t){var e=t?$s(t):0;return nr(e)?e?te(t):[]:aa(t)}function qi(t){return _e(t,ta(t))}function Ki(t,e,n){var r=Ms(t);return n&&Jn(t,e,n)&&(e=E),e?me(r,e):r}function Xi(t){return Be(t,ta(t))}function Zi(t,e,n){var r=null==t?E:Me(t,dr(e),e+"");return r===E?n:r}function Qi(t,e){if(null==t)return!1;var n=ts.call(t,e);if(!n&&!tr(e)){if(e=dr(e),t=1==e.length?t:Me(t,qe(e,0,-1)),null==t)return!1;e=Dr(e),n=ts.call(t,e)}return n||nr(t.length)&&Qn(e,t.length)&&(So(t)||Ei(t))}function Ji(t,e,n){n&&Jn(t,e,n)&&(e=E);for(var r=-1,i=Yo(t),a=i.length,s={};++r0;++r=xs(e,n)&&tn?0:+n||0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function da(t){return t=o(t),t&&bt.test(t)?t.replace(vt,f):t}function fa(t){return t=o(t),t&&Ct.test(t)?t.replace(Tt,p):t||"(?:)"}function pa(t,e,n){t=o(t),e=+e;var r=t.length;if(r>=e||!_s(e))return t;var i=(e-r)/2,a=ms(i),s=gs(i);return n=Bn("",s,n),n.slice(0,a)+t+n}function ga(t,e,n){return(n?Jn(t,e,n):null==e)?e=0:e&&(e=+e),t=_a(t),ks(t,e||(Bt.test(t)?16:10))}function ya(t,e){var n="";if(t=o(t),e=+e,1>e||!t||!_s(e))return n;do e%2&&(n+=t),e=ms(e/2),t+=t;while(e);return n}function ma(t,e,n){return t=o(t),n=null==n?0:xs(0>n?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function va(t,n,r){var i=e.templateSettings;r&&Jn(t,n,r)&&(n=r=E),t=o(t),n=ye(me({},r||n),i,ge);var a,s,u=ye(me({},n.imports),i.imports,ge),c=Yo(u),l=tn(u,c),h=0,d=n.interpolate||Nt,f="__p += '",p=za((n.escape||Nt).source+"|"+d.source+"|"+(d===At?Ot:Nt).source+"|"+(n.evaluate||Nt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++$t+"]")+"\n";t.replace(p,function(e,n,r,i,o,u){return r||(r=i),f+=t.slice(h,u).replace(Rt,g),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),o&&(s=!0,f+="';\n"+o+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=u+e.length,e}),f+="';\n";var m=n.variable;m||(f="with (obj) {\n"+f+"\n}\n"),f=(s?f.replace(pt,""):f).replace(gt,"$1").replace(yt,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var v=Zo(function(){return Wa(c,y+"return "+f).apply(E,l)});if(v.source=f,Oi(v))throw v;return v}function _a(t,e,n){var r=t;return(t=o(t))?(n?Jn(r,e,n):null==e)?t.slice(w(t),x(t)+1):(e+="",t.slice(u(t,e),c(t,e)+1)):t}function ba(t,e,n){var r=t;return t=o(t),t?(n?Jn(r,e,n):null==e)?t.slice(w(t)):t.slice(u(t,e+"")):t}function wa(t,e,n){var r=t;return t=o(t),t?(n?Jn(r,e,n):null==e)?t.slice(0,x(t)+1):t.slice(0,c(t,e+"")+1):t}function xa(t,e,n){n&&Jn(t,e,n)&&(e=E);var r=P,i=N;if(null!=e)if(Mi(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?o(e.omission):i}else r=+e||0;if(t=o(t),r>=t.length)return t;var s=r-i.length;if(1>s)return i;var u=t.slice(0,s);if(null==a)return u+i;if($i(a)){if(t.slice(s).search(a)){var c,l,h=t.slice(0,s);for(a.global||(a=za(a.source,(It.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;u=u.slice(0,null==l?s:l)}}else if(t.indexOf(a,s)!=s){var d=u.lastIndexOf(a);d>-1&&(u=u.slice(0,d))}return u+i}function Aa(t){return t=o(t),t&&_t.test(t)?t.replace(mt,A):t}function ka(t,e,n){return n&&Jn(t,e,n)&&(e=E),t=o(t),t.match(e||jt)||[]}function Ea(t,e,n){return n&&Jn(t,e,n)&&(e=E),m(t)?Ca(t):be(t,e)}function Da(t){return function(){return t}}function Ta(t){return t}function Ca(t){return je(we(t,!0))}function Sa(t,e){return Ye(t,we(e,!0))}function Fa(t,e,n){if(null==n){var r=Mi(e),i=r?Yo(e):E,a=i&&i.length?Be(e,i):E;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Be(e,Yo(e)));var s=!0,o=-1,u=Bi(t),c=a.length;n===!1?s=!1:Mi(n)&&"chain"in n&&(s=n.chain);for(;++ot||!_s(t))return[];var r=-1,i=Ya(xs(t,Cs));for(e=sn(e,n,1);++rr?i[r]=e(r):e(r);return i}function Na(t){var e=++es;return o(t)+e}function Ra(t,e){return(+t||0)+(+e||0)}function ja(t,e,n){return n&&Jn(t,e,n)&&(e=E),e=$n(e,n,3),1==e.length?fe(So(t)?t:lr(t),e):Qe(t,e)}t=t?re.defaults(ne.Object(),t,re.pick(ne,Yt)):ne;var Ya=t.Array,$a=t.Date,Ua=t.Error,Wa=t.Function,Ga=t.Math,Va=t.Number,Ha=t.Object,za=t.RegExp,qa=t.String,Ka=t.TypeError,Xa=Ya.prototype,Za=Ha.prototype,Qa=qa.prototype,Ja=Wa.prototype.toString,ts=Za.hasOwnProperty,es=0,ns=Za.toString,rs=ne._,is=za("^"+Ja.call(ts).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),as=t.ArrayBuffer,ss=t.clearTimeout,os=t.parseFloat,us=Ga.pow,cs=Za.propertyIsEnumerable,ls=Vn(t,"Set"),hs=t.setTimeout,ds=Xa.splice,fs=t.Uint8Array,ps=Vn(t,"WeakMap"),gs=Ga.ceil,ys=Vn(Ha,"create"),ms=Ga.floor,vs=Vn(Ya,"isArray"),_s=t.isFinite,bs=Vn(Ha,"keys"),ws=Ga.max,xs=Ga.min,As=Vn($a,"now"),ks=t.parseInt,Es=Ga.random,Ds=Va.NEGATIVE_INFINITY,Ts=Va.POSITIVE_INFINITY,Cs=4294967295,Ss=Cs-1,Fs=Cs>>>1,Os=9007199254740991,Is=ps&&new ps,Bs={};e.support={};e.templateSettings={escape:wt,evaluate:xt,interpolate:At,variable:"",imports:{_:e}};var Ms=function(){function t(){}return function(e){if(Mi(e)){t.prototype=e;var n=new t;t.prototype=E}return n||{}}}(),Ls=dn(Oe),Ps=dn(Ie,!0),Ns=fn(),Rs=fn(!0),js=Is?function(t,e){return Is.set(t,e),t}:Ta,Ys=Is?function(t){return Is.get(t)}:Ia,$s=We("length"),Us=function(){var t=0,e=0;return function(n,r){var i=go(),a=j-(i-e);if(e=i,a>0){if(++t>=R)return n}else t=0;return js(n,r)}}(),Ws=mi(function(t,e){return m(t)&&Zn(t)?Ae(t,Se(e,!1,!0)):[]}),Gs=xn(),Vs=xn(!0),Hs=mi(function(t){for(var e=t.length,n=e,r=Ya(h),i=Wn(),s=i==a,o=[];n--;){var u=t[n]=Zn(u=t[n])?u:[];r[n]=s&&u.length>=120?gn(n&&u):null}var c=t[0],l=-1,h=c?c.length:0,d=r[0];t:for(;++l2?t[e-2]:E,r=e>1?t[e-1]:E;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):E,r=E),t.length=e,Rr(t,n,r)}),to=mi(function(t){return t=Se(t),this.thru(function(e){return Jt(So(e)?e:[hr(e)],t)})}),eo=mi(function(t,e){return ve(t,Se(e))}),no=ln(function(t,e,n){ts.call(t,n)?++t[n]:t[n]=1}),ro=wn(Ls),io=wn(Ps,!0),ao=En(ee,Ls),so=En(ie,Ps),oo=ln(function(t,e,n){ts.call(t,n)?t[n].push(e):t[n]=[e]}),uo=ln(function(t,e,n){t[n]=e}),co=mi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),s=Zn(t)?Ya(t.length):[];return Ls(t,function(t){var o=i?e:a&&null!=t?t[e]:E;s[++r]=o?o.apply(t,n):Xn(t,e,n)}),s}),lo=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),ho=On(le,Ls),fo=On(he,Ps),po=mi(function(t,e){if(null==t)return[];var n=e[2];return n&&Jn(e[0],e[1],n)&&(e.length=1),Ze(t,Se(e),[])}),go=As||function(){return(new $a).getTime()},yo=mi(function(t,e,n){var r=T;if(n.length){var i=_(n,yo.placeholder);r|=I}return Nn(t,r,e,n,i)}),mo=mi(function(t,e){e=e.length?Se(e):Xi(t);for(var n=-1,r=e.length;++n0||0>e)?new Z(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==E&&(e=+e||0,n=0>e?n.dropRight(-e):n.take(e-t)),n)},Z.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},Z.prototype.toArray=function(){return this.take(Ts)},Oe(Z.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__,s=this.__wrapped__,o=!!this.__actions__.length,u=s instanceof Z,c=e[0],l=u||So(s);l&&r&&"function"==typeof c&&1!=c.length&&(u=l=!1);var h=function(t){return i&&n?a(t,1)[0]:a.apply(E,ce([t],e))},d={func:Wr,args:[h],thisArg:E},f=u&&!o;if(i&&!n)return f?(s=s.clone(),s.__actions__.push(d),t.call(s)):a.call(E,this.value())[0];if(!i&&l){s=f?s:new Z(this);var p=t.apply(s,e);return p.__actions__.push(d),new v(p,n)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Qa:Xa)[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)})}}),Oe(Z.prototype,function(t,n){var r=e[n];if(r){var i=r.name,a=Bs[i]||(Bs[i]=[]);a.push({name:n,func:r})}}),Bs[In(E,C).name]=[{name:"wrapper",func:E}],Z.prototype.clone=et,Z.prototype.reverse=rt,Z.prototype.value=Gt,e.prototype.chain=Gr,e.prototype.commit=Vr,e.prototype.concat=to,e.prototype.plant=Hr,e.prototype.reverse=zr,e.prototype.toString=qr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Kr,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 E,D="3.10.1",T=1,C=2,S=4,F=8,O=16,I=32,B=64,M=128,L=256,P=30,N="...",R=150,j=16,Y=200,$=1,U=2,W="Expected a function",G="__lodash_placeholder__",V="[object Arguments]",H="[object Array]",z="[object Boolean]",q="[object Date]",K="[object Error]",X="[object Function]",Z="[object Map]",Q="[object Number]",J="[object Object]",tt="[object RegExp]",et="[object Set]",nt="[object String]",rt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",st="[object Float64Array]",ot="[object Int8Array]",ut="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",dt="[object Uint16Array]",ft="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,_t=RegExp(mt.source),bt=RegExp(vt.source),wt=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Tt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Ct=RegExp(Tt.source),St=/[\u0300-\u036f\ufe20-\ufe23]/g,Ft=/\\(\\)?/g,Ot=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,It=/\w*$/,Bt=/^0[xX]/,Mt=/^\[object .+?Constructor\]$/,Lt=/^\d+$/,Pt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Nt=/($^)/,Rt=/['\n\r\u2028\u2029\\]/g,jt=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")}(),Yt=["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"],$t=-1,Ut={};Ut[at]=Ut[st]=Ut[ot]=Ut[ut]=Ut[ct]=Ut[lt]=Ut[ht]=Ut[dt]=Ut[ft]=!0,Ut[V]=Ut[H]=Ut[it]=Ut[z]=Ut[q]=Ut[K]=Ut[X]=Ut[Z]=Ut[Q]=Ut[J]=Ut[tt]=Ut[et]=Ut[nt]=Ut[rt]=!1;var Wt={};Wt[V]=Wt[H]=Wt[it]=Wt[z]=Wt[q]=Wt[at]=Wt[st]=Wt[ot]=Wt[ut]=Wt[ct]=Wt[Q]=Wt[J]=Wt[tt]=Wt[nt]=Wt[lt]=Wt[ht]=Wt[dt]=Wt[ft]=!0,Wt[K]=Wt[X]=Wt[Z]=Wt[et]=Wt[rt]=!1;var Gt={"À":"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"},Vt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ht={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},zt={"function":!0,object:!0},qt={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"},Kt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xt=zt[typeof n]&&n&&!n.nodeType&&n,Zt=zt[typeof e]&&e&&!e.nodeType&&e,Qt=Xt&&Zt&&"object"==typeof t&&t&&t.Object&&t,Jt=zt[typeof self]&&self&&self.Object&&self,te=zt[typeof window]&&window&&window.Object&&window,ee=Zt&&Zt.exports===Xt&&Xt,ne=Qt||te!==(this&&this.window)&&te||Jt||this,re=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ne._=re,define(function(){return re})):Xt&&Zt?ee?(Zt.exports=re)._=re:Xt._=re:ne._=re}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(t,e,n){!function(t,r){"object"==typeof n&&"undefined"!=typeof e?e.exports=r():"function"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){"use strict";function n(){return Pn.apply(null,arguments)}function r(t){Pn=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var n,r=[];for(n=0;n0)for(n in Rn)r=Rn[n],i=e[r],"undefined"!=typeof i&&(t[r]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),jn===!1&&(jn=!0,n.updateOffset(this),jn=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=m(e)),n}function _(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),s=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&v(t[r])!==v(e[r]))&&s++;return s+a}function b(){}function w(t){return t?t.toLowerCase().replace("_","-"):t}function x(t){for(var e,n,r,i,a=0;a0;){if(r=A(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&_(i,n,!0)>=e-1)break;e--}a++}return null}function A(n){var r=null;if(!Yn[n]&&"undefined"!=typeof e&&e&&e.exports)try{r=Nn._abbr,t("./locale/"+n),k(r)}catch(i){}return Yn[n]}function k(t,e){var n;return t&&(n="undefined"==typeof e?D(t):E(t,e),n&&(Nn=n)),Nn._abbr}function E(t,e){return null!==e?(e.abbr=t,Yn[t]=Yn[t]||new b,Yn[t].set(e),k(t),Yn[t]):(delete Yn[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Nn;if(!i(t)){if(e=A(t))return e;t=[t]}return x(t)}function T(t,e){var n=t.toLowerCase();$n[n]=$n[n+"s"]=$n[e]=t}function C(t){return"string"==typeof t?$n[t]||$n[t.toLowerCase()]:void 0}function S(t){var e,n,r={};for(n in t)o(t,n)&&(e=C(n),e&&(r[e]=t[n]));return r}function F(t,e){return function(r){return null!=r?(I(this,t,r),n.updateOffset(this,e),this):O(this,t)}}function O(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function I(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function B(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=C(t),"function"==typeof this[t])return this[t](e);return this}function M(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}function L(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Vn[t]=i),e&&(Vn[e[0]]=function(){return M(i.apply(this,arguments),e[1],e[2])}),n&&(Vn[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function P(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function N(t){var e,n,r=t.match(Un);for(e=0,n=r.length;n>e;e++)Vn[r[e]]?r[e]=Vn[r[e]]:r[e]=P(r[e]);return function(i){var a="";for(e=0;n>e;e++)a+=r[e]instanceof Function?r[e].call(i,t):r[e];return a}}function R(t,e){return t.isValid()?(e=j(e,t.localeData()),Gn[e]=Gn[e]||N(e),Gn[e](t)):t.localeData().invalidDate()}function j(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(Wn.lastIndex=0;r>=0&&Wn.test(t);)t=t.replace(Wn,n),Wn.lastIndex=0,r-=1;return t}function Y(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function $(t,e,n){sr[t]=Y(e)?e:function(t){return t&&n?n:e}}function U(t,e){return o(sr,t)?sr[t](e._strict,e._locale):new RegExp(W(t))}function W(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=v(t)}),n=0;nr;r++){if(i=c([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 Z(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),z(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function Q(t){return null!=t?(Z(this,t),n.updateOffset(this,!0),this):O(this,"Month")}function J(){return z(this.year(),this.month())}function tt(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[cr]<0||n[cr]>11?cr:n[lr]<1||n[lr]>z(n[ur],n[cr])?lr:n[hr]<0||n[hr]>24||24===n[hr]&&(0!==n[dr]||0!==n[fr]||0!==n[pr])?hr:n[dr]<0||n[dr]>59?dr:n[fr]<0||n[fr]>59?fr:n[pr]<0||n[pr]>999?pr:-1,h(t)._overflowDayOfYear&&(ur>e||e>lr)&&(e=lr),h(t).overflow=e),t}function et(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function nt(t,e){var n=!0;return u(function(){return n&&(et(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function rt(t,e){mr[t]||(et(e),mr[t]=!0)}function it(t){var e,n,r=t._i,i=vr.exec(r);if(i){for(h(t).iso=!0,e=0,n=_r.length;n>e;e++)if(_r[e][1].exec(r)){t._f=_r[e][0];break}for(e=0,n=br.length;n>e;e++)if(br[e][1].exec(r)){t._f+=(i[6]||" ")+br[e][0];break}r.match(rr)&&(t._f+="Z"),At(t)}else t._isValid=!1}function at(t){var e=wr.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function st(t,e,n,r,i,a,s){var o=new Date(t,e,n,r,i,a,s);return 1970>t&&o.setFullYear(t),o}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ut(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,e,n){var r,i=n-e,a=n-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),r=Ot(t).add(a,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function dt(t){return ht(t,this._week.dow,this._week.doy).week}function ft(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function yt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function mt(t,e,n,r,i){var a,s=6+i-r,o=ot(t,0,1+s),u=o.getUTCDay();return i>u&&(u+=7),n=null!=n?1*n:i,a=1+s+7*(e-1)-u+n,{year:a>0?t:t-1,dayOfYear:a>0?a:ut(t-1)+a}}function vt(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 _t(t,e,n){return null!=t?t:null!=e?e:n}function bt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wt(t){var e,n,r,i,a=[];if(!t._d){for(r=bt(t),t._w&&null==t._a[lr]&&null==t._a[cr]&&xt(t),t._dayOfYear&&(i=_t(t._a[ur],r[ur]),t._dayOfYear>ut(i)&&(h(t)._overflowDayOfYear=!0),n=ot(i,0,t._dayOfYear),t._a[cr]=n.getUTCMonth(),t._a[lr]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[hr]&&0===t._a[dr]&&0===t._a[fr]&&0===t._a[pr]&&(t._nextDay=!0,t._a[hr]=0),t._d=(t._useUTC?ot:st).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hr]=24)}}function xt(t){var e,n,r,i,a,s,o;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,s=4,n=_t(e.GG,t._a[ur],ht(Ot(),1,4).year),r=_t(e.W,1),i=_t(e.E,1)):(a=t._locale._week.dow,s=t._locale._week.doy,n=_t(e.gg,t._a[ur],ht(Ot(),a,s).year),r=_t(e.w,1),null!=e.d?(i=e.d,a>i&&++r):i=null!=e.e?e.e+a:a),o=mt(n,r,i,s,a),t._a[ur]=o.year,t._dayOfYear=o.dayOfYear}function At(t){if(t._f===n.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var e,r,i,a,s,o=""+t._i,u=o.length,c=0;for(i=j(t._f,t._locale).match(Un)||[],e=0;e0&&h(t).unusedInput.push(s),o=o.slice(o.indexOf(r)+r.length),c+=r.length),Vn[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),H(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=u-c,o.length>0&&h(t).unusedInput.push(o),h(t).bigHour===!0&&t._a[hr]<=12&&t._a[hr]>0&&(h(t).bigHour=void 0),t._a[hr]=kt(t._locale,t._a[hr],t._meridiem),wt(t),tt(t)}function kt(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function Et(t){var e,n,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;ia)&&(r=a,n=e));u(t,n||e)}function Dt(t){if(!t._d){var e=S(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],wt(t)}}function Tt(t){var e=new g(tt(Ct(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Ct(t){var e=t._i,n=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===n&&""===e?f({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new g(tt(e)):(i(n)?Et(t):n?At(t):a(e)?t._d=e:St(t),t))}function St(t){var e=t._i;void 0===e?t._d=new Date:a(e)?t._d=new Date(+e):"string"==typeof e?at(t):i(e)?(t._a=s(e.slice(0),function(t){return parseInt(t,10)}),wt(t)):"object"==typeof e?Dt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Ft(t,e,n,r,i){var a={};return"boolean"==typeof n&&(r=n,n=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=t,a._f=e,a._strict=r,Tt(a)}function Ot(t,e,n,r){return Ft(t,e,n,r,!1)}function It(t,e){var n,r;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Ot();for(n=e[0],r=1;rt&&(t=-t,n="-"),n+M(~~(t/60),2)+e+M(~~t%60,2)})}function Rt(t){var e=(t||"").match(rr)||[],n=e[e.length-1]||[],r=(n+"").match(Dr)||["-",0,0],i=+(60*r[1])+v(r[2]);return"+"===r[0]?i:-i}function jt(t,e){var r,i;return e._isUTC?(r=e.clone(),i=(y(t)||a(t)?+t:+Ot(t))-+r,r._d.setTime(+r._d+i),n.updateOffset(r,!1), -r):Ot(t).local()}function Yt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function $t(t,e){var r,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Rt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(r=Yt(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==t&&(!e||this._changeInProgress?re(this,Qt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Yt(this)}function Ut(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Wt(t){return this.utcOffset(0,t)}function Gt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Yt(this),"m")),this}function Vt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Rt(this._i)),this}function Ht(t){return t=t?Ot(t).utcOffset():0,(this.utcOffset()-t)%60===0}function zt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function qt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=Ct(t),t._a){var e=t._isUTC?c(t._a):Ot(t._a);this._isDSTShifted=this.isValid()&&_(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Kt(){return!this._isUTC}function Xt(){return this._isUTC}function Zt(){return this._isUTC&&0===this._offset}function Qt(t,e){var n,r,i,a=t,s=null;return Pt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(s=Tr.exec(t))?(n="-"===s[1]?-1:1,a={y:0,d:v(s[lr])*n,h:v(s[hr])*n,m:v(s[dr])*n,s:v(s[fr])*n,ms:v(s[pr])*n}):(s=Cr.exec(t))?(n="-"===s[1]?-1:1,a={y:Jt(s[2],n),M:Jt(s[3],n),d:Jt(s[4],n),h:Jt(s[5],n),m:Jt(s[6],n),s:Jt(s[7],n),w:Jt(s[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=ee(Ot(a.from),Ot(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Lt(a),Pt(t)&&o(t,"_locale")&&(r._locale=t._locale),r}function Jt(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function te(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 ee(t,e){var n;return e=jt(e,t),t.isBefore(e)?n=te(t,e):(n=te(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function ne(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(rt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=Qt(n,r),re(this,i,t),this}}function re(t,e,r,i){var a=e._milliseconds,s=e._days,o=e._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*r),s&&I(t,"Date",O(t,"Date")+s*r),o&&Z(t,O(t,"Month")+o*r),i&&n.updateOffset(t,s||o)}function ie(t,e){var n=t||Ot(),r=jt(n,this).startOf("day"),i=this.diff(r,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[a]||this.localeData().calendar(a,this,Ot(n)))}function ae(){return new g(this)}function se(t,e){var n;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ot(t),+this>+t):(n=y(t)?+t:+Ot(t),n<+this.clone().startOf(e))}function oe(t,e){var n;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ot(t),+t>+this):(n=y(t)?+t:+Ot(t),+this.clone().endOf(e)e-a?(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)}function de(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function fe(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(n=Ot([2e3,1]).day(e),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function We(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Re(t,this.localeData()),this.add(t-e,"d")):e}function Ge(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ve(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function He(t,e){L(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ze(t,e){return e._meridiemParse}function qe(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ke(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Xe(t,e){e[pr]=v(1e3*("0."+t))}function Ze(){return this._isUTC?"UTC":""}function Qe(){return this._isUTC?"Coordinated Universal Time":""}function Je(t){return Ot(1e3*t)}function tn(){return Ot.apply(null,arguments).parseZone()}function en(t,e,n){var r=this._calendar[t];return"function"==typeof r?r.call(e,n):r}function nn(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 rn(){return this._invalidDate}function an(t){return this._ordinal.replace("%d",t)}function sn(t){return t}function on(t,e,n,r){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,r):i.replace(/%d/i,t)}function un(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function cn(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ln(t,e,n,r){var i=D(),a=c().set(r,e);return i[n](a,t)}function hn(t,e,n,r,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ln(t,e,n,i);var a,s=[];for(a=0;r>a;a++)s[a]=ln(t,a,n,i);return s}function dn(t,e){return hn(t,e,"months",12,"month")}function fn(t,e){return hn(t,e,"monthsShort",12,"month")}function pn(t,e){return hn(t,e,"weekdays",7,"day")}function gn(t,e){return hn(t,e,"weekdaysShort",7,"day")}function yn(t,e){return hn(t,e,"weekdaysMin",7,"day")}function mn(){var t=this._data;return this._milliseconds=Zr(this._milliseconds),this._days=Zr(this._days),this._months=Zr(this._months),t.milliseconds=Zr(t.milliseconds),t.seconds=Zr(t.seconds),t.minutes=Zr(t.minutes),t.hours=Zr(t.hours),t.months=Zr(t.months),t.years=Zr(t.years),this}function vn(t,e,n,r){var i=Qt(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function _n(t,e){return vn(this,t,e,1)}function bn(t,e){return vn(this,t,e,-1)}function wn(t){return 0>t?Math.floor(t):Math.ceil(t)}function xn(){var t,e,n,r,i,a=this._milliseconds,s=this._days,o=this._months,u=this._data;return a>=0&&s>=0&&o>=0||0>=a&&0>=s&&0>=o||(a+=864e5*wn(kn(o)+s),s=0,o=0),u.milliseconds=a%1e3,t=m(a/1e3),u.seconds=t%60,e=m(t/60),u.minutes=e%60,n=m(e/60),u.hours=n%24,s+=m(n/24),i=m(An(s)),o+=i,s-=wn(kn(i)),r=m(o/12),o%=12,u.days=s,u.months=o,u.years=r,this}function An(t){return 4800*t/146097}function kn(t){return 146097*t/4800}function En(t){var e,n,r=this._milliseconds;if(t=C(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+An(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)}}function Dn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function Tn(t){return function(){return this.as(t)}}function Cn(t){return t=C(t),this[t+"s"]()}function Sn(t){return function(){return this._data[t]}}function Fn(){return m(this.days()/7)}function On(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function In(t,e,n){var r=Qt(t).abs(),i=fi(r.as("s")),a=fi(r.as("m")),s=fi(r.as("h")),o=fi(r.as("d")),u=fi(r.as("M")),c=fi(r.as("y")),l=i0,l[4]=n,On.apply(null,l)}function Bn(t,e){return void 0===pi[t]?!1:void 0===e?pi[t]:(pi[t]=e,!0)}function Mn(t){var e=this.localeData(),n=In(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Ln(){var t,e,n,r=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(this._months);t=m(r/60),e=m(t/60),r%=60,t%=60,n=m(a/12),a%=12;var s=n,o=a,u=i,c=e,l=t,h=r,d=this.asSeconds();return d?(0>d?"-":"")+"P"+(s?s+"Y":"")+(o?o+"M":"")+(u?u+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var Pn,Nn,Rn=n.momentProperties=[],jn=!1,Yn={},$n={},Un=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Wn=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Gn={},Vn={},Hn=/\d/,zn=/\d\d/,qn=/\d{3}/,Kn=/\d{4}/,Xn=/[+-]?\d{6}/,Zn=/\d\d?/,Qn=/\d{1,3}/,Jn=/\d{1,4}/,tr=/[+-]?\d{1,6}/,er=/\d+/,nr=/[+-]?\d+/,rr=/Z|[+-]\d\d:?\d\d/gi,ir=/[+-]?\d+(\.\d{1,3})?/,ar=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,sr={},or={},ur=0,cr=1,lr=2,hr=3,dr=4,fr=5,pr=6;L("M",["MM",2],"Mo",function(){return this.month()+1}),L("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),L("MMMM",0,0,function(t){return this.localeData().months(this,t)}),T("month","M"),$("M",Zn),$("MM",Zn,zn),$("MMM",ar),$("MMMM",ar),G(["M","MM"],function(t,e){e[cr]=v(t)-1}),G(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[cr]=i:h(n).invalidMonth=t});var gr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mr={};n.suppressDeprecationWarnings=!1;var vr=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_r=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],br=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],wr=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=nt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),L(0,["YY",2],0,function(){return this.year()%100}),L(0,["YYYY",4],0,"year"),L(0,["YYYYY",5],0,"year"),L(0,["YYYYYY",6,!0],0,"year"),T("year","y"),$("Y",nr),$("YY",Zn,zn),$("YYYY",Jn,Kn),$("YYYYY",tr,Xn),$("YYYYYY",tr,Xn),G(["YYYYY","YYYYYY"],ur),G("YYYY",function(t,e){e[ur]=2===t.length?n.parseTwoDigitYear(t):v(t)}),G("YY",function(t,e){e[ur]=n.parseTwoDigitYear(t)}),n.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var xr=F("FullYear",!1);L("w",["ww",2],"wo","week"),L("W",["WW",2],"Wo","isoWeek"),T("week","w"),T("isoWeek","W"),$("w",Zn),$("ww",Zn,zn),$("W",Zn),$("WW",Zn,zn),V(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=v(t)});var Ar={dow:0,doy:6};L("DDD",["DDDD",3],"DDDo","dayOfYear"),T("dayOfYear","DDD"),$("DDD",Qn),$("DDDD",qn),G(["DDD","DDDD"],function(t,e,n){n._dayOfYear=v(t)}),n.ISO_8601=function(){};var kr=nt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return this>t?this:t}),Er=nt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return t>this?this:t});Nt("Z",":"),Nt("ZZ",""),$("Z",rr),$("ZZ",rr),G(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Rt(t)});var Dr=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var Tr=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Cr=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Qt.fn=Lt.prototype;var Sr=ne(1,"add"),Fr=ne(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Or=nt("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)});L(0,["gg",2],0,function(){return this.weekYear()%100}),L(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Oe("gggg","weekYear"),Oe("ggggg","weekYear"),Oe("GGGG","isoWeekYear"),Oe("GGGGG","isoWeekYear"),T("weekYear","gg"),T("isoWeekYear","GG"),$("G",nr),$("g",nr),$("GG",Zn,zn),$("gg",Zn,zn),$("GGGG",Jn,Kn),$("gggg",Jn,Kn),$("GGGGG",tr,Xn),$("ggggg",tr,Xn),V(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=v(t)}),V(["gg","GG"],function(t,e,r,i){e[i]=n.parseTwoDigitYear(t)}),L("Q",0,0,"quarter"),T("quarter","Q"),$("Q",Hn),G("Q",function(t,e){e[cr]=3*(v(t)-1)}),L("D",["DD",2],"Do","date"),T("date","D"),$("D",Zn),$("DD",Zn,zn),$("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),G(["D","DD"],lr),G("Do",function(t,e){e[lr]=v(t.match(Zn)[0],10)});var Ir=F("Date",!0);L("d",0,"do","day"),L("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),L("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),L("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),L("e",0,0,"weekday"),L("E",0,0,"isoWeekday"),T("day","d"),T("weekday","e"),T("isoWeekday","E"),$("d",Zn),$("e",Zn),$("E",Zn),$("dd",ar),$("ddd",ar),$("dddd",ar),V(["dd","ddd","dddd"],function(t,e,n){var r=n._locale.weekdaysParse(t);null!=r?e.d=r:h(n).invalidWeekday=t}),V(["d","e","E"],function(t,e,n,r){e[r]=v(t)});var Br="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Mr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Lr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");L("H",["HH",2],0,"hour"),L("h",["hh",2],0,function(){return this.hours()%12||12}),He("a",!0),He("A",!1),T("hour","h"),$("a",ze),$("A",ze),$("H",Zn),$("h",Zn),$("HH",Zn,zn),$("hh",Zn,zn),G(["H","HH"],hr),G(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),G(["h","hh"],function(t,e,n){e[hr]=v(t),h(n).bigHour=!0});var Pr=/[ap]\.?m?\.?/i,Nr=F("Hours",!0);L("m",["mm",2],0,"minute"),T("minute","m"),$("m",Zn),$("mm",Zn,zn),G(["m","mm"],dr);var Rr=F("Minutes",!1);L("s",["ss",2],0,"second"),T("second","s"),$("s",Zn),$("ss",Zn,zn),G(["s","ss"],fr);var jr=F("Seconds",!1);L("S",0,0,function(){return~~(this.millisecond()/100)}),L(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),L(0,["SSS",3],0,"millisecond"),L(0,["SSSS",4],0,function(){return 10*this.millisecond()}),L(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),L(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),L(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),L(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),L(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),T("millisecond","ms"),$("S",Qn,Hn),$("SS",Qn,zn),$("SSS",Qn,qn);var Yr;for(Yr="SSSS";Yr.length<=9;Yr+="S")$(Yr,er);for(Yr="S";Yr.length<=9;Yr+="S")G(Yr,Xe);var $r=F("Milliseconds",!1);L("z",0,0,"zoneAbbr"),L("zz",0,0,"zoneName");var Ur=g.prototype;Ur.add=Sr,Ur.calendar=ie,Ur.clone=ae,Ur.diff=le,Ur.endOf=xe,Ur.format=pe,Ur.from=ge,Ur.fromNow=ye,Ur.to=me,Ur.toNow=ve,Ur.get=B,Ur.invalidAt=Fe,Ur.isAfter=se,Ur.isBefore=oe,Ur.isBetween=ue,Ur.isSame=ce,Ur.isValid=Ce,Ur.lang=Or,Ur.locale=_e,Ur.localeData=be,Ur.max=Er,Ur.min=kr,Ur.parsingFlags=Se,Ur.set=B,Ur.startOf=we,Ur.subtract=Fr,Ur.toArray=De,Ur.toObject=Te,Ur.toDate=Ee,Ur.toISOString=fe,Ur.toJSON=fe,Ur.toString=de,Ur.unix=ke,Ur.valueOf=Ae,Ur.year=xr,Ur.isLeapYear=lt,Ur.weekYear=Be,Ur.isoWeekYear=Me,Ur.quarter=Ur.quarters=Ne,Ur.month=Q,Ur.daysInMonth=J,Ur.week=Ur.weeks=gt,Ur.isoWeek=Ur.isoWeeks=yt,Ur.weeksInYear=Pe,Ur.isoWeeksInYear=Le,Ur.date=Ir,Ur.day=Ur.days=We,Ur.weekday=Ge,Ur.isoWeekday=Ve,Ur.dayOfYear=vt,Ur.hour=Ur.hours=Nr,Ur.minute=Ur.minutes=Rr,Ur.second=Ur.seconds=jr,Ur.millisecond=Ur.milliseconds=$r,Ur.utcOffset=$t,Ur.utc=Wt,Ur.local=Gt,Ur.parseZone=Vt,Ur.hasAlignedHourOffset=Ht,Ur.isDST=zt,Ur.isDSTShifted=qt,Ur.isLocal=Kt,Ur.isUtcOffset=Xt,Ur.isUtc=Zt,Ur.isUTC=Zt,Ur.zoneAbbr=Ze,Ur.zoneName=Qe,Ur.dates=nt("dates accessor is deprecated. Use date instead.",Ir),Ur.months=nt("months accessor is deprecated. Use month instead",Q),Ur.years=nt("years accessor is deprecated. Use year instead",xr),Ur.zone=nt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ut);var Wr=Ur,Gr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Vr={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"},Hr="Invalid date",zr="%d",qr=/\d{1,2}/,Kr={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"},Xr=b.prototype;Xr._calendar=Gr,Xr.calendar=en,Xr._longDateFormat=Vr,Xr.longDateFormat=nn,Xr._invalidDate=Hr,Xr.invalidDate=rn,Xr._ordinal=zr,Xr.ordinal=an,Xr._ordinalParse=qr,Xr.preparse=sn,Xr.postformat=sn,Xr._relativeTime=Kr,Xr.relativeTime=on,Xr.pastFuture=un,Xr.set=cn,Xr.months=q,Xr._months=gr,Xr.monthsShort=K,Xr._monthsShort=yr,Xr.monthsParse=X,Xr.week=dt,Xr._week=Ar,Xr.firstDayOfYear=pt,Xr.firstDayOfWeek=ft,Xr.weekdays=je,Xr._weekdays=Br,Xr.weekdaysMin=$e,Xr._weekdaysMin=Lr,Xr.weekdaysShort=Ye,Xr._weekdaysShort=Mr,Xr.weekdaysParse=Ue,Xr.isPM=qe,Xr._meridiemParse=Pr,Xr.meridiem=Ke,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=nt("moment.lang is deprecated. Use moment.locale instead.",k),n.langData=nt("moment.langData is deprecated. Use moment.localeData instead.",D);var Zr=Math.abs,Qr=Tn("ms"),Jr=Tn("s"),ti=Tn("m"),ei=Tn("h"),ni=Tn("d"),ri=Tn("w"),ii=Tn("M"),ai=Tn("y"),si=Sn("milliseconds"),oi=Sn("seconds"),ui=Sn("minutes"),ci=Sn("hours"),li=Sn("days"),hi=Sn("months"),di=Sn("years"),fi=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Lt.prototype;yi.abs=mn,yi.add=_n,yi.subtract=bn,yi.as=En,yi.asMilliseconds=Qr,yi.asSeconds=Jr,yi.asMinutes=ti,yi.asHours=ei,yi.asDays=ni,yi.asWeeks=ri,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Dn,yi._bubble=xn,yi.get=Cn,yi.milliseconds=si,yi.seconds=oi,yi.minutes=ui,yi.hours=ci,yi.days=li,yi.weeks=Fn,yi.months=hi,yi.years=di,yi.humanize=Mn,yi.toISOString=Ln,yi.toString=Ln,yi.toJSON=Ln,yi.locale=_e,yi.localeData=be,yi.toIsoString=nt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ln),yi.lang=Or,L("X",0,0,"unix"),L("x",0,0,"valueOf"),$("x",nr),$("X",ir),G("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,n){n._d=new Date(v(t))}),n.version="2.10.6",r(Ot),n.fn=Wr,n.min=Bt,n.max=Mt,n.utc=c,n.unix=Je,n.months=dn,n.isDate=a,n.locale=k,n.invalid=f,n.duration=Qt,n.isMoment=y,n.weekdays=pn,n.parseZone=tn,n.localeData=D,n.isDuration=Pt,n.monthsShort=fn,n.weekdaysMin=yn,n.defineLocale=E,n.weekdaysShort=gn,n.normalizeUnits=C,n.relativeTimeThreshold=Bn;var mi=n;return mi})},{}],84:[function(t,e,n){e.exports={name:"mermaid",version:"0.5.3-2",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],85:[function(t,e,n){"use strict";var r;if(t)try{r=t("d3")}catch(i){}r||(r=window.d3),e.exports=r,function(){var t=!1;if(t="tspans",r.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;r.selection.prototype.textwrap=r.selection.enter.prototype.textwrap=function(e,n){var i,n=parseInt(n)||0,a=this,s=function(t){var e=t[0][0],n=e.tagName.toString();if("rect"!==n)return!1;var i={};return i.x=r.select(e).attr("x")||0,i.y=r.select(e).attr("y")||0,i.width=r.select(e).attr("width")||0,i.height=r.select(e).attr("height")||0,i.attr=t.attr,i},o=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=s(t);return e}return!1},u=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},c=o(e);if(n&&(c=u(c,n)),0!=a.length&&r&&e&&c){e=c;var l,h=function(t){var n=r.select(t[0].parentNode),a=n.select("text"),s=a.style("line-height"),o=a.text();a.remove();var u=n.append("foreignObject");u.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=u.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(o),s&&c.style("line-height",s),i=n.select("foreignObject")},d=function(t){var a,s=t[0],o=s.parentNode,u=r.select(s),c=s.getBBox().height,l=s.getBBox().width,h=c,d=u.style("line-height");if(a=d&&parseInt(d)?parseInt(d.replace("px","")):h,l>e.width){var f=u.text();if(u.text(""),f){var p,g;if(-1!==f.indexOf(" ")){var p=" ";g=f.split(" ")}else{p="";var y=f.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var _,b,g=[],w=0;m>w;w++)b=w*v,_=f.substr(b,v),g.push(_)}for(var x=[],A=0,k={},w=0;we.width&&T&&""!==T&&(A+=C,k={string:T,width:C,offset:A},x.push(k),u.text(""),u.text(D),w==g.length-1&&(E=D,u.text(E),S=s.getComputedTextLength())),w==g.length-1){u.text("");var F=E;F&&""!==F&&(S-A>0&&(S-=A),k={string:F,width:S,offset:A},x.push(k))}}var O;u.text("");for(var w=0;w0){x[w-1]}w*a0?a:void 0}),O.attr("x",function(){var t=e.x;return n&&(t+=n),t}))}}}u.attr("y",function(){var t=e.y;return a&&(t+=a),n&&(t+=n),t}),u.attr("x",function(){var t=e.x;return n&&(t+=n),t}),i=r.select(o).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=d)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:d);for(var f=0;fl&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v); -switch(w[0]){case 1:n.push(v),r.push(f.yytext),i.push(f.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(d)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},i=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],89:[function(t,e,n){"use strict";var r,i=t("../../logger").create();if(t)try{r=t("dagre-d3")}catch(a){i.debug("Could not load dagre-d3")}r||(r=window.dagreD3),e.exports=r},{"../../logger":101,"dagre-d3":4}],90:[function(t,e,n){"use strict";var r=t("./graphDb"),i=t("./parser/flow"),a=t("./parser/dot"),s=t("../../d3"),o=t("./dagre-d3"),u=t("../../logger").create(),c={};e.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e0&&(s=a.classes.join(" "));var o="";o=r(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var u="";c.htmlLabels?(u="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),u="text");var l=0,h="";switch(a.type){case"round":l=5,h="rect";break;case"square":h="rect";break;case"diamond":h="question";break;case"odd":h="rect_left_inv_arrow";break;case"odd_right":h="rect_left_inv_arrow";break;case"circle":h="circle";break;case"group":h="rect",i="";break;default:h="rect"}e.setNode(a.id,{labelType:u,shape:h,label:i,rx:l,ry:l,"class":s,style:o,id:a.id})})},n.addEdges=function(t,e){var n,r,i=0;"undefined"!=typeof t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,n="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof 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"}if("undefined"==typeof t.text)"undefined"==typeof t.style?e.setEdge(t.start,t.end,{style:a,arrowhead:n},i):e.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:n},i);else{var s=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?c.htmlLabels?e.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:s,arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:s,arrowhead:n},i)}})},n.getClasses=function(t,e){var n;r.clear(),n=e?a.parser:i.parser,n.yy=r,n.parse(t);var s=r.getClasses();return"undefined"==typeof s["default"]&&(s["default"]={id:"default"},s["default"].styles=[],s["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],s["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],s["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),s},n.draw=function(t,e,l){u.debug("Drawing flowchart");var h;r.clear(),h=l?a.parser:i.parser,h.yy=r;try{h.parse(t)}catch(d){u.debug("Parsing failed")}var f;f=r.getDirection(),"undefined"==typeof f&&(f="TD");var p,g=new o.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=r.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],r.addVertex(p.id,p.title,"group",void 0);var v=r.getVertices(),_=r.getEdges();m=0;var b;for(m=y.length-1;m>=0;m--)for(p=y[m],s.selectAll("cluster").append("text"),b=0;b0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(n){var r=d3.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,r),setClickFun(t,e),setLink(t,n)}):(setTooltip(t,r),setClickFun(t,e),setLink(t,n))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var n=d3.select(t).select("svg"),r=n.selectAll("g.node");r.on("mouseover",function(){var t=d3.select(this),n=t.attr("title");if(null!==n){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);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function n(t){var e={"boolean":{},number:{},string:{}},n=[];return t.filter(function(t){var r=typeof t;return" "===t?!1:r in e?e[r].hasOwnProperty(t)?!1:e[r][t]=!0:n.indexOf(t)>=0?!1:n.push(t)})}var r=[];r=n(r.concat.apply(r,t));var i={id:"subGraph"+subCount,nodes:r,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e2e3)){if(posCrossRef[secCount]=n,subGraphs[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i=0){var o=t(e,s);if(o.result)return{result:!0,count:a+o.count};a+=o.count}i+=1}return{result:!1,count:a}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":85,"../../logger":101}],92:[function(t,e,n){(function(r){"use strict";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],s=[1,14],o=[1,15],u=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],f=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],_=[1,35],b=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],T=[1,49],C=[1,52],S=[2,65],F=[1,65],O=[1,66],I=[1,67],B=[1,68],M=[1,69],L=[1,70],P=[1,71],N=[1,72],R=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],Y=[10,28,37],$={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,s){var o=a.length-1;switch(i){case 1:this.$=a[o-1];break;case 2:this.$=a[o-4];break;case 3:this.$=a[o-5];break;case 4:this.$=a[o-3];break;case 8:case 10:case 11:this.$=a[o];break;case 9:this.$=a[o-1]+""+a[o];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[o];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:r.addLink(a[o-1],a[o].id,a[o].op),this.$="oy";break;case 42:r.addLink(a[o-1],a[o].id,a[o].op),this.$={op:a[o-2],id:a[o-1]};break;case 44:this.$={op:a[o-1],id:a[o]};break;case 48:r.addVertex(a[o-1]),this.$=a[o-1];break;case 49:r.addVertex(a[o]),this.$=a[o];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:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{6:23,12:n,13:r},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p}),e(w,[2,8]),e(w,[2,10]),e(w,[2,11]),e(w,[2,12]),e(w,[2,13]),e(w,[2,14]),e(w,[2,15]),e(w,[2,16]),e(w,[2,17]),e(w,[2,18]),e(w,[2,19]),e(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,41]},{10:[2,21],28:[1,42]},e(x,[2,23]),e(x,[2,24]),e(x,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(x,[2,27],{41:46,43:47,57:D,58:T}),e(x,[2,47],{43:47,34:50,41:51,37:C,57:D,58:T}),{34:53,37:C},{34:54,37:C},{34:55,37:C},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},e(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{7:62,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},e(A,[2,48]),e(A,S,{14:10,15:11,7:63,46:64,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,48:F,49:O,50:I,51:B,52:M,53:L,54:P,55:N,56:R}),e(x,[2,41],{34:74,37:C}),{7:77,8:y,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,33:76,42:75,47:b},e(j,[2,66]),e(j,[2,67]),e(x,[2,46]),e(x,[2,40],{34:78,37:C}),{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,38:79,39:[1,80]},e(x,[2,28]),e(x,[2,29]),e(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{5:[2,2]},{10:[2,22]},e(x,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(x,[2,38]),e(Y,[2,44],{43:47,41:87,57:D,58:T}),e(Y,[2,45],{43:47,41:88,57:D,58:T}),e(A,k,{44:44,45:E}),e(x,[2,39]),{39:[1,89]},e(x,[2,34],{34:90,37:C}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,S,{46:95,48:F,49:O,50:I,51:B,52:M,53:L,54:P,55:N,56:R}),e(Y,[2,42]),e(Y,[2,43]),e(x,[2,33],{34:96,37:C}),e(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:d,25:f,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)throw new Error(t);this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,_,b,w,x,A,k,E,D,T=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=T()),w=a[b]&&a[b][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(f.yytext),i.push(f.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(d)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},U=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return $.lexer=U,t.prototype=$,$.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],93:[function(t,e,n){(function(r){"use strict";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,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],s=[2,2],o=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,31],d=[1,33],f=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],_=[1,28],b=[1,36],w=[1,38],x=[1,35],A=[1,37],k=[1,43],E=[1,42],D=[1,39],T=[1,40],C=[1,41],S=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],F=[1,51],O=[1,50],I=[1,52],B=[1,70],M=[1,78],L=[1,79],P=[1,64],N=[1,63],R=[1,83],j=[1,82],Y=[1,80],$=[1,81],U=[1,71],W=[1,66],G=[1,65],V=[1,61],H=[1,73],z=[1,74],q=[1,75],K=[1,76],X=[1,77],Z=[1,68],Q=[1,67],J=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],et=[1,112],nt=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],rt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],st=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],ot=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],ut=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],dt=[1,190],ft=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],_t=[1,188],bt=[1,189],wt=[1,205],xt=[8,9,11,83],At=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],kt={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]],performAction:function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[o]!==[]&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 55:case 57:case 58:case 90:case 92:case 93:case 106:this.$=a[o];break;case 11:r.setDirection(a[o-1]),this.$=a[o-1];break;case 12:r.setDirection("LR"),this.$=a[o-1];break;case 13:r.setDirection("RL"),this.$=a[o-1];break;case 14:r.setDirection("BT"),this.$=a[o-1];break;case 15:r.setDirection("TB"),this.$=a[o-1];break;case 30:this.$=a[o-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[o-1],a[o-3]);break;case 37:this.$=r.addSubGraph(a[o-1],void 0);break;case 41:r.addLink(a[o-2],a[o],a[o-1]),this.$=[a[o-2],a[o]];break;case 42:this.$=[a[o]];break;case 43:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"square");break;case 44:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"square");break;case 45:this.$=a[o-5],r.addVertex(a[o-5],a[o-2],"circle");break;case 46:this.$=a[o-6],r.addVertex(a[o-6],a[o-3],"circle");break;case 47:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"round");break;case 48:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"round");break;case 49:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"diamond");break;case 50:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"diamond");break;case 51:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"odd");break;case 52:this.$=a[o-4],r.addVertex(a[o-4],a[o-2],"odd");break;case 53:this.$=a[o],r.addVertex(a[o]);break;case 54:this.$=a[o-1],r.addVertex(a[o-1]);break;case 56:case 91:case 94:case 107:this.$=a[o-1]+""+a[o];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[o-1].text=a[o],this.$=a[o-1];break;case 62:case 63:a[o-2].text=a[o-1],this.$=a[o-2];break;case 64:this.$=a[o];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[o-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[o-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[o-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[o-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[o-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[o-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[o-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[o-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[o-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[o-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[o-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[o-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[o-1];break;case 108:case 109:this.$=a[o-4],r.addClass(a[o-2],a[o]);break;case 110:this.$=a[o-4],r.setClass(a[o-2],a[o]);break;case 111:this.$=a[o-4],r.setClickEvent(a[o-2],a[o],void 0,void 0);break;case 112:this.$=a[o-6],r.setClickEvent(a[o-4],a[o-2],void 0,a[o]);break;case 113:this.$=a[o-4],r.setClickEvent(a[o-2],void 0,a[o],void 0);break;case 114:this.$=a[o-6],r.setClickEvent(a[o-4],void 0,a[o-2],a[o]);break;case 115:this.$=a[o-4],r.addVertex(a[o-2],void 0,void 0,a[o]);break;case 116:case 117:case 118:this.$=a[o-4],r.updateLink(a[o-2],a[o]);break;case 120:this.$=[a[o]];break;case 121:a[o-2].push(a[o]),this.$=a[o-2];break;case 123:this.$=a[o-1]+a[o]}},table:[{3:1,4:2,9:n,10:r,12:i},{1:[3]},e(a,s,{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:o,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(a,[2,9]),e(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},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:O,11:I,24:49},{8:F,9:O,11:I,24:53},{8:F,9:O,11:I,24:54},{8:F,9:O,11:I,24:55},{8:F,9:O,11:I,24:56},{8:F,9:O,11:I,24:57},{8:F,9:O,10:B,11:I,12:M,13:L,15:P,16:N,17:R,18:j,24:59,30:Y,31:58,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(J,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},e(tt,[2,53],{43:32,21:110,42:111,10:et,13:h,15:[1,109],18:d,36:[1,106],38:[1,107],40:[1,108],44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C}),e(nt,[2,55]),e(nt,[2,57]),e(nt,[2,58]),e(nt,[2,59]),e(nt,[2,60]),e(rt,[2,148]),e(rt,[2,149]),e(rt,[2,150]),e(rt,[2,151]),e(rt,[2,152]),e(rt,[2,153]),e(rt,[2,154]),e(rt,[2,155]),e(rt,[2,156]),{8:it,9:at,10:et,14:113,21:116},{8:it,9:at,10:et,14:117,21:116},{8:it,9:at,10:et,14:118,21:116},{8:it,9:at,10:et,14:119,21:116},{8:it,9:at,10:et,14:120,21:116},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:O,10:B,11:I,12:M,13:L,15:P,16:N,17:R,18:j,24:121,30:Y,32:$,43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(st,s,{5:123}),e(ot,[2,90]),e(ot,[2,92]),e(ot,[2,137]),e(ot,[2,138]),e(ot,[2,139]),e(ot,[2,140]),e(ot,[2,141]),e(ot,[2,142]),e(ot,[2,143]),e(ot,[2,144]),e(ot,[2,145]),e(ot,[2,146]),e(ot,[2,147]),e(ot,[2,95]),e(ot,[2,96]),e(ot,[2,97]),e(ot,[2,98]),e(ot,[2,99]),e(ot,[2,100]),e(ot,[2,101]),e(ot,[2,102]),e(ot,[2,103]),e(ot,[2,104]),e(ot,[2,105]),{13:h,18:d,33:124,35:29,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(ut,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:128,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:129,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:130,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(ct,[2,77]),e(ct,[2,78]),e(ct,[2,79]),e(ct,[2,80]),e(ct,[2,81]),e(ct,[2,82]),e(ct,[2,83]),e(ct,[2,84]),e(ct,[2,85]),e(ct,[2,86]),e(ct,[2,87]),e(ct,[2,88]),{13:h,18:d,35:131,42:30,43:32,44:p,78:[1,132],79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{76:[1,133],79:[1,134]},{13:h,18:d,35:136,42:30,43:32,44:p,76:[1,135],79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{13:h,18:d,35:137,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{13:h,18:d,35:138,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:139,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:141,32:$,38:[1,140],43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:142,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:143,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,54]),e(nt,[2,56]),e(tt,[2,29],{21:144,10:et}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,145]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(st,s,{5:146}),e(ot,[2,91]),{6:10,7:11,8:o,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(J,[2,41]),e(ut,[2,61],{10:[1,148]}),{10:[1,149]},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:150,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,58:G,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,163],13:h,18:d,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:d,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,169],13:h,18:d,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,170],13:h,18:d,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,37:[1,171],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,31:172,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,39:[1,173],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,41:[1,174],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,37:[1,175],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,28]),e(a,[2,23]),{6:10,7:11,8:o,9:u,10:c,11:l,13:h,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(S,[2,37]),e(ut,[2,63]),e(ut,[2,62]),{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,58:G,63:[1,177],64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(ut,[2,65]),e(ut,[2,66]),e(ut,[2,67]),e(ut,[2,68]),e(ut,[2,69]),e(ut,[2,70]),e(ut,[2,71]),e(ut,[2,72]),e(ut,[2,73]),e(ut,[2,74]),e(ut,[2,75]),e(ut,[2,76]),{10:lt,44:ht,69:dt,77:178,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:dt,77:192,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:dt,77:193,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:dt,77:194,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:dt,77:195,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:dt,77:196,78:ft,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{13:h,18:d,35:197,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{13:h,18:d,35:198,42:30,43:32,44:p,65:[1,199],79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,43],{21:200,10:et}),{10:B,12:M,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,39:[1,201],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,47],{21:202,10:et}),e(tt,[2,49],{21:203,10:et}),e(tt,[2,51],{21:204,10:et}),e(S,[2,36]),e([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),e(J,[2,115],{83:wt}),e(xt,[2,120],{84:206,10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,85:yt,86:mt,87:vt,88:_t,89:bt}),e(At,[2,122]),e(At,[2,124]),e(At,[2,125]),e(At,[2,126]),e(At,[2,127]),e(At,[2,128]),e(At,[2,129]),e(At,[2,130]),e(At,[2,131]),e(At,[2,132]),e(At,[2,133]),e(At,[2,134]),e(J,[2,116],{83:wt}),e(J,[2,117],{83:wt}),e(J,[2,118],{83:wt}),e(J,[2,108],{83:wt}),e(J,[2,109],{83:wt}),e(J,[2,110],{43:32,42:111,13:h,18:d,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C}),e(J,[2,111],{43:32,42:111,10:[1,207],13:h,18:d,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C}),e(J,[2,113],{10:[1,208]}),e(tt,[2,44]),{39:[1,209]},e(tt,[2,48]),e(tt,[2,50]),e(tt,[2,52]),{10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},e(At,[2,123]),{65:[1,211]},{65:[1,212]},e(tt,[2,45],{21:213,10:et}),e(xt,[2,121],{84:206,10:lt,44:ht,69:dt,78:ft,79:pt,81:gt,85:yt,86:mt,87:vt,88:_t,89:bt}),e(J,[2,112]),e(J,[2,114]),e(tt,[2,46])],defaultActions:{},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,_,b,w,x,A,k,E,D,T=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=T()),w=a[b]&&a[b][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(f.yytext),i.push(f.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(d)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9;case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return kt.lexer=Et,t.prototype=kt,kt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],94:[function(t,e,n){(function(e){"use strict";var r=t("moment"),i=t("../../logger").create(),a="",s="",o=[],u=[],c="";n.clear=function(){o=[],u=[],c="",s="",f=0,l=void 0},n.setDateFormat=function(t){a=t},n.getDateFormat=function(){return a},n.setTitle=function(t){s=t},n.getTitle=function(){return s},n.addSection=function(t){c=t,o.push(t)},n.findTaskById=function(t){var e;for(e=0;en-e?n+i+1.5*o.sidePadding>s?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+o.barHeight/2+(o.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=x(t.startTime),n=x(t.endTime),r=this.getBBox().width,i=0,a=0;an-e?n+r+1.5*o.sidePadding>s?"taskTextOutsideLeft taskTextOutside"+i+" "+u:"taskTextOutsideRight taskTextOutside"+i+" "+u:"taskText taskText"+i+" "+u})}function l(t,e,n,r){var s,u=[[".%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()}]];"undefined"!=typeof o.axisFormatter&&(l=[],o.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),s=u.concat(l).concat(c);var h=a.svg.axis().scale(x).orient("bottom").tickSize(-r+e+o.gridLineStartPadding,0,0).tickFormat(a.time.format.multi(s));i>7&&230>i&&(h=h.ticks(a.time.monday.range)),_.append("g").attr("class","grid").attr("transform","translate("+t+", "+(r-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,e){for(var n=[],r=0,i=0;i0))return i[1]*t/2+e;for(var s=0;a>s;s++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;er;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}function p(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function g(t,e){return p(e)[t]||0}r.yy.clear(),r.parse(t);var y=document.getElementById(e);u=y.parentElement.offsetWidth,"undefined"==typeof u&&(u=1200),"undefined"!=typeof o.useWidth&&(u=o.useWidth);var m=r.yy.getTasks(),v=m.length*(o.barHeight+o.barGap)+2*o.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+u+" "+v);var _=a.select("#"+e),b=a.min(m,function(t){return t.startTime}),w=a.max(m,function(t){return t.endTime}),x=a.time.scale().domain([a.min(m,function(t){return t.startTime}),a.max(m,function(t){return t.endTime})]).rangeRound([0,u-150]),A=[];i=s.duration(w-b).asDays();for(var k=0;kl&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(f.yytext),i.push(f.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(d)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},u=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:break;case 2:break;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 t}();return o.lexer=u,t.prototype=o,o.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],97:[function(t,e,n){(function(r){"use strict";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,15,17,19,20,22,33],r=[2,2],i=[1,6],a=[1,8],s=[1,9],o=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],f=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 1:return r.apply(a[o-1]),a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:this.$=a[o-1];break;case 12:a[o-1].unshift({type:"loopStart",loopText:a[o-2].actor,signalType:r.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 13:a[o-1].unshift({type:"optStart",optText:a[o-2].actor,signalType:r.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:a[o-2].actor,signalType:r.LINETYPE.OPT_END}),this.$=a[o-1];break;case 14:a[o-4].unshift({type:"altStart",altText:a[o-5].actor,signalType:r.LINETYPE.ALT_START}),a[o-4].push({type:"else",altText:a[o-2].actor,signalType:r.LINETYPE.ALT_ELSE}),a[o-4]=a[o-4].concat(a[o-1]),a[o-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[o-4];break;case 15:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 19:this.$=a[o];break;case 20:this.$=[a[o-2],a[o]];break;case 21:this.$=r.PLACEMENT.LEFTOF;break;case 22:this.$=r.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 26:this.$={type:"addActor",actor:a[o]};break;case 27:this.$=r.LINETYPE.SOLID_OPEN;break;case 28:this.$=r.LINETYPE.DOTTED_OPEN;break;case 29:this.$=r.LINETYPE.SOLID;break;case 30:this.$=r.LINETYPE.DOTTED;break;case 31:this.$=r.LINETYPE.SOLID_CROSS;break;case 32:this.$=r.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[o].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,r,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,22:h,33:d},e(n,f,{1:[2,1]}),e(p,[2,3]),{9:19,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,22:h,33:d},e(p,[2,5]),e(p,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},e([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),e(p,[2,4]),{10:[1,38]},e(p,[2,9]),e(p,[2,10]),{16:[1,39]},e(g,r,{5:40}),e(g,r,{5:41}),e([6,8,10,11,15,17,19,20,21,22,33],r,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},e(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},e(p,[2,11]),e(p,[2,12]),e(p,f),e(p,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},e(g,r,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},e(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,d=i.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);f.setInput(t,p.yy),p.yy.lexer=f,p.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var y=f.yylloc;i.push(y);var m=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,_,b,w,x,A,k,E,D,T=function(){var t;return t=f.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=T()),w=a[b]&&a[b][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=f.showPosition?"Parse error on line "+(o+1)+":\n"+f.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(f.yytext),i.push(f.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=f.yyleng,s=f.yytext,o=f.yylineno,y=f.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(d)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},b=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return _.lexer=b,t.prototype=_,_.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],98:[function(t,e,n){(function(e){"use strict";var r={},i=[],a=[],s=[],o=t("../../logger").create();n.addActor=function(t,e,n){r[t]={name:e,description:n},i.push(t)},n.addMessage=function(t,e,n,r){a.push({from:t,to:e,message:n,answer:r})},n.addSignal=function(t,e,n,r){o.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),a.push({from:t,to:e,message:n,type:r})},n.getMessages=function(){return a},n.getActors=function(){return r},n.getActor=function(t){return r[t]},n.getActorKeys=function(){return Object.keys(r)},n.clear=function(){r={},a=[]},n.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},n.ARROWTYPE={FILLED:0,OPEN:1},n.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},n.addNote=function(t,e,r){var i={actor:t,placement:e,message:r};s.push(i),a.push({from:t,to:t,message:r,type:n.LINETYPE.NOTE,placement:e})},n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)},n.apply=function(t){if(t instanceof Array)t.forEach(function(t){n.apply(t)});else switch(t.type){case"addActor":n.addActor(t.actor,t.actor,t.actor); -break;case"addNote":n.addNote(t.actor,t.placement,t.text);break;case"addMessage":n.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":n.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":n.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":n.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":101}],99:[function(t,e,n){"use strict";var r=t("./parser/sequenceDiagram").parser;r.yy=t("./sequenceDb");var i=t("./svgDraw"),a=t("../../d3"),s=t("../../logger").create(),o={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};n.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){"undefined"==typeof t[e]?t[e]=n:t[e]=r(n,t[e])},updateLoops:function(t,e,r,i){var a=this,s=0;this.list.forEach(function(u){s++;var c=a.list.length-s+1;a.updateVal(u,"startx",t-c*o.boxMargin,Math.min),a.updateVal(u,"starty",e-c*o.boxMargin,Math.min),a.updateVal(u,"stopx",r+c*o.boxMargin,Math.max),a.updateVal(u,"stopy",i+c*o.boxMargin,Math.max),a.updateVal(n.bounds.data,"startx",t-c*o.boxMargin,Math.min),a.updateVal(n.bounds.data,"starty",e-c*o.boxMargin,Math.min),a.updateVal(n.bounds.data,"stopx",r+c*o.boxMargin,Math.max),a.updateVal(n.bounds.data,"stopy",i+c*o.boxMargin,Math.max)})},insert:function(t,e,r,i){var a,s,o,u;a=Math.min(t,r),o=Math.max(t,r),s=Math.min(e,i),u=Math.max(e,i),this.updateVal(n.bounds.data,"startx",a,Math.min),this.updateVal(n.bounds.data,"starty",s,Math.min),this.updateVal(n.bounds.data,"stopx",o,Math.max),this.updateVal(n.bounds.data,"stopy",u,Math.max),this.updateLoops(a,s,o,u)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var e=this.list.pop();e.elsey=n.bounds.getVerticalPos(),e.elseText=t,this.list.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}};var u=function(t,e,r,a){var s=i.getNoteRect();s.x=e,s.y=r,s.width=o.width,s["class"]="note";var u=t.append("g"),c=i.drawRect(u,s),l=i.getTextObj();l.x=e-4,l.y=r-13,l.textMargin=o.noteMargin,l.dy="1em",l.text=a.message,l["class"]="noteText";var h=i.drawText(u,l,o.width-o.noteMargin),d=h[0][0].getBBox().height;d>o.width?(h.remove(),u=t.append("g"),h=i.drawText(u,l,2*o.width-o.noteMargin),d=h[0][0].getBBox().height,c.attr("width",2*o.width),n.bounds.insert(e,r,e+2*o.width,r+2*o.noteMargin+d)):n.bounds.insert(e,r,e+o.width,r+2*o.noteMargin+d),c.attr("height",d+2*o.noteMargin),n.bounds.bumpVerticalPos(d+2*o.noteMargin)},c=function(t,e,i,a,s){var o,u=t.append("g"),c=e+(i-e)/2,l=u.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(s.message);o="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(e===i){h=u.append("path").attr("d","M "+e+","+a+" C "+(e+60)+","+(a-10)+" "+(e+60)+","+(a+30)+" "+e+","+(a+20)),n.bounds.bumpVerticalPos(30);var d=Math.max(o/2,100);n.bounds.insert(e-d,n.bounds.getVerticalPos()-10,i+d,n.bounds.getVerticalPos())}else h=u.append("line"),h.attr("x1",e),h.attr("y1",a),h.attr("x2",i),h.attr("y2",a),n.bounds.insert(e,n.bounds.getVerticalPos()-10,i,n.bounds.getVerticalPos());s.type===r.yy.LINETYPE.DOTTED||s.type===r.yy.LINETYPE.DOTTED_CROSS||s.type===r.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)"),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),(s.type===r.yy.LINETYPE.SOLID||s.type===r.yy.LINETYPE.DOTTED)&&h.attr("marker-end","url("+f+"#crosshead)"),(s.type===r.yy.LINETYPE.SOLID_CROSS||s.type===r.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+f+"#crosshead)")};e.exports.drawActors=function(t,e,r,a){var s;for(s=0;s/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),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(r),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},n.drawLabel=function(t,e){var r=n.getNoteRect();r.x=e.x,r.y=e.y,r.width=50,r.height=20,r.fill="#526e52",r.stroke="none",r["class"]="labelBox",n.drawRect(t,r),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",n.drawText(t,e)};var r=-1;n.drawActor=function(t,e,i,a,s){var o=e+s.width/2,u=t.append("g");0===i&&(r++,u.append("line").attr("id","actor"+r).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 c=n.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=s.width,c.height=s.height,c["class"]="actor",c.rx=3,c.ry=3,n.drawRect(u,c),u.append("text").attr("x",o).attr("y",i+s.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},n.drawLoop=function(t,e,r,i){var a=t.append("g"),s=function(t,e,n,r){a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("stroke-width",2).attr("stroke","#526e52").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),"undefined"!=typeof e.elsey&&s(e.startx,e.elsey,e.stopx,e.elsey);var o=n.getTextObj();o.text=r,o.x=e.startx,o.y=e.starty,o.labelMargin=1.5*i.boxMargin,o["class"]="labelText",o.fill="white",n.drawLabel(a,o),o=n.getTextObj(),o.text="[ "+e.title+" ]",o.x=e.startx+(e.stopx-e.startx)/2,o.y=e.starty+1.5*i.boxMargin,o.anchor="middle",o["class"]="loopText",n.drawText(a,o),"undefined"!=typeof e.elseText&&(o.text="[ "+e.elseText+" ]",o.y=e.elsey+1.5*i.boxMargin,n.drawText(a,o))},n.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")},n.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")},n.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},n.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],101:[function(t,e,n){(function(t){"use strict";var e;e=function(){function e(t){var n,r;this.options=t||{},this.level=this.options.level||e.levels["default"],r=e.levels;for(n in r)e.define(this,n)}function n(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>n&&(n="0"+n),10>r&&(r="0"+r),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+n+":"+r+" ("+i+")";return a}return e.prototype.add=function(n,r,i){return this.level>(e.levels[n]||5)?void 0:(i?r=i():"function"==typeof r&&(r=r()),this.write({timestamp:new Date,severity:n,message:r,pid:t.pid}))},e.prototype.write=function(t){return"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log(this.build_message(t)):void 0},e.prototype.build_message=function(t){return"["+n(t.timestamp)+"] "+t.message},e}(),e.define=function(t,e){return t[e]=function(t,n){return this.add(e,t,n)}},e.levels={debug:1,info:2,warn:3,error:4,fatal:5,"default":5},n.setLogLevel=function(t){e.levels["default"]=t},n.create=function(t){return new e(t)}}).call(this,t("_process"))},{_process:3}],102:[function(t,e,n){(function(e){"use strict";var r=t("./diagrams/flowchart/graphDb"),i=t("./utils"),a=t("./diagrams/flowchart/flowRenderer"),s=t("./diagrams/sequenceDiagram/sequenceRenderer"),o=t("./diagrams/example/exampleRenderer"),u=t("./diagrams/example/parser/example"),c=t("./diagrams/flowchart/parser/flow"),l=t("./diagrams/flowchart/parser/dot"),h=t("./diagrams/sequenceDiagram/parser/sequenceDiagram"),d=t("./diagrams/sequenceDiagram/sequenceDb"),f=t("./diagrams/example/exampleDb"),p=t("./diagrams/gantt/ganttRenderer"),g=t("./diagrams/gantt/parser/gantt"),y=t("./diagrams/gantt/ganttDb"),m=t("./d3"),v={logLevel:3,cloneCssStyles:!0,startOnLoad:!0,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,sidePadding: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()}]]}},_=t("./logger").create({level:v.logLevel}),b=function(t){var e,n=i.detectType(t);switch(n){case"graph":e=c,e.parser.yy=r;break;case"dotGraph":e=l,e.parser.yy=r;break;case"sequenceDiagram":e=h,e.parser.yy=d;break;case"info":e=u,e.parser.yy=f;break;case"gantt":e=g,e.parser.yy=y}try{return e.parse(t),!0}catch(a){return!1}};n.parse=b,n.version=function(){return t("../package.json").version},n.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){var e=t.substring(0,t.length-1);return e}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){var e=t.substring(0,t.length-1);return e}),e=e.replace(/#\w+\;/g,function(t){var e=t.substring(1,t.length-1),n=/^\+?\d+$/.test(e);return n?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},n.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,e,u,c){"undefined"!=typeof c?m.select(c).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g"):m.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=n.encodeEntities(e);var l=m.select("#d"+t).node(),h=i.detectType(e),d={};switch(h){case"graph":a.setConf(v.flowchart),a.draw(e,t,!1),v.cloneCssStyles&&(d=a.getClasses(e,!1),i.cloneCssStyles(l.firstChild,d));break;case"dotGraph":a.setConf(v.flowchart),a.draw(e,t,!0),v.cloneCssStyles&&(d=a.getClasses(e,!0),i.cloneCssStyles(l.firstChild,d));break;case"sequenceDiagram":s.setConf(v.sequenceDiagram),s.draw(e,t),v.cloneCssStyles&&i.cloneCssStyles(l.firstChild,[]);break;case"gantt":p.setConf(v.gantt),p.draw(e,t),v.cloneCssStyles&&i.cloneCssStyles(l.firstChild,[]);break;case"info":o.draw(e,t,n.version()),v.cloneCssStyles&&i.cloneCssStyles(l.firstChild,[])}m.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)");var g=m.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+f+"#arrowhead","g");g=n.decodeEntities(g),"undefined"!=typeof u?u(g,r.bindFunctions):_.warn("CB = undefined");var y=m.select("#d"+t).node();null!==y&&"function"==typeof y.remove&&m.select("#d"+t).node().remove()};n.render=function(t,e,n,r){"undefined"==typeof document||w(t,e,n,r)};var x=function(t){var e,n=Object.keys(t);for(e=0;e0&&(r+=n.selectorText+" { "+n.style.cssText+" }\n")}}catch(l){"undefined"!==n&&s.warn('Invalid CSS selector "'+n.selectorText+'"',l)}var h="",d="";for(var f in e)e.hasOwnProperty(f)&&"undefined"!=typeof f&&("default"===f?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[f].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+e[f].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+e[f].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+e[f].clusterStyles.join("; ")+"; }\n")):e[f].styles instanceof Array&&(d+="#"+t.id.trim()+" ."+f+">rect { "+e[f].styles.join("; ")+"; }\n"));if(""!==r||""!==h||""!==d){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};n.cloneCssStyles=u},{"./logger":101}]},{},[102])(102)}); +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaidAPI=t()}}(function(){var define,module,exports;return function t(e,n,r){function i(s,o){if(!n[s]){if(!e[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};e[s][0].call(l.exports,function(t){var n=e[s][1][t];return i(n?n:t)},l,l.exports,t,e,n,r)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s=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=-1&&!i;a--){var s=a>=0?arguments[a]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(n=s+"/"+n,i="/"===s.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var i=n.isAbsolute(t),a="/"===s(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),s=Math.min(i.length,a.length),o=s,u=0;s>u;u++)if(i[u]!==a[u]){o=u;break}for(var c=[],u=o;ue&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,n="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return n?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":11,"./lib/graphlib":12,"./lib/intersect":13,"./lib/render":28,"./lib/util":30,"./lib/version":31}],5:[function(t,e){function n(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"),s=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(s,n[r+"Style"])}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"),s=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");a.applyStyle(s,n[r+"Style"])}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"),s=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(s,n[r+"Style"])}var a=t("./util");e.exports={"default":n,normal:n,vee:r,undirected:i}},{"./util":30}],6:[function(t,e){function n(t,e){var n=e.nodes().filter(function(t){return r.isSubgraph(e,t)}),a=t.selectAll("g.cluster").data(n,function(t){return t});return a.selectAll("*").remove(),a.enter().append("g").attr("class","cluster").attr("id",function(t){var n=e.node(t);return n.id}).style("opacity",0),r.applyTransition(a,e).style("opacity",1),a.each(function(t){var n=e.node(t),r=d3.select(this);d3.select(this).append("rect");var a=r.append("g").attr("class","label");i(a,n,n.clusterLabelPos)}),a.selectAll("rect").each(function(t){var n=e.node(t),i=d3.select(this);r.applyStyle(i,n.style)}),r.applyTransition(a.exit(),e).style("opacity",0).remove(),a}var r=t("./util"),i=t("./label/add-label");e.exports=n},{"./label/add-label":21,"./util":30}],7:[function(t,e){"use strict";function n(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return a.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),a=i(s.select(this),e.edge(t),0,0).classed("label",!0),o=a.node().getBBox();n.labelId&&a.attr("id",n.labelId),r.has(n,"width")||(n.width=o.width),r.has(n,"height")||(n.height=o.height)}),a.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),s=t("./d3");e.exports=n},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],8:[function(t,e){"use strict";function n(t,e,n){var i=t.selectAll("g.edgePath").data(e.edges(),function(t){return l.edgeToId(t)}).classed("update",!0);return s(i,e),o(i,e),l.applyTransition(i,e).style("opacity",1),i.each(function(t){var n=h.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),l.applyClass(n,r["class"],(n.classed("update")?"update ":"")+"edgePath")}),i.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=u.uniqueId("arrowhead");var i=h.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");l.applyTransition(i,e).attr("d",function(t){return r(e,t)}),l.applyStyle(i,n.style)}),i.selectAll("defs *").remove(),i.selectAll("defs").each(function(t){var r=e.edge(t),i=n[r.arrowhead];i(h.select(this),r.arrowheadId,r,"arrowhead")}),i}function r(t,e){var n=t.edge(e),r=t.node(e.v),a=t.node(e.w),s=n.points.slice(1,n.points.length-1);return s.unshift(c(r,s[0])),s.push(c(a,s[s.length-1])),i(n,s)}function i(t,e){var n=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return u.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),u.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function a(t){var e=t.getBBox(),n=t.getTransformToElement(t.ownerSVGElement).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,s=u.range(n.points.length).map(function(){return a(r)});return i(n,s)}),n.append("defs")}function o(t,e){var n=t.exit();l.applyTransition(n,e).style("opacity",0).remove(),l.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);if(n){var r=u.range(this.pathSegList.length).map(function(){return n});return i({},r)}return h.select(this).attr("d")})}var u=t("./lodash"),c=t("./intersect/intersect-node"),l=t("./util"),h=t("./d3");e.exports=n},{"./d3":10,"./intersect/intersect-node":17,"./lodash":24,"./util":30}],9:[function(t,e){"use strict";function n(t,e,n){var o=e.nodes().filter(function(t){return!a.isSubgraph(e,t)}),u=t.selectAll("g.node").data(o,function(t){return t}).classed("update",!0);return u.selectAll("*").remove(),u.enter().append("g").attr("class","node").style("opacity",0),u.each(function(t){var o=e.node(t),u=s.select(this),c=u.append("g").attr("class","label"),l=i(c,o),h=n[o.shape],f=r.pick(l.node().getBBox(),"width","height");o.elem=this,o.id&&u.attr("id",o.id),o.labelId&&c.attr("id",o.labelId),a.applyClass(u,o["class"],(u.classed("update")?"update ":"")+"node"),r.has(o,"width")&&(f.width=o.width),r.has(o,"height")&&(f.height=o.height),f.width+=o.paddingLeft+o.paddingRight,f.height+=o.paddingTop+o.paddingBottom,c.attr("transform","translate("+(o.paddingLeft-o.paddingRight)/2+","+(o.paddingTop-o.paddingBottom)/2+")");var d=h(s.select(this),f,o);a.applyStyle(d,o.style);var p=d.node().getBBox();o.width=p.width,o.height=p.height}),a.applyTransition(u.exit(),e).style("opacity",0).remove(),u}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),s=t("./d3");e.exports=n},{"./d3":10,"./label/add-label":21,"./lodash":24,"./util":30}],10:[function(t,e){e.exports=window.d3},{}],11:[function(t,e){var n;if(t)try{n=t("dagre")}catch(r){}n||(n=window.dagre),e.exports=n},{dagre:32}],12:[function(t,e){var n;if(t)try{n=t("graphlib")}catch(r){}n||(n=window.graphlib),e.exports=n},{graphlib:62}],13:[function(t,e){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":14,"./intersect-ellipse":15,"./intersect-node":17,"./intersect-polygon":18,"./intersect-rect":19}],14:[function(t,e){function n(t,e,n){return r(t,e,e,n)}var r=t("./intersect-ellipse");e.exports=n},{"./intersect-ellipse":15}],15:[function(t,e){function n(t,e,n,r){var i=t.x,a=t.y,s=i-r.x,o=a-r.y,u=Math.sqrt(e*e*o*o+n*n*s*s),c=Math.abs(e*n*s/u);r.xm?(m-y)/g:(m+y)/g,m=s*c-a*l,_=0>m?(m-y)/g:(m+y)/g,{x:v,y:_})}function r(t,e){return t*e>0}e.exports=n},{}],17:[function(t,e){function n(t,e){return t.intersect(e)}e.exports=n},{}],18:[function(t,e){function n(t,e,n){var i=t.x,a=t.y,s=[],o=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY;e.forEach(function(t){o=Math.min(o,t.x),u=Math.min(u,t.y)});for(var c=i-t.width/2-o,l=a-t.height/2-u,h=0;h1&&s.sort(function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),s=e.x-n.x,o=e.y-n.y,u=Math.sqrt(s*s+o*o);return u>a?-1:a===u?0:1}),s[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var r=t("./intersect-line");e.exports=n},{"./intersect-line":16}],19:[function(t,e){function n(t,e){var n,r,i=t.x,a=t.y,s=e.x-i,o=e.y-a,u=t.width/2,c=t.height/2;return Math.abs(o)*u>Math.abs(s)*c?(0>o&&(c=-c),n=0===o?0:c*s/o,r=c):(0>s&&(u=-u),n=u,r=0===s?0:u*o/s),{x:i+n,y:a+r}}e.exports=n},{}],20:[function(t,e){function n(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div"),a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}r.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var s,o;return i.each(function(){s=this.clientWidth,o=this.clientHeight}),n.attr("width",s).attr("height",o),n}var r=t("../util");e.exports=n},{"../util":30}],21:[function(t,e){function n(t,e,n){var s=e.label,o=t.append("g");"svg"===e.labelType?a(o,e):"string"!=typeof s||"html"===e.labelType?i(o,e):r(o,e);var u,c=o.node().getBBox();switch(n){case"top":u=-e.height/2;break;case"bottom":u=e.height/2-c.height;break;default:u=-c.height/2}return o.attr("transform","translate("+-c.width/2+","+u+")"),o}var r=t("./add-text-label"),i=t("./add-html-label"),a=t("./add-svg-label");e.exports=n},{"./add-html-label":20,"./add-svg-label":22,"./add-text-label":23}],22:[function(t,e){function n(t,e){var n=t;return n.node().appendChild(e.label),r.applyStyle(n,e.labelStyle),n}var r=t("../util");e.exports=n},{"../util":30}],23:[function(t,e){function n(t,e){for(var n=t.append("text"),a=r(e.label).split("\n"),s=0;so;++o)r(t,"borderLeft","_bl",n,s,o),r(t,"borderRight","_br",n,s,o)}}i.each(t.children(),e)}function r(t,e,n,r,i,s){var o={width:0,height:0,rank:s,borderType:e},u=i[e][s-1],c=a.addDummyNode(t,"border",o,n);i[e][s]=c,t.setParent(c,r),u&&t.setEdge(u,c,{weight:1})}var i=t("./lodash"),a=t("./util");e.exports=n},{"./lodash":41,"./util":60}],35:[function(t,e){"use strict";function n(t){var e=t.graph().rankdir.toLowerCase();("lr"===e||"rl"===e)&&i(t)}function r(t){var e=t.graph().rankdir.toLowerCase();("bt"===e||"rl"===e)&&s(t),("lr"===e||"rl"===e)&&(u(t),i(t))}function i(t){l.each(t.nodes(),function(e){a(t.node(e))}),l.each(t.edges(),function(e){a(t.edge(e))})}function a(t){var e=t.width;t.width=t.height,t.height=e}function s(t){l.each(t.nodes(),function(e){o(t.node(e))}),l.each(t.edges(),function(e){var n=t.edge(e);l.each(n.points,o),l.has(n,"y")&&o(n)})}function o(t){t.y=-t.y}function u(t){l.each(t.nodes(),function(e){c(t.node(e))}),l.each(t.edges(),function(e){var n=t.edge(e);l.each(n.points,c),l.has(n,"x")&&c(n)})}function c(t){var e=t.x;t.x=t.y,t.y=e}var l=t("./lodash");e.exports={adjust:n,undo:r}},{"./lodash":41}],36:[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){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(r(e),e):void 0},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(", ")+"]"}},{}],37:[function(t,e){function n(t){var e=i.buildLayerMatrix(t),n=new a({compound:!0,multigraph:!0}).setGraph({});return r.each(t.nodes(),function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)}),r.each(t.edges(),function(t){n.setEdge(t.v,t.w,{},t.name)}),r.each(e,function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,function(t,e){return n.setEdge(t,e,{style:"invis"}),e})}),n}var r=t("./lodash"),i=t("./util"),a=t("./graphlib").Graph;e.exports={debugOrdering:n}},{"./graphlib":38,"./lodash":41,"./util":60}],38:[function(t,e){var n;if("function"==typeof t)try{n=t("graphlib")}catch(r){}n||(n=window.graphlib),e.exports=n},{graphlib:62}],39:[function(t,e){function n(t,e){if(t.nodeCount()<=1)return[];var n=a(t,e||l),i=r(n.graph,n.buckets,n.zeroIdx);return o.flatten(o.map(i,function(e){return t.outEdges(e.v,e.w)}),!0)}function r(t,e,n){for(var r,a=[],s=e[e.length-1],o=e[0];t.nodeCount();){for(;r=o.dequeue();)i(t,e,n,r);for(;r=s.dequeue();)i(t,e,n,r);if(t.nodeCount())for(var u=e.length-2;u>0;--u)if(r=e[u].dequeue()){a=a.concat(i(t,e,n,r,!0));break}}return a}function i(t,e,n,r,i){var a=i?[]:void 0;return o.each(t.inEdges(r.v),function(r){var o=t.edge(r),u=t.node(r.v);i&&a.push({v:r.v,w:r.w}),u.out-=o,s(e,n,u)}),o.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,o=t.node(a);o["in"]-=i,s(e,n,o)}),t.removeNode(r.v),a}function a(t,e){var n=new u,r=0,i=0;o.each(t.nodes(),function(t){n.setNode(t,{v:t,"in":0,out:0})}),o.each(t.edges(),function(t){var a=n.edge(t.v,t.w)||0,s=e(t),o=a+s;n.setEdge(t.v,t.w,o),i=Math.max(i,n.node(t.v).out+=s),r=Math.max(r,n.node(t.w)["in"]+=s)});var a=o.range(i+r+3).map(function(){return new c}),l=r+1;return o.each(n.nodes(),function(t){s(a,l,n.node(t))}),{graph:n,buckets:a,zeroIdx:l}}function s(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 o=t("./lodash"),u=t("./graphlib").Graph,c=t("./data/list");e.exports=n;var l=o.constant(1)},{"./data/list":36,"./graphlib":38,"./lodash":41}],40:[function(t,e){"use strict";function n(t,e){var n=e&&e.debugTiming?I.time:I.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return a(t)});n(" runLayout",function(){r(e,n)}),n(" updateInputGraph",function(){i(t,e)})})}function r(t,e){e(" makeSpaceForEdgeLabels",function(){s(t)}),e(" removeSelfEdges",function(){g(t)}),e(" acyclic",function(){w.run(t)}),e(" nestingGraph.run",function(){T.run(t)}),e(" rank",function(){A(I.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){o(t)}),e(" removeEmptyRanks",function(){D(t)}),e(" nestingGraph.cleanup",function(){T.cleanup(t)}),e(" normalizeRanks",function(){k(t)}),e(" assignRankMinMax",function(){u(t)}),e(" removeEdgeLabelProxies",function(){c(t)}),e(" normalize.run",function(){x.run(t)}),e(" parentDummyChains",function(){E(t)}),e(" addBorderSegments",function(){C(t)}),e(" order",function(){F(t)}),e(" insertSelfEdges",function(){y(t)}),e(" adjustCoordinateSystem",function(){S.adjust(t)}),e(" position",function(){O(t)}),e(" positionSelfEdges",function(){m(t)}),e(" removeBorderNodes",function(){p(t)}),e(" normalize.undo",function(){x.undo(t)}),e(" fixupEdgeLabelCoords",function(){f(t)}),e(" undoCoordinateSystem",function(){S.undo(t)}),e(" translateGraph",function(){l(t)}),e(" assignNodeIntersects",function(){h(t)}),e(" reversePoints",function(){d(t)}),e(" acyclic.undo",function(){w.undo(t)})}function i(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 a(t){var e=new M({multigraph:!0,compound:!0}),n=_(t.graph());return e.setGraph(b.merge({},L,v(n,B),b.pick(n,P))),b.each(t.nodes(),function(n){var r=_(t.node(n));e.setNode(n,b.defaults(v(r,N),R)),e.setParent(n,t.parent(n))}),b.each(t.edges(),function(n){var r=_(t.edge(n));e.setEdge(n,b.merge({},Y,v(r,j),b.pick(r,$)))}),e}function s(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 o(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};I.addDummyNode(t,"edge-proxy",a,"_ep")}})}function u(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 c(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 l(t){function e(t){var e=t.x,s=t.y,o=t.width,u=t.height;n=Math.min(n,e-o/2),r=Math.max(r,e+o/2),i=Math.min(i,s-u/2),a=Math.max(a,s+u/2)}var n=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,a=0,s=t.graph(),o=s.marginx||0,u=s.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-=o,i-=u,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)}),s.width=r-n+o,s.height=a-i+u}function h(t){b.each(t.edges(),function(e){var n,r,i=t.edge(e),a=t.node(e.v),s=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=s,r=a),i.points.unshift(I.intersectRect(a,n)),i.points.push(I.intersectRect(s,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 d(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)),s=t.node(b.last(n.borderRight));n.width=Math.abs(s.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 g(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=I.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){I.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 m(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,s=n.x-i,o=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],n.label.x=n.x,n.label.y=n.y}})}function v(t,e){return b.mapValues(b.pick(t,e),Number)}function _(t){var e={};return b.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var b=t("./lodash"),w=t("./acyclic"),x=t("./normalize"),A=t("./rank"),k=t("./util").normalizeRanks,E=t("./parent-dummy-chains"),D=t("./util").removeEmptyRanks,T=t("./nesting-graph"),C=t("./add-border-segments"),S=t("./coordinate-system"),F=t("./order"),O=t("./position"),I=t("./util"),M=t("./graphlib").Graph;e.exports=n;var B=["nodesep","edgesep","ranksep","marginx","marginy"],L={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},P=["acyclicer","ranker","rankdir","align"],N=["width","height"],R={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],Y={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},$=["labelpos"]},{"./acyclic":33,"./add-border-segments":34,"./coordinate-system":35,"./graphlib":38,"./lodash":41,"./nesting-graph":42,"./normalize":43,"./order":48,"./parent-dummy-chains":53,"./position":55,"./rank":57,"./util":60}],41:[function(t,e){var n;if("function"==typeof t)try{n=t("lodash")}catch(r){}n||(n=window._),e.exports=n},{lodash:82}],42:[function(t,e){function n(t){var e=u.addDummyNode(t,"root",{},"_root"),n=i(t),s=o.max(n)-1,c=2*s+1;t.graph().nestingRoot=e,o.each(t.edges(),function(e){t.edge(e).minlen*=c});var l=a(t)+1;o.each(t.children(),function(i){r(t,e,c,l,s,n,i)}),t.graph().nodeRankFactor=c}function r(t,e,n,i,a,s,c){var l=t.children(c);if(!l.length)return void(c!==e&&t.setEdge(e,c,{weight:0,minlen:n}));var h=u.addBorderNode(t,"_bt"),f=u.addBorderNode(t,"_bb"),d=t.node(c);t.setParent(h,c),d.borderTop=h,t.setParent(f,c),d.borderBottom=f,o.each(l,function(o){r(t,e,n,i,a,s,o);var u=t.node(o),l=u.borderTop?u.borderTop:o,d=u.borderBottom?u.borderBottom:o,p=u.borderTop?i:2*i,g=l!==d?1:a-s[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(e,h,{weight:0,minlen:a+s[c]})}function i(t){function e(r,i){var a=t.children(r);a&&a.length&&o.each(a,function(t){e(t,i+1)}),n[r]=i}var n={};return o.each(t.children(),function(t){e(t,1)}),n}function a(t){return o.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}function s(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,o.each(t.edges(),function(e){var n=t.edge(e);n.nestingEdge&&t.removeEdge(e)})}var o=t("./lodash"),u=t("./util");e.exports={run:n,cleanup:s}},{"./lodash":41,"./util":60}],43:[function(t,e){"use strict";function n(t){t.graph().dummyChains=[],a.each(t.edges(),function(e){ +r(t,e)})}function r(t,e){var n=e.v,r=t.node(n).rank,i=e.w,a=t.node(i).rank,o=e.name,u=t.edge(e),c=u.labelRank;if(a!==r+1){t.removeEdge(e);var l,h,f;for(f=0,++r;a>r;++f,++r)u.points=[],h={width:0,height:0,edgeLabel:u,edgeObj:e,rank:r},l=s.addDummyNode(t,"edge",h,"_d"),r===c&&(h.width=u.width,h.height=u.height,h.dummy="edge-label",h.labelpos=u.labelpos),t.setEdge(n,l,{weight:u.weight},o),0===f&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,i,{weight:u.weight},o)}}function i(t){a.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 a=t("./lodash"),s=t("./util");e.exports={run:n,undo:i}},{"./lodash":41,"./util":60}],44:[function(t,e){function n(t,e,n){var i,a={};r.each(n,function(n){for(var r,s,o=t.parent(n);o;){if(r=t.parent(o),r?(s=a[r],a[r]=o):(s=i,i=o),s&&s!==o)return void e.setEdge(s,o);o=r}})}var r=t("../lodash");e.exports=n},{"../lodash":41}],45:[function(t,e){function n(t,e){return r.map(e,function(e){var n=t.inEdges(e);if(n.length){var i=r.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:i.sum/i.weight,weight:i.weight}}return{v:e}})}var r=t("../lodash");e.exports=n},{"../lodash":41}],46:[function(t,e){function n(t,e,n){var s=r(t),o=new a({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(function(e){return t.node(e)});return i.each(t.nodes(),function(r){var a=t.node(r),u=t.parent(r);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(o.setNode(r),o.setParent(r,u||s),i.each(t[n](r),function(e){var n=e.v===r?e.w:e.v,a=o.edge(n,r),s=i.isUndefined(a)?0:a.weight;o.setEdge(n,r,{weight:t.edge(e).weight+s})}),i.has(a,"minRank")&&o.setNode(r,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),o}function r(t){for(var e;t.hasNode(e=i.uniqueId("_root")););return e}var i=t("../lodash"),a=t("../graphlib").Graph;e.exports=n},{"../graphlib":38,"../lodash":41}],47:[function(t,e){"use strict";function n(t,e){for(var n=0,i=1;i0;)e%2&&(n+=u[e+1]),e=e-1>>1,u[e]+=t.weight;c+=t.weight*n})),c}var i=t("../lodash");e.exports=n},{"../lodash":41}],48:[function(t,e){"use strict";function n(t){var e=d.maxRank(t),n=r(t,s.range(1,e+1),"inEdges"),c=r(t,s.range(e-1,-1,-1),"outEdges"),l=o(t);a(t,l);for(var h,f=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?n:c,p%4>=2),l=d.buildLayerMatrix(t);var y=u(t,l);f>y&&(g=0,h=s.cloneDeep(l),f=y)}a(t,h)}function r(t,e,n){return s.map(e,function(e){return l(t,e,n)})}function i(t,e){var n=new f;s.each(t,function(t){var r=t.graph().root,i=c(t,r,n,e);s.each(i.vs,function(e,n){t.node(e).order=n}),h(t,n,i.vs)})}function a(t,e){s.each(e,function(e){s.each(e,function(e,n){t.node(e).order=n})})}var s=t("../lodash"),o=t("./init-order"),u=t("./cross-count"),c=t("./sort-subgraph"),l=t("./build-layer-graph"),h=t("./add-subgraph-constraints"),f=t("../graphlib").Graph,d=t("../util");e.exports=n},{"../graphlib":38,"../lodash":41,"../util":60,"./add-subgraph-constraints":44,"./build-layer-graph":46,"./cross-count":47,"./init-order":49,"./sort-subgraph":51}],49:[function(t,e){"use strict";function n(t){function e(i){if(!r.has(n,i)){n[i]=!0;var a=t.node(i);s[a.rank].push(i),r.each(t.successors(i),e)}}var n={},i=r.filter(t.nodes(),function(e){return!t.children(e).length}),a=r.max(r.map(i,function(e){return t.node(e).rank})),s=r.map(r.range(a+1),function(){return[]}),o=r.sortBy(i,function(e){return t.node(e).rank});return r.each(o,e),s}var r=t("../lodash");e.exports=n},{"../lodash":41}],50:[function(t,e){"use strict";function n(t,e){var n={};a.each(t,function(t,e){var r=n[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};a.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),a.each(e.edges(),function(t){var e=n[t.v],r=n[t.w];a.isUndefined(e)||a.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))});var i=a.filter(n,function(t){return!t.indegree});return r(i)}function r(t){function e(t){return function(e){e.merged||(a.isUndefined(e.barycenter)||a.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&i(t,e)}}function n(e){return function(n){n["in"].push(e),0===--n.indegree&&t.push(n)}}for(var r=[];t.length;){var s=t.pop();r.push(s),a.each(s["in"].reverse(),e(s)),a.each(s.out,n(s))}return a.chain(r).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,["vs","i","barycenter","weight"])}).value()}function i(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 a=t("../lodash");e.exports=n},{"../lodash":41}],51:[function(t,e){function n(t,e,c,l){var h=t.children(e),f=t.node(e),d=f?f.borderLeft:void 0,p=f?f.borderRight:void 0,g={};d&&(h=a.filter(h,function(t){return t!==d&&t!==p}));var y=s(t,h);a.each(y,function(e){if(t.children(e.v).length){var r=n(t,e.v,c,l);g[e.v]=r,a.has(r,"barycenter")&&i(e,r)}});var m=o(y,c);r(m,g);var v=u(m,l);if(d&&(v.vs=a.flatten([d,v.vs,p],!0),t.predecessors(d).length)){var _=t.node(t.predecessors(d)[0]),b=t.node(t.predecessors(p)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+_.order+b.order)/(v.weight+2),v.weight+=2}return v}function r(t,e){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function i(t,e){a.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 a=t("../lodash"),s=t("./barycenter"),o=t("./resolve-conflicts"),u=t("./sort");e.exports=n},{"../lodash":41,"./barycenter":45,"./resolve-conflicts":50,"./sort":52}],52:[function(t,e){function n(t,e){var n=s.partition(t,function(t){return a.has(t,"barycenter")}),o=n.lhs,u=a.sortBy(n.rhs,function(t){return-t.i}),c=[],l=0,h=0,f=0;o.sort(i(!!e)),f=r(c,u,f),a.each(o,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=r(c,u,f)});var d={vs:a.flatten(c,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}function r(t,e,n){for(var r;e.length&&(r=a.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function i(t){return function(e,n){return e.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i}}var a=t("../lodash"),s=t("../util");e.exports=n},{"../lodash":41,"../util":60}],53:[function(t,e){function n(t){var e=i(t);a.each(t.graph().dummyChains,function(n){for(var i=t.node(n),a=i.edgeObj,s=r(t,e,a.v,a.w),o=s.path,u=s.lca,c=0,l=o[c],h=!0;n!==a.w;){if(i=t.node(n),h){for(;(l=o[c])!==u&&t.node(l).maxRanku||c>e[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)o.push(i);return{path:s.concat(o.reverse()),lca:a}}function i(t){function e(i){var s=r;a.each(t.children(i),e),n[i]={low:s,lim:r++}}var n={},r=0;return a.each(t.children(),e),n}var a=t("./lodash");e.exports=n},{"./lodash":41}],54:[function(t,e){"use strict";function n(t,e){function n(e,n){var s=0,o=0,u=e.length,c=y.last(n);return y.each(n,function(e,l){var h=i(t,e),f=h?t.node(h).order:u;(h||e===c)&&(y.each(n.slice(o,l+1),function(e){y.each(t.predecessors(e),function(n){var i=t.node(n),o=i.order;!(s>o||o>f)||i.dummy&&t.node(e).dummy||a(r,n,e)})}),o=l+1,s=f)}),n}var r={};return y.reduce(e,n),r}function r(t,e){function n(e,n,r,s,o){var u;y.each(y.range(n,r),function(n){u=e[n],t.node(u).dummy&&y.each(t.predecessors(u),function(e){var n=t.node(e);n.dummy&&(n.ordero)&&a(i,e,u)})})}function r(e,r){var i,a=-1,s=0;return y.each(r,function(o,u){if("border"===t.node(o).dummy){var c=t.predecessors(o);c.length&&(i=t.node(c[0]).order,n(r,s,u,a,i),s=u,a=i)}n(r,s,r.length,i,e.length)}),r}var i={};return y.reduce(e,r),i}function i(t,e){return t.node(e).dummy?y.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function a(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 s(t,e,n){if(e>n){var r=e;e=n,n=r}return y.has(t[e],n)}function o(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 u=r(t);if(u.length){u=y.sortBy(u,function(t){return o[t]});for(var c=(u.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var f=u[l];a[t]===t&&es.lim&&(o=s,u=!0);var c=p.filter(e.edges(),function(e){return u===d(t,t.node(e.v),o)&&u!==d(t,t.node(e.w),o)});return p.min(c,function(t){return y(e,t)})}function l(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),s(t),r(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 d(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var p=t("../lodash"),g=t("./feasible-tree"),y=t("./util").slack,m=t("./util").longestPath,v=t("../graphlib").alg.preorder,_=t("../graphlib").alg.postorder,b=t("../util").simplify;e.exports=n,n.initLowLimValues=s,n.initCutValues=r,n.calcCutValue=a,n.leaveEdge=u,n.enterEdge=c,n.exchangeEdges=l},{"../graphlib":38,"../lodash":41,"../util":60,"./feasible-tree":56,"./util":59}],59:[function(t,e){"use strict";function n(t){function e(r){var a=t.node(r);if(i.has(n,r))return a.rank;n[r]=!0;var s=i.min(i.map(t.outEdges(r),function(n){return e(n.w)-t.edge(n).minlen}));return s===Number.POSITIVE_INFINITY&&(s=0),a.rank=s}var n={};i.each(t.sources(),e)}function r(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var i=t("../lodash");e.exports={longestPath:n,slack:r}},{"../lodash":41}],60:[function(t,e){"use strict";function n(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 r(t){var e=(new m).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 i(t){var e=new m({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 a(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 s(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 o(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,c;return Math.abs(a)*s>Math.abs(i)*o?(0>a&&(o=-o),u=o*i/a,c=o):(0>i&&(s=-s),u=s,c=s*a/i),{x:n+u,y:r+c}}function u(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 c(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 l(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,r,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=i),n(t,"border",a,e)}function f(t){return y.max(y.map(t.nodes(),function(e){var n=t.node(e).rank;return y.isUndefined(n)?void 0:n}))}function d(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 g(t,e){return e()}var y=t("./lodash"),m=t("./graphlib").Graph;e.exports={addDummyNode:n,simplify:r,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:s,intersectRect:o,buildLayerMatrix:u,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:f,partition:d,time:p,notime:g}},{"./graphlib":38,"./lodash":41}],61:[function(t,e){e.exports="0.7.4"},{}],62:[function(t,e){var n=t("./lib");e.exports={Graph:n.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:n.version}},{"./lib":78,"./lib/alg":69,"./lib/json":79}],63:[function(t,e){function n(t){function e(a){r.has(i,a)||(i[a]=!0,n.push(a),r.each(t.successors(a),e),r.each(t.predecessors(a),e))}var n,i={},a=[];return r.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var r=t("../lodash");e.exports=n},{"../lodash":80}],64:[function(t,e){function n(t,e,n){i.isArray(e)||(e=[e]);var a=[],s={};return i.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);r(t,e,"post"===n,s,a)}),a}function r(t,e,n,a,s){i.has(a,e)||(a[e]=!0,n||s.push(e),i.each(t.neighbors(e),function(e){r(t,e,n,a,s)}),n&&s.push(e))}var i=t("../lodash");e.exports=n},{"../lodash":80}],65:[function(t,e){function n(t,e,n){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,e,n)},{})}var r=t("./dijkstra"),i=t("../lodash");e.exports=n},{"../lodash":80,"./dijkstra":66}],66:[function(t,e){function n(t,e,n,i){return r(t,String(e),n||s,i||function(e){return t.outEdges(e)})}function r(t,e,n,r){var i,s,o={},u=new a,c=function(t){var e=t.v!==i?t.v:t.w,r=o[e],a=n(t),c=s.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c0&&(i=u.removeMin(),s=o[i],s.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return o}var i=t("../lodash"),a=t("../data/priority-queue");e.exports=n;var s=i.constant(1)},{"../data/priority-queue":76,"../lodash":80}],67:[function(t,e){function n(t){return r.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var r=t("../lodash"),i=t("./tarjan");e.exports=n},{"../lodash":80,"./tarjan":74}],68:[function(t,e){function n(t,e,n){return r(t,e||a,n||function(e){return t.outEdges(e)})}function r(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],s=a[n],o=r.distance+i.distance;oi&&(u[n]=s,c.decrease(n,i))}}var s,o=new i,u={},c=new a;if(0===t.nodeCount())return o;r.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(s=c.removeMin(),r.has(u,s))o.setEdge(s,u[s]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(s).forEach(n)}return o}var r=t("../lodash"),i=t("../graph"),a=t("../data/priority-queue");e.exports=n},{"../data/priority-queue":76,"../graph":77,"../lodash":80}],74:[function(t,e){function n(t){function e(o){var u=a[o]={onStack:!0,lowlink:n,index:n++};if(i.push(o),t.successors(o).forEach(function(t){r.has(a,t)?a[t].onStack&&(u.lowlink=Math.min(u.lowlink,a[t].index)):(e(t),u.lowlink=Math.min(u.lowlink,a[t].lowlink))}),u.lowlink===u.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);s.push(l)}}var n=0,i=[],a={},s=[];return t.nodes().forEach(function(t){r.has(a,t)||e(t)}),s}var r=t("../lodash");e.exports=n},{"../lodash":80}],75:[function(t,e){function n(t){function e(o){if(i.has(a,o))throw new r;i.has(n,o)||(a[o]=!0,n[o]=!0,i.each(t.predecessors(o),e),delete a[o],s.push(o))}var n={},a={},s=[];if(i.each(t.sinks(),e),i.size(n)!==t.nodeCount())throw new r;return s}function r(){}var i=t("../lodash");e.exports=n,n.CycleException=r},{"../lodash":80}],76:[function(t,e){function n(){this._arr=[],this._keyIndices={}}var r=t("../lodash");e.exports=n,n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(t){return t.key})},n.prototype.has=function(t){return r.has(this._keyIndices,t)},n.prototype.priority=function(t){var e=this._keyIndices[t];return void 0!==e?this._arr[e].priority:void 0},n.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},n.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},n.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},n.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)},n.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1,!(n[e].prioritya){var s=i;i=a,a=s}return i+h+a+h+(u.isUndefined(r)?c:r)}function s(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return r&&(o.name=r),o}function o(t,e){return a(t,e.v,e.w,e.name)}var u=t("./lodash");e.exports=n;var c="\x00",l="\x00",h="";n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(t){return this._label=t,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(t){return u.isFunction(t)||(t=u.constant(t)),this._defaultNodeLabelFn=t,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return u.keys(this._nodes)},n.prototype.sources=function(){return u.filter(this.nodes(),function(t){return u.isEmpty(this._in[t])},this)},n.prototype.sinks=function(){return u.filter(this.nodes(),function(t){return u.isEmpty(this._out[t])},this)},n.prototype.setNodes=function(t,e){var n=arguments;return u.each(t,function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this),this},n.prototype.setNode=function(t,e){return u.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]=l,this._children[t]={},this._children[l][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},n.prototype.node=function(t){return this._nodes[t]},n.prototype.hasNode=function(t){return u.has(this._nodes,t)},n.prototype.removeNode=function(t){var e=this;if(u.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],u.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),u.each(u.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],u.each(u.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},n.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(u.isUndefined(e))e=l;else{e+="";for(var n=e;!u.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},n.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},n.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==l)return e}},n.prototype.children=function(t){if(u.isUndefined(t)&&(t=l),this._isCompound){var e=this._children[t];if(e)return u.keys(e)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},n.prototype.predecessors=function(t){var e=this._preds[t];return e?u.keys(e):void 0},n.prototype.successors=function(t){var e=this._sucs[t];return e?u.keys(e):void 0},n.prototype.neighbors=function(t){var e=this.predecessors(t);return e?u.union(e,this.successors(t)):void 0},n.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()),u.each(this._nodes,function(e,r){t(r)&&n.setNode(r,e)},this),u.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&&u.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},n.prototype.setDefaultEdgeLabel=function(t){return u.isFunction(t)||(t=u.constant(t)),this._defaultEdgeLabelFn=t,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return u.values(this._edgeObjs)},n.prototype.setPath=function(t,e){var n=this,r=arguments;return u.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},n.prototype.setEdge=function(){var t,e,n,i,o=!1,c=arguments[0];"object"==typeof c&&null!==c&&"v"in c?(t=c.v,e=c.w,n=c.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=c,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,u.isUndefined(n)||(n=""+n);var l=a(this._isDirected,t,e,n);if(u.has(this._edgeLabels,l))return o&&(this._edgeLabels[l]=i),this;if(!u.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=o?i:this._defaultEdgeLabelFn(t,e,n);var h=s(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,r(this._preds[e],t),r(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},n.prototype.edge=function(t,e,n){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return this._edgeLabels[r]},n.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return u.has(this._edgeLabels,r)},n.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,e,n),s=this._edgeObjs[r];return s&&(t=s.v,e=s.w,delete this._edgeLabels[r],delete this._edgeObjs[r],i(this._preds[e],t),i(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},n.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=u.values(n);return e?u.filter(r,function(t){return t.v===e}):r}},n.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=u.values(n);return e?u.filter(r,function(t){return t.w===e}):r}},n.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);return n?n.concat(this.outEdges(t,e)):void 0}},{"./lodash":80}],78:[function(t,e){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":77,"./version":81}],79:[function(t,e){function n(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:i(t)};return s.isUndefined(t.graph())||(e.value=s.clone(t.graph())),e}function r(t){return s.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return s.isUndefined(n)||(i.value=n),s.isUndefined(r)||(i.parent=r),i})}function i(t){return s.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return s.isUndefined(e.name)||(r.name=e.name),s.isUndefined(n)||(r.value=n),r})}function a(t){var e=new o(t.options).setGraph(t.value);return s.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),s.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var s=t("./lodash"),o=t("./graph");e.exports={write:n,read:a}},{"./graph":77,"./lodash":80}],80:[function(t,e){e.exports=t(41)},{"/Users/knut/Documents/source/mermaid/node_modules/dagre-d3/node_modules/dagre/lib/lodash.js":41, +lodash:82}],81:[function(t,e){e.exports="1.0.7"},{}],82:[function(t,e,n){(function(t){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===E,i=t===t,a=null===e,s=e===E,o=e===e;if(t>e&&!a||!i||n&&!s&&o||r&&o)return 1;if(e>t&&!n||!o||a&&!r&&i||s&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i-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 h(t,e,n){for(var i=-1,a=t.criteria,s=e.criteria,o=a.length,u=n.length;++i=u)return c;var l=n[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function f(t){return Gt[t]}function d(t){return Vt[t]}function p(t,e,n){return e?t=qt[t]:n&&(t=Kt[t]),"\\"+t}function g(t){return"\\"+Kt[t]}function y(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function _(t,e){for(var n=-1,r=t.length,i=-1,a=[];++ne,i=n?t.length:0,a=Hn(0,i,this.__views__),s=a.start,o=a.end,u=o-s,c=r?o:s-1,l=this.__iteratees__,h=l.length,f=0,d=xs(u,this.__takeCount__);if(!n||Y>i||i==u&&d==u)return nn(r&&n?t.reverse():t,this.__actions__);var p=[];t:for(;u--&&d>f;){c+=e;for(var g=-1,y=t[c];++g=Y?gn(e):null,c=e.length;u&&(s=Zt,o=!1,e=u);t:for(;++in&&(n=-n>i?0:i+n),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=n>r?0:r>>>0,n>>>=0;i>n;)t[n++]=e;return t}function Te(t,e){var n=[];return Ls(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Ce(t,e,n,r){var i;return n(t,function(t,n,a){return e(t,n,a)?(i=r?n:t,!1):void 0}),i}function Se(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++ir;)t=t[e[r++]];return r&&r==i?t:E}}function Le(t,e,n,r,i,a){return t===e?!0:null==t||null==e||!Bi(t)&&!m(e)?t!==t&&e!==e:Pe(t,e,Le,n,r,i,a)}function Pe(t,e,n,r,i,a,s){var o=So(t),u=So(e),c=H,l=H;o||(c=ns.call(t),c==V?c=J:c!=J&&(o=Wi(t))),u||(l=ns.call(e),l==V?l=J:l!=J&&(u=Wi(e)));var h=c==J,f=l==J,d=c==l;if(d&&!o&&!h)return jn(t,e,c);if(!i){var p=h&&ts.call(t,"__wrapped__"),g=f&&ts.call(e,"__wrapped__");if(p||g)return n(p?t.value():t,g?e.value():e,r,i,a,s)}if(!d)return!1;a||(a=[]),s||(s=[]);for(var y=a.length;y--;)if(a[y]==t)return s[y]==e;a.push(t),s.push(e);var m=(o?Rn:Yn)(t,e,n,r,i,a,s);return a.pop(),s.pop(),m}function Ne(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=hr(t);r--;){var s=e[r];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++re&&(e=-e>i?0:i+e),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Ya(i);++r=Y,u=o?gn():null,c=[];u?(r=Zt,s=!1):(o=!1,u=e?[]:c);t:for(;++n=i){for(;i>r;){var a=r+i>>>1,s=t[a];(n?e>=s:e>s)&&null!==s?r=a+1:i=a}return i}return an(t,e,Ta,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,s=e!==e,o=null===e,u=e===E;a>i;){var c=ms((i+a)/2),l=n(t[c]),h=l!==E,f=l===l;if(s)var d=f||r;else d=o?f&&h&&(r||null!=l):u?f&&(r||h):null==l?!1:r?e>=l:e>l;d?i=c+1:a=c}return xs(a,Ss)}function sn(t,e,n){if("function"!=typeof t)return Ta;if(e===E)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,s){return t.call(e,n,r,i,a,s)}}return function(){return t.apply(e,arguments)}}function on(t){var e=new as(t.byteLength),n=new ds(e);return n.set(new ds(t)),e}function un(t,e,n){for(var r=n.length,i=-1,a=ws(t.length-r,0),s=-1,o=e.length,u=Ya(o+a);++s2?n[i-2]:E,s=i>2?n[2]:E,o=i>1?n[i-1]:E;for("function"==typeof a?(a=sn(a,o,5),i-=2):(a="function"==typeof o?o:E,i-=a?1:0),s&&Jn(n[0],n[1],s)&&(a=3>i?E:a,i=1);++r-1?n[s]:E}return Ce(n,r,t)}}function xn(t){return function(e,n,r){return e&&e.length?(n=$n(n,r,3),i(e,n,t)):-1}}function An(t){return function(e,n,r){return n=$n(n,r,3),Ce(e,n,t,!0)}}function kn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=Ya(n);t?r--:++r=Y)return e.plant(r).value();for(var i=0,s=n?a[i].apply(this,t):r;++iv){var k=o?te(o):E,D=ws(c-v,0),S=p?A:E,F=p?E:A,O=p?w:E,B=p?E:w;e|=p?I:M,e&=~(p?M:I),g||(e&=~(T|C));var L=[t,e,n,O,S,B,F,k,u,D],P=In.apply(E,L);return er(t)&&Us(P,L),P.placeholder=x,P}}var N=f?n:this,R=d?N[t]:t;return o&&(w=ur(w,o)),h&&u=e||!_s(e))return"";var i=e-r;return n=null==n?" ":n+"",ya(n,gs(i/n.length)).slice(0,i)}function Bn(t,e,n,r){function i(){for(var e=-1,o=arguments.length,u=-1,c=r.length,l=Ya(c+o);++uu))return!1;for(;++o-1&&t%1==0&&e>t}function Jn(t,e,n){if(!Bi(n))return!1;var r=typeof e;if("number"==r?Zn(n)&&Qn(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;if("string"==n&&Et.test(t)||"number"==n)return!0;if(So(t))return!1;var r=!kt.test(t);return r||null!=e&&t in hr(e)}function er(t){var n=Un(t);if(!(n in Z.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Ys(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&Os>=t}function rr(t){return t===t&&!Bi(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=B>i,s=r==B&&n==F||r==B&&n==L&&t[7].length<=e[8]||r==(B|L)&&n==F;if(!a&&!s)return t;r&T&&(t[2]=e[2],i|=n&T?0:S);var o=e[3];if(o){var u=t[3];t[3]=u?un(u,o,e[4]):te(o),t[4]=u?_(t[3],G):te(e[4])}return o=e[5],o&&(u=t[5],t[5]=u?cn(u,o,e[6]):te(o),t[6]=u?_(t[5],G):te(e[6])),o=e[7],o&&(t[7]=te(o)),r&B&&(t[8]=null==t[8]?e[8]:xs(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===E?e:Fo(t,e,ar)}function sr(t,e){t=hr(t);for(var n=-1,r=e.length,i={};++nr;)s[++a]=qe(t,r,r+=e);return s}function gr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++ee?0:e)):[]}function mr(t,e,n){var r=t?t.length:0;return r?((n?Jn(t,e,n):null==e)&&(e=1),e=r-(+e||0),qe(t,0,0>e?0:e)):[]}function vr(t,e,n){return t&&t.length?en(t,$n(e,n,3),!0,!0):[]}function _r(t,e,n){return t&&t.length?en(t,$n(e,n,3),!0):[]}function br(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Jn(t,e,n)&&(n=0,r=i),De(t,e,n,r)):[]}function wr(t){return t?t[0]:E}function xr(t,e,n){var r=t?t.length:0;return n&&Jn(t,e,n)&&(e=!1),r?Se(t,e):[]}function Ar(t){var e=t?t.length:0;return e?Se(t,!0):[]}function kr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=0>n?ws(r+n,0):n;else if(n){var i=rn(t,e);return r>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Er(t){return mr(t,1)}function Dr(t){var e=t?t.length:0;return e?t[e-1]:E}function Tr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(0>n?ws(r+n,0):xs(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 y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Cr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=Wn(),i=t.length;++n-1;)fs.call(e,a,1);return e}function Sr(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],s=t.length;for(e=$n(e,n,3);++ie?0:e)):[]}function Mr(t,e,n){var r=t?t.length:0;return r?((n?Jn(t,e,n):null==e)&&(e=1),e=r-(+e||0),qe(t,0>e?0:e)):[]}function Br(t,e,n){return t&&t.length?en(t,$n(e,n,3),!1,!0):[]}function Lr(t,e,n){return t&&t.length?en(t,$n(e,n,3)):[]}function Pr(t,e,n,r){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Jn(t,e,r)?E:e,e=!1);var s=$n();return(null!=n||s!==be)&&(n=s(n,r,3)),e&&Wn()==a?b(t,n):Je(t,n)}function Nr(t){if(!t||!t.length)return[];var e=-1,n=0;t=oe(t,function(t){return Zn(t)?(n=ws(t.length,n),!0):void 0});for(var r=Ya(n);++en?ws(i+n,0):n||0,"string"==typeof t||!So(t)&&Ui(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&Wn(t,e,n)>-1}function ti(t,e,n){var r=So(t)?ue:Re;return e=$n(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ma(e))}function ni(t,e,n){var r=So(t)?oe:Te;return e=$n(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Jn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[He(0,r-1)]:E}var i=-1,a=zi(t),r=a.length,s=r-1;for(e=xs(0>e?0:+e||0,r);++i0&&(n=e.apply(this,arguments)),1>=t&&(e=E),n}}function di(t,e,n){function r(){d&&ss(d),c&&ss(c),g=0,c=d=p=E}function i(e,n){n&&ss(n),c=d=p=E,e&&(g=go(),l=t.apply(f,u),d||c||(u=f=E))}function a(){var t=e-(go()-h);0>=t||t>e?i(p,c):d=hs(a,t)}function s(){i(m,d)}function o(){if(u=arguments,h=go(),f=this,p=m&&(d||!v),y===!1)var n=v&&!d;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=ss(c)),g=h,l=t.apply(f,u)):c||(c=hs(s,r))}return i&&d?d=ss(d):d||e===y||(d=hs(a,e)),n&&(i=!0,l=t.apply(f,u)),!i||d||c||(u=f=E),l}var u,c,l,h,f,d,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Ka(W);if(e=0>e?0:+e||0,n===!0){var v=!0;m=!1}else Bi(n)&&(v=!!n.leading,y="maxWait"in n&&ws(+n.maxWait||0,e),m="trailing"in n?!!n.trailing:m);return o.cancel=r,o}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Ka(W);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 s=t.apply(this,r);return n.cache=a.set(i,s),s};return n.cache=new pi.Cache,n}function gi(t){if("function"!=typeof t)throw new Ka(W);return function(){return!t.apply(this,arguments)}}function yi(t){return fi(2,t)}function mi(t,e){if("function"!=typeof t)throw new Ka(W);return e=ws(e===E?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=ws(n.length-e,0),a=Ya(i);++re}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Zn(t)&&ts.call(t,"callee")&&!cs.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&ns.call(t)==z}function Ti(t){return m(t)&&ns.call(t)==q}function Ci(t){return!!t&&1===t.nodeType&&m(t)&&!Yi(t)}function Si(t){return null==t?!0:Zn(t)&&(So(t)||Ui(t)||Ei(t)||m(t)&&Mi(t.splice))?!t.length:!Yo(t).length}function Fi(t,e,n,r){n="function"==typeof n?sn(n,r,3):E;var i=n?n(t,e):E;return i===E?Le(t,e,n):!!i}function Oi(t){return m(t)&&"string"==typeof t.message&&ns.call(t)==K}function Ii(t){return"number"==typeof t&&_s(t)}function Mi(t){return Bi(t)&&ns.call(t)==X}function Bi(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Li(t,e,n,r){return n="function"==typeof n?sn(n,r,3):E,Ne(t,Gn(e),n)}function Pi(t){return ji(t)&&t!=+t}function Ni(t){return null==t?!1:Mi(t)?is.test(Ja.call(t)):m(t)&&Bt.test(t)}function Ri(t){return null===t}function ji(t){return"number"==typeof t||m(t)&&ns.call(t)==Q}function Yi(t){var e;if(!m(t)||ns.call(t)!=J||Ei(t)||!ts.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var n;return Fe(t,function(t,e){n=e}),n===E||ts.call(t,n)}function $i(t){return Bi(t)&&ns.call(t)==tt}function Ui(t){return"string"==typeof t||m(t)&&ns.call(t)==nt}function Wi(t){return m(t)&&nr(t.length)&&!!Ut[ns.call(t)]}function Gi(t){return t===E}function Vi(t,e){return e>t}function Hi(t,e){return e>=t}function zi(t){var e=t?$s(t):0;return nr(e)?e?te(t):[]:aa(t)}function qi(t){return _e(t,ta(t))}function Ki(t,e,n){var r=Bs(t);return n&&Jn(t,e,n)&&(e=E),e?me(r,e):r}function Xi(t){return Me(t,ta(t))}function Zi(t,e,n){var r=null==t?E:Be(t,fr(e),e+"");return r===E?n:r}function Qi(t,e){if(null==t)return!1;var n=ts.call(t,e);if(!n&&!tr(e)){if(e=fr(e),t=1==e.length?t:Be(t,qe(e,0,-1)),null==t)return!1;e=Dr(e),n=ts.call(t,e)}return n||nr(t.length)&&Qn(e,t.length)&&(So(t)||Ei(t))}function Ji(t,e,n){n&&Jn(t,e,n)&&(e=E);for(var r=-1,i=Yo(t),a=i.length,s={};++r0;++r=xs(e,n)&&tn?0:+n||0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function fa(t){return t=o(t),t&&bt.test(t)?t.replace(vt,d):t}function da(t){return t=o(t),t&&Ct.test(t)?t.replace(Tt,p):t||"(?:)"}function pa(t,e,n){t=o(t),e=+e;var r=t.length;if(r>=e||!_s(e))return t;var i=(e-r)/2,a=ms(i),s=gs(i);return n=Mn("",s,n),n.slice(0,a)+t+n}function ga(t,e,n){return(n?Jn(t,e,n):null==e)?e=0:e&&(e=+e),t=_a(t),ks(t,e||(Mt.test(t)?16:10))}function ya(t,e){var n="";if(t=o(t),e=+e,1>e||!t||!_s(e))return n;do e%2&&(n+=t),e=ms(e/2),t+=t;while(e);return n}function ma(t,e,n){return t=o(t),n=null==n?0:xs(0>n?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function va(t,n,r){var i=e.templateSettings;r&&Jn(t,n,r)&&(n=r=E),t=o(t),n=ye(me({},r||n),i,ge);var a,s,u=ye(me({},n.imports),i.imports,ge),c=Yo(u),l=tn(u,c),h=0,f=n.interpolate||Nt,d="__p += '",p=za((n.escape||Nt).source+"|"+f.source+"|"+(f===At?Ot:Nt).source+"|"+(n.evaluate||Nt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++$t+"]")+"\n";t.replace(p,function(e,n,r,i,o,u){return r||(r=i),d+=t.slice(h,u).replace(Rt,g),n&&(a=!0,d+="' +\n__e("+n+") +\n'"),o&&(s=!0,d+="';\n"+o+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=u+e.length,e}),d+="';\n";var m=n.variable;m||(d="with (obj) {\n"+d+"\n}\n"),d=(s?d.replace(pt,""):d).replace(gt,"$1").replace(yt,"$1;"),d="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var v=Zo(function(){return Wa(c,y+"return "+d).apply(E,l)});if(v.source=d,Oi(v))throw v;return v}function _a(t,e,n){var r=t;return(t=o(t))?(n?Jn(r,e,n):null==e)?t.slice(w(t),x(t)+1):(e+="",t.slice(u(t,e),c(t,e)+1)):t}function ba(t,e,n){var r=t;return t=o(t),t?t.slice((n?Jn(r,e,n):null==e)?w(t):u(t,e+"")):t}function wa(t,e,n){var r=t;return t=o(t),t?(n?Jn(r,e,n):null==e)?t.slice(0,x(t)+1):t.slice(0,c(t,e+"")+1):t}function xa(t,e,n){n&&Jn(t,e,n)&&(e=E);var r=P,i=N;if(null!=e)if(Bi(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?o(e.omission):i}else r=+e||0;if(t=o(t),r>=t.length)return t;var s=r-i.length;if(1>s)return i;var u=t.slice(0,s);if(null==a)return u+i;if($i(a)){if(t.slice(s).search(a)){var c,l,h=t.slice(0,s);for(a.global||(a=za(a.source,(It.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;u=u.slice(0,null==l?s:l)}}else if(t.indexOf(a,s)!=s){var f=u.lastIndexOf(a);f>-1&&(u=u.slice(0,f))}return u+i}function Aa(t){return t=o(t),t&&_t.test(t)?t.replace(mt,A):t}function ka(t,e,n){return n&&Jn(t,e,n)&&(e=E),t=o(t),t.match(e||jt)||[]}function Ea(t,e,n){return n&&Jn(t,e,n)&&(e=E),m(t)?Ca(t):be(t,e)}function Da(t){return function(){return t}}function Ta(t){return t}function Ca(t){return je(we(t,!0))}function Sa(t,e){return Ye(t,we(e,!0))}function Fa(t,e,n){if(null==n){var r=Bi(e),i=r?Yo(e):E,a=i&&i.length?Me(e,i):E;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Me(e,Yo(e)));var s=!0,o=-1,u=Mi(t),c=a.length;n===!1?s=!1:Bi(n)&&"chain"in n&&(s=n.chain);for(;++ot||!_s(t))return[];var r=-1,i=Ya(xs(t,Cs));for(e=sn(e,n,1);++rr?i[r]=e(r):e(r);return i}function Na(t){var e=++es;return o(t)+e}function Ra(t,e){return(+t||0)+(+e||0)}function ja(t,e,n){return n&&Jn(t,e,n)&&(e=E),e=$n(e,n,3),1==e.length?de(So(t)?t:lr(t),e):Qe(t,e)}t=t?re.defaults(ne.Object(),t,re.pick(ne,Yt)):ne;{var Ya=t.Array,$a=t.Date,Ua=t.Error,Wa=t.Function,Ga=t.Math,Va=t.Number,Ha=t.Object,za=t.RegExp,qa=t.String,Ka=t.TypeError,Xa=Ya.prototype,Za=Ha.prototype,Qa=qa.prototype,Ja=Wa.prototype.toString,ts=Za.hasOwnProperty,es=0,ns=Za.toString,rs=ne._,is=za("^"+Ja.call(ts).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),as=t.ArrayBuffer,ss=t.clearTimeout,os=t.parseFloat,us=Ga.pow,cs=Za.propertyIsEnumerable,ls=Vn(t,"Set"),hs=t.setTimeout,fs=Xa.splice,ds=t.Uint8Array,ps=Vn(t,"WeakMap"),gs=Ga.ceil,ys=Vn(Ha,"create"),ms=Ga.floor,vs=Vn(Ya,"isArray"),_s=t.isFinite,bs=Vn(Ha,"keys"),ws=Ga.max,xs=Ga.min,As=Vn($a,"now"),ks=t.parseInt,Es=Ga.random,Ds=Va.NEGATIVE_INFINITY,Ts=Va.POSITIVE_INFINITY,Cs=4294967295,Ss=Cs-1,Fs=Cs>>>1,Os=9007199254740991,Is=ps&&new ps,Ms={};e.support={}}e.templateSettings={escape:wt,evaluate:xt,interpolate:At,variable:"",imports:{_:e}};var Bs=function(){function t(){}return function(e){if(Bi(e)){t.prototype=e;var n=new t;t.prototype=E}return n||{}}}(),Ls=fn(Oe),Ps=fn(Ie,!0),Ns=dn(),Rs=dn(!0),js=Is?function(t,e){return Is.set(t,e),t}:Ta,Ys=Is?function(t){return Is.get(t)}:Ia,$s=We("length"),Us=function(){var t=0,e=0;return function(n,r){var i=go(),a=j-(i-e);if(e=i,a>0){if(++t>=R)return n}else t=0;return js(n,r)}}(),Ws=mi(function(t,e){return m(t)&&Zn(t)?Ae(t,Se(e,!1,!0)):[]}),Gs=xn(),Vs=xn(!0),Hs=mi(function(t){for(var e=t.length,n=e,r=Ya(h),i=Wn(),s=i==a,o=[];n--;){var u=t[n]=Zn(u=t[n])?u:[];r[n]=s&&u.length>=120?gn(n&&u):null}var c=t[0],l=-1,h=c?c.length:0,f=r[0];t:for(;++l2?t[e-2]:E,r=e>1?t[e-1]:E;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):E,r=E),t.length=e,Rr(t,n,r)}),to=mi(function(t){return t=Se(t),this.thru(function(e){return Jt(So(e)?e:[hr(e)],t)})}),eo=mi(function(t,e){return ve(t,Se(e))}),no=ln(function(t,e,n){ts.call(t,n)?++t[n]:t[n]=1}),ro=wn(Ls),io=wn(Ps,!0),ao=En(ee,Ls),so=En(ie,Ps),oo=ln(function(t,e,n){ts.call(t,n)?t[n].push(e):t[n]=[e]}),uo=ln(function(t,e,n){t[n]=e}),co=mi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),s=Zn(t)?Ya(t.length):[];return Ls(t,function(t){var o=i?e:a&&null!=t?t[e]:E;s[++r]=o?o.apply(t,n):Xn(t,e,n)}),s}),lo=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),ho=On(le,Ls),fo=On(he,Ps),po=mi(function(t,e){if(null==t)return[];var n=e[2];return n&&Jn(e[0],e[1],n)&&(e.length=1),Ze(t,Se(e),[])}),go=As||function(){return(new $a).getTime()},yo=mi(function(t,e,n){var r=T;if(n.length){var i=_(n,yo.placeholder);r|=I}return Nn(t,r,e,n,i)}),mo=mi(function(t,e){e=e.length?Se(e):Xi(t);for(var n=-1,r=e.length;++n0||0>e)?new Z(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==E&&(e=+e||0,n=0>e?n.dropRight(-e):n.take(e-t)),n)},Z.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},Z.prototype.toArray=function(){return this.take(Ts)},Oe(Z.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__,s=this.__wrapped__,o=!!this.__actions__.length,u=s instanceof Z,c=e[0],l=u||So(s);l&&r&&"function"==typeof c&&1!=c.length&&(u=l=!1);var h=function(t){return i&&n?a(t,1)[0]:a.apply(E,ce([t],e))},f={func:Wr,args:[h],thisArg:E},d=u&&!o;if(i&&!n)return d?(s=s.clone(),s.__actions__.push(f),t.call(s)):a.call(E,this.value())[0];if(!i&&l){s=d?s:new Z(this);var p=t.apply(s,e);return p.__actions__.push(f),new v(p,n)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Qa:Xa)[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)})}}),Oe(Z.prototype,function(t,n){var r=e[n];if(r){var i=r.name,a=Ms[i]||(Ms[i]=[]);a.push({name:n,func:r})}}),Ms[In(E,C).name]=[{name:"wrapper",func:E}],Z.prototype.clone=et,Z.prototype.reverse=rt,Z.prototype.value=Gt,e.prototype.chain=Gr,e.prototype.commit=Vr,e.prototype.concat=to,e.prototype.plant=Hr,e.prototype.reverse=zr,e.prototype.toString=qr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Kr,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 E,D="3.10.1",T=1,C=2,S=4,F=8,O=16,I=32,M=64,B=128,L=256,P=30,N="...",R=150,j=16,Y=200,$=1,U=2,W="Expected a function",G="__lodash_placeholder__",V="[object Arguments]",H="[object Array]",z="[object Boolean]",q="[object Date]",K="[object Error]",X="[object Function]",Z="[object Map]",Q="[object Number]",J="[object Object]",tt="[object RegExp]",et="[object Set]",nt="[object String]",rt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",st="[object Float64Array]",ot="[object Int8Array]",ut="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",ft="[object Uint16Array]",dt="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,_t=RegExp(mt.source),bt=RegExp(vt.source),wt=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Tt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Ct=RegExp(Tt.source),St=/[\u0300-\u036f\ufe20-\ufe23]/g,Ft=/\\(\\)?/g,Ot=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,It=/\w*$/,Mt=/^0[xX]/,Bt=/^\[object .+?Constructor\]$/,Lt=/^\d+$/,Pt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Nt=/($^)/,Rt=/['\n\r\u2028\u2029\\]/g,jt=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")}(),Yt=["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"],$t=-1,Ut={};Ut[at]=Ut[st]=Ut[ot]=Ut[ut]=Ut[ct]=Ut[lt]=Ut[ht]=Ut[ft]=Ut[dt]=!0,Ut[V]=Ut[H]=Ut[it]=Ut[z]=Ut[q]=Ut[K]=Ut[X]=Ut[Z]=Ut[Q]=Ut[J]=Ut[tt]=Ut[et]=Ut[nt]=Ut[rt]=!1;var Wt={};Wt[V]=Wt[H]=Wt[it]=Wt[z]=Wt[q]=Wt[at]=Wt[st]=Wt[ot]=Wt[ut]=Wt[ct]=Wt[Q]=Wt[J]=Wt[tt]=Wt[nt]=Wt[lt]=Wt[ht]=Wt[ft]=Wt[dt]=!0,Wt[K]=Wt[X]=Wt[Z]=Wt[et]=Wt[rt]=!1;var Gt={"À":"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"},Vt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ht={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},zt={"function":!0,object:!0},qt={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"},Kt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xt=zt[typeof n]&&n&&!n.nodeType&&n,Zt=zt[typeof e]&&e&&!e.nodeType&&e,Qt=Xt&&Zt&&"object"==typeof t&&t&&t.Object&&t,Jt=zt[typeof self]&&self&&self.Object&&self,te=zt[typeof window]&&window&&window.Object&&window,ee=Zt&&Zt.exports===Xt&&Xt,ne=Qt||te!==(this&&this.window)&&te||Jt||this,re=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ne._=re,define(function(){return re})):Xt&&Zt?ee?(Zt.exports=re)._=re:Xt._=re:ne._=re}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(t,e,n){!function(t,r){"object"==typeof n&&"undefined"!=typeof e?e.exports=r():"function"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){"use strict";function n(){return Pn.apply(null,arguments)}function r(t){Pn=t}function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var n,r=[];for(n=0;n0)for(n in Rn)r=Rn[n],i=e[r],"undefined"!=typeof i&&(t[r]=i);return t}function g(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():0/0),jn===!1&&(jn=!0,n.updateOffset(this),jn=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=m(e)),n}function _(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),s=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&v(t[r])!==v(e[r]))&&s++;return s+a}function b(){}function w(t){return t?t.toLowerCase().replace("_","-"):t}function x(t){for(var e,n,r,i,a=0;a0;){if(r=A(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&_(i,n,!0)>=e-1)break;e--}a++}return null}function A(n){var r=null;if(!Yn[n]&&"undefined"!=typeof e&&e&&e.exports)try{r=Nn._abbr,t("./locale/"+n),k(r)}catch(i){}return Yn[n]}function k(t,e){var n;return t&&(n="undefined"==typeof e?D(t):E(t,e),n&&(Nn=n)),Nn._abbr}function E(t,e){return null!==e?(e.abbr=t,Yn[t]=Yn[t]||new b,Yn[t].set(e),k(t),Yn[t]):(delete Yn[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Nn;if(!i(t)){if(e=A(t))return e;t=[t]}return x(t)}function T(t,e){var n=t.toLowerCase();$n[n]=$n[n+"s"]=$n[e]=t}function C(t){return"string"==typeof t?$n[t]||$n[t.toLowerCase()]:void 0}function S(t){var e,n,r={};for(n in t)o(t,n)&&(e=C(n),e&&(r[e]=t[n]));return r}function F(t,e){return function(r){return null!=r?(I(this,t,r),n.updateOffset(this,e),this):O(this,t)}}function O(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function I(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function M(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=C(t),"function"==typeof this[t])return this[t](e);return this}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}function L(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Vn[t]=i),e&&(Vn[e[0]]=function(){return B(i.apply(this,arguments),e[1],e[2])}),n&&(Vn[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function P(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function N(t){var e,n,r=t.match(Un);for(e=0,n=r.length;n>e;e++)r[e]=Vn[r[e]]?Vn[r[e]]:P(r[e]);return function(i){var a="";for(e=0;n>e;e++)a+=r[e]instanceof Function?r[e].call(i,t):r[e];return a}}function R(t,e){return t.isValid()?(e=j(e,t.localeData()),Gn[e]=Gn[e]||N(e),Gn[e](t)):t.localeData().invalidDate()}function j(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(Wn.lastIndex=0;r>=0&&Wn.test(t);)t=t.replace(Wn,n),Wn.lastIndex=0,r-=1;return t}function Y(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function $(t,e,n){sr[t]=Y(e)?e:function(t){return t&&n?n:e}}function U(t,e){return o(sr,t)?sr[t](e._strict,e._locale):new RegExp(W(t))}function W(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=v(t)}),n=0;nr;r++){if(i=c([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 Z(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),z(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function Q(t){return null!=t?(Z(this,t),n.updateOffset(this,!0),this):O(this,"Month")}function J(){return z(this.year(),this.month())}function tt(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[cr]<0||n[cr]>11?cr:n[lr]<1||n[lr]>z(n[ur],n[cr])?lr:n[hr]<0||n[hr]>24||24===n[hr]&&(0!==n[fr]||0!==n[dr]||0!==n[pr])?hr:n[fr]<0||n[fr]>59?fr:n[dr]<0||n[dr]>59?dr:n[pr]<0||n[pr]>999?pr:-1,h(t)._overflowDayOfYear&&(ur>e||e>lr)&&(e=lr),h(t).overflow=e),t}function et(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function nt(t,e){var n=!0;return u(function(){return n&&(et(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function rt(t,e){mr[t]||(et(e),mr[t]=!0)}function it(t){var e,n,r=t._i,i=vr.exec(r);if(i){for(h(t).iso=!0,e=0,n=_r.length;n>e;e++)if(_r[e][1].exec(r)){t._f=_r[e][0];break}for(e=0,n=br.length;n>e;e++)if(br[e][1].exec(r)){t._f+=(i[6]||" ")+br[e][0];break}r.match(rr)&&(t._f+="Z"),At(t)}else t._isValid=!1}function at(t){var e=wr.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(it(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function st(t,e,n,r,i,a,s){var o=new Date(t,e,n,r,i,a,s);return 1970>t&&o.setFullYear(t),o}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ut(t){return ct(t)?366:365}function ct(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return ct(this.year())}function ht(t,e,n){var r,i=n-e,a=n-t.day();return a>i&&(a-=7),i-7>a&&(a+=7),r=Ot(t).add(a,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function ft(t){return ht(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function pt(){return this._week.doy}function gt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function yt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function mt(t,e,n,r,i){var a,s=6+i-r,o=ot(t,0,1+s),u=o.getUTCDay();return i>u&&(u+=7),n=null!=n?1*n:i,a=1+s+7*(e-1)-u+n,{year:a>0?t:t-1,dayOfYear:a>0?a:ut(t-1)+a}}function vt(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 _t(t,e,n){return null!=t?t:null!=e?e:n}function bt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wt(t){var e,n,r,i,a=[];if(!t._d){for(r=bt(t),t._w&&null==t._a[lr]&&null==t._a[cr]&&xt(t),t._dayOfYear&&(i=_t(t._a[ur],r[ur]),t._dayOfYear>ut(i)&&(h(t)._overflowDayOfYear=!0),n=ot(i,0,t._dayOfYear),t._a[cr]=n.getUTCMonth(),t._a[lr]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[hr]&&0===t._a[fr]&&0===t._a[dr]&&0===t._a[pr]&&(t._nextDay=!0,t._a[hr]=0),t._d=(t._useUTC?ot:st).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[hr]=24)}}function xt(t){var e,n,r,i,a,s,o;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,s=4,n=_t(e.GG,t._a[ur],ht(Ot(),1,4).year),r=_t(e.W,1),i=_t(e.E,1)):(a=t._locale._week.dow,s=t._locale._week.doy,n=_t(e.gg,t._a[ur],ht(Ot(),a,s).year),r=_t(e.w,1),null!=e.d?(i=e.d,a>i&&++r):i=null!=e.e?e.e+a:a),o=mt(n,r,i,s,a),t._a[ur]=o.year,t._dayOfYear=o.dayOfYear}function At(t){if(t._f===n.ISO_8601)return void it(t);t._a=[],h(t).empty=!0;var e,r,i,a,s,o=""+t._i,u=o.length,c=0;for(i=j(t._f,t._locale).match(Un)||[],e=0;e0&&h(t).unusedInput.push(s),o=o.slice(o.indexOf(r)+r.length),c+=r.length),Vn[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),H(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=u-c,o.length>0&&h(t).unusedInput.push(o),h(t).bigHour===!0&&t._a[hr]<=12&&t._a[hr]>0&&(h(t).bigHour=void 0),t._a[hr]=kt(t._locale,t._a[hr],t._meridiem),wt(t),tt(t)}function kt(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function Et(t){var e,n,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;ia)&&(r=a,n=e));u(t,n||e)}function Dt(t){if(!t._d){var e=S(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],wt(t)}}function Tt(t){var e=new g(tt(Ct(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Ct(t){var e=t._i,n=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===n&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new g(tt(e)):(i(n)?Et(t):n?At(t):a(e)?t._d=e:St(t),t))}function St(t){var e=t._i;void 0===e?t._d=new Date:a(e)?t._d=new Date(+e):"string"==typeof e?at(t):i(e)?(t._a=s(e.slice(0),function(t){return parseInt(t,10)}),wt(t)):"object"==typeof e?Dt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Ft(t,e,n,r,i){var a={};return"boolean"==typeof n&&(r=n,n=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=t,a._f=e,a._strict=r,Tt(a)}function Ot(t,e,n,r){return Ft(t,e,n,r,!1)}function It(t,e){var n,r;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Ot();for(n=e[0],r=1;rt&&(t=-t,n="-"),n+B(~~(t/60),2)+e+B(~~t%60,2)})}function Rt(t){var e=(t||"").match(rr)||[],n=e[e.length-1]||[],r=(n+"").match(Dr)||["-",0,0],i=+(60*r[1])+v(r[2]);return"+"===r[0]?i:-i}function jt(t,e){var r,i;return e._isUTC?(r=e.clone(),i=(y(t)||a(t)?+t:+Ot(t))-+r,r._d.setTime(+r._d+i),n.updateOffset(r,!1),r):Ot(t).local()}function Yt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function $t(t,e){var r,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Rt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(r=Yt(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"), +i!==t&&(!e||this._changeInProgress?re(this,Qt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Yt(this)}function Ut(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Wt(t){return this.utcOffset(0,t)}function Gt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Yt(this),"m")),this}function Vt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Rt(this._i)),this}function Ht(t){return t=t?Ot(t).utcOffset():0,(this.utcOffset()-t)%60===0}function zt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function qt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=Ct(t),t._a){var e=t._isUTC?c(t._a):Ot(t._a);this._isDSTShifted=this.isValid()&&_(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Kt(){return!this._isUTC}function Xt(){return this._isUTC}function Zt(){return this._isUTC&&0===this._offset}function Qt(t,e){var n,r,i,a=t,s=null;return Pt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(s=Tr.exec(t))?(n="-"===s[1]?-1:1,a={y:0,d:v(s[lr])*n,h:v(s[hr])*n,m:v(s[fr])*n,s:v(s[dr])*n,ms:v(s[pr])*n}):(s=Cr.exec(t))?(n="-"===s[1]?-1:1,a={y:Jt(s[2],n),M:Jt(s[3],n),d:Jt(s[4],n),h:Jt(s[5],n),m:Jt(s[6],n),s:Jt(s[7],n),w:Jt(s[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=ee(Ot(a.from),Ot(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Lt(a),Pt(t)&&o(t,"_locale")&&(r._locale=t._locale),r}function Jt(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function te(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 ee(t,e){var n;return e=jt(e,t),t.isBefore(e)?n=te(t,e):(n=te(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function ne(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(rt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=Qt(n,r),re(this,i,t),this}}function re(t,e,r,i){var a=e._milliseconds,s=e._days,o=e._months;i=null==i?!0:i,a&&t._d.setTime(+t._d+a*r),s&&I(t,"Date",O(t,"Date")+s*r),o&&Z(t,O(t,"Month")+o*r),i&&n.updateOffset(t,s||o)}function ie(t,e){var n=t||Ot(),r=jt(n,this).startOf("day"),i=this.diff(r,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[a]||this.localeData().calendar(a,this,Ot(n)))}function ae(){return new g(this)}function se(t,e){var n;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ot(t),+this>+t):(n=y(t)?+t:+Ot(t),n<+this.clone().startOf(e))}function oe(t,e){var n;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=y(t)?t:Ot(t),+t>+this):(n=y(t)?+t:+Ot(t),+this.clone().endOf(e)e-a?(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)}function fe(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(n=Ot([2e3,1]).day(e),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function We(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Re(t,this.localeData()),this.add(t-e,"d")):e}function Ge(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ve(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function He(t,e){L(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ze(t,e){return e._meridiemParse}function qe(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ke(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Xe(t,e){e[pr]=v(1e3*("0."+t))}function Ze(){return this._isUTC?"UTC":""}function Qe(){return this._isUTC?"Coordinated Universal Time":""}function Je(t){return Ot(1e3*t)}function tn(){return Ot.apply(null,arguments).parseZone()}function en(t,e,n){var r=this._calendar[t];return"function"==typeof r?r.call(e,n):r}function nn(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 rn(){return this._invalidDate}function an(t){return this._ordinal.replace("%d",t)}function sn(t){return t}function on(t,e,n,r){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,r):i.replace(/%d/i,t)}function un(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function cn(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ln(t,e,n,r){var i=D(),a=c().set(r,e);return i[n](a,t)}function hn(t,e,n,r,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ln(t,e,n,i);var a,s=[];for(a=0;r>a;a++)s[a]=ln(t,a,n,i);return s}function fn(t,e){return hn(t,e,"months",12,"month")}function dn(t,e){return hn(t,e,"monthsShort",12,"month")}function pn(t,e){return hn(t,e,"weekdays",7,"day")}function gn(t,e){return hn(t,e,"weekdaysShort",7,"day")}function yn(t,e){return hn(t,e,"weekdaysMin",7,"day")}function mn(){var t=this._data;return this._milliseconds=Zr(this._milliseconds),this._days=Zr(this._days),this._months=Zr(this._months),t.milliseconds=Zr(t.milliseconds),t.seconds=Zr(t.seconds),t.minutes=Zr(t.minutes),t.hours=Zr(t.hours),t.months=Zr(t.months),t.years=Zr(t.years),this}function vn(t,e,n,r){var i=Qt(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function _n(t,e){return vn(this,t,e,1)}function bn(t,e){return vn(this,t,e,-1)}function wn(t){return 0>t?Math.floor(t):Math.ceil(t)}function xn(){var t,e,n,r,i,a=this._milliseconds,s=this._days,o=this._months,u=this._data;return a>=0&&s>=0&&o>=0||0>=a&&0>=s&&0>=o||(a+=864e5*wn(kn(o)+s),s=0,o=0),u.milliseconds=a%1e3,t=m(a/1e3),u.seconds=t%60,e=m(t/60),u.minutes=e%60,n=m(e/60),u.hours=n%24,s+=m(n/24),i=m(An(s)),o+=i,s-=wn(kn(i)),r=m(o/12),o%=12,u.days=s,u.months=o,u.years=r,this}function An(t){return 4800*t/146097}function kn(t){return 146097*t/4800}function En(t){var e,n,r=this._milliseconds;if(t=C(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+An(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)}}function Dn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function Tn(t){return function(){return this.as(t)}}function Cn(t){return t=C(t),this[t+"s"]()}function Sn(t){return function(){return this._data[t]}}function Fn(){return m(this.days()/7)}function On(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function In(t,e,n){var r=Qt(t).abs(),i=di(r.as("s")),a=di(r.as("m")),s=di(r.as("h")),o=di(r.as("d")),u=di(r.as("M")),c=di(r.as("y")),l=i0,l[4]=n,On.apply(null,l)}function Mn(t,e){return void 0===pi[t]?!1:void 0===e?pi[t]:(pi[t]=e,!0)}function Bn(t){var e=this.localeData(),n=In(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Ln(){var t,e,n,r=gi(this._milliseconds)/1e3,i=gi(this._days),a=gi(this._months);t=m(r/60),e=m(t/60),r%=60,t%=60,n=m(a/12),a%=12;var s=n,o=a,u=i,c=e,l=t,h=r,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(s?s+"Y":"")+(o?o+"M":"")+(u?u+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var Pn,Nn,Rn=n.momentProperties=[],jn=!1,Yn={},$n={},Un=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Wn=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Gn={},Vn={},Hn=/\d/,zn=/\d\d/,qn=/\d{3}/,Kn=/\d{4}/,Xn=/[+-]?\d{6}/,Zn=/\d\d?/,Qn=/\d{1,3}/,Jn=/\d{1,4}/,tr=/[+-]?\d{1,6}/,er=/\d+/,nr=/[+-]?\d+/,rr=/Z|[+-]\d\d:?\d\d/gi,ir=/[+-]?\d+(\.\d{1,3})?/,ar=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,sr={},or={},ur=0,cr=1,lr=2,hr=3,fr=4,dr=5,pr=6;L("M",["MM",2],"Mo",function(){return this.month()+1}),L("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),L("MMMM",0,0,function(t){return this.localeData().months(this,t)}),T("month","M"),$("M",Zn),$("MM",Zn,zn),$("MMM",ar),$("MMMM",ar),G(["M","MM"],function(t,e){e[cr]=v(t)-1}),G(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[cr]=i:h(n).invalidMonth=t});var gr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),yr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mr={};n.suppressDeprecationWarnings=!1;var vr=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_r=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],br=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],wr=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=nt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),L(0,["YY",2],0,function(){return this.year()%100}),L(0,["YYYY",4],0,"year"),L(0,["YYYYY",5],0,"year"),L(0,["YYYYYY",6,!0],0,"year"),T("year","y"),$("Y",nr),$("YY",Zn,zn),$("YYYY",Jn,Kn),$("YYYYY",tr,Xn),$("YYYYYY",tr,Xn),G(["YYYYY","YYYYYY"],ur),G("YYYY",function(t,e){e[ur]=2===t.length?n.parseTwoDigitYear(t):v(t)}),G("YY",function(t,e){e[ur]=n.parseTwoDigitYear(t)}),n.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var xr=F("FullYear",!1);L("w",["ww",2],"wo","week"),L("W",["WW",2],"Wo","isoWeek"),T("week","w"),T("isoWeek","W"),$("w",Zn),$("ww",Zn,zn),$("W",Zn),$("WW",Zn,zn),V(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=v(t)});var Ar={dow:0,doy:6};L("DDD",["DDDD",3],"DDDo","dayOfYear"),T("dayOfYear","DDD"),$("DDD",Qn),$("DDDD",qn),G(["DDD","DDDD"],function(t,e,n){n._dayOfYear=v(t)}),n.ISO_8601=function(){};var kr=nt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return this>t?this:t}),Er=nt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return t>this?this:t});Nt("Z",":"),Nt("ZZ",""),$("Z",rr),$("ZZ",rr),G(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Rt(t)});var Dr=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var Tr=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Cr=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Qt.fn=Lt.prototype;var Sr=ne(1,"add"),Fr=ne(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Or=nt("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)});L(0,["gg",2],0,function(){return this.weekYear()%100}),L(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Oe("gggg","weekYear"),Oe("ggggg","weekYear"),Oe("GGGG","isoWeekYear"),Oe("GGGGG","isoWeekYear"),T("weekYear","gg"),T("isoWeekYear","GG"),$("G",nr),$("g",nr),$("GG",Zn,zn),$("gg",Zn,zn),$("GGGG",Jn,Kn),$("gggg",Jn,Kn),$("GGGGG",tr,Xn),$("ggggg",tr,Xn),V(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=v(t)}),V(["gg","GG"],function(t,e,r,i){e[i]=n.parseTwoDigitYear(t)}),L("Q",0,0,"quarter"),T("quarter","Q"),$("Q",Hn),G("Q",function(t,e){e[cr]=3*(v(t)-1)}),L("D",["DD",2],"Do","date"),T("date","D"),$("D",Zn),$("DD",Zn,zn),$("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),G(["D","DD"],lr),G("Do",function(t,e){e[lr]=v(t.match(Zn)[0],10)});var Ir=F("Date",!0);L("d",0,"do","day"),L("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),L("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),L("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),L("e",0,0,"weekday"),L("E",0,0,"isoWeekday"),T("day","d"),T("weekday","e"),T("isoWeekday","E"),$("d",Zn),$("e",Zn),$("E",Zn),$("dd",ar),$("ddd",ar),$("dddd",ar),V(["dd","ddd","dddd"],function(t,e,n){var r=n._locale.weekdaysParse(t);null!=r?e.d=r:h(n).invalidWeekday=t}),V(["d","e","E"],function(t,e,n,r){e[r]=v(t)});var Mr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Br="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Lr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");L("H",["HH",2],0,"hour"),L("h",["hh",2],0,function(){return this.hours()%12||12}),He("a",!0),He("A",!1),T("hour","h"),$("a",ze),$("A",ze),$("H",Zn),$("h",Zn),$("HH",Zn,zn),$("hh",Zn,zn),G(["H","HH"],hr),G(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),G(["h","hh"],function(t,e,n){e[hr]=v(t),h(n).bigHour=!0});var Pr=/[ap]\.?m?\.?/i,Nr=F("Hours",!0);L("m",["mm",2],0,"minute"),T("minute","m"),$("m",Zn),$("mm",Zn,zn),G(["m","mm"],fr);var Rr=F("Minutes",!1);L("s",["ss",2],0,"second"),T("second","s"),$("s",Zn),$("ss",Zn,zn),G(["s","ss"],dr);var jr=F("Seconds",!1);L("S",0,0,function(){return~~(this.millisecond()/100)}),L(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),L(0,["SSS",3],0,"millisecond"),L(0,["SSSS",4],0,function(){return 10*this.millisecond()}),L(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),L(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),L(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),L(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),L(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),T("millisecond","ms"),$("S",Qn,Hn),$("SS",Qn,zn),$("SSS",Qn,qn);var Yr;for(Yr="SSSS";Yr.length<=9;Yr+="S")$(Yr,er);for(Yr="S";Yr.length<=9;Yr+="S")G(Yr,Xe);var $r=F("Milliseconds",!1);L("z",0,0,"zoneAbbr"),L("zz",0,0,"zoneName");var Ur=g.prototype;Ur.add=Sr,Ur.calendar=ie,Ur.clone=ae,Ur.diff=le,Ur.endOf=xe,Ur.format=pe,Ur.from=ge,Ur.fromNow=ye,Ur.to=me,Ur.toNow=ve,Ur.get=M,Ur.invalidAt=Fe,Ur.isAfter=se,Ur.isBefore=oe,Ur.isBetween=ue,Ur.isSame=ce,Ur.isValid=Ce,Ur.lang=Or,Ur.locale=_e,Ur.localeData=be,Ur.max=Er,Ur.min=kr,Ur.parsingFlags=Se,Ur.set=M,Ur.startOf=we,Ur.subtract=Fr,Ur.toArray=De,Ur.toObject=Te,Ur.toDate=Ee,Ur.toISOString=de,Ur.toJSON=de,Ur.toString=fe,Ur.unix=ke,Ur.valueOf=Ae,Ur.year=xr,Ur.isLeapYear=lt,Ur.weekYear=Me,Ur.isoWeekYear=Be,Ur.quarter=Ur.quarters=Ne,Ur.month=Q,Ur.daysInMonth=J,Ur.week=Ur.weeks=gt,Ur.isoWeek=Ur.isoWeeks=yt,Ur.weeksInYear=Pe,Ur.isoWeeksInYear=Le,Ur.date=Ir,Ur.day=Ur.days=We,Ur.weekday=Ge,Ur.isoWeekday=Ve,Ur.dayOfYear=vt,Ur.hour=Ur.hours=Nr,Ur.minute=Ur.minutes=Rr,Ur.second=Ur.seconds=jr,Ur.millisecond=Ur.milliseconds=$r,Ur.utcOffset=$t,Ur.utc=Wt,Ur.local=Gt,Ur.parseZone=Vt,Ur.hasAlignedHourOffset=Ht,Ur.isDST=zt,Ur.isDSTShifted=qt,Ur.isLocal=Kt,Ur.isUtcOffset=Xt,Ur.isUtc=Zt,Ur.isUTC=Zt,Ur.zoneAbbr=Ze,Ur.zoneName=Qe,Ur.dates=nt("dates accessor is deprecated. Use date instead.",Ir),Ur.months=nt("months accessor is deprecated. Use month instead",Q),Ur.years=nt("years accessor is deprecated. Use year instead",xr),Ur.zone=nt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ut);var Wr=Ur,Gr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Vr={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"},Hr="Invalid date",zr="%d",qr=/\d{1,2}/,Kr={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"},Xr=b.prototype;Xr._calendar=Gr,Xr.calendar=en,Xr._longDateFormat=Vr,Xr.longDateFormat=nn,Xr._invalidDate=Hr,Xr.invalidDate=rn,Xr._ordinal=zr,Xr.ordinal=an,Xr._ordinalParse=qr,Xr.preparse=sn,Xr.postformat=sn,Xr._relativeTime=Kr,Xr.relativeTime=on,Xr.pastFuture=un,Xr.set=cn,Xr.months=q,Xr._months=gr,Xr.monthsShort=K,Xr._monthsShort=yr,Xr.monthsParse=X,Xr.week=ft,Xr._week=Ar,Xr.firstDayOfYear=pt,Xr.firstDayOfWeek=dt,Xr.weekdays=je,Xr._weekdays=Mr,Xr.weekdaysMin=$e,Xr._weekdaysMin=Lr,Xr.weekdaysShort=Ye,Xr._weekdaysShort=Br,Xr.weekdaysParse=Ue,Xr.isPM=qe,Xr._meridiemParse=Pr,Xr.meridiem=Ke,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=nt("moment.lang is deprecated. Use moment.locale instead.",k),n.langData=nt("moment.langData is deprecated. Use moment.localeData instead.",D);var Zr=Math.abs,Qr=Tn("ms"),Jr=Tn("s"),ti=Tn("m"),ei=Tn("h"),ni=Tn("d"),ri=Tn("w"),ii=Tn("M"),ai=Tn("y"),si=Sn("milliseconds"),oi=Sn("seconds"),ui=Sn("minutes"),ci=Sn("hours"),li=Sn("days"),hi=Sn("months"),fi=Sn("years"),di=Math.round,pi={s:45,m:45,h:22,d:26,M:11},gi=Math.abs,yi=Lt.prototype;yi.abs=mn,yi.add=_n,yi.subtract=bn,yi.as=En,yi.asMilliseconds=Qr,yi.asSeconds=Jr,yi.asMinutes=ti,yi.asHours=ei,yi.asDays=ni,yi.asWeeks=ri,yi.asMonths=ii,yi.asYears=ai,yi.valueOf=Dn,yi._bubble=xn,yi.get=Cn,yi.milliseconds=si,yi.seconds=oi,yi.minutes=ui,yi.hours=ci,yi.days=li,yi.weeks=Fn,yi.months=hi,yi.years=fi,yi.humanize=Bn,yi.toISOString=Ln,yi.toString=Ln,yi.toJSON=Ln,yi.locale=_e,yi.localeData=be,yi.toIsoString=nt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ln),yi.lang=Or,L("X",0,0,"unix"),L("x",0,0,"valueOf"),$("x",nr),$("X",ir),G("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,n){n._d=new Date(v(t))}),n.version="2.10.6",r(Ot),n.fn=Wr,n.min=Mt,n.max=Bt,n.utc=c,n.unix=Je,n.months=fn,n.isDate=a,n.locale=k,n.invalid=d,n.duration=Qt,n.isMoment=y,n.weekdays=pn,n.parseZone=tn,n.localeData=D,n.isDuration=Pt,n.monthsShort=dn,n.weekdaysMin=yn,n.defineLocale=E,n.weekdaysShort=gn,n.normalizeUnits=C,n.relativeTimeThreshold=Mn;var mi=n;return mi})},{}],84:[function(t,e){e.exports={name:"mermaid",version:"0.5.4",description:"Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",watch:"source ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/.bin/tape test/cli_test-*.js",jasmine:"node node_modules/jasmine-es6/bin/jasmine.js",test:"npm run dist && npm run jasmine && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"~3.5.6","dagre-d3":"~0.4.8",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0","babel-eslint":"^4.1.3",babelify:"^6.3.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","eslint-watch":"^2.1.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"~0.4.15",jsdom:"^6.5.1","jshint-stylish":"^2.0.1","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^1.9.18",proxyquire:"^1.3.1","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3",uglifyjs:"^2.4.10","vinyl-source-stream":"^1.1.0",watchify:"^3.2.2"}}},{}],85:[function(t,e){"use strict";var n;if(t)try{n=t("d3")}catch(r){}n||(n=window.d3),e.exports=n,function(){var t=!1;if(t="tspans",n.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;n.selection.prototype.textwrap=n.selection.enter.prototype.textwrap=function(e,r){var i,r=parseInt(r)||0,a=this,s=function(t){var e=t[0][0],r=e.tagName.toString();if("rect"!==r)return!1;var i={};return i.x=n.select(e).attr("x")||0,i.y=n.select(e).attr("y")||0,i.width=n.select(e).attr("width")||0,i.height=n.select(e).attr("height")||0,i.attr=t.attr,i},o=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=s(t);return e}return!1},u=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},c=o(e);if(r&&(c=u(c,r)),0!=a.length&&n&&e&&c){e=c;var l,h=function(t){var r=n.select(t[0].parentNode),a=r.select("text"),s=a.style("line-height"),o=a.text();a.remove();var u=r.append("foreignObject");u.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=u.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(o),s&&c.style("line-height",s),i=r.select("foreignObject")},f=function(t){var a,s=t[0],o=s.parentNode,u=n.select(s),c=s.getBBox().height,l=s.getBBox().width,h=c,f=u.style("line-height");if(a=f&&parseInt(f)?parseInt(f.replace("px","")):h,l>e.width){var d=u.text();if(u.text(""),d){var p,g;if(-1!==d.indexOf(" ")){var p=" ";g=d.split(" ")}else{p="";var y=d.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var _,b,g=[],w=0;m>w;w++)b=w*v,_=d.substr(b,v),g.push(_)}for(var x=[],A=0,k={},w=0;we.width&&T&&""!==T&&(A+=C,k={string:T,width:C,offset:A},x.push(k),u.text(""),u.text(D),w==g.length-1&&(E=D,u.text(E),S=s.getComputedTextLength())),w==g.length-1){u.text("");var F=E;F&&""!==F&&(S-A>0&&(S-=A),k={string:F,width:S,offset:A},x.push(k))}}var O;u.text("");for(var w=0;w0){x[w-1]}w*a0?a:void 0}),O.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}}u.attr("y",function(){var t=e.y;return a&&(t+=a),r&&(t+=r),t}),u.attr("x",function(){var t=e.x;return r&&(t+=r),t}),i=n.select(o).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=f)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:f);for(var d=0;dl&&D.push("'"+this.terminals_[A]+"'");S=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"), +this.parseError(S,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=d.yyleng,s=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(f)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},i=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],89:[function(t,e){"use strict";function n(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}var r,i=t("../../logger"),a=n(i),s=new a.Log;if(t)try{r=t("dagre-d3")}catch(o){s.debug("Could not load dagre-d3")}r||(r=window.dagreD3),e.exports=r},{"../../logger":101,"dagre-d3":4}],90:[function(t,e,n){"use strict";function r(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}var i=t("../../logger"),a=r(i),s=t("./graphDb"),o=t("./parser/flow"),u=t("./parser/dot"),c=t("../../d3"),l=t("./dagre-d3"),h=new a.Log,f={};e.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e0&&(s=a.classes.join(" "));var o="";o=r(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var u="";f.htmlLabels?(u="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return''})):(i=i.replace(/
/g,"\n"),u="text");var c=0,l="";switch(a.type){case"round":c=5,l="rect";break;case"square":l="rect";break;case"diamond":l="question";break;case"odd":l="rect_left_inv_arrow";break;case"odd_right":l="rect_left_inv_arrow";break;case"circle":l="circle";break;case"group":l="rect",i="";break;default:l="rect"}e.setNode(a.id,{labelType:u,shape:l,label:i,rx:c,ry:c,"class":s,style:o,id:a.id})})},n.addEdges=function(t,e){var n,r,i=0;"undefined"!=typeof t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(t){i++,n="arrow_open"===t.type?"none":"normal";var a="";if("undefined"!=typeof t.style)t.style.forEach(function(t){a=a+t+";"});else switch(t.stroke){case"normal":a="fill:none","undefined"!=typeof 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"}if("undefined"==typeof t.text)"undefined"==typeof t.style?e.setEdge(t.start,t.end,{style:a,arrowhead:n},i):e.setEdge(t.start,t.end,{style:a,arrowheadStyle:"fill: #333",arrowhead:n},i);else{var s=t.text.replace(/
/g,"\n");"undefined"==typeof t.style?f.htmlLabels?e.setEdge(t.start,t.end,{labelType:"html",style:a,labelpos:"c",label:''+t.text+"",arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:s,arrowheadStyle:"fill: #333",arrowhead:n},i):e.setEdge(t.start,t.end,{labelType:"text",style:a,arrowheadStyle:"fill: #333",label:s,arrowhead:n},i)}})},n.getClasses=function(t,e){var n;s.clear(),n=e?u.parser:o.parser,n.yy=s,n.parse(t);var r=s.getClasses();return"undefined"==typeof r["default"]&&(r["default"]={id:"default"},r["default"].styles=[],r["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],r["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],r["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),r},n.draw=function(t,e,r){h.debug("Drawing flowchart");var i;s.clear(),i=r?u.parser:o.parser,i.yy=s;try{i.parse(t)}catch(a){h.debug("Parsing failed")}var d;d=s.getDirection(),"undefined"==typeof d&&(d="TD");var p,g=new l.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=s.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],s.addVertex(p.id,p.title,"group",void 0);var v=s.getVertices(),_=s.getEdges();m=0;var b;for(m=y.length-1;m>=0;m--)for(p=y[m],c.selectAll("cluster").append("text"),b=0;b0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(n){var r=d3.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,r),setClickFun(t,e),setLink(t,n)}):(setTooltip(t,r),setClickFun(t,e),setLink(t,n))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var n=d3.select(t).select("svg"),r=n.selectAll("g.node");r.on("mouseover",function(){var t=d3.select(this),n=t.attr("title");if(null!==n){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);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function n(t){var e={"boolean":{},number:{},string:{}},n=[];return t.filter(function(t){var r=typeof t;return" "===t?!1:r in e?e[r].hasOwnProperty(t)?!1:e[r][t]=!0:n.indexOf(t)>=0?!1:n.push(t)})}var r=[];r=n(r.concat.apply(r,t));var i={id:"subGraph"+subCount,nodes:r,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e2e3)){if(posCrossRef[secCount]=n,subGraphs[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i=0){var o=t(e,s);if(o.result)return{result:!0,count:a+o.count};a+=o.count}i+=1}return{result:!1,count:a}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":85,"../../logger":101}],92:[function(t,e,n){(function(r){"use strict";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],s=[1,14],o=[1,15],u=[1,16],c=[1,17],l=[1,18],h=[1,19],f=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],_=[1,35],b=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],T=[1,49],C=[1,52],S=[2,65],F=[1,65],O=[1,66],I=[1,67],M=[1,68],B=[1,69],L=[1,70],P=[1,71],N=[1,72],R=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],Y=[10,28,37],$={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){var s=a.length-1;switch(i){case 1:this.$=a[s-1];break;case 2:this.$=a[s-4];break;case 3:this.$=a[s-5];break;case 4:this.$=a[s-3];break;case 8:case 10:case 11:this.$=a[s];break;case 9:this.$=a[s-1]+""+a[s];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[s];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:r.addLink(a[s-1],a[s].id,a[s].op),this.$="oy";break;case 42:r.addLink(a[s-1],a[s].id,a[s].op),this.$={op:a[s-2],id:a[s-1]};break;case 44:this.$={op:a[s-1],id:a[s]};break;case 48:r.addVertex(a[s-1]),this.$=a[s-1];break;case 49:r.addVertex(a[s]),this.$=a[s];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:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p},{6:23,12:n,13:r},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p}),e(w,[2,8]),e(w,[2,10]),e(w,[2,11]),e(w,[2,12]),e(w,[2,13]),e(w,[2,14]),e(w,[2,15]),e(w,[2,16]),e(w,[2,17]),e(w,[2,18]),e(w,[2,19]),e(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,41]},{10:[2,21],28:[1,42]},e(x,[2,23]),e(x,[2,24]),e(x,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(x,[2,27],{41:46,43:47,57:D,58:T}),e(x,[2,47],{43:47,34:50,41:51,37:C,57:D,58:T}),{34:53,37:C},{34:54,37:C},{34:55,37:C},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},e(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{7:62,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p},e(A,[2,48]),e(A,S,{14:10,15:11,7:63,46:64,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,48:F,49:O,50:I,51:M,52:B,53:L,54:P,55:N,56:R}),e(x,[2,41],{34:74,37:C}),{7:77,8:y,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,33:76,42:75,47:b},e(j,[2,66]),e(j,[2,67]),e(x,[2,46]),e(x,[2,40],{34:78,37:C}),{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,38:79,39:[1,80]},e(x,[2,28]),e(x,[2,29]),e(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{5:[2,2]},{10:[2,22]},e(x,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(x,[2,38]),e(Y,[2,44],{43:47,41:87,57:D,58:T}),e(Y,[2,45],{43:47,41:88,57:D,58:T}),e(A,k,{44:44,45:E}),e(x,[2,39]),{39:[1,89]},e(x,[2,34],{34:90,37:C}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,S,{46:95,48:F,49:O,50:I,51:M,52:B,53:L,54:P,55:N,56:R}),e(Y,[2,42]),e(Y,[2,43]),e(x,[2,33],{34:96,37:C}),e(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:s,19:o,20:u,21:c,22:l,23:h,24:f,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)throw new Error(t);this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,w,x,A,k,E,D,T=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=T()),w=a[b]&&a[b][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=d.yyleng,s=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(f)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},U=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";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 t}();return $.lexer=U,t.prototype=$,$.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],93:[function(t,e,n){(function(r){"use strict";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,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],s=[2,2],o=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,31],f=[1,33],d=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],_=[1,28],b=[1,36],w=[1,38],x=[1,35],A=[1,37],k=[1,43],E=[1,42],D=[1,39],T=[1,40],C=[1,41],S=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],F=[1,51],O=[1,50],I=[1,52],M=[1,70],B=[1,78],L=[1,79],P=[1,64],N=[1,63],R=[1,83],j=[1,82],Y=[1,80],$=[1,81],U=[1,71],W=[1,66],G=[1,65],V=[1,61],H=[1,73],z=[1,74],q=[1,75],K=[1,76],X=[1,77],Z=[1,68],Q=[1,67],J=[8,9,11],tt=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],et=[1,112],nt=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],rt=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],it=[1,114],at=[1,115],st=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],ot=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],ut=[13,18,44,79,83,85,86,88,89,91,92,93],ct=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],lt=[1,186],ht=[1,183],ft=[1,190],dt=[1,187],pt=[1,184],gt=[1,191],yt=[1,181],mt=[1,182],vt=[1,185],_t=[1,188],bt=[1,189],wt=[1,205],xt=[8,9,11,83],At=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89],kt={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,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,TESTSTR:47,"--":48,ARROW_POINT:49,ARROW_CIRCLE:50,ARROW_CROSS:51,ARROW_OPEN:52,"-.":53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,"==":58,THICK_ARROW_POINT:59,THICK_ARROW_CIRCLE:60,THICK_ARROW_CROSS:61,THICK_ARROW_OPEN:62,PIPE:63,textToken:64,STR:65,commentText:66,commentToken:67,keywords:68,STYLE:69,LINKSTYLE:70,CLASSDEF:71,CLASS:72,CLICK:73,textNoTags:74,textNoTagsToken:75,DEFAULT:76,stylesOpt:77,HEX:78,NUM:79,commentStatement:80,PCT:81,style:82,COMMA:83,styleComponent:84,ALPHA:85,COLON:86,UNIT:87,BRKT:88,DOT:89,graphCodeTokens:90,PLUS:91,EQUALS:92,MULT:93,TAG_START:94,TAG_END:95,QUOTE:96,$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]],performAction:function(t,e,n,r,i,a){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 55:case 57:case 58:case 90:case 92:case 93:case 106: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],"round");break;case 48:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"round");break;case 49:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"diamond");break;case 50:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"diamond");break;case 51:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"odd");break;case 52:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"odd");break;case 53:this.$=a[s],r.addVertex(a[s]);break;case 54:this.$=a[s-1],r.addVertex(a[s-1]);break;case 56:case 91:case 94:case 107:this.$=a[s-1]+""+a[s];break;case 59:this.$="v";break;case 60:this.$="-";break;case 61:a[s-1].text=a[s],this.$=a[s-1];break;case 62:case 63:a[s-2].text=a[s-1],this.$=a[s-2];break;case 64:this.$=a[s];break;case 65:this.$={type:"arrow",stroke:"normal",text:a[s-1]};break;case 66:this.$={type:"arrow_circle",stroke:"normal",text:a[s-1]};break;case 67:this.$={type:"arrow_cross",stroke:"normal",text:a[s-1]};break;case 68:this.$={type:"arrow_open",stroke:"normal",text:a[s-1]};break;case 69:this.$={type:"arrow",stroke:"dotted",text:a[s-1]};break;case 70:this.$={type:"arrow_circle",stroke:"dotted",text:a[s-1]};break;case 71:this.$={type:"arrow_cross",stroke:"dotted",text:a[s-1]};break;case 72:this.$={type:"arrow_open",stroke:"dotted",text:a[s-1]};break;case 73:this.$={type:"arrow",stroke:"thick",text:a[s-1]};break;case 74:this.$={type:"arrow_circle",stroke:"thick",text:a[s-1]};break;case 75:this.$={type:"arrow_cross",stroke:"thick",text:a[s-1]};break;case 76:this.$={type:"arrow_open",stroke:"thick",text:a[s-1]};break;case 77:this.$={type:"arrow",stroke:"normal"};break;case 78:this.$={type:"arrow_circle",stroke:"normal"};break;case 79:this.$={type:"arrow_cross",stroke:"normal"};break;case 80:this.$={type:"arrow_open",stroke:"normal"};break;case 81:this.$={type:"arrow",stroke:"dotted"};break;case 82:this.$={type:"arrow_circle",stroke:"dotted"};break;case 83:this.$={type:"arrow_cross",stroke:"dotted"};break;case 84:this.$={type:"arrow_open",stroke:"dotted"};break;case 85:this.$={type:"arrow",stroke:"thick"};break;case 86:this.$={type:"arrow_circle",stroke:"thick"};break;case 87:this.$={type:"arrow_cross",stroke:"thick"};break;case 88:this.$={type:"arrow_open",stroke:"thick"};break;case 89:this.$=a[s-1];break;case 108:case 109:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 110:this.$=a[s-4],r.setClass(a[s-2],a[s]);break;case 111:this.$=a[s-4],r.setClickEvent(a[s-2],a[s],void 0,void 0);break;case 112:this.$=a[s-6],r.setClickEvent(a[s-4],a[s-2],void 0,a[s]);break;case 113:this.$=a[s-4],r.setClickEvent(a[s-2],void 0,a[s],void 0);break;case 114:this.$=a[s-6],r.setClickEvent(a[s-4],void 0,a[s-2],a[s]);break;case 115:this.$=a[s-4],r.addVertex(a[s-2],void 0,void 0,a[s]);break;case 116:case 117:case 118:this.$=a[s-4],r.updateLink(a[s-2],a[s]);break;case 120:this.$=[a[s]];break;case 121:a[s-2].push(a[s]),this.$=a[s-2];break;case 123:this.$=a[s-1]+a[s]}},table:[{3:1,4:2,9:n,10:r,12:i},{1:[3]},e(a,s,{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:o,9:u,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(a,[2,9]),e(a,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},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:O,11:I,24:49},{8:F,9:O,11:I,24:53},{8:F,9:O,11:I,24:54},{8:F,9:O,11:I,24:55},{8:F,9:O,11:I,24:56},{8:F,9:O,11:I,24:57},{8:F,9:O,10:M,11:I,12:B,13:L,15:P,16:N,17:R,18:j,24:59,30:Y,31:58,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(J,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},e(tt,[2,53],{43:32,21:110,42:111,10:et,13:h,15:[1,109],18:f,36:[1,106],38:[1,107],40:[1,108],44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C}),e(nt,[2,55]),e(nt,[2,57]),e(nt,[2,58]),e(nt,[2,59]),e(nt,[2,60]),e(rt,[2,148]),e(rt,[2,149]),e(rt,[2,150]),e(rt,[2,151]),e(rt,[2,152]),e(rt,[2,153]),e(rt,[2,154]),e(rt,[2,155]),e(rt,[2,156]),{8:it,9:at,10:et,14:113,21:116},{8:it,9:at,10:et,14:117,21:116},{8:it,9:at,10:et,14:118,21:116},{8:it,9:at,10:et,14:119,21:116},{8:it,9:at,10:et,14:120,21:116},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:O,10:M,11:I,12:B,13:L,15:P,16:N,17:R,18:j,24:121,30:Y,32:$,43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(st,s,{5:123}),e(ot,[2,90]),e(ot,[2,92]),e(ot,[2,137]),e(ot,[2,138]),e(ot,[2,139]),e(ot,[2,140]),e(ot,[2,141]),e(ot,[2,142]),e(ot,[2,143]),e(ot,[2,144]),e(ot,[2,145]),e(ot,[2,146]),e(ot,[2,147]),e(ot,[2,95]),e(ot,[2,96]),e(ot,[2,97]),e(ot,[2,98]),e(ot,[2,99]),e(ot,[2,100]),e(ot,[2,101]),e(ot,[2,102]),e(ot,[2,103]),e(ot,[2,104]),e(ot,[2,105]),{13:h,18:f,33:124,35:29,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(ut,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:128,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:129,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:130,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(ct,[2,77]),e(ct,[2,78]),e(ct,[2,79]),e(ct,[2,80]),e(ct,[2,81]),e(ct,[2,82]),e(ct,[2,83]),e(ct,[2,84]),e(ct,[2,85]),e(ct,[2,86]),e(ct,[2,87]),e(ct,[2,88]),{13:h,18:f,35:131,42:30,43:32,44:p,78:[1,132],79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{76:[1,133],79:[1,134]},{13:h,18:f,35:136,42:30,43:32,44:p,76:[1,135],79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{13:h,18:f,35:137,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{13:h,18:f,35:138,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:139,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:141,32:$,38:[1,140],43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:142,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:143,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,54]),e(nt,[2,56]),e(tt,[2,29],{21:144,10:et}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,145]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(st,s,{5:146}),e(ot,[2,91]),{6:10,7:11,8:o,9:u,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,147],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(J,[2,41]),e(ut,[2,61],{10:[1,148]}),{10:[1,149]},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:150,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,58:G,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,163],13:h,18:f,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:h,18:f,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,169],13:h,18:f,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:[1,170],13:h,18:f,42:111,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,37:[1,171],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,31:172,32:$,43:69,44:U,48:W,58:G,64:60,65:V,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,39:[1,173],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,41:[1,174],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,37:[1,175],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,28]),e(a,[2,23]),{6:10,7:11,8:o,9:u,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,176],33:23,35:29,42:30,43:32,44:p,69:g,70:y,71:m,72:v,73:_,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(S,[2,37]),e(ut,[2,63]),e(ut,[2,62]),{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,43:69,44:U,48:W,58:G,63:[1,177],64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(ut,[2,65]),e(ut,[2,66]),e(ut,[2,67]),e(ut,[2,68]),e(ut,[2,69]),e(ut,[2,70]),e(ut,[2,71]),e(ut,[2,72]),e(ut,[2,73]),e(ut,[2,74]),e(ut,[2,75]),e(ut,[2,76]),{10:lt,44:ht,69:ft,77:178,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:192,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:193,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:194,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:195,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{10:lt,44:ht,69:ft,77:196,78:dt,79:pt,81:gt,82:179,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},{13:h,18:f,35:197,42:30,43:32,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},{13:h,18:f,35:198,42:30,43:32,44:p,65:[1,199],79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,43],{21:200,10:et}),{10:M,12:B,13:L,15:P,16:N,17:R,18:j,30:Y,32:$,39:[1,201],43:69,44:U,48:W,58:G,64:122,68:72,69:H,70:z,71:q,72:K,73:X,75:62,76:Z,79:b,81:Q,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C},e(tt,[2,47],{21:202,10:et}),e(tt,[2,49],{21:203,10:et}),e(tt,[2,51],{21:204,10:et}),e(S,[2,36]),e([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),e(J,[2,115],{83:wt}),e(xt,[2,120],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:_t,89:bt}),e(At,[2,122]),e(At,[2,124]),e(At,[2,125]),e(At,[2,126]),e(At,[2,127]),e(At,[2,128]),e(At,[2,129]),e(At,[2,130]),e(At,[2,131]),e(At,[2,132]),e(At,[2,133]),e(At,[2,134]),e(J,[2,116],{83:wt}),e(J,[2,117],{83:wt}),e(J,[2,118],{83:wt}),e(J,[2,108],{83:wt}),e(J,[2,109],{83:wt}),e(J,[2,110],{43:32,42:111,13:h,18:f,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C}),e(J,[2,111],{43:32,42:111,10:[1,207],13:h,18:f,44:p,79:b,83:w,85:x,86:A,88:k,89:E,91:D,92:T,93:C}),e(J,[2,113],{10:[1,208]}),e(tt,[2,44]),{39:[1,209]},e(tt,[2,48]),e(tt,[2,50]),e(tt,[2,52]),{10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,82:210,84:180,85:yt,86:mt,87:vt,88:_t,89:bt},e(At,[2,123]),{65:[1,211]},{65:[1,212]},e(tt,[2,45],{21:213,10:et}),e(xt,[2,121],{84:206,10:lt,44:ht,69:ft,78:dt,79:pt,81:gt,85:yt,86:mt,87:vt,88:_t,89:bt}),e(J,[2,112]),e(J,[2,114]),e(tt,[2,46])],defaultActions:{},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,w,x,A,k,E,D,T=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=T()),w=a[b]&&a[b][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=d.yyleng,s=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(f)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Et=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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 69;case 5:return 76;case 6:return 70;case 7:return 71;case 8:return 72;case 9:return 73;case 10:return 12;case 11:return 30;case 12:return 32;case 13:return 13;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 79;case 20:return 88;case 21:return 86;case 22:return 8;case 23:return 83;case 24:return 93;case 25:return 16;case 26:return 15;case 27:return 17;case 28:return 18;case 29:return 51;case 30:return 49;case 31:return 50;case 32:return 52;case 33:return 56;case 34:return 54;case 35:return 55;case 36:return 57;case 37:return 56;case 38:return 54;case 39:return 55;case 40:return 57;case 41:return 61;case 42:return 59;case 43:return 60;case 44:return 62;case 45:return 48;case 46:return 53;case 47:return 58;case 48:return 44;case 49:return 89;case 50:return 91;case 51:return 81;case 52:return 92;case 53:return 92;case 54:return 85;case 55:return 63;case 56:return 38;case 57:return 39;case 58:return 36;case 59:return 37;case 60:return 40;case 61:return 41;case 62:return 96;case 63:return 9; + +case 64:return 10;case 65:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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],inclusive:!0}}};return t}();return kt.lexer=Et,t.prototype=kt,kt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],94:[function(t,e,n){(function(e){"use strict";function r(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}var i=t("../../logger"),a=r(i),s=t("moment"),o=new a.Log,u="",c="",l=[],h=[],f="";n.clear=function(){l=[],h=[],f="",c="",y=0,d=void 0},n.setDateFormat=function(t){u=t},n.getDateFormat=function(){return u},n.setTitle=function(t){c=t},n.getTitle=function(){return c},n.addSection=function(t){f=t,l.push(t)},n.findTaskById=function(t){var e;for(e=0;en-e?n+i+1.5*s.sidePadding>o?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+s.barHeight/2+(s.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=x(t.startTime),n=x(t.endTime),r=this.getBBox().width,i=0,a=0;an-e?n+r+1.5*s.sidePadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+u:"taskTextOutsideRight taskTextOutside"+i+" "+u:"taskText taskText"+i+" "+u})}function l(t,e,n,a){var o,u=[[".%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()}]];"undefined"!=typeof s.axisFormatter&&(l=[],s.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),o=u.concat(l).concat(c);var h=i.svg.axis().scale(x).orient("bottom").tickSize(-a+e+s.gridLineStartPadding,0,0).tickFormat(i.time.format.multi(o));r>7&&230>r&&(h=h.ticks(i.time.monday.range)),_.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,e){for(var n=[],r=0,i=0;i0))return i[1]*t/2+e;for(var s=0;a>s;s++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;er;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}function p(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function g(t,e){return p(e)[t]||0}n.yy.clear(),n.parse(t);var y=document.getElementById(e);o=y.parentElement.offsetWidth,"undefined"==typeof o&&(o=1200),"undefined"!=typeof s.useWidth&&(o=s.useWidth);var m=n.yy.getTasks(),v=m.length*(s.barHeight+s.barGap)+2*s.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+o+" "+v);var _=i.select("#"+e),b=i.min(m,function(t){return t.startTime}),w=i.max(m,function(t){return t.endTime}),x=i.time.scale().domain([i.min(m,function(t){return t.startTime}),i.max(m,function(t){return t.endTime})]).rangeRound([0,o-150]),A=[];r=a.duration(w-b).asDays();for(var k=0;kl&&D.push("'"+this.terminals_[A]+"'");S=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=d.yyleng,s=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(f)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},u=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:break;case 2:break;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 t}();return o.lexer=u,t.prototype=o,o.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],97:[function(t,e,n){(function(r){"use strict";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,15,17,19,20,22,33],r=[2,2],i=[1,6],a=[1,8],s=[1,9],o=[1,12],u=[1,13],c=[1,14],l=[1,15],h=[1,17],f=[1,18],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(t,e,n,r,i,a){var s=a.length-1;switch(i){case 1:return r.apply(a[s-1]),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:this.$=a[s-1];break;case 12:a[s-1].unshift({type:"loopStart",loopText:a[s-2].actor,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 13:a[s-1].unshift({type:"optStart",optText:a[s-2].actor,signalType:r.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:a[s-2].actor,signalType:r.LINETYPE.OPT_END}),this.$=a[s-1];break;case 14:a[s-4].unshift({type:"altStart",altText:a[s-5].actor,signalType:r.LINETYPE.ALT_START}),a[s-4].push({type:"else",altText:a[s-2].actor,signalType:r.LINETYPE.ALT_ELSE}),a[s-4]=a[s-4].concat(a[s-1]),a[s-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[s-4];break;case 15:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 19:this.$=a[s];break;case 20:this.$=[a[s-2],a[s]];break;case 21:this.$=r.PLACEMENT.LEFTOF;break;case 22:this.$=r.PLACEMENT.RIGHTOF;break;case 23: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 26:this.$={type:"addActor",actor:a[s]};break;case 27:this.$=r.LINETYPE.SOLID_OPEN;break;case 28:this.$=r.LINETYPE.DOTTED_OPEN;break;case 29:this.$=r.LINETYPE.SOLID;break;case 30:this.$=r.LINETYPE.DOTTED;break;case 31:this.$=r.LINETYPE.SOLID_CROSS;break;case 32:this.$=r.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[s].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,r,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,22:h,33:f},e(n,d,{1:[2,1]}),e(p,[2,3]),{9:19,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,22:h,33:f},e(p,[2,5]),e(p,[2,6]),{12:20,33:f},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:f},{12:25,33:f},{12:26,33:f},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},e([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),e(p,[2,4]),{10:[1,38]},e(p,[2,9]),e(p,[2,10]),{16:[1,39]},e(g,r,{5:40}),e(g,r,{5:41}),e([6,8,10,11,15,17,19,20,21,22,33],r,{5:42}),{12:43,33:f},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:f},{8:y,26:45},{33:[2,21]},{33:[2,22]},e(p,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,48],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,50],19:c,20:l,22:h,33:f},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,19:c,20:l,21:[1,51],22:h,33:f},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:f},{8:y,26:57,33:[2,18]},e(p,[2,11]),e(p,[2,12]),e(p,d),e(p,[2,13]),{12:58,33:f},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:f},{28:[1,60],33:[2,19]},{33:[2,17]},e(g,r,{5:61}),{10:[2,16]},{12:62,33:f},{6:m,7:5,8:i,9:7,10:a,11:s,12:16,13:10,14:11,15:o,17:u,18:[1,63],19:c,20:l,22:h,33:f},{33:[2,20]},e(p,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,s="",o=0,u=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,w,x,A,k,E,D,T=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=T()),w=a[b]&&a[b][v]),"undefined"==typeof w||!w.length||!w[0]){var S="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");S=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(w[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(w[1]),v=null,_?(v=_,_=null):(u=d.yyleng,s=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[w[1]][1],C.$=r[r.length-k],C._$={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},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(C,[s,u,o,p.yy,w[1],r,i].concat(f)),"undefined"!=typeof x)return x;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[w[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},b=function(){var t={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];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(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;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===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?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>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:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return t}();return _.lexer=b,t.prototype=_,_.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],98:[function(t,e,n){(function(e){"use strict";function r(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}var i=t("../../logger"),a=r(i),s={},o=[],u=[],c=[],l=new a.Log;n.addActor=function(t,e,n){s[t]={name:e,description:n},o.push(t)},n.addMessage=function(t,e,n,r){u.push({from:t,to:e,message:n,answer:r})},n.addSignal=function(t,e,n,r){l.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),u.push({from:t,to:e,message:n,type:r})},n.getMessages=function(){return u},n.getActors=function(){return s},n.getActor=function(t){return s[t]},n.getActorKeys=function(){return Object.keys(s)},n.clear=function(){s={},u=[]},n.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},n.ARROWTYPE={FILLED:0,OPEN:1},n.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},n.addNote=function(t,e,r){var i={actor:t,placement:e,message:r};c.push(i),u.push({from:t,to:t,message:r,type:n.LINETYPE.NOTE,placement:e})},n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)},n.apply=function(t){if(t instanceof Array)t.forEach(function(t){n.apply(t)});else switch(t.type){case"addActor":n.addActor(t.actor,t.actor,t.actor);break;case"addNote":n.addNote(t.actor,t.placement,t.text);break;case"addMessage":n.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":n.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":n.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":n.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":101}],99:[function(t,e,n){"use strict";function r(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}var i=t("../../logger"),a=r(i),s=t("./parser/sequenceDiagram").parser;s.yy=t("./sequenceDb");var o=t("./svgDraw"),u=t("../../d3"),c=new a.Log,l={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1};n.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){t[e]="undefined"==typeof t[e]?n:r(n,t[e])},updateLoops:function(t,e,r,i){var a=this,s=0;this.list.forEach(function(o){s++;var u=a.list.length-s+1;a.updateVal(o,"startx",t-u*l.boxMargin,Math.min),a.updateVal(o,"starty",e-u*l.boxMargin,Math.min),a.updateVal(o,"stopx",r+u*l.boxMargin,Math.max),a.updateVal(o,"stopy",i+u*l.boxMargin,Math.max),a.updateVal(n.bounds.data,"startx",t-u*l.boxMargin,Math.min),a.updateVal(n.bounds.data,"starty",e-u*l.boxMargin,Math.min),a.updateVal(n.bounds.data,"stopx",r+u*l.boxMargin,Math.max),a.updateVal(n.bounds.data,"stopy",i+u*l.boxMargin,Math.max)})},insert:function(t,e,r,i){var a,s,o,u;a=Math.min(t,r),o=Math.max(t,r),s=Math.min(e,i),u=Math.max(e,i),this.updateVal(n.bounds.data,"startx",a,Math.min),this.updateVal(n.bounds.data,"starty",s,Math.min),this.updateVal(n.bounds.data,"stopx",o,Math.max),this.updateVal(n.bounds.data,"stopy",u,Math.max),this.updateLoops(a,s,o,u)},newLoop:function(t){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.list.pop();return t},addElseToLoop:function(t){var e=this.list.pop();e.elsey=n.bounds.getVerticalPos(),e.elseText=t,this.list.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}};var h=function(t,e,r,i){var a=o.getNoteRect();a.x=e,a.y=r,a.width=l.width,a["class"]="note";var s=t.append("g"),u=o.drawRect(s,a),c=o.getTextObj();c.x=e-4,c.y=r-13,c.textMargin=l.noteMargin,c.dy="1em",c.text=i.message,c["class"]="noteText";var h=o.drawText(s,c,l.width-l.noteMargin),f=h[0][0].getBBox().height;f>l.width?(h.remove(),s=t.append("g"),h=o.drawText(s,c,2*l.width-l.noteMargin),f=h[0][0].getBBox().height,u.attr("width",2*l.width),n.bounds.insert(e,r,e+2*l.width,r+2*l.noteMargin+f)):n.bounds.insert(e,r,e+l.width,r+2*l.noteMargin+f),u.attr("height",f+2*l.noteMargin),n.bounds.bumpVerticalPos(f+2*l.noteMargin)},f=function(t,e,r,i,a){var o,u=t.append("g"),c=e+(r-e)/2,l=u.append("text").attr("x",c).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message);o="undefined"!=typeof l[0][0].getBBox?l[0][0].getBBox().width:l[0][0].getBoundingClientRect();var h;if(e===r){h=u.append("path").attr("d","M "+e+","+i+" C "+(e+60)+","+(i-10)+" "+(e+60)+","+(i+30)+" "+e+","+(i+20)),n.bounds.bumpVerticalPos(30);var f=Math.max(o/2,100);n.bounds.insert(e-f,n.bounds.getVerticalPos()-10,r+f,n.bounds.getVerticalPos())}else h=u.append("line"),h.attr("x1",e),h.attr("y1",i),h.attr("x2",r),h.attr("y2",i),n.bounds.insert(e,n.bounds.getVerticalPos()-10,r,n.bounds.getVerticalPos());a.type===s.yy.LINETYPE.DOTTED||a.type===s.yy.LINETYPE.DOTTED_CROSS||a.type===s.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var d=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;d=d.replace(/\(/g,"\\("),d=d.replace(/\)/g,"\\)"),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),(a.type===s.yy.LINETYPE.SOLID||a.type===s.yy.LINETYPE.DOTTED)&&h.attr("marker-end","url("+d+"#crosshead)"),(a.type===s.yy.LINETYPE.SOLID_CROSS||a.type===s.yy.LINETYPE.DOTTED_CROSS)&&h.attr("marker-end","url("+d+"#crosshead)")};e.exports.drawActors=function(t,e,r,i){var a;for(a=0;a/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),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(r),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},n.drawLabel=function(t,e){var r=n.getNoteRect();r.x=e.x,r.y=e.y,r.width=50,r.height=20,r.fill="#526e52",r.stroke="none",r["class"]="labelBox",n.drawRect(t,r),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",n.drawText(t,e)};var r=-1;n.drawActor=function(t,e,i,a,s){var o=e+s.width/2,u=t.append("g");0===i&&(r++,u.append("line").attr("id","actor"+r).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 c=n.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=s.width,c.height=s.height,c["class"]="actor",c.rx=3,c.ry=3,n.drawRect(u,c),u.append("text").attr("x",o).attr("y",i+s.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},n.drawLoop=function(t,e,r,i){var a=t.append("g"),s=function(t,e,n,r){a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("stroke-width",2).attr("stroke","#526e52").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),"undefined"!=typeof e.elsey&&s(e.startx,e.elsey,e.stopx,e.elsey);var o=n.getTextObj();o.text=r,o.x=e.startx,o.y=e.starty,o.labelMargin=1.5*i.boxMargin,o["class"]="labelText",o.fill="white",n.drawLabel(a,o),o=n.getTextObj(),o.text="[ "+e.title+" ]",o.x=e.startx+(e.stopx-e.startx)/2,o.y=e.starty+1.5*i.boxMargin,o.anchor="middle",o["class"]="loopText",n.drawText(a,o),"undefined"!=typeof e.elseText&&(o.text="[ "+e.elseText+" ]",o.y=e.elsey+1.5*i.boxMargin,n.drawText(a,o))},n.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")},n.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")},n.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},n.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],101:[function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>n&&(n="0"+n),10>r&&(r="0"+r),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+n+":"+r+" ("+i+")";return a}var a=function(){function t(t,e){for(var n=0;n=n&&"undefined"!=typeof console&&"undefined"!=typeof console.log?console.log("["+i(new Date)+"] "+t):void 0}},{key:"trace",value:function(t){this.log(t,s.trace)}},{key:"debug",value:function(t){this.log(t,s.debug)}},{key:"info",value:function(t){this.log(t,s.info)}},{key:"warn",value:function(t){this.log(t,s.warn)}},{key:"error",value:function(t){this.log(t,s.error)}}]),t}();n.Log=u},{}],102:[function(t,e,n){(function(e){"use strict";function r(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}var i=t("./logger"),a=r(i),s=new a.Log,o=t("./diagrams/flowchart/graphDb"),u=t("./utils"),c=t("./diagrams/flowchart/flowRenderer"),l=t("./diagrams/sequenceDiagram/sequenceRenderer"),h=t("./diagrams/example/exampleRenderer"),f=t("./diagrams/example/parser/example"),d=t("./diagrams/flowchart/parser/flow"),p=t("./diagrams/flowchart/parser/dot"),g=t("./diagrams/sequenceDiagram/parser/sequenceDiagram"),y=t("./diagrams/sequenceDiagram/sequenceDb"),m=t("./diagrams/example/exampleDb"),v=t("./diagrams/gantt/ganttRenderer"),_=t("./diagrams/gantt/parser/gantt"),b=t("./diagrams/gantt/ganttDb"),w=t("./d3"),x={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,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,sidePadding: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()}]]}};a.setLogLevel(x.logLevel);var A=function(t){var e,n=u.detectType(t);switch(n){case"graph":e=d,e.parser.yy=o;break;case"dotGraph":e=p,e.parser.yy=o;break;case"sequenceDiagram":e=g,e.parser.yy=y;break;case"info":e=f,e.parser.yy=m;break;case"gantt":e=_,e.parser.yy=b}try{return e.parse(t),!0}catch(r){return!1}};n.parse=A,n.version=function(){return t("../package.json").version},n.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){var e=t.substring(0,t.length-1);return e}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){var e=t.substring(0,t.length-1);return e}),e=e.replace(/#\w+\;/g,function(t){var e=t.substring(1,t.length-1),n=/^\+?\d+$/.test(e);return n?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},n.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 k=function(t,e,r,i){"undefined"!=typeof i?w.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"):w.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=n.encodeEntities(e);var a=w.select("#d"+t).node(),f=u.detectType(e),d={};switch(f){case"graph":c.setConf(x.flowchart),c.draw(e,t,!1),x.cloneCssStyles&&(d=c.getClasses(e,!1),u.cloneCssStyles(a.firstChild,d));break;case"dotGraph":c.setConf(x.flowchart),c.draw(e,t,!0),x.cloneCssStyles&&(d=c.getClasses(e,!0),u.cloneCssStyles(a.firstChild,d));break;case"sequenceDiagram":l.setConf(x.sequenceDiagram),l.draw(e,t),x.cloneCssStyles&&u.cloneCssStyles(a.firstChild,[]);break;case"gantt":v.setConf(x.gantt),v.draw(e,t),x.cloneCssStyles&&u.cloneCssStyles(a.firstChild,[]);break;case"info":h.draw(e,t,n.version()),x.cloneCssStyles&&u.cloneCssStyles(a.firstChild,[])}w.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)");var g=w.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+p+"#arrowhead","g");g=n.decodeEntities(g),"undefined"!=typeof r?r(g,o.bindFunctions):s.warn("CB = undefined");var y=w.select("#d"+t).node();null!==y&&"function"==typeof y.remove&&w.select("#d"+t).node().remove()};n.render=function(t,e,n,r){"undefined"==typeof document||k(t,e,n,r)};var E=function(t){var e,n=Object.keys(t);for(e=0;e0&&(r+=n.selectorText+" { "+n.style.cssText+" }\n")}}catch(l){"undefined"!==n&&s.warn('Invalid CSS selector "'+n.selectorText+'"',l)}var h="",f="";for(var d in e)e.hasOwnProperty(d)&&"undefined"!=typeof d&&("default"===d?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[d].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text { "+e[d].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text { "+e[d].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect { "+e[d].clusterStyles.join("; ")+"; }\n")):e[d].styles instanceof Array&&(f+="#"+t.id.trim()+" ."+d+">rect { "+e[d].styles.join("; ")+"; }\n"));if(""!==r||""!==h||""!==f){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* */\n",t.insertBefore(p,t.firstChild)}};n.cloneCssStyles=u},{"./logger":101}]},{},[102])(102)}); \ No newline at end of file diff --git a/dist/www/javascripts/lib/mermaid.js b/dist/www/javascripts/lib/mermaid.js index 12ba02e4a..08c54224c 100644 --- a/dist/www/javascripts/lib/mermaid.js +++ b/dist/www/javascripts/lib/mermaid.js @@ -1,37 +1,47 @@ -!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.mermaid=e()}}(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);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= b) { + a = b; + break; + } while (++i < n) if ((b = array[i]) != null && a > b) a = b; } else { - while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined; + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { + a = b; + break; + } while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; } return a; @@ -54,10 +70,16 @@ d3.max = function(array, f) { var i = -1, n = array.length, a, b; if (arguments.length === 1) { - while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined; + while (++i < n) if ((b = array[i]) != null && b >= b) { + a = b; + break; + } while (++i < n) if ((b = array[i]) != null && b > a) a = b; } else { - while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined; + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { + a = b; + break; + } while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; } return a; @@ -65,13 +87,19 @@ d3.extent = function(array, f) { var i = -1, n = array.length, a, b, c; if (arguments.length === 1) { - while (++i < n && !((a = c = array[i]) != null && a <= a)) a = c = undefined; + while (++i < n) if ((b = array[i]) != null && b >= b) { + a = c = b; + break; + } while (++i < n) if ((b = array[i]) != null) { if (a > b) a = b; if (c < b) c = b; } } else { - while (++i < n && !((a = c = f.call(array, array[i], i)) != null && a <= a)) a = undefined; + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { + a = c = b; + break; + } while (++i < n) if ((b = f.call(array, array[i], i)) != null) { if (a > b) a = b; if (c < b) c = b; @@ -101,7 +129,7 @@ } else { while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; } - return j ? s / j : undefined; + if (j) return s / j; }; d3.quantile = function(values, p) { var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; @@ -114,7 +142,32 @@ } else { while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); } - return numbers.length ? d3.quantile(numbers.sort(d3_ascending), .5) : undefined; + if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); + }; + d3.variance = function(array, f) { + var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; + if (arguments.length === 1) { + while (++i < n) { + if (d3_numeric(a = d3_number(array[i]))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } else { + while (++i < n) { + if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } + if (j > 1) return s / (j - 1); + }; + d3.deviation = function() { + var v = d3.variance.apply(this, arguments); + return v ? Math.sqrt(v) : v; }; function d3_bisector(compare) { return { @@ -146,11 +199,15 @@ return d3_ascending(f(d), x); } : f); }; - d3.shuffle = function(array) { - var m = array.length, t, i; + d3.shuffle = function(array, i0, i1) { + if ((m = arguments.length) < 3) { + i1 = array.length; + if (m < 2) i0 = 0; + } + var m = i1 - i0, t, i; while (m) { i = Math.random() * m-- | 0; - t = array[m], array[m] = array[i], array[i] = t; + t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; } return array; }; @@ -238,11 +295,18 @@ }); } } - d3.map = function(object) { + d3.map = function(object, f) { var map = new d3_Map(); - if (object instanceof d3_Map) object.forEach(function(key, value) { - map.set(key, value); - }); else for (var key in object) map.set(key, object[key]); + if (object instanceof d3_Map) { + object.forEach(function(key, value) { + map.set(key, value); + }); + } else if (Array.isArray(object)) { + var i = -1, n = object.length, o; + if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); + } else { + for (var key in object) map.set(key, object[key]); + } return map; }; function d3_Map() { @@ -390,6 +454,9 @@ } }); d3.behavior = {}; + function d3_identity(d) { + return d; + } d3.rebind = function(target, source) { var i = 1, n = arguments.length, method; while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); @@ -496,8 +563,12 @@ return n.querySelector(s); }, d3_selectAll = function(s, n) { return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); + }, d3_selectMatches = function(n, s) { + var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, "matchesSelector")]; + d3_selectMatches = function(n, s) { + return d3_selectMatcher.call(n, s); + }; + return d3_selectMatches(n, s); }; if (typeof Sizzle === "function") { d3_select = function(s, n) { @@ -507,7 +578,7 @@ d3_selectMatches = Sizzle.matchesSelector; } d3.selection = function() { - return d3_selectionRoot; + return d3.select(d3_document.documentElement); }; var d3_selectionPrototype = d3.selection.prototype = []; d3_selectionPrototype.select = function(selector) { @@ -667,7 +738,10 @@ for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); return this; } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); + if (n < 2) { + var node = this.node(); + return d3_window(node).getComputedStyle(node, null).getPropertyValue(name); + } priority = ""; } return this.each(d3_selection_style(name, value, priority)); @@ -733,11 +807,14 @@ }); }; function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { + function create() { + var document = this.ownerDocument, namespace = this.namespaceURI; + return namespace ? document.createElementNS(namespace, name) : document.createElement(name); + } + function createNS() { return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; + } + return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? createNS : create; } d3_selectionPrototype.insert = function(name, before) { name = d3_selection_creator(name); @@ -747,11 +824,12 @@ }); }; d3_selectionPrototype.remove = function() { - return this.each(function() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - }); + return this.each(d3_selectionRemove); }; + function d3_selectionRemove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); + } d3_selectionPrototype.data = function(value, key) { var i = -1, n = this.length, group, node; if (!arguments.length) { @@ -960,40 +1038,28 @@ return node; }; } - d3_selectionPrototype.transition = function() { - var id = d3_transitionInheritId || ++d3_transitionId, subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, id); - }; - d3_selectionPrototype.interrupt = function() { - return this.each(d3_selection_interrupt); - }; - function d3_selection_interrupt() { - var lock = this.__transition__; - if (lock) ++lock.active; - } d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; + var group; + if (typeof node === "string") { + group = [ d3_select(node, d3_document) ]; + group.parentNode = d3_document.documentElement; + } else { + group = [ node ]; + group.parentNode = d3_documentElement(node); + } return d3_selection([ group ]); }; d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; + var group; + if (typeof nodes === "string") { + group = d3_array(d3_selectAll(nodes, d3_document)); + group.parentNode = d3_document.documentElement; + } else { + group = nodes; + group.parentNode = null; + } return d3_selection([ group ]); }; - var d3_selectionRoot = d3.select(d3_documentElement); d3_selectionPrototype.on = function(type, listener, capture) { var n = arguments.length; if (n < 3) { @@ -1041,9 +1107,11 @@ mouseenter: "mouseover", mouseleave: "mouseout" }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); + if (d3_document) { + d3_selection_onFilters.forEach(function(k) { + if ("on" + k in d3_document) d3_selection_onFilters.remove(k); + }); + } function d3_selection_onListener(listener, argumentz) { return function(e) { var o = d3.event; @@ -1065,20 +1133,23 @@ } }; } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); + var d3_event_dragSelect, d3_event_dragId = 0; + function d3_event_dragSuppress(node) { + var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window(node)).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); + if (d3_event_dragSelect == null) { + d3_event_dragSelect = "onselectstart" in node ? false : d3_vendorSymbol(node.style, "userSelect"); + } if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; + var style = d3_documentElement(node).style, select = style[d3_event_dragSelect]; style[d3_event_dragSelect] = "none"; } return function(suppressClick) { w.on(name, null); if (d3_event_dragSelect) style[d3_event_dragSelect] = select; if (suppressClick) { - function off() { + var off = function() { w.on(click, null); - } + }; w.on(click, function() { d3_eventPreventDefault(); off(); @@ -1090,24 +1161,27 @@ d3.mouse = function(container) { return d3_mousePoint(container, d3_eventSource()); }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; + var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0; function d3_mousePoint(container, e) { if (e.changedTouches) e = e.changedTouches[0]; var svg = container.ownerSVGElement || container; if (svg.createSVGPoint) { var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); + if (d3_mouse_bug44083 < 0) { + var window = d3_window(container); + if (window.scrollX || window.scrollY) { + svg = d3.select("body").append("svg").style({ + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none" + }, "important"); + var ctm = svg[0][0].getScreenCTM(); + d3_mouse_bug44083 = !(ctm.f || ctm.e); + svg.remove(); + } } if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, point.y = e.clientY; @@ -1126,13 +1200,13 @@ } }; d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); + var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, "touchmove", "touchend"); function drag() { this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); } function dragstart(id, position, subject, move, end) { return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); + var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId); if (origin) { dragOffset = origin.apply(that, arguments); dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; @@ -1177,12 +1251,6 @@ function d3_behavior_dragTouchId() { return d3.event.changedTouches[0].identifier; } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } d3.touches = function(container, touches) { if (arguments.length < 2) touches = d3_eventSource().touches; return touches ? d3_array(touches).map(function(touch) { @@ -1191,7 +1259,7 @@ return point; }) : []; }; - var π = Math.PI, τ = 2 * π, halfπ = π / 2, ε = 1e-6, ε2 = ε * ε, d3_radians = π / 180, d3_degrees = 180 / π; + var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; function d3_sgn(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; } @@ -1236,7 +1304,16 @@ x: 0, y: 0, k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; + }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; + if (!d3_behavior_zoomWheel) { + d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { + return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); + }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { + return d3.event.wheelDelta; + }, "mousewheel") : (d3_behavior_zoomDelta = function() { + return -d3.event.detail; + }, "MozMousePixelScroll"); + } function zoom(g) { g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); } @@ -1252,7 +1329,7 @@ }; zoomstarted(dispatch); }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = dx / 2, cy = dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); + var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); return function(t) { var l = i(t), k = dx / l[2]; this.__chart__ = view = { @@ -1262,6 +1339,8 @@ }; zoomed(dispatch); }; + }).each("interrupt.zoom", function() { + zoomended(dispatch); }).each("end.zoom", function() { zoomended(dispatch); }); @@ -1308,6 +1387,11 @@ size = _ && [ +_[0], +_[1] ]; return zoom; }; + zoom.duration = function(_) { + if (!arguments.length) return duration; + duration = +_; + return zoom; + }; zoom.x = function(z) { if (!arguments.length) return x1; x1 = z; @@ -1344,6 +1428,18 @@ view.x += p[0] - l[0]; view.y += p[1] - l[1]; } + function zoomTo(that, p, l, k) { + that.__chart__ = { + x: view.x, + y: view.y, + k: view.k + }; + scaleTo(Math.pow(2, k)); + translateTo(center0 = p, l); + that = d3.select(that); + if (duration > 0) that = that.transition().duration(duration); + that.call(zoom.event); + } function rescale() { if (x1) x1.domain(x0.range().map(function(x) { return (x - view.x) / view.k; @@ -1353,7 +1449,7 @@ }).map(y0.invert)); } function zoomstarted(dispatch) { - dispatch({ + if (!zooming++) dispatch({ type: "zoomstart" }); } @@ -1366,12 +1462,12 @@ }); } function zoomended(dispatch) { - dispatch({ + if (!--zooming) dispatch({ type: "zoomend" - }); + }), center0 = null; } function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); + var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that); d3_selection_interrupt.call(that); zoomstarted(dispatch); function moved() { @@ -1386,8 +1482,7 @@ } } function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); + var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that); started(); zoomstarted(dispatch); subject.on(mousedown, null).on(touchstart, started); @@ -1410,11 +1505,9 @@ var touches = relocate(), now = Date.now(); if (touches.length === 1) { if (now - touchtime < 500) { - var p = touches[0], l = locations0[p.identifier]; - scaleTo(view.k * 2); - translateTo(p, l); + var p = touches[0]; + zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); d3_eventPreventDefault(); - zoomed(dispatch); } touchtime = now; } else if (touches.length > 1) { @@ -1424,6 +1517,7 @@ } function moved() { var touches = d3.touches(that), p0, l0, p1, l1; + d3_selection_interrupt.call(that); for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { p1 = touches[i]; if (l1 = locations0[p1.identifier]) { @@ -1459,8 +1553,8 @@ } function mousewheeled() { var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); + if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), + translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch); mousewheelTimer = setTimeout(function() { mousewheelTimer = null; zoomended(dispatch); @@ -1471,23 +1565,12 @@ zoomed(dispatch); } function dblclicked() { - var dispatch = event.of(this, arguments), p = d3.mouse(this), l = location(p), k = Math.log(view.k) / Math.LN2; - zoomstarted(dispatch); - scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1)); - translateTo(p, l); - zoomed(dispatch); - zoomended(dispatch); + var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; + zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); } return d3.rebind(zoom, event, "on"); }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); + var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel; d3.color = d3_color; function d3_color() {} d3_color.prototype.toString = function() { @@ -1616,8 +1699,9 @@ return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); } function d3_rgb_parse(format, rgb, hsl) { + format = format.toLowerCase(); var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); + m1 = /([a-z]+)\((.*)\)/.exec(format); if (m1) { m2 = m1[2].split(","); switch (m1[1]) { @@ -1632,7 +1716,9 @@ } } } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); + if (color = d3_rgb_names.get(format)) { + return rgb(color.r, color.g, color.b); + } if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { if (format.length === 4) { r = (color & 3840) >> 4; @@ -1795,6 +1881,7 @@ plum: 14524637, powderblue: 11591910, purple: 8388736, + rebeccapurple: 6697881, red: 16711680, rosybrown: 12357519, royalblue: 4286945, @@ -1833,9 +1920,6 @@ }; } d3.functor = d3_functor; - function d3_identity(d) { - return d; - } d3.xhr = d3_xhrType(d3_identity); function d3_xhrType(response) { return function(url, mimeType, callback) { @@ -1846,7 +1930,7 @@ } function d3_xhr(url, mimeType, response, callback) { var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); + if (this.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { request.readyState > 3 && respond(); }; @@ -2032,7 +2116,7 @@ }; d3.csv = d3.dsv(",", "text/csv"); d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { + var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = this[d3_vendorSymbol(this, "requestAnimationFrame")] || function(callback) { setTimeout(callback, 17); }; d3.timer = function(callback, delay, then) { @@ -3132,6 +3216,15 @@ d3_geo_centroidPointXYZ(x0, y0, z0); } } + function d3_geo_compose(a, b) { + function compose(x, y) { + return x = a(x, y), b(x[0], x[1]); + } + if (a.invert && b.invert) compose.invert = function(x, y) { + return x = b.invert(x, y), x && a.invert(x[0], x[1]); + }; + return compose; + } function d3_true() { return true; } @@ -3730,15 +3823,6 @@ return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; } } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } function d3_geo_conic(projectAt) { var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); p.parallels = function(_) { @@ -4010,7 +4094,7 @@ result: d3_noop }; function point(x, y) { - context.moveTo(x, y); + context.moveTo(x + pointRadius, y); context.arc(x, y, pointRadius, 0, τ); } function pointLineStart(x, y) { @@ -5518,11 +5602,11 @@ } } function insertChild(n, d, x, y, x1, y1, x2, y2) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, right = x >= sx, bottom = y >= sy, i = (bottom << 1) + right; + var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; n.leaf = false; n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = sx; else x2 = sx; - if (bottom) y1 = sy; else y2 = sy; + if (right) x1 = xm; else x2 = xm; + if (below) y1 = ym; else y2 = ym; insert(n, d, x, y, x1, y1, x2, y2); } var root = d3_geom_quadtreeNode(); @@ -5532,6 +5616,9 @@ root.visit = function(f) { d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); }; + root.find = function(point) { + return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); + }; i = -1; if (x1 == null) { while (++i < n) { @@ -5585,6 +5672,42 @@ if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); } } + function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { + var minDistance2 = Infinity, closestPoint; + (function find(node, x1, y1, x2, y2) { + if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; + if (point = node.point) { + var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy; + if (distance2 < minDistance2) { + var distance = Math.sqrt(minDistance2 = distance2); + x0 = x - distance, y0 = y - distance; + x3 = x + distance, y3 = y + distance; + closestPoint = point; + } + } + var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; + for (var i = below << 1 | right, j = i + 4; i < j; ++i) { + if (node = children[i & 3]) switch (i & 3) { + case 0: + find(node, x1, y1, xm, ym); + break; + + case 1: + find(node, xm, y1, x2, ym); + break; + + case 2: + find(node, x1, ym, xm, y2); + break; + + case 3: + find(node, xm, ym, x2, y2); + break; + } + } + })(root, x0, y0, x3, y3); + return closestPoint; + } d3.interpolateRgb = d3_interpolateRgb; function d3_interpolateRgb(a, b) { a = d3.rgb(a); @@ -5663,7 +5786,7 @@ } d3.interpolators = [ function(a, b) { var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); + return (t === "string" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); } ]; d3.interpolateArray = d3_interpolateArray; function d3_interpolateArray(a, b) { @@ -6268,8 +6391,8 @@ neighbors[o.target.index].push(o.source); } } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; + var candidates = neighbors[i], j = -1, l = candidates.length, x; + while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x; return Math.random() * size; } return force.resume(); @@ -6476,49 +6599,50 @@ return d3_layout_hierarchyRebind(partition, hierarchy); }; d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ; + var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; function pie(data) { - var values = data.map(function(d, i) { + var n = data.length, values = data.map(function(d, i) { return +value.call(pie, d, i); - }); - var a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle); - var k = ((typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a) / d3.sum(values); - var index = d3.range(data.length); + }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { return values[j] - values[i]; } : function(i, j) { return sort(data[i], data[j]); }); - var arcs = []; index.forEach(function(i) { - var d; arcs[i] = { data: data[i], - value: d = values[i], + value: v = values[i], startAngle: a, - endAngle: a += d * k + endAngle: a += v * k + pa, + padAngle: p }; }); return arcs; } - pie.value = function(x) { + pie.value = function(_) { if (!arguments.length) return value; - value = x; + value = _; return pie; }; - pie.sort = function(x) { + pie.sort = function(_) { if (!arguments.length) return sort; - sort = x; + sort = _; return pie; }; - pie.startAngle = function(x) { + pie.startAngle = function(_) { if (!arguments.length) return startAngle; - startAngle = x; + startAngle = _; return pie; }; - pie.endAngle = function(x) { + pie.endAngle = function(_) { if (!arguments.length) return endAngle; - endAngle = x; + endAngle = _; + return pie; + }; + pie.padAngle = function(_) { + if (!arguments.length) return padAngle; + padAngle = _; return pie; }; return pie; @@ -7617,8 +7741,9 @@ }; scale.rangePoints = function(x, padding) { if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = (stop - start) / (Math.max(1, domain.length - 1) + padding); - range = steps(domain.length < 2 ? (start + stop) / 2 : start + step * padding / 2, step); + var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, + 0) : (stop - start) / (domain.length - 1 + padding); + range = steps(start + step * padding / 2, step); rangeBand = 0; ranger = { t: "rangePoints", @@ -7626,6 +7751,18 @@ }; return scale; }; + scale.rangeRoundPoints = function(x, padding) { + if (arguments.length < 2) padding = 0; + var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), + 0) : (stop - start) / (domain.length - 1 + padding) | 0; + range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); + rangeBand = 0; + ranger = { + t: "rangeRoundPoints", + a: arguments + }; + return scale; + }; scale.rangeBands = function(x, padding, outerPadding) { if (arguments.length < 2) padding = 0; if (arguments.length < 3) outerPadding = padding; @@ -7642,8 +7779,8 @@ scale.rangeRoundBands = function(x, padding, outerPadding) { if (arguments.length < 2) padding = 0; if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)), error = stop - start - (domain.length - padding) * step; - range = steps(start + Math.round(error / 2), step); + var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); + range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); if (reverse) range.reverse(); rangeBand = Math.round(step * (1 - padding)); ranger = { @@ -7800,12 +7937,86 @@ return identity; } d3.svg = {}; + function d3_zero() { + return 0; + } d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; + var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; function arc() { - var r0 = innerRadius.apply(this, arguments), r1 = outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) + d3_svg_arcOffset, a1 = endAngle.apply(this, arguments) + d3_svg_arcOffset, da = (a1 < a0 && (da = a0, - a0 = a1, a1 = da), a1 - a0), df = da < π ? "0" : "1", c0 = Math.cos(a0), s0 = Math.sin(a0), c1 = Math.cos(a1), s1 = Math.sin(a1); - return da >= d3_svg_arcMax ? r0 ? "M0," + r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + -r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 + "M0," + r0 + "A" + r0 + "," + r0 + " 0 1,0 0," + -r0 + "A" + r0 + "," + r0 + " 0 1,0 0," + r0 + "Z" : "M0," + r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + -r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 + "Z" : r0 ? "M" + r1 * c0 + "," + r1 * s0 + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 + "L" + r0 * c1 + "," + r0 * s1 + "A" + r0 + "," + r0 + " 0 " + df + ",0 " + r0 * c0 + "," + r0 * s0 + "Z" : "M" + r1 * c0 + "," + r1 * s0 + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 + "L0,0" + "Z"; + var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; + if (r1 < r0) rc = r1, r1 = r0, r0 = rc; + if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; + var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; + if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { + rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); + if (!cw) p1 *= -1; + if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); + if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); + } + if (r1) { + x0 = r1 * Math.cos(a0 + p1); + y0 = r1 * Math.sin(a0 + p1); + x1 = r1 * Math.cos(a1 - p1); + y1 = r1 * Math.sin(a1 - p1); + var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; + if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { + var h1 = (a0 + a1) / 2; + x0 = r1 * Math.cos(h1); + y0 = r1 * Math.sin(h1); + x1 = y1 = null; + } + } else { + x0 = y0 = 0; + } + if (r0) { + x2 = r0 * Math.cos(a1 - p0); + y2 = r0 * Math.sin(a1 - p0); + x3 = r0 * Math.cos(a0 + p0); + y3 = r0 * Math.sin(a0 + p0); + var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; + if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { + var h0 = (a0 + a1) / 2; + x2 = r0 * Math.cos(h0); + y2 = r0 * Math.sin(h0); + x3 = y3 = null; + } + } else { + x2 = y2 = 0; + } + if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { + cr = r0 < r1 ^ cw ? 0 : 1; + var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); + if (x1 != null) { + var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); + if (rc === rc1) { + path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); + } else { + path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); + } + } else { + path.push("M", x0, ",", y0); + } + if (x3 != null) { + var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); + if (rc === rc0) { + path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); + } else { + path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); + } + } else { + path.push("L", x2, ",", y2); + } + } else { + path.push("M", x0, ",", y0); + if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); + path.push("L", x2, ",", y2); + if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); + } + path.push("Z"); + return path.join(""); + } + function circleSegment(r1, cw) { + return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; } arc.innerRadius = function(v) { if (!arguments.length) return innerRadius; @@ -7817,6 +8028,16 @@ outerRadius = d3_functor(v); return arc; }; + arc.cornerRadius = function(v) { + if (!arguments.length) return cornerRadius; + cornerRadius = d3_functor(v); + return arc; + }; + arc.padRadius = function(v) { + if (!arguments.length) return padRadius; + padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); + return arc; + }; arc.startAngle = function(v) { if (!arguments.length) return startAngle; startAngle = d3_functor(v); @@ -7827,13 +8048,18 @@ endAngle = d3_functor(v); return arc; }; + arc.padAngle = function(v) { + if (!arguments.length) return padAngle; + padAngle = d3_functor(v); + return arc; + }; arc.centroid = function() { - var r = (innerRadius.apply(this, arguments) + outerRadius.apply(this, arguments)) / 2, a = (startAngle.apply(this, arguments) + endAngle.apply(this, arguments)) / 2 + d3_svg_arcOffset; + var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; return [ Math.cos(a) * r, Math.sin(a) * r ]; }; return arc; }; - var d3_svg_arcOffset = -halfπ, d3_svg_arcMax = τ - ε; + var d3_svg_arcAuto = "auto"; function d3_svg_arcInnerRadius(d) { return d.innerRadius; } @@ -7846,6 +8072,17 @@ function d3_svg_arcEndAngle(d) { return d.endAngle; } + function d3_svg_arcPadAngle(d) { + return d && d.padAngle; + } + function d3_svg_arcSweep(x0, y0, x1, y1) { + return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; + } + function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { + var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; + if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; + return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; + } function d3_svg_line(projection) { var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; function line(data) { @@ -7936,7 +8173,7 @@ return path.join(""); } function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, points.length - 1), d3_svg_lineCardinalTangents(points, tension)); + return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); } function d3_svg_lineCardinalClosed(points, tension) { return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), @@ -8106,7 +8343,7 @@ while (++i < n) { point = points[i]; r = point[0]; - a = point[1] + d3_svg_arcOffset; + a = point[1] - halfπ; point[0] = r * Math.cos(a); point[1] = r * Math.sin(a); } @@ -8207,7 +8444,7 @@ return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; } function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) + d3_svg_arcOffset, a1 = endAngle.call(self, subgroup, i) + d3_svg_arcOffset; + var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; return { r: r, a0: a0, @@ -8297,7 +8534,7 @@ }; function d3_svg_diagonalRadialProjection(projection) { return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] + d3_svg_arcOffset; + var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; return [ r * Math.cos(a), r * Math.sin(a) ]; }; } @@ -8353,8 +8590,39 @@ }); d3.svg.symbolTypes = d3_svg_symbols.keys(); var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - function d3_transition(groups, id) { + d3_selectionPrototype.transition = function(name) { + var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { + time: Date.now(), + ease: d3_ease_cubicInOut, + delay: 0, + duration: 250 + }; + for (var j = -1, m = this.length; ++j < m; ) { + subgroups.push(subgroup = []); + for (var group = this[j], i = -1, n = group.length; ++i < n; ) { + if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); + subgroup.push(node); + } + } + return d3_transition(subgroups, ns, id); + }; + d3_selectionPrototype.interrupt = function(name) { + return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); + }; + var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); + function d3_selection_interruptNS(ns) { + return function() { + var lock, active; + if ((lock = this[ns]) && (active = lock[lock.active])) { + if (--lock.count) delete lock[lock.active]; else delete this[ns]; + lock.active += .5; + active.event && active.event.interrupt.call(this, this.__data__, active.index); + } + }; + } + function d3_transition(groups, ns, id) { d3_subclass(groups, d3_transitionPrototype); + groups.namespace = ns; groups.id = id; return groups; } @@ -8363,44 +8631,44 @@ d3_transitionPrototype.empty = d3_selectionPrototype.empty; d3_transitionPrototype.node = d3_selectionPrototype.node; d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection) { - return arguments.length ? d3_transitionInheritId ? selection.transition() : selection : d3_selectionRoot.transition(); + d3.transition = function(selection, name) { + return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection); }; d3.transition.prototype = d3_transitionPrototype; d3_transitionPrototype.select = function(selector) { - var id = this.id, subgroups = [], subgroup, subnode, node; + var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; selector = d3_selection_selector(selector); for (var j = -1, m = this.length; ++j < m; ) { subgroups.push(subgroup = []); for (var group = this[j], i = -1, n = group.length; ++i < n; ) { if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, id, node.__transition__[id]); + d3_transitionNode(subnode, i, ns, id, node[ns][id]); subgroup.push(subnode); } else { subgroup.push(null); } } } - return d3_transition(subgroups, id); + return d3_transition(subgroups, ns, id); }; d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, subgroups = [], subgroup, subnodes, node, subnode, transition; + var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; selector = d3_selection_selectorAll(selector); for (var j = -1, m = this.length; ++j < m; ) { for (var group = this[j], i = -1, n = group.length; ++i < n; ) { if (node = group[i]) { - transition = node.__transition__[id]; + transition = node[ns][id]; subnodes = selector.call(node, node.__data__, i, j); subgroups.push(subgroup = []); for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, id, transition); + if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); subgroup.push(subnode); } } } } - return d3_transition(subgroups, id); + return d3_transition(subgroups, ns, id); }; d3_transitionPrototype.filter = function(filter) { var subgroups = [], subgroup, group, node; @@ -8413,23 +8681,23 @@ } } } - return d3_transition(subgroups, this.id); + return d3_transition(subgroups, this.namespace, this.id); }; d3_transitionPrototype.tween = function(name, tween) { - var id = this.id; - if (arguments.length < 2) return this.node().__transition__[id].tween.get(name); + var id = this.id, ns = this.namespace; + if (arguments.length < 2) return this.node()[ns][id].tween.get(name); return d3_selection_each(this, tween == null ? function(node) { - node.__transition__[id].tween.remove(name); + node[ns][id].tween.remove(name); } : function(node) { - node.__transition__[id].tween.set(name, tween); + node[ns][id].tween.set(name, tween); }); }; function d3_transition_tween(groups, name, value, tween) { - var id = groups.id; + var id = groups.id, ns = groups.namespace; return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node.__transition__[id].tween.set(name, tween(value.call(node, node.__data__, i, j))); + node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); } : (value = tween(value), function(node) { - node.__transition__[id].tween.set(name, value); + node[ns][id].tween.set(name, value); })); } d3_transitionPrototype.attr = function(nameNS, value) { @@ -8493,7 +8761,7 @@ } function styleString(b) { return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; + var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i; return a !== b && (i = d3_interpolate(a, b), function(t) { this.style.setProperty(name, i(t), priority); }); @@ -8504,7 +8772,7 @@ d3_transitionPrototype.styleTween = function(name, tween, priority) { if (arguments.length < 3) priority = ""; function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); + var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name)); return f && function(t) { this.style.setProperty(name, f(t), priority); }; @@ -8521,73 +8789,84 @@ }; } d3_transitionPrototype.remove = function() { + var ns = this.namespace; return this.each("end.transition", function() { var p; - if (this.__transition__.count < 2 && (p = this.parentNode)) p.removeChild(this); + if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); }); }; d3_transitionPrototype.ease = function(value) { - var id = this.id; - if (arguments.length < 1) return this.node().__transition__[id].ease; + var id = this.id, ns = this.namespace; + if (arguments.length < 1) return this.node()[ns][id].ease; if (typeof value !== "function") value = d3.ease.apply(d3, arguments); return d3_selection_each(this, function(node) { - node.__transition__[id].ease = value; + node[ns][id].ease = value; }); }; d3_transitionPrototype.delay = function(value) { - var id = this.id; - if (arguments.length < 1) return this.node().__transition__[id].delay; + var id = this.id, ns = this.namespace; + if (arguments.length < 1) return this.node()[ns][id].delay; return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node.__transition__[id].delay = +value.call(node, node.__data__, i, j); + node[ns][id].delay = +value.call(node, node.__data__, i, j); } : (value = +value, function(node) { - node.__transition__[id].delay = value; + node[ns][id].delay = value; })); }; d3_transitionPrototype.duration = function(value) { - var id = this.id; - if (arguments.length < 1) return this.node().__transition__[id].duration; + var id = this.id, ns = this.namespace; + if (arguments.length < 1) return this.node()[ns][id].duration; return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node.__transition__[id].duration = Math.max(1, value.call(node, node.__data__, i, j)); + node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); } : (value = Math.max(1, value), function(node) { - node.__transition__[id].duration = value; + node[ns][id].duration = value; })); }; d3_transitionPrototype.each = function(type, listener) { - var id = this.id; + var id = this.id, ns = this.namespace; if (arguments.length < 2) { var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node.__transition__[id]; - type.call(node, node.__data__, i, j); - }); - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; + try { + d3_transitionInheritId = id; + d3_selection_each(this, function(node, i, j) { + d3_transitionInherit = node[ns][id]; + type.call(node, node.__data__, i, j); + }); + } finally { + d3_transitionInherit = inherit; + d3_transitionInheritId = inheritId; + } } else { d3_selection_each(this, function(node) { - var transition = node.__transition__[id]; - (transition.event || (transition.event = d3.dispatch("start", "end"))).on(type, listener); + var transition = node[ns][id]; + (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); }); } return this; }; d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, subgroups = [], subgroup, group, node, transition; + var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; for (var j = 0, m = this.length; j < m; j++) { subgroups.push(subgroup = []); for (var group = this[j], i = 0, n = group.length; i < n; i++) { if (node = group[i]) { - transition = Object.create(node.__transition__[id0]); - transition.delay += transition.duration; - d3_transitionNode(node, i, id1, transition); + transition = node[ns][id0]; + d3_transitionNode(node, i, ns, id1, { + time: transition.time, + ease: transition.ease, + delay: transition.delay + transition.duration, + duration: transition.duration + }); } subgroup.push(node); } } - return d3_transition(subgroups, id1); + return d3_transition(subgroups, ns, id1); }; - function d3_transitionNode(node, i, id, inherit) { - var lock = node.__transition__ || (node.__transition__ = { + function d3_transitionNamespace(name) { + return name == null ? "__transition__" : "__transition_" + name + "__"; + } + function d3_transitionNode(node, i, ns, id, inherit) { + var lock = node[ns] || (node[ns] = { active: 0, count: 0 }), transition = lock[id]; @@ -8596,43 +8875,53 @@ transition = lock[id] = { tween: new d3_Map(), time: time, - ease: inherit.ease, delay: inherit.delay, - duration: inherit.duration + duration: inherit.duration, + ease: inherit.ease, + index: i }; + inherit = null; ++lock.count; d3.timer(function(elapsed) { - var d = node.__data__, ease = transition.ease, delay = transition.delay, duration = transition.duration, timer = d3_timer_active, tweened = []; + var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; timer.t = delay + time; if (delay <= elapsed) return start(elapsed - delay); timer.c = start; function start(elapsed) { if (lock.active > id) return stop(); + var active = lock[lock.active]; + if (active) { + --lock.count; + delete lock[lock.active]; + active.event && active.event.interrupt.call(node, node.__data__, active.index); + } lock.active = id; - transition.event && transition.event.start.call(node, d, i); + transition.event && transition.event.start.call(node, node.__data__, i); transition.tween.forEach(function(key, value) { - if (value = value.call(node, d, i)) { + if (value = value.call(node, node.__data__, i)) { tweened.push(value); } }); + ease = transition.ease; + duration = transition.duration; d3.timer(function() { timer.c = tick(elapsed || 1) ? d3_true : tick; return 1; }, 0, time); } function tick(elapsed) { - if (lock.active !== id) return stop(); + if (lock.active !== id) return 1; var t = elapsed / duration, e = ease(t), n = tweened.length; while (n > 0) { tweened[--n].call(node, e); } if (t >= 1) { - transition.event && transition.event.end.call(node, d, i); + transition.event && transition.event.end.call(node, node.__data__, i); return stop(); } } function stop() { - if (--lock.count) delete lock[id]; else delete node.__transition__; + if (--lock.count) delete lock[id]; else delete node[ns]; return 1; } }, 0, time); @@ -8849,8 +9138,8 @@ g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); } function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); + var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset; + var w = d3.select(d3_window(target)).on("keydown.brush", keydown).on("keyup.brush", keyup); if (d3.event.changedTouches) { w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); } else { @@ -9214,7 +9503,7 @@ if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; this.d3 = d3; }(); -},{}],2:[function(_dereq_,module,exports){ +},{}],2:[function(require,module,exports){ /** * @license * Copyright (c) 2012-2013 Chris Pettitt @@ -9238,16 +9527,16 @@ * THE SOFTWARE. */ module.exports = { - graphlib: _dereq_("./lib/graphlib"), - dagre: _dereq_("./lib/dagre"), - intersect: _dereq_("./lib/intersect"), - render: _dereq_("./lib/render"), - util: _dereq_("./lib/util"), - version: _dereq_("./lib/version") + 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":9,"./lib/graphlib":10,"./lib/intersect":11,"./lib/render":26,"./lib/util":28,"./lib/version":29}],3:[function(_dereq_,module,exports){ -var util = _dereq_("./util"); +},{"./lib/dagre":9,"./lib/graphlib":10,"./lib/intersect":11,"./lib/render":26,"./lib/util":28,"./lib/version":29}],3:[function(require,module,exports){ +var util = require("./util"); module.exports = { "default": normal, @@ -9310,9 +9599,9 @@ function undirected(parent, id, edge, type) { util.applyStyle(path, edge[type + "Style"]); } -},{"./util":28}],4:[function(_dereq_,module,exports){ -var util = _dereq_("./util"), - addLabel = _dereq_("./label/add-label"); +},{"./util":28}],4:[function(require,module,exports){ +var util = require("./util"), + addLabel = require("./label/add-label"); module.exports = createClusters; @@ -9355,13 +9644,13 @@ function createClusters(selection, g) { return svgClusters; } -},{"./label/add-label":19,"./util":28}],5:[function(_dereq_,module,exports){ +},{"./label/add-label":19,"./util":28}],5:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - addLabel = _dereq_("./label/add-label"), - util = _dereq_("./util"), - d3 = _dereq_("./d3"); +var _ = require("./lodash"), + addLabel = require("./label/add-label"), + util = require("./util"), + d3 = require("./d3"); module.exports = createEdgeLabels; @@ -9392,13 +9681,13 @@ function createEdgeLabels(selection, g) { return svgEdgeLabels; } -},{"./d3":8,"./label/add-label":19,"./lodash":22,"./util":28}],6:[function(_dereq_,module,exports){ +},{"./d3":8,"./label/add-label":19,"./lodash":22,"./util":28}],6:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - intersectNode = _dereq_("./intersect/intersect-node"), - util = _dereq_("./util"), - d3 = _dereq_("./d3"); +var _ = require("./lodash"), + intersectNode = require("./intersect/intersect-node"), + util = require("./util"), + d3 = require("./d3"); module.exports = createEdgePaths; @@ -9524,13 +9813,13 @@ function exit(svgPaths, g) { }); } -},{"./d3":8,"./intersect/intersect-node":15,"./lodash":22,"./util":28}],7:[function(_dereq_,module,exports){ +},{"./d3":8,"./intersect/intersect-node":15,"./lodash":22,"./util":28}],7:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - addLabel = _dereq_("./label/add-label"), - util = _dereq_("./util"), - d3 = _dereq_("./d3"); +var _ = require("./lodash"), + addLabel = require("./label/add-label"), + util = require("./util"), + d3 = require("./d3"); module.exports = createNodes; @@ -9584,18 +9873,18 @@ function createNodes(selection, g, shapes) { return svgNodes; } -},{"./d3":8,"./label/add-label":19,"./lodash":22,"./util":28}],8:[function(_dereq_,module,exports){ +},{"./d3":8,"./label/add-label":19,"./lodash":22,"./util":28}],8:[function(require,module,exports){ // Stub to get D3 either via NPM or from the global object module.exports = window.d3; -},{}],9:[function(_dereq_,module,exports){ +},{}],9:[function(require,module,exports){ /* global window */ var dagre; -if (_dereq_) { +if (require) { try { - dagre = _dereq_("dagre"); + dagre = require("dagre"); } catch (e) {} } @@ -9605,14 +9894,14 @@ if (!dagre) { module.exports = dagre; -},{"dagre":30}],10:[function(_dereq_,module,exports){ +},{"dagre":30}],10:[function(require,module,exports){ /* global window */ var graphlib; -if (_dereq_) { +if (require) { try { - graphlib = _dereq_("graphlib"); + graphlib = require("graphlib"); } catch (e) {} } @@ -9622,17 +9911,17 @@ if (!graphlib) { module.exports = graphlib; -},{"graphlib":60}],11:[function(_dereq_,module,exports){ +},{"graphlib":60}],11:[function(require,module,exports){ module.exports = { - node: _dereq_("./intersect-node"), - circle: _dereq_("./intersect-circle"), - ellipse: _dereq_("./intersect-ellipse"), - polygon: _dereq_("./intersect-polygon"), - rect: _dereq_("./intersect-rect") + node: require("./intersect-node"), + circle: require("./intersect-circle"), + ellipse: require("./intersect-ellipse"), + polygon: require("./intersect-polygon"), + rect: require("./intersect-rect") }; -},{"./intersect-circle":12,"./intersect-ellipse":13,"./intersect-node":15,"./intersect-polygon":16,"./intersect-rect":17}],12:[function(_dereq_,module,exports){ -var intersectEllipse = _dereq_("./intersect-ellipse"); +},{"./intersect-circle":12,"./intersect-ellipse":13,"./intersect-node":15,"./intersect-polygon":16,"./intersect-rect":17}],12:[function(require,module,exports){ +var intersectEllipse = require("./intersect-ellipse"); module.exports = intersectCircle; @@ -9640,7 +9929,7 @@ function intersectCircle(node, rx, point) { return intersectEllipse(node, rx, rx, point); } -},{"./intersect-ellipse":13}],13:[function(_dereq_,module,exports){ +},{"./intersect-ellipse":13}],13:[function(require,module,exports){ module.exports = intersectEllipse; function intersectEllipse(node, rx, ry, point) { @@ -9667,7 +9956,7 @@ function intersectEllipse(node, rx, ry, point) { } -},{}],14:[function(_dereq_,module,exports){ +},{}],14:[function(require,module,exports){ module.exports = intersectLine; /* @@ -9739,15 +10028,15 @@ function sameSign(r1, r2) { return r1 * r2 > 0; } -},{}],15:[function(_dereq_,module,exports){ +},{}],15:[function(require,module,exports){ module.exports = intersectNode; function intersectNode(node, point) { return node.intersect(point); } -},{}],16:[function(_dereq_,module,exports){ -var intersectLine = _dereq_("./intersect-line"); +},{}],16:[function(require,module,exports){ +var intersectLine = require("./intersect-line"); module.exports = intersectPolygon; @@ -9803,7 +10092,7 @@ function intersectPolygon(node, polyPoints, point) { return intersections[0]; } -},{"./intersect-line":14}],17:[function(_dereq_,module,exports){ +},{"./intersect-line":14}],17:[function(require,module,exports){ module.exports = intersectRect; function intersectRect(node, point) { @@ -9837,8 +10126,8 @@ function intersectRect(node, point) { return {x: x + sx, y: y + sy}; } -},{}],18:[function(_dereq_,module,exports){ -var util = _dereq_("../util"); +},{}],18:[function(require,module,exports){ +var util = require("../util"); module.exports = addHtmlLabel; @@ -9882,10 +10171,10 @@ function addHtmlLabel(root, node) { return fo; } -},{"../util":28}],19:[function(_dereq_,module,exports){ -var addTextLabel = _dereq_("./add-text-label"), - addHtmlLabel = _dereq_("./add-html-label"), - addSVGLabel = _dereq_("./add-svg-label"); +},{"../util":28}],19:[function(require,module,exports){ +var addTextLabel = require("./add-text-label"), + addHtmlLabel = require("./add-html-label"), + addSVGLabel = require("./add-svg-label"); module.exports = addLabel; @@ -9921,8 +10210,8 @@ function addLabel(root, node, location) { return labelSvg; } -},{"./add-html-label":18,"./add-svg-label":20,"./add-text-label":21}],20:[function(_dereq_,module,exports){ -var util = _dereq_("../util"); +},{"./add-html-label":18,"./add-svg-label":20,"./add-text-label":21}],20:[function(require,module,exports){ +var util = require("../util"); module.exports = addSVGLabel; @@ -9936,8 +10225,8 @@ function addSVGLabel(root, node) { return domNode; } -},{"../util":28}],21:[function(_dereq_,module,exports){ -var util = _dereq_("../util"); +},{"../util":28}],21:[function(require,module,exports){ +var util = require("../util"); module.exports = addTextLabel; @@ -9983,14 +10272,14 @@ function processEscapeSequences(text) { return newText; } -},{"../util":28}],22:[function(_dereq_,module,exports){ +},{"../util":28}],22:[function(require,module,exports){ /* global window */ var lodash; -if (_dereq_) { +if (require) { try { - lodash = _dereq_("lodash"); + lodash = require("lodash"); } catch (e) {} } @@ -10000,11 +10289,11 @@ if (!lodash) { module.exports = lodash; -},{"lodash":80}],23:[function(_dereq_,module,exports){ +},{"lodash":80}],23:[function(require,module,exports){ "use strict"; -var util = _dereq_("./util"), - d3 = _dereq_("./d3"); +var util = require("./util"), + d3 = require("./d3"); module.exports = positionClusters; @@ -10036,12 +10325,12 @@ function positionClusters(selection, g) { } -},{"./d3":8,"./util":28}],24:[function(_dereq_,module,exports){ +},{"./d3":8,"./util":28}],24:[function(require,module,exports){ "use strict"; -var util = _dereq_("./util"), - d3 = _dereq_("./d3"), - _ = _dereq_("./lodash"); +var util = require("./util"), + d3 = require("./d3"), + _ = require("./lodash"); module.exports = positionEdgeLabels; @@ -10060,11 +10349,11 @@ function positionEdgeLabels(selection, g) { .attr("transform", translate); } -},{"./d3":8,"./lodash":22,"./util":28}],25:[function(_dereq_,module,exports){ +},{"./d3":8,"./lodash":22,"./util":28}],25:[function(require,module,exports){ "use strict"; -var util = _dereq_("./util"), - d3 = _dereq_("./d3"); +var util = require("./util"), + d3 = require("./d3"); module.exports = positionNodes; @@ -10083,23 +10372,23 @@ function positionNodes(selection, g) { .attr("transform", translate); } -},{"./d3":8,"./util":28}],26:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"), - layout = _dereq_("./dagre").layout; +},{"./d3":8,"./util":28}],26:[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 = _dereq_("./create-nodes"), - createClusters = _dereq_("./create-clusters"), - createEdgeLabels = _dereq_("./create-edge-labels"), - createEdgePaths = _dereq_("./create-edge-paths"), - positionNodes = _dereq_("./position-nodes"), - positionEdgeLabels = _dereq_("./position-edge-labels"), - positionClusters = _dereq_("./position-clusters"), - shapes = _dereq_("./shapes"), - arrows = _dereq_("./arrows"); + 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); @@ -10252,13 +10541,13 @@ function createOrSelectGroup(root, name) { return selection; } -},{"./arrows":3,"./create-clusters":4,"./create-edge-labels":5,"./create-edge-paths":6,"./create-nodes":7,"./dagre":9,"./lodash":22,"./position-clusters":23,"./position-edge-labels":24,"./position-nodes":25,"./shapes":27}],27:[function(_dereq_,module,exports){ +},{"./arrows":3,"./create-clusters":4,"./create-edge-labels":5,"./create-edge-paths":6,"./create-nodes":7,"./dagre":9,"./lodash":22,"./position-clusters":23,"./position-edge-labels":24,"./position-nodes":25,"./shapes":27}],27:[function(require,module,exports){ "use strict"; -var intersectRect = _dereq_("./intersect/intersect-rect"), - intersectEllipse = _dereq_("./intersect/intersect-ellipse"), - intersectCircle = _dereq_("./intersect/intersect-circle"), - intersectPolygon = _dereq_("./intersect/intersect-polygon"); +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, @@ -10335,8 +10624,8 @@ function diamond(parent, bbox, node) { return shapeSvg; } -},{"./intersect/intersect-circle":12,"./intersect/intersect-ellipse":13,"./intersect/intersect-polygon":16,"./intersect/intersect-rect":17}],28:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"); +},{"./intersect/intersect-circle":12,"./intersect/intersect-ellipse":13,"./intersect/intersect-polygon":16,"./intersect/intersect-rect":17}],28:[function(require,module,exports){ +var _ = require("./lodash"); // Public utility functions module.exports = { @@ -10391,10 +10680,10 @@ function applyTransition(selection, g) { return selection; } -},{"./lodash":22}],29:[function(_dereq_,module,exports){ +},{"./lodash":22}],29:[function(require,module,exports){ module.exports = "0.4.10"; -},{}],30:[function(_dereq_,module,exports){ +},{}],30:[function(require,module,exports){ /* Copyright (c) 2012-2014 Chris Pettitt @@ -10418,22 +10707,22 @@ THE SOFTWARE. */ module.exports = { - graphlib: _dereq_("./lib/graphlib"), + graphlib: require("./lib/graphlib"), - layout: _dereq_("./lib/layout"), - debug: _dereq_("./lib/debug"), + layout: require("./lib/layout"), + debug: require("./lib/debug"), util: { - time: _dereq_("./lib/util").time, - notime: _dereq_("./lib/util").notime + time: require("./lib/util").time, + notime: require("./lib/util").notime }, - version: _dereq_("./lib/version") + version: require("./lib/version") }; -},{"./lib/debug":35,"./lib/graphlib":36,"./lib/layout":38,"./lib/util":58,"./lib/version":59}],31:[function(_dereq_,module,exports){ +},{"./lib/debug":35,"./lib/graphlib":36,"./lib/layout":38,"./lib/util":58,"./lib/version":59}],31:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - greedyFAS = _dereq_("./greedy-fas"); +var _ = require("./lodash"), + greedyFAS = require("./greedy-fas"); module.exports = { run: run, @@ -10498,9 +10787,9 @@ function undo(g) { }); } -},{"./greedy-fas":37,"./lodash":39}],32:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"), - util = _dereq_("./util"); +},{"./greedy-fas":37,"./lodash":39}],32:[function(require,module,exports){ +var _ = require("./lodash"), + util = require("./util"); module.exports = addBorderSegments; @@ -10538,10 +10827,10 @@ function addBorderNode(g, prop, prefix, sg, sgNode, rank) { } } -},{"./lodash":39,"./util":58}],33:[function(_dereq_,module,exports){ +},{"./lodash":39,"./util":58}],33:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"); +var _ = require("./lodash"); module.exports = { adjust: adjust, @@ -10612,7 +10901,7 @@ function swapXYOne(attrs) { attrs.y = x; } -},{"./lodash":39}],34:[function(_dereq_,module,exports){ +},{"./lodash":39}],34:[function(require,module,exports){ /* * Simple doubly linked list implementation derived from Cormen, et al., * "Introduction to Algorithms". @@ -10670,10 +10959,10 @@ function filterOutLinks(k, v) { } } -},{}],35:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"), - util = _dereq_("./util"), - Graph = _dereq_("./graphlib").Graph; +},{}],35:[function(require,module,exports){ +var _ = require("./lodash"), + util = require("./util"), + Graph = require("./graphlib").Graph; module.exports = { debugOrdering: debugOrdering @@ -10706,14 +10995,14 @@ function debugOrdering(g) { return h; } -},{"./graphlib":36,"./lodash":39,"./util":58}],36:[function(_dereq_,module,exports){ +},{"./graphlib":36,"./lodash":39,"./util":58}],36:[function(require,module,exports){ /* global window */ var graphlib; -if (typeof _dereq_ === "function") { +if (typeof require === "function") { try { - graphlib = _dereq_("graphlib"); + graphlib = require("graphlib"); } catch (e) {} } @@ -10723,10 +11012,10 @@ if (!graphlib) { module.exports = graphlib; -},{"graphlib":60}],37:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"), - Graph = _dereq_("./graphlib").Graph, - List = _dereq_("./data/list"); +},{"graphlib":60}],37:[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 @@ -10843,23 +11132,23 @@ function assignBucket(buckets, zeroIdx, entry) { } } -},{"./data/list":34,"./graphlib":36,"./lodash":39}],38:[function(_dereq_,module,exports){ +},{"./data/list":34,"./graphlib":36,"./lodash":39}],38:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - acyclic = _dereq_("./acyclic"), - normalize = _dereq_("./normalize"), - rank = _dereq_("./rank"), - normalizeRanks = _dereq_("./util").normalizeRanks, - parentDummyChains = _dereq_("./parent-dummy-chains"), - removeEmptyRanks = _dereq_("./util").removeEmptyRanks, - nestingGraph = _dereq_("./nesting-graph"), - addBorderSegments = _dereq_("./add-border-segments"), - coordinateSystem = _dereq_("./coordinate-system"), - order = _dereq_("./order"), - position = _dereq_("./position"), - util = _dereq_("./util"), - Graph = _dereq_("./graphlib").Graph; +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; @@ -11237,14 +11526,14 @@ function canonicalize(attrs) { return newAttrs; } -},{"./acyclic":31,"./add-border-segments":32,"./coordinate-system":33,"./graphlib":36,"./lodash":39,"./nesting-graph":40,"./normalize":41,"./order":46,"./parent-dummy-chains":51,"./position":53,"./rank":55,"./util":58}],39:[function(_dereq_,module,exports){ +},{"./acyclic":31,"./add-border-segments":32,"./coordinate-system":33,"./graphlib":36,"./lodash":39,"./nesting-graph":40,"./normalize":41,"./order":46,"./parent-dummy-chains":51,"./position":53,"./rank":55,"./util":58}],39:[function(require,module,exports){ /* global window */ var lodash; -if (typeof _dereq_ === "function") { +if (typeof require === "function") { try { - lodash = _dereq_("lodash"); + lodash = require("lodash"); } catch (e) {} } @@ -11254,9 +11543,9 @@ if (!lodash) { module.exports = lodash; -},{"lodash":80}],40:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"), - util = _dereq_("./util"); +},{"lodash":80}],40:[function(require,module,exports){ +var _ = require("./lodash"), + util = require("./util"); module.exports = { run: run, @@ -11388,11 +11677,11 @@ function cleanup(g) { }); } -},{"./lodash":39,"./util":58}],41:[function(_dereq_,module,exports){ +},{"./lodash":39,"./util":58}],41:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - util = _dereq_("./util"); +var _ = require("./lodash"), + util = require("./util"); module.exports = { run: run, @@ -11480,8 +11769,8 @@ function undo(g) { }); } -},{"./lodash":39,"./util":58}],42:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"./lodash":39,"./util":58}],42:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = addSubgraphConstraints; @@ -11535,8 +11824,8 @@ function addSubgraphConstraints(g, cg, vs) { */ } -},{"../lodash":39}],43:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"../lodash":39}],43:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = barycenter; @@ -11565,9 +11854,9 @@ function barycenter(g, movable) { } -},{"../lodash":39}],44:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"), - Graph = _dereq_("../graphlib").Graph; +},{"../lodash":39}],44:[function(require,module,exports){ +var _ = require("../lodash"), + Graph = require("../graphlib").Graph; module.exports = buildLayerGraph; @@ -11640,10 +11929,10 @@ function createRootNode(g) { return v; } -},{"../graphlib":36,"../lodash":39}],45:[function(_dereq_,module,exports){ +},{"../graphlib":36,"../lodash":39}],45:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"); +var _ = require("../lodash"); module.exports = crossCount; @@ -11712,17 +12001,17 @@ function twoLayerCrossCount(g, northLayer, southLayer) { return cc; } -},{"../lodash":39}],46:[function(_dereq_,module,exports){ +},{"../lodash":39}],46:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"), - initOrder = _dereq_("./init-order"), - crossCount = _dereq_("./cross-count"), - sortSubgraph = _dereq_("./sort-subgraph"), - buildLayerGraph = _dereq_("./build-layer-graph"), - addSubgraphConstraints = _dereq_("./add-subgraph-constraints"), - Graph = _dereq_("../graphlib").Graph, - util = _dereq_("../util"); +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; @@ -11793,10 +12082,10 @@ function assignOrder(g, layering) { }); } -},{"../graphlib":36,"../lodash":39,"../util":58,"./add-subgraph-constraints":42,"./build-layer-graph":44,"./cross-count":45,"./init-order":47,"./sort-subgraph":49}],47:[function(_dereq_,module,exports){ +},{"../graphlib":36,"../lodash":39,"../util":58,"./add-subgraph-constraints":42,"./build-layer-graph":44,"./cross-count":45,"./init-order":47,"./sort-subgraph":49}],47:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"); +var _ = require("../lodash"); module.exports = initOrder; @@ -11833,10 +12122,10 @@ function initOrder(g) { return layers; } -},{"../lodash":39}],48:[function(_dereq_,module,exports){ +},{"../lodash":39}],48:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"); +var _ = require("../lodash"); module.exports = resolveConflicts; @@ -11958,11 +12247,11 @@ function mergeEntries(target, source) { source.merged = true; } -},{"../lodash":39}],49:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"), - barycenter = _dereq_("./barycenter"), - resolveConflicts = _dereq_("./resolve-conflicts"), - sort = _dereq_("./sort"); +},{"../lodash":39}],49:[function(require,module,exports){ +var _ = require("../lodash"), + barycenter = require("./barycenter"), + resolveConflicts = require("./resolve-conflicts"), + sort = require("./sort"); module.exports = sortSubgraph; @@ -12036,9 +12325,9 @@ function mergeBarycenters(target, other) { } } -},{"../lodash":39,"./barycenter":43,"./resolve-conflicts":48,"./sort":50}],50:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"), - util = _dereq_("../util"); +},{"../lodash":39,"./barycenter":43,"./resolve-conflicts":48,"./sort":50}],50:[function(require,module,exports){ +var _ = require("../lodash"), + util = require("../util"); module.exports = sort; @@ -12095,8 +12384,8 @@ function compareWithBias(bias) { }; } -},{"../lodash":39,"../util":58}],51:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"); +},{"../lodash":39,"../util":58}],51:[function(require,module,exports){ +var _ = require("./lodash"); module.exports = parentDummyChains; @@ -12183,12 +12472,12 @@ function postorder(g) { return result; } -},{"./lodash":39}],52:[function(_dereq_,module,exports){ +},{"./lodash":39}],52:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"), - Graph = _dereq_("../graphlib").Graph, - util = _dereq_("../util"); +var _ = require("../lodash"), + Graph = require("../graphlib").Graph, + util = require("../util"); /* * This module provides coordinate assignment based on Brandes and Köpf, "Fast @@ -12583,12 +12872,12 @@ function width(g, v) { return g.node(v).width; } -},{"../graphlib":36,"../lodash":39,"../util":58}],53:[function(_dereq_,module,exports){ +},{"../graphlib":36,"../lodash":39,"../util":58}],53:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"), - util = _dereq_("../util"), - positionX = _dereq_("./bk").positionX; +var _ = require("../lodash"), + util = require("../util"), + positionX = require("./bk").positionX; module.exports = position; @@ -12615,12 +12904,12 @@ function positionY(g) { } -},{"../lodash":39,"../util":58,"./bk":52}],54:[function(_dereq_,module,exports){ +},{"../lodash":39,"../util":58,"./bk":52}],54:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"), - Graph = _dereq_("../graphlib").Graph, - slack = _dereq_("./util").slack; +var _ = require("../lodash"), + Graph = require("../graphlib").Graph, + slack = require("./util").slack; module.exports = feasibleTree; @@ -12706,13 +12995,13 @@ function shiftRanks(t, g, delta) { }); } -},{"../graphlib":36,"../lodash":39,"./util":57}],55:[function(_dereq_,module,exports){ +},{"../graphlib":36,"../lodash":39,"./util":57}],55:[function(require,module,exports){ "use strict"; -var rankUtil = _dereq_("./util"), +var rankUtil = require("./util"), longestPath = rankUtil.longestPath, - feasibleTree = _dereq_("./feasible-tree"), - networkSimplex = _dereq_("./network-simplex"); + feasibleTree = require("./feasible-tree"), + networkSimplex = require("./network-simplex"); module.exports = rank; @@ -12756,16 +13045,16 @@ function networkSimplexRanker(g) { networkSimplex(g); } -},{"./feasible-tree":54,"./network-simplex":56,"./util":57}],56:[function(_dereq_,module,exports){ +},{"./feasible-tree":54,"./network-simplex":56,"./util":57}],56:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"), - feasibleTree = _dereq_("./feasible-tree"), - slack = _dereq_("./util").slack, - initRank = _dereq_("./util").longestPath, - preorder = _dereq_("../graphlib").alg.preorder, - postorder = _dereq_("../graphlib").alg.postorder, - simplify = _dereq_("../util").simplify; +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; @@ -12992,10 +13281,10 @@ function isDescendant(tree, vLabel, rootLabel) { return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim; } -},{"../graphlib":36,"../lodash":39,"../util":58,"./feasible-tree":54,"./util":57}],57:[function(_dereq_,module,exports){ +},{"../graphlib":36,"../lodash":39,"../util":58,"./feasible-tree":54,"./util":57}],57:[function(require,module,exports){ "use strict"; -var _ = _dereq_("../lodash"); +var _ = require("../lodash"); module.exports = { longestPath: longestPath, @@ -13055,11 +13344,11 @@ function slack(g, e) { return g.node(e.w).rank - g.node(e.v).rank - g.edge(e).minlen; } -},{"../lodash":39}],58:[function(_dereq_,module,exports){ +},{"../lodash":39}],58:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"), - Graph = _dereq_("./graphlib").Graph; +var _ = require("./lodash"), + Graph = require("./graphlib").Graph; module.exports = { addDummyNode: addDummyNode, @@ -13293,10 +13582,10 @@ function notime(name, fn) { return fn(); } -},{"./graphlib":36,"./lodash":39}],59:[function(_dereq_,module,exports){ +},{"./graphlib":36,"./lodash":39}],59:[function(require,module,exports){ module.exports = "0.7.4"; -},{}],60:[function(_dereq_,module,exports){ +},{}],60:[function(require,module,exports){ /** * Copyright (c) 2014, Chris Pettitt * All rights reserved. @@ -13327,17 +13616,17 @@ module.exports = "0.7.4"; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var lib = _dereq_("./lib"); +var lib = require("./lib"); module.exports = { Graph: lib.Graph, - json: _dereq_("./lib/json"), - alg: _dereq_("./lib/alg"), + json: require("./lib/json"), + alg: require("./lib/alg"), version: lib.version }; -},{"./lib":76,"./lib/alg":67,"./lib/json":77}],61:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"./lib":76,"./lib/alg":67,"./lib/json":77}],61:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = components; @@ -13365,8 +13654,8 @@ function components(g) { return cmpts; } -},{"../lodash":78}],62:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"../lodash":78}],62:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = dfs; @@ -13406,9 +13695,9 @@ function doDfs(g, v, postorder, visited, acc) { } } -},{"../lodash":78}],63:[function(_dereq_,module,exports){ -var dijkstra = _dereq_("./dijkstra"), - _ = _dereq_("../lodash"); +},{"../lodash":78}],63:[function(require,module,exports){ +var dijkstra = require("./dijkstra"), + _ = require("../lodash"); module.exports = dijkstraAll; @@ -13418,9 +13707,9 @@ function dijkstraAll(g, weightFunc, edgeFunc) { }, {}); } -},{"../lodash":78,"./dijkstra":64}],64:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"), - PriorityQueue = _dereq_("../data/priority-queue"); +},{"../lodash":78,"./dijkstra":64}],64:[function(require,module,exports){ +var _ = require("../lodash"), + PriorityQueue = require("../data/priority-queue"); module.exports = dijkstra; @@ -13474,9 +13763,9 @@ function runDijkstra(g, source, weightFn, edgeFn) { return results; } -},{"../data/priority-queue":74,"../lodash":78}],65:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"), - tarjan = _dereq_("./tarjan"); +},{"../data/priority-queue":74,"../lodash":78}],65:[function(require,module,exports){ +var _ = require("../lodash"), + tarjan = require("./tarjan"); module.exports = findCycles; @@ -13486,8 +13775,8 @@ function findCycles(g) { }); } -},{"../lodash":78,"./tarjan":72}],66:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"../lodash":78,"./tarjan":72}],66:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = floydWarshall; @@ -13538,23 +13827,23 @@ function runFloydWarshall(g, weightFn, edgeFn) { return results; } -},{"../lodash":78}],67:[function(_dereq_,module,exports){ +},{"../lodash":78}],67:[function(require,module,exports){ module.exports = { - components: _dereq_("./components"), - dijkstra: _dereq_("./dijkstra"), - dijkstraAll: _dereq_("./dijkstra-all"), - findCycles: _dereq_("./find-cycles"), - floydWarshall: _dereq_("./floyd-warshall"), - isAcyclic: _dereq_("./is-acyclic"), - postorder: _dereq_("./postorder"), - preorder: _dereq_("./preorder"), - prim: _dereq_("./prim"), - tarjan: _dereq_("./tarjan"), - topsort: _dereq_("./topsort") + 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":61,"./dijkstra":64,"./dijkstra-all":63,"./find-cycles":65,"./floyd-warshall":66,"./is-acyclic":68,"./postorder":69,"./preorder":70,"./prim":71,"./tarjan":72,"./topsort":73}],68:[function(_dereq_,module,exports){ -var topsort = _dereq_("./topsort"); +},{"./components":61,"./dijkstra":64,"./dijkstra-all":63,"./find-cycles":65,"./floyd-warshall":66,"./is-acyclic":68,"./postorder":69,"./preorder":70,"./prim":71,"./tarjan":72,"./topsort":73}],68:[function(require,module,exports){ +var topsort = require("./topsort"); module.exports = isAcyclic; @@ -13570,8 +13859,8 @@ function isAcyclic(g) { return true; } -},{"./topsort":73}],69:[function(_dereq_,module,exports){ -var dfs = _dereq_("./dfs"); +},{"./topsort":73}],69:[function(require,module,exports){ +var dfs = require("./dfs"); module.exports = postorder; @@ -13579,8 +13868,8 @@ function postorder(g, vs) { return dfs(g, vs, "post"); } -},{"./dfs":62}],70:[function(_dereq_,module,exports){ -var dfs = _dereq_("./dfs"); +},{"./dfs":62}],70:[function(require,module,exports){ +var dfs = require("./dfs"); module.exports = preorder; @@ -13588,10 +13877,10 @@ function preorder(g, vs) { return dfs(g, vs, "pre"); } -},{"./dfs":62}],71:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"), - Graph = _dereq_("../graph"), - PriorityQueue = _dereq_("../data/priority-queue"); +},{"./dfs":62}],71:[function(require,module,exports){ +var _ = require("../lodash"), + Graph = require("../graph"), + PriorityQueue = require("../data/priority-queue"); module.exports = prim; @@ -13642,8 +13931,8 @@ function prim(g, weightFunc) { return result; } -},{"../data/priority-queue":74,"../graph":75,"../lodash":78}],72:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"../data/priority-queue":74,"../graph":75,"../lodash":78}],72:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = tarjan; @@ -13691,8 +13980,8 @@ function tarjan(g) { return results; } -},{"../lodash":78}],73:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"../lodash":78}],73:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = topsort; topsort.CycleException = CycleException; @@ -13727,8 +14016,8 @@ function topsort(g) { function CycleException() {} -},{"../lodash":78}],74:[function(_dereq_,module,exports){ -var _ = _dereq_("../lodash"); +},{"../lodash":78}],74:[function(require,module,exports){ +var _ = require("../lodash"); module.exports = PriorityQueue; @@ -13881,10 +14170,10 @@ PriorityQueue.prototype._swap = function(i, j) { keyIndices[origArrI.key] = j; }; -},{"../lodash":78}],75:[function(_dereq_,module,exports){ +},{"../lodash":78}],75:[function(require,module,exports){ "use strict"; -var _ = _dereq_("./lodash"); +var _ = require("./lodash"); module.exports = Graph; @@ -14402,16 +14691,16 @@ function edgeObjToId(isDirected, edgeObj) { return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name); } -},{"./lodash":78}],76:[function(_dereq_,module,exports){ +},{"./lodash":78}],76:[function(require,module,exports){ // Includes only the "core" of graphlib module.exports = { - Graph: _dereq_("./graph"), - version: _dereq_("./version") + Graph: require("./graph"), + version: require("./version") }; -},{"./graph":75,"./version":79}],77:[function(_dereq_,module,exports){ -var _ = _dereq_("./lodash"), - Graph = _dereq_("./graph"); +},{"./graph":75,"./version":79}],77:[function(require,module,exports){ +var _ = require("./lodash"), + Graph = require("./graph"); module.exports = { write: write, @@ -14477,12 +14766,12 @@ function read(json) { return g; } -},{"./graph":75,"./lodash":78}],78:[function(_dereq_,module,exports){ -module.exports=_dereq_(39) -},{"lodash":80}],79:[function(_dereq_,module,exports){ +},{"./graph":75,"./lodash":78}],78:[function(require,module,exports){ +arguments[4][39][0].apply(exports,arguments) +},{"dup":39,"lodash":80}],79:[function(require,module,exports){ module.exports = '1.0.7'; -},{}],80:[function(_dereq_,module,exports){ +},{}],80:[function(require,module,exports){ (function (global){ /** * @license @@ -26836,303 +27125,8 @@ module.exports = '1.0.7'; } }.call(this)); -}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],81:[function(_dereq_,module,exports){ - -},{}],82:[function(_dereq_,module,exports){ -(function (process){ -// Copyright Joyent, Inc. and other Node contributors. -// -// 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. - -// resolves . and .. elements in a path array with directory names there -// must be no slashes, empty elements, or device names (c:\) in the array -// (so also no leading and trailing slashes - it does not distinguish -// relative and absolute paths) -function normalizeArray(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - - return parts; -} - -// Split a filename into [root, dir, basename, ext], unix version -// 'root' is just a slash, or nothing. -var splitPathRe = - /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; -var splitPath = function(filename) { - return splitPathRe.exec(filename).slice(1); -}; - -// path.resolve([from ...], to) -// posix version -exports.resolve = function() { - var resolvedPath = '', - resolvedAbsolute = false; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : process.cwd(); - - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - continue; - } - - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; -}; - -// path.normalize(path) -// posix version -exports.normalize = function(path) { - var isAbsolute = exports.isAbsolute(path), - trailingSlash = substr(path, -1) === '/'; - - // Normalize the path - path = normalizeArray(filter(path.split('/'), function(p) { - return !!p; - }), !isAbsolute).join('/'); - - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - - return (isAbsolute ? '/' : '') + path; -}; - -// posix version -exports.isAbsolute = function(path) { - return path.charAt(0) === '/'; -}; - -// posix version -exports.join = function() { - var paths = Array.prototype.slice.call(arguments, 0); - return exports.normalize(filter(paths, function(p, index) { - if (typeof p !== 'string') { - throw new TypeError('Arguments to path.join must be strings'); - } - return p; - }).join('/')); -}; - - -// path.relative(from, to) -// posix version -exports.relative = function(from, to) { - from = exports.resolve(from).substr(1); - to = exports.resolve(to).substr(1); - - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - - return outputParts.join('/'); -}; - -exports.sep = '/'; -exports.delimiter = ':'; - -exports.dirname = function(path) { - var result = splitPath(path), - root = result[0], - dir = result[1]; - - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - - return root + dir; -}; - - -exports.basename = function(path, ext) { - var f = splitPath(path)[2]; - // TODO: make this comparison case-insensitive on windows? - if (ext && f.substr(-1 * ext.length) === ext) { - f = f.substr(0, f.length - ext.length); - } - return f; -}; - - -exports.extname = function(path) { - return splitPath(path)[3]; -}; - -function filter (xs, f) { - if (xs.filter) return xs.filter(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - if (f(xs[i], i, xs)) res.push(xs[i]); - } - return res; -} - -// String.prototype.substr - negative index don't work in IE8 -var substr = 'ab'.substr(-1) === 'b' - ? function (str, start, len) { return str.substr(start, len) } - : function (str, start, len) { - if (start < 0) start = str.length + start; - return str.substr(start, len); - } -; - -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83}],83:[function(_dereq_,module,exports){ -// shim for using process in browser - -var process = module.exports = {}; - -process.nextTick = (function () { - var canSetImmediate = typeof window !== 'undefined' - && window.setImmediate; - var canPost = typeof window !== 'undefined' - && window.postMessage && window.addEventListener - ; - - if (canSetImmediate) { - return function (f) { return window.setImmediate(f) }; - } - - if (canPost) { - var queue = []; - window.addEventListener('message', function (ev) { - var source = ev.source; - if ((source === window || source === null) && ev.data === 'process-tick') { - ev.stopPropagation(); - if (queue.length > 0) { - var fn = queue.shift(); - fn(); - } - } - }, true); - - return function nextTick(fn) { - queue.push(fn); - window.postMessage('process-tick', '*'); - }; - } - - return function nextTick(fn) { - setTimeout(fn, 0); - }; -})(); - -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -} - -// TODO(shtylman) -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; - -},{}],84:[function(_dereq_,module,exports){ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],81:[function(require,module,exports){ (function (global){ /*! http://mths.be/he v0.5.0 by @mathias | MIT license */ ;(function(root) { @@ -27464,8 +27458,8 @@ process.chdir = function (dir) { }(this)); -}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],85:[function(_dereq_,module,exports){ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],82:[function(require,module,exports){ //! moment.js //! version : 2.10.6 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors @@ -27734,7 +27728,7 @@ process.chdir = function (dir) { module && module.exports) { try { oldLocale = globalLocale._abbr; - _dereq_('./locale/' + name); + require('./locale/' + name); // because defineLocale currently also sets the global locale, we // want to undo that for lazy loaded locales locale_locales__getSetGlobalLocale(oldLocale); @@ -30661,10 +30655,10 @@ process.chdir = function (dir) { return _moment; })); -},{}],86:[function(_dereq_,module,exports){ +},{}],83:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.5.3", + "version": "0.5.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", "main": "src/mermaid.js", "keywords": [ @@ -30678,9 +30672,18 @@ module.exports={ "mermaid": "./bin/mermaid.js" }, "scripts": { - "watch": "watchify src/mermaid.js -o dist/mermaid.js", + "live": "live-server ./test/examples", + "lint": "node node_modules/eslint/bin/eslint.js src", + "watch": "source ./scripts/watch.sh", "doc": "rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets", - "test": "./node_modules/.bin/gulp dist && ./node_modules/.bin/gulp test" + "tape": "node node_modules/.bin/tape test/cli_test-*.js", + "jasmine": "node node_modules/jasmine-es6/bin/jasmine.js", + "test": "npm run dist && npm run jasmine && npm run tape", + "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js", + "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js", + "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js", + "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js", + "dist": "npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI" }, "repository": { "type": "git", @@ -30690,7 +30693,7 @@ module.exports={ "license": "MIT", "dependencies": { "chalk": "^0.5.1", - "d3": "~3.4.13", + "d3": "~3.5.6", "dagre-d3": "~0.4.8", "he": "^0.5.0", "minimist": "^1.1.0", @@ -30701,18 +30704,19 @@ module.exports={ }, "devDependencies": { "async": "^0.9.0", + "babel-eslint": "^4.1.3", + "babelify": "^6.3.0", "browserify": "~6.2.0", "clone": "^0.2.0", "codeclimate-test-reporter": "0.0.4", - "connect-livereload": "^0.5.3", - "d3": "~3.4.13", "dateformat": "^1.0.11", "dox": "^0.8.0", + "eslint": "^1.6.0", + "eslint-watch": "^2.1.2", "event-stream": "^3.2.0", - "express": "^4.12.4", "foundation": "^4.2.1-1", "front-matter": "^0.2.0", - "gulp": "~3.8.9", + "gulp": "~3.9.0", "gulp-bower": "0.0.10", "gulp-browserify": "^0.5.0", "gulp-bump": "^0.1.11", @@ -30726,7 +30730,7 @@ module.exports={ "gulp-if": "^1.2.5", "gulp-insert": "^0.4.0", "gulp-istanbul": "^0.4.0", - "gulp-jasmine": "~1.0.1", + "gulp-jasmine": "~2.1.0", "gulp-jison": "~1.2.0", "gulp-jshint": "^1.9.0", "gulp-less": "^3.0.1", @@ -30739,59 +30743,48 @@ module.exports={ "gulp-tag-version": "^1.2.1", "gulp-uglify": "~1.0.1", "gulp-vartree": "^2.0.1", - "he": "^0.5.0", "hogan.js": "^3.0.2", - "jasmine": "~2.0.1", + "jasmine": "2.3.2", + "jasmine-es6": "0.0.18", "jison": "~0.4.15", - "jshint-stylish": "^1.0.0", - "karma": "~0.12.20", - "karma-chrome-launcher": "~0.1.5", - "karma-jasmine": "~0.2.1", - "karma-requirejs": "~0.2.2", - "lodash": "^2.4.1", - "lodash._escapestringchar": "^2.4.1", - "lodash._objecttypes": "^2.4.1", - "lodash._reinterpolate": "^2.4.1", - "lodash._reunescapedhtml": "^2.4.1", - "lodash.defaults": "^2.4.1", - "lodash.templatesettings": "^2.4.1", - "lodash.values": "^2.4.1", + "jsdom": "^6.5.1", + "jshint-stylish": "^2.0.1", "map-stream": "0.0.6", "marked": "^0.3.2", - "mock-browser": "^0.90.27", + "mock-browser": "^0.91.34", "path": "^0.4.9", - "phantomjs": "^1.9.17", + "phantomjs": "^1.9.18", "proxyquire": "^1.3.1", - "readable-stream": "^2.0.2", - "replacestream": "^4.0.0", "require-dir": "^0.3.0", "rewire": "^2.1.3", "rimraf": "^2.2.8", "tape": "^3.0.3", - "tiny-lr": "^0.1.6", + "uglifyjs": "^2.4.10", "vinyl-source-stream": "^1.1.0", "watchify": "^3.2.2" } } -},{}],87:[function(_dereq_,module,exports){ +},{}],84:[function(require,module,exports){ /* global window */ //log.debug('Setting up d3'); +'use strict'; + var d3; -if (_dereq_) { - try { - d3 = _dereq_("d3"); - } catch (e) { - //log.debug('Exception ... but ok'); - //log.debug(e); - } +if (require) { + try { + d3 = require('d3'); + } catch (e) { + //log.debug('Exception ... but ok'); + //log.debug(e); + } } //log.debug(d3); if (!d3) { - //if(typeof window !== 'undefined') + //if(typeof window !== 'undefined') d3 = window.d3; } @@ -30815,7 +30808,7 @@ module.exports = d3; */ -(function() { +(function () { // set this variable to a string value to always force a particular // wrap method for development purposes, for example to check tspan @@ -30828,20 +30821,20 @@ module.exports = d3; // exit immediately if something in this location // has already been defined; the plugin will defer to whatever // else you're doing in your code - if(d3.selection.prototype.textwrap) { + if (d3.selection.prototype.textwrap) { return false; } // double check the force_wrap_method flag // and reset if someone screwed up the above // settings - if(typeof force_wrap_method == 'undefined') { + if (typeof force_wrap_method == 'undefined') { var force_wrap_method = false; } // create the plugin method twice, both for regular use // and again for use inside the enter() selection - d3.selection.prototype.textwrap = d3.selection.enter.prototype.textwrap = function(bounds, padding) { + d3.selection.prototype.textwrap = d3.selection.enter.prototype.textwrap = function (bounds, padding) { // default value of padding is zero if it's undefined var padding = parseInt(padding) || 0; @@ -30855,455 +30848,452 @@ module.exports = d3; // extract wrap boundaries from any d3-selected rect and return them // in a format that matches the simpler object argument option - var extract_bounds = function(bounds) { + var extract_bounds = function extract_bounds(bounds) { // discard the nested array wrappers added by d3 var bounding_rect = bounds[0][0]; // sanitize the svg element name so we can test against it var element_type = bounding_rect.tagName.toString(); // if it's not a rect, exit - if(element_type !== 'rect') { + if (element_type !== 'rect') { return false; // if it's a rect, proceed to extracting the position attributes } else { - var bounds_extracted = {}; - bounds_extracted.x = d3.select(bounding_rect).attr('x') || 0; - bounds_extracted.y = d3.select(bounding_rect).attr('y') || 0; - bounds_extracted.width = d3.select(bounding_rect).attr('width') || 0; - bounds_extracted.height = d3.select(bounding_rect).attr('height') || 0; - // also pass along the getter function - bounds_extracted.attr = bounds.attr; - } + var bounds_extracted = {}; + bounds_extracted.x = d3.select(bounding_rect).attr('x') || 0; + bounds_extracted.y = d3.select(bounding_rect).attr('y') || 0; + bounds_extracted.width = d3.select(bounding_rect).attr('width') || 0; + bounds_extracted.height = d3.select(bounding_rect).attr('height') || 0; + // also pass along the getter function + bounds_extracted.attr = bounds.attr; + } return bounds_extracted; - } + }; // double check the input argument for the wrapping // boundaries to make sure it actually contains all // the information we'll need in order to wrap successfully - var verify_bounds = function(bounds) { + var verify_bounds = function verify_bounds(bounds) { // quickly add a simple getter method so you can use either // bounds.x or bounds.attr('x') as your notation, // the latter being a common convention among D3 // developers - if(!bounds.attr) { - bounds.attr = function(property) { - if(this[property]) { + if (!bounds.attr) { + bounds.attr = function (property) { + if (this[property]) { return this[property]; } - } + }; } // if it's an associative array, make sure it has all the // necessary properties represented directly - if( - (typeof bounds == 'object') && - (typeof bounds.x !== 'undefined') && - (typeof bounds.y !== 'undefined') && - (typeof bounds.width !== 'undefined') && - (typeof bounds.height !== 'undefined') + if (typeof bounds == 'object' && typeof bounds.x !== 'undefined' && typeof bounds.y !== 'undefined' && typeof bounds.width !== 'undefined' && typeof bounds.height !== 'undefined' // if that's the case, then the bounds are fine ) { - // return the lightly modified bounds - return bounds; - // if it's a numerically indexed array, assume it's a - // d3-selected rect and try to extract the positions - } else if ( + // return the lightly modified bounds + return bounds; + // if it's a numerically indexed array, assume it's a + // d3-selected rect and try to extract the positions + } else if ( // first try to make sure it's an array using Array.isArray - ( - (typeof Array.isArray == 'function') && - (Array.isArray(bounds)) - ) || + typeof Array.isArray == 'function' && Array.isArray(bounds) || // but since Array.isArray isn't always supported, fall // back to casting to the object to string when it's not - (Object.prototype.toString.call(bounds) === '[object Array]') - ) { - // once you're sure it's an array, extract the boundaries - // from the rect - var extracted_bounds = extract_bounds(bounds); - return extracted_bounds; - } else { - // but if the bounds are neither an object nor a numerical - // array, then the bounds argument is invalid and you'll - // need to fix it - return false; - } - } + Object.prototype.toString.call(bounds) === '[object Array]') { + // once you're sure it's an array, extract the boundaries + // from the rect + var extracted_bounds = extract_bounds(bounds); + return extracted_bounds; + } else { + // but if the bounds are neither an object nor a numerical + // array, then the bounds argument is invalid and you'll + // need to fix it + return false; + } + }; - var apply_padding = function(bounds, padding) { + var apply_padding = function apply_padding(bounds, padding) { var padded_bounds = bounds; - if(padding !== 0) { + if (padding !== 0) { padded_bounds.x = parseInt(padded_bounds.x) + padding; padded_bounds.y = parseInt(padded_bounds.y) + padding; padded_bounds.width -= padding * 2; padded_bounds.height -= padding * 2; } return padded_bounds; - } + }; // verify bounds var verified_bounds = verify_bounds(bounds); // modify bounds if a padding value is provided - if(padding) { + if (padding) { verified_bounds = apply_padding(verified_bounds, padding); } // check that we have the necessary conditions for this function to operate properly - if( - // selection it's operating on cannot be not empty - (selection.length == 0) || - // d3 must be available - (!d3) || - // desired wrapping bounds must be provided as an input argument - (!bounds) || - // input bounds must validate - (!verified_bounds) - ) { + if ( + // selection it's operating on cannot be not empty + selection.length == 0 || + // d3 must be available + !d3 || + // desired wrapping bounds must be provided as an input argument + !bounds || + // input bounds must validate + !verified_bounds) { // try to return the calling selection if possible // so as not to interfere with methods downstream in the // chain - if(selection) { + if (selection) { return selection; // if all else fails, just return false. if you hit this point then you're // almost certainly trying to call the textwrap() method on something that // doesn't make sense! } else { - return false; - } + return false; + } // if we've validated everything then we can finally proceed // to the meat of this operation } else { - // reassign the verified bounds as the set we want - // to work with from here on; this ensures that we're - // using the same data structure for our bounds regardless - // of whether the input argument was a simple object or - // a d3 selection - bounds = verified_bounds; + // reassign the verified bounds as the set we want + // to work with from here on; this ensures that we're + // using the same data structure for our bounds regardless + // of whether the input argument was a simple object or + // a d3 selection + bounds = verified_bounds; - // wrap using html and foreignObjects if they are supported - var wrap_with_foreignobjects = function(item) { - // establish variables to quickly reference target nodes later - var parent = d3.select(item[0].parentNode); - var text_node = parent.select('text'); - var styled_line_height = text_node.style('line-height'); - // extract our desired content from the single text element - var text_to_wrap = text_node.text(); - // remove the text node and replace with a foreign object - text_node.remove(); - var foreign_object = parent.append('foreignObject'); - // add foreign object and set dimensions, position, etc - foreign_object - .attr("requiredFeatures", "http://www.w3.org/TR/SVG11/feature#Extensibility") - .attr('x', bounds.x) - .attr('y', bounds.y) - .attr('width', bounds.width) - .attr('height', bounds.height); - // insert an HTML div - var wrap_div = foreign_object - .append('xhtml:div') + // wrap using html and foreignObjects if they are supported + var wrap_with_foreignobjects = function wrap_with_foreignobjects(item) { + // establish variables to quickly reference target nodes later + var parent = d3.select(item[0].parentNode); + var text_node = parent.select('text'); + var styled_line_height = text_node.style('line-height'); + // extract our desired content from the single text element + var text_to_wrap = text_node.text(); + // remove the text node and replace with a foreign object + text_node.remove(); + var foreign_object = parent.append('foreignObject'); + // add foreign object and set dimensions, position, etc + foreign_object.attr('requiredFeatures', 'http://www.w3.org/TR/SVG11/feature#Extensibility').attr('x', bounds.x).attr('y', bounds.y).attr('width', bounds.width).attr('height', bounds.height); + // insert an HTML div + var wrap_div = foreign_object.append('xhtml:div') // this class is currently hardcoded // probably not necessary but easy to // override using .classed() and for now // it's nice to avoid a litany of input // arguments .attr('class', 'wrapped'); - // set div to same dimensions as foreign object - wrap_div - .style('height', bounds.height) - .style('width', bounds.width) + // set div to same dimensions as foreign object + wrap_div.style('height', bounds.height).style('width', bounds.width) // insert text content .html(text_to_wrap); - if(styled_line_height) { - wrap_div.style('line-height', styled_line_height); - } - return_value = parent.select('foreignObject'); - } + if (styled_line_height) { + wrap_div.style('line-height', styled_line_height); + } + return_value = parent.select('foreignObject'); + }; - - // wrap with tspans if foreignObject is undefined - var wrap_with_tspans = function(item) { - // operate on the first text item in the selection - var text_node = item[0]; - var parent = text_node.parentNode; - var text_node_selected = d3.select(text_node); - // measure initial size of the text node as rendered - var text_node_height = text_node.getBBox().height; - var text_node_width = text_node.getBBox().width; - // figure out the line height, either from rendered height - // of the font or attached styling - var line_height; - var rendered_line_height = text_node_height; - var styled_line_height = text_node_selected.style('line-height'); - if( - (styled_line_height) && - (parseInt(styled_line_height)) - ) { - line_height = parseInt(styled_line_height.replace('px', '')); - } else { - line_height = rendered_line_height; - } - // only fire the rest of this if the text content - // overflows the desired dimensions - if(text_node_width > bounds.width) { - // store whatever is inside the text node - // in a variable and then zero out the - // initial content; we'll reinsert in a moment - // using tspan elements. - var text_to_wrap = text_node_selected.text(); - text_node_selected.text(''); - if(text_to_wrap) { - // keep track of whether we are splitting by spaces - // so we know whether to reinsert those spaces later - var break_delimiter; - // split at spaces to create an array of individual words - var text_to_wrap_array; - if(text_to_wrap.indexOf(' ') !== -1) { - var break_delimiter = ' '; - text_to_wrap_array = text_to_wrap.split(' '); - } else { - // if there are no spaces, figure out the split - // points by comparing rendered text width against - // bounds and translating that into character position - // cuts - break_delimiter = ''; - var string_length = text_to_wrap.length; - var number_of_substrings = Math.ceil(text_node_width / bounds.width); - var splice_interval = Math.floor(string_length / number_of_substrings); - if( - !(splice_interval * number_of_substrings >= string_length) - ) { - number_of_substrings++; - } - var text_to_wrap_array = []; - var substring; - var start_position; - for(var i = 0; i < number_of_substrings; i++) { - start_position = i * splice_interval; - substring = text_to_wrap.substr(start_position, splice_interval); - text_to_wrap_array.push(substring); - } - } - - // new array where we'll store the words re-assembled into - // substrings that have been tested against the desired - // maximum wrapping width - var substrings = []; - // computed text length is arguably incorrectly reported for - // all tspans after the first one, in that they will include - // the width of previous separate tspans. to compensate we need - // to manually track the computed text length of all those - // previous tspans and substrings, and then use that to offset - // the miscalculation. this then gives us the actual correct - // position we want to use in rendering the text in the SVG. - var total_offset = 0; - // object for storing the results of text length computations later - var temp = {}; - // loop through the words and test the computed text length - // of the string against the maximum desired wrapping width - for(var i = 0; i < text_to_wrap_array.length; i++) { - var word = text_to_wrap_array[i]; - var previous_string = text_node_selected.text(); - var previous_width = text_node.getComputedTextLength(); - // initialize the current word as the first word - // or append to the previous string if one exists - var new_string; - if(previous_string) { - new_string = previous_string + break_delimiter + word; + // wrap with tspans if foreignObject is undefined + var wrap_with_tspans = function wrap_with_tspans(item) { + // operate on the first text item in the selection + var text_node = item[0]; + var parent = text_node.parentNode; + var text_node_selected = d3.select(text_node); + // measure initial size of the text node as rendered + var text_node_height = text_node.getBBox().height; + var text_node_width = text_node.getBBox().width; + // figure out the line height, either from rendered height + // of the font or attached styling + var line_height; + var rendered_line_height = text_node_height; + var styled_line_height = text_node_selected.style('line-height'); + if (styled_line_height && parseInt(styled_line_height)) { + line_height = parseInt(styled_line_height.replace('px', '')); + } else { + line_height = rendered_line_height; + } + // only fire the rest of this if the text content + // overflows the desired dimensions + if (text_node_width > bounds.width) { + // store whatever is inside the text node + // in a variable and then zero out the + // initial content; we'll reinsert in a moment + // using tspan elements. + var text_to_wrap = text_node_selected.text(); + text_node_selected.text(''); + if (text_to_wrap) { + // keep track of whether we are splitting by spaces + // so we know whether to reinsert those spaces later + var break_delimiter; + // split at spaces to create an array of individual words + var text_to_wrap_array; + if (text_to_wrap.indexOf(' ') !== -1) { + var break_delimiter = ' '; + text_to_wrap_array = text_to_wrap.split(' '); } else { - new_string = word; + // if there are no spaces, figure out the split + // points by comparing rendered text width against + // bounds and translating that into character position + // cuts + break_delimiter = ''; + var string_length = text_to_wrap.length; + var number_of_substrings = Math.ceil(text_node_width / bounds.width); + var splice_interval = Math.floor(string_length / number_of_substrings); + if (!(splice_interval * number_of_substrings >= string_length)) { + number_of_substrings++; + } + var text_to_wrap_array = []; + var substring; + var start_position; + for (var i = 0; i < number_of_substrings; i++) { + start_position = i * splice_interval; + substring = text_to_wrap.substr(start_position, splice_interval); + text_to_wrap_array.push(substring); + } } - // add the newest substring back to the text node and - // measure the length - text_node_selected.text(new_string); - var new_width = text_node.getComputedTextLength(); - // adjust the length by the offset we've tracked - // due to the misreported length discussed above - var test_width = new_width - total_offset; - // if our latest version of the string is too - // big for the bounds, use the previous - // version of the string (without the newest word - // added) and use the latest word to restart the - // process with a new tspan - if(new_width > bounds.width) { - if( - (previous_string) && - (previous_string !== '') - ) { - total_offset = total_offset + previous_width; - temp = {string: previous_string, width: previous_width, offset: total_offset}; - substrings.push(temp); + + // new array where we'll store the words re-assembled into + // substrings that have been tested against the desired + // maximum wrapping width + var substrings = []; + // computed text length is arguably incorrectly reported for + // all tspans after the first one, in that they will include + // the width of previous separate tspans. to compensate we need + // to manually track the computed text length of all those + // previous tspans and substrings, and then use that to offset + // the miscalculation. this then gives us the actual correct + // position we want to use in rendering the text in the SVG. + var total_offset = 0; + // object for storing the results of text length computations later + var temp = {}; + // loop through the words and test the computed text length + // of the string against the maximum desired wrapping width + for (var i = 0; i < text_to_wrap_array.length; i++) { + var word = text_to_wrap_array[i]; + var previous_string = text_node_selected.text(); + var previous_width = text_node.getComputedTextLength(); + // initialize the current word as the first word + // or append to the previous string if one exists + var new_string; + if (previous_string) { + new_string = previous_string + break_delimiter + word; + } else { + new_string = word; + } + // add the newest substring back to the text node and + // measure the length + text_node_selected.text(new_string); + var new_width = text_node.getComputedTextLength(); + // adjust the length by the offset we've tracked + // due to the misreported length discussed above + var test_width = new_width - total_offset; + // if our latest version of the string is too + // big for the bounds, use the previous + // version of the string (without the newest word + // added) and use the latest word to restart the + // process with a new tspan + if (new_width > bounds.width) { + if (previous_string && previous_string !== '') { + total_offset = total_offset + previous_width; + temp = { string: previous_string, width: previous_width, offset: total_offset }; + substrings.push(temp); + text_node_selected.text(''); + text_node_selected.text(word); + // Handle case where there is just one more word to be wrapped + if (i == text_to_wrap_array.length - 1) { + new_string = word; + text_node_selected.text(new_string); + new_width = text_node.getComputedTextLength(); + } + } + } + // if we're up to the last word in the array, + // get the computed length as is without + // appending anything further to it + if (i == text_to_wrap_array.length - 1) { text_node_selected.text(''); - text_node_selected.text(word); - // Handle case where there is just one more word to be wrapped - if(i == text_to_wrap_array.length - 1) { - new_string = word; - text_node_selected.text(new_string); - new_width = text_node.getComputedTextLength(); + var final_string = new_string; + if (final_string && final_string !== '') { + if (new_width - total_offset > 0) { + new_width = new_width - total_offset; + } + temp = { string: final_string, width: new_width, offset: total_offset }; + substrings.push(temp); } } } - // if we're up to the last word in the array, - // get the computed length as is without - // appending anything further to it - if(i == text_to_wrap_array.length - 1) { - text_node_selected.text(''); - var final_string = new_string; - if( - (final_string) && - (final_string !== '') - ) { - if((new_width - total_offset) > 0) {new_width = new_width - total_offset} - temp = {string: final_string, width: new_width, offset: total_offset}; - substrings.push(temp); - } - } - } - // append each substring as a tspan - var current_tspan; - var tspan_count; - // double check that the text content has been removed - // before we start appending tspans - text_node_selected.text(''); - for(var i = 0; i < substrings.length; i++) { - var substring = substrings[i].string; - if(i > 0) { - var previous_substring = substrings[i - 1]; - } - // only append if we're sure it won't make the tspans - // overflow the bounds. - if((i) * line_height < bounds.height - (line_height * 1.5)) { - current_tspan = text_node_selected.append('tspan') - .text(substring); - // vertical shift to all tspans after the first one - current_tspan - .attr('dy', function(d) { - if(i > 0) { + // append each substring as a tspan + var current_tspan; + var tspan_count; + // double check that the text content has been removed + // before we start appending tspans + text_node_selected.text(''); + for (var i = 0; i < substrings.length; i++) { + var substring = substrings[i].string; + if (i > 0) { + var previous_substring = substrings[i - 1]; + } + // only append if we're sure it won't make the tspans + // overflow the bounds. + if (i * line_height < bounds.height - line_height * 1.5) { + current_tspan = text_node_selected.append('tspan').text(substring); + // vertical shift to all tspans after the first one + current_tspan.attr('dy', function (d) { + if (i > 0) { return line_height; } }); - // shift left from default position, which - // is probably based on the full length of the - // text string until we make this adjustment - current_tspan - .attr('x', function() { + // shift left from default position, which + // is probably based on the full length of the + // text string until we make this adjustment + current_tspan.attr('x', function () { var x_offset = bounds.x; - if(padding) {x_offset += padding;} + if (padding) { + x_offset += padding; + } return x_offset; }); -// .attr('dx', function() { -// if(i == 0) { -// var render_offset = 0; -// } else if(i > 0) { -// render_offset = substrings[i - 1].width; -// render_offset = render_offset * -1; -// } -// return render_offset; -// }); + // .attr('dx', function() { + // if(i == 0) { + // var render_offset = 0; + // } else if(i > 0) { + // render_offset = substrings[i - 1].width; + // render_offset = render_offset * -1; + // } + // return render_offset; + // }); + } } } } + // position the overall text node, whether wrapped or not + text_node_selected.attr('y', function () { + var y_offset = bounds.y; + // shift by line-height to move the baseline into + // the bounds – otherwise the text baseline would be + // at the top of the bounds + if (line_height) { + y_offset += line_height; + } + // shift by padding, if it's there + if (padding) { + y_offset += padding; + } + return y_offset; + }); + // shift to the right by the padding value + text_node_selected.attr('x', function () { + var x_offset = bounds.x; + if (padding) { + x_offset += padding; + } + return x_offset; + }); + + // assign our modified text node with tspans + // to the return value + return_value = d3.select(parent).selectAll('text'); + }; + + // variable used to hold the functions that let us + // switch between the wrap methods + var wrap_method; + + // if a wrap method if being forced, assign that + // function + if (force_wrap_method) { + if (force_wrap_method == 'foreignobjects') { + wrap_method = wrap_with_foreignobjects; + } else if (force_wrap_method == 'tspans') { + wrap_method = wrap_with_tspans; + } } - // position the overall text node, whether wrapped or not - text_node_selected.attr('y', function() { - var y_offset = bounds.y; - // shift by line-height to move the baseline into - // the bounds – otherwise the text baseline would be - // at the top of the bounds - if(line_height) {y_offset += line_height;} - // shift by padding, if it's there - if(padding) {y_offset += padding;} - return y_offset; - }); - // shift to the right by the padding value - text_node_selected.attr('x', function() { - var x_offset = bounds.x; - if(padding) {x_offset += padding;} - return x_offset; - }); - - // assign our modified text node with tspans - // to the return value - return_value = d3.select(parent).selectAll('text'); - } - - // variable used to hold the functions that let us - // switch between the wrap methods - var wrap_method; - - // if a wrap method if being forced, assign that - // function - if(force_wrap_method) { - if(force_wrap_method == 'foreignobjects') { - wrap_method = wrap_with_foreignobjects; - } else if (force_wrap_method == 'tspans') { - wrap_method = wrap_with_tspans; + // if no wrap method is being forced, then instead + // test for browser support of foreignobject and + // use whichever wrap method makes sense accordingly + if (!force_wrap_method) { + if (typeof SVGForeignObjectElement !== 'undefined') { + wrap_method = wrap_with_foreignobjects; + } else { + wrap_method = wrap_with_tspans; + } } - } - // if no wrap method is being forced, then instead - // test for browser support of foreignobject and - // use whichever wrap method makes sense accordingly - if(!force_wrap_method) { - if(typeof SVGForeignObjectElement !== 'undefined') { - wrap_method = wrap_with_foreignobjects; - } else { - wrap_method = wrap_with_tspans; + // run the desired wrap function for each item + // in the d3 selection that called .textwrap() + for (var i = 0; i < selection.length; i++) { + var item = selection[i]; + wrap_method(item); } + + // return the modified nodes so we can chain other + // methods to them. + return return_value; } - - // run the desired wrap function for each item - // in the d3 selection that called .textwrap() - for(var i = 0; i < selection.length; i++) { - var item = selection[i]; - wrap_method(item); - } - - // return the modified nodes so we can chain other - // methods to them. - return return_value; - - } - - } - + }; })(); /* jshint ignore:end */ -},{"d3":1}],88:[function(_dereq_,module,exports){ + +},{"d3":1}],85:[function(require,module,exports){ +(function (global){ /** * Created by knut on 15-01-14. */ -var log = _dereq_('../../logger').create(); +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var message = ''; var info = false; -exports.setMessage = function(txt){ +exports.setMessage = function (txt) { + log.debug('Setting message to: ' + txt); message = txt; }; -exports.getMessage = function(){ +exports.getMessage = function () { return message; }; -exports.setInfo = function(inf){ +exports.setInfo = function (inf) { info = inf; }; -exports.getInfo = function(){ +exports.getInfo = function () { return info; }; -exports.parseError = function(err,hash){ - mermaidAPI.parseError(err,hash); +exports.parseError = function (err, hash) { + global.mermaidAPI.parseError(err, hash); }; -},{"../../logger":104}],89:[function(_dereq_,module,exports){ + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../../logger":100}],86:[function(require,module,exports){ /** * Created by knut on 14-12-11. */ -var db = _dereq_('./exampleDb'); -var exampleParser = _dereq_('./parser/example.js'); -var d3 = _dereq_('../../d3'); -var log = _dereq_('../../logger').create(); +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var db = require('./exampleDb'); +var exampleParser = require('./parser/example.js'); +var d3 = require('../../d3'); + +var log = new Logger.Log(); + /** * Draws a an info picture in the tag with id: id based on the graph definition in text. * @param text @@ -31313,35 +31303,29 @@ exports.draw = function (txt, id, ver) { var parser; parser = exampleParser.parser; parser.yy = db; - + log.debug('Renering example diagram'); // Parse the graph definition parser.parse(txt); // Fetch the default direction, use TD if none was found - var svg = d3.select('#'+id); + var svg = d3.select('#' + id); - var textstring = "mermaid!"; - var g = svg.append("g"); + var g = svg.append('g'); - g.append("text") // text label for the x axis - .attr("x", 100) - .attr("y", 40) - .attr('class','version') - .attr('font-size','32px') - .style("text-anchor", "middle") - .text('mermaid '+ ver); + g.append('text') // text label for the x axis + .attr('x', 100).attr('y', 40).attr('class', 'version').attr('font-size', '32px').style('text-anchor', 'middle').text('mermaid ' + ver); /* var box = exports.bounds.getBounds(); - - var height = box.stopy-box.starty+2*conf.diagramMarginY; + var height = box.stopy-box.starty+2*conf.diagramMarginY; var width = box.stopx-box.startx+2*conf.diagramMarginX;*/ - svg.attr("height",100); - svg.attr("width", 400 ); - //svg.attr("viewBox", '0 0 300 150'); + svg.attr('height', 100); + svg.attr('width', 400); + //svg.attr('viewBox', '0 0 300 150'); }; -},{"../../d3":87,"../../logger":104,"./exampleDb":88,"./parser/example.js":90}],90:[function(_dereq_,module,exports){ + +},{"../../d3":84,"../../logger":100,"./exampleDb":85,"./parser/example.js":87}],87:[function(require,module,exports){ (function (process){ /* parser generated by jison 0.4.15 */ /* @@ -31416,568 +31400,591 @@ exports.draw = function (txt, id, ver) { recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,12]; -var parser = {trace: function trace() { }, -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 anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ +"use strict"; -var $0 = $$.length - 1; -switch (yystate) { -case 1: - return yy; -break; -case 4: - -break; -case 6: - yy.setInfo(true); -break; -case 7: - yy.setMessage($$[$0]); -break; -case 8: - this.$ = $$[$0-1].substring(1).trim().replace(/\\n/gm, "\n"); -break; -} -}, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[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]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,7]),{13:[1,11]},o($V0,[2,8])], -defaultActions: {4:[2,1]}, -parseError: function parseError(str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - throw new Error(str); - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - _token_stack: - function lex() { - var token; - token = lexer.lex() || EOF; - if (typeof token !== 'number') { - token = self.symbols_[token] || token; +var parser = (function () { + var o = function o(k, v, _o, l) { + for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o; + }, + $V0 = [6, 9, 10, 12]; + var parser = { trace: function trace() {}, + 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 anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) { + /* this == yyval */ + + var $0 = $$.length - 1; + switch (yystate) { + case 1: + return yy; + break; + case 4: + + break; + case 6: + yy.setInfo(true); + break; + case 7: + yy.setMessage($$[$0]); + break; + case 8: + this.$ = $$[$0 - 1].substring(1).trim().replace(/\\n/gm, "\n"); + break; } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); + }, + table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [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] }, o($V0, [2, 3]), o($V0, [2, 4]), o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 7]), { 13: [1, 11] }, o($V0, [2, 8])], + defaultActions: { 4: [2, 1] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + throw new Error(str); } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); + }, + parse: function parse(input) { + var self = this, + stack = [0], + tstack = [], + vstack = [null], + lstack = [], + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + _token_stack: var lex = function lex() { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, + preErrorSymbol, + state, + action, + a, + r, + yyval = {}, + p, + len, + newState, + expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } }; + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + + EOF: 1, + + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + + // resets the lexer, sets new input + setInput: function setInput(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + 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 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + + // consumes and returns one char from the input + input: function input() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + + // unshifts one char (or a string) into the input + unput: function unput(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = 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); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + + // When called from action, caches matched text and appends it on next action + more: function more() { + this._more = true; + return this; + }, + + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function reject() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return 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 + }); + } + return this; + }, + + // retain first n characters of the match + less: function less(n) { + this.unput(this.match.slice(n)); + }, + + // displays already matched input, i.e. for error messages + pastInput: function pastInput() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }, + + // displays upcoming input, i.e. for error messages + upcomingInput: function upcomingInput() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function showPosition() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function test_match(match, indexed_rule) { + var token, lines, backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + 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 + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); } } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, -EOF:1, + // return next match in input + next: function next() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - 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 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = 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); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return 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 - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function (match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - 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 - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); if (token !== false) { return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; } - } else if (!this.options.flex) { - break; + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, -// return next match that has a token -lex:function lex() { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin(condition) { - this.conditionStack.push(condition); - }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, -// pop the previously active lexer condition state off the condition stack -popState:function popState() { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules() { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState(n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, -// alias for begin(condition) -pushState:function pushState(condition) { - this.begin(condition); - }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - // Pre-lexer code can go here + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: { "case-insensitive": true }, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + // Pre-lexer code can go here -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 9; -break; -case 1:return 10; -break; -case 2:return 4; -break; -case 3:return 12; -break; -case 4:return 13; -break; -case 5:return 6; -break; -case 6:return 'INVALID'; -break; -} -}, -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":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (typeof _dereq_ !== 'undefined' && typeof exports !== 'undefined') { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain(args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); + var YYSTATE = YY_START; + switch ($avoiding_name_collisions) { + case 0: + return 9; + break; + case 1: + return 10; + break; + case 2: + return 4; + break; + case 3: + return 12; + break; + case 4: + return 13; + break; + case 5: + return 6; + break; + case 6: + return 'INVALID'; + break; + } + }, + 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": true } } + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser;parser.Parser = Parser; + return new Parser(); +})(); + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { + exports.parser = parser; + exports.Parser = parser.Parser; + exports.parse = function () { + return parser.parse.apply(parser, arguments); + }; + exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: ' + args[0] + ' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); + }; + if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); } - var source = _dereq_('fs').readFileSync(_dereq_('path').normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if (typeof module !== 'undefined' && _dereq_.main === module) { - exports.main(process.argv.slice(1)); } -} -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83,"fs":81,"path":82}],91:[function(_dereq_,module,exports){ + +}).call(this,require('_process')) +},{"_process":105,"fs":103,"path":104}],88:[function(require,module,exports){ /* global window */ -var log = _dereq_('../../logger').create(); +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var dagreD3; //log.debug('setting up dagre-d3'); -if (_dereq_) { +if (require) { try { - dagreD3 = _dereq_("dagre-d3"); - //log.debug('Got it (dagre-d3)'); - } catch (e) {log.debug('Could not load dagre-d3');} + dagreD3 = require('dagre-d3'); + //log.debug('Got it (dagre-d3)'); + } catch (e) { + log.debug('Could not load dagre-d3'); + } } if (!dagreD3) { @@ -31986,23 +31993,31 @@ if (!dagreD3) { module.exports = dagreD3; -},{"../../logger":104,"dagre-d3":2}],92:[function(_dereq_,module,exports){ +},{"../../logger":100,"dagre-d3":2}],89:[function(require,module,exports){ /** * Created by knut on 14-12-11. */ -var graph = _dereq_('./graphDb'); -var flow = _dereq_('./parser/flow'); -var dot = _dereq_('./parser/dot'); -var d3 = _dereq_('../../d3'); -var dagreD3 = _dereq_('./dagre-d3'); -var log = _dereq_('../../logger').create(); +'use strict'; -var conf = { -}; -module.exports.setConf = function(cnf){ +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var graph = require('./graphDb'); +var flow = require('./parser/flow'); +var dot = require('./parser/dot'); +var d3 = require('../../d3'); +var dagreD3 = require('./dagre-d3'); + +var log = new Logger.Log(); + +var conf = {}; +module.exports.setConf = function (cnf) { var keys = Object.keys(cnf); var i; - for(i=0;i0){ - classStr = vertice.classes.join(" "); + if (vertice.classes.length > 0) { + classStr = vertice.classes.join(' '); } /** @@ -32057,22 +32070,18 @@ exports.addVertices = function (vert, g) { // Use vertice id as text in the box if no text is provided by the graph definition if (typeof vertice.text === 'undefined') { verticeText = vertice.id; - } - else { + } else { verticeText = vertice.text; } - - var labelTypeStr = ''; - if(conf.htmlLabels) { + if (conf.htmlLabels) { labelTypeStr = 'html'; - verticeText = verticeText.replace(/fa:fa[\w\-]+/g,function(s,t,u){ - return ''; + verticeText = verticeText.replace(/fa:fa[\w\-]+/g, function (s) { + return ''; }); - } else { - verticeText = verticeText.replace(/
/g, "\n"); + verticeText = verticeText.replace(/
/g, '\n'); labelTypeStr = 'text'; } @@ -32080,7 +32089,7 @@ exports.addVertices = function (vert, g) { var _shape = ''; // Set the shape based parameters - switch(vertice.type){ + switch (vertice.type) { case 'round': radious = 5; _shape = 'rect'; @@ -32108,7 +32117,7 @@ exports.addVertices = function (vert, g) { _shape = 'rect'; } // Add the node - g.setNode(vertice.id, {labelType: labelTypeStr, shape:_shape, label: verticeText, rx: radious, ry: radious, class: classStr, style: style, id:vertice.id}); + g.setNode(vertice.id, { labelType: labelTypeStr, shape: _shape, label: verticeText, rx: radious, ry: radious, 'class': classStr, style: style, id: vertice.id }); }); }; @@ -32118,39 +32127,35 @@ exports.addVertices = function (vert, g) { * @param {Object} g The graph object */ exports.addEdges = function (edges, g) { - var cnt=0; + var cnt = 0; var aHead; - - var defaultStyle; - if(typeof edges.defaultStyle !== 'undefined'){ - defaultStyle = edges.defaultStyle.toString().replace(/,/g , ';'); + var defaultStyle; + if (typeof edges.defaultStyle !== 'undefined') { + defaultStyle = edges.defaultStyle.toString().replace(/,/g, ';'); } edges.forEach(function (edge) { cnt++; // Set link type for rendering - if(edge.type === 'arrow_open'){ + if (edge.type === 'arrow_open') { aHead = 'none'; - } - else{ + } else { aHead = 'normal'; } var style = ''; - - if(typeof edge.style !== 'undefined'){ - edge.style.forEach(function(s){ - style = style + s +';'; + if (typeof edge.style !== 'undefined') { + edge.style.forEach(function (s) { + style = style + s + ';'; }); - } - else{ - switch(edge.stroke){ + } else { + switch (edge.stroke) { case 'normal': style = 'fill:none'; - if(typeof defaultStyle !== 'undefined'){ + if (typeof defaultStyle !== 'undefined') { style = defaultStyle; } break; @@ -32165,29 +32170,29 @@ exports.addEdges = function (edges, g) { // Add the edge to the graph if (typeof edge.text === 'undefined') { - if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ style: style, arrowhead: aHead},cnt); - }else{ + if (typeof edge.style === 'undefined') { + g.setEdge(edge.start, edge.end, { style: style, arrowhead: aHead }, cnt); + } else { g.setEdge(edge.start, edge.end, { - style: style, arrowheadStyle: "fill: #333", arrowhead: aHead - },cnt); + style: style, arrowheadStyle: 'fill: #333', arrowhead: aHead + }, cnt); } } // Edge with text else { - var edgeText = edge.text.replace(/
/g, "\n"); - if(typeof edge.style === 'undefined'){ - if (conf.htmlLabels){ - g.setEdge(edge.start, edge.end,{labelType: "html",style: style, labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); - }else{ - g.setEdge(edge.start, edge.end,{labelType: "text", style: "stroke: #333; stroke-width: 1.5px;fill:none", labelpos:'c', label: edgeText, arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + var edgeText = edge.text.replace(/
/g, '\n'); + if (typeof edge.style === 'undefined') { + if (conf.htmlLabels) { + g.setEdge(edge.start, edge.end, { labelType: 'html', style: style, labelpos: 'c', label: '' + edge.text + '', arrowheadStyle: 'fill: #333', arrowhead: aHead }, cnt); + } else { + g.setEdge(edge.start, edge.end, { labelType: 'text', style: 'stroke: #333; stroke-width: 1.5px;fill:none', labelpos: 'c', label: edgeText, arrowheadStyle: 'fill: #333', arrowhead: aHead }, cnt); + } + } else { + g.setEdge(edge.start, edge.end, { + labelType: 'text', style: style, arrowheadStyle: 'fill: #333', label: edgeText, arrowhead: aHead + }, cnt); } - }else{ - g.setEdge(edge.start, edge.end, { - labelType: "text", style: style, arrowheadStyle: "fill: #333", label: edgeText, arrowhead: aHead - },cnt); } - } }); }; @@ -32198,10 +32203,9 @@ exports.addEdges = function (edges, g) { exports.getClasses = function (text, isDot) { var parser; graph.clear(); - if(isDot){ + if (isDot) { parser = dot.parser; - - }else{ + } else { parser = flow.parser; } parser.yy = graph; @@ -32212,13 +32216,13 @@ exports.getClasses = function (text, isDot) { var classes = graph.getClasses(); // Add default class if undefined - if(typeof(classes.default) === 'undefined') { - classes.default = {id:'default'}; + if (typeof classes['default'] === 'undefined') { + classes['default'] = { id: 'default' }; //classes.default.styles = ['fill:#ffa','stroke:#666','stroke-width:3px']; - classes.default.styles = []; - classes.default.clusterStyles = ['rx:4px','fill: rgb(255, 255, 222)','rx: 4px','stroke: rgb(170, 170, 51)','stroke-width: 1px']; - classes.default.nodeLabelStyles = ['fill:#000','stroke:none','font-weight:300','font-family:"Helvetica Neue",Helvetica,Arial,sans-serf','font-size:14px']; - classes.default.edgeLabelStyles = ['fill:#000','stroke:none','font-weight:300','font-family:"Helvetica Neue",Helvetica,Arial,sans-serf','font-size:14px']; + classes['default'].styles = []; + classes['default'].clusterStyles = ['rx:4px', 'fill: rgb(255, 255, 222)', 'rx: 4px', 'stroke: rgb(170, 170, 51)', 'stroke-width: 1px']; + classes['default'].nodeLabelStyles = ['fill:#000', 'stroke:none', 'font-weight:300', 'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf', 'font-size:14px']; + classes['default'].edgeLabelStyles = ['fill:#000', 'stroke:none', 'font-weight:300', 'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf', 'font-size:14px']; } return classes; }; @@ -32228,55 +32232,51 @@ exports.getClasses = function (text, isDot) { * @param text * @param id */ -exports.draw = function (text, id,isDot) { +exports.draw = function (text, id, isDot) { log.debug('Drawing flowchart'); var parser; graph.clear(); - if(isDot){ + if (isDot) { parser = dot.parser; - - }else{ + } else { parser = flow.parser; } parser.yy = graph; // Parse the graph definition - try{ + try { parser.parse(text); - } - catch(err){ - + } catch (err) { + log.debug('Parsing failed'); } // Fetch the default direction, use TD if none was found var dir; dir = graph.getDirection(); - if(typeof dir === 'undefined'){ - dir='TD'; + if (typeof dir === 'undefined') { + dir = 'TD'; } // Create the input mermaid.graph var g = new dagreD3.graphlib.Graph({ - multigraph:true, + multigraph: true, compound: true - }) - .setGraph({ - rankdir: dir, - marginx: 20, - marginy: 20 + }).setGraph({ + rankdir: dir, + marginx: 20, + marginy: 20 - }) - .setDefaultEdgeLabel(function () { - return {}; - }); + }).setDefaultEdgeLabel(function () { + return {}; + }); var subG; var subGraphs = graph.getSubGraphs(); var i = 0; - for(i=subGraphs.length-1;i>=0;i--){ + for (i = subGraphs.length - 1; i >= 0; i--) { subG = subGraphs[i]; - graph.addVertex(subG.id,subG.title,'group',undefined); + graph.addVertex(subG.id, subG.title, 'group', undefined); } // Fetch the verices/nodes and edges/links from the parsed graph definition @@ -32287,14 +32287,14 @@ exports.draw = function (text, id,isDot) { i = 0; var j; - for(i=subGraphs.length-1;i>=0;i--){ + for (i = subGraphs.length - 1; i >= 0; i--) { subG = subGraphs[i]; d3.selectAll('cluster').append('text'); - for(j=0;j0){ - id.split(',').forEach(function(id2){ - if(typeof vertices[id2] !== 'undefined'){ +exports.setClass = function (id, className) { + if (id.indexOf(',') > 0) { + id.split(',').forEach(function (id2) { + if (typeof vertices[id2] !== 'undefined') { vertices[id2].classes.push(className); } }); - }else{ - if(typeof vertices[id] !== 'undefined'){ + } else { + if (typeof vertices[id] !== 'undefined') { vertices[id].classes.push(className); } } }; -var setTooltip = function(id,tooltip){ - if(typeof tooltip !== 'undefined'){ - tooltips[id]=tooltip; +var setTooltip = function setTooltip(id, tooltip) { + if (typeof tooltip !== 'undefined') { + tooltips[id] = tooltip; } }; -var setClickFun = function(id, functionName){ - if(typeof functionName === 'undefined'){ +var setClickFun = function setClickFun(id, functionName) { + if (typeof functionName === 'undefined') { return; } if (typeof vertices[id] !== 'undefined') { funs.push(function (element) { - var elem = d3.select(element).select('#'+id); + var elem = d3.select(element).select('#' + id); if (elem !== null) { elem.on('click', function () { eval(functionName + '(\'' + id + '\')'); // jshint ignore:line @@ -32639,45 +32603,45 @@ var setClickFun = function(id, functionName){ } }; -var setLink = function(id, linkStr){ - if(typeof linkStr === 'undefined'){ +var setLink = function setLink(id, linkStr) { + if (typeof linkStr === 'undefined') { return; } if (typeof vertices[id] !== 'undefined') { funs.push(function (element) { - var elem = d3.select(element).select('#'+id); + var elem = d3.select(element).select('#' + id); if (elem !== null) { elem.on('click', function () { - window.open(linkStr,'newTab'); // jshint ignore:line + window.open(linkStr, 'newTab'); // jshint ignore:line }); } }); } }; -exports.getTooltip = function(id){ +exports.getTooltip = function (id) { return tooltips[id]; }; -var clickEvents = []; + /** * Called by parser when a graph definition is found, stores the direction of the chart. * @param dir */ -exports.setClickEvent = function (id,functionName, link,tooltip) { - if(id.indexOf(',')>0){ - id.split(',').forEach(function(id2) { - setTooltip(id2,tooltip); - setClickFun(id2, functionName); - setLink(id2, link); - }); - }else{ - setTooltip(id,tooltip); - setClickFun(id, functionName); - setLink(id, link); - } +exports.setClickEvent = function (id, functionName, link, tooltip) { + if (id.indexOf(',') > 0) { + id.split(',').forEach(function (id2) { + setTooltip(id2, tooltip); + setClickFun(id2, functionName); + setLink(id2, link); + }); + } else { + setTooltip(id, tooltip); + setClickFun(id, functionName); + setLink(id, link); + } }; -exports.bindFunctions = function(element){ - funs.forEach(function(fun){ +exports.bindFunctions = function (element) { + funs.forEach(function (fun) { fun(element); }); }; @@ -32708,45 +32672,33 @@ exports.getClasses = function () { return classes; }; -var setupToolTips = function(element){ +var setupToolTips = function setupToolTips(element) { var tooltipElem = d3.select('.mermaidTooltip'); - if(tooltipElem[0][0] === null){ - tooltipElem = d3.select("body") - .append("div") - .attr("class", "mermaidTooltip") - .style("opacity", 0); + if (tooltipElem[0][0] === null) { + tooltipElem = d3.select('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0); } var svg = d3.select(element).select('svg'); - var nodes = svg.selectAll("g.node"); - nodes - .on("mouseover", function(d) { - var el = d3.select(this); - var title = el.attr('title'); - // Dont try to draw a tooltip if no data is provided - if(title === null){ - return; - } - var rect = this.getBoundingClientRect(); + var nodes = svg.selectAll('g.node'); + nodes.on('mouseover', function () { + var el = d3.select(this); + var title = el.attr('title'); + // Dont try to draw a tooltip if no data is provided + if (title === null) { + return; + } + var rect = this.getBoundingClientRect(); - tooltipElem.transition() - .duration(200) - .style("opacity", '.9'); - tooltipElem.html(el.attr('title')) - .style("left", (rect.left+(rect.right-rect.left)/2) + "px") - .style("top", (rect.top-14+document.body.scrollTop) + "px"); - el.classed('hover',true); - - }) - .on("mouseout", function(d) { - tooltipElem.transition() - .duration(500) - .style("opacity", 0); - var el = d3.select(this); - el.classed('hover',false); - }); + tooltipElem.transition().duration(200).style('opacity', '.9'); + tooltipElem.html(el.attr('title')).style('left', rect.left + (rect.right - rect.left) / 2 + 'px').style('top', rect.top - 14 + document.body.scrollTop + 'px'); + el.classed('hover', true); + }).on('mouseout', function () { + tooltipElem.transition().duration(500).style('opacity', 0); + var el = d3.select(this); + el.classed('hover', false); + }); }; funs.push(setupToolTips); @@ -32768,7 +32720,7 @@ exports.clear = function () { * @returns {string} */ exports.defaultStyle = function () { - return "fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"; + return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;'; }; /** @@ -32776,37 +32728,34 @@ exports.defaultStyle = function () { */ exports.addSubGraph = function (list, title) { function uniq(a) { - var prims = {"boolean":{}, "number":{}, "string":{}}, objs = []; + var prims = { 'boolean': {}, 'number': {}, 'string': {} }, + objs = []; - return a.filter(function(item) { + return a.filter(function (item) { var type = typeof item; - if(item===' '){ + if (item === ' ') { return false; } - if(type in prims) - return prims[type].hasOwnProperty(item) ? false : (prims[type][item] = true); - else - return objs.indexOf(item) >= 0 ? false : objs.push(item); + if (type in prims) return prims[type].hasOwnProperty(item) ? false : prims[type][item] = true;else return objs.indexOf(item) >= 0 ? false : objs.push(item); }); } var nodeList = []; - nodeList = uniq(nodeList.concat.apply(nodeList,list)); + nodeList = uniq(nodeList.concat.apply(nodeList, list)); - - var subGraph = {id:'subGraph'+subCount, nodes:nodeList,title:title}; -//log.debug('subGraph:' + subGraph.title + subGraph.id); -//log.debug(subGraph.nodes); + var subGraph = { id: 'subGraph' + subCount, nodes: nodeList, title: title }; + //log.debug('subGraph:' + subGraph.title + subGraph.id); + //log.debug(subGraph.nodes); subGraphs.push(subGraph); subCount = subCount + 1; return subGraph.id; }; -var getPosForId = function(id){ +var getPosForId = function getPosForId(id) { var i; - for(i=0;i2000){ + if (secCount > 2000) { return; - } //var nPos = getPosForId(subGraphs[pos].id); - posCrossRef[secCount]=pos; + posCrossRef[secCount] = pos; // Check if match - if(subGraphs[pos].id === id){ + if (subGraphs[pos].id === id) { return { - result:true, - count:0 + result: true, + count: 0 }; } - var count = 0; var posCount = 1; - while(count=0){ - var res = indexNodes(id,childPos); - if(res.result){ + if (childPos >= 0) { + var res = indexNodes(id, childPos); + if (res.result) { return { - result:true, - count:posCount+res.count + result: true, + count: posCount + res.count }; - }else{ + } else { posCount = posCount + res.count; } } - count = count +1; + count = count + 1; } - + return { - result:false, - count:posCount + result: false, + count: posCount }; - }; - - exports.getDepthFirstPos = function (pos) { return posCrossRef[pos]; }; -exports.indexNodes = function (id) { +exports.indexNodes = function () { secCount = -1; - if(subGraphs.length>0){ - indexNodes('none',subGraphs.length-1,0); + if (subGraphs.length > 0) { + indexNodes('none', subGraphs.length - 1, 0); } }; -exports.getSubGraphs = function (list) { +exports.getSubGraphs = function () { return subGraphs; }; -exports.parseError = function(err,hash){ - mermaidAPI.parseError(err,hash); +exports.parseError = function (err, hash) { + global.mermaidAPI.parseError(err, hash); }; -},{"../../logger":104}],94:[function(_dereq_,module,exports){ + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../../d3":84,"../../logger":100}],91:[function(require,module,exports){ (function (process){ /* parser generated by jison 0.4.15 */ /* @@ -32954,670 +32900,756 @@ exports.parseError = function(err,hash){ recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,5],$V1=[1,6],$V2=[1,12],$V3=[1,13],$V4=[1,14],$V5=[1,15],$V6=[1,16],$V7=[1,17],$V8=[1,18],$V9=[1,19],$Va=[1,20],$Vb=[1,21],$Vc=[1,22],$Vd=[8,16,17,18,19,20,21,22,23,24,25,26],$Ve=[1,37],$Vf=[1,33],$Vg=[1,34],$Vh=[1,35],$Vi=[1,36],$Vj=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],$Vk=[10,28],$Vl=[10,28,37,57,58],$Vm=[2,49],$Vn=[1,45],$Vo=[1,48],$Vp=[1,49],$Vq=[1,52],$Vr=[2,65],$Vs=[1,65],$Vt=[1,66],$Vu=[1,67],$Vv=[1,68],$Vw=[1,69],$Vx=[1,70],$Vy=[1,71],$Vz=[1,72],$VA=[1,73],$VB=[8,16,17,18,19,20,21,22,23,24,25,26,47],$VC=[10,28,37]; -var parser = {trace: function trace() { }, -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 anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ +"use strict"; -var $0 = $$.length - 1; -switch (yystate) { -case 1: -this.$=$$[$0-1]; -break; -case 2: -this.$=$$[$0-4]; -break; -case 3: -this.$=$$[$0-5]; -break; -case 4: -this.$=$$[$0-3]; -break; -case 8: case 10: case 11: -this.$=$$[$0]; -break; -case 9: -this.$=$$[$0-1]+''+$$[$0]; -break; -case 12: case 13: case 14: case 15: case 16: case 18: case 19: case 20: -this.$ = $$[$0]; -break; -case 17: -this.$ = '
'; -break; -case 39: -this.$='oy'; -break; -case 40: +var parser = (function () { + var o = function o(k, v, _o, l) { + for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o; + }, + $V0 = [1, 5], + $V1 = [1, 6], + $V2 = [1, 12], + $V3 = [1, 13], + $V4 = [1, 14], + $V5 = [1, 15], + $V6 = [1, 16], + $V7 = [1, 17], + $V8 = [1, 18], + $V9 = [1, 19], + $Va = [1, 20], + $Vb = [1, 21], + $Vc = [1, 22], + $Vd = [8, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], + $Ve = [1, 37], + $Vf = [1, 33], + $Vg = [1, 34], + $Vh = [1, 35], + $Vi = [1, 36], + $Vj = [8, 10, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 32, 37, 39, 40, 45, 57, 58], + $Vk = [10, 28], + $Vl = [10, 28, 37, 57, 58], + $Vm = [2, 49], + $Vn = [1, 45], + $Vo = [1, 48], + $Vp = [1, 49], + $Vq = [1, 52], + $Vr = [2, 65], + $Vs = [1, 65], + $Vt = [1, 66], + $Vu = [1, 67], + $Vv = [1, 68], + $Vw = [1, 69], + $Vx = [1, 70], + $Vy = [1, 71], + $Vz = [1, 72], + $VA = [1, 73], + $VB = [8, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 47], + $VC = [10, 28, 37]; + var parser = { trace: function trace() {}, + 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 anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) { + /* this == yyval */ - yy.addLink($$[$0-1],$$[$0].id,$$[$0].op); - this.$='oy'; -break; -case 42: + var $0 = $$.length - 1; + switch (yystate) { + case 1: + this.$ = $$[$0 - 1]; + break; + case 2: + this.$ = $$[$0 - 4]; + break; + case 3: + this.$ = $$[$0 - 5]; + break; + case 4: + this.$ = $$[$0 - 3]; + break; + case 8:case 10:case 11: + this.$ = $$[$0]; + break; + case 9: + this.$ = $$[$0 - 1] + '' + $$[$0]; + break; + case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20: + this.$ = $$[$0]; + break; + case 17: + this.$ = '
'; + break; + case 39: + this.$ = 'oy'; + break; + case 40: - yy.addLink($$[$0-1],$$[$0].id,$$[$0].op); - this.$={op:$$[$0-2],id:$$[$0-1]}; - -break; -case 44: + yy.addLink($$[$0 - 1], $$[$0].id, $$[$0].op); + this.$ = 'oy'; + break; + case 42: - this.$={op:$$[$0-1],id:$$[$0]}; - -break; -case 48: -yy.addVertex($$[$0-1]);this.$=$$[$0-1]; -break; -case 49: -yy.addVertex($$[$0]);this.$=$$[$0]; -break; -case 66: -this.$='arrow'; -break; -case 67: -this.$='arrow_open'; -break; -} -}, -table: [{3:1,4:2,6:3,11:[1,4],12:$V0,13:$V1},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc},{6:23,12:$V0,13:$V1},o($Vd,[2,5]),o($Vd,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:$Ve,9:25,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},o([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc}),o($Vj,[2,8]),o($Vj,[2,10]),o($Vj,[2,11]),o($Vj,[2,12]),o($Vj,[2,13]),o($Vj,[2,14]),o($Vj,[2,15]),o($Vj,[2,16]),o($Vj,[2,17]),o($Vj,[2,18]),o($Vj,[2,19]),o($Vj,[2,20]),{7:39,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc},{7:30,8:$Ve,9:40,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},{10:[1,41]},{10:[2,21],28:[1,42]},o($Vk,[2,23]),o($Vk,[2,24]),o($Vk,[2,25]),o($Vl,$Vm,{44:44,32:[1,43],45:$Vn}),o($Vk,[2,27],{41:46,43:47,57:$Vo,58:$Vp}),o($Vk,[2,47],{43:47,34:50,41:51,37:$Vq,57:$Vo,58:$Vp}),{34:53,37:$Vq},{34:54,37:$Vq},{34:55,37:$Vq},{7:56,8:[1,57],14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc},{7:30,8:$Ve,9:58,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},o($Vj,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:$Ve,9:61,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},{7:62,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc},o($Vl,[2,48]),o($Vl,$Vr,{14:10,15:11,7:63,46:64,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,48:$Vs,49:$Vt,50:$Vu,51:$Vv,52:$Vw,53:$Vx,54:$Vy,55:$Vz,56:$VA}),o($Vk,[2,41],{34:74,37:$Vq}),{7:77,8:$Ve,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,33:76,42:75,47:$Vi},o($VB,[2,66]),o($VB,[2,67]),o($Vk,[2,46]),o($Vk,[2,40],{34:78,37:$Vq}),{7:81,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,38:79,39:[1,80]},o($Vk,[2,28]),o($Vk,[2,29]),o($Vk,[2,30]),{8:[1,82]},{7:30,8:$Ve,9:83,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},{10:[1,84]},{7:30,8:$Ve,9:85,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},{5:[2,2]},{10:[2,22]},o($Vk,[2,26]),o($Vl,[2,51],{45:[1,86]}),o($Vl,[2,52]),o($Vl,[2,56]),o($Vl,[2,57]),o($Vl,[2,58]),o($Vl,[2,59]),o($Vl,[2,60]),o($Vl,[2,61]),o($Vl,[2,62]),o($Vl,[2,63]),o($Vl,[2,64]),o($Vk,[2,38]),o($VC,[2,44],{43:47,41:87,57:$Vo,58:$Vp}),o($VC,[2,45],{43:47,41:88,57:$Vo,58:$Vp}),o($Vl,$Vm,{44:44,45:$Vn}),o($Vk,[2,39]),{39:[1,89]},o($Vk,[2,34],{34:90,37:$Vq}),{32:[1,91]},{7:30,8:$Ve,9:92,12:$Vf,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:26,29:27,30:28,31:29,33:31,35:$Vg,36:$Vh,42:32,47:$Vi},{10:[1,93]},o($Vl,[2,55]),{10:[1,94]},o($Vl,$Vr,{46:95,48:$Vs,49:$Vt,50:$Vu,51:$Vv,52:$Vw,53:$Vx,54:$Vy,55:$Vz,56:$VA}),o($VC,[2,42]),o($VC,[2,43]),o($Vk,[2,33],{34:96,37:$Vq}),o($Vk,[2,32]),{7:97,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc},{10:[1,98]},o($Vl,[2,54]),{5:[2,3]},o($Vl,[2,50]),o($Vk,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},o($Vl,[2,53]),{7:81,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,38:101},{7:81,14:10,15:11,16:$V2,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,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 parseError(str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - throw new Error(str); - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - _token_stack: - function lex() { - var token; - token = lexer.lex() || EOF; - if (typeof token !== 'number') { - token = self.symbols_[token] || token; + yy.addLink($$[$0 - 1], $$[$0].id, $$[$0].op); + this.$ = { op: $$[$0 - 2], id: $$[$0 - 1] }; + + break; + case 44: + + this.$ = { op: $$[$0 - 1], id: $$[$0] }; + + break; + case 48: + yy.addVertex($$[$0 - 1]);this.$ = $$[$0 - 1]; + break; + case 49: + yy.addVertex($$[$0]);this.$ = $$[$0]; + break; + case 66: + this.$ = 'arrow'; + break; + case 67: + this.$ = 'arrow_open'; + break; } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); + }, + table: [{ 3: 1, 4: 2, 6: 3, 11: [1, 4], 12: $V0, 13: $V1 }, { 1: [3] }, { 5: [1, 7] }, { 7: 8, 8: [1, 9], 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc }, { 6: 23, 12: $V0, 13: $V1 }, o($Vd, [2, 5]), o($Vd, [2, 6]), { 1: [2, 1] }, { 8: [1, 24] }, { 7: 30, 8: $Ve, 9: 25, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, o([8, 10, 28, 32, 37, 39, 40, 45, 57, 58], [2, 7], { 15: 38, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc }), o($Vj, [2, 8]), o($Vj, [2, 10]), o($Vj, [2, 11]), o($Vj, [2, 12]), o($Vj, [2, 13]), o($Vj, [2, 14]), o($Vj, [2, 15]), o($Vj, [2, 16]), o($Vj, [2, 17]), o($Vj, [2, 18]), o($Vj, [2, 19]), o($Vj, [2, 20]), { 7: 39, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc }, { 7: 30, 8: $Ve, 9: 40, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, { 10: [1, 41] }, { 10: [2, 21], 28: [1, 42] }, o($Vk, [2, 23]), o($Vk, [2, 24]), o($Vk, [2, 25]), o($Vl, $Vm, { 44: 44, 32: [1, 43], 45: $Vn }), o($Vk, [2, 27], { 41: 46, 43: 47, 57: $Vo, 58: $Vp }), o($Vk, [2, 47], { 43: 47, 34: 50, 41: 51, 37: $Vq, 57: $Vo, 58: $Vp }), { 34: 53, 37: $Vq }, { 34: 54, 37: $Vq }, { 34: 55, 37: $Vq }, { 7: 56, 8: [1, 57], 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc }, { 7: 30, 8: $Ve, 9: 58, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, o($Vj, [2, 9]), { 8: [1, 59] }, { 10: [1, 60] }, { 5: [2, 4] }, { 7: 30, 8: $Ve, 9: 61, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, { 7: 62, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc }, o($Vl, [2, 48]), o($Vl, $Vr, { 14: 10, 15: 11, 7: 63, 46: 64, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 48: $Vs, 49: $Vt, 50: $Vu, 51: $Vv, 52: $Vw, 53: $Vx, 54: $Vy, 55: $Vz, 56: $VA }), o($Vk, [2, 41], { 34: 74, 37: $Vq }), { 7: 77, 8: $Ve, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 33: 76, 42: 75, 47: $Vi }, o($VB, [2, 66]), o($VB, [2, 67]), o($Vk, [2, 46]), o($Vk, [2, 40], { 34: 78, 37: $Vq }), { 7: 81, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 38: 79, 39: [1, 80] }, o($Vk, [2, 28]), o($Vk, [2, 29]), o($Vk, [2, 30]), { 8: [1, 82] }, { 7: 30, 8: $Ve, 9: 83, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, { 10: [1, 84] }, { 7: 30, 8: $Ve, 9: 85, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, { 5: [2, 2] }, { 10: [2, 22] }, o($Vk, [2, 26]), o($Vl, [2, 51], { 45: [1, 86] }), o($Vl, [2, 52]), o($Vl, [2, 56]), o($Vl, [2, 57]), o($Vl, [2, 58]), o($Vl, [2, 59]), o($Vl, [2, 60]), o($Vl, [2, 61]), o($Vl, [2, 62]), o($Vl, [2, 63]), o($Vl, [2, 64]), o($Vk, [2, 38]), o($VC, [2, 44], { 43: 47, 41: 87, 57: $Vo, 58: $Vp }), o($VC, [2, 45], { 43: 47, 41: 88, 57: $Vo, 58: $Vp }), o($Vl, $Vm, { 44: 44, 45: $Vn }), o($Vk, [2, 39]), { 39: [1, 89] }, o($Vk, [2, 34], { 34: 90, 37: $Vq }), { 32: [1, 91] }, { 7: 30, 8: $Ve, 9: 92, 12: $Vf, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: 26, 29: 27, 30: 28, 31: 29, 33: 31, 35: $Vg, 36: $Vh, 42: 32, 47: $Vi }, { 10: [1, 93] }, o($Vl, [2, 55]), { 10: [1, 94] }, o($Vl, $Vr, { 46: 95, 48: $Vs, 49: $Vt, 50: $Vu, 51: $Vv, 52: $Vw, 53: $Vx, 54: $Vy, 55: $Vz, 56: $VA }), o($VC, [2, 42]), o($VC, [2, 43]), o($Vk, [2, 33], { 34: 96, 37: $Vq }), o($Vk, [2, 32]), { 7: 97, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc }, { 10: [1, 98] }, o($Vl, [2, 54]), { 5: [2, 3] }, o($Vl, [2, 50]), o($Vk, [2, 31]), { 28: [1, 99], 39: [2, 37], 40: [1, 100] }, o($Vl, [2, 53]), { 7: 81, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 38: 101 }, { 7: 81, 14: 10, 15: 11, 16: $V2, 17: $V3, 18: $V4, 19: $V5, 20: $V6, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: $Vb, 26: $Vc, 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 parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + throw new Error(str); } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); + }, + parse: function parse(input) { + var self = this, + stack = [0], + tstack = [], + vstack = [null], + lstack = [], + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + _token_stack: var lex = function lex() { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, + preErrorSymbol, + state, + action, + a, + r, + yyval = {}, + p, + len, + newState, + expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } }; + + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + + EOF: 1, + + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + + // resets the lexer, sets new input + setInput: function setInput(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + 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 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + + // consumes and returns one char from the input + input: function input() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + + // unshifts one char (or a string) into the input + unput: function unput(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = 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); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + + // When called from action, caches matched text and appends it on next action + more: function more() { + this._more = true; + return this; + }, + + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function reject() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return 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 + }); + } + return this; + }, + + // retain first n characters of the match + less: function less(n) { + this.unput(this.match.slice(n)); + }, + + // displays already matched input, i.e. for error messages + pastInput: function pastInput() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }, + + // displays upcoming input, i.e. for error messages + upcomingInput: function upcomingInput() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function showPosition() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function test_match(match, indexed_rule) { + var token, lines, backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + 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 + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); } } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ + // return next match in input + next: function next() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - 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 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = 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); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return 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 - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function (match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - 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 - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); if (token !== false) { return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; } - } else if (!this.options.flex) { - break; + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, -// return next match that has a token -lex:function lex() { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin(condition) { - this.conditionStack.push(condition); - }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, -// pop the previously active lexer condition state off the condition stack -popState:function popState() { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules() { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState(n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, -// alias for begin(condition) -pushState:function pushState(condition) { - this.begin(condition); - }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 'STYLE'; -break; -case 1:return 'LINKSTYLE'; -break; -case 2:return 'CLASSDEF'; -break; -case 3:return 'CLASS'; -break; -case 4:return 'CLICK'; -break; -case 5:return 12; -break; -case 6:return 13; -break; -case 7:return 47; -break; -case 8:return 35; -break; -case 9:return 36; -break; -case 10:return 'DIR'; -break; -case 11:return 'DIR'; -break; -case 12:return 'DIR'; -break; -case 13:return 'DIR'; -break; -case 14:return 'DIR'; -break; -case 15:return 'DIR'; -break; -case 16:return 17; -break; -case 17:return 23; -break; -case 18:return 18; -break; -case 19:return 28; -break; -case 20:return 40; -break; -case 21:return 32; -break; -case 22:return 21; -break; -case 23:return 22; -break; -case 24:return 'ARROW_CROSS'; -break; -case 25:return 57; -break; -case 26:return 'ARROW_CIRCLE'; -break; -case 27:return 58; -break; -case 28:return 25; -break; -case 29:return 19; -break; -case 30:return 20; -break; -case 31:return 16; -break; -case 32:return 'PIPE'; -break; -case 33:return 'PS'; -break; -case 34:return 'PE'; -break; -case 35:return 37; -break; -case 36:return 39; -break; -case 37:return 8 -break; -case 38:return 10 -break; -case 39:return 'QUOTE'; -break; -case 40:return 24; -break; -case 41:return 'NEWLINE'; -break; -case 42:return 5; -break; -} -}, -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":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (typeof _dereq_ !== 'undefined' && typeof exports !== 'undefined') { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain(args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: {}, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + var YYSTATE = YY_START; + switch ($avoiding_name_collisions) { + case 0: + return 'STYLE'; + break; + case 1: + return 'LINKSTYLE'; + break; + case 2: + return 'CLASSDEF'; + break; + case 3: + return 'CLASS'; + break; + case 4: + return 'CLICK'; + break; + case 5: + return 12; + break; + case 6: + return 13; + break; + case 7: + return 47; + break; + case 8: + return 35; + break; + case 9: + return 36; + break; + case 10: + return 'DIR'; + break; + case 11: + return 'DIR'; + break; + case 12: + return 'DIR'; + break; + case 13: + return 'DIR'; + break; + case 14: + return 'DIR'; + break; + case 15: + return 'DIR'; + break; + case 16: + return 17; + break; + case 17: + return 23; + break; + case 18: + return 18; + break; + case 19: + return 28; + break; + case 20: + return 40; + break; + case 21: + return 32; + break; + case 22: + return 21; + break; + case 23: + return 22; + break; + case 24: + return 'ARROW_CROSS'; + break; + case 25: + return 57; + break; + case 26: + return 'ARROW_CIRCLE'; + break; + case 27: + return 58; + break; + case 28: + return 25; + break; + case 29: + return 19; + break; + case 30: + return 20; + break; + case 31: + return 16; + break; + case 32: + return 'PIPE'; + break; + case 33: + return 'PS'; + break; + case 34: + return 'PE'; + break; + case 35: + return 37; + break; + case 36: + return 39; + break; + case 37: + return 8; + break; + case 38: + return 10; + break; + case 39: + return 'QUOTE'; + break; + case 40: + return 24; + break; + case 41: + return 'NEWLINE'; + break; + case 42: + return 5; + break; + } + }, + 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": true } } + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser;parser.Parser = Parser; + return new Parser(); +})(); + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { + exports.parser = parser; + exports.Parser = parser.Parser; + exports.parse = function () { + return parser.parse.apply(parser, arguments); + }; + exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: ' + args[0] + ' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); + }; + if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); } - var source = _dereq_('fs').readFileSync(_dereq_('path').normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if (typeof module !== 'undefined' && _dereq_.main === module) { - exports.main(process.argv.slice(1)); } -} -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83,"fs":81,"path":82}],95:[function(_dereq_,module,exports){ + +}).call(this,require('_process')) +},{"_process":105,"fs":103,"path":104}],92:[function(require,module,exports){ (function (process){ /* parser generated by jison 0.4.15 */ /* @@ -33692,874 +33724,1030 @@ if (typeof module !== 'undefined' && _dereq_.main === module) { recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,4],$V1=[1,3],$V2=[1,5],$V3=[1,8,9,10,11,13,18,30,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],$V4=[2,2],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,15],$V9=[1,31],$Va=[1,33],$Vb=[1,22],$Vc=[1,34],$Vd=[1,24],$Ve=[1,25],$Vf=[1,26],$Vg=[1,27],$Vh=[1,28],$Vi=[1,36],$Vj=[1,38],$Vk=[1,35],$Vl=[1,37],$Vm=[1,43],$Vn=[1,42],$Vo=[1,39],$Vp=[1,40],$Vq=[1,41],$Vr=[1,8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],$Vs=[1,51],$Vt=[1,50],$Vu=[1,52],$Vv=[1,70],$Vw=[1,78],$Vx=[1,79],$Vy=[1,64],$Vz=[1,63],$VA=[1,83],$VB=[1,82],$VC=[1,80],$VD=[1,81],$VE=[1,71],$VF=[1,66],$VG=[1,65],$VH=[1,61],$VI=[1,73],$VJ=[1,74],$VK=[1,75],$VL=[1,76],$VM=[1,77],$VN=[1,68],$VO=[1,67],$VP=[8,9,11],$VQ=[8,9,11,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62],$VR=[1,112],$VS=[8,9,10,11,13,15,18,36,38,40,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,79,83,85,86,88,89,91,92,93],$VT=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],$VU=[1,114],$VV=[1,115],$VW=[8,9,10,11,13,18,30,32,44,69,70,71,72,73,79,83,85,86,88,89,91,92,93],$VX=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,44,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,69,70,71,72,73,76,79,81,83,85,86,88,89,91,92,93],$VY=[13,18,44,79,83,85,86,88,89,91,92,93],$VZ=[13,18,44,47,63,79,83,85,86,88,89,91,92,93],$V_=[1,186],$V$=[1,183],$V01=[1,190],$V11=[1,187],$V21=[1,184],$V31=[1,191],$V41=[1,181],$V51=[1,182],$V61=[1,185],$V71=[1,188],$V81=[1,189],$V91=[1,205],$Va1=[8,9,11,83],$Vb1=[8,9,10,11,44,69,78,79,81,83,85,86,87,88,89]; -var parser = {trace: function trace() { }, -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,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"TESTSTR":47,"--":48,"ARROW_POINT":49,"ARROW_CIRCLE":50,"ARROW_CROSS":51,"ARROW_OPEN":52,"-.":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"==":58,"THICK_ARROW_POINT":59,"THICK_ARROW_CIRCLE":60,"THICK_ARROW_CROSS":61,"THICK_ARROW_OPEN":62,"PIPE":63,"textToken":64,"STR":65,"commentText":66,"commentToken":67,"keywords":68,"STYLE":69,"LINKSTYLE":70,"CLASSDEF":71,"CLASS":72,"CLICK":73,"textNoTags":74,"textNoTagsToken":75,"DEFAULT":76,"stylesOpt":77,"HEX":78,"NUM":79,"commentStatement":80,"PCT":81,"style":82,"COMMA":83,"styleComponent":84,"ALPHA":85,"COLON":86,"UNIT":87,"BRKT":88,"DOT":89,"graphCodeTokens":90,"PLUS":91,"EQUALS":92,"MULT":93,"TAG_START":94,"TAG_END":95,"QUOTE":96,"$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:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"TESTSTR",48:"--",49:"ARROW_POINT",50:"ARROW_CIRCLE",51:"ARROW_CROSS",52:"ARROW_OPEN",53:"-.",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"==",59:"THICK_ARROW_POINT",60:"THICK_ARROW_CIRCLE",61:"THICK_ARROW_CROSS",62:"THICK_ARROW_OPEN",63:"PIPE",65:"STR",69:"STYLE",70:"LINKSTYLE",71:"CLASSDEF",72:"CLASS",73:"CLICK",76:"DEFAULT",78:"HEX",79:"NUM",81:"PCT",83:"COMMA",85:"ALPHA",86:"COLON",87:"UNIT",88:"BRKT",89:"DOT",91:"PLUS",92:"EQUALS",93:"MULT",94:"TAG_START",95:"TAG_END",96:"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,1],[33,2],[35,1],[35,2],[42,1],[42,1],[42,1],[42,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],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[31,1],[31,2],[31,1],[66,1],[66,2],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[74,1],[74,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[80,3],[77,1],[77,3],[82,1],[82,2],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[67,1],[67,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[64,1],[75,1],[75,1],[75,1],[75,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ +"use strict"; -var $0 = $$.length - 1; -switch (yystate) { -case 2: - this.$ = []; -break; -case 3: +var parser = (function () { + var o = function o(k, v, _o, l) { + for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o; + }, + $V0 = [1, 4], + $V1 = [1, 3], + $V2 = [1, 5], + $V3 = [1, 8, 9, 10, 11, 13, 18, 30, 44, 69, 70, 71, 72, 73, 79, 83, 85, 86, 88, 89, 91, 92, 93], + $V4 = [2, 2], + $V5 = [1, 12], + $V6 = [1, 13], + $V7 = [1, 14], + $V8 = [1, 15], + $V9 = [1, 31], + $Va = [1, 33], + $Vb = [1, 22], + $Vc = [1, 34], + $Vd = [1, 24], + $Ve = [1, 25], + $Vf = [1, 26], + $Vg = [1, 27], + $Vh = [1, 28], + $Vi = [1, 36], + $Vj = [1, 38], + $Vk = [1, 35], + $Vl = [1, 37], + $Vm = [1, 43], + $Vn = [1, 42], + $Vo = [1, 39], + $Vp = [1, 40], + $Vq = [1, 41], + $Vr = [1, 8, 9, 10, 11, 13, 18, 30, 32, 44, 69, 70, 71, 72, 73, 79, 83, 85, 86, 88, 89, 91, 92, 93], + $Vs = [1, 51], + $Vt = [1, 50], + $Vu = [1, 52], + $Vv = [1, 70], + $Vw = [1, 78], + $Vx = [1, 79], + $Vy = [1, 64], + $Vz = [1, 63], + $VA = [1, 83], + $VB = [1, 82], + $VC = [1, 80], + $VD = [1, 81], + $VE = [1, 71], + $VF = [1, 66], + $VG = [1, 65], + $VH = [1, 61], + $VI = [1, 73], + $VJ = [1, 74], + $VK = [1, 75], + $VL = [1, 76], + $VM = [1, 77], + $VN = [1, 68], + $VO = [1, 67], + $VP = [8, 9, 11], + $VQ = [8, 9, 11, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], + $VR = [1, 112], + $VS = [8, 9, 10, 11, 13, 15, 18, 36, 38, 40, 44, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 79, 83, 85, 86, 88, 89, 91, 92, 93], + $VT = [8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 30, 32, 36, 37, 38, 39, 40, 41, 44, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 69, 70, 71, 72, 73, 76, 79, 81, 83, 85, 86, 88, 89, 91, 92, 93], + $VU = [1, 114], + $VV = [1, 115], + $VW = [8, 9, 10, 11, 13, 18, 30, 32, 44, 69, 70, 71, 72, 73, 79, 83, 85, 86, 88, 89, 91, 92, 93], + $VX = [8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 30, 32, 37, 39, 41, 44, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 69, 70, 71, 72, 73, 76, 79, 81, 83, 85, 86, 88, 89, 91, 92, 93], + $VY = [13, 18, 44, 79, 83, 85, 86, 88, 89, 91, 92, 93], + $VZ = [13, 18, 44, 47, 63, 79, 83, 85, 86, 88, 89, 91, 92, 93], + $V_ = [1, 186], + $V$ = [1, 183], + $V01 = [1, 190], + $V11 = [1, 187], + $V21 = [1, 184], + $V31 = [1, 191], + $V41 = [1, 181], + $V51 = [1, 182], + $V61 = [1, 185], + $V71 = [1, 188], + $V81 = [1, 189], + $V91 = [1, 205], + $Va1 = [8, 9, 11, 83], + $Vb1 = [8, 9, 10, 11, 44, 69, 78, 79, 81, 83, 85, 86, 87, 88, 89]; + var parser = { trace: function trace() {}, + 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, "DIAMOND_START": 40, "DIAMOND_STOP": 41, "alphaNumStatement": 42, "alphaNumToken": 43, "MINUS": 44, "linkStatement": 45, "arrowText": 46, "TESTSTR": 47, "--": 48, "ARROW_POINT": 49, "ARROW_CIRCLE": 50, "ARROW_CROSS": 51, "ARROW_OPEN": 52, "-.": 53, "DOTTED_ARROW_POINT": 54, "DOTTED_ARROW_CIRCLE": 55, "DOTTED_ARROW_CROSS": 56, "DOTTED_ARROW_OPEN": 57, "==": 58, "THICK_ARROW_POINT": 59, "THICK_ARROW_CIRCLE": 60, "THICK_ARROW_CROSS": 61, "THICK_ARROW_OPEN": 62, "PIPE": 63, "textToken": 64, "STR": 65, "commentText": 66, "commentToken": 67, "keywords": 68, "STYLE": 69, "LINKSTYLE": 70, "CLASSDEF": 71, "CLASS": 72, "CLICK": 73, "textNoTags": 74, "textNoTagsToken": 75, "DEFAULT": 76, "stylesOpt": 77, "HEX": 78, "NUM": 79, "commentStatement": 80, "PCT": 81, "style": 82, "COMMA": 83, "styleComponent": 84, "ALPHA": 85, "COLON": 86, "UNIT": 87, "BRKT": 88, "DOT": 89, "graphCodeTokens": 90, "PLUS": 91, "EQUALS": 92, "MULT": 93, "TAG_START": 94, "TAG_END": 95, "QUOTE": 96, "$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: "DIAMOND_START", 41: "DIAMOND_STOP", 44: "MINUS", 47: "TESTSTR", 48: "--", 49: "ARROW_POINT", 50: "ARROW_CIRCLE", 51: "ARROW_CROSS", 52: "ARROW_OPEN", 53: "-.", 54: "DOTTED_ARROW_POINT", 55: "DOTTED_ARROW_CIRCLE", 56: "DOTTED_ARROW_CROSS", 57: "DOTTED_ARROW_OPEN", 58: "==", 59: "THICK_ARROW_POINT", 60: "THICK_ARROW_CIRCLE", 61: "THICK_ARROW_CROSS", 62: "THICK_ARROW_OPEN", 63: "PIPE", 65: "STR", 69: "STYLE", 70: "LINKSTYLE", 71: "CLASSDEF", 72: "CLASS", 73: "CLICK", 76: "DEFAULT", 78: "HEX", 79: "NUM", 81: "PCT", 83: "COMMA", 85: "ALPHA", 86: "COLON", 87: "UNIT", 88: "BRKT", 89: "DOT", 91: "PLUS", 92: "EQUALS", 93: "MULT", 94: "TAG_START", 95: "TAG_END", 96: "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, 1], [33, 2], [35, 1], [35, 2], [42, 1], [42, 1], [42, 1], [42, 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], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [46, 3], [31, 1], [31, 2], [31, 1], [66, 1], [66, 2], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [68, 1], [74, 1], [74, 2], [27, 5], [27, 5], [28, 5], [29, 5], [29, 7], [29, 5], [29, 7], [25, 5], [25, 5], [26, 5], [26, 5], [80, 3], [77, 1], [77, 3], [82, 1], [82, 2], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [67, 1], [67, 1], [64, 1], [64, 1], [64, 1], [64, 1], [64, 1], [64, 1], [64, 1], [75, 1], [75, 1], [75, 1], [75, 1], [43, 1], [43, 1], [43, 1], [43, 1], [43, 1], [43, 1], [43, 1], [43, 1], [43, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1], [90, 1]], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) { + /* this == yyval */ - if($$[$0] !== []){ - $$[$0-1].push($$[$0]); - } - this.$=$$[$0-1]; -break; -case 4: case 55: case 57: case 58: case 90: case 92: case 93: case 106: -this.$=$$[$0]; -break; -case 11: - yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; -break; -case 12: - yy.setDirection("LR");this.$ = $$[$0-1]; -break; -case 13: - yy.setDirection("RL");this.$ = $$[$0-1]; -break; -case 14: - yy.setDirection("BT");this.$ = $$[$0-1]; -break; -case 15: - yy.setDirection("TB");this.$ = $$[$0-1]; -break; -case 30: -this.$=$$[$0-1] -break; -case 31: case 32: case 33: case 34: case 35: -this.$=[]; -break; -case 36: -this.$=yy.addSubGraph($$[$0-1],$$[$0-3]); -break; -case 37: -this.$=yy.addSubGraph($$[$0-1],undefined); -break; -case 41: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; -break; -case 42: -this.$ = [$$[$0]]; -break; -case 43: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); -break; -case 44: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); -break; -case 45: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); -break; -case 46: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); -break; -case 47: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); -break; -case 48: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); -break; -case 49: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); -break; -case 50: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); -break; -case 51: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); -break; -case 52: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); -break; -case 53: -this.$ = $$[$0];yy.addVertex($$[$0]); -break; -case 54: -this.$ = $$[$0-1];yy.addVertex($$[$0-1]); -break; -case 56: case 91: case 94: case 107: -this.$=$$[$0-1]+''+$$[$0]; -break; -case 59: -this.$='v'; -break; -case 60: -this.$='-'; -break; -case 61: -$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; -break; -case 62: case 63: -$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; -break; -case 64: -this.$ = $$[$0]; -break; -case 65: -this.$ = {"type":"arrow","stroke":"normal","text":$$[$0-1]}; -break; -case 66: -this.$ = {"type":"arrow_circle","stroke":"normal","text":$$[$0-1]}; -break; -case 67: -this.$ = {"type":"arrow_cross","stroke":"normal","text":$$[$0-1]}; -break; -case 68: -this.$ = {"type":"arrow_open","stroke":"normal","text":$$[$0-1]}; -break; -case 69: -this.$ = {"type":"arrow","stroke":"dotted","text":$$[$0-1]}; -break; -case 70: -this.$ = {"type":"arrow_circle","stroke":"dotted","text":$$[$0-1]}; -break; -case 71: -this.$ = {"type":"arrow_cross","stroke":"dotted","text":$$[$0-1]}; -break; -case 72: -this.$ = {"type":"arrow_open","stroke":"dotted","text":$$[$0-1]}; -break; -case 73: -this.$ = {"type":"arrow","stroke":"thick","text":$$[$0-1]}; -break; -case 74: -this.$ = {"type":"arrow_circle","stroke":"thick","text":$$[$0-1]}; -break; -case 75: -this.$ = {"type":"arrow_cross","stroke":"thick","text":$$[$0-1]}; -break; -case 76: -this.$ = {"type":"arrow_open","stroke":"thick","text":$$[$0-1]}; -break; -case 77: -this.$ = {"type":"arrow","stroke":"normal"}; -break; -case 78: -this.$ = {"type":"arrow_circle","stroke":"normal"}; -break; -case 79: -this.$ = {"type":"arrow_cross","stroke":"normal"}; -break; -case 80: -this.$ = {"type":"arrow_open","stroke":"normal"}; -break; -case 81: -this.$ = {"type":"arrow","stroke":"dotted"}; -break; -case 82: -this.$ = {"type":"arrow_circle","stroke":"dotted"}; -break; -case 83: -this.$ = {"type":"arrow_cross","stroke":"dotted"}; -break; -case 84: -this.$ = {"type":"arrow_open","stroke":"dotted"}; -break; -case 85: -this.$ = {"type":"arrow","stroke":"thick"}; -break; -case 86: -this.$ = {"type":"arrow_circle","stroke":"thick"}; -break; -case 87: -this.$ = {"type":"arrow_cross","stroke":"thick"}; -break; -case 88: -this.$ = {"type":"arrow_open","stroke":"thick"}; -break; -case 89: -this.$ = $$[$0-1]; -break; -case 108: case 109: -this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); -break; -case 110: -this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); -break; -case 111: -this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0], undefined, undefined); -break; -case 112: -this.$ = $$[$0-6];yy.setClickEvent($$[$0-4], $$[$0-2], undefined, $$[$0]) ; -break; -case 113: -this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], undefined, $$[$0], undefined); -break; -case 114: -this.$ = $$[$0-6];yy.setClickEvent($$[$0-4], undefined, $$[$0-2], $$[$0] ); -break; -case 115: -this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); -break; -case 116: case 117: case 118: -this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); -break; -case 120: -this.$ = [$$[$0]] -break; -case 121: -$$[$0-2].push($$[$0]);this.$ = $$[$0-2]; -break; -case 123: -this.$ = $$[$0-1] + $$[$0]; -break; -} -}, -table: [{3:1,4:2,9:$V0,10:$V1,12:$V2},{1:[3]},o($V3,$V4,{5:6}),{4:7,9:$V0,10:$V1,12:$V2},{4:8,9:$V0,10:$V1,12:$V2},{10:[1,9]},{1:[2,1],6:10,7:11,8:$V5,9:$V6,10:$V7,11:$V8,13:$V9,18:$Va,23:16,25:17,26:18,27:19,28:20,29:21,30:$Vb,33:23,35:29,42:30,43:32,44:$Vc,69:$Vd,70:$Ve,71:$Vf,72:$Vg,73:$Vh,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($V3,[2,9]),o($V3,[2,10]),{13:[1,44],15:[1,45],16:[1,46],17:[1,47],18:[1,48]},o($Vr,[2,3]),o($Vr,[2,4]),o($Vr,[2,5]),o($Vr,[2,6]),o($Vr,[2,7]),o($Vr,[2,8]),{8:$Vs,9:$Vt,11:$Vu,24:49},{8:$Vs,9:$Vt,11:$Vu,24:53},{8:$Vs,9:$Vt,11:$Vu,24:54},{8:$Vs,9:$Vt,11:$Vu,24:55},{8:$Vs,9:$Vt,11:$Vu,24:56},{8:$Vs,9:$Vt,11:$Vu,24:57},{8:$Vs,9:$Vt,10:$Vv,11:$Vu,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,24:59,30:$VC,31:58,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VP,[2,42],{34:84,45:85,48:[1,86],49:[1,89],50:[1,90],51:[1,91],52:[1,92],53:[1,87],54:[1,93],55:[1,94],56:[1,95],57:[1,96],58:[1,88],59:[1,97],60:[1,98],61:[1,99],62:[1,100]}),{10:[1,101]},{10:[1,102]},{10:[1,103]},{10:[1,104]},{10:[1,105]},o($VQ,[2,53],{43:32,21:110,42:111,10:$VR,13:$V9,15:[1,109],18:$Va,36:[1,106],38:[1,107],40:[1,108],44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq}),o($VS,[2,55]),o($VS,[2,57]),o($VS,[2,58]),o($VS,[2,59]),o($VS,[2,60]),o($VT,[2,148]),o($VT,[2,149]),o($VT,[2,150]),o($VT,[2,151]),o($VT,[2,152]),o($VT,[2,153]),o($VT,[2,154]),o($VT,[2,155]),o($VT,[2,156]),{8:$VU,9:$VV,10:$VR,14:113,21:116},{8:$VU,9:$VV,10:$VR,14:117,21:116},{8:$VU,9:$VV,10:$VR,14:118,21:116},{8:$VU,9:$VV,10:$VR,14:119,21:116},{8:$VU,9:$VV,10:$VR,14:120,21:116},o($Vr,[2,30]),o($Vr,[2,38]),o($Vr,[2,39]),o($Vr,[2,40]),o($Vr,[2,31]),o($Vr,[2,32]),o($Vr,[2,33]),o($Vr,[2,34]),o($Vr,[2,35]),{8:$Vs,9:$Vt,10:$Vv,11:$Vu,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,24:121,30:$VC,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VW,$V4,{5:123}),o($VX,[2,90]),o($VX,[2,92]),o($VX,[2,137]),o($VX,[2,138]),o($VX,[2,139]),o($VX,[2,140]),o($VX,[2,141]),o($VX,[2,142]),o($VX,[2,143]),o($VX,[2,144]),o($VX,[2,145]),o($VX,[2,146]),o($VX,[2,147]),o($VX,[2,95]),o($VX,[2,96]),o($VX,[2,97]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,102]),o($VX,[2,103]),o($VX,[2,104]),o($VX,[2,105]),{13:$V9,18:$Va,33:124,35:29,42:30,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VY,[2,64],{46:125,47:[1,126],63:[1,127]}),{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:128,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:129,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:130,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VZ,[2,77]),o($VZ,[2,78]),o($VZ,[2,79]),o($VZ,[2,80]),o($VZ,[2,81]),o($VZ,[2,82]),o($VZ,[2,83]),o($VZ,[2,84]),o($VZ,[2,85]),o($VZ,[2,86]),o($VZ,[2,87]),o($VZ,[2,88]),{13:$V9,18:$Va,35:131,42:30,43:32,44:$Vc,78:[1,132],79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{76:[1,133],79:[1,134]},{13:$V9,18:$Va,35:136,42:30,43:32,44:$Vc,76:[1,135],79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{13:$V9,18:$Va,35:137,42:30,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{13:$V9,18:$Va,35:138,42:30,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:139,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:141,32:$VD,38:[1,140],43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:142,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:143,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VQ,[2,54]),o($VS,[2,56]),o($VQ,[2,29],{21:144,10:$VR}),o($V3,[2,11]),o($V3,[2,21]),o($V3,[2,22]),{9:[1,145]},o($V3,[2,12]),o($V3,[2,13]),o($V3,[2,14]),o($V3,[2,15]),o($VW,$V4,{5:146}),o($VX,[2,91]),{6:10,7:11,8:$V5,9:$V6,10:$V7,11:$V8,13:$V9,18:$Va,23:16,25:17,26:18,27:19,28:20,29:21,30:$Vb,32:[1,147],33:23,35:29,42:30,43:32,44:$Vc,69:$Vd,70:$Ve,71:$Vf,72:$Vg,73:$Vh,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VP,[2,41]),o($VY,[2,61],{10:[1,148]}),{10:[1,149]},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:150,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,43:69,44:$VE,48:$VF,49:[1,151],50:[1,152],51:[1,153],52:[1,154],58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,43:69,44:$VE,48:$VF,54:[1,155],55:[1,156],56:[1,157],57:[1,158],58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,43:69,44:$VE,48:$VF,58:$VG,59:[1,159],60:[1,160],61:[1,161],62:[1,162],64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:[1,163],13:$V9,18:$Va,42:111,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:[1,164]},{10:[1,165]},{10:[1,166]},{10:[1,167]},{10:[1,168],13:$V9,18:$Va,42:111,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:[1,169],13:$V9,18:$Va,42:111,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:[1,170],13:$V9,18:$Va,42:111,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,37:[1,171],43:69,44:$VE,48:$VF,58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,31:172,32:$VD,43:69,44:$VE,48:$VF,58:$VG,64:60,65:$VH,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,39:[1,173],43:69,44:$VE,48:$VF,58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,41:[1,174],43:69,44:$VE,48:$VF,58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,37:[1,175],43:69,44:$VE,48:$VF,58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VQ,[2,28]),o($V3,[2,23]),{6:10,7:11,8:$V5,9:$V6,10:$V7,11:$V8,13:$V9,18:$Va,23:16,25:17,26:18,27:19,28:20,29:21,30:$Vb,32:[1,176],33:23,35:29,42:30,43:32,44:$Vc,69:$Vd,70:$Ve,71:$Vf,72:$Vg,73:$Vh,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($Vr,[2,37]),o($VY,[2,63]),o($VY,[2,62]),{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,43:69,44:$VE,48:$VF,58:$VG,63:[1,177],64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VY,[2,65]),o($VY,[2,66]),o($VY,[2,67]),o($VY,[2,68]),o($VY,[2,69]),o($VY,[2,70]),o($VY,[2,71]),o($VY,[2,72]),o($VY,[2,73]),o($VY,[2,74]),o($VY,[2,75]),o($VY,[2,76]),{10:$V_,44:$V$,69:$V01,77:178,78:$V11,79:$V21,81:$V31,82:179,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},{10:$V_,44:$V$,69:$V01,77:192,78:$V11,79:$V21,81:$V31,82:179,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},{10:$V_,44:$V$,69:$V01,77:193,78:$V11,79:$V21,81:$V31,82:179,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},{10:$V_,44:$V$,69:$V01,77:194,78:$V11,79:$V21,81:$V31,82:179,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},{10:$V_,44:$V$,69:$V01,77:195,78:$V11,79:$V21,81:$V31,82:179,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},{10:$V_,44:$V$,69:$V01,77:196,78:$V11,79:$V21,81:$V31,82:179,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},{13:$V9,18:$Va,35:197,42:30,43:32,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},{13:$V9,18:$Va,35:198,42:30,43:32,44:$Vc,65:[1,199],79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VQ,[2,43],{21:200,10:$VR}),{10:$Vv,12:$Vw,13:$Vx,15:$Vy,16:$Vz,17:$VA,18:$VB,30:$VC,32:$VD,39:[1,201],43:69,44:$VE,48:$VF,58:$VG,64:122,68:72,69:$VI,70:$VJ,71:$VK,72:$VL,73:$VM,75:62,76:$VN,79:$Vi,81:$VO,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq},o($VQ,[2,47],{21:202,10:$VR}),o($VQ,[2,49],{21:203,10:$VR}),o($VQ,[2,51],{21:204,10:$VR}),o($Vr,[2,36]),o([10,13,18,44,79,83,85,86,88,89,91,92,93],[2,89]),o($VP,[2,115],{83:$V91}),o($Va1,[2,120],{84:206,10:$V_,44:$V$,69:$V01,78:$V11,79:$V21,81:$V31,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81}),o($Vb1,[2,122]),o($Vb1,[2,124]),o($Vb1,[2,125]),o($Vb1,[2,126]),o($Vb1,[2,127]),o($Vb1,[2,128]),o($Vb1,[2,129]),o($Vb1,[2,130]),o($Vb1,[2,131]),o($Vb1,[2,132]),o($Vb1,[2,133]),o($Vb1,[2,134]),o($VP,[2,116],{83:$V91}),o($VP,[2,117],{83:$V91}),o($VP,[2,118],{83:$V91}),o($VP,[2,108],{83:$V91}),o($VP,[2,109],{83:$V91}),o($VP,[2,110],{43:32,42:111,13:$V9,18:$Va,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq}),o($VP,[2,111],{43:32,42:111,10:[1,207],13:$V9,18:$Va,44:$Vc,79:$Vi,83:$Vj,85:$Vk,86:$Vl,88:$Vm,89:$Vn,91:$Vo,92:$Vp,93:$Vq}),o($VP,[2,113],{10:[1,208]}),o($VQ,[2,44]),{39:[1,209]},o($VQ,[2,48]),o($VQ,[2,50]),o($VQ,[2,52]),{10:$V_,44:$V$,69:$V01,78:$V11,79:$V21,81:$V31,82:210,84:180,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81},o($Vb1,[2,123]),{65:[1,211]},{65:[1,212]},o($VQ,[2,45],{21:213,10:$VR}),o($Va1,[2,121],{84:206,10:$V_,44:$V$,69:$V01,78:$V11,79:$V21,81:$V31,85:$V41,86:$V51,87:$V61,88:$V71,89:$V81}),o($VP,[2,112]),o($VP,[2,114]),o($VQ,[2,46])], -defaultActions: {}, -parseError: function parseError(str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - throw new Error(str); - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - _token_stack: - function lex() { - var token; - token = lexer.lex() || EOF; - if (typeof token !== 'number') { - token = self.symbols_[token] || token; + var $0 = $$.length - 1; + switch (yystate) { + case 2: + this.$ = []; + break; + case 3: + + if ($$[$0] !== []) { + $$[$0 - 1].push($$[$0]); + } + this.$ = $$[$0 - 1]; + break; + case 4:case 55:case 57:case 58:case 90:case 92:case 93:case 106: + this.$ = $$[$0]; + break; + case 11: + yy.setDirection($$[$0 - 1]);this.$ = $$[$0 - 1]; + break; + case 12: + yy.setDirection("LR");this.$ = $$[$0 - 1]; + break; + case 13: + yy.setDirection("RL");this.$ = $$[$0 - 1]; + break; + case 14: + yy.setDirection("BT");this.$ = $$[$0 - 1]; + break; + case 15: + yy.setDirection("TB");this.$ = $$[$0 - 1]; + break; + case 30: + this.$ = $$[$0 - 1]; + break; + case 31:case 32:case 33:case 34:case 35: + this.$ = []; + break; + case 36: + this.$ = yy.addSubGraph($$[$0 - 1], $$[$0 - 3]); + break; + case 37: + this.$ = yy.addSubGraph($$[$0 - 1], undefined); + break; + case 41: + yy.addLink($$[$0 - 2], $$[$0], $$[$0 - 1]);this.$ = [$$[$0 - 2], $$[$0]]; + break; + case 42: + this.$ = [$$[$0]]; + break; + case 43: + this.$ = $$[$0 - 3];yy.addVertex($$[$0 - 3], $$[$0 - 1], 'square'); + break; + case 44: + this.$ = $$[$0 - 4];yy.addVertex($$[$0 - 4], $$[$0 - 2], 'square'); + break; + case 45: + this.$ = $$[$0 - 5];yy.addVertex($$[$0 - 5], $$[$0 - 2], 'circle'); + break; + case 46: + this.$ = $$[$0 - 6];yy.addVertex($$[$0 - 6], $$[$0 - 3], 'circle'); + break; + case 47: + this.$ = $$[$0 - 3];yy.addVertex($$[$0 - 3], $$[$0 - 1], 'round'); + break; + case 48: + this.$ = $$[$0 - 4];yy.addVertex($$[$0 - 4], $$[$0 - 2], 'round'); + break; + case 49: + this.$ = $$[$0 - 3];yy.addVertex($$[$0 - 3], $$[$0 - 1], 'diamond'); + break; + case 50: + this.$ = $$[$0 - 4];yy.addVertex($$[$0 - 4], $$[$0 - 2], 'diamond'); + break; + case 51: + this.$ = $$[$0 - 3];yy.addVertex($$[$0 - 3], $$[$0 - 1], 'odd'); + break; + case 52: + this.$ = $$[$0 - 4];yy.addVertex($$[$0 - 4], $$[$0 - 2], 'odd'); + break; + case 53: + this.$ = $$[$0];yy.addVertex($$[$0]); + break; + case 54: + this.$ = $$[$0 - 1];yy.addVertex($$[$0 - 1]); + break; + case 56:case 91:case 94:case 107: + this.$ = $$[$0 - 1] + '' + $$[$0]; + break; + case 59: + this.$ = 'v'; + break; + case 60: + this.$ = '-'; + break; + case 61: + $$[$0 - 1].text = $$[$0];this.$ = $$[$0 - 1]; + break; + case 62:case 63: + $$[$0 - 2].text = $$[$0 - 1];this.$ = $$[$0 - 2]; + break; + case 64: + this.$ = $$[$0]; + break; + case 65: + this.$ = { "type": "arrow", "stroke": "normal", "text": $$[$0 - 1] }; + break; + case 66: + this.$ = { "type": "arrow_circle", "stroke": "normal", "text": $$[$0 - 1] }; + break; + case 67: + this.$ = { "type": "arrow_cross", "stroke": "normal", "text": $$[$0 - 1] }; + break; + case 68: + this.$ = { "type": "arrow_open", "stroke": "normal", "text": $$[$0 - 1] }; + break; + case 69: + this.$ = { "type": "arrow", "stroke": "dotted", "text": $$[$0 - 1] }; + break; + case 70: + this.$ = { "type": "arrow_circle", "stroke": "dotted", "text": $$[$0 - 1] }; + break; + case 71: + this.$ = { "type": "arrow_cross", "stroke": "dotted", "text": $$[$0 - 1] }; + break; + case 72: + this.$ = { "type": "arrow_open", "stroke": "dotted", "text": $$[$0 - 1] }; + break; + case 73: + this.$ = { "type": "arrow", "stroke": "thick", "text": $$[$0 - 1] }; + break; + case 74: + this.$ = { "type": "arrow_circle", "stroke": "thick", "text": $$[$0 - 1] }; + break; + case 75: + this.$ = { "type": "arrow_cross", "stroke": "thick", "text": $$[$0 - 1] }; + break; + case 76: + this.$ = { "type": "arrow_open", "stroke": "thick", "text": $$[$0 - 1] }; + break; + case 77: + this.$ = { "type": "arrow", "stroke": "normal" }; + break; + case 78: + this.$ = { "type": "arrow_circle", "stroke": "normal" }; + break; + case 79: + this.$ = { "type": "arrow_cross", "stroke": "normal" }; + break; + case 80: + this.$ = { "type": "arrow_open", "stroke": "normal" }; + break; + case 81: + this.$ = { "type": "arrow", "stroke": "dotted" }; + break; + case 82: + this.$ = { "type": "arrow_circle", "stroke": "dotted" }; + break; + case 83: + this.$ = { "type": "arrow_cross", "stroke": "dotted" }; + break; + case 84: + this.$ = { "type": "arrow_open", "stroke": "dotted" }; + break; + case 85: + this.$ = { "type": "arrow", "stroke": "thick" }; + break; + case 86: + this.$ = { "type": "arrow_circle", "stroke": "thick" }; + break; + case 87: + this.$ = { "type": "arrow_cross", "stroke": "thick" }; + break; + case 88: + this.$ = { "type": "arrow_open", "stroke": "thick" }; + break; + case 89: + this.$ = $$[$0 - 1]; + break; + case 108:case 109: + this.$ = $$[$0 - 4];yy.addClass($$[$0 - 2], $$[$0]); + break; + case 110: + this.$ = $$[$0 - 4];yy.setClass($$[$0 - 2], $$[$0]); + break; + case 111: + this.$ = $$[$0 - 4];yy.setClickEvent($$[$0 - 2], $$[$0], undefined, undefined); + break; + case 112: + this.$ = $$[$0 - 6];yy.setClickEvent($$[$0 - 4], $$[$0 - 2], undefined, $$[$0]); + break; + case 113: + this.$ = $$[$0 - 4];yy.setClickEvent($$[$0 - 2], undefined, $$[$0], undefined); + break; + case 114: + this.$ = $$[$0 - 6];yy.setClickEvent($$[$0 - 4], undefined, $$[$0 - 2], $$[$0]); + break; + case 115: + this.$ = $$[$0 - 4];yy.addVertex($$[$0 - 2], undefined, undefined, $$[$0]); + break; + case 116:case 117:case 118: + this.$ = $$[$0 - 4];yy.updateLink($$[$0 - 2], $$[$0]); + break; + case 120: + this.$ = [$$[$0]]; + break; + case 121: + $$[$0 - 2].push($$[$0]);this.$ = $$[$0 - 2]; + break; + case 123: + this.$ = $$[$0 - 1] + $$[$0]; + break; } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); + }, + table: [{ 3: 1, 4: 2, 9: $V0, 10: $V1, 12: $V2 }, { 1: [3] }, o($V3, $V4, { 5: 6 }), { 4: 7, 9: $V0, 10: $V1, 12: $V2 }, { 4: 8, 9: $V0, 10: $V1, 12: $V2 }, { 10: [1, 9] }, { 1: [2, 1], 6: 10, 7: 11, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 13: $V9, 18: $Va, 23: 16, 25: 17, 26: 18, 27: 19, 28: 20, 29: 21, 30: $Vb, 33: 23, 35: 29, 42: 30, 43: 32, 44: $Vc, 69: $Vd, 70: $Ve, 71: $Vf, 72: $Vg, 73: $Vh, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($V3, [2, 9]), o($V3, [2, 10]), { 13: [1, 44], 15: [1, 45], 16: [1, 46], 17: [1, 47], 18: [1, 48] }, o($Vr, [2, 3]), o($Vr, [2, 4]), o($Vr, [2, 5]), o($Vr, [2, 6]), o($Vr, [2, 7]), o($Vr, [2, 8]), { 8: $Vs, 9: $Vt, 11: $Vu, 24: 49 }, { 8: $Vs, 9: $Vt, 11: $Vu, 24: 53 }, { 8: $Vs, 9: $Vt, 11: $Vu, 24: 54 }, { 8: $Vs, 9: $Vt, 11: $Vu, 24: 55 }, { 8: $Vs, 9: $Vt, 11: $Vu, 24: 56 }, { 8: $Vs, 9: $Vt, 11: $Vu, 24: 57 }, { 8: $Vs, 9: $Vt, 10: $Vv, 11: $Vu, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 24: 59, 30: $VC, 31: 58, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VP, [2, 42], { 34: 84, 45: 85, 48: [1, 86], 49: [1, 89], 50: [1, 90], 51: [1, 91], 52: [1, 92], 53: [1, 87], 54: [1, 93], 55: [1, 94], 56: [1, 95], 57: [1, 96], 58: [1, 88], 59: [1, 97], 60: [1, 98], 61: [1, 99], 62: [1, 100] }), { 10: [1, 101] }, { 10: [1, 102] }, { 10: [1, 103] }, { 10: [1, 104] }, { 10: [1, 105] }, o($VQ, [2, 53], { 43: 32, 21: 110, 42: 111, 10: $VR, 13: $V9, 15: [1, 109], 18: $Va, 36: [1, 106], 38: [1, 107], 40: [1, 108], 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }), o($VS, [2, 55]), o($VS, [2, 57]), o($VS, [2, 58]), o($VS, [2, 59]), o($VS, [2, 60]), o($VT, [2, 148]), o($VT, [2, 149]), o($VT, [2, 150]), o($VT, [2, 151]), o($VT, [2, 152]), o($VT, [2, 153]), o($VT, [2, 154]), o($VT, [2, 155]), o($VT, [2, 156]), { 8: $VU, 9: $VV, 10: $VR, 14: 113, 21: 116 }, { 8: $VU, 9: $VV, 10: $VR, 14: 117, 21: 116 }, { 8: $VU, 9: $VV, 10: $VR, 14: 118, 21: 116 }, { 8: $VU, 9: $VV, 10: $VR, 14: 119, 21: 116 }, { 8: $VU, 9: $VV, 10: $VR, 14: 120, 21: 116 }, o($Vr, [2, 30]), o($Vr, [2, 38]), o($Vr, [2, 39]), o($Vr, [2, 40]), o($Vr, [2, 31]), o($Vr, [2, 32]), o($Vr, [2, 33]), o($Vr, [2, 34]), o($Vr, [2, 35]), { 8: $Vs, 9: $Vt, 10: $Vv, 11: $Vu, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 24: 121, 30: $VC, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VW, $V4, { 5: 123 }), o($VX, [2, 90]), o($VX, [2, 92]), o($VX, [2, 137]), o($VX, [2, 138]), o($VX, [2, 139]), o($VX, [2, 140]), o($VX, [2, 141]), o($VX, [2, 142]), o($VX, [2, 143]), o($VX, [2, 144]), o($VX, [2, 145]), o($VX, [2, 146]), o($VX, [2, 147]), o($VX, [2, 95]), o($VX, [2, 96]), o($VX, [2, 97]), o($VX, [2, 98]), o($VX, [2, 99]), o($VX, [2, 100]), o($VX, [2, 101]), o($VX, [2, 102]), o($VX, [2, 103]), o($VX, [2, 104]), o($VX, [2, 105]), { 13: $V9, 18: $Va, 33: 124, 35: 29, 42: 30, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VY, [2, 64], { 46: 125, 47: [1, 126], 63: [1, 127] }), { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 128, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 129, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 130, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VZ, [2, 77]), o($VZ, [2, 78]), o($VZ, [2, 79]), o($VZ, [2, 80]), o($VZ, [2, 81]), o($VZ, [2, 82]), o($VZ, [2, 83]), o($VZ, [2, 84]), o($VZ, [2, 85]), o($VZ, [2, 86]), o($VZ, [2, 87]), o($VZ, [2, 88]), { 13: $V9, 18: $Va, 35: 131, 42: 30, 43: 32, 44: $Vc, 78: [1, 132], 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 76: [1, 133], 79: [1, 134] }, { 13: $V9, 18: $Va, 35: 136, 42: 30, 43: 32, 44: $Vc, 76: [1, 135], 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 13: $V9, 18: $Va, 35: 137, 42: 30, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 13: $V9, 18: $Va, 35: 138, 42: 30, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 139, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 141, 32: $VD, 38: [1, 140], 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 142, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 143, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VQ, [2, 54]), o($VS, [2, 56]), o($VQ, [2, 29], { 21: 144, 10: $VR }), o($V3, [2, 11]), o($V3, [2, 21]), o($V3, [2, 22]), { 9: [1, 145] }, o($V3, [2, 12]), o($V3, [2, 13]), o($V3, [2, 14]), o($V3, [2, 15]), o($VW, $V4, { 5: 146 }), o($VX, [2, 91]), { 6: 10, 7: 11, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 13: $V9, 18: $Va, 23: 16, 25: 17, 26: 18, 27: 19, 28: 20, 29: 21, 30: $Vb, 32: [1, 147], 33: 23, 35: 29, 42: 30, 43: 32, 44: $Vc, 69: $Vd, 70: $Ve, 71: $Vf, 72: $Vg, 73: $Vh, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VP, [2, 41]), o($VY, [2, 61], { 10: [1, 148] }), { 10: [1, 149] }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 150, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 43: 69, 44: $VE, 48: $VF, 49: [1, 151], 50: [1, 152], 51: [1, 153], 52: [1, 154], 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 43: 69, 44: $VE, 48: $VF, 54: [1, 155], 55: [1, 156], 56: [1, 157], 57: [1, 158], 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 59: [1, 159], 60: [1, 160], 61: [1, 161], 62: [1, 162], 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: [1, 163], 13: $V9, 18: $Va, 42: 111, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: [1, 164] }, { 10: [1, 165] }, { 10: [1, 166] }, { 10: [1, 167] }, { 10: [1, 168], 13: $V9, 18: $Va, 42: 111, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: [1, 169], 13: $V9, 18: $Va, 42: 111, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: [1, 170], 13: $V9, 18: $Va, 42: 111, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 37: [1, 171], 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 31: 172, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 60, 65: $VH, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 39: [1, 173], 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 41: [1, 174], 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 37: [1, 175], 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VQ, [2, 28]), o($V3, [2, 23]), { 6: 10, 7: 11, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 13: $V9, 18: $Va, 23: 16, 25: 17, 26: 18, 27: 19, 28: 20, 29: 21, 30: $Vb, 32: [1, 176], 33: 23, 35: 29, 42: 30, 43: 32, 44: $Vc, 69: $Vd, 70: $Ve, 71: $Vf, 72: $Vg, 73: $Vh, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($Vr, [2, 37]), o($VY, [2, 63]), o($VY, [2, 62]), { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 43: 69, 44: $VE, 48: $VF, 58: $VG, 63: [1, 177], 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VY, [2, 65]), o($VY, [2, 66]), o($VY, [2, 67]), o($VY, [2, 68]), o($VY, [2, 69]), o($VY, [2, 70]), o($VY, [2, 71]), o($VY, [2, 72]), o($VY, [2, 73]), o($VY, [2, 74]), o($VY, [2, 75]), o($VY, [2, 76]), { 10: $V_, 44: $V$, 69: $V01, 77: 178, 78: $V11, 79: $V21, 81: $V31, 82: 179, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, { 10: $V_, 44: $V$, 69: $V01, 77: 192, 78: $V11, 79: $V21, 81: $V31, 82: 179, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, { 10: $V_, 44: $V$, 69: $V01, 77: 193, 78: $V11, 79: $V21, 81: $V31, 82: 179, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, { 10: $V_, 44: $V$, 69: $V01, 77: 194, 78: $V11, 79: $V21, 81: $V31, 82: 179, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, { 10: $V_, 44: $V$, 69: $V01, 77: 195, 78: $V11, 79: $V21, 81: $V31, 82: 179, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, { 10: $V_, 44: $V$, 69: $V01, 77: 196, 78: $V11, 79: $V21, 81: $V31, 82: 179, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, { 13: $V9, 18: $Va, 35: 197, 42: 30, 43: 32, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, { 13: $V9, 18: $Va, 35: 198, 42: 30, 43: 32, 44: $Vc, 65: [1, 199], 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VQ, [2, 43], { 21: 200, 10: $VR }), { 10: $Vv, 12: $Vw, 13: $Vx, 15: $Vy, 16: $Vz, 17: $VA, 18: $VB, 30: $VC, 32: $VD, 39: [1, 201], 43: 69, 44: $VE, 48: $VF, 58: $VG, 64: 122, 68: 72, 69: $VI, 70: $VJ, 71: $VK, 72: $VL, 73: $VM, 75: 62, 76: $VN, 79: $Vi, 81: $VO, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }, o($VQ, [2, 47], { 21: 202, 10: $VR }), o($VQ, [2, 49], { 21: 203, 10: $VR }), o($VQ, [2, 51], { 21: 204, 10: $VR }), o($Vr, [2, 36]), o([10, 13, 18, 44, 79, 83, 85, 86, 88, 89, 91, 92, 93], [2, 89]), o($VP, [2, 115], { 83: $V91 }), o($Va1, [2, 120], { 84: 206, 10: $V_, 44: $V$, 69: $V01, 78: $V11, 79: $V21, 81: $V31, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }), o($Vb1, [2, 122]), o($Vb1, [2, 124]), o($Vb1, [2, 125]), o($Vb1, [2, 126]), o($Vb1, [2, 127]), o($Vb1, [2, 128]), o($Vb1, [2, 129]), o($Vb1, [2, 130]), o($Vb1, [2, 131]), o($Vb1, [2, 132]), o($Vb1, [2, 133]), o($Vb1, [2, 134]), o($VP, [2, 116], { 83: $V91 }), o($VP, [2, 117], { 83: $V91 }), o($VP, [2, 118], { 83: $V91 }), o($VP, [2, 108], { 83: $V91 }), o($VP, [2, 109], { 83: $V91 }), o($VP, [2, 110], { 43: 32, 42: 111, 13: $V9, 18: $Va, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }), o($VP, [2, 111], { 43: 32, 42: 111, 10: [1, 207], 13: $V9, 18: $Va, 44: $Vc, 79: $Vi, 83: $Vj, 85: $Vk, 86: $Vl, 88: $Vm, 89: $Vn, 91: $Vo, 92: $Vp, 93: $Vq }), o($VP, [2, 113], { 10: [1, 208] }), o($VQ, [2, 44]), { 39: [1, 209] }, o($VQ, [2, 48]), o($VQ, [2, 50]), o($VQ, [2, 52]), { 10: $V_, 44: $V$, 69: $V01, 78: $V11, 79: $V21, 81: $V31, 82: 210, 84: 180, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }, o($Vb1, [2, 123]), { 65: [1, 211] }, { 65: [1, 212] }, o($VQ, [2, 45], { 21: 213, 10: $VR }), o($Va1, [2, 121], { 84: 206, 10: $V_, 44: $V$, 69: $V01, 78: $V11, 79: $V21, 81: $V31, 85: $V41, 86: $V51, 87: $V61, 88: $V71, 89: $V81 }), o($VP, [2, 112]), o($VP, [2, 114]), o($VQ, [2, 46])], + defaultActions: {}, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + throw new Error(str); } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); + }, + parse: function parse(input) { + var self = this, + stack = [0], + tstack = [], + vstack = [null], + lstack = [], + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + _token_stack: var lex = function lex() { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, + preErrorSymbol, + state, + action, + a, + r, + yyval = {}, + p, + len, + newState, + expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } }; + + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + + EOF: 1, + + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + + // resets the lexer, sets new input + setInput: function setInput(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + 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 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + + // consumes and returns one char from the input + input: function input() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + + // unshifts one char (or a string) into the input + unput: function unput(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = 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); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + + // When called from action, caches matched text and appends it on next action + more: function more() { + this._more = true; + return this; + }, + + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function reject() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return 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 + }); + } + return this; + }, + + // retain first n characters of the match + less: function less(n) { + this.unput(this.match.slice(n)); + }, + + // displays already matched input, i.e. for error messages + pastInput: function pastInput() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }, + + // displays upcoming input, i.e. for error messages + upcomingInput: function upcomingInput() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function showPosition() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function test_match(match, indexed_rule) { + var token, lines, backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + 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 + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); } } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ + // return next match in input + next: function next() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - 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 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = 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); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return 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 - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function (match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - 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 - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); if (token !== false) { return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; } - } else if (!this.options.flex) { - break; + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, -// return next match that has a token -lex:function lex() { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin(condition) { - this.conditionStack.push(condition); - }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, -// pop the previously active lexer condition state off the condition stack -popState:function popState() { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules() { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState(n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, -// alias for begin(condition) -pushState:function pushState(condition) { - this.begin(condition); - }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:/* do nothing */ -break; -case 1:this.begin("string"); -break; -case 2:this.popState(); -break; -case 3:return "STR"; -break; -case 4:return 69; -break; -case 5:return 76; -break; -case 6:return 70; -break; -case 7:return 71; -break; -case 8:return 72; -break; -case 9:return 73; -break; -case 10:return 12; -break; -case 11:return 30; -break; -case 12:return 32; -break; -case 13:return 13; -break; -case 14:return 13; -break; -case 15:return 13; -break; -case 16:return 13; -break; -case 17:return 13; -break; -case 18:return 13; -break; -case 19:return 79; -break; -case 20:return 88; -break; -case 21:return 86; -break; -case 22:return 8; -break; -case 23:return 83; -break; -case 24:return 93; -break; -case 25:return 16; -break; -case 26:return 15; -break; -case 27:return 17; -break; -case 28:return 18; -break; -case 29:return 51; -break; -case 30:return 49; -break; -case 31:return 50; -break; -case 32:return 52; -break; -case 33:return 56; -break; -case 34:return 54; -break; -case 35:return 55; -break; -case 36:return 57; -break; -case 37:return 56; -break; -case 38:return 54; -break; -case 39:return 55; -break; -case 40:return 57; -break; -case 41:return 61; -break; -case 42:return 59; -break; -case 43:return 60; -break; -case 44:return 62; -break; -case 45:return 48; -break; -case 46:return 53; -break; -case 47:return 58; -break; -case 48:return 44; -break; -case 49:return 89; -break; -case 50:return 91; -break; -case 51:return 81; -break; -case 52:return 92; -break; -case 53:return 92; -break; -case 54:return 85; -break; -case 55:return 63; -break; -case 56:return 38; -break; -case 57:return 39; -break; -case 58:return 36; -break; -case 59:return 37; -break; -case 60:return 40 -break; -case 61:return 41 -break; -case 62:return 96; -break; -case 63:return 9; -break; -case 64:return 10; -break; -case 65:return 11; -break; -} -}, -rules: [/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\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*)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/], -conditions: {"string":{"rules":[2,3],"inclusive":false},"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],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (typeof _dereq_ !== 'undefined' && typeof exports !== 'undefined') { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain(args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: {}, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + var YYSTATE = YY_START; + switch ($avoiding_name_collisions) { + case 0: + /* do nothing */ + break; + case 1: + this.begin("string"); + break; + case 2: + this.popState(); + break; + case 3: + return "STR"; + break; + case 4: + return 69; + break; + case 5: + return 76; + break; + case 6: + return 70; + break; + case 7: + return 71; + break; + case 8: + return 72; + break; + case 9: + return 73; + break; + case 10: + return 12; + break; + case 11: + return 30; + break; + case 12: + return 32; + break; + case 13: + return 13; + break; + case 14: + return 13; + break; + case 15: + return 13; + break; + case 16: + return 13; + break; + case 17: + return 13; + break; + case 18: + return 13; + break; + case 19: + return 79; + break; + case 20: + return 88; + break; + case 21: + return 86; + break; + case 22: + return 8; + break; + case 23: + return 83; + break; + case 24: + return 93; + break; + case 25: + return 16; + break; + case 26: + return 15; + break; + case 27: + return 17; + break; + case 28: + return 18; + break; + case 29: + return 51; + break; + case 30: + return 49; + break; + case 31: + return 50; + break; + case 32: + return 52; + break; + case 33: + return 56; + break; + case 34: + return 54; + break; + case 35: + return 55; + break; + case 36: + return 57; + break; + case 37: + return 56; + break; + case 38: + return 54; + break; + case 39: + return 55; + break; + case 40: + return 57; + break; + case 41: + return 61; + break; + case 42: + return 59; + break; + case 43: + return 60; + break; + case 44: + return 62; + break; + case 45: + return 48; + break; + case 46: + return 53; + break; + case 47: + return 58; + break; + case 48: + return 44; + break; + case 49: + return 89; + break; + case 50: + return 91; + break; + case 51: + return 81; + break; + case 52: + return 92; + break; + case 53: + return 92; + break; + case 54: + return 85; + break; + case 55: + return 63; + break; + case 56: + return 38; + break; + case 57: + return 39; + break; + case 58: + return 36; + break; + case 59: + return 37; + break; + case 60: + return 40; + break; + case 61: + return 41; + break; + case 62: + return 96; + break; + case 63: + return 9; + break; + case 64: + return 10; + break; + case 65: + return 11; + break; + } + }, + rules: [/^(?:%%[^\n]*)/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\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*)/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\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_\/])/, /^(?:\|)/, /^(?:\()/, /^(?:\))/, /^(?:\[)/, /^(?:\])/, /^(?:\{)/, /^(?:\})/, /^(?:")/, /^(?:\n+)/, /^(?:\s)/, /^(?:$)/], + conditions: { "string": { "rules": [2, 3], "inclusive": false }, "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], "inclusive": true } } + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser;parser.Parser = Parser; + return new Parser(); +})(); + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { + exports.parser = parser; + exports.Parser = parser.Parser; + exports.parse = function () { + return parser.parse.apply(parser, arguments); + }; + exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: ' + args[0] + ' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); + }; + if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); } - var source = _dereq_('fs').readFileSync(_dereq_('path').normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if (typeof module !== 'undefined' && _dereq_.main === module) { - exports.main(process.argv.slice(1)); } -} -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83,"fs":81,"path":82}],96:[function(_dereq_,module,exports){ + +}).call(this,require('_process')) +},{"_process":105,"fs":103,"path":104}],93:[function(require,module,exports){ +(function (global){ /** * Created by knut on 15-01-14. */ -var moment = _dereq_('moment'); -var log = _dereq_('../../logger').create(); +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var moment = require('moment'); + +var log = new Logger.Log(); var dateFormat = ''; var title = ''; @@ -34567,7 +34755,7 @@ var sections = []; var tasks = []; var currentSection = ''; -exports.clear = function(){ +exports.clear = function () { sections = []; tasks = []; currentSection = ''; @@ -34576,38 +34764,38 @@ exports.clear = function(){ lastTask = undefined; }; -exports.setDateFormat = function(txt){ +exports.setDateFormat = function (txt) { dateFormat = txt; }; -exports.getDateFormat = function(){ +exports.getDateFormat = function () { return dateFormat; }; -exports.setTitle = function(txt){ +exports.setTitle = function (txt) { title = txt; }; -exports.getTitle = function(){ +exports.getTitle = function () { return title; }; -exports.addSection = function(txt){ +exports.addSection = function (txt) { currentSection = txt; sections.push(txt); }; -exports.findTaskById = function(id) { +exports.findTaskById = function (id) { var i; - for(i=0;i width of rectangle - if (textWidth > (endX - startX)) { - if (endX + textWidth + 1.5*conf.sidePadding> w) { - return startX + theSidePad - 5; - } else { - return endX + theSidePad + 5; - } + if (d.active) { + if (d.crit) { + return res + ' activeCrit' + secNum; } else { - return (endX - startX) / 2 + startX + theSidePad; - } - }) - .attr("y", function (d, i) { - return i * theGap + (conf.barHeight / 2) + (conf.fontSize / 2 - 2) + theTopPad; - }) - //.attr("text-anchor", "middle") - .attr("text-height", theBarHeight) - .attr("class", function (d) { - var startX = timeScale(d.startTime), - endX = timeScale(d.endTime), - textWidth = this.getBBox().width; - var secNum = 0; - for (var i = 0; i < categories.length; i++) { - if (d.type === categories[i]) { - secNum = (i % conf.numberSectionStyles); - } + return res + ' active' + secNum; } + } - var taskType = ''; - if(d.active){ - if (d.crit) { - taskType = 'activeCritText'+secNum; - }else{ - taskType = 'activeText'+secNum; - } - } - - if (d.done) { - if (d.crit) { - taskType = taskType + ' doneCritText'+secNum; - }else{ - taskType = taskType + ' doneText'+secNum; - } - }else{ - if (d.crit) { - taskType = taskType + ' critText'+secNum; - } - } - - // Check id text width > width of rectangle - if (textWidth > (endX - startX)) { - if (endX + textWidth + 1.5*conf.sidePadding > w) { - return 'taskTextOutsideLeft taskTextOutside' + secNum + ' ' + taskType; - } else { - return 'taskTextOutsideRight taskTextOutside' + secNum+ ' ' + taskType; - } + if (d.done) { + if (d.crit) { + return res + ' doneCrit' + secNum; } else { - return 'taskText taskText' + secNum+ ' ' + taskType; + return res + ' done' + secNum; } - }); + } + if (d.crit) { + return res + ' crit' + secNum; + } + + return res + ' task' + secNum; + }); + + rectangles.append('text').text(function (d) { + return d.task; + }).attr('font-size', conf.fontSize) + //.attr('font-family',conf.fontFamily) + .attr('x', function (d) { + var startX = timeScale(d.startTime), + endX = timeScale(d.endTime), + textWidth = this.getBBox().width; + + // Check id text width > width of rectangle + if (textWidth > endX - startX) { + if (endX + textWidth + 1.5 * conf.sidePadding > w) { + return startX + theSidePad - 5; + } else { + return endX + theSidePad + 5; + } + } else { + return (endX - startX) / 2 + startX + theSidePad; + } + }).attr('y', function (d, i) { + return i * theGap + conf.barHeight / 2 + (conf.fontSize / 2 - 2) + theTopPad; + }) + //.attr('text-anchor', 'middle') + .attr('text-height', theBarHeight).attr('class', function (d) { + var startX = timeScale(d.startTime), + endX = timeScale(d.endTime), + textWidth = this.getBBox().width; + var secNum = 0; + for (var i = 0; i < categories.length; i++) { + if (d.type === categories[i]) { + secNum = i % conf.numberSectionStyles; + } + } + + var taskType = ''; + if (d.active) { + if (d.crit) { + taskType = 'activeCritText' + secNum; + } else { + taskType = 'activeText' + secNum; + } + } + + if (d.done) { + if (d.crit) { + taskType = taskType + ' doneCritText' + secNum; + } else { + taskType = taskType + ' doneText' + secNum; + } + } else { + if (d.crit) { + taskType = taskType + ' critText' + secNum; + } + } + + // Check id text width > width of rectangle + if (textWidth > endX - startX) { + if (endX + textWidth + 1.5 * conf.sidePadding > w) { + return 'taskTextOutsideLeft taskTextOutside' + secNum + ' ' + taskType; + } else { + return 'taskTextOutsideRight taskTextOutside' + secNum + ' ' + taskType; + } + } else { + return 'taskText taskText' + secNum + ' ' + taskType; + } + }); } - function makeGrid(theSidePad, theTopPad, w, h) { - var pre = [ - [".%L", function (d) { - return d.getMilliseconds(); - }], - [":%S", function (d) { - return d.getSeconds(); - }], - // Within a hour - ["h1 %I:%M", function (d) { - return d.getMinutes(); - }]]; - var post = [ - ["%Y", function () { - return true; - }]]; - - var mid = [ - // Within a day - ["%I:%M", function (d) { - return d.getHours(); - }], - // Day within a week (not monday) - ["%a %d", function (d) { - //return d.getDay() ==1; - return d.getDay() && d.getDate() != 1; - }], - // within a month - ["%b %d", function (d) { - return d.getDate() != 1; - }], - // Month - ["%B", function (d) { - return d.getMonth(); - }] - ]; + var pre = [['.%L', function (d) { + return d.getMilliseconds(); + }], [':%S', function (d) { + return d.getSeconds(); + }], + // Within a hour + ['h1 %I:%M', function (d) { + return d.getMinutes(); + }]]; + var post = [['%Y', function () { + return true; + }]]; + + var mid = [ + // Within a day + ['%I:%M', function (d) { + return d.getHours(); + }], + // Day within a week (not monday) + ['%a %d', function (d) { + //return d.getDay() ==1; + return d.getDay() && d.getDate() != 1; + }], + // within a month + ['%b %d', function (d) { + return d.getDate() != 1; + }], + // Month + ['%B', function (d) { + return d.getMonth(); + }]]; var formatter; - if(typeof conf.axisFormatter !== 'undefined'){ + if (typeof conf.axisFormatter !== 'undefined') { mid = []; - conf.axisFormatter.forEach(function(item){ + conf.axisFormatter.forEach(function (item) { var n = []; n[0] = item[0]; n[1] = item[1]; @@ -35121,30 +35254,16 @@ module.exports.draw = function (text, id) { } formatter = pre.concat(mid).concat(post); - var xAxis = d3.svg.axis() - .scale(timeScale) - .orient('bottom') - .tickSize(-h + theTopPad + conf.gridLineStartPadding, 0, 0) - .tickFormat(d3.time.format.multi(formatter)) - ; + var xAxis = d3.svg.axis().scale(timeScale).orient('bottom').tickSize(-h + theTopPad + conf.gridLineStartPadding, 0, 0).tickFormat(d3.time.format.multi(formatter)); - if(daysInChart >7 && daysInChart<230){ + if (daysInChart > 7 && daysInChart < 230) { xAxis = xAxis.ticks(d3.time.monday.range); } - var grid = svg.append('g') - .attr('class', 'grid') - .attr('transform', 'translate(' + theSidePad + ', ' + (h - 50) + ')') - .call(xAxis) - .selectAll("text") - .style("text-anchor", "middle") - .attr("fill", "#000") - .attr("stroke", "none") - .attr("font-size", 10) - .attr("dy", "1em"); + svg.append('g').attr('class', 'grid').attr('transform', 'translate(' + theSidePad + ', ' + (h - 50) + ')').call(xAxis).selectAll('text').style('text-anchor', 'middle').attr('fill', '#000').attr('stroke', 'none').attr('font-size', 10).attr('dy', '1em'); } - function vertLabels(theGap, theTopPad, theSidePad, theBarHeight, theColorScale) { + function vertLabels(theGap, theTopPad) { var numOccurances = []; var prevGap = 0; @@ -35152,57 +35271,44 @@ module.exports.draw = function (text, id) { numOccurances[i] = [categories[i], getCount(categories[i], catsUnfiltered)]; } - var axisText = svg.append("g") //without doing this, impossible to put grid lines behind text - .selectAll("text") - .data(numOccurances) - .enter() - .append("text") - .text(function (d) { - return d[0]; - }) - .attr("x", 10) - .attr("y", function (d, i) { - if (i > 0) { - for (var j = 0; j < i; j++) { - prevGap += numOccurances[i - 1][1]; - // log.debug(prevGap); - return d[1] * theGap / 2 + prevGap * theGap + theTopPad; - } - } else { - return d[1] * theGap / 2 + theTopPad; + svg.append('g') //without doing this, impossible to put grid lines behind text + .selectAll('text').data(numOccurances).enter().append('text').text(function (d) { + return d[0]; + }).attr('x', 10).attr('y', function (d, i) { + if (i > 0) { + for (var j = 0; j < i; j++) { + prevGap += numOccurances[i - 1][1]; + // log.debug(prevGap); + return d[1] * theGap / 2 + prevGap * theGap + theTopPad; } - }) - .attr('class', function (d) { - for (var i = 0; i < categories.length; i++) { - if (d[0] === categories[i]) { - return 'sectionTitle sectionTitle' + (i % conf.numberSectionStyles); - } + } else { + return d[1] * theGap / 2 + theTopPad; + } + }).attr('class', function (d) { + for (var i = 0; i < categories.length; i++) { + if (d[0] === categories[i]) { + return 'sectionTitle sectionTitle' + i % conf.numberSectionStyles; } - return 'sectionTitle'; - }); - + } + return 'sectionTitle'; + }); } function drawToday(theSidePad, theTopPad, w, h) { - var todayG = svg.append('g') - .attr('class', 'today'); + var todayG = svg.append('g').attr('class', 'today'); var today = new Date(); - var todayLine = todayG.append("line") - .attr("x1", timeScale(today) + theSidePad) - .attr("x2", timeScale(today) + theSidePad) - .attr("y1", conf.titleTopMargin) - .attr("y2", h-conf.titleTopMargin) - .attr('class', 'today') - ; + todayG.append('line').attr('x1', timeScale(today) + theSidePad).attr('x2', timeScale(today) + theSidePad).attr('y1', conf.titleTopMargin).attr('y2', h - conf.titleTopMargin).attr('class', 'today'); } -//from this stackexchange question: http://stackoverflow.com/questions/1890203/unique-for-arrays-in-javascript + //from this stackexchange question: http://stackoverflow.com/questions/1890203/unique-for-arrays-in-javascript function checkUnique(arr) { - var hash = {}, result = []; + var hash = {}, + result = []; for (var i = 0, l = arr.length; i < l; ++i) { - if (!hash.hasOwnProperty(arr[i])) { //it works with objects! in FF, at least + if (!hash.hasOwnProperty(arr[i])) { + //it works with objects! in FF, at least hash[arr[i]] = true; result.push(arr[i]); } @@ -35210,22 +35316,24 @@ module.exports.draw = function (text, id) { return result; } -//from this stackexchange question: http://stackoverflow.com/questions/14227981/count-how-many-strings-in-an-array-have-duplicates-in-the-same-array + //from this stackexchange question: http://stackoverflow.com/questions/14227981/count-how-many-strings-in-an-array-have-duplicates-in-the-same-array function getCounts(arr) { - var i = arr.length, // var to loop over - obj = {}; // obj to store results + var i = arr.length, + // var to loop over + obj = {}; // obj to store results while (i) { obj[arr[--i]] = (obj[arr[i]] || 0) + 1; // count occurrences } return obj; } -// get specific from everything + // get specific from everything function getCount(word, arr) { return getCounts(arr)[word] || 0; } }; -},{"../../d3":87,"../../logger":104,"./ganttDb":96,"./parser/gantt":98,"moment":85}],98:[function(_dereq_,module,exports){ + +},{"../../d3":84,"./ganttDb":93,"./parser/gantt":95,"moment":82}],95:[function(require,module,exports){ (function (process){ /* parser generated by jison 0.4.15 */ /* @@ -35300,585 +35408,608 @@ module.exports.draw = function (text, id) { recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,12,13,14],$V1=[1,9],$V2=[1,10],$V3=[1,11],$V4=[1,12]; -var parser = {trace: function trace() { }, -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 anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ +"use strict"; -var $0 = $$.length - 1; -switch (yystate) { -case 1: - return $$[$0-1]; -break; -case 2: - this.$ = [] -break; -case 3: -$$[$0-1].push($$[$0]);this.$ = $$[$0-1] -break; -case 4: case 5: - this.$ = $$[$0] -break; -case 6: case 7: - this.$=[]; -break; -case 8: -yy.setDateFormat($$[$0].substr(11));this.$=$$[$0].substr(11); -break; -case 9: -yy.setTitle($$[$0].substr(6));this.$=$$[$0].substr(6); -break; -case 10: -yy.addSection($$[$0].substr(8));this.$=$$[$0].substr(8); -break; -case 11: -yy.addTask($$[$0-1],$$[$0]);this.$='task'; -break; -} -}, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:$V1,12:$V2,13:$V3,14:$V4},o($V0,[2,7],{1:[2,1]}),o($V0,[2,3]),{9:13,11:$V1,12:$V2,13:$V3,14:$V4},o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,8]),o($V0,[2,9]),o($V0,[2,10]),{15:[1,14]},o($V0,[2,4]),o($V0,[2,11])], -defaultActions: {}, -parseError: function parseError(str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - throw new Error(str); - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - _token_stack: - function lex() { - var token; - token = lexer.lex() || EOF; - if (typeof token !== 'number') { - token = self.symbols_[token] || token; +var parser = (function () { + var o = function o(k, v, _o, l) { + for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o; + }, + $V0 = [6, 8, 10, 11, 12, 13, 14], + $V1 = [1, 9], + $V2 = [1, 10], + $V3 = [1, 11], + $V4 = [1, 12]; + var parser = { trace: function trace() {}, + 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 anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) { + /* this == yyval */ + + var $0 = $$.length - 1; + switch (yystate) { + case 1: + return $$[$0 - 1]; + break; + case 2: + this.$ = []; + break; + case 3: + $$[$0 - 1].push($$[$0]);this.$ = $$[$0 - 1]; + break; + case 4:case 5: + this.$ = $$[$0]; + break; + case 6:case 7: + this.$ = []; + break; + case 8: + yy.setDateFormat($$[$0].substr(11));this.$ = $$[$0].substr(11); + break; + case 9: + yy.setTitle($$[$0].substr(6));this.$ = $$[$0].substr(6); + break; + case 10: + yy.addSection($$[$0].substr(8));this.$ = $$[$0].substr(8); + break; + case 11: + yy.addTask($$[$0 - 1], $$[$0]);this.$ = 'task'; + break; } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); + }, + table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 13: $V3, 14: $V4 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 13, 11: $V1, 12: $V2, 13: $V3, 14: $V4 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), o($V0, [2, 9]), o($V0, [2, 10]), { 15: [1, 14] }, o($V0, [2, 4]), o($V0, [2, 11])], + defaultActions: {}, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + throw new Error(str); } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); + }, + parse: function parse(input) { + var self = this, + stack = [0], + tstack = [], + vstack = [null], + lstack = [], + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + _token_stack: var lex = function lex() { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, + preErrorSymbol, + state, + action, + a, + r, + yyval = {}, + p, + len, + newState, + expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } }; + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + + EOF: 1, + + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + + // resets the lexer, sets new input + setInput: function setInput(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + 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 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + + // consumes and returns one char from the input + input: function input() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + + // unshifts one char (or a string) into the input + unput: function unput(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = 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); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + + // When called from action, caches matched text and appends it on next action + more: function more() { + this._more = true; + return this; + }, + + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function reject() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return 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 + }); + } + return this; + }, + + // retain first n characters of the match + less: function less(n) { + this.unput(this.match.slice(n)); + }, + + // displays already matched input, i.e. for error messages + pastInput: function pastInput() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }, + + // displays upcoming input, i.e. for error messages + upcomingInput: function upcomingInput() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function showPosition() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function test_match(match, indexed_rule) { + var token, lines, backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + 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 + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); } } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, -EOF:1, + // return next match in input + next: function next() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - 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 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = 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); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return 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 - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function (match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - 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 - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); if (token !== false) { return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; } - } else if (!this.options.flex) { - break; + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, -// return next match that has a token -lex:function lex() { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin(condition) { - this.conditionStack.push(condition); - }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, -// pop the previously active lexer condition state off the condition stack -popState:function popState() { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules() { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState(n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, -// alias for begin(condition) -pushState:function pushState(condition) { - this.begin(condition); - }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - // Pre-lexer code can go here + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: { "case-insensitive": true }, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + // Pre-lexer code can go here -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 10; -break; -case 1:/* skip whitespace */ -break; -case 2:/* skip comments */ -break; -case 3:/* skip comments */ -break; -case 4:return 4; -break; -case 5:return 11; -break; -case 6:return 'date'; -break; -case 7:return 12; -break; -case 8:return 13; -break; -case 9:return 14; -break; -case 10:return 15; -break; -case 11:return ':'; -break; -case 12:return 6; -break; -case 13:return 'INVALID'; -break; -} -}, -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":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (typeof _dereq_ !== 'undefined' && typeof exports !== 'undefined') { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain(args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); + var YYSTATE = YY_START; + switch ($avoiding_name_collisions) { + case 0: + return 10; + break; + case 1: + /* skip whitespace */ + break; + case 2: + /* skip comments */ + break; + case 3: + /* skip comments */ + break; + case 4: + return 4; + break; + case 5: + return 11; + break; + case 6: + return 'date'; + break; + case 7: + return 12; + break; + case 8: + return 13; + break; + case 9: + return 14; + break; + case 10: + return 15; + break; + case 11: + return ':'; + break; + case 12: + return 6; + break; + case 13: + return 'INVALID'; + break; + } + }, + 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": true } } + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser;parser.Parser = Parser; + return new Parser(); +})(); + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { + exports.parser = parser; + exports.Parser = parser.Parser; + exports.parse = function () { + return parser.parse.apply(parser, arguments); + }; + exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: ' + args[0] + ' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); + }; + if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); } - var source = _dereq_('fs').readFileSync(_dereq_('path').normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if (typeof module !== 'undefined' && _dereq_.main === module) { - exports.main(process.argv.slice(1)); } -} -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83,"fs":81,"path":82}],99:[function(_dereq_,module,exports){ + +}).call(this,require('_process')) +},{"_process":105,"fs":103,"path":104}],96:[function(require,module,exports){ (function (process){ /* parser generated by jison 0.4.15 */ /* @@ -35953,775 +36084,834 @@ if (typeof module !== 'undefined' && _dereq_.main === module) { recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,20,22,33],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,15],$V9=[1,17],$Va=[1,18],$Vb=[2,7],$Vc=[6,8,10,11,15,17,18,19,20,21,22,33],$Vd=[6,8,10,11,15,17,18,19,20,22,33],$Ve=[1,46],$Vf=[1,49],$Vg=[1,53]; -var parser = {trace: function trace() { }, -yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"opt":19,"alt":20,"else":21,"note":22,"placement":23,"text2":24,"over":25,"spaceList":26,"actor_pair":27,",":28,"left_of":29,"right_of":30,"signaltype":31,"actors":32,"ACTOR":33,"SOLID_OPEN_ARROW":34,"DOTTED_OPEN_ARROW":35,"SOLID_ARROW":36,"DOTTED_ARROW":37,"SOLID_CROSS":38,"DOTTED_CROSS":39,"TXT":40,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"}, -productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ +"use strict"; -var $0 = $$.length - 1; -switch (yystate) { -case 1: - yy.apply($$[$0-1]);return $$[$0-1]; -break; -case 2: - this.$ = [] -break; -case 3: -$$[$0-1].push($$[$0]);this.$ = $$[$0-1] -break; -case 4: case 5: - this.$ = $$[$0] -break; -case 6: case 7: - this.$=[]; -break; -case 8: -this.$=$$[$0-1]; -break; -case 12: +var parser = (function () { + var o = function o(k, v, _o, l) { + for (_o = _o || {}, l = k.length; l--; _o[k[l]] = v);return _o; + }, + $V0 = [6, 8, 10, 11, 15, 17, 19, 20, 22, 33], + $V1 = [2, 2], + $V2 = [1, 6], + $V3 = [1, 8], + $V4 = [1, 9], + $V5 = [1, 12], + $V6 = [1, 13], + $V7 = [1, 14], + $V8 = [1, 15], + $V9 = [1, 17], + $Va = [1, 18], + $Vb = [2, 7], + $Vc = [6, 8, 10, 11, 15, 17, 18, 19, 20, 21, 22, 33], + $Vd = [6, 8, 10, 11, 15, 17, 18, 19, 20, 22, 33], + $Ve = [1, 46], + $Vf = [1, 49], + $Vg = [1, 53]; + var parser = { trace: function trace() {}, + yy: {}, + symbols_: { "error": 2, "start": 3, "SD": 4, "document": 5, "EOF": 6, "line": 7, "SPACE": 8, "statement": 9, "NL": 10, "participant": 11, "actor": 12, "signal": 13, "note_statement": 14, "title": 15, "text": 16, "loop": 17, "end": 18, "opt": 19, "alt": 20, "else": 21, "note": 22, "placement": 23, "text2": 24, "over": 25, "spaceList": 26, "actor_pair": 27, ",": 28, "left_of": 29, "right_of": 30, "signaltype": 31, "actors": 32, "ACTOR": 33, "SOLID_OPEN_ARROW": 34, "DOTTED_OPEN_ARROW": 35, "SOLID_ARROW": 36, "DOTTED_ARROW": 37, "SOLID_CROSS": 38, "DOTTED_CROSS": 39, "TXT": 40, "$accept": 0, "$end": 1 }, + terminals_: { 2: "error", 4: "SD", 6: "EOF", 8: "SPACE", 10: "NL", 11: "participant", 15: "title", 16: "text", 17: "loop", 18: "end", 19: "opt", 20: "alt", 21: "else", 22: "note", 25: "over", 28: ",", 29: "left_of", 30: "right_of", 33: "ACTOR", 34: "SOLID_OPEN_ARROW", 35: "DOTTED_OPEN_ARROW", 36: "SOLID_ARROW", 37: "DOTTED_ARROW", 38: "SOLID_CROSS", 39: "DOTTED_CROSS", 40: "TXT" }, + productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 3], [9, 2], [9, 2], [9, 4], [9, 4], [9, 4], [9, 7], [14, 4], [14, 5], [26, 2], [26, 1], [27, 1], [27, 3], [23, 1], [23, 1], [13, 4], [32, 2], [32, 1], [12, 1], [31, 1], [31, 1], [31, 1], [31, 1], [31, 1], [31, 1], [24, 1]], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, /* action[1] */$$, /* vstack */_$ /* lstack */) { + /* this == yyval */ - $$[$0-1].unshift({type: 'loopStart', loopText:$$[$0-2].actor, signalType: yy.LINETYPE.LOOP_START}); - $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); - this.$=$$[$0-1]; -break; -case 13: + var $0 = $$.length - 1; + switch (yystate) { + case 1: + yy.apply($$[$0 - 1]);return $$[$0 - 1]; + break; + case 2: + this.$ = []; + break; + case 3: + $$[$0 - 1].push($$[$0]);this.$ = $$[$0 - 1]; + break; + case 4:case 5: + this.$ = $$[$0]; + break; + case 6:case 7: + this.$ = []; + break; + case 8: + this.$ = $$[$0 - 1]; + break; + case 12: - $$[$0-1].unshift({type: 'optStart', optText:$$[$0-2].actor, signalType: yy.LINETYPE.OPT_START}); - $$[$0-1].push({type: 'optEnd', optText:$$[$0-2].actor, signalType: yy.LINETYPE.OPT_END}); - this.$=$$[$0-1]; -break; -case 14: + $$[$0 - 1].unshift({ type: 'loopStart', loopText: $$[$0 - 2].actor, signalType: yy.LINETYPE.LOOP_START }); + $$[$0 - 1].push({ type: 'loopEnd', loopText: $$[$0 - 2], signalType: yy.LINETYPE.LOOP_END }); + this.$ = $$[$0 - 1]; + break; + case 13: - // Alt start - $$[$0-4].unshift({type: 'altStart', altText:$$[$0-5].actor, signalType: yy.LINETYPE.ALT_START}); - // Content in alt is already in $$[$0-4] - // Else - $$[$0-4].push({type: 'else', altText:$$[$0-2].actor, signalType: yy.LINETYPE.ALT_ELSE}); - // Content in other alt - $$[$0-4] = $$[$0-4].concat($$[$0-1]); - // End - $$[$0-4].push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); + $$[$0 - 1].unshift({ type: 'optStart', optText: $$[$0 - 2].actor, signalType: yy.LINETYPE.OPT_START }); + $$[$0 - 1].push({ type: 'optEnd', optText: $$[$0 - 2].actor, signalType: yy.LINETYPE.OPT_END }); + this.$ = $$[$0 - 1]; + break; + case 14: - this.$=$$[$0-4]; -break; -case 15: -this.$=[$$[$0-1],{type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; -break; -case 19: - this.$ = $$[$0]; -break; -case 20: - this.$ = [$$[$0-2], $$[$0]]; -break; -case 21: - this.$ = yy.PLACEMENT.LEFTOF; -break; -case 22: - this.$ = yy.PLACEMENT.RIGHTOF; -break; -case 23: -this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] -break; -case 26: -this.$={type: 'addActor', actor:$$[$0]} -break; -case 27: - this.$ = yy.LINETYPE.SOLID_OPEN; -break; -case 28: - this.$ = yy.LINETYPE.DOTTED_OPEN; -break; -case 29: - this.$ = yy.LINETYPE.SOLID; -break; -case 30: - this.$ = yy.LINETYPE.DOTTED; -break; -case 31: - this.$ = yy.LINETYPE.SOLID_CROSS; -break; -case 32: - this.$ = yy.LINETYPE.DOTTED_CROSS; -break; -case 33: -this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); -break; -} -}, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,22:$V9,33:$Va},o($V0,$Vb,{1:[2,1]}),o($Vc,[2,3]),{9:19,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,22:$V9,33:$Va},o($Vc,[2,5]),o($Vc,[2,6]),{12:20,33:$Va},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:$Va},{12:25,33:$Va},{12:26,33:$Va},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},o([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),o($Vc,[2,4]),{10:[1,38]},o($Vc,[2,9]),o($Vc,[2,10]),{16:[1,39]},o($Vd,$V1,{5:40}),o($Vd,$V1,{5:41}),o([6,8,10,11,15,17,19,20,21,22,33],$V1,{5:42}),{12:43,33:$Va},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:$Va},{8:$Ve,26:45},{33:[2,21]},{33:[2,22]},o($Vc,[2,8]),{10:[1,47]},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,48],19:$V7,20:$V8,22:$V9,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,50],19:$V7,20:$V8,22:$V9,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,21:[1,51],22:$V9,33:$Va},{24:52,40:$Vg},{24:54,40:$Vg},{12:56,27:55,33:$Va},{8:$Ve,26:57,33:[2,18]},o($Vc,[2,11]),o($Vc,[2,12]),o($Vc,$Vb),o($Vc,[2,13]),{12:58,33:$Va},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:$Va},{28:[1,60],33:[2,19]},{33:[2,17]},o($Vd,$V1,{5:61}),{10:[2,16]},{12:62,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,63],19:$V7,20:$V8,22:$V9,33:$Va},{33:[2,20]},o($Vc,[2,14])], -defaultActions: {28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]}, -parseError: function parseError(str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - throw new Error(str); - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - _token_stack: - function lex() { - var token; - token = lexer.lex() || EOF; - if (typeof token !== 'number') { - token = self.symbols_[token] || token; + // Alt start + $$[$0 - 4].unshift({ type: 'altStart', altText: $$[$0 - 5].actor, signalType: yy.LINETYPE.ALT_START }); + // Content in alt is already in $$[$0-4] + // Else + $$[$0 - 4].push({ type: 'else', altText: $$[$0 - 2].actor, signalType: yy.LINETYPE.ALT_ELSE }); + // Content in other alt + $$[$0 - 4] = $$[$0 - 4].concat($$[$0 - 1]); + // End + $$[$0 - 4].push({ type: 'altEnd', signalType: yy.LINETYPE.ALT_END }); + + this.$ = $$[$0 - 4]; + break; + case 15: + this.$ = [$$[$0 - 1], { type: 'addNote', placement: $$[$0 - 2], actor: $$[$0 - 1].actor, text: $$[$0] }]; + break; + case 19: + this.$ = $$[$0]; + break; + case 20: + this.$ = [$$[$0 - 2], $$[$0]]; + break; + case 21: + this.$ = yy.PLACEMENT.LEFTOF; + break; + case 22: + this.$ = yy.PLACEMENT.RIGHTOF; + break; + case 23: + this.$ = [$$[$0 - 3], $$[$0 - 1], { type: 'addMessage', from: $$[$0 - 3].actor, to: $$[$0 - 1].actor, signalType: $$[$0 - 2], msg: $$[$0] }]; + break; + case 26: + this.$ = { type: 'addActor', actor: $$[$0] }; + break; + case 27: + this.$ = yy.LINETYPE.SOLID_OPEN; + break; + case 28: + this.$ = yy.LINETYPE.DOTTED_OPEN; + break; + case 29: + this.$ = yy.LINETYPE.SOLID; + break; + case 30: + this.$ = yy.LINETYPE.DOTTED; + break; + case 31: + this.$ = yy.LINETYPE.SOLID_CROSS; + break; + case 32: + this.$ = yy.LINETYPE.DOTTED_CROSS; + break; + case 33: + this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); + break; } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); + }, + table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, $V1, { 5: 3 }), { 6: [1, 4], 7: 5, 8: $V2, 9: 7, 10: $V3, 11: $V4, 12: 16, 13: 10, 14: 11, 15: $V5, 17: $V6, 19: $V7, 20: $V8, 22: $V9, 33: $Va }, o($V0, $Vb, { 1: [2, 1] }), o($Vc, [2, 3]), { 9: 19, 11: $V4, 12: 16, 13: 10, 14: 11, 15: $V5, 17: $V6, 19: $V7, 20: $V8, 22: $V9, 33: $Va }, o($Vc, [2, 5]), o($Vc, [2, 6]), { 12: 20, 33: $Va }, { 10: [1, 21] }, { 10: [1, 22] }, { 8: [1, 23] }, { 12: 24, 33: $Va }, { 12: 25, 33: $Va }, { 12: 26, 33: $Va }, { 31: 27, 34: [1, 28], 35: [1, 29], 36: [1, 30], 37: [1, 31], 38: [1, 32], 39: [1, 33] }, { 23: 34, 25: [1, 35], 29: [1, 36], 30: [1, 37] }, o([6, 8, 10, 11, 15, 17, 18, 19, 20, 21, 22, 28, 33, 34, 35, 36, 37, 38, 39, 40], [2, 26]), o($Vc, [2, 4]), { 10: [1, 38] }, o($Vc, [2, 9]), o($Vc, [2, 10]), { 16: [1, 39] }, o($Vd, $V1, { 5: 40 }), o($Vd, $V1, { 5: 41 }), o([6, 8, 10, 11, 15, 17, 19, 20, 21, 22, 33], $V1, { 5: 42 }), { 12: 43, 33: $Va }, { 33: [2, 27] }, { 33: [2, 28] }, { 33: [2, 29] }, { 33: [2, 30] }, { 33: [2, 31] }, { 33: [2, 32] }, { 12: 44, 33: $Va }, { 8: $Ve, 26: 45 }, { 33: [2, 21] }, { 33: [2, 22] }, o($Vc, [2, 8]), { 10: [1, 47] }, { 6: $Vf, 7: 5, 8: $V2, 9: 7, 10: $V3, 11: $V4, 12: 16, 13: 10, 14: 11, 15: $V5, 17: $V6, 18: [1, 48], 19: $V7, 20: $V8, 22: $V9, 33: $Va }, { 6: $Vf, 7: 5, 8: $V2, 9: 7, 10: $V3, 11: $V4, 12: 16, 13: 10, 14: 11, 15: $V5, 17: $V6, 18: [1, 50], 19: $V7, 20: $V8, 22: $V9, 33: $Va }, { 6: $Vf, 7: 5, 8: $V2, 9: 7, 10: $V3, 11: $V4, 12: 16, 13: 10, 14: 11, 15: $V5, 17: $V6, 19: $V7, 20: $V8, 21: [1, 51], 22: $V9, 33: $Va }, { 24: 52, 40: $Vg }, { 24: 54, 40: $Vg }, { 12: 56, 27: 55, 33: $Va }, { 8: $Ve, 26: 57, 33: [2, 18] }, o($Vc, [2, 11]), o($Vc, [2, 12]), o($Vc, $Vb), o($Vc, [2, 13]), { 12: 58, 33: $Va }, { 10: [2, 23] }, { 10: [2, 33] }, { 10: [2, 15] }, { 12: 59, 33: $Va }, { 28: [1, 60], 33: [2, 19] }, { 33: [2, 17] }, o($Vd, $V1, { 5: 61 }), { 10: [2, 16] }, { 12: 62, 33: $Va }, { 6: $Vf, 7: 5, 8: $V2, 9: 7, 10: $V3, 11: $V4, 12: 16, 13: 10, 14: 11, 15: $V5, 17: $V6, 18: [1, 63], 19: $V7, 20: $V8, 22: $V9, 33: $Va }, { 33: [2, 20] }, o($Vc, [2, 14])], + defaultActions: { 28: [2, 27], 29: [2, 28], 30: [2, 29], 31: [2, 30], 32: [2, 31], 33: [2, 32], 36: [2, 21], 37: [2, 22], 52: [2, 23], 53: [2, 33], 54: [2, 15], 57: [2, 17], 59: [2, 16], 62: [2, 20] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + throw new Error(str); } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); + }, + parse: function parse(input) { + var self = this, + stack = [0], + tstack = [], + vstack = [null], + lstack = [], + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + _token_stack: var lex = function lex() { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, + preErrorSymbol, + state, + action, + a, + r, + yyval = {}, + p, + len, + newState, + expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } }; + /* generated by jison-lex 0.3.4 */ + var lexer = (function () { + var lexer = { + + EOF: 1, + + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + + // resets the lexer, sets new input + setInput: function setInput(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + 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 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + + // consumes and returns one char from the input + input: function input() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + + // unshifts one char (or a string) into the input + unput: function unput(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = 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); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + + // When called from action, caches matched text and appends it on next action + more: function more() { + this._more = true; + return this; + }, + + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function reject() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return 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 + }); + } + return this; + }, + + // retain first n characters of the match + less: function less(n) { + this.unput(this.match.slice(n)); + }, + + // displays already matched input, i.e. for error messages + pastInput: function pastInput() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }, + + // displays upcoming input, i.e. for error messages + upcomingInput: function upcomingInput() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function showPosition() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function test_match(match, indexed_rule) { + var token, lines, backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + 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 + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); } } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, -EOF:1, + // return next match in input + next: function next() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - 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 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = 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); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return 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 - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function (match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - 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 - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); if (token !== false) { return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; } - } else if (!this.options.flex) { - break; + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, -// return next match that has a token -lex:function lex() { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin(condition) { - this.conditionStack.push(condition); - }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, -// pop the previously active lexer condition state off the condition stack -popState:function popState() { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules() { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState(n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, -// alias for begin(condition) -pushState:function pushState(condition) { - this.begin(condition); - }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - // Pre-lexer code can go here + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: { "case-insensitive": true }, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + // Pre-lexer code can go here -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 10; -break; -case 1: return 38; -break; -case 2: return 39; -break; -case 3: return 36; -break; -case 4: return 37; -break; -case 5:/* skip whitespace */ -break; -case 6:/* skip comments */ -break; -case 7:/* skip comments */ -break; -case 8:return 11; -break; -case 9:return 19; -break; -case 10:return 17; -break; -case 11:return 20; -break; -case 12:return 21; -break; -case 13:return 18; -break; -case 14:return 29; -break; -case 15:return 30; -break; -case 16:return 25; -break; -case 17:return 22; -break; -case 18:return 15; -break; -case 19:return 4; -break; -case 20:return 28; -break; -case 21:return 10; -break; -case 22:return 33; -break; -case 23:return 34; -break; -case 24:return 35; -break; -case 25:return 36; -break; -case 26:return 37; -break; -case 27:return 40; -break; -case 28:return 6; -break; -case 29:return 'INVALID'; -break; -} -}, -rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (typeof _dereq_ !== 'undefined' && typeof exports !== 'undefined') { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain(args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); + var YYSTATE = YY_START; + switch ($avoiding_name_collisions) { + case 0: + return 10; + break; + case 1: + return 38; + break; + case 2: + return 39; + break; + case 3: + return 36; + break; + case 4: + return 37; + break; + case 5: + /* skip whitespace */ + break; + case 6: + /* skip comments */ + break; + case 7: + /* skip comments */ + break; + case 8: + return 11; + break; + case 9: + return 19; + break; + case 10: + return 17; + break; + case 11: + return 20; + break; + case 12: + return 21; + break; + case 13: + return 18; + break; + case 14: + return 29; + break; + case 15: + return 30; + break; + case 16: + return 25; + break; + case 17: + return 22; + break; + case 18: + return 15; + break; + case 19: + return 4; + break; + case 20: + return 28; + break; + case 21: + return 10; + break; + case 22: + return 33; + break; + case 23: + return 34; + break; + case 24: + return 35; + break; + case 25: + return 36; + break; + case 26: + return 37; + break; + case 27: + return 40; + break; + case 28: + return 6; + break; + case 29: + return 'INVALID'; + break; + } + }, + rules: [/^(?:[\n]+)/i, /^(?:[\-][x])/i, /^(?:[\-][\-][x])/i, /^(?:[\-][>][>])/i, /^(?:[\-][\-][>][>])/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:participant\b)/i, /^(?:opt\b)/i, /^(?:loop\b)/i, /^(?:alt\b)/i, /^(?:else\b)/i, /^(?:end\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:title\b)/i, /^(?:sequenceDiagram\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\->:\n,;]+)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:->>)/i, /^(?:-->>)/i, /^(?::[^#\n;]+)/i, /^(?:$)/i, /^(?:.)/i], + 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], "inclusive": true } } + }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser;parser.Parser = Parser; + return new Parser(); +})(); + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { + exports.parser = parser; + exports.Parser = parser.Parser; + exports.parse = function () { + return parser.parse.apply(parser, arguments); + }; + exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: ' + args[0] + ' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); + }; + if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); } - var source = _dereq_('fs').readFileSync(_dereq_('path').normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if (typeof module !== 'undefined' && _dereq_.main === module) { - exports.main(process.argv.slice(1)); } -} -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83,"fs":81,"path":82}],100:[function(_dereq_,module,exports){ + +}).call(this,require('_process')) +},{"_process":105,"fs":103,"path":104}],97:[function(require,module,exports){ +(function (global){ /** * Created by knut on 14-11-19. */ -var actors = {}; +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var actors = {}; var actorKeys = []; -var messages = []; -var notes = []; -var log = _dereq_('../../logger').create(); +var messages = []; +var notes = []; +var log = new Logger.Log(); -exports.addActor = function(id,name,description){ - actors[id] = {name:name, description:description}; +exports.addActor = function (id, name, description) { + actors[id] = { name: name, description: description }; actorKeys.push(id); }; -exports.addMessage = function(idFrom, idTo, message, answer){ - messages.push({from:idFrom, to:idTo, message:message, answer:answer}); +exports.addMessage = function (idFrom, idTo, message, answer) { + messages.push({ from: idFrom, to: idTo, message: message, answer: answer }); }; /** * */ -exports.addSignal = function(idFrom, idTo, message, messageType){ - log.debug('Adding message from='+idFrom+' to='+idTo+' message='+message+' type='+messageType); - messages.push({from:idFrom, to:idTo, message:message, type:messageType}); +exports.addSignal = function (idFrom, idTo, message, messageType) { + log.debug('Adding message from=' + idFrom + ' to=' + idTo + ' message=' + message + ' type=' + messageType); + messages.push({ from: idFrom, to: idTo, message: message, type: messageType }); }; -exports.getMessages = function(){ +exports.getMessages = function () { return messages; }; -exports.getActors = function(){ +exports.getActors = function () { return actors; }; -exports.getActor = function(id){ +exports.getActor = function (id) { return actors[id]; }; -exports.getActorKeys = function(){ +exports.getActorKeys = function () { return Object.keys(actors); }; -exports.clear = function(){ - actors = {}; +exports.clear = function () { + actors = {}; messages = []; }; exports.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 + 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 }; exports.ARROWTYPE = { - FILLED : 0, - OPEN : 1 + FILLED: 0, + OPEN: 1 }; exports.PLACEMENT = { - LEFTOF : 0, - RIGHTOF : 1, - OVER : 2 + LEFTOF: 0, + RIGHTOF: 1, + OVER: 2 }; -exports.addNote = function (actor, placement, message){ - var note = {actor:actor, placement: placement, message:message}; +exports.addNote = function (actor, placement, message) { + var note = { actor: actor, placement: placement, message: message }; notes.push(note); - messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE, placement: placement}); + messages.push({ from: actor, to: actor, message: message, type: exports.LINETYPE.NOTE, placement: placement }); }; - -exports.parseError = function(err,hash){ - mermaidAPI.parseError(err,hash); +exports.parseError = function (err, hash) { + global.mermaidAPI.parseError(err, hash); }; -exports.apply = function(param){ - if(param instanceof Array ){ - param.forEach(function(item){ +exports.apply = function (param) { + if (param instanceof Array) { + param.forEach(function (item) { exports.apply(item); }); } else { // log.debug(param); - switch(param.type){ + switch (param.type) { case 'addActor': exports.addActor(param.actor, param.actor, param.actor); break; case 'addNote': - exports.addNote(param.actor,param.placement, param.text); + exports.addNote(param.actor, param.placement, param.text); break; case 'addMessage': exports.addSignal(param.from, param.to, param.msg, param.signalType); @@ -36756,126 +36946,136 @@ exports.apply = function(param){ } } }; -},{"../../logger":104}],101:[function(_dereq_,module,exports){ + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../../logger":100}],98:[function(require,module,exports){ /** * Created by knut on 14-11-23. */ -var sq = _dereq_('./parser/sequenceDiagram').parser; -sq.yy = _dereq_('./sequenceDb'); -var svgDraw = _dereq_('./svgDraw'); -var d3 = _dereq_('../../d3'); -var log = _dereq_('../../logger').create(); +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var sq = require('./parser/sequenceDiagram').parser; +sq.yy = require('./sequenceDb'); +var svgDraw = require('./svgDraw'); +var d3 = require('../../d3'); + +var log = new Logger.Log(); var conf = { - diagramMarginX:50, - diagramMarginY:10, + diagramMarginX: 50, + diagramMarginY: 10, // Margin between actors - actorMargin:50, + actorMargin: 50, // Width of actor moxes - width:150, + width: 150, // Height of actor boxes - height:65, + height: 65, // Margin around loop boxes - boxMargin:10, - boxTextMargin:5, - noteMargin:10, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, // Space between messages - messageMargin:35, + messageMargin: 35, //mirror actors under diagram - mirrorActors:false, + mirrorActors: false, // Depending on css styling this might need adjustment // Prolongs the edge of the diagram downwards - bottomMarginAdj:1 + bottomMarginAdj: 1 }; -//var bb = getBBox("path"); +//var bb = getBBox('path'); exports.bounds = { - data:{ - startx:undefined, - stopx :undefined, - starty:undefined, - stopy :undefined, + data: { + startx: undefined, + stopx: undefined, + starty: undefined, + stopy: undefined }, - verticalPos:0, + verticalPos: 0, list: [], - init : function(){ + init: function init() { this.list = []; this.data = { - startx:undefined, - stopx :undefined, - starty:undefined, - stopy :undefined, + startx: undefined, + stopx: undefined, + starty: undefined, + stopy: undefined }; - this.verticalPos =0; + this.verticalPos = 0; }, - updateVal : function (obj,key,val,fun){ - if(typeof obj[key] === 'undefined'){ + updateVal: function updateVal(obj, key, val, fun) { + if (typeof obj[key] === 'undefined') { obj[key] = val; - }else{ - obj[key] = fun(val,obj[key]); + } else { + obj[key] = fun(val, obj[key]); } }, - updateLoops:function(startx,starty,stopx,stopy){ + updateLoops: function updateLoops(startx, starty, stopx, stopy) { var _self = this; var cnt = 0; - this.list.forEach(function(loop){ + this.list.forEach(function (loop) { cnt++; // The loop list is a stack so the biggest margins in the beginning of the list - var n = _self.list.length-cnt+1; + var n = _self.list.length - cnt + 1; - _self.updateVal(loop, 'startx',startx - n*conf.boxMargin, Math.min); - _self.updateVal(loop, 'starty',starty - n*conf.boxMargin, Math.min); - _self.updateVal(loop, 'stopx' ,stopx + n*conf.boxMargin, Math.max); - _self.updateVal(loop, 'stopy' ,stopy + n*conf.boxMargin, Math.max); + _self.updateVal(loop, 'startx', startx - n * conf.boxMargin, Math.min); + _self.updateVal(loop, 'starty', starty - n * conf.boxMargin, Math.min); + _self.updateVal(loop, 'stopx', stopx + n * conf.boxMargin, Math.max); + _self.updateVal(loop, 'stopy', stopy + n * conf.boxMargin, Math.max); - _self.updateVal(exports.bounds.data,'startx',startx - n*conf.boxMargin ,Math.min); - _self.updateVal(exports.bounds.data,'starty',starty - n*conf.boxMargin ,Math.min); - _self.updateVal(exports.bounds.data,'stopx' ,stopx + n*conf.boxMargin ,Math.max); - _self.updateVal(exports.bounds.data,'stopy' ,stopy + n*conf.boxMargin ,Math.max); + _self.updateVal(exports.bounds.data, 'startx', startx - n * conf.boxMargin, Math.min); + _self.updateVal(exports.bounds.data, 'starty', starty - n * conf.boxMargin, Math.min); + _self.updateVal(exports.bounds.data, 'stopx', stopx + n * conf.boxMargin, Math.max); + _self.updateVal(exports.bounds.data, 'stopy', stopy + n * conf.boxMargin, Math.max); }); }, - insert:function(startx,starty,stopx,stopy){ + insert: function insert(startx, starty, stopx, stopy) { var _startx, _starty, _stopx, _stopy; - _startx = Math.min(startx,stopx); - _stopx = Math.max(startx,stopx); - _starty = Math.min(starty,stopy); - _stopy = Math.max(starty,stopy); + _startx = Math.min(startx, stopx); + _stopx = Math.max(startx, stopx); + _starty = Math.min(starty, stopy); + _stopy = Math.max(starty, stopy); - this.updateVal(exports.bounds.data,'startx',_startx,Math.min); - this.updateVal(exports.bounds.data,'starty',_starty,Math.min); - this.updateVal(exports.bounds.data,'stopx' ,_stopx ,Math.max); - this.updateVal(exports.bounds.data,'stopy' ,_stopy ,Math.max); - - this.updateLoops(_startx,_starty,_stopx,_stopy); + this.updateVal(exports.bounds.data, 'startx', _startx, Math.min); + this.updateVal(exports.bounds.data, 'starty', _starty, Math.min); + this.updateVal(exports.bounds.data, 'stopx', _stopx, Math.max); + this.updateVal(exports.bounds.data, 'stopy', _stopy, Math.max); + this.updateLoops(_startx, _starty, _stopx, _stopy); }, - newLoop:function(title){ - this.list.push({startx:undefined,starty:this.verticalPos,stopx:undefined,stopy:undefined, title:title}); + newLoop: function newLoop(title) { + this.list.push({ startx: undefined, starty: this.verticalPos, stopx: undefined, stopy: undefined, title: title }); }, - endLoop:function(){ + endLoop: function endLoop() { var loop = this.list.pop(); //loop.stopy = exports.bounds.getVerticalPos(); return loop; }, - addElseToLoop:function(message){ + addElseToLoop: function addElseToLoop(message) { var loop = this.list.pop(); - loop.elsey = exports.bounds.getVerticalPos(); + loop.elsey = exports.bounds.getVerticalPos(); loop.elseText = message; this.list.push(loop); }, - bumpVerticalPos:function(bump){ + bumpVerticalPos: function bumpVerticalPos(bump) { this.verticalPos = this.verticalPos + bump; this.data.stopy = this.verticalPos; }, - getVerticalPos:function(){ + getVerticalPos: function getVerticalPos() { return this.verticalPos; }, - getBounds:function(){ + getBounds: function getBounds() { return this.data; } }; @@ -36886,46 +37086,45 @@ exports.bounds = { * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawNote = function(elem, startx, verticalPos, msg){ +var drawNote = function drawNote(elem, startx, verticalPos, msg) { var rect = svgDraw.getNoteRect(); rect.x = startx; rect.y = verticalPos; rect.width = conf.width; - rect.class = 'note'; + rect['class'] = 'note'; var g = elem.append('g'); var rectElem = svgDraw.drawRect(g, rect); var textObj = svgDraw.getTextObj(); - textObj.x = startx-4; - textObj.y = verticalPos-13; + textObj.x = startx - 4; + textObj.y = verticalPos - 13; textObj.textMargin = conf.noteMargin; textObj.dy = '1em'; textObj.text = msg.message; - textObj.class = 'noteText'; + textObj['class'] = 'noteText'; - var textElem = svgDraw.drawText(g,textObj, conf.width-conf.noteMargin); + var textElem = svgDraw.drawText(g, textObj, conf.width - conf.noteMargin); var textHeight = textElem[0][0].getBBox().height; - if(textHeight > conf.width){ + if (textHeight > conf.width) { textElem.remove(); - g = elem.append("g"); + g = elem.append('g'); //textObj.x = textObj.x - conf.width; //textElem = svgDraw.drawText(g,textObj, 2*conf.noteMargin); - textElem = svgDraw.drawText(g,textObj, 2*conf.width-conf.noteMargin); + textElem = svgDraw.drawText(g, textObj, 2 * conf.width - conf.noteMargin); textHeight = textElem[0][0].getBBox().height; - rectElem.attr('width',2*conf.width); - exports.bounds.insert(startx, verticalPos, startx + 2*conf.width, verticalPos + 2*conf.noteMargin + textHeight); - }else{ - exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); + rectElem.attr('width', 2 * conf.width); + exports.bounds.insert(startx, verticalPos, startx + 2 * conf.width, verticalPos + 2 * conf.noteMargin + textHeight); + } else { + exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2 * conf.noteMargin + textHeight); } - rectElem.attr('height',textHeight+ 2*conf.noteMargin); - exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); + rectElem.attr('height', textHeight + 2 * conf.noteMargin); + exports.bounds.bumpVerticalPos(textHeight + 2 * conf.noteMargin); }; - /** * Draws a message * @param elem @@ -36935,77 +37134,72 @@ var drawNote = function(elem, startx, verticalPos, msg){ * @param txtCenter * @param msg */ -var drawMessage = function(elem, startx, stopx, verticalPos, msg){ - var g = elem.append("g"); - var txtCenter = startx + (stopx-startx)/2; +var drawMessage = function drawMessage(elem, startx, stopx, verticalPos, msg) { + var g = elem.append('g'); + var txtCenter = startx + (stopx - startx) / 2; - var textElem = g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 7) - .style("text-anchor", "middle") - .attr("class", "messageText") - .text(msg.message); + var textElem = g.append('text') // text label for the x axis + .attr('x', txtCenter).attr('y', verticalPos - 7).style('text-anchor', 'middle').attr('class', 'messageText').text(msg.message); var textWidth; - if(typeof textElem[0][0].getBBox !== 'undefined'){ + if (typeof textElem[0][0].getBBox !== 'undefined') { textWidth = textElem[0][0].getBBox().width; - } - else{ + } else { //textWidth = getBBox(textElem).width; //.getComputedTextLength() - textWidth = textElem[0][0].getBoundingClientRect(); - //textWidth = textElem[0][0].getComputedTextLength(); + textWidth = textElem[0][0].getBoundingClientRect(); + //textWidth = textElem[0][0].getComputedTextLength(); } var line; - if(startx===stopx){ - line = g.append("path") - .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ',' + - (verticalPos+30)+' ' +startx+ ','+(verticalPos+20)); + if (startx === stopx) { + line = g.append('path').attr('d', 'M ' + startx + ',' + verticalPos + ' C ' + (startx + 60) + ',' + (verticalPos - 10) + ' ' + (startx + 60) + ',' + (verticalPos + 30) + ' ' + startx + ',' + (verticalPos + 20)); exports.bounds.bumpVerticalPos(30); - var dx = Math.max(textWidth/2,100); - exports.bounds.insert(startx-dx, exports.bounds.getVerticalPos() -10, stopx+dx, exports.bounds.getVerticalPos()); - }else{ - line = g.append("line"); - line.attr("x1", startx); - line.attr("y1", verticalPos); - line.attr("x2", stopx); - line.attr("y2", verticalPos); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); + var dx = Math.max(textWidth / 2, 100); + exports.bounds.insert(startx - dx, exports.bounds.getVerticalPos() - 10, stopx + dx, exports.bounds.getVerticalPos()); + } else { + line = g.append('line'); + line.attr('x1', startx); + line.attr('y1', verticalPos); + line.attr('x2', stopx); + line.attr('y2', verticalPos); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() - 10, stopx, exports.bounds.getVerticalPos()); } //Make an SVG Container //Draw the line if (msg.type === sq.yy.LINETYPE.DOTTED || msg.type === sq.yy.LINETYPE.DOTTED_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_OPEN) { - line.style("stroke-dasharray", ("3, 3")); - line.attr("class", "messageLine1"); - } - else { - line.attr("class", "messageLine0"); + line.style('stroke-dasharray', '3, 3'); + line.attr('class', 'messageLine1'); + } else { + line.attr('class', 'messageLine0'); } - line.attr("stroke-width", 2); - line.attr("stroke", "black"); - line.style("fill", "none"); // remove any fill colour - if (msg.type === sq.yy.LINETYPE.SOLID || msg.type === sq.yy.LINETYPE.DOTTED){ - line.attr("marker-end", "url(" + window.location.protocol+'//'+window.location.host+window.location.pathname + "#arrowhead)"); + var url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search; + url = url.replace(/\(/g, '\\('); + url = url.replace(/\)/g, '\\)'); + + line.attr('stroke-width', 2); + line.attr('stroke', 'black'); + line.style('fill', 'none'); // remove any fill colour + if (msg.type === sq.yy.LINETYPE.SOLID || msg.type === sq.yy.LINETYPE.DOTTED) { + line.attr('marker-end', 'url(' + url + '#crosshead)'); } - if (msg.type === sq.yy.LINETYPE.SOLID_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_CROSS){ - line.attr("marker-end", "url(" + window.location.protocol+'//'+window.location.host+window.location.pathname + "#crosshead)"); + if (msg.type === sq.yy.LINETYPE.SOLID_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_CROSS) { + line.attr('marker-end', 'url(' + url + '#crosshead)'); } - }; -module.exports.drawActors = function(diagram, actors, actorKeys,verticalPos){ +module.exports.drawActors = function (diagram, actors, actorKeys, verticalPos) { var i; // Draw the actors - for(i=0;i/ig,' '); + var nText = textData.text.replace(//ig, ' '); var textElem = elem.append('text'); textElem.attr('x', textData.x); textElem.attr('y', textData.y); textElem.style('text-anchor', textData.anchor); textElem.attr('fill', textData.fill); - if (typeof textData.class !== 'undefined') { - textElem.attr("class", textData.class); + if (typeof textData['class'] !== 'undefined') { + textElem.attr('class', textData['class']); } /* textData.text.split(//ig).forEach(function(rowText){ var span = textElem.append('tspan'); @@ -37198,13 +37390,12 @@ exports.drawText = function(elem, textData, width) { span.text(rowText); });*/ - var span = textElem.append('tspan'); //span.attr('x', textData.x); - span.attr('x', textData.x+textData.textMargin*2); + span.attr('x', textData.x + textData.textMargin * 2); //span.attr('dy', textData.dy); span.text(nText); - if(typeof textElem.textwrap !== 'undefined'){ + if (typeof textElem.textwrap !== 'undefined') { textElem.textwrap({ x: textData.x, // bounding box is 300 pixels from the left y: textData.y, // bounding box is 400 pixels from the top @@ -37216,7 +37407,7 @@ exports.drawText = function(elem, textData, width) { return textElem; }; -exports.drawLabel = function(elem , txtObject){ +exports.drawLabel = function (elem, txtObject) { var rectData = exports.getNoteRect(); rectData.x = txtObject.x; rectData.y = txtObject.y; @@ -37224,39 +37415,31 @@ exports.drawLabel = function(elem , txtObject){ rectData.height = 20; rectData.fill = '#526e52'; rectData.stroke = 'none'; - rectData.class = 'labelBox'; + rectData['class'] = 'labelBox'; //rectData.color = 'white'; exports.drawRect(elem, rectData); txtObject.y = txtObject.y + txtObject.labelMargin; - txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; + txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin; txtObject.fill = 'white'; exports.drawText(elem, txtObject); //return textElem; }; -var actorCnt = -1; +var actorCnt = -1; /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -exports.drawActor = function(elem, left, verticalPos, description,conf){ - var center = left + (conf.width/2); - var g = elem.append("g"); - if(verticalPos === 0) { +exports.drawActor = function (elem, left, verticalPos, description, conf) { + var center = left + conf.width / 2; + var g = elem.append('g'); + if (verticalPos === 0) { actorCnt++; - g.append("line") - .attr("id", 'actor'+actorCnt) - .attr("x1", center) - .attr("y1", 5) - .attr("x2", center) - .attr("y2", 2000) - .attr("class", 'actor-line') - .attr("stroke-width", '0.5px') - .attr("stroke", '#999'); + g.append('line').attr('id', 'actor' + actorCnt).attr('x1', center).attr('y1', 5).attr('x2', center).attr('y2', 2000).attr('class', 'actor-line').attr('stroke-width', '0.5px').attr('stroke', '#999'); } var rect = exports.getNoteRect(); @@ -37265,18 +37448,13 @@ exports.drawActor = function(elem, left, verticalPos, description,conf){ rect.fill = '#eaeaea'; rect.width = conf.width; rect.height = conf.height; - rect.class = 'actor'; + rect['class'] = 'actor'; rect.rx = 3; rect.ry = 3; exports.drawRect(g, rect); - g.append("text") // text label for the x axis - .attr("x", center) - .attr("y", verticalPos + (conf.height/2)+5) - .attr('class','actor') - .style("text-anchor", "middle") - .text(description) - ; + g.append('text') // text label for the x axis + .attr('x', center).attr('y', verticalPos + conf.height / 2 + 5).attr('class', 'actor').style('text-anchor', 'middle').text(description); }; /** @@ -37285,46 +37463,39 @@ exports.drawActor = function(elem, left, verticalPos, description,conf){ * @param pos The position if the actor in the list of actors * @param description The text in the box */ -exports.drawLoop = function(elem,bounds,labelText, conf){ - var g = elem.append("g"); - var drawLoopLine = function(startx,starty,stopx,stopy){ - g.append("line") - .attr("x1", startx) - .attr("y1", starty) - .attr("x2", stopx ) - .attr("y2", stopy ) - .attr("stroke-width", 2) - .attr("stroke", "#526e52") - .attr('class','loopLine'); +exports.drawLoop = function (elem, bounds, labelText, conf) { + var g = elem.append('g'); + var drawLoopLine = function drawLoopLine(startx, starty, stopx, stopy) { + g.append('line').attr('x1', startx).attr('y1', starty).attr('x2', stopx).attr('y2', stopy).attr('stroke-width', 2).attr('stroke', '#526e52').attr('class', 'loopLine'); }; - drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); - drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); - if(typeof bounds.elsey !== 'undefined'){ - drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx, bounds.starty); + drawLoopLine(bounds.stopx, bounds.starty, bounds.stopx, bounds.stopy); + drawLoopLine(bounds.startx, bounds.stopy, bounds.stopx, bounds.stopy); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy); + if (typeof bounds.elsey !== 'undefined') { + drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey); } var txt = exports.getTextObj(); txt.text = labelText; txt.x = bounds.startx; txt.y = bounds.starty; - txt.labelMargin = 1.5 * conf.boxMargin; - txt.class = 'labelText'; - txt.fill = 'white'; + txt.labelMargin = 1.5 * conf.boxMargin; + txt['class'] = 'labelText'; + txt.fill = 'white'; - exports.drawLabel(g,txt); + exports.drawLabel(g, txt); txt = exports.getTextObj(); txt.text = '[ ' + bounds.title + ' ]'; - txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.x = bounds.startx + (bounds.stopx - bounds.startx) / 2; txt.y = bounds.starty + 1.5 * conf.boxMargin; txt.anchor = 'middle'; - txt.class = 'loopText'; + txt['class'] = 'loopText'; - exports.drawText(g,txt); + exports.drawText(g, txt); - if(typeof bounds.elseText !== 'undefined') { + if (typeof bounds.elseText !== 'undefined') { txt.text = '[ ' + bounds.elseText + ' ]'; txt.y = bounds.elsey + 1.5 * conf.boxMargin; exports.drawText(g, txt); @@ -37334,365 +37505,55 @@ exports.drawLoop = function(elem,bounds,labelText, conf){ /** * Setup arrow head and define the marker. The result is appended to the svg. */ -exports.insertArrowHead = function(elem){ - elem.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"); //this is actual shape for arrowhead +exports.insertArrowHead = function (elem) { + elem.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'); //this is actual shape for arrowhead }; /** * Setup arrow head and define the marker. The result is appended to the svg. */ -exports.insertArrowCrossHead = function(elem){ - var defs = elem.append("defs"); - var marker = defs.append("marker") - .attr("id", "crosshead") - .attr("markerWidth", 15) - .attr("markerHeight", 8) - .attr("orient", "auto") - .attr("refX", 16) - .attr("refY", 4); +exports.insertArrowCrossHead = function (elem) { + var defs = elem.append('defs'); + var marker = defs.append('marker').attr('id', 'crosshead').attr('markerWidth', 15).attr('markerHeight', 8).attr('orient', 'auto').attr('refX', 16).attr('refY', 4); // The arrow - marker.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"); + marker.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'); // The cross - marker.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") - ; //this is actual shape for arrowhead - + marker.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'); //this is actual shape for arrowhead }; -exports.getTextObj = function(){ +exports.getTextObj = function () { var txt = { x: 0, y: 0, - 'fill':'black', + 'fill': 'black', 'text-anchor': 'start', style: '#666', width: 100, height: 100, - textMargin:0, + textMargin: 0, rx: 0, ry: 0 }; return txt; }; -exports.getNoteRect = function(){ +exports.getNoteRect = function () { var rect = { - x : 0, - y : 0, - fill : '#EDF2AE', - stroke : '#666', - width : 100, - anchor : 'start', - height : 100, - rx : 0, - ry : 0 + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0 }; return rect; }; -},{"../../logger":104}],103:[function(_dereq_,module,exports){ -(function (global){ -//(function (root, factory) { -// if (typeof exports === 'object') { -// // CommonJS -// module.exports = factory(require('b')); -// } else if (typeof define === 'function' && define.amd) { -// // AMD -// define(['b'], function (b) { -// return (root.returnExportsGlobal = factory(b)); -// }); -// } else { -// // Global Variables -// root.returnExportsGlobal = factory(root.b); -// } -//}(this, function (b) { -/** - * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render - * the diagrams to svg code. - */ - -var mermaidAPI = _dereq_('./mermaidAPI'); -var nextId = 0; -var log = _dereq_('./logger').create(); -var utils = _dereq_('./utils'); - -module.exports.mermaidAPI = mermaidAPI; -/** - * ## init - * Function that goes through the document to find the chart definitions in there and render them. - * - * The function tags the processed attributes with the attribute data-processed and ignores found elements with the - * attribute already set. This way the init function can be triggered several times. - * - * Optionally, `init` can accept in the second argument one of the following: - * - a DOM Node - * - an array of DOM nodes (as would come from a jQuery selector) - * - a W3C selector, a la `.mermaid` - * - * ```mermaid - * graph LR; - * a(Find elements)-->b{Processed} - * b-->|Yes|c(Leave element) - * b-->|No |d(Transform) - * ``` - * Renders the mermaid diagrams - * @param nodes a css selector or an array of nodes - */ -var init = function () { - var conf= mermaidAPI.getConfig(); - log.debug('Starting rendering diagrams'); - var nodes; - if(arguments.length >= 2){ - /*! sequence config was passed as #1 */ - if(typeof arguments[0] !== 'undefined'){ - mermaid.sequenceConfig = arguments[0]; - } - - nodes = arguments[1]; - } - else{ - nodes = arguments[0]; - } - - // if last argument is a function this is the callback function - var callback; - if(typeof arguments[arguments.length-1] === 'function'){ - callback = arguments[arguments.length-1]; - log.debug('Callback function found'); - }else{ - if(typeof conf.mermaid !== 'undefined'){ - if(typeof conf.mermaid.callback === 'function'){ - callback = conf.mermaid.callback; - log.debug('Callback function found'); - }else{ - log.debug('No Callback function found'); - } - } - } - nodes = nodes === undefined ? document.querySelectorAll('.mermaid') - : typeof nodes === "string" ? document.querySelectorAll(nodes) - : nodes instanceof Node ? [nodes] - /*! Last case - sequence config was passed pick next */ - : nodes; - - var i; - - if(typeof mermaid_config !== 'undefined'){ - mermaidAPI.initialize(mermaid_config); - } - log.debug('Start On Load before: '+mermaid.startOnLoad); - if(typeof mermaid.startOnLoad !== 'undefined'){ - log.debug('Start On Load inner: '+mermaid.startOnLoad); - mermaidAPI.initialize({startOnLoad:mermaid.startOnLoad}); - - } - - - if(typeof mermaid.ganttConfig !== 'undefined'){ - mermaidAPI.initialize({gantt:mermaid.ganttConfig}); - } - - var txt; - var insertSvg = function(svgCode, bindFunctions){ - element.innerHTML = svgCode; - if(typeof callback !== 'undefined'){ - callback(id); - } - bindFunctions(element); - }; - - for (i = 0; i < nodes.length; i++) { - var element = nodes[i]; - - /*! Check if previously processed */ - if(!element.getAttribute("data-processed")) { - element.setAttribute("data-processed", true); - } else { - continue; - } - - var id = 'mermaidChart' + nextId++; - - var he = _dereq_('he'); - // Fetch the graph definition including tags - txt = element.innerHTML; - - //console.warn('delivererd from the browser: '); - //console.warn(txt); - - // transforms the html to pure text - txt = he.decode(txt).trim(); - //console.warn('he decode: '); - //console.warn(txt); - - mermaidAPI.render(id,txt,insertSvg, element); - } - -}; - -exports.init = init; -exports.parse = mermaidAPI.parse; -/** - * ## version - * Function returning version information - * @returns {string} A string containing the version info - */ -exports.version = function(){ - return 'v'+_dereq_('../package.json').version; -}; - -/** - * ## initialize - * This function overrides the default configuration. - * @param config - */ -exports.initialize = function(config){ - log.debug('Initializing mermaid'); - if(typeof config.mermaid !== 'undefined') { - if (typeof config.mermaid.startOnLoad !== 'undefined') { - global.mermaid.startOnLoad = config.mermaid.startOnLoad; - } - if (typeof config.mermaid.htmlLabels !== 'undefined') { - global.mermaid.htmlLabels = config.mermaid.htmlLabels; - } - } - mermaidAPI.initialize(config); -}; - - -var equals = function (val, variable){ - if(typeof variable === 'undefined'){ - return false; - } - else{ - return (val === variable); - } -}; - -/** - * Global mermaid object. Contains the functions: - * * init - * * initialize - * * version - * * parse - * * parseError - * * render - */ -global.mermaid = { - startOnLoad: true, - htmlLabels: true, - - init: function(sequenceConfig, nodes) { - init.apply(null, arguments); - }, - initialize: function(config) { - exports.initialize(config); - }, - version: function() { - return mermaidAPI.version(); - }, - parse: function(text) { - return mermaidAPI.parse(text); - }, - parseError: function(err, hash) { - log.debug('Mermaid Syntax error:'); - log.debug(err); - }, - render:function(id, text,callback, element){ - return mermaidAPI.render(id, text,callback, element); - } -}; - -/** - * ## parseError - * This function overrides the default configuration. - * @param config - */ -exports.parseError = global.mermaid.parseError; - -/** - * ##contentLoaded - * Callback function that is called when page is loaded. This functions fetches configuration for mermaid rendering and - * calls init for rendering the mermaid diagrams on the page. - */ -exports.contentLoaded = function(){ - var config; - // Check state of start config mermaid namespace - if (typeof mermaid_config !== 'undefined') { - if (equals(false, mermaid_config.htmlLabels)) { - global.mermaid.htmlLabels = false; - } - } - - if(global.mermaid.startOnLoad) { - // For backwards compatability reasons also check mermaid_config variable - if (typeof mermaid_config !== 'undefined') { - // Check if property startOnLoad is set - if (equals(true, mermaid_config.startOnLoad)) { - global.mermaid.init(); - } - } - else { - // No config found, do check API config - config = mermaidAPI.getConfig(); - if(config.startOnLoad){ - global.mermaid.init(); - } - } - }else{ - //if(typeof global.mermaid === 'undefined' ){ - if(typeof global.mermaid.startOnLoad === 'undefined' ){ - log.debug('In start, no config'); - config = mermaidAPI.getConfig(); - if(config.startOnLoad){ - global.mermaid.init(); - } - //}else{ - // - //} - - } - - } - -}; - - - -if(typeof document !== 'undefined'){ - /*! - * Wait for document loaded before starting the execution - */ - document.addEventListener('DOMContentLoaded', function(){ - exports.contentLoaded(); - }, false); -} - -// // Your actual module -// return module.exports; -//})); - -}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../package.json":86,"./logger":104,"./mermaidAPI":105,"./utils":106,"he":84}],104:[function(_dereq_,module,exports){ -(function (process){ +},{}],100:[function(require,module,exports){ /** * #logger * logger = require('logger').create() @@ -37704,93 +37565,113 @@ if(typeof document !== 'undefined'){ * logger.debug(function() { return "booom" }) * => [2011-3-3T20:24:4.810 error (5021)] booom */ -var Logger; -Logger = (function() { - function Logger(options) { - var level, num, ref; - this.options = options || {}; - this.level = this.options.level || Logger.levels.default; - ref = Logger.levels; - for (level in ref) { - num = ref[level]; - Logger.define(this, level); - } - } +'use strict'; - Logger.prototype.add = function(level, message, callback) { - if (this.level > (Logger.levels[level] || 5)) { - return; - } - if (callback) { - message = callback(); - } else if (typeof message === 'function') { - message = message(); - } - return this.write({ - timestamp: new Date, - severity: level, - message: message, - pid: process.pid - }); - }; +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - function formatTime(timestamp){ - var hh = timestamp.getUTCHours(); - var mm = timestamp.getUTCMinutes(); - var ss = timestamp.getSeconds(); - var ms = timestamp.getMilliseconds(); - // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time - // if (hh > 12) {hh = hh % 12;} - // These lines ensure you have two-digits - if (hh < 10) {hh = "0"+hh;} - if (mm < 10) {mm = "0"+mm;} - if (ss < 10) {ss = "0"+ss;} - if (ms < 100){ms = "0"+ms;} - if (ms < 10) {ms = "00"+ms;} - // This formats your string to HH:MM:SS - var t = hh+":"+mm+":"+ss +' ('+ms+')'; - return t; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - Logger.prototype.write = function(options) { - if(typeof console !== 'undefined'){ - if(typeof console.log !== 'undefined'){ - return console.log(this.build_message(options)); - } - } - }; - - Logger.prototype.build_message = function(options) { - return "[" + formatTime(options.timestamp) + "] " + options.message; - }; - - return Logger; - -})(); - -Logger.define = function(logger, level) { - return logger[level] = function(message, callback) { - return this.add(level, message, callback); - }; -}; - -Logger.levels = { +var LEVELS = { debug: 1, info: 2, warn: 3, error: 4, fatal: 5, - default:5 + 'default': 5 }; -exports.setLogLevel = function(level){ - Logger.levels.default = level; + +var defaultLevel = LEVELS.error; + +exports.setLogLevel = function (level) { + defaultLevel = level; +}; + +function formatTime(timestamp) { + var hh = timestamp.getUTCHours(); + var mm = timestamp.getUTCMinutes(); + var ss = timestamp.getSeconds(); + var ms = timestamp.getMilliseconds(); + // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time + // if (hh > 12) {hh = hh % 12;} + // These lines ensure you have two-digits + if (hh < 10) { + hh = '0' + hh; + } + if (mm < 10) { + mm = '0' + mm; + } + if (ss < 10) { + ss = '0' + ss; + } + if (ms < 100) { + ms = '0' + ms; + } + if (ms < 10) { + ms = '00' + ms; + } + // This formats your string to HH:MM:SS + var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; + return t; } -exports.create = function(options) { - return new Logger(options); -}; -}).call(this,_dereq_("1YiZ5S")) -},{"1YiZ5S":83}],105:[function(_dereq_,module,exports){ + +var Log = (function () { + function Log(level) { + _classCallCheck(this, Log); + + this.level = level; + } + + _createClass(Log, [{ + key: 'log', + value: function log(str, level) { + var logLevel = this.level; + if (typeof logLevel === 'undefined') { + logLevel = defaultLevel; + } + if (logLevel <= level) { + if (typeof console !== 'undefined') { + //eslint-disable-line no-console + if (typeof console.log !== 'undefined') { + //eslint-disable-line no-console + return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console + } + } + } + } + }, { + key: 'trace', + value: function trace(str) { + this.log(str, LEVELS.trace); + } + }, { + key: 'debug', + value: function debug(str) { + this.log(str, LEVELS.debug); + } + }, { + key: 'info', + value: function info(str) { + this.log(str, LEVELS.info); + } + }, { + key: 'warn', + value: function warn(str) { + this.log(str, LEVELS.warn); + } + }, { + key: 'error', + value: function error(str) { + this.log(str, LEVELS.error); + } + }]); + + return Log; +})(); + +exports.Log = Log; + +},{}],101:[function(require,module,exports){ (function (global){ /** * --- @@ -37805,24 +37686,31 @@ exports.create = function(options) { * returns a svg element for the graph. It is is then up to the user of the API to make use of the svg, either insert it * somewhere in the page or something completely different. */ -var graph = _dereq_('./diagrams/flowchart/graphDb'); -var flow = _dereq_('./diagrams/flowchart/parser/flow'); -var utils = _dereq_('./utils'); -var flowRenderer = _dereq_('./diagrams/flowchart/flowRenderer'); -var seq = _dereq_('./diagrams/sequenceDiagram/sequenceRenderer'); -var info = _dereq_('./diagrams/example/exampleRenderer'); -var infoParser = _dereq_('./diagrams/example/parser/example'); -var flowParser = _dereq_('./diagrams/flowchart/parser/flow'); -var dotParser = _dereq_('./diagrams/flowchart/parser/dot'); -var sequenceParser = _dereq_('./diagrams/sequenceDiagram/parser/sequenceDiagram'); -var sequenceDb = _dereq_('./diagrams/sequenceDiagram/sequenceDb'); -var infoDb = _dereq_('./diagrams/example/exampleDb'); -var gantt = _dereq_('./diagrams/gantt/ganttRenderer'); -var ganttParser = _dereq_('./diagrams/gantt/parser/gantt'); -var ganttDb = _dereq_('./diagrams/gantt/ganttDb'); -var d3 = _dereq_('./d3'); -var nextId = 0; +'use strict'; +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + +var graph = require('./diagrams/flowchart/graphDb'); +var utils = require('./utils'); +var flowRenderer = require('./diagrams/flowchart/flowRenderer'); +var seq = require('./diagrams/sequenceDiagram/sequenceRenderer'); +var info = require('./diagrams/example/exampleRenderer'); +var infoParser = require('./diagrams/example/parser/example'); +var flowParser = require('./diagrams/flowchart/parser/flow'); +var dotParser = require('./diagrams/flowchart/parser/dot'); +var sequenceParser = require('./diagrams/sequenceDiagram/parser/sequenceDiagram'); +var sequenceDb = require('./diagrams/sequenceDiagram/sequenceDb'); +var infoDb = require('./diagrams/example/exampleDb'); +var gantt = require('./diagrams/gantt/ganttRenderer'); +var ganttParser = require('./diagrams/gantt/parser/gantt'); +var ganttDb = require('./diagrams/gantt/ganttDb'); +var d3 = require('./d3'); /** * ## Configuration @@ -37844,7 +37732,7 @@ var config = { * * error: 4 * * fatal: 5 */ - logLevel: 3, + logLevel: 5, /** * **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg */ @@ -37859,115 +37747,115 @@ var config = { * ### flowchart * *The object containing configurations specific for flowcharts* */ - flowchart:{ + flowchart: { /** * **htmlLabels** - Flag for setting whether or not a html tag should be used for rendering labels * on the edges */ - htmlLabels:true, + htmlLabels: true, /** * **useMaxWidth** - Flag for setting whether or not a all available width should be used for * the diagram. */ - useMaxWidth:true + useMaxWidth: true }, /** * ### sequenceDiagram * The object containing configurations specific for sequence diagrams */ - sequenceDiagram:{ + sequenceDiagram: { /** * **diagramMarginX** - margin to the right and left of the sequence diagram */ - diagramMarginX:50, + diagramMarginX: 50, /** * **diagramMarginY** - margin to the over and under the sequence diagram */ - diagramMarginY:10, - - /** - * **actorMargin** - Margin between actors - */ - actorMargin:50, - - /** - * **width** - Width of actor boxes - */ - width:150, - - /** - * **height** - Height of actor boxes - */ - height:65, - - /** - * **boxMargin** - Margin around loop boxes - */ - boxMargin:10, - - /** - * **boxTextMargin** - margin around the text in loop/alt/opt boxes - */ - boxTextMargin:5, - - /** - * **noteMargin** - margin around notes - */ - noteMargin:10, + diagramMarginY: 10, /** - * **messageMargin** - Space between messages + * **actorMargin** - Margin between actors */ - messageMargin:35, + actorMargin: 50, - /** - * **mirrorActors** - mirror actors under diagram - */ - mirrorActors:true, + /** + * **width** - Width of actor boxes + */ + width: 150, - /** - * **bottomMarginAdj** - Depending on css styling this might need adjustment. - * Prolongs the edge of the diagram downwards - */ - bottomMarginAdj:1, + /** + * **height** - Height of actor boxes + */ + height: 65, - /** - * **useMaxWidth** - when this flag is set the height and width is set to 100% and is then scaling with the - * available space if not the absolute space required is used - */ - useMaxWidth:true + /** + * **boxMargin** - Margin around loop boxes + */ + boxMargin: 10, + + /** + * **boxTextMargin** - margin around the text in loop/alt/opt boxes + */ + boxTextMargin: 5, + + /** + * **noteMargin** - margin around notes + */ + noteMargin: 10, + + /** + * **messageMargin** - Space between messages + */ + messageMargin: 35, + + /** + * **mirrorActors** - mirror actors under diagram + */ + mirrorActors: true, + + /** + * **bottomMarginAdj** - Depending on css styling this might need adjustment. + * Prolongs the edge of the diagram downwards + */ + bottomMarginAdj: 1, + + /** + * **useMaxWidth** - when this flag is set the height and width is set to 100% and is then scaling with the + * available space if not the absolute space required is used + */ + useMaxWidth: true }, /** ### gantt * The object containing configurations specific for gantt diagrams* - */ - gantt:{ + */ + gantt: { /** * **titleTopMargin** - margin top for the text over the gantt diagram - */ + */ titleTopMargin: 25, /** * **barHeight** - the height of the bars in the graph - */ + */ barHeight: 20, /** * **barGap** - the margin between the different activities in the gantt diagram - */ + */ barGap: 4, /** * **topPadding** - margin between title and gantt diagram and between axis and gantt diagram. - */ + */ topPadding: 50, /** * **sidePadding** - the space allocated for the section name to the left of the activities. - */ + */ sidePadding: 75, /** @@ -37988,38 +37876,37 @@ var config = { /** * **numberSectionStyles** - the number of alternating section styles */ - numberSectionStyles:3, + numberSectionStyles: 3, /** * **axisFormatter** - formatting of the axis, this might need adjustment to match your locale and preferences - */ + */ axisFormatter: [ - // Within a day - ["%I:%M", function (d) { - return d.getHours(); - }], - // Monday a week - ["w. %U", function (d) { - return d.getDay() == 1; - }], - // Day within a week (not monday) - ["%a %d", function (d) { - return d.getDay() && d.getDate() != 1; - }], - // within a month - ["%b %d", function (d) { - return d.getDate() != 1; - }], - // Month - ["%m-%y", function (d) { - return d.getMonth(); - }] - ] + // Within a day + ['%I:%M', function (d) { + return d.getHours(); + }], + // Monday a week + ['w. %U', function (d) { + return d.getDay() == 1; + }], + // Day within a week (not monday) + ['%a %d', function (d) { + return d.getDay() && d.getDate() != 1; + }], + // within a month + ['%b %d', function (d) { + return d.getDate() != 1; + }], + // Month + ['%m-%y', function (d) { + return d.getMonth(); + }]] } }; -var log = _dereq_('./logger').create({level:config.logLevel}); +Logger.setLogLevel(config.logLevel); /** * ## parse @@ -38027,11 +37914,11 @@ var log = _dereq_('./logger').create({level:config.logLevel}); * thrown and * @param text */ -var parse = function(text){ +var parse = function parse(text) { var graphType = utils.detectType(text); var parser; - switch(graphType){ + switch (graphType) { case 'graph': parser = flowParser; parser.parser.yy = graph; @@ -38054,11 +37941,10 @@ var parse = function(text){ break; } - try{ + try { parser.parse(text); return true; - } - catch(err){ + } catch (err) { return false; } }; @@ -38069,52 +37955,49 @@ exports.parse = parse; * Function returning version information * @returns {string} A string containing the version info */ -exports.version = function(){ - return _dereq_('../package.json').version; +exports.version = function () { + return require('../package.json').version; }; -exports.encodeEntities = function(text){ +exports.encodeEntities = function (text) { var txt = text; - txt = txt.replace(/style.*:\S*#.*;/g,function(s,t,u){ - var innerTxt = s.substring(0,s.length-1); + txt = txt.replace(/style.*:\S*#.*;/g, function (s) { + var innerTxt = s.substring(0, s.length - 1); return innerTxt; }); - txt = txt.replace(/classDef.*:\S*#.*;/g,function(s,t,u){ - var innerTxt = s.substring(0,s.length-1); + txt = txt.replace(/classDef.*:\S*#.*;/g, function (s) { + var innerTxt = s.substring(0, s.length - 1); return innerTxt; }); - txt = txt.replace(/#\w+\;/g,function(s,t,u){ - var innerTxt = s.substring(1,s.length-1); + txt = txt.replace(/#\w+\;/g, function (s) { + var innerTxt = s.substring(1, s.length - 1); var isInt = /^\+?\d+$/.test(innerTxt); - if(isInt){ - return 'fl°°'+innerTxt+'¶ß'; - }else{ - return 'fl°'+innerTxt+'¶ß'; + if (isInt) { + return 'fl°°' + innerTxt + '¶ß'; + } else { + return 'fl°' + innerTxt + '¶ß'; } - }); return txt; }; -exports.decodeEntities = function(text){ +exports.decodeEntities = function (text) { var txt = text; - txt = txt.replace(/\fl\°\°/g,function(s,t,u){ + txt = txt.replace(/\fl\°\°/g, function () { return '&#'; }); - txt = txt.replace(/\fl\°/g,function(s,t,u){ + txt = txt.replace(/\fl\°/g, function () { return '&'; }); - txt = txt.replace(/¶ß/g,function(s,t,u){ + txt = txt.replace(/¶ß/g, function () { return ';'; }); - - return txt; }; /** @@ -38140,25 +38023,12 @@ exports.decodeEntities = function(text){ * provided a hidden div will be inserted in the body of the page instead. The element will be removed when rendering is * completed. */ -var render = function(id, txt, cb, container){ +var render = function render(id, txt, cb, container) { - if(typeof container !== 'undefined'){ - d3.select(container).append('div') - .attr('id', 'd'+id) - .append('svg') - .attr('id', id) - .attr('width','100%') - .attr('xmlns','http://www.w3.org/2000/svg') - .append('g'); - } - else{ - d3.select('body').append('div') - .attr('id', 'd'+id) - .append('svg') - .attr('id', id) - .attr('width','100%') - .attr('xmlns','http://www.w3.org/2000/svg') - .append('g'); + if (typeof container !== 'undefined') { + d3.select(container).append('div').attr('id', 'd' + id).append('svg').attr('id', id).attr('width', '100%').attr('xmlns', 'http://www.w3.org/2000/svg').append('g'); + } else { + d3.select('body').append('div').attr('id', 'd' + id).append('svg').attr('id', id).attr('width', '100%').attr('xmlns', 'http://www.w3.org/2000/svg').append('g'); } window.txt = txt; @@ -38166,15 +38036,15 @@ var render = function(id, txt, cb, container){ //console.warn('mermaid encode: '); //console.warn(txt); - var element = d3.select('#d'+id).node(); + var element = d3.select('#d' + id).node(); var graphType = utils.detectType(txt); var classes = {}; - switch(graphType){ + switch (graphType) { case 'graph': flowRenderer.setConf(config.flowchart); flowRenderer.draw(txt, id, false); - if(config.cloneCssStyles){ + if (config.cloneCssStyles) { classes = flowRenderer.getClasses(txt, false); utils.cloneCssStyles(element.firstChild, classes); } @@ -38182,127 +38052,139 @@ var render = function(id, txt, cb, container){ case 'dotGraph': flowRenderer.setConf(config.flowchart); flowRenderer.draw(txt, id, true); - if(config.cloneCssStyles) { + if (config.cloneCssStyles) { classes = flowRenderer.getClasses(txt, true); utils.cloneCssStyles(element.firstChild, classes); } break; case 'sequenceDiagram': seq.setConf(config.sequenceDiagram); - seq.draw(txt,id); - if(config.cloneCssStyles) { + seq.draw(txt, id); + if (config.cloneCssStyles) { utils.cloneCssStyles(element.firstChild, []); } break; case 'gantt': gantt.setConf(config.gantt); - gantt.draw(txt,id); - if(config.cloneCssStyles) { + gantt.draw(txt, id); + if (config.cloneCssStyles) { utils.cloneCssStyles(element.firstChild, []); } break; case 'info': - info.draw(txt,id,exports.version()); - if(config.cloneCssStyles) { + info.draw(txt, id, exports.version()); + if (config.cloneCssStyles) { utils.cloneCssStyles(element.firstChild, []); } break; } - d3.select('#d'+id).selectAll('foreignobject div').attr('xmlns','http://www.w3.org/1999/xhtml'); - - + d3.select('#d' + id).selectAll('foreignobject div').attr('xmlns', 'http://www.w3.org/1999/xhtml'); + var url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search; + url = url.replace(/\(/g, '\\('); + url = url.replace(/\)/g, '\\)'); // Fix for when the base tag is used - var svgCode = d3.select('#d'+id).node().innerHTML.replace(/url\(#arrowhead/g,'url('+ window.location.protocol+'//'+location.host+location.pathname +'#arrowhead','g'); + var svgCode = d3.select('#d' + id).node().innerHTML.replace(/url\(#arrowhead/g, 'url(' + url + '#arrowhead', 'g'); svgCode = exports.decodeEntities(svgCode); //console.warn('mermaid decode: '); //console.warn(svgCode); //var he = require('he'); //svgCode = he.decode(svgCode); - if(typeof cb !== 'undefined'){ - cb(svgCode,graph.bindFunctions); - }else{ + if (typeof cb !== 'undefined') { + cb(svgCode, graph.bindFunctions); + } else { log.warn('CB = undefined'); } - var node = d3.select('#d'+id).node(); - if(node !== null && typeof node.remove === 'function'){ - d3.select('#d'+id).node().remove(); + var node = d3.select('#d' + id).node(); + if (node !== null && typeof node.remove === 'function') { + d3.select('#d' + id).node().remove(); } }; -exports.render = function(id, text, cb, containerElement){ -if(typeof document === 'undefined'){ +exports.render = function (id, text, cb, containerElement) { + if (typeof document === 'undefined') { // Todo handle rendering serverside using phantomjs - } - else{ - // In browser - render( id, text, cb, containerElement); - } + } else { + // In browser + render(id, text, cb, containerElement); + } }; - -var setConf = function(cnf){ +var setConf = function setConf(cnf) { // Top level initially mermaid, gflow, sequenceDiagram and gantt var lvl1Keys = Object.keys(cnf); var i; - for(i=0;i 0) { - usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + usedStyles += rule.selectorText + ' { ' + rule.style.cssText + ' }\n'; } } } } - } - catch(err) { - if(typeof console !== 'undefined'){ - if(console.warn !== 'undefined'){ - if(rule !== 'undefined'){ - console.warn('Invalid CSS selector "' + rule.selectorText + '"', err); - } - } + } catch (err) { + if (rule !== 'undefined') { + log.warn('Invalid CSS selector "' + rule.selectorText + '"', err); } } - } + } } - var defaultStyles = ""; - var embeddedStyles = ""; + var defaultStyles = ''; + var embeddedStyles = ''; for (var className in classes) { - if (classes.hasOwnProperty(className) && typeof(className) != "undefined") { + if (classes.hasOwnProperty(className) && typeof className != 'undefined') { if (className === 'default') { - if (classes.default.styles instanceof Array) { - defaultStyles += "#" + svg.id.trim() + ' .node' + '>rect { ' + classes[className].styles.join("; ") + '; }\n'; + if (classes['default'].styles instanceof Array) { + defaultStyles += '#' + svg.id.trim() + ' .node' + '>rect { ' + classes[className].styles.join('; ') + '; }\n'; } - if (classes.default.nodeLabelStyles instanceof Array) { - defaultStyles += "#" + svg.id.trim() + ' .node text ' + ' { ' + classes[className].nodeLabelStyles.join("; ") + '; }\n'; + if (classes['default'].nodeLabelStyles instanceof Array) { + defaultStyles += '#' + svg.id.trim() + ' .node text ' + ' { ' + classes[className].nodeLabelStyles.join('; ') + '; }\n'; } - if (classes.default.edgeLabelStyles instanceof Array) { - defaultStyles += "#" + svg.id.trim() + ' .edgeLabel text ' + ' { ' + classes[className].edgeLabelStyles.join("; ") + '; }\n'; + if (classes['default'].edgeLabelStyles instanceof Array) { + defaultStyles += '#' + svg.id.trim() + ' .edgeLabel text ' + ' { ' + classes[className].edgeLabelStyles.join('; ') + '; }\n'; } - if (classes.default.clusterStyles instanceof Array) { - defaultStyles += "#" + svg.id.trim() + ' .cluster rect ' + ' { ' + classes[className].clusterStyles.join("; ") + '; }\n'; + if (classes['default'].clusterStyles instanceof Array) { + defaultStyles += '#' + svg.id.trim() + ' .cluster rect ' + ' { ' + classes[className].clusterStyles.join('; ') + '; }\n'; } } else { if (classes[className].styles instanceof Array) { - embeddedStyles += "#" + svg.id.trim() + ' .' + className + '>rect { ' + classes[className].styles.join("; ") + '; }\n'; + embeddedStyles += '#' + svg.id.trim() + ' .' + className + '>rect { ' + classes[className].styles.join('; ') + '; }\n'; } } } } - if (usedStyles !== "" || defaultStyles !== "" || embeddedStyles !== "") { + if (usedStyles !== '' || defaultStyles !== '' || embeddedStyles !== '') { var s = document.createElement('style'); s.setAttribute('type', 'text/css'); s.setAttribute('title', 'mermaid-svg-internal-css'); - s.innerHTML = "/* */\n"; + s.innerHTML += '/* ]]> */\n'; svg.insertBefore(s, svg.firstChild); } }; -},{"./logger":104}]},{},[103]) -(103) +exports.cloneCssStyles = cloneCssStyles; + +},{"./logger":100}],103:[function(require,module,exports){ + +},{}],104:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// 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. + +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + + return parts; +} + +// Split a filename into [root, dir, basename, ext], unix version +// 'root' is just a slash, or nothing. +var splitPathRe = + /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; +var splitPath = function(filename) { + return splitPathRe.exec(filename).slice(1); +}; + +// path.resolve([from ...], to) +// posix version +exports.resolve = function() { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : process.cwd(); + + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; +}; + +// path.normalize(path) +// posix version +exports.normalize = function(path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; + + // Normalize the path + path = normalizeArray(filter(path.split('/'), function(p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; + +// posix version +exports.isAbsolute = function(path) { + return path.charAt(0) === '/'; +}; + +// posix version +exports.join = function() { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); +}; + + +// path.relative(from, to) +// posix version +exports.relative = function(from, to) { + from = exports.resolve(from).substr(1); + to = exports.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + + return outputParts.join('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function(path) { + var result = splitPath(path), + root = result[0], + dir = result[1]; + + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + + return root + dir; +}; + + +exports.basename = function(path, ext) { + var f = splitPath(path)[2]; + // TODO: make this comparison case-insensitive on windows? + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; +}; + + +exports.extname = function(path) { + return splitPath(path)[3]; +}; + +function filter (xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + return res; +} + +// String.prototype.substr - negative index don't work in IE8 +var substr = 'ab'.substr(-1) === 'b' + ? function (str, start, len) { return str.substr(start, len) } + : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); + } +; + +}).call(this,require('_process')) +},{"_process":105}],105:[function(require,module,exports){ +// shim for using process in browser + +var process = module.exports = {}; +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = setTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + currentQueue[queueIndex].run(); + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + clearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + setTimeout(drainQueue, 0); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +// TODO(shtylman) +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],106:[function(require,module,exports){ +(function (global){ +//(function (root, factory) { +// if (typeof exports === 'object') { +// // CommonJS +// module.exports = factory(require('b')); +// } else if (typeof define === 'function' && define.amd) { +// // AMD +// define(['b'], function (b) { +// return (root.returnExportsGlobal = factory(b)); +// }); +// } else { +// // Global Variables +// root.returnExportsGlobal = factory(root.b); +// } +//}(this, function (b) { +/** + * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render + * the diagrams to svg code. + */ +'use strict'; + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); +var mermaidAPI = require('./mermaidAPI'); +var nextId = 0; + +var he = require('he'); + +module.exports.mermaidAPI = mermaidAPI; +/** + * ## init + * Function that goes through the document to find the chart definitions in there and render them. + * + * The function tags the processed attributes with the attribute data-processed and ignores found elements with the + * attribute already set. This way the init function can be triggered several times. + * + * Optionally, `init` can accept in the second argument one of the following: + * - a DOM Node + * - an array of DOM nodes (as would come from a jQuery selector) + * - a W3C selector, a la `.mermaid` + * + * ```mermaid + * graph LR; + * a(Find elements)-->b{Processed} + * b-->|Yes|c(Leave element) + * b-->|No |d(Transform) + * ``` + * Renders the mermaid diagrams + * @param nodes a css selector or an array of nodes + */ +var _init = function _init() { + var conf = mermaidAPI.getConfig(); + log.debug('Starting rendering diagrams'); + var nodes; + if (arguments.length >= 2) { + /*! sequence config was passed as #1 */ + if (typeof arguments[0] !== 'undefined') { + global.mermaid.sequenceConfig = arguments[0]; + } + + nodes = arguments[1]; + } else { + nodes = arguments[0]; + } + + // if last argument is a function this is the callback function + var callback; + if (typeof arguments[arguments.length - 1] === 'function') { + callback = arguments[arguments.length - 1]; + log.debug('Callback function found'); + } else { + if (typeof conf.mermaid !== 'undefined') { + if (typeof conf.mermaid.callback === 'function') { + callback = conf.mermaid.callback; + log.debug('Callback function found'); + } else { + log.debug('No Callback function found'); + } + } + } + nodes = nodes === undefined ? document.querySelectorAll('.mermaid') : typeof nodes === 'string' ? document.querySelectorAll(nodes) : nodes instanceof Node ? [nodes] + /*! Last case - sequence config was passed pick next */ + : nodes; + + var i; + + if (typeof mermaid_config !== 'undefined') { + mermaidAPI.initialize(global.mermaid_config); + } + log.debug('Start On Load before: ' + global.mermaid.startOnLoad); + if (typeof global.mermaid.startOnLoad !== 'undefined') { + log.debug('Start On Load inner: ' + global.mermaid.startOnLoad); + mermaidAPI.initialize({ startOnLoad: global.mermaid.startOnLoad }); + } + + if (typeof global.mermaid.ganttConfig !== 'undefined') { + mermaidAPI.initialize({ gantt: global.mermaid.ganttConfig }); + } + + var txt; + var insertSvg = function insertSvg(svgCode, bindFunctions) { + element.innerHTML = svgCode; + if (typeof callback !== 'undefined') { + callback(id); + } + bindFunctions(element); + }; + + for (i = 0; i < nodes.length; i++) { + var element = nodes[i]; + + /*! Check if previously processed */ + if (!element.getAttribute('data-processed')) { + element.setAttribute('data-processed', true); + } else { + continue; + } + + var id = 'mermaidChart' + nextId++; + + // Fetch the graph definition including tags + txt = element.innerHTML; + + //console.warn('delivererd from the browser: '); + //console.warn(txt); + + // transforms the html to pure text + txt = he.decode(txt).trim(); + //console.warn('he decode: '); + //console.warn(txt); + + mermaidAPI.render(id, txt, insertSvg, element); + } +}; + +exports.init = _init; +exports.parse = mermaidAPI.parse; +/** + * ## version + * Function returning version information + * @returns {string} A string containing the version info + */ +exports.version = function () { + return 'v' + require('../package.json').version; +}; + +/** + * ## initialize + * This function overrides the default configuration. + * @param config + */ +exports.initialize = function (config) { + log.debug('Initializing mermaid'); + if (typeof config.mermaid !== 'undefined') { + if (typeof config.mermaid.startOnLoad !== 'undefined') { + global.mermaid.startOnLoad = config.mermaid.startOnLoad; + } + if (typeof config.mermaid.htmlLabels !== 'undefined') { + global.mermaid.htmlLabels = config.mermaid.htmlLabels; + } + } + mermaidAPI.initialize(config); +}; + +var equals = function equals(val, variable) { + if (typeof variable === 'undefined') { + return false; + } else { + return val === variable; + } +}; + +/** + * Global mermaid object. Contains the functions: + * * init + * * initialize + * * version + * * parse + * * parseError + * * render + */ +global.mermaid = { + startOnLoad: true, + htmlLabels: true, + + init: function init() { + _init.apply(null, arguments); + }, + initialize: function initialize(config) { + exports.initialize(config); + }, + version: function version() { + return mermaidAPI.version(); + }, + parse: function parse(text) { + return mermaidAPI.parse(text); + }, + parseError: function parseError(err) { + log.debug('Mermaid Syntax error:'); + log.debug(err); + }, + render: function render(id, text, callback, element) { + return mermaidAPI.render(id, text, callback, element); + } +}; + +/** + * ## parseError + * This function overrides the default configuration. + * @param config + */ +exports.parseError = global.mermaid.parseError; + +/** + * ##contentLoaded + * Callback function that is called when page is loaded. This functions fetches configuration for mermaid rendering and + * calls init for rendering the mermaid diagrams on the page. + */ +exports.contentLoaded = function () { + var config; + // Check state of start config mermaid namespace + if (typeof mermaid_config !== 'undefined') { + if (equals(false, global.mermaid_config.htmlLabels)) { + global.mermaid.htmlLabels = false; + } + } + + if (global.mermaid.startOnLoad) { + // For backwards compatability reasons also check mermaid_config variable + if (typeof global.mermaid_config !== 'undefined') { + // Check if property startOnLoad is set + if (equals(true, global.mermaid_config.startOnLoad)) { + global.mermaid.init(); + } + } else { + // No config found, do check API config + config = mermaidAPI.getConfig(); + if (config.startOnLoad) { + global.mermaid.init(); + } + } + } else { + //if(typeof global.mermaid === 'undefined' ){ + if (typeof global.mermaid.startOnLoad === 'undefined') { + log.debug('In start, no config'); + config = mermaidAPI.getConfig(); + if (config.startOnLoad) { + global.mermaid.init(); + } + //}else{ + // + //} + } + } +}; + +if (typeof document !== 'undefined') { + /*! + * Wait for document loaded before starting the execution + */ + document.addEventListener('DOMContentLoaded', function () { + exports.contentLoaded(); + }, false); +} + +// // Your actual module +// return module.exports; +//})); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../package.json":83,"./logger":100,"./mermaidAPI":101,"he":81}]},{},[106])(106) }); \ No newline at end of file diff --git a/docs/content/mermaidCLI.md b/docs/content/mermaidCLI.md index 815d7bdb2..a73d2c1e1 100644 --- a/docs/content/mermaidCLI.md +++ b/docs/content/mermaidCLI.md @@ -25,11 +25,13 @@ Options: -c --sequenceConfig Specify the path to the file with the configuration to be applied in the sequence diagram -h --help Show this message -v --verbose Show logging + -w --width width of the generated png (number) --version Print version and quit ``` ``` -mermaid testGraph.mmd +mermaid testGraph.mmd +mermaid testGraph.mmd -w 980 ``` ## Sequence diagram configuration diff --git a/package.json b/package.json index 887ab43e3..1249231af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.5.3-2", + "version": "0.5.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", "main": "src/mermaid.js", "keywords": [ diff --git a/test/web.html b/test/web.html index ec5bff4bc..772163269 100644 --- a/test/web.html +++ b/test/web.html @@ -3,7 +3,7 @@ - +