2015-10-19 22:08:17 +02:00
! 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 < r . length ; o ++ ) i ( r [ o ] ) ; return i } ( { 1 : [ function ( ) { } , { } ] , 2 : [ function ( t , n , e ) { ( function ( t ) { function n ( t , n ) { for ( var e = 0 , r = t . length - 1 ; r >= 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 < t . length ; r ++ ) n ( t [ r ] , r , t ) && e . push ( t [ r ] ) ; return e } var i = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/ , a = function ( t ) { return i . exec ( t ) . slice ( 1 ) } ; e . resolve = function ( ) { for ( var e = "" , i = ! 1 , a = arguments . length - 1 ; a >= - 1 && ! i ; a -- ) { var o = a >= 0 ? arguments [ a ] : t . cwd ( ) ; if ( "string" != typeof o ) throw new TypeError ( "Arguments to path.resolve must be strings" ) ; o && ( e = o + "/" + e , i = "/" === o . charAt ( 0 ) ) } return e = n ( r ( e . split ( "/" ) , function ( t ) { return ! ! t } ) , ! i ) . join ( "/" ) , ( i ? "/" : "" ) + e || "." } , e . normalize = function ( t ) { var i = e . isAbsolute ( t ) , a = "/" === o ( t , - 1 ) ; return t = n ( r ( t . split ( "/" ) , function ( t ) { return ! ! t } ) , ! i ) . join ( "/" ) , t || i || ( t = "." ) , t && a && ( t += "/" ) , ( i ? "/" : "" ) + t } , e . isAbsolute = function ( t ) { return "/" === t . charAt ( 0 ) } , e . join = function ( ) { var t = Array . prototype . slice . call ( arguments , 0 ) ; return e . normalize ( r ( t , function ( t ) { 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 < t . length && "" === t [ n ] ; n ++ ) ; for ( var e = t . length - 1 ; e >= 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 ; s < i . length ; s ++ ) c . push ( ".." ) ; return c = c . concat ( a . slice ( u ) ) , c . join ( "/" ) } , e . sep = "/" , e . delimiter = ":" , e . dirname = function ( t ) { var n = a ( t ) , e = n [ 0 ] , r = n [ 1 ] ; return e || r ? ( r && ( r = r . substr ( 0 , r . length - 1 ) ) , e + r ) : "." } , e . basename = function ( t , n ) { var e = a ( t ) [ 2 ] ; return n && e . substr ( - 1 * n . length ) === n && ( e = e . substr ( 0 , e . length - n . length ) ) , e } , e . extname = function ( t ) { return a ( t ) [ 3 ] } ; var o = "b" === "ab" . substr ( - 1 ) ? function ( t , n , e ) { return t . substr ( n , e ) } : function ( t , n , e ) { return 0 > n && ( 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 . o
} 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 -
n ) : r } , n . defined = function ( t ) { return arguments . length ? ( i = t , n ) : i } , n . interpolate = function ( t ) { return arguments . length ? ( o = "function" == typeof t ? a = t : ( a = Ss . get ( t ) || ga ) . key , n ) : o } , n . tension = function ( t ) { return arguments . length ? ( u = t , n ) : u } , n } function ga ( t ) { return t . join ( "L" ) } function ya ( t ) { return ga ( t ) + "Z" } function ma ( t ) { for ( var n = 0 , e = t . length , r = t [ 0 ] , i = [ r [ 0 ] , "," , r [ 1 ] ] ; ++ n < e ; ) i . push ( "H" , ( r [ 0 ] + ( r = t [ n ] ) [ 0 ] ) / 2 , "V" , r [ 1 ] ) ; return e > 1 && 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 ] ] ; ++ n < e ; ) i . push ( "V" , ( r = t [ n ] ) [ 1 ] , "H" , r [ 0 ] ) ; return i . join ( "" ) } function _a ( t ) { for ( var n = 0 , e = t . length , r = t [ 0 ] , i = [ r [ 0 ] , "," , r [ 1 ] ] ; ++ n < e ; ) i . push ( "H" , ( r = t [ n ] ) [ 0 ] , "V" , r [ 1 ] ) ; return i . join ( "" ) } function ba ( t , n ) { return t . length < 4 ? ga ( t ) : t [ 1 ] + ka ( t . slice ( 1 , - 1 ) , Aa ( t , n ) ) } function xa ( t , n ) { return t . length < 3 ? ga ( t ) : t [ 0 ] + ka ( ( t . push ( t [ 0 ] ) , t ) , Aa ( [ t [ t . length - 2 ] ] . concat ( t , [ t [ 1 ] ] ) , n ) ) } function wa ( t , n ) { return t . length < 3 ? ga ( t ) : t [ 0 ] + ka ( t , Aa ( t , n ) ) } function ka ( t , n ) { if ( n . length < 1 || t . length != n . length && t . length != n . length + 2 ) return ga ( t ) ; var e = t . length != n . length , r = "" , i = t [ 0 ] , a = t [ 1 ] , o = n [ 0 ] , u = o , s = 1 ; if ( e && ( r += "Q" + ( a [ 0 ] - 2 * o [ 0 ] / 3 ) + "," + ( a [ 1 ] - 2 * o [ 1 ] / 3 ) + "," + a [ 0 ] + "," + a [ 1 ] , i = t [ 1 ] , s = 2 ) , n . length > 1 ) { 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 ; c < n . length ; c ++ , s ++ ) a = t [ s ] , u = n [ c ] , r += "S" + ( a [ 0 ] - u [ 0 ] ) + "," + ( a [ 1 ] - u [ 1 ] ) + "," + a [ 0 ] + "," + a [ 1 ] } if ( e ) { var l = t [ s ] ; r += "Q" + ( a [ 0 ] + 2 * u [ 0 ] / 3 ) + "," + ( a [ 1 ] + 2 * u [ 1 ] / 3 ) + "," + l [ 0 ] + "," + l [ 1 ] } return r } function Aa ( t , n ) { for ( var e , r = [ ] , i = ( 1 - n ) / 2 , a = t [ 0 ] , o = t [ 1 ] , u = 1 , s = t . length ; ++ u < s ; ) e = a , a = o , o = t [ u ] , r . push ( [ i * ( o [ 0 ] - e [ 0 ] ) , i * ( o [ 1 ] - e [ 1 ] ) ] ) ; return r } function Ea ( t ) { if ( t . length < 3 ) return ga ( t ) ; var n = 1 , e = t . length , r = t [ 0 ] , i = r [ 0 ] , a = r [ 1 ] , o = [ i , i , i , ( r = t [ 1 ] ) [ 0 ] ] , u = [ a , a , a , r [ 1 ] ] , s = [ i , "," , a , "L" , Ta ( Fs , o ) , "," , Ta ( Fs , u ) ] ; for ( t . push ( t [ e - 1 ] ) ; ++ n <= e ; ) r = t [ n ] , o . shift ( ) , o . push ( r [ 0 ] ) , u . shift ( ) , u . push ( r [ 1 ] ) , Ca ( s , o , u ) ; return t . pop ( ) , s . push ( "L" , r ) , s . join ( "" ) } function Ma ( t ) { if ( t . length < 4 ) return ga ( t ) ; for ( var n , e = [ ] , r = - 1 , i = t . length , a = [ 0 ] , o = [ 0 ] ; ++ r < 3 ; ) n = t [ r ] , a . push ( n [ 0 ] ) , o . push ( n [ 1 ] ) ; for ( e . push ( Ta ( Fs , a ) + "," + Ta ( Fs , o ) ) , -- r ; ++ r < i ; ) n = t [ r ] , a . shift ( ) , a . push ( n [ 0 ] ) , o . shift ( ) , o . push ( n [ 1 ] ) , Ca ( e , a , o ) ; return e . join ( "" ) } function Da ( t ) { for ( var n , e , r = - 1 , i = t . length , a = i + 4 , o = [ ] , u = [ ] ; ++ r < 4 ; ) e = t [ r % i ] , o . push ( e [ 0 ] ) , u . push ( e [ 1 ] ) ; for ( n = [ Ta ( Fs , o ) , "," , Ta ( Fs , u ) ] , -- r ; ++ r < a ; ) e = t [ r % i ] , o . shift ( ) , o . push ( e [ 0 ] ) , u . shift ( ) , u . push ( e [ 1 ] ) , Ca ( n , o , u ) ; return n . join ( "" ) } function Sa ( t , n ) { var e = t . length - 1 ; if ( e ) for ( var r , i , a = t [ 0 ] [ 0 ] , o = t [ 0 ] [ 1 ] , u = t [ e ] [ 0 ] - a , s = t [ e ] [ 1 ] - o , c = - 1 ; ++ c <= e ; ) r = t [ c ] , i = c / e , r [ 0 ] = n * r [ 0 ] + ( 1 - n ) * ( a + i * u ) , r [ 1 ] = n * r [ 1 ] + ( 1 - n ) * ( o + i * s ) ; return Ea ( t ) } function Ta ( t , n ) { return t [ 0 ] * n [ 0 ] + t [ 1 ] * n [ 1 ] + t [ 2 ] * n [ 2 ] + t [ 3 ] * n [ 3 ] } function Ca ( t , n , e ) { t . push ( "C" , Ta ( Ts , n ) , "," , Ta ( Ts , e ) , "," , Ta ( Cs , n ) , "," , Ta ( Cs , e ) , "," , Ta ( Fs , n ) , "," , Ta ( Fs , e ) ) } function Fa ( t , n ) { return ( n [ 1 ] - t [ 1 ] ) / ( n [ 0 ] - t [ 0 ] ) } function Oa ( t ) { for ( var n = 0 , e = t . length - 1 , r = [ ] , i = t [ 0 ] , a = t [ 1 ] , o = r [ 0 ] = Fa ( i , a ) ; ++ n < e ; ) r [ n ] = ( o + ( o = Fa ( i = a , a = t [ n + 1 ] ) ) ) / 2 ; return r [ n ] = o , r } function La ( t ) { for ( var n , e , r , i , a = [ ] , o = Oa ( t ) , u = - 1 , s = t . length - 1 ; ++ u < s ; ) n = Fa ( t [ u ] , t [ u + 1 ] ) , go ( n ) < Fo ? o [ u ] = o [ u + 1 ] = 0 : ( e = o [ u ] / n , r = o [ u + 1 ] / n , i = e * e + r * r , i > 9 && ( 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 ; ++ i < a ; ) n = t [ i ] , e = n [ 0 ] , r = n [ 1 ] - Po , n [ 0 ] = e * Math . cos ( r ) , n [ 1 ] = e * Math . sin ( r ) ; return t } function Pa ( t ) { function n ( n ) { function s ( ) { g . push ( "M" , u ( t ( m ) , h ) , l , c ( t ( y . reverse ( ) ) , h ) , "Z" ) } for ( var f , d , p , g = [ ] , y = [ ] , m = [ ] , v = - 1 , _ = n . length , b = Dt ( e ) , x = Dt ( i ) , w = e === r ? function ( ) { return d } : Dt ( r ) , k = i === a ? function ( ) { return p } : Dt ( a ) ; ++ v < _ ; ) o . call ( this , f = n [ v ] , v ) ? ( y . push ( [ d = + b . call ( this , f , v ) , p = + x . call ( this , f , v ) ] ) , m . push ( [ + w . call ( this , f , v ) , + k . call ( this , f , v ) ] ) ) : y . length && ( s ( ) , y = [ ] , m = [ ] ) ; return y . length && s ( ) , g . length ? g . join ( "" ) : null } var e = Te , r = Te , i = 0 , a = Ce , o = Cn , u = ga , s = u . key , c = u , l = "L" , h = . 7 ; return n . x = function ( t ) { return arguments . length ? ( e = r = t , n ) : r } , n . x0 = function ( t ) { return arguments . length ? ( e = t , n ) : e } , n . x1 = function ( t ) { return arguments . length ? ( r = t , n ) : r } , n . y = function ( t ) { return arguments . length ? ( i = a = t , n ) : a } , n . y0 = function ( t ) { return arguments
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 =
} ) , 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 . x < d . x && ( d = t ) , t . x > p . 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 ; ++ i < a ; ) r = ( e = t [ i ] ) . value * ( 0 > n ? 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 ; ++ o < u ; ) ( e = t [ o ] . area ) && ( a > e && ( 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 ) ; ++ a < o ; ) i = t [ a ] , i . x = u , i . y = c , i . dy = l , u += i . dx = Math . min ( e . x + e . dx - u , l ? s ( i . area / l ) : 0 ) ; i . z = ! 0 , i . dx += e . x + e . dx - u , e . y += l , e . dy -= l } else { for ( ( r || l > e . dx ) && ( l = e . dx ) ; ++ a < o ; ) i = t [ a ] , i . x = u , i . y = c , i . dx = l , c += i . dy = Math . min ( e . y + e . dy - c , l ? s ( i . area / l ) : 0 ) ; i . z = ! 1 , i . dy += e . y + e . dy - c , e . x += l , e . dx -= l } } function a ( r ) { var i = o || u ( r ) , a = i [ 0 ] ; return a . x = 0 , a . y = 0 , a . dx = c [ 0 ] , a . dy = c [ 1 ] , o && u . revalue ( a ) , t ( [ a ] , a . dx * a . dy / a . value ) , ( o ? e : n ) ( a ) , f && ( o = i ) , i } var o , u = eo . layout . hierarchy ( ) , s = Math . round , c = [ 1 , 1 ] , l = null , h = Pi , f = ! 1 , d = "squarify" , p = . 5 * ( 1 +
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 . x < i && ( c = - c ) ; var l = Math . abs ( n * e * u / s ) ; return r . y < a && ( l = - l ) , { x : i + c , y : a + l } } n . exports = e } , { } ] , 17 : [ function ( t , n ) { function e ( t , n , e , i ) { var a , o , u , s , c , l , h , f , d , p , g , y , m , v , _ ; return a = n . y - t . y , u = t . x - n . x , c = n . x * t . y - t . x * n . y , d = a * e . x + u * e . y + c , p = a * i . x + u * i . y + c , 0 !== d && 0 !== p && r ( d , p ) || ( o = i . y - e . y , s = e . x - i . x , l = i . x * e . y - e . x * i . y , h = o * t . x + s * t . yy + l , f = o * n . x + s * n . y + l , 0 !== h && 0 !== f && r ( h , f ) || ( g = a * s - o * u , 0 === g ) ) ? void 0 : ( y = Math . abs ( g / 2 ) , m = u * l - s * c , v = 0 > m ? ( 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 ; h < n . length ; h ++ ) { var f = n [ h ] , d = n [ h < n . length - 1 ? h + 1 : 0 ] , p = r ( t , e , { x : c + f . x , y : l + f . y } , { x : c + d . x , y : l + d . y } ) ; p && o . push ( p ) } return o . length ? ( o . length > 1 && 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 =
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 && n < u [ f ] && ! o ( e , t , f ) && ( a [ f ] = t , a [ t ] = i [ t ] = i [ f ] , n = u [ f ] ) } } } ) } ) , { root : i , align : a } } function s ( t , n , e , r , i ) { function a ( t ) { y . has ( l , t ) || ( l [ t ] = ! 0 , u [ t ] = y . reduce ( s . inEdges ( t ) , function ( t , n ) { return a ( n . v ) , Math . max ( t , u [ n . v ] + s . edge ( n ) ) } , 0 ) ) } function o ( n ) { if ( 2 !== l [ n ] ) { l [ n ] ++ ; var e = t . node ( n ) , r = y . reduce ( s . outEdges ( n ) , function ( t , n ) { return o ( n . w ) , Math . min ( t , u [ n . w ] - s . edge ( n ) ) } , Number . POSITIVE _INFINITY ) ; r !== Number . POSITIVE _INFINITY && e . borderType !== h && ( u [ n ] = Math . max ( u [ n ] , r ) ) } } var u = { } , s = c ( t , n , e , i ) , l = { } ; y . each ( s . nodes ( ) , a ) ; var h = i ? "borderLeft" : "borderRight" ; return y . each ( s . nodes ( ) , o ) , y . each ( r , function ( t ) { u [ t ] = u [ e [ t ] ] } ) , u } function c ( t , n , e , r ) { var i = new m , a = t . graph ( ) , o = p ( a . nodesep , a . edgesep , r ) ; return y . each ( n , function ( n ) { var r ; y . each ( n , function ( n ) { var a = e [ n ] ; if ( i . setNode ( a ) , r ) { var u = e [ r ] , s = i . edge ( u , a ) ; i . setEdge ( u , a , Math . max ( o ( t , n , r ) , s || 0 ) ) } r = n } ) } ) , i } function l ( t , n ) { return y . min ( n , function ( n ) { var e = y . min ( n , function ( n , e ) { return n - g ( t , e ) / 2 } ) , r = y . max ( n , function ( n , e ) { return n + g ( t , e ) / 2 } ) ; return r - e } ) } function h ( t , n ) { var e = y . min ( n ) , r = y . max ( n ) ; y . each ( [ "u" , "d" ] , function ( i ) { y . each ( [ "l" , "r" ] , function ( a ) { var o , u = i + a , s = t [ u ] ; s !== n && ( o = "l" === a ? e - y . min ( s ) : r - y . max ( s ) , o && ( t [ u ] = y . mapValues ( s , function ( t ) { return t + o } ) ) ) } ) } ) } function f ( t , n ) { return y . mapValues ( t . ul , function ( e , r ) { if ( n ) return t [ n . toLowerCase ( ) ] [ r ] ; var i = y . sortBy ( y . pluck ( t , r ) ) ; return ( i [ 1 ] + i [ 2 ] ) / 2 } ) } function d ( t ) { var n , i = v . buildLayerMatrix ( t ) , a = y . merge ( e ( t , i ) , r ( t , i ) ) , o = { } ; y . each ( [ "u" , "d" ] , function ( e ) { n = "u" === e ? i : y . values ( i ) . reverse ( ) , y . each ( [ "l" , "r" ] , function ( r ) { "r" === r && ( n = y . map ( n , function ( t ) { return y . values ( t ) . reverse ( ) } ) ) ; var i = y . bind ( "u" === e ? t . predecessors : t . successors , t ) , c = u ( t , n , a , i ) , l = s ( t , n , c . root , c . align , "r" === r ) ; "r" === r && ( l = y . mapValues ( l , function ( t ) { return - t } ) ) , o [ e + r ] = l } ) } ) ; var c = l ( t , o ) ; return h ( o , c ) , f ( o , t . graph ( ) . align ) } function p ( t , n , e ) { return function ( r , i , a ) { var o , u = r . node ( i ) , s = r . node ( a ) , c = 0 ; if ( c += u . width / 2 , y . has ( u , "labelpos" ) ) switch ( u . labelpos . toLowerCase ( ) ) { case "l" : o = - u . width / 2 ; break ; case "r" : o = u . width / 2 } if ( o && ( c += e ? o : - o ) , o = 0 , c += ( u . dummy ? n : t ) / 2 , c += ( s . dummy ? n : t ) / 2 , c += s . width / 2 , y . has ( s , "labelpos" ) ) switch ( s . labelpos . toLowerCase ( ) ) { case "l" : o = s . width / 2 ; break ; case "r" : o = - s . width / 2 } return o && ( c += e ? o : - o ) , o = 0 , c } } function g ( t , n ) { return t . node ( n ) . width } var y = t ( "../lodash" ) , m = t ( "../graphlib" ) . Graph , v = t ( "../util" ) ; n . exports = { positionX : d , findType1Conflicts : e , findType2Conflicts : r , addConflict : a , hasConflict : o , verticalAlignment : u , horizontalCompaction : s , alignCoordinates : h , findSmallestWidthAlignment : l , balance : f } } , { "../graphlib" : 39 , "../lodash" : 42 , "../util" : 61 } ] , 56 : [ function ( t , n ) { "use strict" ; function e ( t ) { t = a . asNonCompoundGraph ( t ) , r ( t ) , i . each ( o ( t ) , function ( n , e ) { t . node ( e ) . x = n } ) } function r ( t ) { var n = a . buildLayerMatrix ( t ) , e = t . graph ( ) . ranksep , r = 0 ; i . each ( n , function ( n ) { var a = i . max ( i . map ( n , function ( n ) { return t . node ( n ) . height } ) ) ; i . each ( n , function ( n ) { t . node ( n ) . y = r + a / 2 } ) , r += a + e } ) } var i = t ( "../lodash" ) , a = t ( "../util" ) , o = t ( "./bk" ) . positionX ; n . exports = e } , { "../lodash" : 42 , "../util" : 61 , "./bk" : 55 } ] , 57 : [ function ( t , n ) { "use strict" ; function e ( t ) { var n = new u ( { directed : ! 1 } ) , e = t . nodes ( ) [ 0 ] , o = t . nodeCount ( ) ; n . setNode ( e , { } ) ; for ( var c , l ; r ( n , t ) < o ; ) c = i ( n , t ) , l = n . hasNode ( c . v ) ? s ( t , c ) : - s ( t , c ) , a ( n , t , l ) ; return n } function r ( t , n ) { function e ( r ) { o . each ( n . nodeEdges ( r ) , function ( i ) { var a = i . v , o = r === a ? i . w : a ; t . hasNode ( o ) || s ( n , i ) || ( t . setNode ( o , { } ) , t . setEdge ( r , o , { } ) , e ( o ) ) } ) } return o . each ( t . nodes ( ) , e ) , t . nodeCount ( ) } function i ( t , n ) { return o . min ( n . edges ( ) , function ( e ) { return t . hasNode ( e . v ) !== t . hasNode ( e . w ) ? s ( n , e ) : void 0 } ) } function a ( t , n , e ) { o . each ( t . nodes ( ) , function ( t ) { n . node ( t ) . rank += e } ) } var o = t ( "../lodash" ) , u = t ( "../graphlib" ) . Graph , s = t ( "./util" ) . slack ; n . exports = e } , { "../graphlib" : 39 , "../lodash" : 42 , "./util" : 60 } ] , 58 : [ function ( t , n ) { "use strict" ; function e ( t ) { switch ( t . graph ( ) . ranker ) { case "network-simplex" : i ( t ) ; break ; case "tight-tree" : r ( t ) ; break ; case "longest-path" : c ( t ) ; break ; default : i ( t ) } } function r ( t ) { o ( t ) , u ( t ) } function i ( t ) { s ( t ) } var a = t ( "./util" ) , o = a . longestPath , u = t ( " . / feasible - tree
for ( var u = a . length , s = n [ e ] ; u -- ; ) if ( a [ u ] == s ) return void ( t [ e ] = o [ u ] ) ; var c = t [ e ] , l = i ? i ( c , s , e , t , n ) : E , h = l === E ; h && ( l = s , Ke ( s ) && ( Tu ( s ) || zi ( s ) ) ? l = Tu ( c ) ? c : Ke ( c ) ? tn ( c ) : [ ] : Yi ( s ) || Ei ( s ) ? l = Ei ( c ) ? Vi ( c ) : Yi ( c ) ? c : { } : h = ! 1 ) , a . push ( s ) , o . push ( l ) , h ? t [ e ] = r ( l , s , i , a , o ) : ( l === l ? l !== c : c === c ) && ( t [ e ] = l ) } function qn ( t ) { return function ( n ) { return null == n ? E : n [ t ] } } function Wn ( t ) { var n = t + "" ; return t = fr ( t ) , function ( e ) { return Nn ( e , t , n ) } } function Hn ( t , n ) { for ( var e = t ? n . length : 0 ; e -- ; ) { var r = n [ e ] ; if ( r != i && Qe ( r ) ) { var i = r ; fo . call ( t , r , 1 ) } } return t } function Gn ( t , n ) { return t + vo ( Mo ( ) * ( n - t + 1 ) ) } function Vn ( t , n , e , r , i ) { return i ( t , function ( t , i , a ) { e = r ? ( r = ! 1 , t ) : n ( e , t , i , a ) } ) , e } function Zn ( t , n , e ) { var r = - 1 , i = t . length ; n = null == n ? 0 : + n || 0 , 0 > n && ( 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 < i ; ) a [ r ] = t [ r + n ] ; return a } function Xn ( t , n ) { var e ; return Po ( t , function ( t , r , i ) { return e = n ( t , r , i ) , ! e } ) , ! ! e } function Kn ( t , n ) { var e = t . length ; for ( t . sort ( n ) ; e -- ; ) t [ e ] = t [ e ] . value ; return t } function Qn ( t , n , e ) { var r = Ue ( ) , i = - 1 ; n = cn ( n , function ( t ) { return r ( t ) } ) ; var a = jn ( t , function ( t ) { var e = cn ( n , function ( n ) { return n ( t ) } ) ; return { criteria : e , index : ++ i , value : t } } ) ; return Kn ( a , function ( t , n ) { return h ( t , n , e ) } ) } function Jn ( t , n ) { var e = 0 ; return Po ( t , function ( t , r , i ) { e += + n ( t , r , i ) || 0 } ) , e } function te ( t , n ) { var e = - 1 , r = ze ( ) , i = t . length , o = r == a , u = o && i >= Y , s = u ? ge ( ) : null , c = [ ] ; s ? ( r = Kt , o = ! 1 ) : ( u = ! 1 , s = n ? [ ] : c ) ; t : for ( ; ++ e < i ; ) { var l = t [ e ] , h = n ? n ( l , e , t ) : l ; if ( o && l === l ) { for ( var f = s . length ; f -- ; ) if ( s [ f ] === h ) continue t ; n && s . push ( h ) , c . push ( l ) } else r ( s , h , 0 ) < 0 && ( ( n || u ) && s . push ( h ) , c . push ( l ) ) } return c } function ne ( t , n ) { for ( var e = - 1 , r = n . length , i = Ya ( r ) ; ++ e < r ; ) i [ e ] = t [ n [ e ] ] ; return i } function ee ( t , n , e , r ) { for ( var i = t . length , a = r ? i : - 1 ; ( r ? a -- : ++ a < i ) && n ( t [ a ] , a , t ) ; ) ; return e ? Zn ( t , r ? 0 : a , r ? a + 1 : i ) : Zn ( t , r ? a + 1 : 0 , r ? i : a ) } function re ( t , n ) { var e = t ; e instanceof K && ( e = e . value ( ) ) ; for ( var r = - 1 , i = n . length ; ++ r < i ; ) { var a = n [ r ] ; e = a . func . apply ( a . thisArg , ln ( [ e ] , a . args ) ) } return e } function ie ( t , n , e ) { var r = 0 , i = t ? t . length : r ; if ( "number" == typeof n && n === n && Fo >= 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 ) ; ++ o < u ; ) s [ o ] = n [ o ] ; for ( ; ++ i < r ; ) s [ e [ i ] ] = t [ i ] ; for ( ; a -- ; ) s [ o ++ ] = t [ i ++ ] ; return s } function ce ( t , n , e ) { for ( var r = - 1 , i = e . length , a = - 1 , o = wo ( t . length - i , 0 ) , u = - 1 , s = n . length , c = Ya ( o + s ) ; ++ a < o ; ) c [ a ] = t [ a ] ; for ( var l = a ; ++ u < s ; ) c [ l + u ] = n [ u ] ; for ( ; ++ r < i ; ) c [ l + e [ r ] ] = t [ a ++ ] ; return c } function le ( t , n ) { return function ( e , r , i ) { var a = n ? n ( ) : { } ; if ( r = Ue ( r , i , 3 ) , Tu ( e ) ) for ( var o = - 1 , u = e . length ; ++ o < u ; ) { var s = e [ o ] ; t ( a , s , r ( s , o , e ) , e ) } else Po ( e , function ( n , e , i ) { t ( a , n , r ( n , e , i ) , i ) } ) ; return a } } function he ( t ) { return mi ( function ( n , e ) { var r = - 1 , i = null == n ? 0 : e . length , a = i > 2 ? 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 < i ; ) { var s = e [ r ] ; s && t ( n , s , a ) } return n } ) } function fe ( t , n ) { return function ( e , r ) { var i = e ? $o ( e ) : 0 ; if ( ! er ( i ) ) return t ( e , r ) ; for ( var a = n ? i : - 1 , o = hr ( e ) ; ( n ? a -- : ++ a < i ) && r ( o [ a ] , a , o ) !== ! 1 ; ) ; return e } } function de ( t ) { return function ( n , e , r ) { for ( var i = hr ( n ) , a = r ( n ) , o = a . length , u = t ? o : - 1 ; t ? u -- : ++ u < o ; ) { var s = a [ u ] ; if ( e ( i [ s ] , s , i ) === ! 1 ) break } return n } } function pe ( t , n ) { function e ( ) { var i = this && this !== en && this instanceof e ? r : t ; return i . apply ( n , arguments ) } var r = me ( t ) ; return e } function ge ( t ) { return mo && lo ? new Xt ( t ) : null } function ye ( t ) { return function ( n ) { for ( var e = - 1 , r = Aa ( la ( n ) ) , i = r . length , a = "" ; ++ e < i ; ) a = t ( a , r [ e ] , e ) ; return a } } f
} } ) , Ju = mi ( function ( t , n ) { return function ( e ) { return Xe ( t , e , n ) } } ) , ts = Ne ( "ceil" ) , ns = Ne ( "floor" ) , es = be ( ki , Do ) , rs = be ( Wi , So ) , is = Ne ( "round" ) ; return n . prototype = e . prototype , v . prototype = No ( e . prototype ) , v . prototype . constructor = v , K . prototype = No ( e . prototype ) , K . prototype . constructor = K , Wt . prototype [ "delete" ] = Ht , Wt . prototype . get = Gt , Wt . prototype . has = Vt , Wt . prototype . set = Zt , Xt . prototype . push = Qt , pi . Cache = Wt , n . after = li , n . ary = hi , n . assign = Fu , n . at = eu , n . before = fi , n . bind = yu , n . bindAll = mu , n . bindKey = vu , n . callback = Ea , n . chain = Ur , n . chunk = pr , n . compact = gr , n . constant = Ma , n . countBy = ru , n . create = Zi , n . curry = _u , n . curryRight = bu , n . debounce = di , n . defaults = Ou , n . defaultsDeep = Lu , n . defer = xu , n . delay = wu , n . difference = qo , n . drop = yr , n . dropRight = mr , n . dropRightWhile = vr , n . dropWhile = _r , n . fill = br , n . filter = Kr , n . flatten = wr , n . flattenDeep = kr , n . flow = ku , n . flowRight = Au , n . forEach = ou , n . forEachRight = uu , n . forIn = Pu , n . forInRight = Bu , n . forOwn = Ru , n . forOwnRight = ju , n . functions = Xi , n . groupBy = su , n . indexBy = cu , n . initial = Er , n . intersection = Go , n . invert = Ji , n . invoke = lu , n . keys = Yu , n . keysIn = ta , n . map = ti , n . mapKeys = Uu , n . mapValues = $u , n . matches = Sa , n . matchesProperty = Ta , n . memoize = pi , n . merge = Cu , n . method = Qu , n . methodOf = Ju , n . mixin = Ca , n . modArgs = Eu , n . negate = gi , n . omit = zu , n . once = yi , n . pairs = na , n . partial = Mu , n . partialRight = Du , n . partition = hu , n . pick = qu , n . pluck = ni , n . property = La , n . propertyOf = Ia , n . pull = Sr , n . pullAt = Vo , n . range = Na , n . rearg = Su , n . reject = ei , n . remove = Tr , n . rest = Cr , n . restParam = mi , n . set = ra , n . shuffle = ii , n . slice = Fr , n . sortBy = ui , n . sortByAll = pu , n . sortByOrder = si , n . spread = vi , n . take = Or , n . takeRight = Lr , n . takeRightWhile = Ir , n . takeWhile = Nr , n . tap = $r , n . throttle = _i , n . thru = zr , n . times = Pa , n . toArray = Gi , n . toPlainObject = Vi , n . transform = ia , n . union = Ko , n . uniq = Pr , n . unzip = Br , n . unzipWith = Rr , n . values = aa , n . valuesIn = oa , n . where = ci , n . without = Qo , n . wrap = bi , n . xor = jr , n . zip = Jo , n . zipObject = Yr , n . zipWith = tu , n . backflow = Au , n . collect = ti , n . compose = Au , n . each = ou , n . eachRight = uu , n . extend = Fu , n . iteratee = Ea , n . methods = Xi , n . object = Yr , n . select = Kr , n . tail = Cr , n . unique = Pr , Ca ( n , n ) , n . add = Ra , n . attempt = Ku , n . camelCase = Wu , n . capitalize = ca , n . ceil = ts , n . clone = xi , n . cloneDeep = wi , n . deburr = la , n . endsWith = ha , n . escape = fa , n . escapeRegExp = da , n . every = Xr , n . find = iu , n . findIndex = Wo , n . findKey = Iu , n . findLast = au , n . findLastIndex = Ho , n . findLastKey = Nu , n . findWhere = Qr , n . first = xr , n . floor = ns , n . get = Ki , n . gt = ki , n . gte = Ai , n . has = Qi , n . identity = Da , n . includes = Jr , n . indexOf = Ar , n . inRange = ua , n . isArguments = Ei , n . isArray = Tu , n . isBoolean = Mi , n . isDate = Di , n . isElement = Si , n . isEmpty = Ti , n . isEqual = Ci , n . isError = Fi , n . isFinite = Oi , n . isFunction = Li , n . isMatch = Ni , n . isNaN = Pi , n . isNative = Bi , n . isNull = Ri , n . isNumber = ji , n . isObject = Ii , n . isPlainObject = Yi , n . isRegExp = Ui , n . isString = $i , n . isTypedArray = zi , n . isUndefined = qi , n . kebabCase = Hu , n . last = Mr , n . lastIndexOf = Dr , n . lt = Wi , n . lte = Hi , n . max = es , n . min = rs , n . noConflict = Fa , n . noop = Oa , n . now = gu , n . pad = pa , n . padLeft = Gu , n . padRight = Vu , n . parseInt = ga , n . random = sa , n . reduce = fu , n . reduceRight = du , n . repeat = ya , n . result = ea , n . round = is , n . runInContext = A , n . size = ai , n . snakeCase = Zu , n . some = oi , n . sortedIndex = Zo , n . sortedLastIndex = Xo , n . startCase = Xu , n . startsWith = ma , n . sum = ja , n . template = va , n . trim = _a , n . trimLeft = ba , n . trimRight = xa , n . trunc = wa , n . unescape = ka , n . uniqueId = Ba , n . words = Aa , n . all = Xr , n . any = oi , n . contains = Jr , n . eq = Ci , n . detect = iu , n . foldl = fu , n . foldr = du , n . head = xr , n . include = Jr , n . inject = fu , Ca ( n , function ( ) { var t = { } ; return On ( n , function ( e , r ) { n . prototype [ r ] || ( t [ r ] = e ) } ) , t } ( ) , ! 1 ) , n . sample = ri , n . prototype . sample = function ( t ) { return this . _ _chain _ _ || null != t ? this . thru ( function ( n ) { return ri ( n , t ) } ) : ri ( this . value ( ) ) } , n . VERSION = M , nn ( [ "bind" , "bindKey" , "curry" , "curryRight" , "partial" , "partialRight" ] , function ( t ) { n [ t ] . placeholder = n } ) , nn ( [ "drop" , "take" ] , function ( t , n ) { K . prototype [ t ] = function ( e ) { var r = this . _ _filtered _ _ ; if ( r && ! n ) return new K ( this ) ; e = null == e ? 1 : wo ( vo ( e ) || 0 , 0 ) ; var i = this . clone ( ) ; return r ? i . _ _takeCount _ _ = ko ( i . _ _takeCount _ _ , e ) : i . _ _views _ _ . push ( { size : e , type : t + ( i . _ _dir _ _ < 0 ? "Right" : "" ) } ) , i } , K . prototype [ t + "Right" ] = function ( n ) { return this . reverse ( ) [ t ] ( n ) . reverse ( ) } } ) , nn ( [ "filter" , "map" , "takeWhile" ] , function ( t , n ) { var e = n + 1 , r = e != $ ; K . prototype [ t ] = function ( t , n ) { var i = this . clone ( ) ; return i . _ _iteratees _ _ . push ( { iteratee : Ue ( t , n , 1 ) , type : e } ) , i . _ _filtered _ _ = i . _ _filtered _ _ || r , i } } ) , nn ( [ "first" , " la
2015-10-24 12:44:47 +02:00
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 = i < pi . s && [ "s" , i ] || 1 === a && [ "m" ] || a < pi . m && [ "mm" , a ] || 1 === o && [ "h" ] || o < pi . h && [ "hh" , o ] || 1 === u && [ "d" ] || u < pi . d && [ "dd" , u ] || 1 === s && [ "M" ] || s < pi . M && [ "MM" , s ] || 1 === c && [ "y" ] || [ "yy" , c ] ; return l [ 2 ] = n , l [ 3 ] = + t > 0 , 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 (
2015-10-19 22:08:17 +02:00
} 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 ( /<br>/g , "\n" ) ; "undefined" == typeof t . style ? f . htmlLabels ? n . setEdge ( t . start , t . end , { labelType : "html" , style : a , labelpos : "c" , label : '<span style="background:#e8e8e8">' + t . text + "</span>" , 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 ; b < p . nodes . length ; b ++ ) g . setParent ( p . nodes [ b ] , p . id ) ; e . addVertices ( v , g ) , e . addEdges ( _ , g ) ; var x = new l . render ; x . shapes ( ) . question = function ( t , n , e ) { var r = n . width , i = n . height , a = . 8 * ( r + i ) , o = [ { x : a / 2 , y : 0 } , { x : a , y : - a / 2 } , { x : a / 2 , y : - a } , { x : 0 , y : - a / 2 } ] , u = t . insert ( "polygon" , ":first-child" ) . attr ( "points" , o . map ( function ( t ) { return t . x + "," + t . y } ) . join ( " " ) ) . attr ( "rx" , 5 ) . attr ( "ry" , 5 ) . attr ( "transform" , "translate(" + - a / 2 + "," + 2 * a / 4 + ")" ) ; return e . intersect = function ( t ) { return l . intersect . polygon ( e , o , t ) } , u } , x . shapes ( ) . rect _left _inv _arrow = function ( t , n , e ) { var r = n . width , i = n . height , a = [ { x : - i / 2 , y : 0 } , { x : r , y : 0 } , { x : r , y : - i } , { x : - i / 2 , y : - i } , { x : 0 , y : - i / 2 } ] , o = t . insert ( "polygon" , ":first-child" ) . attr ( "points" , a . map ( function ( t ) { return t . x + "," + t . y } ) . join ( " " ) ) . attr ( "transform" , "translate(" + - r / 2 + "," + 2 * i / 4 + ")" ) ; return e . intersect = function ( t ) { return l . intersect . polygon ( e , a , t ) } , o } , x . shapes ( ) . rect _right _inv _arrow = function ( t , n , e ) { var r = n . width , i = n . height , a = [ { x : 0 , y : 0 } , { x : r + i / 2 , y : 0 } , { x : r , y : - i / 2 } , { x : r + i / 2 , y : - i } , { x : 0 , y : - i } ] , o = t . insert ( "polygon" , ":first-child" ) . attr ( "points" , a . map ( function ( t ) { return t . x + "," + t . y } ) . join ( " " ) ) . attr ( "transform" , "translate(" + - r / 2 + "," + 2 * i / 4 + ")" ) ; return e . intersect = function ( t ) { return l . intersect . polygon ( e , a , t ) } , o } , x . arrows ( ) . none = function ( 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" ) , a = i . append ( "path" ) . attr ( "d" , "M 0 0 L 0 0 L 0 0 z" ) ; l . util . applyStyle ( a , e [ r + "Style" ] ) } ; var w = c . select ( "#" + n ) , k = c . select ( "#" + n + " g" ) ; for ( x ( k , g ) , k . selectAll ( "g.node" ) . attr ( "title" , function ( ) { return o . getTooltip ( this . id ) } ) , f . useMaxWidth ? ( w . attr ( "height" , "100%" ) , w . attr ( "width" , f . width ) , w . attr ( "viewBox" , "0 0 " + ( g . graph ( ) . width + 20 ) + " " + ( g . graph ( ) . height + 20 ) ) , w . attr ( "style" , "max-width:" + ( g . graph ( ) . width + 20 ) + "px;" ) ) : ( w . attr ( "height" , g . graph ( ) . height ) , "undefined" == typeof f . width ? w . attr ( "width" , g . graph ( ) . width ) : w . attr ( "width" , f . width ) , w . attr ( "viewBox" , "0 0 " + ( g . graph ( ) . width + 20 ) + " " + ( g . graph ( ) . height + 20 ) ) ) , o . indexNodes ( "subGraph" + m ) , m = 0 ; m < y . length ; m ++ ) if ( p = y [ m ] , "undefined" !== p . title ) { var A = document . querySelectorAll ( "#" + n + " #" + p . id + " rect" ) , E = document . querySelectorAll ( "#" + n + " #" + p . i
2015-10-24 12:44:47 +02:00
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 :
raw : { data : n } , task : t } , r = b ( p , n ) ; e . raw . startTime = r . startTime , e . raw . endTime = r . endTime , e . id = r . id , e . prevTaskId = p , e . active = r . active , e . done = r . done , e . crit = r . crit ; var i = x . push ( e ) ; p = e . id , w [ e . id ] = i - 1 } , e . findTaskById = function ( t ) { var n = w [ t ] ; return x [ n ] } , e . addTaskOrg = function ( t , n ) { var e = { section : f , type : f , description : t , task : t } , r = _ ( d , n ) ; e . startTime = r . startTime , e . endTime = r . endTime , e . id = r . id , e . active = r . active , e . done = r . done , e . crit = r . crit , d = e , h . push ( e ) } ; var k = function ( ) { var t , n = e . getDateFormat ( ) , r = function ( t ) { var r = x [ t ] , i = "" ; switch ( x [ t ] . raw . startTime . type ) { case "prevTaskEnd" : var a = e . findTaskById ( r . prevTaskId ) ; r . startTime = a . endTime ; break ; case "getStartDate" : i = g ( void 0 , n , x [ t ] . raw . startTime . startData ) , i && ( x [ t ] . startTime = i ) } return x [ t ] . startTime && ( x [ t ] . endTime = y ( x [ t ] . startTime , n , x [ t ] . raw . endTime . data ) , x [ t ] . endTime && ( x [ t ] . processed = ! 0 ) ) , x [ t ] . processed } , i = ! 0 ; for ( t = 0 ; t < x . length ; t ++ ) r ( t ) , i = i && x [ t ] . processed ; return i } ; e . parseError = function ( t , e ) { n . mermaidAPI . parseError ( t , e ) } } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { "../../logger" : 102 , moment : 84 } ] , 96 : [ function ( t , n ) { "use strict" ; var e = t ( "./parser/gantt" ) . parser ; e . yy = t ( "./ganttDb" ) ; var r , i = t ( "../../d3" ) , a = t ( "moment" ) , o = { titleTopMargin : 25 , barHeight : 20 , barGap : 4 , topPadding : 50 , sidePadding : 75 , gridLineStartPadding : 35 , fontSize : 11 , fontFamily : '"Open-Sans", "sans-serif"' } ; n . exports . setConf = function ( t ) { var n = Object . keys ( t ) ; n . forEach ( function ( n ) { o [ n ] = t [ n ] } ) } ; var u ; n . exports . draw = function ( t , n ) { function s ( t , n , e ) { var r = o . barHeight , a = r + o . barGap , u = o . topPadding , s = o . sidePadding , d = i . scale . linear ( ) . domain ( [ 0 , k . length ] ) . range ( [ "#00B9FA" , "#F95002" ] ) . interpolate ( i . interpolateHcl ) ; l ( s , u , n , e ) , c ( t , a , u , s , r , d , n , e ) , h ( a , u , s , r , d ) , f ( s , u , n , e ) } function c ( t , n , e , r , i , a , u ) { _ . append ( "g" ) . selectAll ( "rect" ) . data ( t ) . enter ( ) . append ( "rect" ) . attr ( "x" , 0 ) . attr ( "y" , function ( t , r ) { return r * n + e - 2 } ) . attr ( "width" , function ( ) { return u - r / 2 } ) . attr ( "height" , n ) . attr ( "class" , function ( t ) { for ( var n = 0 ; n < k . length ; n ++ ) if ( t . type === k [ n ] ) return "section section" + n % o . numberSectionStyles ; return "section section0" } ) ; var s = _ . append ( "g" ) . selectAll ( "rect" ) . data ( t ) . enter ( ) ; s . append ( "rect" ) . attr ( "rx" , 3 ) . attr ( "ry" , 3 ) . attr ( "x" , function ( t ) { return w ( t . startTime ) + r } ) . attr ( "y" , function ( t , r ) { return r * n + e } ) . attr ( "width" , function ( t ) { return w ( t . endTime ) - w ( t . startTime ) } ) . attr ( "height" , i ) . attr ( "class" , function ( t ) { for ( var n = "task " , e = 0 , r = 0 ; r < k . length ; r ++ ) t . type === k [ r ] && ( e = r % o . numberSectionStyles ) ; return t . active ? t . crit ? n + " activeCrit" + e : n + " active" + e : t . done ? t . crit ? n + " doneCrit" + e : n + " done" + e : t . crit ? n + " crit" + e : n + " task" + e } ) , s . append ( "text" ) . text ( function ( t ) { return t . task } ) . attr ( "font-size" , o . fontSize ) . attr ( "x" , function ( t ) { var n = w ( t . startTime ) , e = w ( t . endTime ) , i = this . getBBox ( ) . width ; return i > e - 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 ; a < k . length ; a ++ ) t . type === k [ a ] && ( i = a % o . numberSectionStyles ) ; var s = "" ; return t . active && ( s = t . crit ? "activeCritText" + i : "activeText" + i ) , t . done ? s = t . crit ? s + " doneCritText" + i : s + " doneText" + i : t . crit && ( s = s + " critText" + i ) , r > e - 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" , " tr
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 + "#arrowhead)" ) , ( 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 < r . length ; a ++ ) { var o = r [ a ] ; n [ o ] . x = a * l . actorMargin + a * l . width , n [ o ] . y = i , n [ o ] . width = l . diagramMarginY , n [ o ] . height = l . diagramMarginY , u . drawActor ( t , n [ o ] . x , i , n [ o ] . description , l ) , e . bounds . insert ( n [ o ] . x , i , n [ o ] . x + l . width , l . height ) } e . bounds . bumpVerticalPos ( l . height ) } , n . exports . setConf = function ( t ) { var n = Object . keys ( t ) ; n . forEach ( function ( n ) { l [ n ] = t [ n ] } ) } , n . exports . draw = function ( t , r ) { o . yy . clear ( ) , o . parse ( t + "\n" ) , e . bounds . init ( ) ; var i , a , d = s . select ( "#" + r ) , p = o . yy . getActors ( ) , g = o . yy . getActorKeys ( ) , y = o . yy . getMessages ( ) ; n . exports . drawActors ( d , p , g , 0 ) , u . insertArrowHead ( d ) , u . insertArrowCrossHead ( d ) , y . forEach ( function ( t ) { var n ; switch ( t . type ) { case o . yy . LINETYPE . NOTE : e . bounds . bumpVerticalPos ( l . boxMargin ) , i = p [ t . from ] . x , a = p [ t . to ] . x , 0 !== t . placement ? h ( d , i + ( l . width + l . actorMargin ) / 2 , e . bounds . getVerticalPos ( ) , t ) : h ( d , i - ( l . width + l . actorMargin ) / 2 , e . bounds . getVerticalPos ( ) , t ) ; break ; case o . yy . LINETYPE . LOOP _START : e . bounds . bumpVerticalPos ( l . boxMargin ) , e . bounds . newLoop ( t . message ) , e . bounds . bumpVerticalPos ( l . boxMargin + l . boxTextMargin ) ; break ; case o . yy . LINETYPE . LOOP _END : n = e . bounds . endLoop ( ) , u . drawLoop ( d , n , "loop" , l ) , e . bounds . bumpVertic