2020-06-23 18:24:52 +02:00
/* nvd3 version 1.8.6 (https://github.com/novus/nvd3) 2017-08-23 */
! function ( ) { var a = { } ; a . dev = ! 1 , a . tooltip = a . tooltip || { } , a . utils = a . utils || { } , a . models = a . models || { } , a . charts = { } , a . logs = { } , a . dom = { } , "undefined" != typeof module && "undefined" != typeof exports && "undefined" == typeof d3 && ( d3 = require ( "d3" ) ) , a . dispatch = d3 . dispatch ( "render_start" , "render_end" ) , Function . prototype . bind || ( Function . prototype . bind = function ( a ) { if ( "function" != typeof this ) throw new TypeError ( "Function.prototype.bind - what is trying to be bound is not callable" ) ; var b = Array . prototype . slice . call ( arguments , 1 ) , c = this , d = function ( ) { } , e = function ( ) { return c . apply ( this instanceof d && a ? this : a , b . concat ( Array . prototype . slice . call ( arguments ) ) ) } ; return d . prototype = this . prototype , e . prototype = new d , e } ) , a . dev && ( a . dispatch . on ( "render_start" , function ( b ) { a . logs . startTime = + new Date } ) , a . dispatch . on ( "render_end" , function ( b ) { a . logs . endTime = + new Date , a . logs . totalTime = a . logs . endTime - a . logs . startTime , a . log ( "total" , a . logs . totalTime ) } ) ) , a . log = function ( ) { if ( a . dev && window . console && console . log && console . log . apply ) console . log . apply ( console , arguments ) ; else if ( a . dev && window . console && "function" == typeof console . log && Function . prototype . bind ) { var b = Function . prototype . bind . call ( console . log , console ) ; b . apply ( console , arguments ) } return arguments [ arguments . length - 1 ] } , a . deprecated = function ( a , b ) { console && console . warn && console . warn ( "nvd3 warning: `" + a + "` has been deprecated. " , b || "" ) } , a . render = function ( b ) { b = b || 1 , a . render . active = ! 0 , a . dispatch . render _start ( ) ; var c = function ( ) { for ( var d , e , f = 0 ; b > f && ( e = a . render . queue [ f ] ) ; f ++ ) d = e . generate ( ) , typeof e . callback == typeof Function && e . callback ( d ) ; a . render . queue . splice ( 0 , f ) , a . render . queue . length ? setTimeout ( c ) : ( a . dispatch . render _end ( ) , a . render . active = ! 1 ) } ; setTimeout ( c ) } , a . render . active = ! 1 , a . render . queue = [ ] , a . addGraph = function ( b ) { typeof arguments [ 0 ] == typeof Function && ( b = { generate : arguments [ 0 ] , callback : arguments [ 1 ] } ) , a . render . queue . push ( b ) , a . render . active || a . render ( ) } , "undefined" != typeof module && "undefined" != typeof exports && ( module . exports = a ) , "undefined" != typeof window && ( window . nv = a ) , a . dom . write = function ( a ) { return void 0 !== window . fastdom ? fastdom . mutate ( a ) : a ( ) } , a . dom . read = function ( a ) { return void 0 !== window . fastdom ? fastdom . measure ( a ) : a ( ) } , a . interactiveGuideline = function ( ) { "use strict" ; function b ( l ) { l . each ( function ( l ) { function m ( ) { var a = d3 . event . clientX - this . getBoundingClientRect ( ) . left , d = d3 . event . clientY - this . getBoundingClientRect ( ) . top , e = ! 0 , h = ! 1 ; if ( k && ( a = d3 . event . offsetX , d = d3 . event . offsetY , "svg" !== d3 . event . target . tagName && ( e = ! 1 ) , d3 . event . target . className . baseVal . match ( "nv-legend" ) && ( h = ! 0 ) ) , e && ( a -= c . left , d -= c . top ) , "mouseout" === d3 . event . type || 0 > a || 0 > d || a > o || d > p || d3 . event . relatedTarget && void 0 === d3 . event . relatedTarget . ownerSVGElement || h ) { if ( k && d3 . event . relatedTarget && void 0 === d3 . event . relatedTarget . ownerSVGElement && ( void 0 === d3 . event . relatedTarget . className || d3 . event . relatedTarget . className . match ( j . nvPointerEventsClass ) ) ) return ; return g . elementMouseout ( { mouseX : a , mouseY : d } ) , b . renderGuideLine ( null ) , void j . hidden ( ! 0 ) } j . hidden ( ! 1 ) ; var i = "function" == typeof f . rangeBands , l = void 0 ; if ( i ) { var m = d3 . bisect ( f . range ( ) , a ) - 1 ; if ( ! ( f . range ( ) [ m ] + f . rangeBand ( ) >= a ) ) return g . elementMouseout ( { mouseX : a , mouseY : d } ) , b . renderGuideLine ( null ) , void j . hidden ( ! 0 ) ; l = f . domain ( ) [ d3 . bisect ( f . range ( ) , a ) - 1 ] } else l = f . invert ( a ) ; g . elementMousemove ( { mouseX : a , mouseY : d , pointXValue : l } ) , "dblclick" === d3 . event . type && g . elementDblclick ( { mouseX : a , mouseY : d , pointXValue : l } ) , "click" === d3 . event . type && g . elementClick ( { mouseX : a , mouseY : d , pointXValue : l } ) , "mousedown" === d3 . event . type && g . elementMouseDown ( { mouseX : a , mouseY : d , pointXValue : l } ) , "mouseup" === d3 . event . type && g . elementMouseUp ( { mouseX : a , mouseY : d , pointXValue : l } ) } var n = d3 . select ( this ) , o = d || 960 , p = e || 400 , q = n . selectAll ( "g.nv-wrap.nv-interactiveLineLayer" ) . data ( [ l ] ) , r = q . enter ( ) . append ( "g" ) . attr ( "class" , " nv-wrap nv-interactiveLineLayer" ) ; r . append ( "g" ) . attr ( "class" , "nv-interactiveGuideLine" ) , i && ( i . on ( "touchmove" , m ) . on ( "mousemove" , m , ! 0 ) . on ( "mouseout" , m , ! 0 ) . on ( "mousedown" , m , ! 0 ) . on ( "mouseup" , m , ! 0 ) . on ( "dblclick" , m ) . on ( "click" , m ) , b . guideLine = null , b . renderGuideLine = function ( c ) { h && ( b . guideLine && b . guideLine . attr ( "x1" ) === c || a . dom . write ( function ( ) { var b = q . select ( " . nv - int
k = a } } , maxBoxWidth : { get : function ( ) { return D } , set : function ( a ) { D = a } } , x : { get : function ( ) { return o } , set : function ( a ) { o = a } } , q1 : { get : function ( ) { return p } , set : function ( a ) { p = a } } , q2 : { get : function ( ) { return q } , set : function ( a ) { q = a } } , q3 : { get : function ( ) { return r } , set : function ( a ) { r = a } } , wl : { get : function ( ) { return s } , set : function ( a ) { s = a } } , wh : { get : function ( ) { return t } , set : function ( a ) { t = a } } , itemColor : { get : function ( ) { return u } , set : function ( a ) { u = a } } , outliers : { get : function ( ) { return v } , set : function ( a ) { v = a } } , outlierValue : { get : function ( ) { return w } , set : function ( a ) { w = a } } , outlierLabel : { get : function ( ) { return x } , set : function ( a ) { x = a } } , outlierColor : { get : function ( ) { return y } , set : function ( a ) { y = a } } , xScale : { get : function ( ) { return m } , set : function ( a ) { m = a } } , yScale : { get : function ( ) { return n } , set : function ( a ) { n = a } } , xDomain : { get : function ( ) { return c } , set : function ( a ) { c = a } } , yDomain : { get : function ( ) { return e } , set : function ( a ) { e = a } } , xRange : { get : function ( ) { return d } , set : function ( a ) { d = a } } , yRange : { get : function ( ) { return f } , set : function ( a ) { f = a } } , id : { get : function ( ) { return l } , set : function ( a ) { l = a } } , y : { get : function ( ) { return console . warn ( "BoxPlot 'y' chart option is deprecated. Please use model overrides instead." ) , { } } , set : function ( a ) { console . warn ( "BoxPlot 'y' chart option is deprecated. Please use model overrides instead." ) } } , margin : { get : function ( ) { return i } , set : function ( a ) { i . top = void 0 !== a . top ? a . top : i . top , i . right = void 0 !== a . right ? a . right : i . right , i . bottom = void 0 !== a . bottom ? a . bottom : i . bottom , i . left = void 0 !== a . left ? a . left : i . left } } , color : { get : function ( ) { return z } , set : function ( b ) { z = a . utils . getColor ( b ) } } , duration : { get : function ( ) { return C } , set : function ( a ) { C = a , E . reset ( C ) } } } ) , a . utils . initOptions ( b ) , b } , a . models . boxPlotChart = function ( ) { "use strict" ; function b ( k ) { return t . reset ( ) , t . models ( e ) , l && t . models ( f ) , m && t . models ( g ) , k . each ( function ( k ) { var p = d3 . select ( this ) ; a . utils . initSVG ( p ) ; var t = ( i || parseInt ( p . style ( "width" ) ) || 960 ) - h . left - h . right , u = ( j || parseInt ( p . style ( "height" ) ) || 400 ) - h . top - h . bottom ; if ( b . update = function ( ) { r . beforeUpdate ( ) , p . transition ( ) . duration ( s ) . call ( b ) } , b . container = this , ! k || ! k . length ) { var v = p . selectAll ( ".nv-noData" ) . data ( [ q ] ) ; return v . enter ( ) . append ( "text" ) . attr ( "class" , "nvd3 nv-noData" ) . attr ( "dy" , "-.7em" ) . style ( "text-anchor" , "middle" ) , v . attr ( "x" , h . left + t / 2 ) . attr ( "y" , h . top + u / 2 ) . text ( function ( a ) { return a } ) , b } p . selectAll ( ".nv-noData" ) . remove ( ) , c = e . xScale ( ) , d = e . yScale ( ) . clamp ( ! 0 ) ; var w = p . selectAll ( "g.nv-wrap.nv-boxPlotWithAxes" ) . data ( [ k ] ) , x = w . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-wrap nv-boxPlotWithAxes" ) . append ( "g" ) , y = x . append ( "defs" ) , z = w . select ( "g" ) ; x . append ( "g" ) . attr ( "class" , "nv-x nv-axis" ) , x . append ( "g" ) . attr ( "class" , "nv-y nv-axis" ) . append ( "g" ) . attr ( "class" , "nv-zeroLine" ) . append ( "line" ) , x . append ( "g" ) . attr ( "class" , "nv-barsWrap" ) , z . attr ( "transform" , "translate(" + h . left + "," + h . top + ")" ) , n && z . select ( ".nv-y.nv-axis" ) . attr ( "transform" , "translate(" + t + ",0)" ) , e . width ( t ) . height ( u ) ; var A = z . select ( ".nv-barsWrap" ) . datum ( k . filter ( function ( a ) { return ! a . disabled } ) ) ; if ( A . transition ( ) . call ( e ) , y . append ( "clipPath" ) . attr ( "id" , "nv-x-label-clip-" + e . id ( ) ) . append ( "rect" ) , z . select ( "#nv-x-label-clip-" + e . id ( ) + " rect" ) . attr ( "width" , c . rangeBand ( ) * ( o ? 2 : 1 ) ) . attr ( "height" , 16 ) . attr ( "x" , - c . rangeBand ( ) / ( o ? 1 : 2 ) ) , l ) { f . scale ( c ) . ticks ( a . utils . calcTicksX ( t / 100 , k ) ) . tickSize ( - u , 0 ) , z . select ( ".nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + d . range ( ) [ 0 ] + ")" ) , z . select ( ".nv-x.nv-axis" ) . call ( f ) ; var B = z . select ( ".nv-x.nv-axis" ) . selectAll ( "g" ) ; o && B . selectAll ( "text" ) . attr ( "transform" , function ( a , b , c ) { return "translate(0," + ( c % 2 === 0 ? "5" : "17" ) + ")" } ) } m && ( g . scale ( d ) . ticks ( Math . floor ( u / 36 ) ) . tickSize ( - t , 0 ) , z . select ( ".nv-y.nv-axis" ) . call ( g ) ) , z . select ( ".nv-zeroLine line" ) . attr ( "x1" , 0 ) . attr ( "x2" , t ) . attr ( "y1" , d ( 0 ) ) . attr ( "y2" , d ( 0 ) ) } ) , t . renderEnd ( "nv-boxplot chart immediate" ) , b } var c , d , e = a . models . boxPlot ( ) , f = a . models . axis ( ) , g = a . models . axis ( ) , h = { top : 15 , right : 10 , bottom : 50 , left : 60 } , i = null , j = null , k = a . utils . getColor ( ) , l = ! 0 , m = ! 0 , n = ! 1 , o = ! 1 , p = a . models . tooltip ( ) , q = "No Data Available." , r = d3 . dispatch ( "beforeUpdate" , "renderEnd" ) , s = 250 ; f . orient ( "bottom" ) . showMaxMin ( ! 1 ) . tickFormat ( function ( a ) { return a } ) , g . orient ( n ? "right" : "left" ) . tickFormat ( d3 . format ( ",.1f" ) ) , p . d
return a . x } , q = function ( a ) { return a . y } , r = [ 0 ] , s = a . utils . defaultColor ( ) , t = ! 1 , u = d3 . format ( ",.2f" ) , v = d3 . dispatch ( "chartClick" , "elementClick" , "elementDblClick" , "elementMouseover" , "elementMouseout" , "elementMousemove" , "renderEnd" ) , w = "discreteBar" , x = 250 , y = a . utils . renderWatch ( v , x ) ; return b . dispatch = v , b . options = a . utils . optionsFunc . bind ( b ) , b . _options = Object . create ( { } , { width : { get : function ( ) { return k } , set : function ( a ) { k = a } } , height : { get : function ( ) { return l } , set : function ( a ) { l = a } } , forceY : { get : function ( ) { return r } , set : function ( a ) { r = a } } , showValues : { get : function ( ) { return t } , set : function ( a ) { t = a } } , x : { get : function ( ) { return p } , set : function ( a ) { p = a } } , y : { get : function ( ) { return q } , set : function ( a ) { q = a } } , xScale : { get : function ( ) { return n } , set : function ( a ) { n = a } } , yScale : { get : function ( ) { return o } , set : function ( a ) { o = a } } , xDomain : { get : function ( ) { return d } , set : function ( a ) { d = a } } , yDomain : { get : function ( ) { return e } , set : function ( a ) { e = a } } , xRange : { get : function ( ) { return f } , set : function ( a ) { f = a } } , yRange : { get : function ( ) { return g } , set : function ( a ) { g = a } } , valueFormat : { get : function ( ) { return u } , set : function ( a ) { u = a } } , id : { get : function ( ) { return m } , set : function ( a ) { m = a } } , rectClass : { get : function ( ) { return w } , set : function ( a ) { w = a } } , margin : { get : function ( ) { return j } , set : function ( a ) { j . top = void 0 !== a . top ? a . top : j . top , j . right = void 0 !== a . right ? a . right : j . right , j . bottom = void 0 !== a . bottom ? a . bottom : j . bottom , j . left = void 0 !== a . left ? a . left : j . left } } , color : { get : function ( ) { return s } , set : function ( b ) { s = a . utils . getColor ( b ) } } , duration : { get : function ( ) { return x } , set : function ( a ) { x = a , y . reset ( x ) } } } ) , a . utils . initOptions ( b ) , b } , a . models . discreteBarChart = function ( ) { "use strict" ; function b ( i ) { return y . reset ( ) , y . models ( e ) , p && y . models ( f ) , q && y . models ( g ) , i . each ( function ( i ) { var n = d3 . select ( this ) ; a . utils . initSVG ( n ) ; var v = a . utils . availableWidth ( l , n , j ) , y = a . utils . availableHeight ( m , n , j ) ; if ( b . update = function ( ) { w . beforeUpdate ( ) , n . transition ( ) . duration ( x ) . call ( b ) } , b . container = this , ! ( i && i . length && i . filter ( function ( a ) { return a . values . length } ) . length ) ) return a . utils . noData ( b , n ) , b ; n . selectAll ( ".nv-noData" ) . remove ( ) , c = e . xScale ( ) , d = e . yScale ( ) . clamp ( ! 0 ) ; var z = n . selectAll ( "g.nv-wrap.nv-discreteBarWithAxes" ) . data ( [ i ] ) , A = z . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-wrap nv-discreteBarWithAxes" ) . append ( "g" ) , B = A . append ( "defs" ) , C = z . select ( "g" ) ; A . append ( "g" ) . attr ( "class" , "nv-x nv-axis" ) , A . append ( "g" ) . attr ( "class" , "nv-y nv-axis" ) . append ( "g" ) . attr ( "class" , "nv-zeroLine" ) . append ( "line" ) , A . append ( "g" ) . attr ( "class" , "nv-barsWrap" ) , A . append ( "g" ) . attr ( "class" , "nv-legendWrap" ) , C . attr ( "transform" , "translate(" + j . left + "," + j . top + ")" ) , o ? ( h . width ( v ) , C . select ( ".nv-legendWrap" ) . datum ( i ) . call ( h ) , k || h . height ( ) === j . top || ( j . top = h . height ( ) , y = a . utils . availableHeight ( m , n , j ) ) , z . select ( ".nv-legendWrap" ) . attr ( "transform" , "translate(0," + - j . top + ")" ) ) : C . select ( ".nv-legendWrap" ) . selectAll ( "*" ) . remove ( ) , r && C . select ( ".nv-y.nv-axis" ) . attr ( "transform" , "translate(" + v + ",0)" ) , e . width ( v ) . height ( y ) ; var D = C . select ( ".nv-barsWrap" ) . datum ( i . filter ( function ( a ) { return ! a . disabled } ) ) ; if ( D . transition ( ) . call ( e ) , B . append ( "clipPath" ) . attr ( "id" , "nv-x-label-clip-" + e . id ( ) ) . append ( "rect" ) , C . select ( "#nv-x-label-clip-" + e . id ( ) + " rect" ) . attr ( "width" , c . rangeBand ( ) * ( s ? 2 : 1 ) ) . attr ( "height" , 16 ) . attr ( "x" , - c . rangeBand ( ) / ( s ? 1 : 2 ) ) , p ) { f . scale ( c ) . _ticks ( a . utils . calcTicksX ( v / 100 , i ) ) . tickSize ( - y , 0 ) , C . select ( ".nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + ( d . range ( ) [ 0 ] + ( e . showValues ( ) && d . domain ( ) [ 0 ] < 0 ? 16 : 0 ) ) + ")" ) , C . select ( ".nv-x.nv-axis" ) . call ( f ) ; var E = C . select ( ".nv-x.nv-axis" ) . selectAll ( "g" ) ; s && E . selectAll ( "text" ) . attr ( "transform" , function ( a , b , c ) { return "translate(0," + ( c % 2 == 0 ? "5" : "17" ) + ")" } ) , u && E . selectAll ( ".tick text" ) . attr ( "transform" , "rotate(" + u + " 0,0)" ) . style ( "text-anchor" , u > 0 ? "start" : "end" ) , t && C . selectAll ( ".tick text" ) . call ( a . utils . wrapTicks , b . xAxis . rangeBand ( ) ) } q && ( g . scale ( d ) . _ticks ( a . utils . calcTicksY ( y / 36 , i ) ) . tickSize ( - v , 0 ) , C . select ( ".nv-y.nv-axis" ) . call ( g ) ) , C . select ( ".nv-zeroLine line" ) . attr ( "x1" , 0 ) . attr ( "x2" , r ? - v : v ) . attr ( "y1" , d ( 0 ) ) . attr ( "y2" , d ( 0 ) ) } ) , y . renderEnd ( "discreteBar chart immediate" ) , b } var c , d , e = a . models . discreteBar ( ) , f = a . models . axis ( ) , g = a . models . axis ( ) , h = a . models . legend ( ) , i = a . models . tooltip ( ) , j = { top :
} ) , b } , a . models . candlestickBarChart = function ( ) { var b = a . models . historicalBarChart ( a . models . candlestickBar ( ) ) ; return b . useInteractiveGuideline ( ! 0 ) , b . interactiveLayer . tooltip . contentGenerator ( function ( a ) { var c = a . series [ 0 ] . data , d = c . open < c . close ? "2ca02c" : "d62728" ; return '<h3 style="color: #' + d + '">' + a . value + "</h3><table><tr><td>open:</td><td>" + b . yAxis . tickFormat ( ) ( c . open ) + "</td></tr><tr><td>close:</td><td>" + b . yAxis . tickFormat ( ) ( c . close ) + "</td></tr><tr><td>high</td><td>" + b . yAxis . tickFormat ( ) ( c . high ) + "</td></tr><tr><td>low:</td><td>" + b . yAxis . tickFormat ( ) ( c . low ) + "</td></tr></table>" } ) , b } , a . models . legend = function ( ) { "use strict" ; function b ( s ) { function t ( a , b ) { return "furious" != r ? "#000" : p ? a . disengaged ? "#000" : "#fff" : p ? void 0 : ( a . color || ( a . color = h ( a , b ) ) , a . disabled ? a . color : "#fff" ) } function u ( a , b ) { return p && "furious" == r && a . disengaged ? "#eee" : a . color || h ( a , b ) } function v ( a , b ) { return p && "furious" == r ? 1 : a . disabled ? 0 : 1 } return s . each ( function ( b ) { var h = d - c . left - c . right , s = d3 . select ( this ) ; a . utils . initSVG ( s ) ; var w = s . selectAll ( "g.nv-legend" ) . data ( [ b ] ) , x = w . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-legend" ) . append ( "g" ) , y = w . select ( "g" ) ; l ? w . attr ( "transform" , "translate(" + - c . right + "," + c . top + ")" ) : w . attr ( "transform" , "translate(" + c . left + "," + c . top + ")" ) ; var z , A , B = y . selectAll ( ".nv-series" ) . data ( function ( a ) { return "furious" != r ? a : a . filter ( function ( a ) { return p ? ! 0 : ! a . disengaged } ) } ) , C = B . enter ( ) . append ( "g" ) . attr ( "class" , "nv-series" ) ; switch ( r ) { case "furious" : A = 23 ; break ; case "classic" : A = 20 } if ( "classic" == r ) C . append ( "circle" ) . style ( "stroke-width" , 2 ) . attr ( "class" , "nv-legend-symbol" ) . attr ( "r" , 5 ) , z = B . select ( ".nv-legend-symbol" ) ; else if ( "furious" == r ) { C . append ( "rect" ) . style ( "stroke-width" , 2 ) . attr ( "class" , "nv-legend-symbol" ) . attr ( "rx" , 3 ) . attr ( "ry" , 3 ) , z = B . select ( ".nv-legend-symbol" ) , C . append ( "g" ) . attr ( "class" , "nv-check-box" ) . property ( "innerHTML" , '<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>' ) . attr ( "transform" , "translate(-10,-8)scale(0.5)" ) ; var D = B . select ( ".nv-check-box" ) ; D . each ( function ( a , b ) { d3 . select ( this ) . selectAll ( "path" ) . attr ( "stroke" , t ( a , b ) ) } ) } C . append ( "text" ) . attr ( "text-anchor" , "start" ) . attr ( "class" , "nv-legend-text" ) . attr ( "dy" , ".32em" ) . attr ( "dx" , "8" ) ; var E = B . select ( "text.nv-legend-text" ) ; B . on ( "mouseover" , function ( a , b ) { q . legendMouseover ( a , b ) } ) . on ( "mouseout" , function ( a , b ) { q . legendMouseout ( a , b ) } ) . on ( "click" , function ( a , b ) { q . legendClick ( a , b ) ; var c = B . data ( ) ; if ( m ) { if ( "classic" == r ) o ? ( c . forEach ( function ( a ) { a . disabled = ! 0 } ) , a . disabled = ! 1 ) : ( a . disabled = ! a . disabled , c . every ( function ( a ) { return a . disabled } ) && c . forEach ( function ( a ) { a . disabled = ! 1 } ) ) ; else if ( "furious" == r ) if ( p ) a . disengaged = ! a . disengaged , a . userDisabled = void 0 == a . userDisabled ? ! ! a . disabled : a . userDisabled , a . disabled = a . disengaged || a . userDisabled ; else if ( ! p ) { a . disabled = ! a . disabled , a . userDisabled = a . disabled ; var d = c . filter ( function ( a ) { return ! a . disengaged } ) ; d . every ( function ( a ) { return a . userDisabled } ) && c . forEach ( function ( a ) { a . disabled = a . userDisabled = ! 1 } ) } q . stateChange ( { disabled : c . map ( function ( a ) { return ! ! a . disabled } ) , disengaged : c . map ( function ( a ) { return ! ! a . disengaged } ) } ) } } ) . on ( "dblclick" , function ( a , b ) { if ( n ) { if ( "furious" == r && p ) return ; if ( q . legendDblclick ( a , b ) , m ) { var c = B . data ( ) ; c . forEach ( function ( a ) { a . disabled = ! 0 , "furious" == r && ( a . userDisabled = a . disabled ) } ) , a . disabled = ! 1 , "furious" == r && ( a . userDisabled = a . disabled ) , q . stateChange ( { disabled : c . map ( function ( a ) { return ! ! a . disabled } ) } ) } } } ) , B . classed ( "nv-disabled" , function ( a ) { return a . userDisabled } ) , B . exit ( ) . remove ( ) , E . attr ( "fill" , t ) . text ( function ( a ) { return g ( f ( a ) ) } ) ; var F = 0 ; if ( j ) { var G = [ ] ; B . each ( function ( b , c ) { var d ; if ( g ( f ( b ) ) && g ( f ( b ) ) . length > i ) { var e = g ( f ( b ) ) . substring ( 0 , i ) ; d = d3 . select ( this ) . select ( "text" ) . text ( e + "..." ) , d3 . select ( this ) . append ( "svg:title" ) . text ( g ( f ( b ) ) ) } else d = d3 . select ( this ) . select ( "text" ) ; var h ; try { if ( h = d . node ( ) . getComputedTextLength ( ) , 0 >= h ) throw Error ( ) } catch ( j ) { h = a . utils . calcApproxTextWidth ( d ) } G . push ( h + k ) } ) ; var H = 0 , I = [ ] ; for ( F = 0 ; h > F && H < G . length ; ) I [ H ] = G [ H ] , F += G [ H ++ ] ; for ( 0 === H && ( H = 1 ) ; F > h && H > 1 ; ) { I = [ ] , H -- ; for ( var J = 0 ; J < G . length ; J ++ ) G [ J ] > ( I [ J % H ] || 0 ) && ( I [ J % H ] = G [ J ] ) ; F = I . reduce ( fu
K . select ( "#nv-edge-clip-" + o + " rect" ) . attr ( "width" , F ) . attr ( "height" , G ) , O . attr ( "clip-path" , t ? "url(#nv-edge-clip-" + o + ")" : "" ) ; var P = K . select ( ".nv-groups" ) . selectAll ( ".nv-group" ) . data ( function ( a ) { return a } , function ( a , b ) { return b } ) ; P . enter ( ) . append ( "g" ) . style ( "stroke-opacity" , 1e-6 ) . style ( "fill-opacity" , 1e-6 ) ; var Q = D . transition ( P . exit ( ) . selectAll ( "rect.nv-bar" ) , "multibarExit" , Math . min ( 100 , z ) ) . attr ( "y" , function ( a , c , d ) { var e = i ( 0 ) || 0 ; return u && b [ a . series ] && ! b [ a . series ] . nonStackable && ( e = i ( a . y0 ) ) , e } ) . attr ( "height" , 0 ) . remove ( ) ; Q . delay && Q . delay ( function ( a , b ) { var c = b * ( z / ( E + 1 ) ) - b ; return c } ) , P . attr ( "class" , function ( a , b ) { return "nv-group nv-series-" + b } ) . classed ( "hover" , function ( a ) { return a . hover } ) . style ( "fill" , function ( a , b ) { return w ( a , b ) } ) . style ( "stroke" , function ( a , b ) { return w ( a , b ) } ) , P . style ( "stroke-opacity" , 1 ) . style ( "fill-opacity" , B ) ; var R = P . selectAll ( "rect.nv-bar" ) . data ( function ( a ) { return x && ! b . length ? x . values : a . values } ) ; R . exit ( ) . remove ( ) ; R . enter ( ) . append ( "rect" ) . attr ( "class" , function ( a , b ) { return r ( a , b ) < 0 ? "nv-bar negative" : "nv-bar positive" } ) . attr ( "x" , function ( a , c , d ) { return u && ! b [ d ] . nonStackable ? 0 : d * m . rangeBand ( ) / b . length } ) . attr ( "y" , function ( a , c , d ) { return i ( u && ! b [ d ] . nonStackable ? a . y0 : 0 ) || 0 } ) . attr ( "height" , 0 ) . attr ( "width" , function ( a , c , d ) { return m . rangeBand ( ) / ( u && ! b [ d ] . nonStackable ? 1 : b . length ) } ) . attr ( "transform" , function ( a , b ) { return "translate(" + m ( q ( a , b ) ) + ",0)" } ) ; R . style ( "fill" , function ( a , b , c ) { return w ( a , c , b ) } ) . style ( "stroke" , function ( a , b , c ) { return w ( a , c , b ) } ) . on ( "mouseover" , function ( a , c , d ) { d3 . select ( this ) . classed ( "hover" , ! 0 ) , C . elementMouseover ( { data : a , index : c , series : b [ d ] , color : d3 . select ( this ) . style ( "fill" ) } ) } ) . on ( "mouseout" , function ( a , c , d ) { d3 . select ( this ) . classed ( "hover" , ! 1 ) , C . elementMouseout ( { data : a , index : c , series : b [ d ] , color : d3 . select ( this ) . style ( "fill" ) } ) } ) . on ( "mousemove" , function ( a , c , d ) { C . elementMousemove ( { data : a , index : c , series : b [ d ] , color : d3 . select ( this ) . style ( "fill" ) } ) } ) . on ( "click" , function ( a , c , d ) { var e = this ; C . elementClick ( { data : a , index : c , series : b [ d ] , color : d3 . select ( this ) . style ( "fill" ) , event : d3 . event , element : e } ) , d3 . event . stopPropagation ( ) } ) . on ( "dblclick" , function ( a , c , d ) { C . elementDblClick ( { data : a , index : c , series : b [ d ] , color : d3 . select ( this ) . style ( "fill" ) } ) , d3 . event . stopPropagation ( ) } ) , R . attr ( "class" , function ( a , b ) { return r ( a , b ) < 0 ? "nv-bar negative" : "nv-bar positive" } ) . attr ( "transform" , function ( a , b ) { return "translate(" + m ( q ( a , b ) ) + ",0)" } ) , y && ( c || ( c = b . map ( function ( ) { return ! 0 } ) ) , R . style ( "fill" , function ( a , b , d ) { return d3 . rgb ( y ( a , b ) ) . darker ( c . map ( function ( a , b ) { return b } ) . filter ( function ( a , b ) { return ! c [ b ] } ) [ d ] ) . toString ( ) } ) . style ( "stroke" , function ( a , b , d ) { return d3 . rgb ( y ( a , b ) ) . darker ( c . map ( function ( a , b ) { return b } ) . filter ( function ( a , b ) { return ! c [ b ] } ) [ d ] ) . toString ( ) } ) ) ; var S = R . watchTransition ( D , "multibar" , Math . min ( 250 , z ) ) . delay ( function ( a , c ) { return c * z / b [ 0 ] . values . length } ) ; u ? S . attr ( "y" , function ( a , c , d ) { var e = 0 ; return e = b [ d ] . nonStackable ? r ( a , c ) < 0 ? n ( 0 ) : n ( 0 ) - n ( r ( a , c ) ) < - 1 ? n ( 0 ) - 1 : n ( r ( a , c ) ) || 0 : n ( a . y1 ) } ) . attr ( "height" , function ( a , c , d ) { return b [ d ] . nonStackable ? Math . max ( Math . abs ( n ( r ( a , c ) ) - n ( 0 ) ) , 0 ) || 0 : Math . max ( Math . abs ( n ( a . y + a . y0 ) - n ( a . y0 ) ) , 0 ) } ) . attr ( "x" , function ( a , c , d ) { var e = 0 ; return b [ d ] . nonStackable && ( e = a . series * m . rangeBand ( ) / b . length , b . length !== H && ( e = b [ d ] . nonStackableSeries * m . rangeBand ( ) / ( 2 * H ) ) ) , e } ) . attr ( "width" , function ( a , c , d ) { if ( b [ d ] . nonStackable ) { var e = m . rangeBand ( ) / H ; return b . length !== H && ( e = m . rangeBand ( ) / ( 2 * H ) ) , e } return m . rangeBand ( ) } ) : S . attr ( "x" , function ( a , c ) { return a . series * m . rangeBand ( ) / b . length } ) . attr ( "width" , m . rangeBand ( ) / b . length ) . attr ( "y" , function ( a , b ) { return r ( a , b ) < 0 ? n ( 0 ) : n ( 0 ) - n ( r ( a , b ) ) < 1 ? n ( 0 ) - 1 : n ( r ( a , b ) ) || 0 } ) . attr ( "height" , function ( a , b ) { return Math . max ( Math . abs ( n ( r ( a , b ) ) - n ( 0 ) ) , 1 ) || 0 } ) , h = m . copy ( ) , i = n . copy ( ) , b [ 0 ] && b [ 0 ] . values && ( E = b [ 0 ] . values . length ) } ) , D . renderEnd ( "multibar immediate" ) , b } var c , d , e , f , g , h , i , j = { top : 0 , right : 0 , bottom : 0 , left : 0 } , k = 960 , l = 500 , m = d3 . scale . ordinal ( ) , n = d3 . scale . linear ( ) , o = Math . floor ( 1e4 * Math . random ( ) ) , p = null , q = function ( a ) { return a . x } , r = function ( a ) { return a . y } , s = [ 0 ] , t = ! 0 , u = ! 1 , v = "zero" , w = a . utils . defaultColor ( ) , x = ! 1 , y = null , z = 500 , A = . 1 , B = . 75 , C = d3 . dispatch ( "chartClick" , "elementClick" , "elementDblClick" , "elementMouseover" , "elementMouseout" , " e
return ! k [ b ] . disabled && 2 == k [ b ] . yAxis && "area" == k [ b ] . type } ) ) , ba . attr ( "transform" , "translate(" + e . left + "," + e . top + ")" ) ; var fa = ba . select ( ".lines1Wrap" ) . datum ( R . filter ( function ( a ) { return ! a . disabled } ) ) , ga = ba . select ( ".scatters1Wrap" ) . datum ( T . filter ( function ( a ) { return ! a . disabled } ) ) , ha = ba . select ( ".bars1Wrap" ) . datum ( V . filter ( function ( a ) { return ! a . disabled } ) ) , ia = ba . select ( ".stack1Wrap" ) . datum ( X . filter ( function ( a ) { return ! a . disabled } ) ) , ja = ba . select ( ".lines2Wrap" ) . datum ( S . filter ( function ( a ) { return ! a . disabled } ) ) , ka = ba . select ( ".scatters2Wrap" ) . datum ( U . filter ( function ( a ) { return ! a . disabled } ) ) , la = ba . select ( ".bars2Wrap" ) . datum ( W . filter ( function ( a ) { return ! a . disabled } ) ) , ma = ba . select ( ".stack2Wrap" ) . datum ( Y . filter ( function ( a ) { return ! a . disabled } ) ) , na = [ ] ; if ( A . stacked ( ) && V . length ) { var na = V . filter ( function ( a ) { return ! a . disabled } ) . map ( function ( a ) { return a . values } ) ; na . length > 0 && ( na = na . reduce ( function ( a , b ) { return a . map ( function ( a , c ) { return { x : a . x , y : a . y + b [ c ] . y } } ) } ) ) } V . length && na . push ( { x : 0 , y : 0 } ) ; var oa = [ ] ; if ( B . stacked ( ) && W . length ) { var oa = W . filter ( function ( a ) { return ! a . disabled } ) . map ( function ( a ) { return a . values } ) ; oa . length > 0 && ( oa = oa . reduce ( function ( a , b ) { return a . map ( function ( a , c ) { return { x : a . x , y : a . y + b [ c ] . y } } ) } ) ) } W . length && oa . push ( { x : 0 , y : 0 } ) , u . domain ( c || d3 . extent ( d3 . merge ( Z ) . concat ( na ) , function ( a ) { return a . y } ) ) . range ( [ 0 , Q ] ) , v . domain ( d || d3 . extent ( d3 . merge ( $ ) . concat ( oa ) , function ( a ) { return a . y } ) ) . range ( [ 0 , Q ] ) , w . yDomain ( u . domain ( ) ) , y . yDomain ( u . domain ( ) ) , A . yDomain ( u . domain ( ) ) , C . yDomain ( u . domain ( ) ) , x . yDomain ( v . domain ( ) ) , z . yDomain ( v . domain ( ) ) , B . yDomain ( v . domain ( ) ) , D . yDomain ( v . domain ( ) ) , X . length && d3 . transition ( ia ) . call ( C ) , Y . length && d3 . transition ( ma ) . call ( D ) , V . length && d3 . transition ( ha ) . call ( A ) , W . length && d3 . transition ( la ) . call ( B ) , R . length && d3 . transition ( fa ) . call ( w ) , S . length && d3 . transition ( ja ) . call ( x ) , T . length && d3 . transition ( ga ) . call ( y ) , U . length && d3 . transition ( ka ) . call ( z ) , E . _ticks ( a . utils . calcTicksX ( P / 100 , k ) ) . tickSize ( - Q , 0 ) , ba . select ( ".nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + Q + ")" ) , d3 . transition ( ba . select ( ".nv-x.nv-axis" ) ) . call ( E ) , F . _ticks ( a . utils . calcTicksY ( Q / 36 , k ) ) . tickSize ( - P , 0 ) , d3 . transition ( ba . select ( ".nv-y1.nv-axis" ) ) . call ( F ) , G . _ticks ( a . utils . calcTicksY ( Q / 36 , k ) ) . tickSize ( - P , 0 ) , d3 . transition ( ba . select ( ".nv-y2.nv-axis" ) ) . call ( G ) , ba . select ( ".nv-y1.nv-axis" ) . classed ( "nv-disabled" , Z . length ? ! 1 : ! 0 ) . attr ( "transform" , "translate(" + t . range ( ) [ 0 ] + ",0)" ) , ba . select ( ".nv-y2.nv-axis" ) . classed ( "nv-disabled" , $ . length ? ! 1 : ! 0 ) . attr ( "transform" , "translate(" + t . range ( ) [ 1 ] + ",0)" ) , H . dispatch . on ( "stateChange" , function ( a ) { b . update ( ) } ) , q && ( p . width ( P ) . height ( Q ) . margin ( { left : e . left , top : e . top } ) . svgContainer ( O ) . xScale ( t ) , _ . select ( ".nv-interactive" ) . call ( p ) ) , q ? ( p . dispatch . on ( "elementMousemove" , function ( c ) { M ( ) ; var d , e , f , h = [ ] ; k . filter ( function ( a , b ) { return a . seriesIndex = b , ! a . disabled } ) . forEach ( function ( i , j ) { var k = t . domain ( ) , l = i . values . filter ( function ( a , c ) { return b . x ( ) ( a , c ) >= k [ 0 ] && b . x ( ) ( a , c ) <= k [ 1 ] } ) ; e = a . interactiveBisect ( l , c . pointXValue , b . x ( ) ) ; var m = l [ e ] , n = b . y ( ) ( m , e ) ; null !== n && N ( j , e , ! 0 ) , void 0 !== m && ( void 0 === d && ( d = m ) , void 0 === f && ( f = t ( b . x ( ) ( m , e ) ) ) , h . push ( { key : i . key , value : n , color : g ( i , i . seriesIndex ) , data : m , yAxis : 2 == i . yAxis ? G : F } ) ) } ) ; var i = function ( a , b ) { var c = h [ b ] . yAxis ; return null == a ? "N/A" : c . tickFormat ( ) ( a ) } ; p . tooltip . headerFormatter ( function ( a , b ) { return E . tickFormat ( ) ( a , b ) } ) . valueFormatter ( p . tooltip . valueFormatter ( ) || i ) . data ( { value : b . x ( ) ( d , e ) , index : e , series : h } ) ( ) , p . renderGuideLine ( f ) } ) , p . dispatch . on ( "elementMouseout" , function ( a ) { M ( ) } ) ) : ( w . dispatch . on ( "elementMouseover.tooltip" , o ) , x . dispatch . on ( "elementMouseover.tooltip" , o ) , w . dispatch . on ( "elementMouseout.tooltip" , function ( a ) { I . hidden ( ! 0 ) } ) , x . dispatch . on ( "elementMouseout.tooltip" , function ( a ) { I . hidden ( ! 0 ) } ) , y . dispatch . on ( "elementMouseover.tooltip" , s ) , z . dispatch . on ( "elementMouseover.tooltip" , s ) , y . dispatch . on ( "elementMouseout.tooltip" , function ( a ) { I . hidden ( ! 0 ) } ) , z . dispatch . on ( "elementMouseout.tooltip" , function ( a ) { I . hidden ( ! 0 ) } ) , C . dispatch . on ( "elementMouseover.tooltip" , J ) , D . dispatch . on ( "elementMouseover.tooltip" , J ) , C . dispatch . on ( "elementMouseout.tooltip" , function ( a ) { I . hidden ( ! 0 ) } ) , D . dispatch . on ( "elementMouseout.tooltip" , function ( a ) { I . hidden ( ! 0 ) } ) , A . dispatch .
return p } , set : function ( a ) { p = a } } , valueFormat : { get : function ( ) { return k } , set : function ( a ) { k = a } } , x : { get : function ( ) { return f } , set : function ( a ) { f = a } } , id : { get : function ( ) { return h } , set : function ( a ) { h = a } } , endAngle : { get : function ( ) { return x } , set : function ( a ) { x = a } } , startAngle : { get : function ( ) { return v } , set : function ( a ) { v = a } } , padAngle : { get : function ( ) { return w } , set : function ( a ) { w = a } } , cornerRadius : { get : function ( ) { return y } , set : function ( a ) { y = a } } , donutRatio : { get : function ( ) { return z } , set : function ( a ) { z = a } } , labelsOutside : { get : function ( ) { return m } , set : function ( a ) { m = a } } , labelSunbeamLayout : { get : function ( ) { return u } , set : function ( a ) { u = a } } , donut : { get : function ( ) { return q } , set : function ( a ) { q = a } } , growOnHover : { get : function ( ) { return s } , set : function ( a ) { s = a } } , pieLabelsOutside : { get : function ( ) { return m } , set : function ( b ) { m = b , a . deprecated ( "pieLabelsOutside" , "use labelsOutside instead" ) } } , donutLabelsOutside : { get : function ( ) { return m } , set : function ( b ) { m = b , a . deprecated ( "donutLabelsOutside" , "use labelsOutside instead" ) } } , labelFormat : { get : function ( ) { return k } , set : function ( b ) { k = b , a . deprecated ( "labelFormat" , "use valueFormat instead" ) } } , margin : { get : function ( ) { return c } , set : function ( a ) { c . top = "undefined" != typeof a . top ? a . top : c . top , c . right = "undefined" != typeof a . right ? a . right : c . right , c . bottom = "undefined" != typeof a . bottom ? a . bottom : c . bottom , c . left = "undefined" != typeof a . left ? a . left : c . left } } , duration : { get : function ( ) { return A } , set : function ( a ) { A = a , F . reset ( A ) } } , y : { get : function ( ) { return g } , set : function ( a ) { g = d3 . functor ( a ) } } , color : { get : function ( ) { return j } , set : function ( b ) { j = a . utils . getColor ( b ) } } , labelType : { get : function ( ) { return n } , set : function ( a ) { n = a || "key" } } } ) , a . utils . initOptions ( b ) , b } , a . models . pieChart = function ( ) { "use strict" ; function b ( e ) { return s . reset ( ) , s . models ( c ) , e . each ( function ( e ) { var j = d3 . select ( this ) ; a . utils . initSVG ( j ) ; var m = a . utils . availableWidth ( h , j , f ) , p = a . utils . availableHeight ( i , j , f ) ; if ( b . update = function ( ) { j . transition ( ) . call ( b ) } , b . container = this , n . setter ( u ( e ) , b . update ) . getter ( t ( e ) ) . update ( ) , n . disabled = e . map ( function ( a ) { return ! ! a . disabled } ) , ! o ) { var q ; o = { } ; for ( q in n ) n [ q ] instanceof Array ? o [ q ] = n [ q ] . slice ( 0 ) : o [ q ] = n [ q ] } if ( ! e || ! e . length ) return a . utils . noData ( b , j ) , b ; j . selectAll ( ".nv-noData" ) . remove ( ) ; var s = j . selectAll ( "g.nv-wrap.nv-pieChart" ) . data ( [ e ] ) , v = s . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-wrap nv-pieChart" ) . append ( "g" ) , w = s . select ( "g" ) ; if ( v . append ( "g" ) . attr ( "class" , "nv-pieWrap" ) , v . append ( "g" ) . attr ( "class" , "nv-legendWrap" ) , k ) if ( "top" === l ) d . width ( m ) . key ( c . x ( ) ) , s . select ( ".nv-legendWrap" ) . datum ( e ) . call ( d ) , g || d . height ( ) === f . top || ( f . top = d . height ( ) , p = a . utils . availableHeight ( i , j , f ) ) , s . select ( ".nv-legendWrap" ) . attr ( "transform" , "translate(0," + - f . top + ")" ) ; else if ( "right" === l ) { var x = a . models . legend ( ) . width ( ) ; x > m / 2 && ( x = m / 2 ) , d . height ( p ) . key ( c . x ( ) ) , d . width ( x ) , m -= d . width ( ) , s . select ( ".nv-legendWrap" ) . datum ( e ) . call ( d ) . attr ( "transform" , "translate(" + m + ",0)" ) } else "bottom" === l && ( d . width ( m ) . key ( c . x ( ) ) , s . select ( ".nv-legendWrap" ) . datum ( e ) . call ( d ) , f . bottom = d . height ( ) , p = a . utils . availableHeight ( i , j , f ) , s . select ( ".nv-legendWrap" ) . attr ( "transform" , "translate(0," + p + ")" ) ) ; else w . select ( ".nv-legendWrap" ) . selectAll ( "*" ) . remove ( ) ; s . attr ( "transform" , "translate(" + f . left + "," + f . top + ")" ) , c . width ( m ) . height ( p ) ; var y = w . select ( ".nv-pieWrap" ) . datum ( [ e ] ) ; d3 . transition ( y ) . call ( c ) , d . dispatch . on ( "stateChange" , function ( a ) { for ( var c in a ) n [ c ] = a [ c ] ; r . stateChange ( n ) , b . update ( ) } ) , r . on ( "changeState" , function ( a ) { "undefined" != typeof a . disabled && ( e . forEach ( function ( b , c ) { b . disabled = a . disabled [ c ] } ) , n . disabled = a . disabled ) , b . update ( ) } ) } ) , s . renderEnd ( "pieChart immediate" ) , b } var c = a . models . pie ( ) , d = a . models . legend ( ) , e = a . models . tooltip ( ) , f = { top : 30 , right : 20 , bottom : 20 , left : 20 } , g = null , h = null , i = null , j = ! 1 , k = ! 0 , l = "top" , m = a . utils . defaultColor ( ) , n = a . utils . state ( ) , o = null , p = null , q = 250 , r = d3 . dispatch ( "stateChange" , "changeState" , "renderEnd" ) ; e . duration ( 0 ) . headerEnabled ( ! 1 ) . valueFormatter ( function ( a , b ) { return c . valueFormat ( ) ( a , b ) } ) ; var s = a . utils . renderWatch ( r ) , t = function ( a ) { return function ( ) { return { active : a . map ( function ( a ) { return ! a . disabled } ) } } } , u = function ( a ) { return function ( b ) { void 0 !== b . active && a . forEach ( function ( a , c ) { a . disabled = ! b . active [ c ] } ) } } ; return
v . exit ( ) . remove ( ) , v . style ( "stroke" , function ( a , b ) { return a . color || p ( a , b ) } ) . attr ( "d" , d3 . svg . line ( ) . x ( function ( a , b ) { return l ( n ( a , b ) ) } ) . y ( function ( a , b ) { return m ( o ( a , b ) ) } ) ) ; var w = t . selectAll ( "circle.nv-point" ) . data ( function ( a ) { function b ( b ) { if ( - 1 != b ) { var c = a [ b ] ; return c . pointIndex = b , c } return null } var c = a . map ( function ( a , b ) { return o ( a , b ) } ) , d = b ( c . lastIndexOf ( m . domain ( ) [ 1 ] ) ) , e = b ( c . indexOf ( m . domain ( ) [ 0 ] ) ) , f = b ( c . length - 1 ) ; return [ q ? e : null , q ? d : null , r ? f : null ] . filter ( function ( a ) { return null != a } ) } ) ; w . enter ( ) . append ( "circle" ) , w . exit ( ) . remove ( ) , w . attr ( "cx" , function ( a , b ) { return l ( n ( a , a . pointIndex ) ) } ) . attr ( "cy" , function ( a , b ) { return m ( o ( a , a . pointIndex ) ) } ) . attr ( "r" , 2 ) . attr ( "class" , function ( a , b ) { return n ( a , a . pointIndex ) == l . domain ( ) [ 1 ] ? "nv-point nv-currentValue" : o ( a , a . pointIndex ) == m . domain ( ) [ 0 ] ? "nv-point nv-minValue" : "nv-point nv-maxValue" } ) } ) , t . renderEnd ( "sparkline immediate" ) , b } var c , d , e , f , g = { top : 2 , right : 0 , bottom : 2 , left : 0 } , h = 400 , i = 32 , j = null , k = ! 0 , l = d3 . scale . linear ( ) , m = d3 . scale . linear ( ) , n = function ( a ) { return a . x } , o = function ( a ) { return a . y } , p = a . utils . getColor ( [ "#000" ] ) , q = ! 0 , r = ! 0 , s = d3 . dispatch ( "renderEnd" ) , t = a . utils . renderWatch ( s ) ; return b . options = a . utils . optionsFunc . bind ( b ) , b . _options = Object . create ( { } , { width : { get : function ( ) { return h } , set : function ( a ) { h = a } } , height : { get : function ( ) { return i } , set : function ( a ) { i = a } } , xDomain : { get : function ( ) { return c } , set : function ( a ) { c = a } } , yDomain : { get : function ( ) { return d } , set : function ( a ) { d = a } } , xRange : { get : function ( ) { return e } , set : function ( a ) { e = a } } , yRange : { get : function ( ) { return f } , set : function ( a ) { f = a } } , xScale : { get : function ( ) { return l } , set : function ( a ) { l = a } } , yScale : { get : function ( ) { return m } , set : function ( a ) { m = a } } , animate : { get : function ( ) { return k } , set : function ( a ) { k = a } } , showMinMaxPoints : { get : function ( ) { return q } , set : function ( a ) { q = a } } , showCurrentPoint : { get : function ( ) { return r } , set : function ( a ) { r = a } } , x : { get : function ( ) { return n } , set : function ( a ) { n = d3 . functor ( a ) } } , y : { get : function ( ) { return o } , set : function ( a ) { o = d3 . functor ( a ) } } , margin : { get : function ( ) { return g } , set : function ( a ) { g . top = void 0 !== a . top ? a . top : g . top , g . right = void 0 !== a . right ? a . right : g . right , g . bottom = void 0 !== a . bottom ? a . bottom : g . bottom , g . left = void 0 !== a . left ? a . left : g . left } } , color : { get : function ( ) { return p } , set : function ( b ) { p = a . utils . getColor ( b ) } } } ) , b . dispatch = s , a . utils . initOptions ( b ) , b } , a . models . sparklinePlus = function ( ) { "use strict" ; function b ( p ) { return r . reset ( ) , r . models ( e ) , p . each ( function ( p ) { function q ( ) { if ( ! j ) { var a = z . selectAll ( ".nv-hoverValue" ) . data ( i ) , b = a . enter ( ) . append ( "g" ) . attr ( "class" , "nv-hoverValue" ) . style ( "stroke-opacity" , 0 ) . style ( "fill-opacity" , 0 ) ; a . exit ( ) . transition ( ) . duration ( 250 ) . style ( "stroke-opacity" , 0 ) . style ( "fill-opacity" , 0 ) . remove ( ) , a . attr ( "transform" , function ( a ) { return "translate(" + c ( e . x ( ) ( p [ a ] , a ) ) + ",0)" } ) . transition ( ) . duration ( 250 ) . style ( "stroke-opacity" , 1 ) . style ( "fill-opacity" , 1 ) , i . length && ( b . append ( "line" ) . attr ( "x1" , 0 ) . attr ( "y1" , - f . top ) . attr ( "x2" , 0 ) . attr ( "y2" , u ) , b . append ( "text" ) . attr ( "class" , "nv-xValue" ) . attr ( "x" , - 6 ) . attr ( "y" , - f . top ) . attr ( "text-anchor" , "end" ) . attr ( "dy" , ".9em" ) , z . select ( ".nv-hoverValue .nv-xValue" ) . text ( k ( e . x ( ) ( p [ i [ 0 ] ] , i [ 0 ] ) ) ) , b . append ( "text" ) . attr ( "class" , "nv-yValue" ) . attr ( "x" , 6 ) . attr ( "y" , - f . top ) . attr ( "text-anchor" , "start" ) . attr ( "dy" , ".9em" ) , z . select ( ".nv-hoverValue .nv-yValue" ) . text ( l ( e . y ( ) ( p [ i [ 0 ] ] , i [ 0 ] ) ) ) ) } } function r ( ) { function a ( a , b ) { for ( var c = Math . abs ( e . x ( ) ( a [ 0 ] , 0 ) - b ) , d = 0 , f = 0 ; f < a . length ; f ++ ) Math . abs ( e . x ( ) ( a [ f ] , f ) - b ) < c && ( c = Math . abs ( e . x ( ) ( a [ f ] , f ) - b ) , d = f ) ; return d } if ( ! j ) { var b = d3 . mouse ( this ) [ 0 ] - f . left ; i = [ a ( p , Math . round ( c . invert ( b ) ) ) ] , q ( ) } } var s = d3 . select ( this ) ; a . utils . initSVG ( s ) ; var t = a . utils . availableWidth ( g , s , f ) , u = a . utils . availableHeight ( h , s , f ) ; if ( b . update = function ( ) { s . call ( b ) } , b . container = this , ! p || ! p . length ) return a . utils . noData ( b , s ) , b ; s . selectAll ( ".nv-noData" ) . remove ( ) ; var v = e . y ( ) ( p [ p . length - 1 ] , p . length - 1 ) ; c = e . xScale ( ) , d = e . yScale ( ) ; var w = s . selectAll ( "g.nv-wrap.nv-sparklineplus" ) . data ( [ p ] ) , x = w . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-wrap nv-sparklineplus" ) , y = x . append ( "g" ) , z = w . select ( "g" ) ; y . append ( "g" ) . attr ( "class" , "nv-sparklineWrap" ) , y . append ( "g" ) . attr ( "class" , "nv-valueWrap" ) , y . append ( "g" ) . attr ( "class" , "nv-hoverArea" ) , w . attr ( " transform
2021-02-28 08:05:36 +01:00
//# sourceMappingURL=nv.d3.min.js.map