2017-09-20 01:33:26 +00:00
if ( function ( t , e ) { function n ( t ) { var e = t . length , n = ct . type ( t ) ; return ! ct . isWindow ( t ) && ( ! ( 1 !== t . nodeType || ! e ) || ( "array" === n || "function" !== n && ( 0 === e || "number" == typeof e && e > 0 && e - 1 in t ) ) ) } function i ( t ) { var e = Mt [ t ] = { } ; return ct . each ( t . match ( dt ) || [ ] , function ( t , n ) { e [ n ] = ! 0 } ) , e } function r ( t , n , i , r ) { if ( ct . acceptData ( t ) ) { var o , a , s = ct . expando , l = t . nodeType , u = l ? ct . cache : t , c = l ? t [ s ] : t [ s ] && s ; if ( c && u [ c ] && ( r || u [ c ] . data ) || i !== e || "string" != typeof n ) return c || ( c = l ? t [ s ] = et . pop ( ) || ct . guid ++ : s ) , u [ c ] || ( u [ c ] = l ? { } : { toJSON : ct . noop } ) , ( "object" == typeof n || "function" == typeof n ) && ( r ? u [ c ] = ct . extend ( u [ c ] , n ) : u [ c ] . data = ct . extend ( u [ c ] . data , n ) ) , a = u [ c ] , r || ( a . data || ( a . data = { } ) , a = a . data ) , i !== e && ( a [ ct . camelCase ( n ) ] = i ) , "string" == typeof n ? ( o = a [ n ] , null == o && ( o = a [ ct . camelCase ( n ) ] ) ) : o = a , o } } function o ( t , e , n ) { if ( ct . acceptData ( t ) ) { var i , r , o = t . nodeType , a = o ? ct . cache : t , l = o ? t [ ct . expando ] : ct . expando ; if ( a [ l ] ) { if ( e && ( i = n ? a [ l ] : a [ l ] . data ) ) { ct . isArray ( e ) ? e = e . concat ( ct . map ( e , ct . camelCase ) ) : e in i ? e = [ e ] : ( e = ct . camelCase ( e ) , e = e in i ? [ e ] : e . split ( " " ) ) , r = e . length ; for ( ; r -- ; ) delete i [ e [ r ] ] ; if ( n ? ! s ( i ) : ! ct . isEmptyObject ( i ) ) return } ( n || ( delete a [ l ] . data , s ( a [ l ] ) ) ) && ( o ? ct . cleanData ( [ t ] , ! 0 ) : ct . support . deleteExpando || a != a . window ? delete a [ l ] : a [ l ] = null ) } } } function a ( t , n , i ) { if ( i === e && 1 === t . nodeType ) { var r = "data-" + n . replace ( Tt , "-$1" ) . toLowerCase ( ) ; if ( i = t . getAttribute ( r ) , "string" == typeof i ) { try { i = "true" === i || "false" !== i && ( "null" === i ? null : + i + "" === i ? + i : kt . test ( i ) ? ct . parseJSON ( i ) : i ) } catch ( t ) { } ct . data ( t , n , i ) } else i = e } return i } function s ( t ) { var e ; for ( e in t ) if ( ( "data" !== e || ! ct . isEmptyObject ( t [ e ] ) ) && "toJSON" !== e ) return ! 1 ; return ! 0 } function l ( ) { return ! 0 } function u ( ) { return ! 1 } function c ( ) { try { return Z . activeElement } catch ( t ) { } } function h ( t , e ) { do t = t [ e ] ; while ( t && 1 !== t . nodeType ) ; return t } function d ( t , e , n ) { if ( ct . isFunction ( e ) ) return ct . grep ( t , function ( t , i ) { return ! ! e . call ( t , i , t ) !== n } ) ; if ( e . nodeType ) return ct . grep ( t , function ( t ) { return t === e !== n } ) ; if ( "string" == typeof e ) { if ( Wt . test ( e ) ) return ct . filter ( e , t , n ) ; e = ct . filter ( e , t ) } return ct . grep ( t , function ( t ) { return ct . inArray ( t , e ) >= 0 !== n } ) } function f ( t ) { var e = Yt . split ( "|" ) , n = t . createDocumentFragment ( ) ; if ( n . createElement ) for ( ; e . length ; ) n . createElement ( e . pop ( ) ) ; return n } function p ( t , e ) { return ct . nodeName ( t , "table" ) && ct . nodeName ( 1 === e . nodeType ? e : e . firstChild , "tr" ) ? t . getElementsByTagName ( "tbody" ) [ 0 ] || t . appendChild ( t . ownerDocument . createElement ( "tbody" ) ) : t } function g ( t ) { return t . type = ( null !== ct . find . attr ( t , "type" ) ) + "/" + t . type , t } function m ( t ) { var e = re . exec ( t . type ) ; return e ? t . type = e [ 1 ] : t . removeAttribute ( "type" ) , t } function v ( t , e ) { for ( var n , i = 0 ; null != ( n = t [ i ] ) ; i ++ ) ct . _data ( n , "globalEval" , ! e || ct . _data ( e [ i ] , "globalEval" ) ) } function y ( t , e ) { if ( 1 === e . nodeType && ct . hasData ( t ) ) { var n , i , r , o = ct . _data ( t ) , a = ct . _data ( e , o ) , s = o . events ; if ( s ) { delete a . handle , a . events = { } ; for ( n in s ) for ( i = 0 , r = s [ n ] . length ; r > i ; i ++ ) ct . event . add ( e , n , s [ n ] [ i ] ) } a . data && ( a . data = ct . extend ( { } , a . data ) ) } } function b ( t , e ) { var n , i , r ; if ( 1 === e . nodeType ) { if ( n = e . nodeName . toLowerCase ( ) , ! ct . support . noCloneEvent && e [ ct . expando ] ) { r = ct . _data ( e ) ; for ( i in r . events ) ct . removeEvent ( e , i , r . handle ) ; e . removeAttribute ( ct . expando ) } "script" === n && e . text !== t . text ? ( g ( e ) . text = t . text , m ( e ) ) : "object" === n ? ( e . parentNode && ( e . outerHTML = t . outerHTML ) , ct . support . html5Clone && t . innerHTML && ! ct . trim ( e . innerHTML ) && ( e . innerHTML = t . innerHTML ) ) : "input" === n && ee . test ( t . type ) ? ( e . defaultChecked = e . checked = t . checked , e . value !== t . value && ( e . value = t . value ) ) : "option" === n ? e . defaultSelected = e . selected = t . defaultSelected : ( "input" === n || "textarea" === n ) && ( e . defaultValue = t . defaultValue ) } } function x ( t , n ) { var i , r , o = 0 , a = typeof t . getElementsByTagName !== X ? t . getElementsByTagName ( n || "*" ) : typeof t . querySelectorAll !== X ? t . querySelectorAll ( n || "*" ) : e ; if ( ! a ) for ( a = [ ] , i = t . childNodes || t ; null != ( r = i [ o ] ) ; o ++ ) ! n || ct . nodeName ( r , n ) ? a . push ( r ) : ct . merge ( a , x ( r , n ) ) ; return n === e || n && ct . nodeName ( t , n ) ? ct . merge ( [ t ] , a ) : a } function w ( t ) { ee . test ( t . type ) && ( t . defaultChecked = t . checked ) } function S ( t , e ) { if ( e in t ) return e ; for ( var n = e . charAt ( 0 ) . toUpperCase ( ) + e . slice ( 1 ) , i = e , r = Ce . length ; r -- ; ) if ( e = Ce [ r ] + n , e in t ) return e ; return i } function _ ( t , e ) { return t = e || t , "none" === ct . css ( t , "display" ) || ! ct . contains ( t . ownerDocument , t ) } function C ( t , e ) { for ( var
if ( m ) { if ( o ) { for ( ; g ; ) { for ( h = e ; h = h [ g ] ; ) if ( s ? h . nodeName . toLowerCase ( ) === v : 1 === h . nodeType ) return ! 1 ; p = g = "only" === t && ! p && "nextSibling" } return ! 0 } if ( p = [ a ? m . firstChild : m . lastChild ] , a && y ) { for ( c = m [ H ] || ( m [ H ] = { } ) , u = c [ t ] || [ ] , f = u [ 0 ] === B && u [ 1 ] , d = u [ 0 ] === B && u [ 2 ] , h = f && m . childNodes [ f ] ; h = ++ f && h && h [ g ] || ( d = f = 0 ) || p . pop ( ) ; ) if ( 1 === h . nodeType && ++ d && h === e ) { c [ t ] = [ B , f , d ] ; break } } else if ( y && ( u = ( e [ H ] || ( e [ H ] = { } ) ) [ t ] ) && u [ 0 ] === B ) d = u [ 1 ] ; else for ( ; ( h = ++ f && h && h [ g ] || ( d = f = 0 ) || p . pop ( ) ) && ( ( s ? h . nodeName . toLowerCase ( ) !== v : 1 !== h . nodeType ) || ! ++ d || ( y && ( ( h [ H ] || ( h [ H ] = { } ) ) [ t ] = [ B , d ] ) , h !== e ) ) ; ) ; return d -= r , d === i || 0 === d % i && d / i >= 0 } } } , PSEUDO : function ( t , e ) { var i , o = M . pseudos [ t ] || M . setFilters [ t . toLowerCase ( ) ] || n . error ( "unsupported pseudo: " + t ) ; return o [ H ] ? o ( e ) : o . length > 1 ? ( i = [ t , t , "" , e ] , M . setFilters . hasOwnProperty ( t . toLowerCase ( ) ) ? r ( function ( t , n ) { for ( var i , r = o ( t , e ) , a = r . length ; a -- ; ) i = nt . call ( t , r [ a ] ) , t [ i ] = ! ( n [ i ] = r [ a ] ) } ) : function ( t ) { return o ( t , 0 , i ) } ) : o } } , pseudos : { not : r ( function ( t ) { var e = [ ] , n = [ ] , i = D ( t . replace ( ut , "$1" ) ) ; return i [ H ] ? r ( function ( t , e , n , r ) { for ( var o , a = i ( t , null , r , [ ] ) , s = t . length ; s -- ; ) ( o = a [ s ] ) && ( t [ s ] = ! ( e [ s ] = o ) ) } ) : function ( t , r , o ) { return e [ 0 ] = t , i ( e , null , o , n ) , ! n . pop ( ) } } ) , has : r ( function ( t ) { return function ( e ) { return n ( t , e ) . length > 0 } } ) , contains : r ( function ( t ) { return function ( e ) { return ( e . textContent || e . innerText || k ( e ) ) . indexOf ( t ) > - 1 } } ) , lang : r ( function ( t ) { return mt . test ( t || "" ) || n . error ( "unsupported lang: " + t ) , t = t . replace ( _t , Ct ) . toLowerCase ( ) , function ( e ) { var n ; do if ( n = N ? e . lang : e . getAttribute ( "xml:lang" ) || e . getAttribute ( "lang" ) ) return n = n . toLowerCase ( ) , n === t || 0 === n . indexOf ( t + "-" ) ; while ( ( e = e . parentNode ) && 1 === e . nodeType ) ; return ! 1 } } ) , target : function ( e ) { var n = t . location && t . location . hash ; return n && n . slice ( 1 ) === e . id } , root : function ( t ) { return t === L } , focus : function ( t ) { return t === O . activeElement && ( ! O . hasFocus || O . hasFocus ( ) ) && ! ! ( t . type || t . href || ~ t . tabIndex ) } , enabled : function ( t ) { return t . disabled === ! 1 } , disabled : function ( t ) { return t . disabled === ! 0 } , checked : function ( t ) { var e = t . nodeName . toLowerCase ( ) ; return "input" === e && ! ! t . checked || "option" === e && ! ! t . selected } , selected : function ( t ) { return t . parentNode && t . parentNode . selectedIndex , t . selected === ! 0 } , empty : function ( t ) { for ( t = t . firstChild ; t ; t = t . nextSibling ) if ( t . nodeName > "@" || 3 === t . nodeType || 4 === t . nodeType ) return ! 1 ; return ! 0 } , parent : function ( t ) { return ! M . pseudos . empty ( t ) } , header : function ( t ) { return wt . test ( t . nodeName ) } , input : function ( t ) { return xt . test ( t . nodeName ) } , button : function ( t ) { var e = t . nodeName . toLowerCase ( ) ; return "input" === e && "button" === t . type || "button" === e } , text : function ( t ) { var e ; return "input" === t . nodeName . toLowerCase ( ) && "text" === t . type && ( null == ( e = t . getAttribute ( "type" ) ) || e . toLowerCase ( ) === t . type ) } , first : c ( function ( ) { return [ 0 ] } ) , last : c ( function ( t , e ) { return [ e - 1 ] } ) , eq : c ( function ( t , e , n ) { return [ 0 > n ? n + e : n ] } ) , even : c ( function ( t , e ) { for ( var n = 0 ; e > n ; n += 2 ) t . push ( n ) ; return t } ) , odd : c ( function ( t , e ) { for ( var n = 1 ; e > n ; n += 2 ) t . push ( n ) ; return t } ) , lt : c ( function ( t , e , n ) { for ( var i = 0 > n ? n + e : n ; -- i >= 0 ; ) t . push ( i ) ; return t } ) , gt : c ( function ( t , e , n ) { for ( var i = 0 > n ? n + e : n ; e > ++ i ; ) t . push ( i ) ; return t } ) } } , M . pseudos . nth = M . pseudos . eq ; for ( S in { radio : ! 0 , checkbox : ! 0 , file : ! 0 , password : ! 0 , image : ! 0 } ) M . pseudos [ S ] = l ( S ) ; for ( S in { submit : ! 0 , reset : ! 0 } ) M . pseudos [ S ] = u ( S ) ; h . prototype = M . filters = M . pseudos , M . setFilters = new h , D = n . compile = function ( t , e ) { var n , i = [ ] , r = [ ] , o = q [ t + " " ] ; if ( ! o ) { for ( e || ( e = d ( t ) ) , n = e . length ; n -- ; ) o = y ( e [ n ] ) , o [ H ] ? i . push ( o ) : r . push ( o ) ; o = q ( t , b ( r , i ) ) } return o } , _ . sortStable = H . split ( "" ) . sort ( G ) . join ( "" ) === H , _ . detectDuplicates = Y , P ( ) , _ . sortDetached = o ( function ( t ) { return 1 & t . compareDocumentPosition ( O . createElement ( "div" ) ) } ) , o ( function ( t ) { return t . innerHTML = "<a href='#'></a>" , "#" === t . firstChild . getAttribute ( "href" ) } ) || a ( "type|href|height|width" , function ( t , n , i ) { return i ? e : t . getAttribute ( n , "type" === n . toLowerCase ( ) ? 1 : 2 ) } ) , _ . attributes && o ( function ( t ) { return t . innerHTML = "<input/>" , t . firstChild . setAttribute ( "value" , "" ) , "" === t . firstChild . getAttribute ( "value" ) } ) || a ( "value" , function ( t , n , i ) { return i || "input" !== t . nodeName . toLowerCase ( ) ? e : t . defaultValue } ) , o ( function ( t ) { return null == t . getAttribute ( "disabled" ) } ) || a ( it , function ( t , n , i ) { var r ; return i ? e : ( r = t . getAttributeNode ( n ) ) && r . specified ? r . value : t [ n ] === ! 0 ? n . toLowerCase ( ) : null }
} , prevAll : function ( t ) { return ct . dir ( t , "previousSibling" ) } , nextUntil : function ( t , e , n ) { return ct . dir ( t , "nextSibling" , n ) } , prevUntil : function ( t , e , n ) { return ct . dir ( t , "previousSibling" , n ) } , siblings : function ( t ) { return ct . sibling ( ( t . parentNode || { } ) . firstChild , t ) } , children : function ( t ) { return ct . sibling ( t . firstChild ) } , contents : function ( t ) { return ct . nodeName ( t , "iframe" ) ? t . contentDocument || t . contentWindow . document : ct . merge ( [ ] , t . childNodes ) } } , function ( t , e ) { ct . fn [ t ] = function ( n , i ) { var r = ct . map ( this , e , n ) ; return "Until" !== t . slice ( - 5 ) && ( i = n ) , i && "string" == typeof i && ( r = ct . filter ( i , r ) ) , this . length > 1 && ( qt [ t ] || ( r = ct . unique ( r ) ) , $t . test ( t ) && ( r = r . reverse ( ) ) ) , this . pushStack ( r ) } } ) , ct . extend ( { filter : function ( t , e , n ) { var i = e [ 0 ] ; return n && ( t = ":not(" + t + ")" ) , 1 === e . length && 1 === i . nodeType ? ct . find . matchesSelector ( i , t ) ? [ i ] : [ ] : ct . find . matches ( t , ct . grep ( e , function ( t ) { return 1 === t . nodeType } ) ) } , dir : function ( t , n , i ) { for ( var r = [ ] , o = t [ n ] ; o && 9 !== o . nodeType && ( i === e || 1 !== o . nodeType || ! ct ( o ) . is ( i ) ) ; ) 1 === o . nodeType && r . push ( o ) , o = o [ n ] ; return r } , sibling : function ( t , e ) { for ( var n = [ ] ; t ; t = t . nextSibling ) 1 === t . nodeType && t !== e && n . push ( t ) ; return n } } ) ; var Yt = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video" , Gt = / jQuery\d+="(?:null|\d+)"/g , Xt = RegExp ( "<(?:" + Yt + ")[\\s/>]" , "i" ) , Vt = /^\s+/ , Zt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi , Kt = /<([\w:]+)/ , Jt = /<tbody/i , Qt = /<|&#?\w+;/ , te = /<(?:script|style|link)/i , ee = /^(?:checkbox|radio)$/i , ne = /checked\s*(?:[^=]|=\s*.checked.)/i , ie = /^$|\/(?:java|ecma)script/i , re = /^true\/(.*)/ , oe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g , ae = { option : [ 1 , "<select multiple='multiple'>" , "</select>" ] , legend : [ 1 , "<fieldset>" , "</fieldset>" ] , area : [ 1 , "<map>" , "</map>" ] , param : [ 1 , "<object>" , "</object>" ] , thead : [ 1 , "<table>" , "</table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , col : [ 2 , "<table><tbody></tbody><colgroup>" , "</colgroup></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : ct . support . htmlSerialize ? [ 0 , "" , "" ] : [ 1 , "X<div>" , "</div>" ] } , se = f ( Z ) , le = se . appendChild ( Z . createElement ( "div" ) ) ; ae . optgroup = ae . option , ae . tbody = ae . tfoot = ae . colgroup = ae . caption = ae . thead , ae . th = ae . td , ct . fn . extend ( { text : function ( t ) { return ct . access ( this , function ( t ) { return t === e ? ct . text ( this ) : this . empty ( ) . append ( ( this [ 0 ] && this [ 0 ] . ownerDocument || Z ) . createTextNode ( t ) ) } , null , t , arguments . length ) } , append : function ( ) { return this . domManip ( arguments , function ( t ) { if ( 1 === this . nodeType || 11 === this . nodeType || 9 === this . nodeType ) { var e = p ( this , t ) ; e . appendChild ( t ) } } ) } , prepend : function ( ) { return this . domManip ( arguments , function ( t ) { if ( 1 === this . nodeType || 11 === this . nodeType || 9 === this . nodeType ) { var e = p ( this , t ) ; e . insertBefore ( t , e . firstChild ) } } ) } , before : function ( ) { return this . domManip ( arguments , function ( t ) { this . parentNode && this . parentNode . insertBefore ( t , this ) } ) } , after : function ( ) { return this . domManip ( arguments , function ( t ) { this . parentNode && this . parentNode . insertBefore ( t , this . nextSibling ) } ) } , remove : function ( t , e ) { for ( var n , i = t ? ct . filter ( t , this ) : this , r = 0 ; null != ( n = i [ r ] ) ; r ++ ) e || 1 !== n . nodeType || ct . cleanData ( x ( n ) ) , n . parentNode && ( e && ct . contains ( n . ownerDocument , n ) && v ( x ( n , "script" ) ) , n . parentNode . removeChild ( n ) ) ; return this } , empty : function ( ) { for ( var t , e = 0 ; null != ( t = this [ e ] ) ; e ++ ) { for ( 1 === t . nodeType && ct . cleanData ( x ( t , ! 1 ) ) ; t . firstChild ; ) t . removeChild ( t . firstChild ) ; t . options && ct . nodeName ( t , "select" ) && ( t . options . length = 0 ) } return this } , clone : function ( t , e ) { return t = null != t && t , e = null == e ? t : e , this . map ( function ( ) { return ct . clone ( this , t , e ) } ) } , html : function ( t ) { return ct . access ( this , function ( t ) { var n = this [ 0 ] || { } , i = 0 , r = this . length ; if ( t === e ) return 1 === n . nodeType ? n . innerHTML . replace ( Gt , "" ) : e ; if ( ! ( "string" != typeof t || te . test ( t ) || ! ct . support . htmlSerialize && Xt . test ( t ) || ! ct . support . leadingWhitespace && Vt . test ( t ) || ae [ ( Kt . exec ( t ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) ) { t = t . replace ( Zt , "<$1></$2>" ) ; try { for ( ; r > i ; i ++ ) n = this [ i ] || { } , 1 === n . nodeType && ( ct . cleanData ( x ( n , ! 1 ) ) , n . innerHTML = t ) ; n = 0 } catch ( t ) { } } n && this . empty ( ) . append ( t ) } , null , t , arguments . length ) } , replaceWith : function ( ) { var t = ct . map ( this , function ( t ) { return [ t . nextSibling , t . parentNode ] } )
this } , t ( document ) . on ( "click.bs.button.data-api" , "[data-toggle^=button]" , function ( e ) { var n = t ( e . target ) ; n . hasClass ( "btn" ) || ( n = n . closest ( ".btn" ) ) , n . button ( "toggle" ) , e . preventDefault ( ) } ) } ( jQuery ) , + function ( t ) { "use strict" ; var e = function ( e , n ) { this . $element = t ( e ) , this . $indicators = this . $element . find ( ".carousel-indicators" ) , this . options = n , this . paused = this . sliding = this . interval = this . $active = this . $items = null , "hover" == this . options . pause && this . $element . on ( "mouseenter" , t . proxy ( this . pause , this ) ) . on ( "mouseleave" , t . proxy ( this . cycle , this ) ) } ; e . DEFAULTS = { interval : 5e3 , pause : "hover" , wrap : ! 0 } , e . prototype . cycle = function ( e ) { return e || ( this . paused = ! 1 ) , this . interval && clearInterval ( this . interval ) , this . options . interval && ! this . paused && ( this . interval = setInterval ( t . proxy ( this . next , this ) , this . options . interval ) ) , this } , e . prototype . getActiveIndex = function ( ) { return this . $active = this . $element . find ( ".item.active" ) , this . $items = this . $active . parent ( ) . children ( ) , this . $items . index ( this . $active ) } , e . prototype . to = function ( e ) { var n = this , i = this . getActiveIndex ( ) ; return e > this . $items . length - 1 || 0 > e ? void 0 : this . sliding ? this . $element . one ( "slid" , function ( ) { n . to ( e ) } ) : i == e ? this . pause ( ) . cycle ( ) : this . slide ( e > i ? "next" : "prev" , t ( this . $items [ e ] ) ) } , e . prototype . pause = function ( e ) { return e || ( this . paused = ! 0 ) , this . $element . find ( ".next, .prev" ) . length && t . support . transition . end && ( this . $element . trigger ( t . support . transition . end ) , this . cycle ( ! 0 ) ) , this . interval = clearInterval ( this . interval ) , this } , e . prototype . next = function ( ) { return this . sliding ? void 0 : this . slide ( "next" ) } , e . prototype . prev = function ( ) { return this . sliding ? void 0 : this . slide ( "prev" ) } , e . prototype . slide = function ( e , n ) { var i = this . $element . find ( ".item.active" ) , r = n || i [ e ] ( ) , o = this . interval , a = "next" == e ? "left" : "right" , s = "next" == e ? "first" : "last" , l = this ; if ( ! r . length ) { if ( ! this . options . wrap ) return ; r = this . $element . find ( ".item" ) [ s ] ( ) } this . sliding = ! 0 , o && this . pause ( ) ; var u = t . Event ( "slide.bs.carousel" , { relatedTarget : r [ 0 ] , direction : a } ) ; if ( ! r . hasClass ( "active" ) ) { if ( this . $indicators . length && ( this . $indicators . find ( ".active" ) . removeClass ( "active" ) , this . $element . one ( "slid" , function ( ) { var e = t ( l . $indicators . children ( ) [ l . getActiveIndex ( ) ] ) ; e && e . addClass ( "active" ) } ) ) , t . support . transition && this . $element . hasClass ( "slide" ) ) { if ( this . $element . trigger ( u ) , u . isDefaultPrevented ( ) ) return ; r . addClass ( e ) , r [ 0 ] . offsetWidth , i . addClass ( a ) , r . addClass ( a ) , i . one ( t . support . transition . end , function ( ) { r . removeClass ( [ e , a ] . join ( " " ) ) . addClass ( "active" ) , i . removeClass ( [ "active" , a ] . join ( " " ) ) , l . sliding = ! 1 , setTimeout ( function ( ) { l . $element . trigger ( "slid" ) } , 0 ) } ) . emulateTransitionEnd ( 600 ) } else { if ( this . $element . trigger ( u ) , u . isDefaultPrevented ( ) ) return ; i . removeClass ( "active" ) , r . addClass ( "active" ) , this . sliding = ! 1 , this . $element . trigger ( "slid" ) } return o && this . cycle ( ) , this } } ; var n = t . fn . carousel ; t . fn . carousel = function ( n ) { return this . each ( function ( ) { var i = t ( this ) , r = i . data ( "bs.carousel" ) , o = t . extend ( { } , e . DEFAULTS , i . data ( ) , "object" == typeof n && n ) , a = "string" == typeof n ? n : o . slide ; r || i . data ( "bs.carousel" , r = new e ( this , o ) ) , "number" == typeof n ? r . to ( n ) : a ? r [ a ] ( ) : o . interval && r . pause ( ) . cycle ( ) } ) } , t . fn . carousel . Constructor = e , t . fn . carousel . noConflict = function ( ) { return t . fn . carousel = n , this } , t ( document ) . on ( "click.bs.carousel.data-api" , "[data-slide], [data-slide-to]" , function ( e ) { var n , i = t ( this ) , r = t ( i . attr ( "data-target" ) || ( n = i . attr ( "href" ) ) && n . replace ( /.*(?=#[^\s]+$)/ , "" ) ) , o = t . extend ( { } , r . data ( ) , i . data ( ) ) , a = i . attr ( "data-slide-to" ) ; a && ( o . interval = ! 1 ) , r . carousel ( o ) , ( a = i . attr ( "data-slide-to" ) ) && r . data ( "bs.carousel" ) . to ( a ) , e . preventDefault ( ) } ) , t ( window ) . on ( "load" , function ( ) { t ( '[data-ride="carousel"]' ) . each ( function ( ) { var e = t ( this ) ; e . carousel ( e . data ( ) ) } ) } ) } ( jQuery ) , + function ( t ) { "use strict" ; var e = function ( n , i ) { this . $element = t ( n ) , this . options = t . extend ( { } , e . DEFAULTS , i ) , this . transitioning = null , this . options . parent && ( this . $parent = t ( this . options . parent ) ) , this . options . toggle && this . toggle ( ) } ; e . DEFAULTS = { toggle : ! 0 } , e . prototype . dimension = function ( ) { var t = this . $element . hasClass ( "width" ) ; return t ? "width" : "height" } , e . prototype . show = function ( ) { if ( ! this . transitioning && ! this . $element . hasClass ( "in" ) ) { var e = t . Event ( "show.bs.collapse" ) ; if ( this . $elem
n = fi . length ; n > e ; e ++ ) if ( fi [ e ] [ 1 ] . exec ( i ) ) { t . _f = fi [ e ] [ 0 ] + ( r [ 6 ] || " " ) ; break } for ( e = 0 , n = pi . length ; n > e ; e ++ ) if ( pi [ e ] [ 1 ] . exec ( i ) ) { t . _f += pi [ e ] [ 0 ] ; break } i . match ( Kn ) && ( t . _f += "Z" ) , bt ( t ) } else t . _isValid = ! 1 } function et ( e ) { var n = gi . exec ( e . _i ) ; return null !== n ? void ( e . _d = new Date ( ( + n [ 1 ] ) ) ) : ( tt ( e ) , void ( e . _isValid === ! 1 && ( delete e . _isValid , t . createFromInputFallback ( e ) ) ) ) } function nt ( t , e , n , i , r , o , a ) { var s = new Date ( t , e , n , i , r , o , a ) ; return 1970 > t && s . setFullYear ( t ) , s } function it ( t ) { var e = new Date ( Date . UTC . apply ( null , arguments ) ) ; return 1970 > t && e . setUTCFullYear ( t ) , e } function rt ( t ) { return ot ( t ) ? 366 : 365 } function ot ( t ) { return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0 } function at ( ) { return ot ( this . year ( ) ) } function st ( t , e , n ) { var i , r = n - e , o = n - t . day ( ) ; return o > r && ( o -= 7 ) , r - 7 > o && ( o += 7 ) , i = kt ( t ) . add ( o , "d" ) , { week : Math . ceil ( i . dayOfYear ( ) / 7 ) , year : i . year ( ) } } function lt ( t ) { return st ( t , this . _week . dow , this . _week . doy ) . week } function ut ( ) { return this . _week . dow } function ct ( ) { return this . _week . doy } function ht ( t ) { var e = this . localeData ( ) . week ( this ) ; return null == t ? e : this . add ( 7 * ( t - e ) , "d" ) } function dt ( t ) { var e = st ( this , 1 , 4 ) . week ; return null == t ? e : this . add ( 7 * ( t - e ) , "d" ) } function ft ( t , e , n , i , r ) { var o , a , s = it ( t , 0 , 1 ) . getUTCDay ( ) ; return s = 0 === s ? 7 : s , n = null != n ? n : r , o = r - s + ( s > i ? 7 : 0 ) - ( r > s ? 7 : 0 ) , a = 7 * ( e - 1 ) + ( n - r ) + o + 1 , { year : a > 0 ? t : t - 1 , dayOfYear : a > 0 ? a : rt ( t - 1 ) + a } } function pt ( t ) { var e = Math . round ( ( this . clone ( ) . startOf ( "day" ) - this . clone ( ) . startOf ( "year" ) ) / 864e5 ) + 1 ; return null == t ? e : this . add ( t - e , "d" ) } function gt ( t , e , n ) { return null != t ? t : null != e ? e : n } function mt ( t ) { var e = new Date ; return t . _useUTC ? [ e . getUTCFullYear ( ) , e . getUTCMonth ( ) , e . getUTCDate ( ) ] : [ e . getFullYear ( ) , e . getMonth ( ) , e . getDate ( ) ] } function vt ( t ) { var e , n , i , r , o = [ ] ; if ( ! t . _d ) { for ( i = mt ( t ) , t . _w && null == t . _a [ ri ] && null == t . _a [ ii ] && yt ( t ) , t . _dayOfYear && ( r = gt ( t . _a [ ni ] , i [ ni ] ) , t . _dayOfYear > rt ( r ) && ( u ( t ) . _overflowDayOfYear = ! 0 ) , n = it ( r , 0 , t . _dayOfYear ) , t . _a [ ii ] = n . getUTCMonth ( ) , t . _a [ ri ] = n . getUTCDate ( ) ) , e = 0 ; 3 > e && null == t . _a [ e ] ; ++ e ) t . _a [ e ] = o [ e ] = i [ e ] ; for ( ; 7 > e ; e ++ ) t . _a [ e ] = o [ e ] = null == t . _a [ e ] ? 2 === e ? 1 : 0 : t . _a [ e ] ; 24 === t . _a [ oi ] && 0 === t . _a [ ai ] && 0 === t . _a [ si ] && 0 === t . _a [ li ] && ( t . _nextDay = ! 0 , t . _a [ oi ] = 0 ) , t . _d = ( t . _useUTC ? it : nt ) . apply ( null , o ) , null != t . _tzm && t . _d . setUTCMinutes ( t . _d . getUTCMinutes ( ) - t . _tzm ) , t . _nextDay && ( t . _a [ oi ] = 24 ) } } function yt ( t ) { var e , n , i , r , o , a , s ; e = t . _w , null != e . GG || null != e . W || null != e . E ? ( o = 1 , a = 4 , n = gt ( e . GG , t . _a [ ni ] , st ( kt ( ) , 1 , 4 ) . year ) , i = gt ( e . W , 1 ) , r = gt ( e . E , 1 ) ) : ( o = t . _locale . _week . dow , a = t . _locale . _week . doy , n = gt ( e . gg , t . _a [ ni ] , st ( kt ( ) , o , a ) . year ) , i = gt ( e . w , 1 ) , null != e . d ? ( r = e . d , o > r && ++ i ) : r = null != e . e ? e . e + o : o ) , s = ft ( n , i , r , a , o ) , t . _a [ ni ] = s . year , t . _dayOfYear = s . dayOfYear } function bt ( e ) { if ( e . _f === t . ISO _8601 ) return void tt ( e ) ; e . _a = [ ] , u ( e ) . empty = ! 0 ; var n , i , r , o , a , s = "" + e . _i , l = s . length , c = 0 ; for ( r = j ( e . _f , e . _locale ) . match ( jn ) || [ ] , n = 0 ; n < r . length ; n ++ ) o = r [ n ] , i = ( s . match ( R ( o , e ) ) || [ ] ) [ 0 ] , i && ( a = s . substr ( 0 , s . indexOf ( i ) ) , a . length > 0 && u ( e ) . unusedInput . push ( a ) , s = s . slice ( s . indexOf ( i ) + i . length ) , c += i . length ) , Hn [ o ] ? ( i ? u ( e ) . empty = ! 1 : u ( e ) . unusedTokens . push ( o ) , W ( o , i , e ) ) : e . _strict && ! i && u ( e ) . unusedTokens . push ( o ) ; u ( e ) . charsLeftOver = l - c , s . length > 0 && u ( e ) . unusedInput . push ( s ) , u ( e ) . bigHour === ! 0 && e . _a [ oi ] <= 12 && e . _a [ oi ] > 0 && ( u ( e ) . bigHour = void 0 ) , e . _a [ oi ] = xt ( e . _locale , e . _a [ oi ] , e . _meridiem ) , vt ( e ) , Z ( e ) } function xt ( t , e , n ) { var i ; return null == n ? e : null != t . meridiemHour ? t . meridiemHour ( e , n ) : null != t . isPM ? ( i = t . isPM ( n ) , i && 12 > e && ( e += 12 ) , i || 12 !== e || ( e = 0 ) , e ) : e } function wt ( t ) { var e , n , i , r , o ; if ( 0 === t . _f . length ) return u ( t ) . invalidFormat = ! 0 , void ( t . _d = new Date ( NaN ) ) ; for ( r = 0 ; r < t . _f . length ; r ++ ) o = 0 , e = d ( { } , t ) , null != t . _useUTC && ( e . _useUTC = t . _useUTC ) , e . _f = t . _f [ r ] , bt ( e ) , c ( e ) && ( o += u ( e ) . charsLeftOver , o += 10 * u ( e ) . unusedTokens . length , u ( e ) . score = o , ( null == i || i > o ) && ( i = o , n = e ) ) ; a ( t , n || e ) } function St ( t ) { if ( ! t . _d ) { var e = k ( t . _i ) ; t . _a = [ e . year , e . month , e . day || e . date , e . hour , e . minute , e . second , e . millisecond ] , vt ( t ) } } function _t ( t ) { var e , r = t . _i , o = t . _f ; return t . _locale = t . _locale || _ ( t . _l ) , null === r || void 0 === o && "" === r ? h ( { nullInput : ! 0 } ) : ( "string" == typeof r && ( t . _i = r = t . _locale . preparse ( r ) ) , p ( r ) ? new f ( Z ( r ) ) : ( n ( o ) ? wt ( t ) : o ? bt ( t ) : i ( r ) ? t . _d = r : Ct ( t ) , e = new f ( Z ( t ) ) , e . _nextDay && ( e . add ( 1 , "d" ) , e . _nextDay = void 0 ) , e ) ) } function Ct ( e ) { var o = e . _i ; void 0 === o ? e . _d = new Date : i ( o ) ? e . _d = new Date ( ( + o ) ) : "string" == typeof o ? et
u . oom = n . orderOfMagnitude ( u . valueRange ) , u . step = Math . pow ( 10 , u . oom ) , u . min = Math . floor ( u . low / u . step ) * u . step , u . max = Math . ceil ( u . high / u . step ) * u . step , u . range = u . max - u . min , u . numberOfSteps = Math . round ( u . range / u . step ) ; var c = n . projectLength ( t , u . step , u ) , h = i > c , d = r ? n . rho ( u . range ) : 0 ; if ( r && n . projectLength ( t , 1 , u ) >= i ) u . step = 1 ; else if ( r && d < u . step && n . projectLength ( t , d , u ) >= i ) u . step = d ; else for ( ; ; ) { if ( h && n . projectLength ( t , u . step , u ) <= i ) u . step *= 2 ; else { if ( h || ! ( n . projectLength ( t , u . step / 2 , u ) >= i ) ) break ; if ( u . step /= 2 , r && u . step % 1 !== 0 ) { u . step *= 2 ; break } } if ( l ++ > 1e3 ) throw new Error ( "Exceeded maximum number of iterations while optimizing scale step!" ) } for ( a = u . min , s = u . max ; a + u . step <= u . low ; ) a += u . step ; for ( ; s - u . step >= u . high ; ) s -= u . step ; for ( u . min = a , u . max = s , u . range = u . max - u . min , u . values = [ ] , o = u . min ; o <= u . max ; o += u . step ) u . values . push ( n . roundWithPrecision ( o ) ) ; return u } , n . polarToCartesian = function ( t , e , n , i ) { var r = ( i - 90 ) * Math . PI / 180 ; return { x : t + n * Math . cos ( r ) , y : e + n * Math . sin ( r ) } } , n . createChartRect = function ( t , e , i ) { var r = ! ( ! e . axisX && ! e . axisY ) , o = r ? e . axisY . offset : 0 , a = r ? e . axisX . offset : 0 , s = t . width ( ) || n . stripUnit ( e . width ) || 0 , l = t . height ( ) || n . stripUnit ( e . height ) || 0 , u = n . normalizePadding ( e . chartPadding , i ) ; s = Math . max ( s , o + u . left + u . right ) , l = Math . max ( l , a + u . top + u . bottom ) ; var c = { padding : u , width : function ( ) { return this . x2 - this . x1 } , height : function ( ) { return this . y1 - this . y2 } } ; return r ? ( "start" === e . axisX . position ? ( c . y2 = u . top + a , c . y1 = Math . max ( l - u . bottom , c . y2 + 1 ) ) : ( c . y2 = u . top , c . y1 = Math . max ( l - u . bottom - a , c . y2 + 1 ) ) , "start" === e . axisY . position ? ( c . x1 = u . left + o , c . x2 = Math . max ( s - u . right , c . x1 + 1 ) ) : ( c . x1 = u . left , c . x2 = Math . max ( s - u . right - o , c . x1 + 1 ) ) ) : ( c . x1 = u . left , c . x2 = Math . max ( s - u . right , c . x1 + 1 ) , c . y2 = u . top , c . y1 = Math . max ( l - u . bottom , c . y2 + 1 ) ) , c } , n . createGrid = function ( t , e , i , r , o , a , s , l ) { var u = { } ; u [ i . units . pos + "1" ] = t , u [ i . units . pos + "2" ] = t , u [ i . counterUnits . pos + "1" ] = r , u [ i . counterUnits . pos + "2" ] = r + o ; var c = a . elem ( "line" , u , s . join ( " " ) ) ; l . emit ( "draw" , n . extend ( { type : "grid" , axis : i , index : e , group : a , element : c } , u ) ) } , n . createLabel = function ( t , e , i , r , o , a , s , l , u , c , h ) { var d , f = { } ; if ( f [ o . units . pos ] = t + s [ o . units . pos ] , f [ o . counterUnits . pos ] = s [ o . counterUnits . pos ] , f [ o . units . len ] = e , f [ o . counterUnits . len ] = a - 10 , c ) { var p = '<span class="' + u . join ( " " ) + '" style="' + o . units . len + ": " + Math . round ( f [ o . units . len ] ) + "px; " + o . counterUnits . len + ": " + Math . round ( f [ o . counterUnits . len ] ) + 'px">' + r [ i ] + "</span>" ; d = l . foreignObject ( p , n . extend ( { style : "overflow: visible;" } , f ) ) } else d = l . elem ( "text" , f , u . join ( " " ) ) . text ( r [ i ] ) ; h . emit ( "draw" , n . extend ( { type : "label" , axis : o , index : i , group : l , element : d , text : r [ i ] } , f ) ) } , n . getSeriesOption = function ( t , e , n ) { if ( t . name && e . series && e . series [ t . name ] ) { var i = e . series [ t . name ] ; return i . hasOwnProperty ( n ) ? i [ n ] : e [ n ] } return e [ n ] } , n . optionsProvider = function ( e , i , r ) { function o ( e ) { var o = s ; if ( s = n . extend ( { } , u ) , i ) for ( l = 0 ; l < i . length ; l ++ ) { var a = t . matchMedia ( i [ l ] [ 0 ] ) ; a . matches && ( s = n . extend ( s , i [ l ] [ 1 ] ) ) } r && ! e && r . emit ( "optionsChanged" , { previousOptions : o , currentOptions : s } ) } function a ( ) { c . forEach ( function ( t ) { t . removeListener ( o ) } ) } var s , l , u = n . extend ( { } , e ) , c = [ ] ; if ( ! t . matchMedia ) throw "window.matchMedia not found! Make sure you're using a polyfill." ; if ( i ) for ( l = 0 ; l < i . length ; l ++ ) { var h = t . matchMedia ( i [ l ] [ 0 ] ) ; h . addListener ( o ) , c . push ( h ) } return o ( ! 0 ) , { removeMediaQueryListeners : a , getCurrentOptions : function ( ) { return n . extend ( { } , s ) } } } } ( window , document , t ) , function ( t , e , n ) { "use strict" ; n . Interpolation = { } , n . Interpolation . none = function ( ) { return function ( t , e ) { for ( var i = new n . Svg . Path , r = ! 0 , o = 1 ; o < t . length ; o += 2 ) { var a = e [ ( o - 1 ) / 2 ] ; void 0 === a . value ? r = ! 0 : r ? ( i . move ( t [ o - 1 ] , t [ o ] , ! 1 , a ) , r = ! 1 ) : i . line ( t [ o - 1 ] , t [ o ] , ! 1 , a ) } return i } } , n . Interpolation . simple = function ( t ) { var e = { divisor : 2 } ; t = n . extend ( { } , e , t ) ; var i = 1 / Math . max ( 1 , t . divisor ) ; return function ( t , e ) { for ( var r = new n . Svg . Path , o = ! 0 , a = 2 ; a < t . length ; a += 2 ) { var s = t [ a - 2 ] , l = t [ a - 1 ] , u = t [ a ] , c = t [ a + 1 ] , h = ( u - s ) * i , d = e [ a / 2 - 1 ] , f = e [ a / 2 ] ; void 0 === d . value ? o = ! 0 : ( o && r . move ( s , l , ! 1 , d ) , void 0 !== f . value && ( r . curve ( s + h , l , u - h , c , u , c , ! 1 , f ) , o = ! 1 ) ) } return r } } , n . Interpolation . cardinal = function ( t ) { function e ( t , e ) { for ( var n = [ ] , i = ! 0 , r = 0 ; r < t . length ; r += 2 ) void 0 === e [ r / 2 ] . value ? i = ! 0 : ( i && ( n . push ( { pathCoordinates : [ ] , valueData : [ ] } ) , i = ! 1 ) , n [ n . length - 1 ] . pathCoordinates . push ( t [ r ] , t [ r + 1 ] ) , n [ n . length - 1 ] . valueData . push (
"string" == typeof e . quoteChar && ( h = e . quoteChar ) , "boolean" == typeof e . header && ( l = e . header ) ) } function i ( t ) { if ( "object" != typeof t ) return [ ] ; var e = [ ] ; for ( var n in t ) e . push ( n ) ; return e } function r ( t , e ) { var n = "" ; "string" == typeof t && ( t = JSON . parse ( t ) ) , "string" == typeof e && ( e = JSON . parse ( e ) ) ; var i = t instanceof Array && t . length > 0 , r = ! ( e [ 0 ] instanceof Array ) ; if ( i && l ) { for ( var a = 0 ; a < t . length ; a ++ ) a > 0 && ( n += u ) , n += o ( t [ a ] , a ) ; e . length > 0 && ( n += c ) } for ( var s = 0 ; s < e . length ; s ++ ) { for ( var h = i ? t . length : e [ s ] . length , d = 0 ; d < h ; d ++ ) { d > 0 && ( n += u ) ; var f = i && r ? t [ d ] : d ; n += o ( e [ s ] [ f ] , d ) } s < e . length - 1 && ( n += c ) } return n } function o ( t , e ) { if ( "undefined" == typeof t || null === t ) return "" ; t = t . toString ( ) . replace ( d , h + h ) ; var n = "boolean" == typeof s && s || s instanceof Array && s [ e ] || a ( t , M . BAD _DELIMITERS ) || t . indexOf ( u ) > - 1 || " " === t . charAt ( 0 ) || " " === t . charAt ( t . length - 1 ) ; return n ? h + t + h : t } function a ( t , e ) { for ( var n = 0 ; n < e . length ; n ++ ) if ( t . indexOf ( e [ n ] ) > - 1 ) return ! 0 ; return ! 1 } var s = ! 1 , l = ! 0 , u = "," , c = "\r\n" , h = '"' ; n ( ) ; var d = new RegExp ( h , "g" ) ; if ( "string" == typeof t && ( t = JSON . parse ( t ) ) , t instanceof Array ) { if ( ! t . length || t [ 0 ] instanceof Array ) return r ( null , t ) ; if ( "object" == typeof t [ 0 ] ) return r ( i ( t [ 0 ] ) , t ) } else if ( "object" == typeof t ) return "string" == typeof t . data && ( t . data = JSON . parse ( t . data ) ) , t . data instanceof Array && ( t . fields || ( t . fields = t . meta && t . meta . fields ) , t . fields || ( t . fields = t . data [ 0 ] instanceof Array ? t . fields : i ( t . data [ 0 ] ) ) , t . data [ 0 ] instanceof Array || "object" == typeof t . data [ 0 ] || ( t . data = [ t . data ] ) ) , r ( t . fields || [ ] , t . data || [ ] ) ; throw "exception: Unable to serialize unrecognized input" } function n ( t ) { function e ( t ) { var e = g ( t ) ; e . chunkSize = parseInt ( e . chunkSize ) , t . step || t . chunk || ( e . chunkSize = null ) , this . _handle = new s ( e ) , this . _handle . streamer = this , this . _config = e } this . _handle = null , this . _paused = ! 1 , this . _finished = ! 1 , this . _input = null , this . _baseIndex = 0 , this . _partialLine = "" , this . _rowCount = 0 , this . _start = 0 , this . _nextChunk = null , this . isFirstChunk = ! 0 , this . _completeResults = { data : [ ] , errors : [ ] , meta : { } } , e . call ( this , t ) , this . parseChunk = function ( t ) { if ( this . isFirstChunk && v ( this . _config . beforeFirstChunk ) ) { var e = this . _config . beforeFirstChunk ( t ) ; void 0 !== e && ( t = e ) } this . isFirstChunk = ! 1 ; var n = this . _partialLine + t ; this . _partialLine = "" ; var i = this . _handle . parse ( n , this . _baseIndex , ! this . _finished ) ; if ( ! this . _handle . paused ( ) && ! this . _handle . aborted ( ) ) { var r = i . meta . cursor ; this . _finished || ( this . _partialLine = n . substring ( r - this . _baseIndex ) , this . _baseIndex = r ) , i && i . data && ( this . _rowCount += i . data . length ) ; var o = this . _finished || this . _config . preview && this . _rowCount >= this . _config . preview ; if ( w ) b . postMessage ( { results : i , workerId : M . WORKER _ID , finished : o } ) ; else if ( v ( this . _config . chunk ) ) { if ( this . _config . chunk ( i , this . _handle ) , this . _paused ) return ; i = void 0 , this . _completeResults = void 0 } return this . _config . step || this . _config . chunk || ( this . _completeResults . data = this . _completeResults . data . concat ( i . data ) , this . _completeResults . errors = this . _completeResults . errors . concat ( i . errors ) , this . _completeResults . meta = i . meta ) , ! o || ! v ( this . _config . complete ) || i && i . meta . aborted || this . _config . complete ( this . _completeResults , this . _input ) , o || i && i . meta . paused || this . _nextChunk ( ) , i } } , this . _sendError = function ( t ) { v ( this . _config . error ) ? this . _config . error ( t ) : w && this . _config . error && b . postMessage ( { workerId : M . WORKER _ID , error : t , finished : ! 1 } ) } } function i ( t ) { function e ( t ) { var e = t . getResponseHeader ( "Content-Range" ) ; return null === e ? - 1 : parseInt ( e . substr ( e . lastIndexOf ( "/" ) + 1 ) ) } t = t || { } , t . chunkSize || ( t . chunkSize = M . RemoteChunkSize ) , n . call ( this , t ) ; var i ; x ? this . _nextChunk = function ( ) { this . _readChunk ( ) , this . _chunkLoaded ( ) } : this . _nextChunk = function ( ) { this . _readChunk ( ) } , this . stream = function ( t ) { this . _input = t , this . _nextChunk ( ) } , this . _readChunk = function ( ) { if ( this . _finished ) return void this . _chunkLoaded ( ) ; if ( i = new XMLHttpRequest , this . _config . withCredentials && ( i . withCredentials = this . _config . withCredentials ) , x || ( i . onload = m ( this . _chunkLoaded , this ) , i . onerror = m ( this . _chunkError , this ) ) , i . open ( "GET" , this . _input , ! x ) , this . _config . downloadRequestHeaders ) { var t = this . _config . downloadRequestHeaders ; for ( var e in t ) i . setRequestHeader ( e , t [ e ] ) } if ( this . _config . chunkSize ) { var n = this . _start + this . _config . chunkSize - 1 ; i . setRequestHeader ( "Range" , "bytes=" + this . _start + "
} , I : function ( t , e ) { return Wt ( t . getHours ( ) % 12 || 12 , e , 2 ) } , j : function ( t , e ) { return Wt ( 1 + cs . dayOfYear ( t ) , e , 3 ) } , L : function ( t , e ) { return Wt ( t . getMilliseconds ( ) , e , 3 ) } , m : function ( t , e ) { return Wt ( t . getMonth ( ) + 1 , e , 2 ) } , M : function ( t , e ) { return Wt ( t . getMinutes ( ) , e , 2 ) } , p : function ( t ) { return p [ + ( t . getHours ( ) >= 12 ) ] } , S : function ( t , e ) { return Wt ( t . getSeconds ( ) , e , 2 ) } , U : function ( t , e ) { return Wt ( cs . sundayOfYear ( t ) , e , 2 ) } , w : function ( t ) { return t . getDay ( ) } , W : function ( t , e ) { return Wt ( cs . mondayOfYear ( t ) , e , 2 ) } , x : e ( d ) , X : e ( f ) , y : function ( t , e ) { return Wt ( t . getFullYear ( ) % 100 , e , 2 ) } , Y : function ( t , e ) { return Wt ( t . getFullYear ( ) % 1e4 , e , 4 ) } , Z : oe , "%" : function ( ) { return "%" } } , A = { a : i , A : r , b : o , B : a , c : s , d : Qt , e : Qt , H : ee , I : ee , j : te , L : re , m : Jt , M : ne , p : c , S : ie , U : Yt , w : qt , W : Gt , x : l , X : u , y : Vt , Y : Xt , Z : Zt , "%" : ae } ; return e } function Wt ( t , e , n ) { var i = 0 > t ? "-" : "" , r = ( i ? - t : t ) + "" , o = r . length ; return i + ( n > o ? new Array ( n - o + 1 ) . join ( e ) + r : r ) } function $t ( t ) { return new RegExp ( "^(?:" + t . map ( na . requote ) . join ( "|" ) + ")" , "i" ) } function Ut ( t ) { for ( var e = new s , n = - 1 , i = t . length ; ++ n < i ; ) e . set ( t [ n ] . toLowerCase ( ) , n ) ; return e } function qt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 1 ) ) ; return i ? ( t . w = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function Yt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n ) ) ; return i ? ( t . U = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function Gt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n ) ) ; return i ? ( t . W = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function Xt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 4 ) ) ; return i ? ( t . y = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function Vt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 2 ) ) ; return i ? ( t . y = Kt ( + i [ 0 ] ) , n + i [ 0 ] . length ) : - 1 } function Zt ( t , e , n ) { return /^[+-]\d{4}$/ . test ( e = e . slice ( n , n + 5 ) ) ? ( t . Z = - e , n + 5 ) : - 1 } function Kt ( t ) { return t + ( t > 68 ? 1900 : 2e3 ) } function Jt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 2 ) ) ; return i ? ( t . m = i [ 0 ] - 1 , n + i [ 0 ] . length ) : - 1 } function Qt ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 2 ) ) ; return i ? ( t . d = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function te ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 3 ) ) ; return i ? ( t . j = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function ee ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 2 ) ) ; return i ? ( t . H = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function ne ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 2 ) ) ; return i ? ( t . M = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function ie ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 2 ) ) ; return i ? ( t . S = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function re ( t , e , n ) { ps . lastIndex = 0 ; var i = ps . exec ( e . slice ( n , n + 3 ) ) ; return i ? ( t . L = + i [ 0 ] , n + i [ 0 ] . length ) : - 1 } function oe ( t ) { var e = t . getTimezoneOffset ( ) , n = e > 0 ? "-" : "+" , i = 0 | pa ( e ) / 60 , r = pa ( e ) % 60 ; return n + Wt ( i , "0" , 2 ) + Wt ( r , "0" , 2 ) } function ae ( t , e , n ) { gs . lastIndex = 0 ; var i = gs . exec ( e . slice ( n , n + 1 ) ) ; return i ? n + i [ 0 ] . length : - 1 } function se ( t ) { for ( var e = t . length , n = - 1 ; ++ n < e ; ) t [ n ] [ 0 ] = this ( t [ n ] [ 0 ] ) ; return function ( e ) { for ( var n = 0 , i = t [ n ] ; ! i [ 1 ] ( e ) ; ) i = t [ ++ n ] ; return i [ 0 ] ( e ) } } function le ( ) { } function ue ( t , e , n ) { var i = n . s = t + e , r = i - t , o = i - r ; n . t = t - o + ( e - r ) } function ce ( t , e ) { t && bs . hasOwnProperty ( t . type ) && bs [ t . type ] ( t , e ) } function he ( t , e , n ) { var i , r = - 1 , o = t . length - n ; for ( e . lineStart ( ) ; ++ r < o ; ) i = t [ r ] , e . point ( i [ 0 ] , i [ 1 ] , i [ 2 ] ) ; e . lineEnd ( ) } function de ( t , e ) { var n = - 1 , i = t . length ; for ( e . polygonStart ( ) ; ++ n < i ; ) he ( t [ n ] , e , 1 ) ; e . polygonEnd ( ) } function fe ( ) { function t ( t , e ) { t *= Ra , e = e * Ra / 2 + Na / 4 ; var n = t - i , a = n >= 0 ? 1 : - 1 , s = a * n , l = Math . cos ( e ) , u = Math . sin ( e ) , c = o * u , h = r * l + c * Math . cos ( s ) , d = c * a * Math . sin ( s ) ; ws . add ( Math . atan2 ( d , h ) ) , i = t , r = l , o = u } var e , n , i , r , o ; Ss . point = function ( a , s ) { Ss . point = t , i = ( e = a ) * Ra , r = Math . cos ( s = ( n = s ) * Ra / 2 + Na / 4 ) , o = Math . sin ( s ) } , Ss . lineEnd = function ( ) { t ( e , n ) } } function pe ( t ) { var e = t [ 0 ] , n = t [ 1 ] , i = Math . cos ( n ) ; return [ i * Math . cos ( e ) , i * Math . sin ( e ) , Math . sin ( n ) ] } function ge ( t , e ) { return t [ 0 ] * e [ 0 ] + t [ 1 ] * e [ 1 ] + t [ 2 ] * e [ 2 ] } function me ( t , e ) { return [ t [ 1 ] * e [ 2 ] - t [ 2 ] * e [ 1 ] , t [ 2 ] * e [ 0 ] - t [ 0 ] * e [ 2 ] , t [ 0 ] * e [ 1 ] - t [ 1 ] * e [ 0 ] ] } function ve ( t , e ) { t [ 0 ] += e [ 0 ] , t [ 1 ] += e [ 1 ] , t [ 2 ] += e [ 2 ] } function ye ( t , e ) { return [ t [ 0 ] * e , t [ 1 ] * e , t [ 2 ] * e ] } function be ( t ) { var e = Math . sqrt ( t [ 0 ] * t [ 0 ] + t [ 1 ] * t [ 1 ] + t [ 2 ] * t [ 2 ] ) ; t [ 0 ] /= e , t [ 1 ] /= e , t [ 2 ] /= e } function xe ( t ) { return [ Math . atan2 ( t [ 1 ] , t [ 0 ] ) , tt ( t [ 2 ] ) ] } function we ( t , e ) { return pa ( t [ 0 ] - e [ 0 ] ) < Oa && pa ( t [ 1 ] - e [ 1 ] ) < Oa } function Se ( t , e ) { t *= Ra ; var n = Math . cos ( e *= Ra ) ; _e ( n * Math . cos ( t ) , n * Math . sin ( t ) , Math . sin ( e ) ) } function _e ( t , e , n ) { ++ _s , Ms += ( t - Ms ) / _s , ks += ( e - ks ) / _s , Ts += ( n - Ts ) / _s } function Ce ( ) { function t ( t , r ) { t *= Ra ; var
t . charge += t . pointCharge = u , i += u * t . point . x , r += u * t . point . y } t . cx = i / t . charge , t . cy = r / t . charge } function Ji ( t , e ) { return na . rebind ( t , e , "sort" , "children" , "value" ) , t . nodes = t , t . links = rr , t } function Qi ( t , e ) { for ( var n = [ t ] ; null != ( t = n . pop ( ) ) ; ) if ( e ( t ) , ( r = t . children ) && ( i = r . length ) ) for ( var i , r ; -- i >= 0 ; ) n . push ( r [ i ] ) } function tr ( t , e ) { for ( var n = [ t ] , i = [ ] ; null != ( t = n . pop ( ) ) ; ) if ( i . push ( t ) , ( o = t . children ) && ( r = o . length ) ) for ( var r , o , a = - 1 ; ++ a < r ; ) n . push ( o [ a ] ) ; for ( ; null != ( t = i . pop ( ) ) ; ) e ( t ) } function er ( t ) { return t . children } function nr ( t ) { return t . value } function ir ( t , e ) { return e . value - t . value } function rr ( t ) { return na . merge ( t . map ( function ( t ) { return ( t . children || [ ] ) . map ( function ( e ) { return { source : t , target : e } } ) } ) ) } function or ( t ) { return t . x } function ar ( t ) { return t . y } function sr ( t , e , n ) { t . y0 = e , t . y = n } function lr ( t ) { return na . range ( t . length ) } function ur ( t ) { for ( var e = - 1 , n = t [ 0 ] . length , i = [ ] ; ++ e < n ; ) i [ e ] = 0 ; return i } function cr ( t ) { for ( var e , n = 1 , i = 0 , r = t [ 0 ] [ 1 ] , o = t . length ; o > n ; ++ n ) ( e = t [ n ] [ 1 ] ) > r && ( i = n , r = e ) ; return i } function hr ( t ) { return t . reduce ( dr , 0 ) } function dr ( t , e ) { return t + e [ 1 ] } function fr ( t , e ) { return pr ( t , Math . ceil ( Math . log ( e . length ) / Math . LN2 + 1 ) ) } function pr ( t , e ) { for ( var n = - 1 , i = + t [ 0 ] , r = ( t [ 1 ] - i ) / e , o = [ ] ; ++ n <= e ; ) o [ n ] = r * n + i ; return o } function gr ( t ) { return [ na . min ( t ) , na . max ( t ) ] } function mr ( t , e ) { return t . value - e . value } function vr ( t , e ) { var n = t . _pack _next ; t . _pack _next = e , e . _pack _prev = t , e . _pack _next = n , n . _pack _prev = e } function yr ( t , e ) { t . _pack _next = e , e . _pack _prev = t } function br ( t , e ) { var n = e . x - t . x , i = e . y - t . y , r = t . r + e . r ; return . 999 * r * r > n * n + i * i } function xr ( t ) { function e ( t ) { c = Math . min ( t . x - t . r , c ) , h = Math . max ( t . x + t . r , h ) , d = Math . min ( t . y - t . r , d ) , f = Math . max ( t . y + t . r , f ) } if ( ( n = t . children ) && ( u = n . length ) ) { var n , i , r , o , a , s , l , u , c = 1 / 0 , h = - 1 / 0 , d = 1 / 0 , f = - 1 / 0 ; if ( n . forEach ( wr ) , i = n [ 0 ] , i . x = - i . r , i . y = 0 , e ( i ) , u > 1 && ( r = n [ 1 ] , r . x = r . r , r . y = 0 , e ( r ) , u > 2 ) ) for ( o = n [ 2 ] , Cr ( i , r , o ) , e ( o ) , vr ( i , o ) , i . _pack _prev = o , vr ( o , r ) , r = i . _pack _next , a = 3 ; u > a ; a ++ ) { Cr ( i , r , o = n [ a ] ) ; var p = 0 , g = 1 , m = 1 ; for ( s = r . _pack _next ; s !== r ; s = s . _pack _next , g ++ ) if ( br ( s , o ) ) { p = 1 ; break } if ( 1 == p ) for ( l = i . _pack _prev ; l !== s . _pack _prev && ! br ( l , o ) ; l = l . _pack _prev , m ++ ) ; p ? ( m > g || g == m && r . r < i . r ? yr ( i , r = s ) : yr ( i = l , r ) , a -- ) : ( vr ( i , o ) , r = o , e ( o ) ) } var v = ( c + h ) / 2 , y = ( d + f ) / 2 , b = 0 ; for ( a = 0 ; u > a ; a ++ ) o = n [ a ] , o . x -= v , o . y -= y , b = Math . max ( b , o . r + Math . sqrt ( o . x * o . x + o . y * o . y ) ) ; t . r = b , n . forEach ( Sr ) } } function wr ( t ) { t . _pack _next = t . _pack _prev = t } function Sr ( t ) { delete t . _pack _next , delete t . _pack _prev } function _r ( t , e , n , i ) { var r = t . children ; if ( t . x = e += i * t . x , t . y = n += i * t . y , t . r *= i , r ) for ( var o = - 1 , a = r . length ; ++ o < a ; ) _r ( r [ o ] , e , n , i ) } function Cr ( t , e , n ) { var i = t . r + n . r , r = e . x - t . x , o = e . y - t . y ; if ( i && ( r || o ) ) { var a = e . r + n . r , s = r * r + o * o ; a *= a , i *= i ; var l = . 5 + ( i - a ) / ( 2 * s ) , u = Math . sqrt ( Math . max ( 0 , 2 * a * ( i + s ) - ( i -= s ) * i - a * a ) ) / ( 2 * s ) ; n . x = t . x + l * r + u * o , n . y = t . y + l * o - u * r } else n . x = t . x + i , n . y = t . y } function Mr ( t , e ) { return t . parent == e . parent ? 1 : 2 } function kr ( t ) { var e = t . children ; return e . length ? e [ 0 ] : t . t } function Tr ( t ) { var e , n = t . children ; return ( e = n . length ) ? n [ e - 1 ] : t . t } function Dr ( t , e , n ) { var i = n / ( e . i - t . i ) ; e . c -= i , e . s += n , t . c += i , e . z += n , e . m += n } function Ar ( t ) { for ( var e , n = 0 , i = 0 , r = t . children , o = r . length ; -- o >= 0 ; ) e = r [ o ] , e . z += n , e . m += n , n += e . s + ( i += e . c ) } function Er ( t , e , n ) { return t . a . parent === e . parent ? t . a : n } function Pr ( t ) { return 1 + na . max ( t , function ( t ) { return t . y } ) } function Or ( t ) { return t . reduce ( function ( t , e ) { return t + e . x } , 0 ) / t . length } function Lr ( t ) { var e = t . children ; return e && e . length ? Lr ( e [ 0 ] ) : t } function Nr ( t ) { var e , n = t . children ; return n && ( e = n . length ) ? Nr ( n [ e - 1 ] ) : t } function Ir ( t ) { return { x : t . x , y : t . y , dx : t . dx , dy : t . dy } } function jr ( t , e ) { var n = t . x + e [ 3 ] , i = t . y + e [ 0 ] , r = t . dx - e [ 1 ] - e [ 3 ] , o = t . dy - e [ 0 ] - e [ 2 ] ; return 0 > r && ( n += r / 2 , r = 0 ) , 0 > o && ( i += o / 2 , o = 0 ) , { x : n , y : i , dx : r , dy : o } } function Fr ( t ) { var e = t [ 0 ] , n = t [ t . length - 1 ] ; return n > e ? [ e , n ] : [ n , e ] } function Rr ( t ) { return t . rangeExtent ? t . rangeExtent ( ) : Fr ( t . range ( ) ) } function Hr ( t , e , n , i ) { var r = n ( t [ 0 ] , t [ 1 ] ) , o = i ( e [ 0 ] , e [ 1 ] ) ; return function ( t ) { return o ( r ( t ) ) } } function zr ( t , e ) { var n , i = 0 , r = t . length - 1 , o = t [ i ] , a = t [ r ] ; return o > a && ( n = i , i = r , r = n , n = o , o = a , a = n ) , t [ i ] = e . floor ( o ) , t [ r ] = e . ceil ( a ) , t } function Br ( t ) { return t ? { floor : function ( e ) { return Math . floor ( e / t ) * t } , ceil : function ( e ) { return Math . ceil ( e / t ) * t } } : xl } function Wr ( t , e , n , i ) { var r = [ ] , o = [ ] , a = 0 , s = Math . min ( t . length , e . length ) - 1 ; for ( t [ s ] < t [ 0 ] && ( t = t . slice ( ) . reverse ( ) , e
i ? ( u = i . apply ( c , arguments ) , u = [ u . x - b [ 0 ] , u . y - b [ 1 ] ] ) : u = [ 0 , 0 ] , f ( { type : "dragstart" } ) } } var n = _ ( t , "drag" , "dragstart" , "dragend" ) , i = null , r = e ( y , na . mouse , Z , "mousemove" , "mouseup" ) , o = e ( X , na . touch , V , "touchmove" , "touchend" ) ; return t . origin = function ( e ) { return arguments . length ? ( i = e , t ) : i } , na . rebind ( t , n , "on" ) } , na . touches = function ( t , e ) { return arguments . length < 2 && ( e = S ( ) . touches ) , e ? ra ( e ) . map ( function ( e ) { var n = G ( t , e ) ; return n . identifier = e . identifier , n } ) : [ ] } ; var Oa = 1e-6 , La = Oa * Oa , Na = Math . PI , Ia = 2 * Na , ja = Ia - Oa , Fa = Na / 2 , Ra = Na / 180 , Ha = 180 / Na , za = Math . SQRT2 , Ba = 2 , Wa = 4 ; na . interpolateZoom = function ( t , e ) { function n ( t ) { var e = t * y ; if ( v ) { var n = nt ( g ) , a = o / ( Ba * d ) * ( n * it ( za * e + g ) - et ( g ) ) ; return [ i + a * u , r + a * c , o * n / nt ( za * e + g ) ] } return [ i + t * u , r + t * c , o * Math . exp ( za * e ) ] } var i = t [ 0 ] , r = t [ 1 ] , o = t [ 2 ] , a = e [ 0 ] , s = e [ 1 ] , l = e [ 2 ] , u = a - i , c = s - r , h = u * u + c * c , d = Math . sqrt ( h ) , f = ( l * l - o * o + Wa * h ) / ( 2 * o * Ba * d ) , p = ( l * l - o * o - Wa * h ) / ( 2 * l * Ba * d ) , g = Math . log ( Math . sqrt ( f * f + 1 ) - f ) , m = Math . log ( Math . sqrt ( p * p + 1 ) - p ) , v = m - g , y = ( v || Math . log ( l / o ) ) / za ; return n . duration = 1e3 * y , n } , na . behavior . zoom = function ( ) { function t ( t ) { t . on ( E , c ) . on ( qa + ".zoom" , d ) . on ( "dblclick.zoom" , f ) . on ( L , h ) } function e ( t ) { return [ ( t [ 0 ] - M . x ) / M . k , ( t [ 1 ] - M . y ) / M . k ] } function n ( t ) { return [ t [ 0 ] * M . k + M . x , t [ 1 ] * M . k + M . y ] } function i ( t ) { M . k = Math . max ( T [ 0 ] , Math . min ( T [ 1 ] , t ) ) } function r ( t , e ) { e = n ( e ) , M . x += t [ 0 ] - e [ 0 ] , M . y += t [ 1 ] - e [ 1 ] } function o ( e , n , o , a ) { e . _ _chart _ _ = { x : M . x , y : M . y , k : M . k } , i ( Math . pow ( 2 , a ) ) , r ( g = n , o ) , e = na . select ( e ) , D > 0 && ( e = e . transition ( ) . duration ( D ) ) , e . call ( t . event ) } function a ( ) { x && x . domain ( b . range ( ) . map ( function ( t ) { return ( t - M . x ) / M . k } ) . map ( b . invert ) ) , C && C . domain ( S . range ( ) . map ( function ( t ) { return ( t - M . y ) / M . k } ) . map ( S . invert ) ) } function s ( t ) { A ++ || t ( { type : "zoomstart" } ) } function l ( t ) { a ( ) , t ( { type : "zoom" , scale : M . k , translate : [ M . x , M . y ] } ) } function u ( t ) { -- A || t ( { type : "zoomend" } ) , g = null } function c ( ) { function t ( ) { c = 1 , r ( na . mouse ( i ) , d ) , l ( a ) } function n ( ) { h . on ( P , null ) . on ( O , null ) , f ( c && na . event . target === o ) , u ( a ) } var i = this , o = na . event . target , a = N . of ( i , arguments ) , c = 0 , h = na . select ( sa ) . on ( P , t ) . on ( O , n ) , d = e ( na . mouse ( i ) ) , f = Y ( ) ; Rl . call ( i ) , s ( a ) } function h ( ) { function t ( ) { var t = na . touches ( p ) ; return f = M . k , t . forEach ( function ( t ) { t . identifier in m && ( m [ t . identifier ] = e ( t ) ) } ) , t } function n ( ) { var e = na . event . target ; na . select ( e ) . on ( x , a ) . on ( S , d ) , _ . push ( e ) ; for ( var n = na . event . changedTouches , i = 0 , r = n . length ; r > i ; ++ i ) m [ n [ i ] . identifier ] = null ; var s = t ( ) , l = Date . now ( ) ; if ( 1 === s . length ) { if ( 500 > l - y ) { var u = s [ 0 ] ; o ( p , u , m [ u . identifier ] , Math . floor ( Math . log ( M . k ) / Math . LN2 ) + 1 ) , w ( ) } y = l } else if ( s . length > 1 ) { var u = s [ 0 ] , c = s [ 1 ] , h = u [ 0 ] - c [ 0 ] , f = u [ 1 ] - c [ 1 ] ; v = h * h + f * f } } function a ( ) { var t , e , n , o , a = na . touches ( p ) ; Rl . call ( p ) ; for ( var s = 0 , u = a . length ; u > s ; ++ s , o = null ) if ( n = a [ s ] , o = m [ n . identifier ] ) { if ( e ) break ; t = n , e = o } if ( o ) { var c = ( c = n [ 0 ] - t [ 0 ] ) * c + ( c = n [ 1 ] - t [ 1 ] ) * c , h = v && Math . sqrt ( c / v ) ; t = [ ( t [ 0 ] + n [ 0 ] ) / 2 , ( t [ 1 ] + n [ 1 ] ) / 2 ] , e = [ ( e [ 0 ] + o [ 0 ] ) / 2 , ( e [ 1 ] + o [ 1 ] ) / 2 ] , i ( h * f ) } y = null , r ( t , e ) , l ( g ) } function d ( ) { if ( na . event . touches . length ) { for ( var e = na . event . changedTouches , n = 0 , i = e . length ; i > n ; ++ n ) delete m [ e [ n ] . identifier ] ; for ( var r in m ) return void t ( ) } na . selectAll ( _ ) . on ( b , null ) , C . on ( E , c ) . on ( L , h ) , k ( ) , u ( g ) } var f , p = this , g = N . of ( p , arguments ) , m = { } , v = 0 , b = ".zoom-" + na . event . changedTouches [ 0 ] . identifier , x = "touchmove" + b , S = "touchend" + b , _ = [ ] , C = na . select ( p ) , k = Y ( ) ; n ( ) , s ( g ) , C . on ( E , null ) . on ( L , n ) } function d ( ) { var t = N . of ( this , arguments ) ; v ? clearTimeout ( v ) : ( p = e ( g = m || na . mouse ( this ) ) , Rl . call ( this ) , s ( t ) ) , v = setTimeout ( function ( ) { v = null , u ( t ) } , 50 ) , w ( ) , i ( Math . pow ( 2 , . 002 * $a ( ) ) * M . k ) , r ( g , p ) , l ( t ) } function f ( ) { var t = na . mouse ( this ) , n = Math . log ( M . k ) / Math . LN2 ; o ( this , t , e ( t ) , na . event . shiftKey ? Math . ceil ( n ) - 1 : Math . floor ( n ) + 1 ) } var p , g , m , v , y , b , x , S , C , M = { x : 0 , y : 0 , k : 1 } , k = [ 960 , 500 ] , T = Ua , D = 250 , A = 0 , E = "mousedown.zoom" , P = "mousemove.zoom" , O = "mouseup.zoom" , L = "touchstart.zoom" , N = _ ( t , "zoomstart" , "zoom" , "zoomend" ) ; return t . event = function ( t ) { t . each ( function ( ) { var t = N . of ( this , arguments ) , e = M ; jl ? na . select ( this ) . transition ( ) . each ( "start.zoom" , function ( ) { M = this . _ _chart _ _ || { x : 0 , y : 0 , k : 1 } , s ( t ) } ) . tween ( "zoom:zoom" , function ( ) { var n = k [ 0 ] , i = k [ 1 ] , r = g ? g [ 0 ] : n / 2 , o = g ? g [ 1 ] : i / 2 , a = na . interpolateZoom ( [ ( r - M . x ) / M . k , ( o - M . y ) / M . k , n / M . k ] , [ ( r - e . x ) / e . k , ( o - e . y ) / e . k , n / e . k ] ) ; return function ( e ) { var i = a ( e ) , s = n / i [ 2 ] ; this . _ _chart _ _ = M = { x : r - i [ 0 ] * s , y : o - i [ 1 ] * s , k : s } , l ( t ) } } ) . each ( "interrupt.zoom" , function ( ) { u ( t
n = + t [ 0 ] [ 1 ] , i = + t [ 1 ] [ 0 ] , r = + t [ 1 ] [ 1 ] ) , o ) : null == e ? null : [ [ e , n ] , [ i , r ] ] } , o . size = function ( t ) { return arguments . length ? ( null == t ? e = n = i = r = null : ( e = n = 0 , i = + t [ 0 ] , r = + t [ 1 ] ) , o ) : null == e ? null : [ i - e , r - n ] } , o ) } , na . interpolateRgb = pi , na . interpolateObject = gi , na . interpolateNumber = mi , na . interpolateString = vi ; var ll = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g , ul = new RegExp ( ll . source , "g" ) ; na . interpolate = yi , na . interpolators = [ function ( t , e ) { var n = typeof e ; return ( "string" === n ? ts . has ( e ) || /^(#|rgb\(|hsl\()/ . test ( e ) ? pi : vi : e instanceof ot ? pi : Array . isArray ( e ) ? bi : "object" === n && isNaN ( e ) ? gi : mi ) ( t , e ) } ] , na . interpolateArray = bi ; var cl = function ( ) { return kt } , hl = na . map ( { linear : cl , poly : ki , quad : function ( ) { return _i } , cubic : function ( ) { return Ci } , sin : function ( ) { return Ti } , exp : function ( ) { return Di } , circle : function ( ) { return Ai } , elastic : Ei , back : Pi , bounce : function ( ) { return Oi } } ) , dl = na . map ( { in : kt , out : wi , "in-out" : Si , "out-in" : function ( t ) { return Si ( wi ( t ) ) } } ) ; na . ease = function ( t ) { var e = t . indexOf ( "-" ) , n = e >= 0 ? t . slice ( 0 , e ) : t , i = e >= 0 ? t . slice ( e + 1 ) : "in" ; return n = hl . get ( n ) || cl , i = dl . get ( i ) || kt , xi ( i ( n . apply ( null , ia . call ( arguments , 1 ) ) ) ) } , na . interpolateHcl = Li , na . interpolateHsl = Ni , na . interpolateLab = Ii , na . interpolateRound = ji , na . transform = function ( t ) { var e = oa . createElementNS ( na . ns . prefix . svg , "g" ) ; return ( na . transform = function ( t ) { if ( null != t ) { e . setAttribute ( "transform" , t ) ; var n = e . transform . baseVal . consolidate ( ) } return new Fi ( n ? n . matrix : fl ) } ) ( t ) } , Fi . prototype . toString = function ( ) { return "translate(" + this . translate + ")rotate(" + this . rotate + ")skewX(" + this . skew + ")scale(" + this . scale + ")" } ; var fl = { a : 1 , b : 0 , c : 0 , d : 1 , e : 0 , f : 0 } ; na . interpolateTransform = Bi , na . layout = { } , na . layout . bundle = function ( ) { return function ( t ) { for ( var e = [ ] , n = - 1 , i = t . length ; ++ n < i ; ) e . push ( Ui ( t [ n ] ) ) ; return e } } , na . layout . chord = function ( ) { function t ( ) { var t , u , h , d , f , p = { } , g = [ ] , m = na . range ( o ) , v = [ ] ; for ( n = [ ] , i = [ ] , t = 0 , d = - 1 ; ++ d < o ; ) { for ( u = 0 , f = - 1 ; ++ f < o ; ) u += r [ d ] [ f ] ; g . push ( u ) , v . push ( na . range ( o ) ) , t += u } for ( a && m . sort ( function ( t , e ) { return a ( g [ t ] , g [ e ] ) } ) , s && v . forEach ( function ( t , e ) { t . sort ( function ( t , n ) { return s ( r [ e ] [ t ] , r [ e ] [ n ] ) } ) } ) , t = ( Ia - c * o ) / t , u = 0 , d = - 1 ; ++ d < o ; ) { for ( h = u , f = - 1 ; ++ f < o ; ) { var y = m [ d ] , b = v [ y ] [ f ] , x = r [ y ] [ b ] , w = u , S = u += x * t ; p [ y + "-" + b ] = { index : y , subindex : b , startAngle : w , endAngle : S , value : x } } i [ y ] = { index : y , startAngle : h , endAngle : u , value : ( u - h ) / t } , u += c } for ( d = - 1 ; ++ d < o ; ) for ( f = d - 1 ; ++ f < o ; ) { var _ = p [ d + "-" + f ] , C = p [ f + "-" + d ] ; ( _ . value || C . value ) && n . push ( _ . value < C . value ? { source : C , target : _ } : { source : _ , target : C } ) } l && e ( ) } function e ( ) { n . sort ( function ( t , e ) { return l ( ( t . source . value + t . target . value ) / 2 , ( e . source . value + e . target . value ) / 2 ) } ) } var n , i , r , o , a , s , l , u = { } , c = 0 ; return u . matrix = function ( t ) { return arguments . length ? ( o = ( r = t ) && r . length , n = i = null , u ) : r } , u . padding = function ( t ) { return arguments . length ? ( c = t , n = i = null , u ) : c } , u . sortGroups = function ( t ) { return arguments . length ? ( a = t , n = i = null , u ) : a } , u . sortSubgroups = function ( t ) { return arguments . length ? ( s = t , n = null , u ) : s } , u . sortChords = function ( t ) { return arguments . length ? ( l = t , n && e ( ) , u ) : l } , u . chords = function ( ) { return n || t ( ) , n } , u . groups = function ( ) { return i || t ( ) , i } , u } , na . layout . force = function ( ) { function t ( t ) { return function ( e , n , i , r ) { if ( e . point !== t ) { var o = e . cx - t . x , a = e . cy - t . y , s = r - n , l = o * o + a * a ; if ( l > s * s / m ) { if ( p > l ) { var u = e . charge / l ; t . px -= o * u , t . py -= a * u } return ! 0 } if ( e . point && l && p > l ) { var u = e . pointCharge / l ; t . px -= o * u , t . py -= a * u } } return ! e . charge } } function e ( t ) { t . px = na . event . x , t . py = na . event . y , s . resume ( ) } var n , i , r , o , a , s = { } , l = na . dispatch ( "start" , "tick" , "end" ) , u = [ 1 , 1 ] , c = . 9 , h = pl , d = gl , f = - 30 , p = ml , g = . 1 , m = . 64 , v = [ ] , y = [ ] ; return s . tick = function ( ) { if ( ( i *= . 99 ) < . 005 ) return l . end ( { type : "end" , alpha : i = 0 } ) , ! 0 ; var e , n , s , h , d , p , m , b , x , w = v . length , S = y . length ; for ( n = 0 ; S > n ; ++ n ) s = y [ n ] , h = s . source , d = s . target , b = d . x - h . x , x = d . y - h . y , ( p = b * b + x * x ) && ( p = i * o [ n ] * ( ( p = Math . sqrt ( p ) ) - r [ n ] ) / p , b *= p , x *= p , d . x -= b * ( m = h . weight / ( d . weight + h . weight ) ) , d . y -= x * m , h . x += b * ( m = 1 - m ) , h . y += x * m ) ; if ( ( m = i * g ) && ( b = u [ 0 ] / 2 , x = u [ 1 ] / 2 , n = - 1 , m ) ) for ( ; ++ n < w ; ) s = v [ n ] , s . x += ( b - s . x ) * m , s . y += ( x - s . y ) * m ; if ( f ) for ( Ki ( e = na . geom . quadtree ( v ) , i , a ) , n = - 1 ; ++ n < w ; ) ( s = v [ n ] ) . fixed || e . visit ( t ( s ) ) ; for ( n = - 1 ; ++ n < w ; ) s = v [ n ] , s . fixed ? ( s . x = s . px , s . y = s . py ) : ( s . x -= ( s . px - ( s . px = s . x ) ) * c , s . y -= ( s . py - ( s . py = s . y ) ) * c ) ; l . tick ( { type : "tick" , alpha : i } ) } , s . nodes = function ( t ) { return arguments . length ? ( v = t , s ) : v } , s . links = functi
var t = na . mouse ( x ) , r = ! 1 ; b && ( t [ 0 ] += b [ 0 ] , t [ 1 ] += b [ 1 ] ) , D || ( na . event . altKey ? ( y || ( y = [ ( c [ 0 ] + c [ 1 ] ) / 2 , ( h [ 0 ] + h [ 1 ] ) / 2 ] ) , E [ 0 ] = c [ + ( t [ 0 ] < y [ 0 ] ) ] , E [ 1 ] = h [ + ( t [ 1 ] < y [ 1 ] ) ] ) : y = null ) , k && m ( t , l , 0 ) && ( n ( C ) , r = ! 0 ) , T && m ( t , u , 1 ) && ( i ( C ) , r = ! 0 ) , r && ( e ( C ) , _ ( { type : "brush" , mode : D ? "move" : "resize" } ) ) } function m ( t , e , n ) { var i , r , s = Rr ( e ) , l = s [ 0 ] , u = s [ 1 ] , p = E [ n ] , g = n ? h : c , m = g [ 1 ] - g [ 0 ] ; return D && ( l -= p , u -= m + p ) , i = ( n ? f : d ) ? Math . max ( l , Math . min ( u , t [ n ] ) ) : t [ n ] , D ? r = ( i += p ) + m : ( y && ( p = Math . max ( l , Math . min ( u , 2 * y [ n ] - i ) ) ) , i > p ? ( r = i , i = p ) : r = p ) , g [ 0 ] != i || g [ 1 ] != r ? ( n ? a = null : o = null , g [ 0 ] = i , g [ 1 ] = r , ! 0 ) : void 0 } function v ( ) { g ( ) , C . style ( "pointer-events" , "all" ) . selectAll ( ".resize" ) . style ( "display" , t . empty ( ) ? "none" : null ) , na . select ( "body" ) . style ( "cursor" , null ) , P . on ( "mousemove.brush" , null ) . on ( "mouseup.brush" , null ) . on ( "touchmove.brush" , null ) . on ( "touchend.brush" , null ) . on ( "keydown.brush" , null ) . on ( "keyup.brush" , null ) , A ( ) , _ ( { type : "brushend" } ) } var y , b , x = this , S = na . select ( na . event . target ) , _ = s . of ( x , arguments ) , C = na . select ( x ) , M = S . datum ( ) , k = ! /^(n|s)$/ . test ( M ) && l , T = ! /^(e|w)$/ . test ( M ) && u , D = S . classed ( "extent" ) , A = Y ( ) , E = na . mouse ( x ) , P = na . select ( sa ) . on ( "keydown.brush" , r ) . on ( "keyup.brush" , p ) ; if ( na . event . changedTouches ? P . on ( "touchmove.brush" , g ) . on ( "touchend.brush" , v ) : P . on ( "mousemove.brush" , g ) . on ( "mouseup.brush" , v ) , C . interrupt ( ) . selectAll ( "*" ) . interrupt ( ) , D ) E [ 0 ] = c [ 0 ] - E [ 0 ] , E [ 1 ] = h [ 0 ] - E [ 1 ] ; else if ( M ) { var O = + /w$/ . test ( M ) , L = + /^n/ . test ( M ) ; b = [ c [ 1 - O ] - E [ 0 ] , h [ 1 - L ] - E [ 1 ] ] , E [ 0 ] = c [ O ] , E [ 1 ] = h [ L ] } else na . event . altKey && ( y = E . slice ( ) ) ; C . style ( "pointer-events" , "none" ) . selectAll ( ".resize" ) . style ( "display" , null ) , na . select ( "body" ) . style ( "cursor" , S . style ( "cursor" ) ) , _ ( { type : "brushstart" } ) , g ( ) } var o , a , s = _ ( t , "brushstart" , "brush" , "brushend" ) , l = null , u = null , c = [ 0 , 0 ] , h = [ 0 , 0 ] , d = ! 0 , f = ! 0 , p = Ul [ 0 ] ; return t . event = function ( t ) { t . each ( function ( ) { var t = s . of ( this , arguments ) , e = { x : c , y : h , i : o , j : a } , n = this . _ _chart _ _ || e ; this . _ _chart _ _ = e , jl ? na . select ( this ) . transition ( ) . each ( "start.brush" , function ( ) { o = n . i , a = n . j , c = n . x , h = n . y , t ( { type : "brushstart" } ) } ) . tween ( "brush:brush" , function ( ) { var n = bi ( c , e . x ) , i = bi ( h , e . y ) ; return o = a = null , function ( r ) { c = e . x = n ( r ) , h = e . y = i ( r ) , t ( { type : "brush" , mode : "resize" } ) } } ) . each ( "end.brush" , function ( ) { o = e . i , a = e . j , t ( { type : "brush" , mode : "resize" } ) , t ( { type : "brushend" } ) } ) : ( t ( { type : "brushstart" } ) , t ( { type : "brush" , mode : "resize" } ) , t ( { type : "brushend" } ) ) } ) } , t . x = function ( e ) { return arguments . length ? ( l = e , p = Ul [ ! l << 1 | ! u ] , t ) : l } , t . y = function ( e ) { return arguments . length ? ( u = e , p = Ul [ ! l << 1 | ! u ] , t ) : u } , t . clamp = function ( e ) { return arguments . length ? ( l && u ? ( d = ! ! e [ 0 ] , f = ! ! e [ 1 ] ) : l ? d = ! ! e : u && ( f = ! ! e ) , t ) : l && u ? [ d , f ] : l ? d : u ? f : null } , t . extent = function ( e ) { var n , i , r , s , d ; return arguments . length ? ( l && ( n = e [ 0 ] , i = e [ 1 ] , u && ( n = n [ 0 ] , i = i [ 0 ] ) , o = [ n , i ] , l . invert && ( n = l ( n ) , i = l ( i ) ) , n > i && ( d = n , n = i , i = d ) , ( n != c [ 0 ] || i != c [ 1 ] ) && ( c = [ n , i ] ) ) , u && ( r = e [ 0 ] , s = e [ 1 ] , l && ( r = r [ 1 ] , s = s [ 1 ] ) , a = [ r , s ] , u . invert && ( r = u ( r ) , s = u ( s ) ) , r > s && ( d = r , r = s , s = d ) , ( r != h [ 0 ] || s != h [ 1 ] ) && ( h = [ r , s ] ) ) , t ) : ( l && ( o ? ( n = o [ 0 ] , i = o [ 1 ] ) : ( n = c [ 0 ] , i = c [ 1 ] , l . invert && ( n = l . invert ( n ) , i = l . invert ( i ) ) , n > i && ( d = n , n = i , i = d ) ) ) , u && ( a ? ( r = a [ 0 ] , s = a [ 1 ] ) : ( r = h [ 0 ] , s = h [ 1 ] , u . invert && ( r = u . invert ( r ) , s = u . invert ( s ) ) , r > s && ( d = r , r = s , s = d ) ) ) , l && u ? [ [ n , r ] , [ i , s ] ] : l ? [ n , i ] : u && [ r , s ] ) } , t . clear = function ( ) { return t . empty ( ) || ( c = [ 0 , 0 ] , h = [ 0 , 0 ] , o = a = null ) , t } , t . empty = function ( ) { return ! ! l && c [ 0 ] == c [ 1 ] || ! ! u && h [ 0 ] == h [ 1 ] } , na . rebind ( t , s , "on" ) } ; var $l = { n : "ns-resize" , e : "ew-resize" , s : "ns-resize" , w : "ew-resize" , nw : "nwse-resize" , ne : "nesw-resize" , se : "nwse-resize" , sw : "nesw-resize" } , Ul = [ [ "n" , "e" , "s" , "w" , "nw" , "ne" , "se" , "sw" ] , [ "e" , "w" ] , [ "n" , "s" ] , [ ] ] , ql = cs . format = ms . timeFormat , Yl = ql . utc , Gl = Yl ( "%Y-%m-%dT%H:%M:%S.%LZ" ) ; ql . iso = Date . prototype . toISOString && + new Date ( "2000-01-01T00:00:00.000Z" ) ? Ko : Gl , Ko . parse = function ( t ) { var e = new Date ( t ) ; return isNaN ( e ) ? null : e } , Ko . toString = Gl . toString , cs . second = Ht ( function ( t ) { return new hs ( 1e3 * Math . floor ( t / 1e3 ) ) } , function ( t , e ) { t . setTime ( t . getTime ( ) + 1e3 * Math . floor ( e ) ) } , function ( t ) { return t . getSeconds ( ) } ) , cs . seconds = cs . second . range , cs . seconds . utc = cs . second . utc . range , cs . minute = Ht ( function ( t ) { return new hs ( 6e4 * Math . floor ( t / 6e4 ) ) } , function ( t , e ) { t . setTime ( t . getTime ( ) + 6e4 * Math . floor ( e ) ) } , function ( t ) { return t . getMinutes ( ) } ) , cs . minutes = cs . minute . range , cs . minutes . utc = cs . minute . utc . range , cs . hour = Ht ( function ( t ) { var e = t . getTimezoneOffset ( ) / 6
properties : { name : "Israel" } , id : "ISR" , arcs : [ [ 369 , 370 , 371 , - 252 , 372 , 373 , 374 ] ] } , { type : "MultiPolygon" , properties : { name : "Italy" } , id : "ITA" , arcs : [ [ [ 375 ] ] , [ [ 376 ] ] , [ [ 377 , 378 , - 280 , - 162 , - 50 ] ] ] } , { type : "Polygon" , properties : { name : "Jamaica" } , id : "JAM" , arcs : [ [ 379 ] ] } , { type : "Polygon" , properties : { name : "Jordan" } , id : "JOR" , arcs : [ [ - 370 , 380 , - 366 , 381 , 382 , - 372 , 383 ] ] } , { type : "MultiPolygon" , properties : { name : "Japan" } , id : "JPN" , arcs : [ [ [ 384 ] ] , [ [ 385 ] ] , [ [ 386 ] ] ] } , { type : "Polygon" , properties : { name : "Kazakhstan" } , id : "KAZ" , arcs : [ [ 387 , 388 , 389 , 390 , - 181 , 391 ] ] } , { type : "Polygon" , properties : { name : "Kenya" } , id : "KEN" , arcs : [ [ 392 , 393 , 394 , 395 , - 265 , 396 ] ] } , { type : "Polygon" , properties : { name : "Kyrgyzstan" } , id : "KGZ" , arcs : [ [ - 392 , - 180 , 397 , 398 ] ] } , { type : "Polygon" , properties : { name : "Cambodia" } , id : "KHM" , arcs : [ [ 399 , 400 , 401 , 402 ] ] } , { type : "Polygon" , properties : { name : "South Korea" } , id : "KOR" , arcs : [ [ 403 , 404 ] ] } , { type : "Polygon" , properties : { name : "Kosovo" } , id : "-99" , arcs : [ [ - 18 , 405 , 406 , 407 ] ] } , { type : "Polygon" , properties : { name : "Kuwait" } , id : "KWT" , arcs : [ [ 408 , 409 , - 364 ] ] } , { type : "Polygon" , properties : { name : "Laos" } , id : "LAO" , arcs : [ [ 410 , 411 , - 172 , 412 , - 401 ] ] } , { type : "Polygon" , properties : { name : "Lebanon" } , id : "LBN" , arcs : [ [ - 374 , 413 , 414 ] ] } , { type : "Polygon" , properties : { name : "Liberia" } , id : "LBR" , arcs : [ [ 415 , 416 , - 297 , - 186 ] ] } , { type : "Polygon" , properties : { name : "Libya" } , id : "LBY" , arcs : [ [ 417 , - 245 , 418 , 419 , - 250 , 420 , 421 ] ] } , { type : "Polygon" , properties : { name : "Sri Lanka" } , id : "LKA" , arcs : [ [ 422 ] ] } , { type : "Polygon" , properties : { name : "Lesotho" } , id : "LSO" , arcs : [ [ 423 ] ] } , { type : "Polygon" , properties : { name : "Lithuania" } , id : "LTU" , arcs : [ [ 424 , 425 , 426 , - 93 , 427 ] ] } , { type : "Polygon" , properties : { name : "Luxembourg" } , id : "LUX" , arcs : [ [ - 226 , - 279 , - 65 ] ] } , { type : "Polygon" , properties : { name : "Latvia" } , id : "LVA" , arcs : [ [ 428 , - 262 , 429 , - 94 , - 427 ] ] } , { type : "Polygon" , properties : { name : "Morocco" } , id : "MAR" , arcs : [ [ - 242 , 430 , 431 ] ] } , { type : "Polygon" , properties : { name : "Moldova" } , id : "MDA" , arcs : [ [ 432 , 433 ] ] } , { type : "Polygon" , properties : { name : "Madagascar" } , id : "MDG" , arcs : [ [ 434 ] ] } , { type : "Polygon" , properties : { name : "Mexico" } , id : "MEX" , arcs : [ [ 435 , - 98 , - 314 , 436 , 437 ] ] } , { type : "Polygon" , properties : { name : "Macedonia" } , id : "MKD" , arcs : [ [ - 408 , 438 , - 85 , - 310 , - 14 ] ] } , { type : "Polygon" , properties : { name : "Mali" } , id : "MLI" , arcs : [ [ 439 , - 239 , 440 , - 74 , - 188 , - 302 , 441 ] ] } , { type : "Polygon" , properties : { name : "Myanmar" } , id : "MMR" , arcs : [ [ 442 , - 78 , - 353 , - 173 , - 412 , 443 ] ] } , { type : "Polygon" , properties : { name : "Montenegro" } , id : "MNE" , arcs : [ [ 444 , - 326 , - 91 , 445 , - 406 , - 17 ] ] } , { type : "Polygon" , properties : { name : "Mongolia" } , id : "MNG" , arcs : [ [ 446 , - 183 ] ] } , { type : "Polygon" , properties : { name : "Mozambique" } , id : "MOZ" , arcs : [ [ 447 , 448 , 449 , 450 , 451 , 452 , 453 , 454 ] ] } , { type : "Polygon" , properties : { name : "Mauritania" } , id : "MRT" , arcs : [ [ 455 , 456 , 457 , - 240 , - 440 ] ] } , { type : "Polygon" , properties : { name : "Malawi" } , id : "MWI" , arcs : [ [ - 455 , 458 , 459 ] ] } , { type : "MultiPolygon" , properties : { name : "Malaysia" } , id : "MYS" , arcs : [ [ [ 460 , 461 ] ] , [ [ - 349 , 462 , - 115 , 463 ] ] ] } , { type : "Polygon" , properties : { name : "Namibia" } , id : "NAM" , arcs : [ [ 464 , - 8 , 465 , - 119 , 466 ] ] } , { type : "Polygon" , properties : { name : "New Caledonia" } , id : "NCL" , arcs : [ [ 467 ] ] } , { type : "Polygon" , properties : { name : "Niger" } , id : "NER" , arcs : [ [ - 75 , - 441 , - 238 , - 418 , 468 , - 194 , 469 , - 71 ] ] } , { type : "Polygon" , properties : { name : "Nigeria" } , id : "NGA" , arcs : [ [ 470 , - 72 , - 470 , - 193 ] ] } , { type : "Polygon" , properties : { name : "Nicaragua" } , id : "NIC" , arcs : [ [ 471 , - 324 , 472 , - 213 ] ] } , { type : "Polygon" , properties : { name : "Netherlands" } , id : "NLD" , arcs : [ [ - 227 , - 63 , 473 ] ] } , { type : "MultiPolygon" , properties : { name : "Norway" } , id : "NOR" , arcs : [ [ [ 474 , - 272 , 475 , 476 ] ] , [ [ 477 ] ] , [ [ 478 ] ] , [ [ 479 ] ] ] } , { type : "Polygon" , properties : { name : "Nepal" } , id : "NPL" , arcs : [ [ - 352 , - 176 ] ] } , { type : "MultiPolygon" , properties : { name : "New Zealand" } , id : "NZL" , arcs : [ [ [ 480 ] ] , [ [ 481 ] ] ] } , { type : "MultiPolygon" , properties : { name : "Oman" } , id : "OMN" , arcs : [ [ [ 482 , 483 , - 22 , 484 ] ] , [ [ - 20 , 485 ] ] ] } , { type : "Polygon" , properties : { name : "Pakistan" } , id : "PAK" , arcs : [ [ - 178 , - 355 , 486 , - 358 , - 5 ] ] } , { type : "Polygon" , properties : { name : "Panama" } , id : "PAN" , arcs : [ [ 487 , - 215 , 488 , - 208 ] ] } , { type : "Polygon" , properties : { name : "Peru" } , id : "PER" , arcs : [ [ - 167 , 489 , - 247 , - 211 , - 106 , - 102 ] ] } , { type : "MultiPolygon" , properties : { name : "Philippines" } , id : "PHL" , arcs : [ [ [ 490 ] ] , [ [ 491 ] ] , [ [ 492 ] ] , [ [ 493 ] ] , [ [ 494 ] ] , [ [ 495 ] ] , [ [ 496 ] ] ] } , { type : "MultiPolygon" , properties : { name : " Papua Ne
transform : { scale : [ . 036003600360036005 , . 016927109510951093 ] , translate : [ - 180 , - 85.609038 ] } } , d . prototype . usaTopo = "__USA__" , d . prototype . latLngToXY = function ( t , e ) { return this . projection ( [ e , t ] ) } , d . prototype . addLayer = function ( t , e , n ) { var i ; return i = n ? this . svg . insert ( "g" , ":first-child" ) : this . svg . append ( "g" ) , i . attr ( "id" , e || "" ) . attr ( "class" , t || "" ) } , d . prototype . updateChoropleth = function ( t ) { var e = this . svg ; for ( var n in t ) if ( t . hasOwnProperty ( n ) ) { var i , r = t [ n ] ; if ( ! n ) continue ; i = "string" == typeof r ? r : "string" == typeof r . color ? r . color : this . options . fills [ r . fillKey ] , r === Object ( r ) && ( this . options . data [ n ] = h ( r , this . options . data [ n ] || { } ) , this . svg . select ( "." + n ) . attr ( "data-info" , JSON . stringify ( this . options . data [ n ] ) ) ) , e . selectAll ( "." + n ) . transition ( ) . style ( "fill" , i ) } } , d . prototype . updatePopup = function ( t , e , n ) { var i = this ; t . on ( "mousemove" , null ) , t . on ( "mousemove" , function ( ) { var r = f . mouse ( i . options . element ) ; f . select ( i . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "top" , r [ 1 ] + 30 + "px" ) . html ( function ( ) { var i = JSON . parse ( t . attr ( "data-info" ) ) ; return n . popupTemplate ( e , i ) } ) . style ( "left" , r [ 0 ] + "px" ) } ) , f . select ( i . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "display" , "block" ) } , d . prototype . addPlugin = function ( t , e ) { var n = this ; "undefined" == typeof d . prototype [ t ] && ( d . prototype [ t ] = function ( i , r , o , a ) { var s ; "undefined" == typeof a && ( a = ! 1 ) , "function" == typeof r && ( o = r , r = void 0 ) , r = h ( r || { } , n . options [ t + "Config" ] ) , ! a && this . options [ t + "Layer" ] ? ( s = this . options [ t + "Layer" ] , r = r || this . options [ t + "Options" ] ) : ( s = this . addLayer ( t ) , this . options [ t + "Layer" ] = s , this . options [ t + "Options" ] = r ) , e . apply ( this , [ s , i , r ] ) , o && o ( s ) } ) } , "function" == typeof define && define . amd ? define ( "datamaps" , function ( t ) { return f = t ( "d3" ) , p = t ( "topojson" ) , d } ) : window . Datamap = window . Datamaps = d , window . jQuery && ( window . jQuery . fn . datamaps = function ( t , e ) { t = t || { } , t . element = this [ 0 ] ; var n = new d ( t ) ; return "function" == typeof e && e ( n , t ) , this } ) } ( ) , function ( t ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , function ( e ) { return t ( e , window , document ) } ) : "object" == typeof exports ? module . exports = function ( e , n ) { return e || ( e = window ) , n || ( n = "undefined" != typeof window ? require ( "jquery" ) : require ( "jquery" ) ( e ) ) , t ( n , e , e . document ) } : t ( jQuery , window , document ) } ( function ( t , e , n , i ) { function r ( e ) { var n , i , o = { } ; t . each ( e , function ( t ) { ( n = t . match ( /^([^A-Z]+?)([A-Z])/ ) ) && - 1 !== "a aa ai ao as b fn i m o s " . indexOf ( n [ 1 ] + " " ) && ( i = t . replace ( n [ 0 ] , n [ 2 ] . toLowerCase ( ) ) , o [ i ] = t , "o" === n [ 1 ] && r ( e [ t ] ) ) } ) , e . _hungarianMap = o } function o ( e , n , a ) { e . _hungarianMap || r ( e ) ; var s ; t . each ( n , function ( r ) { s = e . _hungarianMap [ r ] , s === i || ! a && n [ s ] !== i || ( "o" === s . charAt ( 0 ) ? ( n [ s ] || ( n [ s ] = { } ) , t . extend ( ! 0 , n [ s ] , n [ r ] ) , o ( e [ s ] , n [ s ] , a ) ) : n [ s ] = n [ r ] ) } ) } function a ( t ) { var e = Ut . defaults . oLanguage , n = t . sZeroRecords ; ! t . sEmptyTable && n && "No data available in table" === e . sEmptyTable && Lt ( t , t , "sZeroRecords" , "sEmptyTable" ) , ! t . sLoadingRecords && n && "Loading..." === e . sLoadingRecords && Lt ( t , t , "sZeroRecords" , "sLoadingRecords" ) , t . sInfoThousands && ( t . sThousands = t . sInfoThousands ) , ( t = t . sDecimal ) && Wt ( t ) } function s ( t ) { if ( de ( t , "ordering" , "bSort" ) , de ( t , "orderMulti" , "bSortMulti" ) , de ( t , "orderClasses" , "bSortClasses" ) , de ( t , "orderCellsTop" , "bSortCellsTop" ) , de ( t , "order" , "aaSorting" ) , de ( t , "orderFixed" , "aaSortingFixed" ) , de ( t , "paging" , "bPaginate" ) , de ( t , "pagingType" , "sPaginationType" ) , de ( t , "pageLength" , "iDisplayLength" ) , de ( t , "searching" , "bFilter" ) , "boolean" == typeof t . sScrollX && ( t . sScrollX = t . sScrollX ? "100%" : "" ) , "boolean" == typeof t . scrollX && ( t . scrollX = t . scrollX ? "100%" : "" ) , t = t . aoSearchCols ) for ( var e = 0 , n = t . length ; e < n ; e ++ ) t [ e ] && o ( Ut . models . oSearch , t [ e ] ) } function l ( e ) { de ( e , "orderable" , "bSortable" ) , de ( e , "orderData" , "aDataSort" ) , de ( e , "orderSequence" , "asSorting" ) , de ( e , "orderDataType" , "sortDataType" ) ; var n = e . aDataSort ; n && ! t . isArray ( n ) && ( e . aDataSort = [ n ] ) } function u ( e ) { if ( ! Ut . _ _browser ) { var n = { } ; Ut . _ _browser = n ; var i = t ( "<div/>" ) . css ( { position : "fixed" , top : 0 , left : 0 , height : 1 , width : 1 , overflow : "hidden" } ) . append ( t ( "<div/>" ) . css ( { position : "absolute" , top : 1 , left : 1 , width : 100 , overflow : "scroll" } ) . append ( t ( "<div/>" ) . css ( { width : "100%" , height : 10 } ) ) ) . appendTo ( "body" ) , r = i . children ( ) , o = r . children ( ) ; n . barWidth = r [ 0 ] . offsetWidth - r [ 0 ] . clientWidth , n . bScrollOversize = 100 === o [ 0 ] . offsetWidth
n && a < n + o ? ( clearTimeout ( r ) , r = setTimeout ( function ( ) { n = i , t . apply ( e , s ) } , o ) ) : ( n = a , t . apply ( e , s ) ) } } function yt ( e , i ) { if ( ! e ) return 0 ; var r = t ( "<div/>" ) . css ( "width" , wt ( e ) ) . appendTo ( i || n . body ) , o = r [ 0 ] . offsetWidth ; return r . remove ( ) , o } function bt ( e , n ) { var i = xt ( e , n ) ; if ( 0 > i ) return null ; var r = e . aoData [ i ] ; return r . nTr ? r . anCells [ n ] : t ( "<td/>" ) . html ( S ( e , i , n , "display" ) ) [ 0 ] } function xt ( t , e ) { for ( var n , i = - 1 , r = - 1 , o = 0 , a = t . aoData . length ; o < a ; o ++ ) n = S ( t , o , e , "display" ) + "" , n = n . replace ( ve , "" ) , n = n . replace ( / /g , " " ) , n . length > i && ( i = n . length , r = o ) ; return r } function wt ( t ) { return null === t ? "0px" : "number" == typeof t ? 0 > t ? "0px" : t + "px" : t . match ( /\d$/ ) ? t + "px" : t } function St ( e ) { var n , r , o , a , s , l , u = [ ] , c = e . aoColumns ; n = e . aaSortingFixed , r = t . isPlainObject ( n ) ; var h = [ ] ; for ( o = function ( e ) { e . length && ! t . isArray ( e [ 0 ] ) ? h . push ( e ) : t . merge ( h , e ) } , t . isArray ( n ) && o ( n ) , r && n . pre && o ( n . pre ) , o ( e . aaSorting ) , r && n . post && o ( n . post ) , e = 0 ; e < h . length ; e ++ ) for ( l = h [ e ] [ 0 ] , o = c [ l ] . aDataSort , n = 0 , r = o . length ; n < r ; n ++ ) a = o [ n ] , s = c [ a ] . sType || "string" , h [ e ] . _idx === i && ( h [ e ] . _idx = t . inArray ( h [ e ] [ 1 ] , c [ a ] . asSorting ) ) , u . push ( { src : l , col : a , dir : h [ e ] [ 1 ] , index : h [ e ] . _idx , type : s , formatter : Ut . ext . type . order [ s + "-pre" ] } ) ; return u } function _t ( t ) { var e , n , i , r , o = [ ] , a = Ut . ext . type . order , s = t . aoData , l = 0 , u = t . aiDisplayMaster ; for ( y ( t ) , r = St ( t ) , e = 0 , n = r . length ; e < n ; e ++ ) i = r [ e ] , i . formatter && l ++ , Dt ( t , i . col ) ; if ( "ssp" != zt ( t ) && 0 !== r . length ) { for ( e = 0 , n = u . length ; e < n ; e ++ ) o [ u [ e ] ] = e ; l === r . length ? u . sort ( function ( t , e ) { var n , i , a , l , u = r . length , c = s [ t ] . _aSortData , h = s [ e ] . _aSortData ; for ( a = 0 ; a < u ; a ++ ) if ( l = r [ a ] , n = c [ l . col ] , i = h [ l . col ] , n = n < i ? - 1 : n > i ? 1 : 0 , 0 !== n ) return "asc" === l . dir ? n : - n ; return n = o [ t ] , i = o [ e ] , n < i ? - 1 : n > i ? 1 : 0 } ) : u . sort ( function ( t , e ) { var n , i , l , u , c = r . length , h = s [ t ] . _aSortData , d = s [ e ] . _aSortData ; for ( l = 0 ; l < c ; l ++ ) if ( u = r [ l ] , n = h [ u . col ] , i = d [ u . col ] , u = a [ u . type + "-" + u . dir ] || a [ "string-" + u . dir ] , n = u ( n , i ) , 0 !== n ) return n ; return n = o [ t ] , i = o [ e ] , n < i ? - 1 : n > i ? 1 : 0 } ) } t . bSorted = ! 0 } function Ct ( t ) { for ( var e , n , i = t . aoColumns , r = St ( t ) , t = t . oLanguage . oAria , o = 0 , a = i . length ; o < a ; o ++ ) { n = i [ o ] ; var s = n . asSorting ; e = n . sTitle . replace ( /<.*?>/g , "" ) ; var l = n . nTh ; l . removeAttribute ( "aria-sort" ) , n . bSortable && ( 0 < r . length && r [ 0 ] . col == o ? ( l . setAttribute ( "aria-sort" , "asc" == r [ 0 ] . dir ? "ascending" : "descending" ) , n = s [ r [ 0 ] . index + 1 ] || s [ 0 ] ) : n = s [ 0 ] , e += "asc" === n ? t . sSortAscending : t . sSortDescending ) , l . setAttribute ( "aria-label" , e ) } } function Mt ( e , n , r , o ) { var a = e . aaSorting , s = e . aoColumns [ n ] . asSorting , l = function ( e , n ) { var r = e . _idx ; return r === i && ( r = t . inArray ( e [ 1 ] , s ) ) , r + 1 < s . length ? r + 1 : n ? null : 0 } ; "number" == typeof a [ 0 ] && ( a = e . aaSorting = [ a ] ) , r && e . oFeatures . bSortMulti ? ( r = t . inArray ( n , se ( a , "0" ) ) , - 1 !== r ? ( n = l ( a [ r ] , ! 0 ) , null === n && 1 === a . length && ( n = 0 ) , null === n ? a . splice ( r , 1 ) : ( a [ r ] [ 1 ] = s [ n ] , a [ r ] . _idx = n ) ) : ( a . push ( [ n , s [ 0 ] , 0 ] ) , a [ a . length - 1 ] . _idx = 0 ) ) : a . length && a [ 0 ] [ 0 ] == n ? ( n = l ( a [ 0 ] ) , a . length = 1 , a [ 0 ] [ 1 ] = s [ n ] , a [ 0 ] . _idx = n ) : ( a . length = 0 , a . push ( [ n , s [ 0 ] ] ) , a [ 0 ] . _idx = 0 ) , F ( e ) , "function" == typeof o && o ( e ) } function kt ( t , e , n , i ) { var r = t . aoColumns [ n ] ; It ( e , { } , function ( e ) { ! 1 !== r . bSortable && ( t . oFeatures . bProcessing ? ( dt ( t , ! 0 ) , setTimeout ( function ( ) { Mt ( t , n , e . shiftKey , i ) , "ssp" !== zt ( t ) && dt ( t , ! 1 ) } , 0 ) ) : Mt ( t , n , e . shiftKey , i ) ) } ) } function Tt ( e ) { var n , i , r = e . aLastSort , o = e . oClasses . sSortColumn , a = St ( e ) , s = e . oFeatures ; if ( s . bSort && s . bSortClasses ) { for ( s = 0 , n = r . length ; s < n ; s ++ ) i = r [ s ] . src , t ( se ( e . aoData , "anCells" , i ) ) . removeClass ( o + ( 2 > s ? s + 1 : 3 ) ) ; for ( s = 0 , n = a . length ; s < n ; s ++ ) i = a [ s ] . src , t ( se ( e . aoData , "anCells" , i ) ) . addClass ( o + ( 2 > s ? s + 1 : 3 ) ) } e . aLastSort = a } function Dt ( t , e ) { var n , i = t . aoColumns [ e ] , r = Ut . ext . order [ i . sSortDataType ] ; r && ( n = r . call ( t . oInstance , t , e , g ( t , e ) ) ) ; for ( var o , a = Ut . ext . type . order [ i . sType + "-pre" ] , s = 0 , l = t . aoData . length ; s < l ; s ++ ) i = t . aoData [ s ] , i . _aSortData || ( i . _aSortData = [ ] ) , ( ! i . _aSortData [ e ] || r ) && ( o = r ? n [ s ] : S ( t , s , e , "sort" ) , i . _aSortData [ e ] = a ? a ( o ) : o ) } function At ( e ) { if ( e . oFeatures . bStateSave && ! e . bDestroying ) { var n = { time : + new Date , start : e . _iDisplayStart , length : e . _iDisplayLength , order : t . extend ( ! 0 , [ ] , e . aaSorting ) , search : tt ( e . oPreviousSearch ) , columns : t . map ( e . aoColumns , function ( t , n ) { return { visible : t . bVisible , search : tt ( e . aoPreSearchCols [ n ] ) } } ) } ; Ft ( e , "aoStateSaveParams" , "stateSaveParams" , [ e , n ] ) , e . oSavedState = n , e . fnStateSaveCallback . call ( e . oInstance , e , n ) } } function Et ( e ) { var n , r , o = e . aoColumns ; if ( e . oFeatures . bStateSave ) { var a = e
column : e . _DT _CellIndex . column } } ) . toArray ( ) , r . length || ! e . nodeName ? r : ( h = t ( e ) . closest ( "*[data-dt-row]" ) , h . length ? [ { row : h . data ( "dt-row" ) , column : h . data ( "dt-column" ) } ] : [ ] ) ) } , n , f ) } ) ; var o , a , s , l , u , c = this . columns ( n , r ) , h = this . rows ( e , r ) , d = this . iterator ( "table" , function ( t , e ) { for ( o = [ ] , a = 0 , s = h [ e ] . length ; a < s ; a ++ ) for ( l = 0 , u = c [ e ] . length ; l < u ; l ++ ) o . push ( { row : h [ e ] [ a ] , column : c [ e ] [ l ] } ) ; return o } , 1 ) ; return t . extend ( d . selector , { cols : n , rows : e , opts : r } ) , d } ) , Xt ( "cells().nodes()" , "cell().node()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return ( t = t . aoData [ e ] ) && t . anCells ? t . anCells [ n ] : i } , 1 ) } ) , Gt ( "cells().data()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return S ( t , e , n ) } , 1 ) } ) , Xt ( "cells().cache()" , "cell().cache()" , function ( t ) { return t = "search" === t ? "_aFilterData" : "_aSortData" , this . iterator ( "cell" , function ( e , n , i ) { return e . aoData [ n ] [ t ] [ i ] } , 1 ) } ) , Xt ( "cells().render()" , "cell().render()" , function ( t ) { return this . iterator ( "cell" , function ( e , n , i ) { return S ( e , n , i , t ) } , 1 ) } ) , Xt ( "cells().indexes()" , "cell().index()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return { row : e , column : n , columnVisible : g ( t , n ) } } , 1 ) } ) , Xt ( "cells().invalidate()" , "cell().invalidate()" , function ( t ) { return this . iterator ( "cell" , function ( e , n , i ) { E ( e , n , t , i ) } ) } ) , Gt ( "cell()" , function ( t , e , n ) { return Ce ( this . cells ( t , e , n ) ) } ) , Gt ( "cell().data()" , function ( t ) { var e = this . context , n = this [ 0 ] ; return t === i ? e . length && n . length ? S ( e [ 0 ] , n [ 0 ] . row , n [ 0 ] . column ) : i : ( _ ( e [ 0 ] , n [ 0 ] . row , n [ 0 ] . column , t ) , E ( e [ 0 ] , n [ 0 ] . row , "data" , n [ 0 ] . column ) , this ) } ) , Gt ( "order()" , function ( e , n ) { var r = this . context ; return e === i ? 0 !== r . length ? r [ 0 ] . aaSorting : i : ( "number" == typeof e ? e = [ [ e , n ] ] : t . isArray ( e [ 0 ] ) || ( e = Array . prototype . slice . call ( arguments ) ) , this . iterator ( "table" , function ( t ) { t . aaSorting = e . slice ( ) } ) ) } ) , Gt ( "order.listener()" , function ( t , e , n ) { return this . iterator ( "table" , function ( i ) { kt ( i , t , e , n ) } ) } ) , Gt ( "order.fixed()" , function ( e ) { if ( ! e ) { var n = this . context , n = n . length ? n [ 0 ] . aaSortingFixed : i ; return t . isArray ( n ) ? { pre : n } : n } return this . iterator ( "table" , function ( n ) { n . aaSortingFixed = t . extend ( ! 0 , { } , e ) } ) } ) , Gt ( [ "columns().order()" , "column().order()" ] , function ( e ) { var n = this ; return this . iterator ( "table" , function ( i , r ) { var o = [ ] ; t . each ( n [ r ] , function ( t , n ) { o . push ( [ n , e ] ) } ) , i . aaSorting = o } ) } ) , Gt ( "search()" , function ( e , n , r , o ) { var a = this . context ; return e === i ? 0 !== a . length ? a [ 0 ] . oPreviousSearch . sSearch : i : this . iterator ( "table" , function ( i ) { i . oFeatures . bFilter && G ( i , t . extend ( { } , i . oPreviousSearch , { sSearch : e + "" , bRegex : null !== n && n , bSmart : null === r || r , bCaseInsensitive : null === o || o } ) , 1 ) } ) } ) , Xt ( "columns().search()" , "column().search()" , function ( e , n , r , o ) { return this . iterator ( "column" , function ( a , s ) { var l = a . aoPreSearchCols ; return e === i ? l [ s ] . sSearch : void ( a . oFeatures . bFilter && ( t . extend ( l [ s ] , { sSearch : e + "" , bRegex : null !== n && n , bSmart : null === r || r , bCaseInsensitive : null === o || o } ) , G ( a , a . oPreviousSearch , 1 ) ) ) } ) } ) , Gt ( "state()" , function ( ) { return this . context . length ? this . context [ 0 ] . oSavedState : null } ) , Gt ( "state.clear()" , function ( ) { return this . iterator ( "table" , function ( t ) { t . fnStateSaveCallback . call ( t . oInstance , t , { } ) } ) } ) , Gt ( "state.loaded()" , function ( ) { return this . context . length ? this . context [ 0 ] . oLoadedState : null } ) , Gt ( "state.save()" , function ( ) { return this . iterator ( "table" , function ( t ) { At ( t ) } ) } ) , Ut . versionCheck = Ut . fnVersionCheck = function ( t ) { for ( var e , n , i = Ut . version . split ( "." ) , t = t . split ( "." ) , r = 0 , o = t . length ; r < o ; r ++ ) if ( e = parseInt ( i [ r ] , 10 ) || 0 , n = parseInt ( t [ r ] , 10 ) || 0 , e !== n ) return e > n ; return ! 0 } , Ut . isDataTable = Ut . fnIsDataTable = function ( e ) { var n = t ( e ) . get ( 0 ) , i = ! 1 ; return t . each ( Ut . settings , function ( e , r ) { var o = r . nScrollHead ? t ( "table" , r . nScrollHead ) [ 0 ] : null , a = r . nScrollFoot ? t ( "table" , r . nScrollFoot ) [ 0 ] : null ; r . nTable !== n && o !== n && a !== n || ( i = ! 0 ) } ) , i } , Ut . tables = Ut . fnTables = function ( e ) { var n = ! 1 ; t . isPlainObject ( e ) && ( n = e . api , e = e . visible ) ; var i = t . map ( Ut . settings , function ( n ) { if ( ! e || e && t ( n . nTable ) . is ( ":visible" ) ) return n . nTable } ) ; return n ? new Yt ( i ) : i } , Ut . util = { throttle : vt , escapeRegex : J } , Ut . camelToHungarian = o , Gt ( "$()" , function ( e , n ) { var i = this . rows ( n ) . nodes ( ) , i = t ( i ) ; return t ( [ ] . concat ( i . filter ( e ) . toArray ( ) , i . find ( e ) . toArray ( ) ) ) } ) , t . each ( [ "on" , "one" , "off" ] , function ( e , n ) { Gt ( n + "()" , function ( ) { var e = Array . prototype . slice . call (
n . _time = r , i = Math . floor ( e . loaded / e . total * ( n . chunkSize || n . _progress . total ) ) + ( n . uploadedBytes || 0 ) , this . _progress . loaded += i - n . _progress . loaded , this . _progress . bitrate = this . _bitrateTimer . getBitrate ( r , this . _progress . loaded , n . bitrateInterval ) , n . _progress . loaded = n . loaded = i , n . _progress . bitrate = n . bitrate = n . _bitrateTimer . getBitrate ( r , i , n . bitrateInterval ) , this . _trigger ( "progress" , t . Event ( "progress" , { delegatedEvent : e } ) , n ) , this . _trigger ( "progressall" , t . Event ( "progressall" , { delegatedEvent : e } ) , this . _progress ) } } , _initProgressListener : function ( e ) { var n = this , i = e . xhr ? e . xhr ( ) : t . ajaxSettings . xhr ( ) ; i . upload && ( t ( i . upload ) . bind ( "progress" , function ( t ) { var i = t . originalEvent ; t . lengthComputable = i . lengthComputable , t . loaded = i . loaded , t . total = i . total , n . _onProgress ( t , e ) } ) , e . xhr = function ( ) { return i } ) } , _isInstanceOf : function ( t , e ) { return Object . prototype . toString . call ( e ) === "[object " + t + "]" } , _initXHRData : function ( e ) { var n , i = this , r = e . files [ 0 ] , o = e . multipart || ! t . support . xhrFileUpload , a = "array" === t . type ( e . paramName ) ? e . paramName [ 0 ] : e . paramName ; e . headers = t . extend ( { } , e . headers ) , e . contentRange && ( e . headers [ "Content-Range" ] = e . contentRange ) , o && ! e . blob && this . _isInstanceOf ( "File" , r ) || ( e . headers [ "Content-Disposition" ] = 'attachment; filename="' + encodeURI ( r . name ) + '"' ) , o ? t . support . xhrFormDataFileUpload && ( e . postMessage ? ( n = this . _getFormData ( e ) , e . blob ? n . push ( { name : a , value : e . blob } ) : t . each ( e . files , function ( i , r ) { n . push ( { name : "array" === t . type ( e . paramName ) && e . paramName [ i ] || a , value : r } ) } ) ) : ( i . _isInstanceOf ( "FormData" , e . formData ) ? n = e . formData : ( n = new FormData , t . each ( this . _getFormData ( e ) , function ( t , e ) { n . append ( e . name , e . value ) } ) ) , e . blob ? n . append ( a , e . blob , r . name ) : t . each ( e . files , function ( r , o ) { ( i . _isInstanceOf ( "File" , o ) || i . _isInstanceOf ( "Blob" , o ) ) && n . append ( "array" === t . type ( e . paramName ) && e . paramName [ r ] || a , o , o . uploadName || o . name ) } ) ) , e . data = n ) : ( e . contentType = r . type || "application/octet-stream" , e . data = e . blob || r ) , e . blob = null } , _initIframeSettings : function ( e ) { var n = t ( "<a></a>" ) . prop ( "href" , e . url ) . prop ( "host" ) ; e . dataType = "iframe " + ( e . dataType || "" ) , e . formData = this . _getFormData ( e ) , e . redirect && n && n !== location . host && e . formData . push ( { name : e . redirectParamName || "redirect" , value : e . redirect } ) } , _initDataSettings : function ( t ) { this . _isXHRUpload ( t ) ? ( this . _chunkedUpload ( t , ! 0 ) || ( t . data || this . _initXHRData ( t ) , this . _initProgressListener ( t ) ) , t . postMessage && ( t . dataType = "postmessage " + ( t . dataType || "" ) ) ) : this . _initIframeSettings ( t ) } , _getParamName : function ( e ) { var n = t ( e . fileInput ) , i = e . paramName ; return i ? t . isArray ( i ) || ( i = [ i ] ) : ( i = [ ] , n . each ( function ( ) { for ( var e = t ( this ) , n = e . prop ( "name" ) || "files[]" , r = ( e . prop ( "files" ) || [ 1 ] ) . length ; r ; ) i . push ( n ) , r -= 1 } ) , i . length || ( i = [ n . prop ( "name" ) || "files[]" ] ) ) , i } , _initFormSettings : function ( e ) { e . form && e . form . length || ( e . form = t ( e . fileInput . prop ( "form" ) ) , e . form . length || ( e . form = t ( this . options . fileInput . prop ( "form" ) ) ) ) , e . paramName = this . _getParamName ( e ) , e . url || ( e . url = e . form . prop ( "action" ) || location . href ) , e . type = ( e . type || "string" === t . type ( e . form . prop ( "method" ) ) && e . form . prop ( "method" ) || "" ) . toUpperCase ( ) , "POST" !== e . type && "PUT" !== e . type && "PATCH" !== e . type && ( e . type = "POST" ) , e . formAcceptCharset || ( e . formAcceptCharset = e . form . attr ( "accept-charset" ) ) } , _getAJAXSettings : function ( e ) { var n = t . extend ( { } , this . options , e ) ; return this . _initFormSettings ( n ) , this . _initDataSettings ( n ) , n } , _getDeferredState : function ( t ) { return t . state ? t . state ( ) : t . isResolved ( ) ? "resolved" : t . isRejected ( ) ? "rejected" : "pending" } , _enhancePromise : function ( t ) { return t . success = t . done , t . error = t . fail , t . complete = t . always , t } , _getXHRPromise : function ( e , n , i ) { var r = t . Deferred ( ) , o = r . promise ( ) ; return n = n || this . options . context || o , e === ! 0 ? r . resolveWith ( n , i ) : e === ! 1 && r . rejectWith ( n , i ) , o . abort = r . promise , this . _enhancePromise ( o ) } , _addConvenienceMethods : function ( e , n ) { var i = this , r = function ( e ) { return t . Deferred ( ) . resolveWith ( i , e ) . promise ( ) } ; n . process = function ( e , o ) { return ( e || o ) && ( n . _processQueue = this . _processQueue = ( this . _processQueue || r ( [ this ] ) ) . pipe ( function ( ) { return n . errorThrown ? t . Deferred ( ) . rejectWith ( i , [ n ] ) . promise ( ) : r ( arguments ) } ) . pipe ( e , o ) ) , this . _processQueue || r ( [ this ] ) } , n . submit = function ( ) { return "pending" !== this . state ( ) && ( n . jqXHR = this . jqXHR = i . _trigger ( "submit" , t . Event ( " subm
var e = f ( ) ; x ( e , "show-swal2" ) , b ( e , "hide-swal2" ) , x ( e , "visible" ) ; var n = e . querySelector ( "." + r . icon + "." + o . success ) ; x ( n , "animate" ) , x ( n . querySelector ( ".tip" ) , "animate-success-tip" ) , x ( n . querySelector ( ".long" ) , "animate-success-long" ) ; var i = e . querySelector ( "." + r . icon + "." + o . error ) ; x ( i , "animate-error-icon" ) , x ( i . querySelector ( ".x-mark" ) , "animate-x-mark" ) ; var a = e . querySelector ( "." + r . icon + "." + o . warning ) ; x ( a , "pulse-warning" ) , L ( ) , O && ! v ( e , "no-animation" ) ? e . addEventListener ( O , function t ( ) { e . removeEventListener ( O , t ) , v ( e , "hide-swal2" ) && ( C ( e ) , A ( p ( ) , 0 ) ) } ) : ( C ( e ) , C ( p ( ) ) ) , null !== t && "function" == typeof t && t . call ( this , e ) } , e . clickConfirm = function ( ) { g ( ) . click ( ) } , e . clickCancel = function ( ) { m ( ) . click ( ) } , e . init = function ( ) { if ( "undefined" == typeof document ) return void console . log ( "SweetAlert2 requires document to initialize" ) ; if ( ! document . getElementsByClassName ( r . container ) . length ) { var t = document . createElement ( "div" ) ; t . className = r . container , t . innerHTML = s , document . body . appendChild ( t ) ; var n = f ( ) , i = w ( n , r . input ) , o = w ( n , r . select ) , a = n . querySelector ( "#" + r . checkbox ) , l = w ( n , r . textarea ) ; i . oninput = function ( ) { e . resetValidationError ( ) } , i . onkeyup = function ( t ) { t . stopPropagation ( ) , 13 === t . keyCode && e . clickConfirm ( ) } , o . onchange = function ( ) { e . resetValidationError ( ) } , a . onchange = function ( ) { e . resetValidationError ( ) } , l . onchange = function ( ) { e . resetValidationError ( ) } , window . addEventListener ( "resize" , F , ! 1 ) } } , e . setDefaults = function ( t ) { if ( ! t ) throw new Error ( "userParams is required" ) ; if ( "object" != typeof t ) throw new Error ( "userParams has to be a object" ) ; l ( N , t ) } , e . resetDefaults = function ( ) { N = l ( { } , a ) } , e . version = "4.0.8" , window . sweetAlert = window . swal = e , function ( ) { "complete" === document . readyState || "interactive" === document . readyState && document . body ? e . init ( ) : document . addEventListener ( "DOMContentLoaded" , function t ( ) { document . removeEventListener ( "DOMContentLoaded" , t , ! 1 ) , e . init ( ) } , ! 1 ) } ( ) , "function" == typeof Promise && ( Promise . prototype . done = function ( ) { return this . catch ( function ( ) { } ) } ) , e } ) , function ( t ) { "use strict" ; if ( "function" == typeof define && define . amd ) define ( [ "jquery" , "moment" ] , t ) ; else if ( "object" == typeof exports ) t ( require ( "jquery" ) , require ( "moment" ) ) ; else { if ( "undefined" == typeof jQuery ) throw "bootstrap-datetimepicker requires jQuery to be loaded first" ; if ( "undefined" == typeof moment ) throw "bootstrap-datetimepicker requires Moment.js to be loaded first" ; t ( jQuery , moment ) } } ( function ( t , e ) { "use strict" ; if ( ! e ) throw new Error ( "bootstrap-datetimepicker requires Moment.js to be loaded first" ) ; var n = function ( n , i ) { var r , o , a , s , l , u , c , h = { } , d = ! 0 , f = ! 1 , p = ! 1 , g = 0 , m = [ { clsName : "days" , navFnc : "M" , navStep : 1 } , { clsName : "months" , navFnc : "y" , navStep : 1 } , { clsName : "years" , navFnc : "y" , navStep : 10 } , { clsName : "decades" , navFnc : "y" , navStep : 100 } ] , v = [ "days" , "months" , "years" , "decades" ] , y = [ "top" , "bottom" , "auto" ] , b = [ "left" , "right" , "auto" ] , x = [ "default" , "top" , "bottom" ] , w = { up : 38 , 38 : "up" , down : 40 , 40 : "down" , left : 37 , 37 : "left" , right : 39 , 39 : "right" , tab : 9 , 9 : "tab" , escape : 27 , 27 : "escape" , enter : 13 , 13 : "enter" , pageUp : 33 , 33 : "pageUp" , pageDown : 34 , 34 : "pageDown" , shift : 16 , 16 : "shift" , control : 17 , 17 : "control" , space : 32 , 32 : "space" , t : 84 , 84 : "t" , delete : 46 , 46 : "delete" } , S = { } , _ = function ( t ) { var n , r , o , a , s , l = ! 1 ; return void 0 !== e . tz && void 0 !== i . timeZone && null !== i . timeZone && "" !== i . timeZone && ( l = ! 0 ) , void 0 === t || null === t ? n = l ? e ( ) . tz ( i . timeZone ) . startOf ( "d" ) : e ( ) . startOf ( "d" ) : l ? ( r = e ( ) . tz ( i . timeZone ) . utcOffset ( ) , o = e ( t , u , i . useStrict ) . utcOffset ( ) , o !== r ? ( a = e ( ) . tz ( i . timeZone ) . format ( "Z" ) , s = e ( t , u , i . useStrict ) . format ( "YYYY-MM-DD[T]HH:mm:ss" ) + a , n = e ( s , u , i . useStrict ) . tz ( i . timeZone ) ) : n = e ( t , u , i . useStrict ) . tz ( i . timeZone ) ) : n = e ( t , u , i . useStrict ) , n } , C = function ( t ) { if ( "string" != typeof t || t . length > 1 ) throw new TypeError ( "isEnabled expects a single character string parameter" ) ; switch ( t ) { case "y" : return l . indexOf ( "Y" ) !== - 1 ; case "M" : return l . indexOf ( "M" ) !== - 1 ; case "d" : return l . toLowerCase ( ) . indexOf ( "d" ) !== - 1 ; case "h" : case "H" : return l . toLowerCase ( ) . indexOf ( "h" ) !== - 1 ; case "m" : return l . indexOf ( "m" ) !== - 1 ; case "s" : return l . indexOf ( "s" ) !== - 1 ; default : return ! 1 } } , M = function ( ) { return C ( "h" ) || C ( "m" ) || C ( "s" ) } , k = function ( ) { return C ( "y" ) || C ( "M" ) || C ( "d" ) } , T = function ( ) { var e = t ( "<thead>" ) . append ( t ( "<tr>" ) . append ( t ( "<th>" ) . addClass ( "prev" ) . att
2017-08-06 02:11:50 +00:00
return i . showClear = t , p && ( tt ( ) , rt ( ) ) , h } , h . widgetParent = function ( e ) { if ( 0 === arguments . length ) return i . widgetParent ; if ( "string" == typeof e && ( e = t ( e ) ) , null !== e && "string" != typeof e && ! ( e instanceof t ) ) throw new TypeError ( "widgetParent() expects a string or a jQuery object parameter" ) ; return i . widgetParent = e , p && ( tt ( ) , rt ( ) ) , h } , h . keepOpen = function ( t ) { if ( 0 === arguments . length ) return i . keepOpen ; if ( "boolean" != typeof t ) throw new TypeError ( "keepOpen() expects a boolean parameter" ) ; return i . keepOpen = t , h } , h . focusOnShow = function ( t ) { if ( 0 === arguments . length ) return i . focusOnShow ; if ( "boolean" != typeof t ) throw new TypeError ( "focusOnShow() expects a boolean parameter" ) ; return i . focusOnShow = t , h } , h . inline = function ( t ) { if ( 0 === arguments . length ) return i . inline ; if ( "boolean" != typeof t ) throw new TypeError ( "inline() expects a boolean parameter" ) ; return i . inline = t , h } , h . clear = function ( ) { return et ( ) , h } , h . keyBinds = function ( t ) { return i . keyBinds = t , h } , h . getMoment = function ( t ) { return _ ( t ) } , h . debug = function ( t ) { if ( "boolean" != typeof t ) throw new TypeError ( "debug() expects a boolean parameter" ) ; return i . debug = t , h } , h . allowInputToggle = function ( t ) { if ( 0 === arguments . length ) return i . allowInputToggle ; if ( "boolean" != typeof t ) throw new TypeError ( "allowInputToggle() expects a boolean parameter" ) ; return i . allowInputToggle = t , h } , h . showClose = function ( t ) { if ( 0 === arguments . length ) return i . showClose ; if ( "boolean" != typeof t ) throw new TypeError ( "showClose() expects a boolean parameter" ) ; return i . showClose = t , h } , h . keepInvalid = function ( t ) { if ( 0 === arguments . length ) return i . keepInvalid ; if ( "boolean" != typeof t ) throw new TypeError ( "keepInvalid() expects a boolean parameter" ) ; return i . keepInvalid = t , h } , h . datepickerInput = function ( t ) { if ( 0 === arguments . length ) return i . datepickerInput ; if ( "string" != typeof t ) throw new TypeError ( "datepickerInput() expects a string parameter" ) ; return i . datepickerInput = t , h } , h . parseInputDate = function ( t ) { if ( 0 === arguments . length ) return i . parseInputDate ; if ( "function" != typeof t ) throw new TypeError ( "parseInputDate() sholud be as function" ) ; return i . parseInputDate = t , h } , h . disabledTimeIntervals = function ( e ) { if ( 0 === arguments . length ) return i . disabledTimeIntervals ? t . extend ( { } , i . disabledTimeIntervals ) : i . disabledTimeIntervals ; if ( ! e ) return i . disabledTimeIntervals = ! 1 , J ( ) , h ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "disabledTimeIntervals() expects an array parameter" ) ; return i . disabledTimeIntervals = e , J ( ) , h } , h . disabledHours = function ( e ) { if ( 0 === arguments . length ) return i . disabledHours ? t . extend ( { } , i . disabledHours ) : i . disabledHours ; if ( ! e ) return i . disabledHours = ! 1 , J ( ) , h ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "disabledHours() expects an array parameter" ) ; if ( i . disabledHours = ft ( e ) , i . enabledHours = ! 1 , i . useCurrent && ! i . keepInvalid ) { for ( var n = 0 ; ! W ( r , "h" ) ; ) { if ( r . add ( 1 , "h" ) , 24 === n ) throw "Tried 24 times to find a valid date" ; n ++ } Q ( r ) } return J ( ) , h } , h . enabledHours = function ( e ) { if ( 0 === arguments . length ) return i . enabledHours ? t . extend ( { } , i . enabledHours ) : i . enabledHours ; if ( ! e ) return i . enabledHours = ! 1 , J ( ) , h ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "enabledHours() expects an array parameter" ) ; if ( i . enabledHours = ft ( e ) , i . disabledHours = ! 1 , i . useCurrent && ! i . keepInvalid ) { for ( var n = 0 ; ! W ( r , "h" ) ; ) { if ( r . add ( 1 , "h" ) , 24 === n ) throw "Tried 24 times to find a valid date" ; n ++ } Q ( r ) } return J ( ) , h } , h . viewDate = function ( t ) { if ( 0 === arguments . length ) return o . clone ( ) ; if ( ! t ) return o = r . clone ( ) , h ; if ( ! ( "string" == typeof t || e . isMoment ( t ) || t instanceof Date ) ) throw new TypeError ( "viewDate() parameter must be one of [string, moment or Date]" ) ; return o = at ( t ) , I ( ) , h } , n . is ( "input" ) ) a = n ; else if ( a = n . find ( i . datepickerInput ) , 0 === a . size ( ) ) a = n . find ( "input" ) ; else if ( ! a . is ( "input" ) ) throw new Error ( 'CSS class "' + i . datepickerInput + '" cannot be applied to non input element' ) ; if ( n . hasClass ( "input-group" ) && ( f = 0 === n . find ( ".datepickerbutton" ) . size ( ) ? n . find ( ".input-group-addon" ) : n . find ( ".datepickerbutton" ) ) , ! i . inline && ! a . is ( "input" ) ) throw new Error ( "Could not initialize DateTimePicker without an input element" ) ; return r = _ ( ) , o = r . clone ( ) , t . extend ( ! 0 , i , O ( ) ) , h . options ( i ) , pt ( ) , ct ( ) , a . prop ( "disabled" ) && h . disable ( ) , a . is ( "input" ) && 0 !== a . val ( ) . trim ( ) . length ? Q ( at ( a . val ( ) . trim ( ) ) ) : i .
"Ȁ" : "A" , "Ȃ" : "A" , "Ạ" : "A" , "Ậ" : "A" , "Ặ" : "A" , "Ḁ" : "A" , "Ą" : "A" , "Ⱥ" : "A" , "Ɐ" : "A" , "Ꜳ" : "AA" , "Æ" : "AE" , "Ǽ" : "AE" , "Ǣ" : "AE" , "Ꜵ" : "AO" , "Ꜷ" : "AU" , "Ꜹ" : "AV" , "Ꜻ" : "AV" , "Ꜽ" : "AY" , "Ⓑ" : "B" , "B " : "B" , "Ḃ" : "B" , "Ḅ" : "B" , "Ḇ" : "B" , "Ƀ" : "B" , "Ƃ" : "B" , "Ɓ" : "B" , "Ⓒ" : "C" , "C " : "C" , "Ć" : "C" , "Ĉ" : "C" , "Ċ" : "C" , "Č" : "C" , "Ç" : "C" , "Ḉ" : "C" , "Ƈ" : "C" , "Ȼ" : "C" , "Ꜿ" : "C" , "Ⓓ" : "D" , "D " : "D" , "Ḋ" : "D" , "Ď" : "D" , "Ḍ" : "D" , "Ḑ" : "D" , "Ḓ" : "D" , "Ḏ" : "D" , "Đ" : "D" , "Ƌ" : "D" , "Ɗ" : "D" , "Ɖ" : "D" , "Ꝺ" : "D" , "DZ" : "DZ" , "DŽ" : "DZ" , "Dz" : "Dz" , "Dž" : "Dz" , "Ⓔ" : "E" , "E " : "E" , "È" : "E" , "É" : "E" , "Ê" : "E" , "Ề" : "E" , "Ế" : "E" , "Ễ" : "E" , "Ể" : "E" , "Ẽ" : "E" , "Ē" : "E" , "Ḕ" : "E" , "Ḗ" : "E" , "Ĕ" : "E" , "Ė" : "E" , "Ë" : "E" , "Ẻ" : "E" , "Ě" : "E" , "Ȅ" : "E" , "Ȇ" : "E" , "Ẹ" : "E" , "Ệ" : "E" , "Ȩ" : "E" , "Ḝ" : "E" , "Ę" : "E" , "Ḙ" : "E" , "Ḛ" : "E" , "Ɛ" : "E" , "Ǝ" : "E" , "Ⓕ" : "F" , "F " : "F" , "Ḟ" : "F" , "Ƒ" : "F" , "Ꝼ" : "F" , "Ⓖ" : "G" , "G " : "G" , "Ǵ" : "G" , "Ĝ" : "G" , "Ḡ" : "G" , "Ğ" : "G" , "Ġ" : "G" , "Ǧ" : "G" , "Ģ" : "G" , "Ǥ" : "G" , "Ɠ" : "G" , "Ꞡ" : "G" , "Ᵹ" : "G" , "Ꝿ" : "G" , "Ⓗ" : "H" , "H " : "H" , "Ĥ" : "H" , "Ḣ" : "H" , "Ḧ" : "H" , "Ȟ" : "H" , "Ḥ" : "H" , "Ḩ" : "H" , "Ḫ" : "H" , "Ħ" : "H" , "Ⱨ" : "H" , "Ⱶ" : "H" , "Ɥ" : "H" , "Ⓘ" : "I" , "I " : "I" , "Ì" : "I" , "Í" : "I" , "Î" : "I" , "Ĩ" : "I" , "Ī" : "I" , "Ĭ" : "I" , "İ" : "I" , "Ï" : "I" , "Ḯ" : "I" , "Ỉ" : "I" , "Ǐ" : "I" , "Ȉ" : "I" , "Ȋ" : "I" , "Ị" : "I" , "Į" : "I" , "Ḭ" : "I" , "Ɨ" : "I" , "Ⓙ" : "J" , "J " : "J" , "Ĵ" : "J" , "Ɉ" : "J" , "Ⓚ" : "K" , "K " : "K" , "Ḱ" : "K" , "Ǩ" : "K" , "Ḳ" : "K" , "Ķ" : "K" , "Ḵ" : "K" , "Ƙ" : "K" , "Ⱪ" : "K" , "Ꝁ" : "K" , "Ꝃ" : "K" , "Ꝅ" : "K" , "Ꞣ" : "K" , "Ⓛ" : "L" , "L " : "L" , "Ŀ" : "L" , "Ĺ" : "L" , "Ľ" : "L" , "Ḷ" : "L" , "Ḹ" : "L" , "Ļ" : "L" , "Ḽ" : "L" , "Ḻ" : "L" , "Ł" : "L" , "Ƚ" : "L" , "Ɫ" : "L" , "Ⱡ" : "L" , "Ꝉ" : "L" , "Ꝇ" : "L" , "Ꞁ" : "L" , "LJ" : "LJ" , "Lj" : "Lj" , "Ⓜ" : "M" , "M " : "M" , "Ḿ" : "M" , "Ṁ" : "M" , "Ṃ" : "M" , "Ɱ" : "M" , "Ɯ" : "M" , "Ⓝ" : "N" , "N " : "N" , "Ǹ" : "N" , "Ń" : "N" , "Ñ" : "N" , "Ṅ" : "N" , "Ň" : "N" , "Ṇ" : "N" , "Ņ" : "N" , "Ṋ" : "N" , "Ṉ" : "N" , "Ƞ" : "N" , "Ɲ" : "N" , "Ꞑ" : "N" , "Ꞥ" : "N" , "NJ" : "NJ" , "Nj" : "Nj" , "Ⓞ" : "O" , "O " : "O" , "Ò" : "O" , "Ó" : "O" , "Ô" : "O" , "Ồ" : "O" , "Ố" : "O" , "Ỗ" : "O" , "Ổ" : "O" , "Õ" : "O" , "Ṍ" : "O" , "Ȭ" : "O" , "Ṏ" : "O" , "Ō" : "O" , "Ṑ" : "O" , "Ṓ" : "O" , "Ŏ" : "O" , "Ȯ" : "O" , "Ȱ" : "O" , "Ö" : "O" , "Ȫ" : "O" , "Ỏ" : "O" , "Ő" : "O" , "Ǒ" : "O" , "Ȍ" : "O" , "Ȏ" : "O" , "Ơ" : "O" , "Ờ" : "O" , "Ớ" : "O" , "Ỡ" : "O" , "Ở" : "O" , "Ợ" : "O" , "Ọ" : "O" , "Ộ" : "O" , "Ǫ" : "O" , "Ǭ" : "O" , "Ø" : "O" , "Ǿ" : "O" , "Ɔ" : "O" , "Ɵ" : "O" , "Ꝋ" : "O" , "Ꝍ" : "O" , "Ƣ" : "OI" , "Ꝏ" : "OO" , "Ȣ " : "OU" , "Ⓟ" : "P" , "P " : "P" , "Ṕ" : "P" , "Ṗ" : "P" , "Ƥ" : "P" , "Ᵽ" : "P" , "Ꝑ" : "P" , "Ꝓ" : "P" , "Ꝕ" : "P" , "Ⓠ" : "Q" , "Q " : "Q" , "Ꝗ" : "Q" , "Ꝙ" : "Q" , "Ɋ" : "Q" , "Ⓡ" : "R" , "R " : "R" , "Ŕ" : "R" , "Ṙ" : "R" , "Ř" : "R" , "Ȑ" : "R" , "Ȓ" : "R" , "Ṛ" : "R" , "Ṝ" : "R" , "Ŗ" : "R" , "Ṟ" : "R" , "Ɍ" : "R" , "Ɽ" : "R" , "Ꝛ " : "R" , "Ꞧ" : "R" , "Ꞃ" : "R" , "Ⓢ" : "S" , "S " : "S" , "ẞ" : "S" , "Ś" : "S" , "Ṥ" : "S" , "Ŝ" : "S" , "Ṡ" : "S" , "Š" : "S" , "Ṧ" : "S" , "Ṣ" : "S" , "Ṩ" : "S" , "Ș" : "S" , "Ş" : "S" , "Ȿ" : "S" , "Ꞩ" : "S" , "Ꞅ" : "S" , "Ⓣ" : "T" , "T " : "T" , "Ṫ" : "T" , "Ť" : "T" , "Ṭ" : "T" , "Ț" : "T" , "Ţ" : "T" , "Ṱ" : "T" , "Ṯ" : "T" , "Ŧ" : "T" , "Ƭ" : "T" , "Ʈ" : "T" , "Ⱦ" : "T" , "Ꞇ" : "T" , "Ꜩ" : "TZ" , "Ⓤ" : "U" , "U " : "U" , "Ù" : "U" , "Ú" : "U" , "Û" : "U" , "Ũ" : "U" , "Ṹ" : "U" , "Ū" : "U" , "Ṻ" : "U" , "Ŭ" : "U" , "Ü" : "U" , "Ǜ" : "U" , "Ǘ" : "U" , "Ǖ" : "U" , "Ǚ" : "U" , "Ủ" : "U" , "Ů" : "U" , "Ű" : "U" , "Ǔ" : "U" , "Ȕ" : "U" , "Ȗ" : "U" , "Ư" : "U" , "Ừ" : "U" , "Ứ" : "U" , "Ữ" : "U" , "Ử" : "U" , "Ự" : "U" , "Ụ" : "U" , "Ṳ" : "U" , "Ų" : "U" , "Ṷ" : "U" , "Ṵ" : "U" , "Ʉ" : "U" , "Ⓥ" : "V" , "V " : "V" , "Ṽ" : "V" , "Ṿ" : "V" , "Ʋ" : "V" , "Ꝟ" : "V" , "Ʌ" : "V" , "Ꝡ" : "VY" , "Ⓦ" : "W" , "W " : "W" , "Ẁ" : "W" , "Ẃ" : "W" , "Ŵ" : "W" , "Ẇ" : "W" , "Ẅ" : "W" , "Ẉ" : "W" , "Ⱳ" : "W" , "Ⓧ" : "X" , "X " : "X" , "Ẋ" : "X" , "Ẍ" : "X" , "Ⓨ" : "Y" , "Y " : "Y" , "Ỳ" : "Y" , "Ý" : "Y" , "Ŷ" : "Y" , "Ỹ" : "Y" , "Ȳ" : "Y" , "Ẏ" : "Y" , "Ÿ" : "Y" , "Ỷ" : "Y" , "Ỵ" : "Y" , "Ƴ" : "Y" , "Ɏ" : "Y" , "Ỿ" : "Y" , "Ⓩ" : "Z" , "Z " : "Z" , "Ź" : "Z" , "Ẑ" : "Z" , "Ż" : "Z" , "Ž" : "Z" , "Ẓ" : "Z" , "Ẕ" : "Z" , "Ƶ" : "Z" , "Ȥ" : "Z" , "Ɀ" : "Z" , "Ⱬ" : "Z" , "Ꝣ" : "Z" , "ⓐ" : "a" , "a " : "a" , "ẚ" : "a" , "à" : "a" , "á" : "a" , "â" : "a" , "ầ" : "a" , "ấ" : "a" , "ẫ" : "a" , "ẩ" : "a" , "ã" : "a" , "ā" : "a" , "ă" : "a" , "ằ" : "a" , "ắ" : "a" , "ẵ" : "a" , "ẳ" : "a" , "ȧ" : "a" , "ǡ" : "a" , "ä" : "a" , "ǟ" : "a" , "ả" : "a" , "å" : "a" , "ǻ" : "a" , "ǎ" : "a" , "ȁ" : "a" , "ȃ" : "a" , "ạ" : "a" , "ậ" : "a" , "ặ" : "a" , "ḁ" : "a" , "ą" : "a" , "ⱥ" : "a" , "ɐ" : "a" , "ꜳ" : "aa" , "æ" : "ae" , "ǽ" : "ae" , "ǣ" : "ae" , "ꜵ" : "ao" , "ꜷ" : "au" , "ꜹ" : "av" , "ꜻ" : "av" , "ꜽ" : "ay" , "ⓑ" : "b"
2017-09-20 01:33:26 +00:00
this . _bindAdapters ( ) , this . _registerDomEvents ( ) , this . _registerDataEvents ( ) , this . _registerSelectionEvents ( ) , this . _registerDropdownEvents ( ) , this . _registerResultsEvents ( ) , this . _registerEvents ( ) , this . dataAdapter . current ( function ( t ) { c . trigger ( "selection:update" , { data : t } ) } ) , t . addClass ( "select2-hidden-accessible" ) , t . attr ( "aria-hidden" , "true" ) , this . _syncAttributes ( ) , t . data ( "select2" , this ) } ; return n . Extend ( r , n . Observable ) , r . prototype . _generateId = function ( t ) { var e = "" ; return e = null != t . attr ( "id" ) ? t . attr ( "id" ) : null != t . attr ( "name" ) ? t . attr ( "name" ) + "-" + n . generateChars ( 2 ) : n . generateChars ( 4 ) , e = e . replace ( /(:|\.|\[|\]|,)/g , "" ) , e = "select2-" + e } , r . prototype . _placeContainer = function ( t ) { t . insertAfter ( this . $element ) ; var e = this . _resolveWidth ( this . $element , this . options . get ( "width" ) ) ; null != e && t . css ( "width" , e ) } , r . prototype . _resolveWidth = function ( t , e ) { var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i ; if ( "resolve" == e ) { var i = this . _resolveWidth ( t , "style" ) ; return null != i ? i : this . _resolveWidth ( t , "element" ) } if ( "element" == e ) { var r = t . outerWidth ( ! 1 ) ; return 0 >= r ? "auto" : r + "px" } if ( "style" == e ) { var o = t . attr ( "style" ) ; if ( "string" != typeof o ) return null ; for ( var a = o . split ( ";" ) , s = 0 , l = a . length ; l > s ; s += 1 ) { var u = a [ s ] . replace ( /\s/g , "" ) , c = u . match ( n ) ; if ( null !== c && c . length >= 1 ) return c [ 1 ] } return null } return e } , r . prototype . _bindAdapters = function ( ) { this . dataAdapter . bind ( this , this . $container ) , this . selection . bind ( this , this . $container ) , this . dropdown . bind ( this , this . $container ) , this . results . bind ( this , this . $container ) } , r . prototype . _registerDomEvents = function ( ) { var e = this ; this . $element . on ( "change.select2" , function ( ) { e . dataAdapter . current ( function ( t ) { e . trigger ( "selection:update" , { data : t } ) } ) } ) , this . $element . on ( "focus.select2" , function ( t ) { e . trigger ( "focus" , t ) } ) , this . _syncA = n . bind ( this . _syncAttributes , this ) , this . _syncS = n . bind ( this . _syncSubtree , this ) , this . $element [ 0 ] . attachEvent && this . $element [ 0 ] . attachEvent ( "onpropertychange" , this . _syncA ) ; var i = window . MutationObserver || window . WebKitMutationObserver || window . MozMutationObserver ; null != i ? ( this . _observer = new i ( function ( n ) { t . each ( n , e . _syncA ) , t . each ( n , e . _syncS ) } ) , this . _observer . observe ( this . $element [ 0 ] , { attributes : ! 0 , childList : ! 0 , subtree : ! 1 } ) ) : this . $element [ 0 ] . addEventListener && ( this . $element [ 0 ] . addEventListener ( "DOMAttrModified" , e . _syncA , ! 1 ) , this . $element [ 0 ] . addEventListener ( "DOMNodeInserted" , e . _syncS , ! 1 ) , this . $element [ 0 ] . addEventListener ( "DOMNodeRemoved" , e . _syncS , ! 1 ) ) } , r . prototype . _registerDataEvents = function ( ) { var t = this ; this . dataAdapter . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , r . prototype . _registerSelectionEvents = function ( ) { var e = this , n = [ "toggle" , "focus" ] ; this . selection . on ( "toggle" , function ( ) { e . toggleDropdown ( ) } ) , this . selection . on ( "focus" , function ( t ) { e . focus ( t ) } ) , this . selection . on ( "*" , function ( i , r ) { - 1 === t . inArray ( i , n ) && e . trigger ( i , r ) } ) } , r . prototype . _registerDropdownEvents = function ( ) { var t = this ; this . dropdown . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , r . prototype . _registerResultsEvents = function ( ) { var t = this ; this . results . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , r . prototype . _registerEvents = function ( ) { var t = this ; this . on ( "open" , function ( ) { t . $container . addClass ( "select2-container--open" ) } ) , this . on ( "close" , function ( ) { t . $container . removeClass ( "select2-container--open" ) } ) , this . on ( "enable" , function ( ) { t . $container . removeClass ( "select2-container--disabled" ) } ) , this . on ( "disable" , function ( ) { t . $container . addClass ( "select2-container--disabled" ) } ) , this . on ( "blur" , function ( ) { t . $container . removeClass ( "select2-container--focus" ) } ) , this . on ( "query" , function ( e ) { t . isOpen ( ) || t . trigger ( "open" , { } ) , this . dataAdapter . query ( e , function ( n ) { t . trigger ( "results:all" , { data : n , query : e } ) } ) } ) , this . on ( "query:append" , function ( e ) { this . dataAdapter . query ( e , function ( n ) { t . trigger ( "results:append" , { data : n , query : e } ) } ) } ) , this . on ( "keypress" , function ( e ) { var n = e . which ; t . isOpen ( ) ? n === i . ESC || n === i . TAB || n === i . UP && e . altKey ? ( t . close ( ) , e . preventDefault ( ) ) : n === i . ENTER ? ( t . trigger ( "results:select" , { } ) , e . preventDefault ( ) ) : n === i . SPACE && e . ctrlKey ? ( t . trigger ( "results:toggle" , { } ) , e . preventDefault ( ) ) : n === i . UP ? ( t . trigger ( "results:previous" , { } ) , e . preventDefault ( ) ) : n === i . DOWN && ( t . trigger ( "results:next" , { } ) , e
2017-08-06 02:11:50 +00:00
} } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = Math . exp ; i ( i . S , "Math" , { cosh : function ( t ) { return ( r ( t = + t ) + r ( - t ) ) / 2 } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 110 ) ; i ( i . S + i . F * ( r != Math . expm1 ) , "Math" , { expm1 : r } ) } , function ( t , e ) { var n = Math . expm1 ; t . exports = ! n || n ( 10 ) > 22025.465794806718 || n ( 10 ) < 22025.465794806718 || n ( - 2e-17 ) != - 2e-17 ? function ( t ) { return 0 == ( t = + t ) ? t : t > - 1e-6 && t < 1e-6 ? t + t * t / 2 : Math . exp ( t ) - 1 } : n } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 106 ) , o = Math . pow , a = o ( 2 , - 52 ) , s = o ( 2 , - 23 ) , l = o ( 2 , 127 ) * ( 2 - s ) , u = o ( 2 , - 126 ) , c = function ( t ) { return t + 1 / a - 1 / a } ; i ( i . S , "Math" , { fround : function ( t ) { var e , n , i = Math . abs ( t ) , o = r ( t ) ; return i < u ? o * c ( i / u / s ) * u * s : ( e = ( 1 + s / a ) * i , n = e - ( e - i ) , n > l || n != n ? o * ( 1 / 0 ) : o * n ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = Math . abs ; i ( i . S , "Math" , { hypot : function ( t , e ) { for ( var n , i , o = 0 , a = 0 , s = arguments . length , l = 0 ; a < s ; ) n = r ( arguments [ a ++ ] ) , l < n ? ( i = l / n , o = o * i * i + 1 , l = n ) : n > 0 ? ( i = n / l , o += i * i ) : o += n ; return l === 1 / 0 ? 1 / 0 : l * Math . sqrt ( o ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = Math . imul ; i ( i . S + i . F * n ( 5 ) ( function ( ) { return r ( 4294967295 , 5 ) != - 5 || 2 != r . length } ) , "Math" , { imul : function ( t , e ) { var n = 65535 , i = + t , r = + e , o = n & i , a = n & r ; return 0 | o * a + ( ( n & i >>> 16 ) * a + o * ( n & r >>> 16 ) << 16 >>> 0 ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { log10 : function ( t ) { return Math . log ( t ) / Math . LN10 } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { log1p : n ( 102 ) } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { log2 : function ( t ) { return Math . log ( t ) / Math . LN2 } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { sign : n ( 106 ) } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 110 ) , o = Math . exp ; i ( i . S + i . F * n ( 5 ) ( function ( ) { return ! Math . sinh ( - 2e-17 ) != - 2e-17 } ) , "Math" , { sinh : function ( t ) { return Math . abs ( t = + t ) < 1 ? ( r ( t ) - r ( - t ) ) / 2 : ( o ( t - 1 ) - o ( - t - 1 ) ) * ( Math . E / 2 ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 110 ) , o = Math . exp ; i ( i . S , "Math" , { tanh : function ( t ) { var e = r ( t = + t ) , n = r ( - t ) ; return e == 1 / 0 ? 1 : n == 1 / 0 ? - 1 : ( e - n ) / ( o ( t ) + o ( - t ) ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { trunc : function ( t ) { return ( t > 0 ? Math . floor : Math . ceil ) ( t ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 37 ) , o = String . fromCharCode , a = String . fromCodePoint ; i ( i . S + i . F * ( ! ! a && 1 != a . length ) , "String" , { fromCodePoint : function ( t ) { for ( var e , n = [ ] , i = arguments . length , a = 0 ; i > a ; ) { if ( e = + arguments [ a ++ ] , r ( e , 1114111 ) !== e ) throw RangeError ( e + " is not a valid code point" ) ; n . push ( e < 65536 ? o ( e ) : o ( ( ( e -= 65536 ) >> 10 ) + 55296 , e % 1024 + 56320 ) ) } return n . join ( "" ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 30 ) , o = n ( 35 ) ; i ( i . S , "String" , { raw : function ( t ) { for ( var e = r ( t . raw ) , n = o ( e . length ) , i = arguments . length , a = [ ] , s = 0 ; n > s ; ) a . push ( String ( e [ s ++ ] ) ) , s < i && a . push ( String ( arguments [ s ] ) ) ; return a . join ( "" ) } } ) } , function ( t , e , n ) { n ( 81 ) ( "trim" , function ( t ) { return function ( ) { return t ( this , 3 ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 125 ) ( ! 1 ) ; i ( i . P , "String" , { codePointAt : function ( t ) { return r ( this , t ) } } ) } , function ( t , e , i ) { var r = i ( 36 ) , o = i ( 33 ) ; t . exports = function ( t ) { return function ( e , i ) { var a , s , l = String ( o ( e ) ) , u = r ( i ) , c = l . length ; return u < 0 || u >= c ? t ? "" : n : ( a = l . charCodeAt ( u ) , a < 55296 || a > 56319 || u + 1 === c || ( s = l . charCodeAt ( u + 1 ) ) < 56320 || s > 57343 ? t ? l . charAt ( u ) : a : t ? l . slice ( u , u + 2 ) : ( a - 55296 << 10 ) + ( s - 56320 ) + 65536 ) } } } , function ( t , e , i ) { var r = i ( 6 ) , o = i ( 35 ) , a = i ( 127 ) , s = "endsWith" , l = "" [ s ] ; r ( r . P + r . F * i ( 129 ) ( s ) , "String" , { endsWith : function ( t ) { var e = a ( this , t , s ) , i = arguments . length > 1 ? arguments [ 1 ] : n , r = o ( e . length ) , u = i === n ? r : Math . min ( o ( i ) , r ) , c = String ( t ) ; return l ? l . call ( e , c , u ) : e . slice ( u - c . length , u ) === c } } ) } , function ( t , e , n ) { var i = n ( 128 ) , r = n ( 33 ) ; t . exports = function ( t , e , n ) { if ( i ( e ) ) throw TypeError ( "String#" + n + " doesn't accept regex!" ) ; return String ( r ( t ) ) } } , function ( t , e , i ) { var r = i ( 11 ) , o = i ( 32 ) , a = i ( 23 ) ( "match" ) ; t . exports = function ( t ) { var e ; return r ( t ) && ( ( e = t [ a ] ) !== n ? ! ! e : "RegExp" == o ( t ) ) } } , function ( t , e , n ) { var i = n ( 23 ) ( "match" ) ; t . exports = function ( t ) { var e = /./ ; try { "/./" [ t ] ( e ) } catch ( n ) { try { return e [ i ] = ! 1 , ! "/./" [ t ] ( e ) } catch ( t ) { } } return ! 0 } } , function ( t , e , i ) { var r = i ( 6 ) , o = i ( 127 ) , a = "includes" ; r ( r . P + r . F * i ( 129 ) ( a ) , "String" , { includes : function ( t ) { return ! ! ~ o ( this , t , a ) . indexOf ( t , arguments . length > 1 ? arguments [ 1 ] : n ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . P , "String" , { repeat : n ( 85 ) } ) } , function ( t , e , i ) { var r = i ( 6 ) , o = i ( 35 ) , a = i ( 127 ) , s = "startsWith" , l = "" [ s ] ; r ( r . P + r . F * i ( 129 ) ( s ) , "String" , { startsWith : function ( t ) { var e = a ( this , t , s ) , i = o ( Math . min ( arguments . length > 1 ? arguments [ 1 ] : n , e . length ) ) , r = String ( t ) ; return l ? l . call ( e , r , i ) : e . slice ( i , i + r . length ) === r } } ) } , function ( t , e , i ) {
2017-09-20 01:33:26 +00:00
r ( r . G + r . W + r . F * ( h !== f ) , { ArrayBuffer : f } ) , r ( r . S + r . F * ! o . CONSTR , y , { isView : function ( t ) { return g && g ( t ) || c ( t ) && v in t } } ) , r ( r . P + r . U + r . F * i ( 5 ) ( function ( ) { return ! new f ( 2 ) . slice ( 1 , n ) . byteLength } ) , y , { slice : function ( t , e ) { if ( m !== n && e === n ) return m . call ( s ( this ) , t ) ; for ( var i = s ( this ) . byteLength , r = l ( t , i ) , o = l ( e === n ? i : e , i ) , a = new ( d ( this , f ) ) ( u ( o - r ) ) , c = new p ( this ) , h = new p ( a ) , g = 0 ; r < o ; ) h . setUint8 ( g ++ , c . getUint8 ( r ++ ) ) ; return a } } ) , i ( 186 ) ( y ) } , function ( t , e , n ) { for ( var i , r = n ( 2 ) , o = n ( 8 ) , a = n ( 17 ) , s = a ( "typed_array" ) , l = a ( "view" ) , u = ! ( ! r . ArrayBuffer || ! r . DataView ) , c = u , h = 0 , d = 9 , f = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array" . split ( "," ) ; h < d ; ) ( i = r [ f [ h ++ ] ] ) ? ( o ( i . prototype , s , ! 0 ) , o ( i . prototype , l , ! 0 ) ) : c = ! 1 ; t . exports = { ABV : u , CONSTR : c , TYPED : s , VIEW : l } } , function ( t , e , i ) { var r = i ( 2 ) , o = i ( 4 ) , a = i ( 26 ) , s = i ( 232 ) , l = i ( 8 ) , u = i ( 202 ) , c = i ( 5 ) , h = i ( 197 ) , d = i ( 36 ) , f = i ( 35 ) , p = i ( 48 ) . f , g = i ( 9 ) . f , m = i ( 180 ) , v = i ( 22 ) , y = "ArrayBuffer" , b = "DataView" , x = "prototype" , w = "Wrong length!" , S = "Wrong index!" , _ = r [ y ] , C = r [ b ] , M = r . Math , k = r . RangeError , T = r . Infinity , D = _ , A = M . abs , E = M . pow , P = M . floor , O = M . log , L = M . LN2 , N = "buffer" , I = "byteLength" , j = "byteOffset" , F = o ? "_b" : N , R = o ? "_l" : I , H = o ? "_o" : j , z = function ( t , e , n ) { var i , r , o , a = Array ( n ) , s = 8 * n - e - 1 , l = ( 1 << s ) - 1 , u = l >> 1 , c = 23 === e ? E ( 2 , - 24 ) - E ( 2 , - 77 ) : 0 , h = 0 , d = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0 ; for ( t = A ( t ) , t != t || t === T ? ( r = t != t ? 1 : 0 , i = l ) : ( i = P ( O ( t ) / L ) , t * ( o = E ( 2 , - i ) ) < 1 && ( i -- , o *= 2 ) , t += i + u >= 1 ? c / o : c * E ( 2 , 1 - u ) , t * o >= 2 && ( i ++ , o /= 2 ) , i + u >= l ? ( r = 0 , i = l ) : i + u >= 1 ? ( r = ( t * o - 1 ) * E ( 2 , e ) , i += u ) : ( r = t * E ( 2 , u - 1 ) * E ( 2 , e ) , i = 0 ) ) ; e >= 8 ; a [ h ++ ] = 255 & r , r /= 256 , e -= 8 ) ; for ( i = i << e | r , s += e ; s > 0 ; a [ h ++ ] = 255 & i , i /= 256 , s -= 8 ) ; return a [ -- h ] |= 128 * d , a } , B = function ( t , e , n ) { var i , r = 8 * n - e - 1 , o = ( 1 << r ) - 1 , a = o >> 1 , s = r - 7 , l = n - 1 , u = t [ l -- ] , c = 127 & u ; for ( u >>= 7 ; s > 0 ; c = 256 * c + t [ l ] , l -- , s -= 8 ) ; for ( i = c & ( 1 << - s ) - 1 , c >>= - s , s += e ; s > 0 ; i = 256 * i + t [ l ] , l -- , s -= 8 ) ; if ( 0 === c ) c = 1 - a ; else { if ( c === o ) return i ? NaN : u ? - T : T ; i += E ( 2 , e ) , c -= a } return ( u ? - 1 : 1 ) * i * E ( 2 , c - e ) } , W = function ( t ) { return t [ 3 ] << 24 | t [ 2 ] << 16 | t [ 1 ] << 8 | t [ 0 ] } , $ = function ( t ) { return [ 255 & t ] } , U = function ( t ) { return [ 255 & t , t >> 8 & 255 ] } , q = function ( t ) { return [ 255 & t , t >> 8 & 255 , t >> 16 & 255 , t >> 24 & 255 ] } , Y = function ( t ) { return z ( t , 52 , 8 ) } , G = function ( t ) { return z ( t , 23 , 4 ) } , X = function ( t , e , n ) { g ( t [ x ] , e , { get : function ( ) { return this [ n ] } } ) } , V = function ( t , e , n , i ) { var r = + n , o = d ( r ) ; if ( r != o || o < 0 || o + e > t [ R ] ) throw k ( S ) ; var a = t [ F ] . _b , s = o + t [ H ] , l = a . slice ( s , s + e ) ; return i ? l : l . reverse ( ) } , Z = function ( t , e , n , i , r , o ) { var a = + n , s = d ( a ) ; if ( a != s || s < 0 || s + e > t [ R ] ) throw k ( S ) ; for ( var l = t [ F ] . _b , u = s + t [ H ] , c = i ( + r ) , h = 0 ; h < e ; h ++ ) l [ u + h ] = c [ o ? h : e - h - 1 ] } , K = function ( t , e ) { h ( t , _ , y ) ; var n = + e , i = f ( n ) ; if ( n != i ) throw k ( w ) ; return i } ; if ( s . ABV ) { if ( ! c ( function ( ) { new _ } ) || ! c ( function ( ) { new _ ( . 5 ) } ) ) { _ = function ( t ) { return new D ( K ( this , t ) ) } ; for ( var J , Q = _ [ x ] = D [ x ] , tt = p ( D ) , et = 0 ; tt . length > et ; ) ( J = tt [ et ++ ] ) in _ || l ( _ , J , D [ J ] ) ; a || ( Q . constructor = _ ) } var nt = new C ( new _ ( 2 ) ) , it = C [ x ] . setInt8 ; nt . setInt8 ( 0 , 2147483648 ) , nt . setInt8 ( 1 , 2147483649 ) , ! nt . getInt8 ( 0 ) && nt . getInt8 ( 1 ) || u ( C [ x ] , { setInt8 : function ( t , e ) { it . call ( this , t , e << 24 >> 24 ) } , setUint8 : function ( t , e ) { it . call ( this , t , e << 24 >> 24 ) } } , ! 0 ) } else _ = function ( t ) { var e = K ( this , t ) ; this . _b = m . call ( Array ( e ) , 0 ) , this [ R ] = e } , C = function ( t , e , i ) { h ( this , C , b ) , h ( t , _ , b ) ; var r = t [ R ] , o = d ( e ) ; if ( o < 0 || o > r ) throw k ( "Wrong offset!" ) ; if ( i = i === n ? r - o : f ( i ) , o + i > r ) throw k ( w ) ; this [ F ] = t , this [ H ] = o , this [ R ] = i } , o && ( X ( _ , I , "_l" ) , X ( C , N , "_b" ) , X ( C , I , "_l" ) , X ( C , j , "_o" ) ) , u ( C [ x ] , { getInt8 : function ( t ) { return V ( this , 1 , t ) [ 0 ] << 24 >> 24 } , getUint8 : function ( t ) { return V ( this , 1 , t ) [ 0 ] } , getInt16 : function ( t ) { var e = V ( this , 2 , t , arguments [ 1 ] ) ; return ( e [ 1 ] << 8 | e [ 0 ] ) << 16 >> 16 } , getUint16 : function ( t ) { var e = V ( this , 2 , t , arguments [ 1 ] ) ; return e [ 1 ] << 8 | e [ 0 ] } , getInt32 : function ( t ) { return W ( V ( this , 4 , t , arguments [ 1 ] ) ) } , getUint32 : function ( t ) { return W ( V ( this , 4 , t , arguments [ 1 ] ) ) >>> 0 } , getFloat32 : function ( t ) { return B ( V ( this , 4 , t , arguments [ 1 ] ) , 23 , 4 ) } , getFloat64 : function ( t ) { return B ( V ( this , 8 , t , arguments [ 1 ] ) , 52 , 8 ) } , setInt8 : function ( t , e ) { Z ( this , 1 , t , $ , e ) } , setUint8 : function ( t , e ) { Z ( this , 1 , t , $ , e ) } , setInt16 : function ( t , e ) { Z ( this , 2 , t , U , e , arguments [ 2 ] ) } , setUint16 : function ( t , e ) { Z ( this , 2 , t , U , e , arguments [ 2 ] ) } , setInt32 : function ( t , e ) { Z ( this , 4 , t , q , e , arguments [ 2 ] ) } , setUint32 : function ( t , e ) { Z ( this , 4 , t , q , e , arguments [ 2 ] ) } , setFloat32 : function ( t , e ) { Z ( this , 4 , t , G , e , arguments [ 2 ] ) } , setFloat64 : functi
2017-08-06 02:11:50 +00:00
var a , s = e ; for ( i = t . pick ( i , 1 ) , a = e / i , n || ( n = o ? [ 1 , 1.2 , 1.5 , 2 , 2.5 , 3 , 4 , 5 , 6 , 8 , 10 ] : [ 1 , 2 , 2.5 , 5 , 10 ] , ! 1 === r && ( 1 === i ? n = t . grep ( n , function ( t ) { return 0 === t % 1 } ) : . 1 >= i && ( n = [ 1 / i ] ) ) ) , r = 0 ; r < n . length && ( s = n [ r ] , ! ( o && s * i >= e || ! o && a <= ( n [ r ] + ( n [ r + 1 ] || n [ r ] ) ) / 2 ) ) ; r ++ ) ; return s = t . correctFloat ( s * i , - Math . round ( Math . log ( . 001 ) / Math . LN10 ) ) } , t . stableSort = function ( t , e ) { var n , i , r = t . length ; for ( i = 0 ; i < r ; i ++ ) t [ i ] . safeI = i ; for ( t . sort ( function ( t , i ) { return n = e ( t , i ) , 0 === n ? t . safeI - i . safeI : n } ) , i = 0 ; i < r ; i ++ ) delete t [ i ] . safeI } , t . arrayMin = function ( t ) { for ( var e = t . length , n = t [ 0 ] ; e -- ; ) t [ e ] < n && ( n = t [ e ] ) ; return n } , t . arrayMax = function ( t ) { for ( var e = t . length , n = t [ 0 ] ; e -- ; ) t [ e ] > n && ( n = t [ e ] ) ; return n } , t . destroyObjectProperties = function ( e , n ) { t . objectEach ( e , function ( t , i ) { t && t !== n && t . destroy && t . destroy ( ) , delete e [ i ] } ) } , t . discardElement = function ( e ) { var n = t . garbageBin ; n || ( n = t . createElement ( "div" ) ) , e && n . appendChild ( e ) , n . innerHTML = "" } , t . correctFloat = function ( t , e ) { return parseFloat ( t . toPrecision ( e || 14 ) ) } , t . setAnimation = function ( e , n ) { n . renderer . globalAnimation = t . pick ( e , n . options . chart . animation , ! 0 ) } , t . animObject = function ( e ) { return t . isObject ( e ) ? t . merge ( e ) : { duration : e ? 500 : 0 } } , t . timeUnits = { millisecond : 1 , second : 1e3 , minute : 6e4 , hour : 36e5 , day : 864e5 , week : 6048e5 , month : 24192e5 , year : 314496e5 } , t . numberFormat = function ( e , n , i , r ) { e = + e || 0 , n = + n ; var o , a , s = t . defaultOptions . lang , l = ( e . toString ( ) . split ( "." ) [ 1 ] || "" ) . length ; return - 1 === n ? n = Math . min ( l , 20 ) : t . isNumber ( n ) || ( n = 2 ) , a = ( Math . abs ( e ) + Math . pow ( 10 , - Math . max ( n , l ) - 1 ) ) . toFixed ( n ) , l = String ( t . pInt ( a ) ) , o = 3 < l . length ? l . length % 3 : 0 , i = t . pick ( i , s . decimalPoint ) , r = t . pick ( r , s . thousandsSep ) , e = ( 0 > e ? "-" : "" ) + ( o ? l . substr ( 0 , o ) + r : "" ) , e += l . substr ( o ) . replace ( /(\d{3})(?=\d)/g , "$1" + r ) , n && ( e += i + a . slice ( - n ) ) , e } , Math . easeInOutSine = function ( t ) { return - . 5 * ( Math . cos ( Math . PI * t ) - 1 ) } , t . getStyle = function ( e , n , i ) { return "width" === n ? Math . min ( e . offsetWidth , e . scrollWidth ) - t . getStyle ( e , "padding-left" ) - t . getStyle ( e , "padding-right" ) : "height" === n ? Math . min ( e . offsetHeight , e . scrollHeight ) - t . getStyle ( e , "padding-top" ) - t . getStyle ( e , "padding-bottom" ) : ( ( e = r . getComputedStyle ( e , void 0 ) ) && ( e = e . getPropertyValue ( n ) , t . pick ( i , ! 0 ) && ( e = t . pInt ( e ) ) ) , e ) } , t . inArray = function ( t , e ) { return e . indexOf ? e . indexOf ( t ) : [ ] . indexOf . call ( e , t ) } , t . grep = function ( t , e ) { return [ ] . filter . call ( t , e ) } , t . find = function ( t , e ) { return [ ] . find . call ( t , e ) } , t . map = function ( t , e ) { for ( var n = [ ] , i = 0 , r = t . length ; i < r ; i ++ ) n [ i ] = e . call ( t [ i ] , t [ i ] , i , t ) ; return n } , t . offset = function ( t ) { var e = i . documentElement ; return t = t . getBoundingClientRect ( ) , { top : t . top + ( r . pageYOffset || e . scrollTop ) - ( e . clientTop || 0 ) , left : t . left + ( r . pageXOffset || e . scrollLeft ) - ( e . clientLeft || 0 ) } } , t . stop = function ( t , n ) { for ( var i = e . length ; i -- ; ) e [ i ] . elem !== t || n && n !== e [ i ] . prop || ( e [ i ] . stopped = ! 0 ) } , t . each = function ( t , e , n ) { return Array . prototype . forEach . call ( t , e , n ) } , t . objectEach = function ( t , e , n ) { for ( var i in t ) t . hasOwnProperty ( i ) && e . call ( n , t [ i ] , i , t ) } , t . addEvent = function ( e , n , i ) { function o ( t ) { t . target = t . srcElement || r , i . call ( e , t ) } var a = e . hcEvents = e . hcEvents || { } ; return e . addEventListener ? e . addEventListener ( n , i , ! 1 ) : e . attachEvent && ( e . hcEventsIE || ( e . hcEventsIE = { } ) , e . hcEventsIE [ i . toString ( ) ] = o , e . attachEvent ( "on" + n , o ) ) , a [ n ] || ( a [ n ] = [ ] ) , a [ n ] . push ( i ) , function ( ) { t . removeEvent ( e , n , i ) } } , t . removeEvent = function ( e , n , i ) { function r ( t , n ) { e . removeEventListener ? e . removeEventListener ( t , n , ! 1 ) : e . attachEvent && ( n = e . hcEventsIE [ n . toString ( ) ] , e . detachEvent ( "on" + t , n ) ) } function o ( ) { var i , o ; e . nodeName && ( n ? ( i = { } , i [ n ] = ! 0 ) : i = l , t . objectEach ( i , function ( t , e ) { if ( l [ e ] ) for ( o = l [ e ] . length ; o -- ; ) r ( e , l [ e ] [ o ] ) } ) ) } var a , s , l = e . hcEvents ; l && ( n ? ( a = l [ n ] || [ ] , i ? ( s = t . inArray ( i , a ) , - 1 < s && ( a . splice ( s , 1 ) , l [ n ] = a ) , r ( n , i ) ) : ( o ( ) , l [ n ] = [ ] ) ) : ( o ( ) , e . hcEvents = { } ) ) } , t . fireEvent = function ( e , n , r , o ) { var a ; a = e . hcEvents ; var s , l ; if ( r = r || { } , i . createEvent && ( e . dispatchEvent || e . fireEvent ) ) a = i . createEvent ( "Events" ) , a . initEvent ( n , ! 0 , ! 0 ) , t . extend ( a , r ) , e . dispatchEvent ? e . dispatchEvent ( a ) : e . fireEvent ( n , a ) ; else if ( a ) for ( a = a [ n ] || [ ] , s = a . length , r . target || t . extend ( r , { preventDefault : function ( ) { r . defaultPrevented = ! 0 } , target : e , type : n } ) , n = 0 ; n < s ; n ++ ) ( l = a [ n ] ) && ! 1 === l . call ( e , r ) && r . preventDefault ( ) ; o && ! r . defaultPrevented && o ( r ) } , t . animate = function ( e , n , i ) { var r , o , a , s , l = "" ; t . isObject ( i ) || ( s = arguments , i = { duration : s [ 2 ] , easing : s [ 3 ] , complet
M ( ) ) } , A . paddingLeftSetter = function ( t ) { c ( t ) && t !== N && ( N = t , M ( ) ) } , A . alignSetter = function ( t ) { t = { left : 0 , center : . 5 , right : 1 } [ t ] , t !== O && ( O = t , f && A . attr ( { x : y } ) ) } , A . textSetter = function ( t ) { void 0 !== t && E . textSetter ( t ) , C ( ) , M ( ) } , A [ "stroke-widthSetter" ] = function ( t , e ) { t && ( F = ! 0 ) , w = this [ "stroke-width" ] = t , T ( e , t ) } , A . strokeSetter = A . fillSetter = A . rSetter = function ( t , e ) { "fill" === e && t && ( F = ! 0 ) , T ( e , t ) } , A . anchorXSetter = function ( t , e ) { a = A . anchorX = t , T ( e , Math . round ( t ) - _ ( ) - y ) } , A . anchorYSetter = function ( t , e ) { s = A . anchorY = t , T ( e , t - b ) } , A . xSetter = function ( t ) { A . x = t , O && ( t -= O * ( ( m || f . width ) + 2 * L ) ) , y = Math . round ( t ) , A . attr ( "translateX" , y ) } , A . ySetter = function ( t ) { b = A . y = Math . round ( t ) , A . attr ( "translateY" , b ) } ; var R = A . css ; return g ( A , { css : function ( t ) { if ( t ) { var e = { } ; t = k ( t ) , p ( A . textProps , function ( n ) { void 0 !== t [ n ] && ( e [ n ] = t [ n ] , delete t [ n ] ) } ) , E . css ( e ) } return R . call ( A , t ) } , getBBox : function ( ) { return { width : f . width + 2 * L , height : f . height + 2 * L , x : f . x - L , y : f . y - L } } , shadow : function ( t ) { return t && ( C ( ) , d && d . shadow ( t ) ) , A } , destroy : function ( ) { P ( A . element , "mouseenter" ) , P ( A . element , "mouseleave" ) , E && ( E = E . destroy ( ) ) , d && ( d = d . destroy ( ) ) , e . prototype . destroy . call ( A ) , A = D = C = M = T = null } } ) } } ) , t . Renderer = n } ( t ) , function ( t ) { var e = t . attr , n = t . createElement , i = t . css , r = t . defined , o = t . each , a = t . extend , s = t . isFirefox , l = t . isMS , u = t . isWebKit , c = t . pInt , h = t . SVGRenderer , d = t . win , f = t . wrap ; a ( t . SVGElement . prototype , { htmlCss : function ( t ) { var e = this . element ; return ( e = t && "SPAN" === e . tagName && t . width ) && ( delete t . width , this . textWidth = e , this . updateTransform ( ) ) , t && "ellipsis" === t . textOverflow && ( t . whiteSpace = "nowrap" , t . overflow = "hidden" ) , this . styles = a ( this . styles , t ) , i ( this . element , t ) , this } , htmlGetBBox : function ( ) { var t = this . element ; return "text" === t . nodeName && ( t . style . position = "absolute" ) , { x : t . offsetLeft , y : t . offsetTop , width : t . offsetWidth , height : t . offsetHeight } } , htmlUpdateTransform : function ( ) { if ( this . added ) { var t = this . renderer , e = this . element , n = this . translateX || 0 , a = this . translateY || 0 , s = this . x || 0 , l = this . y || 0 , h = this . textAlign || "left" , d = { left : 0 , center : . 5 , right : 1 } [ h ] , f = this . styles ; if ( i ( e , { marginLeft : n , marginTop : a } ) , this . shadows && o ( this . shadows , function ( t ) { i ( t , { marginLeft : n + 1 , marginTop : a + 1 } ) } ) , this . inverted && o ( e . childNodes , function ( n ) { t . invertChild ( n , e ) } ) , "SPAN" === e . tagName ) { var p = this . rotation , g = c ( this . textWidth ) , m = f && f . whiteSpace , v = [ p , h , e . innerHTML , this . textWidth , this . textAlign ] . join ( ) ; v !== this . cTT && ( f = t . fontMetrics ( e . style . fontSize ) . b , r ( p ) && this . setSpanRotation ( p , d , f ) , i ( e , { width : "" , whiteSpace : m || "nowrap" } ) , e . offsetWidth > g && /[ \-]/ . test ( e . textContent || e . innerText ) && i ( e , { width : g + "px" , display : "block" , whiteSpace : m || "normal" } ) , this . getSpanCorrection ( e . offsetWidth , f , d , p , h ) ) , i ( e , { left : s + ( this . xCorr || 0 ) + "px" , top : l + ( this . yCorr || 0 ) + "px" } ) , u && ( f = e . offsetHeight ) , this . cTT = v } } else this . alignOnAdd = ! 0 } , setSpanRotation : function ( t , e , n ) { var r = { } , o = l ? "-ms-transform" : u ? "-webkit-transform" : s ? "MozTransform" : d . opera ? "-o-transform" : "" ; r [ o ] = r . transform = "rotate(" + t + "deg)" , r [ o + ( s ? "Origin" : "-origin" ) ] = r . transformOrigin = 100 * e + "% " + n + "px" , i ( this . element , r ) } , getSpanCorrection : function ( t , e , n ) { this . xCorr = - t * n , this . yCorr = - e } } ) , a ( h . prototype , { html : function ( t , i , r ) { var s = this . createElement ( "span" ) , l = s . element , u = s . renderer , c = u . isSVG , h = function ( t , e ) { o ( [ "opacity" , "visibility" ] , function ( n ) { f ( t , n + "Setter" , function ( t , n , i , r ) { t . call ( this , n , i , r ) , e [ i ] = n } ) } ) } ; return s . textSetter = function ( t ) { t !== l . innerHTML && delete this . bBox , l . innerHTML = this . textStr = t , s . htmlUpdateTransform ( ) } , c && h ( s , s . element . style ) , s . xSetter = s . ySetter = s . alignSetter = s . rotationSetter = function ( t , e ) { "align" === e && ( e = "textAlign" ) , s [ e ] = t , s . htmlUpdateTransform ( ) } , s . attr ( { text : t , x : Math . round ( i ) , y : Math . round ( r ) } ) . css ( { fontFamily : this . style . fontFamily , fontSize : this . style . fontSize , position : "absolute" } ) , l . style . whiteSpace = "nowrap" , s . css = s . htmlCss , c && ( s . add = function ( t ) { var i , r = u . box . parentNode , c = [ ] ; if ( this . parentGroup = t ) { if ( i = t . div , ! i ) { for ( ; t ; ) c . push ( t ) , t = t . parentGroup ; o ( c . reverse ( ) , function ( t ) { var o , l = e ( t . element , "class" ) ; l && ( l = { className : l } ) , i = t . div = t . div || n ( "div" , l , { position : "absolute" , left : ( t . translateX || 0 ) + "px" , top : ( t . translateY || 0 ) + "px" , display : t . display , opacity : t . opacity , pointerEvents : t . styles && t . styles . pointerEvents } , i || r ) , o = i . style , a ( t , { on : fun
v && ! e && h ( s . series , function ( t ) { t . processData ( s . min !== s . oldMin || s . max !== s . oldMax ) } ) , s . setAxisTranslation ( ! 0 ) , s . beforeSetTickPositions && s . beforeSetTickPositions ( ) , s . postProcessTickInterval && ( s . tickInterval = s . postProcessTickInterval ( s . tickInterval ) ) , s . pointRange && ! _ && ( s . tickInterval = Math . max ( s . pointRange , s . tickInterval ) ) , e = C ( c . minTickInterval , s . isDatetimeAxis && s . closestPointRange ) , ! _ && s . tickInterval < e && ( s . tickInterval = e ) , m || d || _ || ( s . tickInterval = S ( s . tickInterval , null , g ( s . tickInterval ) , C ( c . allowDecimals , ! ( . 5 < s . tickInterval && 5 > s . tickInterval && 1e3 < s . max && 9999 > s . max ) ) , ! ! this . tickAmount ) ) , this . tickAmount || ( s . tickInterval = s . unsquish ( ) ) , this . setTickPositions ( ) } , setTickPositions : function ( ) { var t , e = this . options , n = e . tickPositions , i = e . tickPositioner , r = e . startOnTick , o = e . endOnTick ; this . tickmarkOffset = this . categories && "between" === e . tickmarkPlacement && 1 === this . tickInterval ? . 5 : 0 , this . minorTickInterval = "auto" === e . minorTickInterval && this . tickInterval ? this . tickInterval / 5 : e . minorTickInterval , this . single = this . min === this . max && l ( this . min ) && ! this . tickAmount && ( parseInt ( this . min , 10 ) === this . min || ! 1 !== e . allowDecimals ) , this . tickPositions = t = n && n . slice ( ) , ! t && ( t = this . isDatetimeAxis ? this . getTimeTicks ( this . normalizeTimeTickInterval ( this . tickInterval , e . units ) , this . min , this . max , e . startOfWeek , this . ordinalPositions , this . closestPointRange , ! 0 ) : this . isLog ? this . getLogTickPositions ( this . tickInterval , this . min , this . max ) : this . getLinearTickPositions ( this . tickInterval , this . min , this . max ) , t . length > this . len && ( t = [ t [ 0 ] , t . pop ( ) ] ) , this . tickPositions = t , i && ( i = i . apply ( this , [ this . min , this . max ] ) ) ) && ( this . tickPositions = t = i ) , this . paddedTicks = t . slice ( 0 ) , this . trimTicks ( t , r , o ) , this . isLinked || ( this . single && ( this . min -= . 5 , this . max += . 5 ) , n || i || this . adjustTickAmount ( ) ) } , trimTicks : function ( t , e , n ) { var i = t [ 0 ] , r = t [ t . length - 1 ] , o = this . minPointOffset || 0 ; if ( ! this . isLinked ) { if ( e && - ( 1 / 0 ) !== i ) this . min = i ; else for ( ; this . min - o > t [ 0 ] ; ) t . shift ( ) ; if ( n ) this . max = r ; else for ( ; this . max + o < t [ t . length - 1 ] ; ) t . pop ( ) ; 0 === t . length && l ( i ) && t . push ( ( r + i ) / 2 ) } } , alignToOthers : function ( ) { var t , e = { } , n = this . options ; return ! 1 === this . chart . options . chart . alignTicks || ! 1 === n . alignTicks || this . isLog || h ( this . chart [ this . coll ] , function ( n ) { var i = n . options , i = [ n . horiz ? i . left : i . top , i . width , i . height , i . pane ] . join ( ) ; n . series . length && ( e [ i ] ? t = ! 0 : e [ i ] = 1 ) } ) , t } , getTickAmount : function ( ) { var t = this . options , e = t . tickAmount , n = t . tickPixelInterval ; ! l ( t . tickInterval ) && this . len < n && ! this . isRadial && ! this . isLog && t . startOnTick && t . endOnTick && ( e = 2 ) , ! e && this . alignToOthers ( ) && ( e = Math . ceil ( this . len / n ) + 1 ) , 4 > e && ( this . finalTickAmt = e , e = 5 ) , this . tickAmount = e } , adjustTickAmount : function ( ) { var t = this . tickInterval , e = this . tickPositions , n = this . tickAmount , i = this . finalTickAmt , r = e && e . length ; if ( r < n ) { for ( ; e . length < n ; ) e . push ( a ( e [ e . length - 1 ] + t ) ) ; this . transA *= ( r - 1 ) / ( n - 1 ) , this . max = e [ e . length - 1 ] } else r > n && ( this . tickInterval *= 2 , this . setTickPositions ( ) ) ; if ( l ( i ) ) { for ( t = n = e . length ; t -- ; ) ( 3 === i && 1 === t % 2 || 2 >= i && 0 < t && t < n - 1 ) && e . splice ( t , 1 ) ; this . finalTickAmt = void 0 } } , setScale : function ( ) { var t , e ; this . oldMin = this . min , this . oldMax = this . max , this . oldAxisLength = this . len , this . setAxisSize ( ) , e = this . len !== this . oldAxisLength , h ( this . series , function ( e ) { ( e . isDirtyData || e . isDirty || e . xAxis . isDirty ) && ( t = ! 0 ) } ) , e || t || this . isLinked || this . forceRedraw || this . userMin !== this . oldUserMin || this . userMax !== this . oldUserMax || this . alignToOthers ( ) ? ( this . resetStacks && this . resetStacks ( ) , this . forceRedraw = ! 1 , this . getSeriesExtremes ( ) , this . setTickInterval ( ) , this . oldUserMin = this . userMin , this . oldUserMax = this . userMax , this . isDirty || ( this . isDirty = e || this . min !== this . oldMin || this . max !== this . oldMax ) ) : this . cleanStacks && this . cleanStacks ( ) } , setExtremes : function ( t , e , n , i , r ) { var o = this , a = o . chart ; n = C ( n , ! 0 ) , h ( o . series , function ( t ) { delete t . kdTree } ) , r = d ( r , { min : t , max : e } ) , f ( o , "setExtremes" , r , function ( ) { o . userMin = t , o . userMax = e , o . eventArgs = r , n && a . redraw ( i ) } ) } , zoom : function ( t , e ) { var n = this . dataMin , i = this . dataMax , r = this . options , o = Math . min ( n , C ( r . min , n ) ) , r = Math . max ( i , C ( r . max , i ) ) ; return t === this . min && e === this . max || ( this . allowZoomOutside || ( l ( n ) && ( t < o && ( t = o ) , t > r && ( t = r ) ) , l ( i ) && ( e < o && ( e = o ) , e > r && ( e = r ) ) ) , this . displayBtn = void 0 !== t || void 0 !== e , this . setExtremes ( t , e , ! 1 , void 0 , { tri
fill : i . selectionMarkerFill || r ( "#335cad" ) . setOpacity ( . 25 ) . get ( ) , class : "highcharts-selection-marker" , zIndex : 7 } ) . add ( ) ) , f && s && ( o -= p , f . attr ( { width : Math . abs ( o ) , x : ( 0 < o ? 0 : o ) + p } ) ) , f && l && ( o = a - g , f . attr ( { height : Math . abs ( o ) , y : ( 0 < o ? 0 : o ) + g } ) ) , e && ! f && i . panning && n . pan ( t , i . panning ) ) ) } , drop : function ( t ) { var e = this , n = this . chart , i = this . hasPinched ; if ( this . selectionMarker ) { var r , s = { originalEvent : t , xAxis : [ ] , yAxis : [ ] } , h = this . selectionMarker , d = h . attr ? h . attr ( "x" ) : h . x , f = h . attr ? h . attr ( "y" ) : h . y , p = h . attr ? h . attr ( "width" ) : h . width , g = h . attr ? h . attr ( "height" ) : h . height ; ( this . hasDragged || i ) && ( l ( n . axes , function ( n ) { if ( n . zoomEnabled && a ( n . min ) && ( i || e [ { xAxis : "zoomX" , yAxis : "zoomY" } [ n . coll ] ] ) ) { var o = n . horiz , l = "touchend" === t . type ? n . minPixelPadding : 0 , u = n . toValue ( ( o ? d : f ) + l ) , o = n . toValue ( ( o ? d + p : f + g ) - l ) ; s [ n . coll ] . push ( { axis : n , min : Math . min ( u , o ) , max : Math . max ( u , o ) } ) , r = ! 0 } } ) , r && c ( n , "selection" , s , function ( t ) { n . zoom ( u ( t , i ? { animation : ! 1 } : null ) ) } ) ) , this . selectionMarker = this . selectionMarker . destroy ( ) , i && this . scaleGroups ( ) } n && ( o ( n . container , { cursor : n . _cursor } ) , n . cancelClick = 10 < this . hasDragged , n . mouseIsDown = this . hasDragged = this . hasPinched = ! 1 , this . pinchDown = [ ] ) } , onContainerMouseDown : function ( t ) { t = this . normalize ( t ) , this . zoomOption ( t ) , t . preventDefault && t . preventDefault ( ) , this . dragStart ( t ) } , onDocumentMouseUp : function ( e ) { i [ t . hoverChartIndex ] && i [ t . hoverChartIndex ] . pointer . drop ( e ) } , onDocumentMouseMove : function ( t ) { var e = this . chart , n = this . chartPosition ; t = this . normalize ( t , n ) , ! n || this . inClass ( t . target , "highcharts-tracker" ) || e . isInsidePlot ( t . chartX - e . plotLeft , t . chartY - e . plotTop ) || this . reset ( ) } , onContainerMouseLeave : function ( e ) { var n = i [ t . hoverChartIndex ] ; n && ( e . relatedTarget || e . toElement ) && ( n . pointer . reset ( ) , n . pointer . chartPosition = null ) } , onContainerMouseMove : function ( e ) { var n = this . chart ; a ( t . hoverChartIndex ) && i [ t . hoverChartIndex ] && i [ t . hoverChartIndex ] . mouseIsDown || ( t . hoverChartIndex = n . index ) , e = this . normalize ( e ) , e . returnValue = ! 1 , "mousedown" === n . mouseIsDown && this . drag ( e ) , ! this . inClass ( e . target , "highcharts-tracker" ) && ! n . isInsidePlot ( e . chartX - n . plotLeft , e . chartY - n . plotTop ) || n . openMenu || this . runPointActions ( e ) } , inClass : function ( t , e ) { for ( var i ; t ; ) { if ( i = n ( t , "class" ) ) { if ( - 1 !== i . indexOf ( e ) ) return ! 0 ; if ( - 1 !== i . indexOf ( "highcharts-container" ) ) return ! 1 } t = t . parentNode } } , onTrackerMouseOut : function ( t ) { var e = this . chart . hoverSeries ; t = t . relatedTarget || t . toElement , this . isDirectTouch = ! 1 , ! e || ! t || e . stickyTracking || this . inClass ( t , "highcharts-tooltip" ) || this . inClass ( t , "highcharts-series-" + e . index ) && this . inClass ( t , "highcharts-tracker" ) || e . onMouseOut ( ) } , onContainerClick : function ( t ) { var e = this . chart , n = e . hoverPoint , i = e . plotLeft , r = e . plotTop ; t = this . normalize ( t ) , e . cancelClick || ( n && this . inClass ( t . target , "highcharts-tracker" ) ? ( c ( n . series , "click" , u ( t , { point : n } ) ) , e . hoverPoint && n . firePointEvent ( "click" , t ) ) : ( u ( t , this . getCoordinates ( t ) ) , e . isInsidePlot ( t . chartX - i , t . chartY - r ) && c ( e , "click" , t ) ) ) } , setDOMEvents : function ( ) { var n = this , i = n . chart . container ; i . onmousedown = function ( t ) { n . onContainerMouseDown ( t ) } , i . onmousemove = function ( t ) { n . onContainerMouseMove ( t ) } , i . onclick = function ( t ) { n . onContainerClick ( t ) } , e ( i , "mouseleave" , n . onContainerMouseLeave ) , 1 === t . chartCount && e ( s , "mouseup" , n . onDocumentMouseUp ) , t . hasTouch && ( i . ontouchstart = function ( t ) { n . onContainerTouchStart ( t ) } , i . ontouchmove = function ( t ) { n . onContainerTouchMove ( t ) } , 1 === t . chartCount && e ( s , "touchend" , n . onDocumentTouchEnd ) ) } , destroy : function ( ) { var e = this ; e . unDocMouseMove && e . unDocMouseMove ( ) , f ( e . chart . container , "mouseleave" , e . onContainerMouseLeave ) , t . chartCount || ( f ( s , "mouseup" , e . onDocumentMouseUp ) , f ( s , "touchend" , e . onDocumentTouchEnd ) ) , clearInterval ( e . tooltipTimeout ) , t . objectEach ( e , function ( t , n ) { e [ n ] = null } ) } } } ( t ) , function ( t ) { var e = t . charts , n = t . each , i = t . extend , r = t . map , o = t . noop , a = t . pick ; i ( t . Pointer . prototype , { pinchTranslate : function ( t , e , n , i , r , o ) { this . zoomHor && this . pinchTranslateDirection ( ! 0 , t , e , n , i , r , o ) , this . zoomVert && this . pinchTranslateDirection ( ! 1 , t , e , n , i , r , o ) } , pinchTranslateDirection : function ( t , e , n , i , r , o , a , s ) { var l , u , c , h = this . chart , d = t ? "x" : "y" , f = t ? "X" : "Y" , p = "chart" + f , g = t ? "width" : "height" , m = h [ "plot" + ( t ? "Left" : "Top" ) ] , v = s || 1 , y = h . inverted , b = h . bounds [ t ? "h" : "v" ] , x = 1 === e . length , w = e [ 0 ] [ p ] , S = n [ 0 ] [ p ] , _ = ! x &
this . selected && ( this . state = "select" ) , "name" in this && void 0 === n && r . xAxis && r . xAxis . hasNames && ( this . x = r . xAxis . nameToX ( this ) ) , void 0 === this . x && r && ( this . x = void 0 === n ? r . autoIncrement ( this ) : n ) , this } , optionsToObject : function ( t ) { var e = { } , n = this . series , i = n . options . keys , r = i || n . pointArrayMap || [ "y" ] , o = r . length , a = 0 , u = 0 ; if ( l ( t ) || null === t ) e [ r [ 0 ] ] = t ; else if ( s ( t ) ) for ( ! i && t . length > o && ( n = typeof t [ 0 ] , "string" === n ? e . name = t [ 0 ] : "number" === n && ( e . x = t [ 0 ] ) , a ++ ) ; u < o ; ) i && void 0 === t [ a ] || ( e [ r [ u ] ] = t [ a ] ) , a ++ , u ++ ; else "object" == typeof t && ( e = t , t . dataLabels && ( n . _hasPointLabels = ! 0 ) , t . marker && ( n . _hasPointMarkers = ! 0 ) ) ; return e } , getClassName : function ( ) { return "highcharts-point" + ( this . selected ? " highcharts-point-select" : "" ) + ( this . negative ? " highcharts-negative" : "" ) + ( this . isNull ? " highcharts-null-point" : "" ) + ( void 0 !== this . colorIndex ? " highcharts-color-" + this . colorIndex : "" ) + ( this . options . className ? " " + this . options . className : "" ) + ( this . zone && this . zone . className ? " " + this . zone . className . replace ( "highcharts-negative" , "" ) : "" ) } , getZone : function ( ) { var t , e = this . series , n = e . zones , e = e . zoneAxis || "y" , i = 0 ; for ( t = n [ i ] ; this [ e ] >= t . value ; ) t = n [ ++ i ] ; return t && t . color && ! this . options . color && ( this . color = t . color ) , t } , destroy : function ( ) { var t , e = this . series . chart , n = e . hoverPoints ; e . pointCount -- , n && ( this . setState ( ) , r ( n , this ) , n . length || ( e . hoverPoints = null ) ) , this === e . hoverPoint && this . onMouseOut ( ) , ( this . graphic || this . dataLabel ) && ( c ( this ) , this . destroyElements ( ) ) , this . legendItem && e . legend . destroyItem ( this ) ; for ( t in this ) this [ t ] = null } , destroyElements : function ( ) { for ( var t , e = [ "graphic" , "dataLabel" , "dataLabelUpper" , "connector" , "shadowGroup" ] , n = 6 ; n -- ; ) t = e [ n ] , this [ t ] && ( this [ t ] = this [ t ] . destroy ( ) ) } , getLabelConfig : function ( ) { return { x : this . category , y : this . y , color : this . color , colorIndex : this . colorIndex , key : this . name || this . category , series : this . series , point : this , percentage : this . percentage , total : this . total || this . stackTotal } } , tooltipFormatter : function ( t ) { var e = this . series , i = e . tooltipOptions , r = u ( i . valueDecimals , "" ) , o = i . valuePrefix || "" , s = i . valueSuffix || "" ; return n ( e . pointArrayMap || [ "y" ] , function ( e ) { e = "{point." + e , ( o || s ) && ( t = t . replace ( e + "}" , o + e + "}" + s ) ) , t = t . replace ( e + "}" , e + ":,." + r + "f}" ) } ) , a ( t , { point : this , series : this . series } ) } , firePointEvent : function ( t , e , n ) { var i = this , r = this . series . options ; ( r . point . events [ t ] || i . options && i . options . events && i . options . events [ t ] ) && this . importEvents ( ) , "click" === t && r . allowPointSelect && ( n = function ( t ) { i . select && i . select ( null , t . ctrlKey || t . metaKey || t . shiftKey ) } ) , o ( this , t , e , n ) } , visible : ! 0 } } ( t ) , function ( t ) { var e = t . addEvent , n = t . animObject , i = t . arrayMax , r = t . arrayMin , o = t . correctFloat , a = t . Date , s = t . defaultOptions , l = t . defaultPlotOptions , u = t . defined , c = t . each , h = t . erase , d = t . extend , f = t . fireEvent , p = t . grep , g = t . isArray , m = t . isNumber , v = t . isString , y = t . merge , b = t . objectEach , x = t . pick , w = t . removeEvent , S = t . splat , _ = t . SVGElement , C = t . syncTimeout , M = t . win ; t . Series = t . seriesType ( "line" , null , { lineWidth : 2 , allowPointSelect : ! 1 , showCheckbox : ! 1 , animation : { duration : 1e3 } , events : { } , marker : { lineWidth : 0 , lineColor : "#ffffff" , radius : 4 , states : { hover : { animation : { duration : 50 } , enabled : ! 0 , radiusPlus : 2 , lineWidthPlus : 1 } , select : { fillColor : "#cccccc" , lineColor : "#000000" , lineWidth : 2 } } } , point : { events : { } } , dataLabels : { align : "center" , formatter : function ( ) { return null === this . y ? "" : t . numberFormat ( this . y , - 1 ) } , style : { fontSize : "11px" , fontWeight : "bold" , color : "contrast" , textOutline : "1px contrast" } , verticalAlign : "bottom" , x : 0 , y : 0 , padding : 5 } , cropThreshold : 300 , pointRange : 0 , softThreshold : ! 0 , states : { hover : { animation : { duration : 50 } , lineWidthPlus : 1 , marker : { } , halo : { size : 10 , opacity : . 25 } } , select : { marker : { } } } , stickyTracking : ! 0 , turboThreshold : 1e3 , findNearestPointBy : "x" } , { isCartesian : ! 0 , pointClass : t . Point , sorted : ! 0 , requireSorting : ! 0 , directTouch : ! 1 , axisTypes : [ "xAxis" , "yAxis" ] , colorCounter : 0 , parallelArrays : [ "x" , "y" ] , coll : "series" , init : function ( t , n ) { var i , r , o = this , a = t . series ; o . chart = t , o . options = n = o . setOptions ( n ) , o . linkedSeries = [ ] , o . bindAxes ( ) , d ( o , { name : n . name , state : "" , visible : ! 1 !== n . visible , selected : ! 0 === n . selected } ) , i = n . events , b ( i , function ( t , n ) { e ( o , n , t ) } ) , ( i && i . click || n . point && n . point . events && n . point . events . click || n . allowPointSelect ) && ( t . runTrackerClick = ! 0 ) , o . getColor ( ) , o . getSymbol ( ) ,
plotX : i , plotY : null === s ? m : c . getThreshold ( s ) , isNull : o , isCliff : ! 0 } ) , h . push ( { plotX : i , plotY : null === l ? m : c . getThreshold ( l ) , doCurve : ! 1 } ) ) } ; for ( t = t || this . points , u && ( t = this . getStackPoints ( ) ) , e = 0 ; e < t . length ; e ++ ) n = t [ e ] . isNull , i = r ( t [ e ] . rectPlotX , t [ e ] . plotX ) , a = r ( t [ e ] . yBottom , m ) , ( ! n || l ) && ( l || v ( e , e - 1 , "left" ) , n && ! u && l || ( d . push ( t [ e ] ) , h . push ( { x : e , plotX : i , plotY : a } ) ) , l || v ( e , e + 1 , "right" ) ) ; return e = s . call ( this , d , ! 0 , ! 0 ) , h . reversed = ! 0 , n = s . call ( this , h , ! 0 , ! 0 ) , n . length && ( n [ 0 ] = "L" ) , n = e . concat ( n ) , s = s . call ( this , d , ! 1 , l ) , n . xMap = e . xMap , this . areaPath = n , s } , drawGraph : function ( ) { this . areaPath = [ ] , o . prototype . drawGraph . apply ( this ) ; var t = this , i = this . areaPath , a = this . options , s = [ [ "area" , "highcharts-area" , this . color , a . fillColor ] ] ; n ( this . zones , function ( e , n ) { s . push ( [ "zone-area-" + n , "highcharts-area highcharts-zone-area-" + n + " " + e . className , e . color || t . color , e . fillColor || a . fillColor ] ) } ) , n ( s , function ( n ) { var o = n [ 0 ] , s = t [ o ] ; s ? ( s . endX = i . xMap , s . animate ( { d : i } ) ) : ( s = t [ o ] = t . chart . renderer . path ( i ) . addClass ( n [ 1 ] ) . attr ( { fill : r ( n [ 3 ] , e ( n [ 2 ] ) . setOpacity ( r ( a . fillOpacity , . 75 ) ) . get ( ) ) , zIndex : 0 } ) . add ( t . group ) , s . isArea = ! 0 ) , s . startX = i . xMap , s . shiftUnit = a . step ? 2 : 1 } ) } , drawLegendSymbol : t . LegendSymbolMixin . drawRectangle } ) } ( t ) , function ( t ) { var e = t . pick ; ( t = t . seriesType ) ( "spline" , "line" , { } , { getPointSpline : function ( t , n , i ) { var r = n . plotX , o = n . plotY , a = t [ i - 1 ] ; i = t [ i + 1 ] ; var s , l , u , c ; if ( a && ! a . isNull && ! 1 !== a . doCurve && ! n . isCliff && i && ! i . isNull && ! 1 !== i . doCurve && ! n . isCliff ) { t = a . plotY , u = i . plotX , i = i . plotY ; var h = 0 ; s = ( 1.5 * r + a . plotX ) / 2.5 , l = ( 1.5 * o + t ) / 2.5 , u = ( 1.5 * r + u ) / 2.5 , c = ( 1.5 * o + i ) / 2.5 , u !== s && ( h = ( c - l ) * ( u - r ) / ( u - s ) + o - c ) , l += h , c += h , l > t && l > o ? ( l = Math . max ( t , o ) , c = 2 * o - l ) : l < t && l < o && ( l = Math . min ( t , o ) , c = 2 * o - l ) , c > i && c > o ? ( c = Math . max ( i , o ) , l = 2 * o - c ) : c < i && c < o && ( c = Math . min ( i , o ) , l = 2 * o - c ) , n . rightContX = u , n . rightContY = c } return n = [ "C" , e ( a . rightContX , a . plotX ) , e ( a . rightContY , a . plotY ) , e ( s , r ) , e ( l , o ) , r , o ] , a . rightContX = a . rightContY = null , n } } ) } ( t ) , function ( t ) { var e = t . seriesTypes . area . prototype , n = t . seriesType ; n ( "areaspline" , "spline" , t . defaultPlotOptions . area , { getStackPoints : e . getStackPoints , getGraphPath : e . getGraphPath , setStackCliffs : e . setStackCliffs , drawGraph : e . drawGraph , drawLegendSymbol : t . LegendSymbolMixin . drawRectangle } ) } ( t ) , function ( t ) { var e = t . animObject , n = t . color , i = t . each , r = t . extend , o = t . isNumber , a = t . merge , s = t . pick , l = t . Series , u = t . seriesType , c = t . svg ; u ( "column" , "line" , { borderRadius : 0 , crisp : ! 0 , groupPadding : . 2 , marker : null , pointPadding : . 1 , minPointLength : 0 , cropThreshold : 50 , pointRange : null , states : { hover : { halo : ! 1 , brightness : . 1 , shadow : ! 1 } , select : { color : "#cccccc" , borderColor : "#000000" , shadow : ! 1 } } , dataLabels : { align : null , verticalAlign : null , y : null } , softThreshold : ! 1 , startFromThreshold : ! 0 , stickyTracking : ! 1 , tooltip : { distance : 6 } , threshold : 0 , borderColor : "#ffffff" } , { cropShoulder : 0 , directTouch : ! 0 , trackerGroups : [ "group" , "dataLabelsGroup" ] , negStacks : ! 0 , init : function ( ) { l . prototype . init . apply ( this , arguments ) ; var t = this , e = t . chart ; e . hasRendered && i ( e . series , function ( e ) { e . type === t . type && ( e . isDirty = ! 0 ) } ) } , getColumnMetrics : function ( ) { var t , e = this , n = e . options , r = e . xAxis , o = e . yAxis , a = r . reversed , l = { } , u = 0 ; ! 1 === n . grouping ? u = 1 : i ( e . chart . series , function ( n ) { var i , r = n . options , a = n . yAxis ; n . type !== e . type || ! n . visible && e . chart . options . chart . ignoreHiddenSeries || o . len !== a . len || o . pos !== a . pos || ( r . stacking ? ( t = n . stackKey , void 0 === l [ t ] && ( l [ t ] = u ++ ) , i = l [ t ] ) : ! 1 !== r . grouping && ( i = u ++ ) , n . columnIndex = i ) } ) ; var c = Math . min ( Math . abs ( r . transA ) * ( r . ordinalSlope || n . pointRange || r . closestPointRange || r . tickInterval || 1 ) , r . len ) , h = c * n . groupPadding , d = ( c - 2 * h ) / ( u || 1 ) , n = Math . min ( n . maxPointWidth || r . len , s ( n . pointWidth , d * ( 1 - 2 * n . pointPadding ) ) ) ; return e . columnMetrics = { width : n , offset : ( d - n ) / 2 + ( h + ( ( e . columnIndex || 0 ) + ( a ? 1 : 0 ) ) * d - c / 2 ) * ( a ? - 1 : 1 ) } , e . columnMetrics } , crispCol : function ( t , e , n , i ) { var r = this . chart , o = this . borderWidth , a = - ( o % 2 ? . 5 : 0 ) , o = o % 2 ? . 5 : 1 ; return r . inverted && r . renderer . isVML && ( o += 1 ) , this . options . crisp && ( n = Math . round ( t + n ) + a , t = Math . round ( t ) + a , n -= t ) , i = Math . round ( e + i ) + o , a = . 5 >= Math . abs ( e ) && . 5 < i , e = Math . round ( e ) + o , i -= e , a && i && ( -- e , i += 1 ) , { x : t , y : e , width : n , height : i } } , translate : function ( ) { var t = this , e = t . chart , n = t . options , r = t . dense = 2 > t . closestPointRange * t . xAxis . transA , r = t . borderWidth = s ( n . borderWidth , r ? 0 : 1 ) , o = t . yAxis , a = t . translatedThreshold = o .