2017-01-29 23:56:38 +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 r ( t ) { var e = Dt [ t ] = { } ; return ct . each ( t . match ( ft ) || [ ] , function ( t , n ) { e [ n ] = ! 0 } ) , e } function i ( t , n , r , i ) { 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 ] && ( i || u [ c ] . data ) || r !== 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 ) && ( i ? u [ c ] = ct . extend ( u [ c ] , n ) : u [ c ] . data = ct . extend ( u [ c ] . data , n ) ) , a = u [ c ] , i || ( a . data || ( a . data = { } ) , a = a . data ) , r !== e && ( a [ ct . camelCase ( n ) ] = r ) , "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 r , i , o = t . nodeType , a = o ? ct . cache : t , l = o ? t [ ct . expando ] : ct . expando ; if ( a [ l ] ) { if ( e && ( r = n ? a [ l ] : a [ l ] . data ) ) { ct . isArray ( e ) ? e = e . concat ( ct . map ( e , ct . camelCase ) ) : e in r ? e = [ e ] : ( e = ct . camelCase ( e ) , e = e in r ? [ e ] : e . split ( " " ) ) , i = e . length ; for ( ; i -- ; ) delete r [ e [ i ] ] ; if ( n ? ! s ( r ) : ! ct . isEmptyObject ( r ) ) 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 , r ) { if ( r === e && 1 === t . nodeType ) { var i = "data-" + n . replace ( Mt , "-$1" ) . toLowerCase ( ) ; if ( r = t . getAttribute ( i ) , "string" == typeof r ) { try { r = "true" === r || "false" !== r && ( "null" === r ? null : + r + "" === r ? + r : Tt . test ( r ) ? ct . parseJSON ( r ) : r ) } catch ( t ) { } ct . data ( t , n , r ) } else r = e } return r } 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 d ( t , e ) { do t = t [ e ] ; while ( t && 1 !== t . nodeType ) ; return t } function f ( t , e , n ) { if ( ct . isFunction ( e ) ) return ct . grep ( t , function ( t , r ) { return ! ! e . call ( t , r , t ) !== n } ) ; if ( e . nodeType ) return ct . grep ( t , function ( t ) { return t === e !== n } ) ; if ( "string" == typeof e ) { if ( Ut . 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 h ( 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 = ie . exec ( t . type ) ; return e ? t . type = e [ 1 ] : t . removeAttribute ( "type" ) , t } function v ( t , e ) { for ( var n , r = 0 ; null != ( n = t [ r ] ) ; r ++ ) ct . _data ( n , "globalEval" , ! e || ct . _data ( e [ r ] , "globalEval" ) ) } function y ( t , e ) { if ( 1 === e . nodeType && ct . hasData ( t ) ) { var n , r , i , o = ct . _data ( t ) , a = ct . _data ( e , o ) , s = o . events ; if ( s ) { delete a . handle , a . events = { } ; for ( n in s ) for ( r = 0 , i = s [ n ] . length ; i > r ; r ++ ) ct . event . add ( e , n , s [ n ] [ r ] ) } a . data && ( a . data = ct . extend ( { } , a . data ) ) } } function b ( t , e ) { var n , r , i ; if ( 1 === e . nodeType ) { if ( n = e . nodeName . toLowerCase ( ) , ! ct . support . noCloneEvent && e [ ct . expando ] ) { i = ct . _data ( e ) ; for ( r in i . events ) ct . removeEvent ( e , r , i . 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 r , i , o = 0 , a = typeof t . getElementsByTagName !== V ? t . getElementsByTagName ( n || "*" ) : typeof t . querySelectorAll !== V ? t . querySelectorAll ( n || "*" ) : e ; if ( ! a ) for ( a = [ ] , r = t . childNodes || t ; null != ( i = r [ o ] ) ; o ++ ) ! n || ct . nodeName ( i , n ) ? a . push ( i ) : ct . merge ( a , x ( i , 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 _ ( t , e ) { if ( e in t ) return e ; for ( var n = e . charAt ( 0 ) . toUpperCase ( ) + e . slice ( 1 ) , r = e , i = Ce . length ; i -- ; ) if ( e = Ce [ i ] + n , e in t ) return e ; return r } function S ( 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 ( d = e ; d = d [ g ] ; ) if ( s ? d . nodeName . toLowerCase ( ) === v : 1 === d . 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 ] || [ ] , h = u [ 0 ] === q && u [ 1 ] , f = u [ 0 ] === q && u [ 2 ] , d = h && m . childNodes [ h ] ; d = ++ h && d && d [ g ] || ( f = h = 0 ) || p . pop ( ) ; ) if ( 1 === d . nodeType && ++ f && d === e ) { c [ t ] = [ q , h , f ] ; break } } else if ( y && ( u = ( e [ H ] || ( e [ H ] = { } ) ) [ t ] ) && u [ 0 ] === q ) f = u [ 1 ] ; else for ( ; ( d = ++ h && d && d [ g ] || ( f = h = 0 ) || p . pop ( ) ) && ( ( s ? d . nodeName . toLowerCase ( ) !== v : 1 !== d . nodeType ) || ! ++ f || ( y && ( ( d [ H ] || ( d [ H ] = { } ) ) [ t ] = [ q , f ] ) , d !== e ) ) ; ) ; return f -= i , f === r || 0 === f % r && f / r >= 0 } } } , PSEUDO : function ( t , e ) { var r , o = D . pseudos [ t ] || D . setFilters [ t . toLowerCase ( ) ] || n . error ( "unsupported pseudo: " + t ) ; return o [ H ] ? o ( e ) : o . length > 1 ? ( r = [ t , t , "" , e ] , D . setFilters . hasOwnProperty ( t . toLowerCase ( ) ) ? i ( function ( t , n ) { for ( var r , i = o ( t , e ) , a = i . length ; a -- ; ) r = nt . call ( t , i [ a ] ) , t [ r ] = ! ( n [ r ] = i [ a ] ) } ) : function ( t ) { return o ( t , 0 , r ) } ) : o } } , pseudos : { not : i ( function ( t ) { var e = [ ] , n = [ ] , r = k ( t . replace ( ut , "$1" ) ) ; return r [ H ] ? i ( function ( t , e , n , i ) { for ( var o , a = r ( t , null , i , [ ] ) , s = t . length ; s -- ; ) ( o = a [ s ] ) && ( t [ s ] = ! ( e [ s ] = o ) ) } ) : function ( t , i , o ) { return e [ 0 ] = t , r ( e , null , o , n ) , ! n . pop ( ) } } ) , has : i ( function ( t ) { return function ( e ) { return n ( t , e ) . length > 0 } } ) , contains : i ( function ( t ) { return function ( e ) { return ( e . textContent || e . innerText || T ( e ) ) . indexOf ( t ) > - 1 } } ) , lang : i ( function ( t ) { return mt . test ( t || "" ) || n . error ( "unsupported lang: " + t ) , t = t . replace ( St , Ct ) . toLowerCase ( ) , function ( e ) { var n ; do if ( n = O ? 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 === N . activeElement && ( ! N . hasFocus || N . 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 ! D . 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 r = 0 > n ? n + e : n ; -- r >= 0 ; ) t . push ( r ) ; return t } ) , gt : c ( function ( t , e , n ) { for ( var r = 0 > n ? n + e : n ; e > ++ r ; ) t . push ( r ) ; return t } ) } } , D . pseudos . nth = D . pseudos . eq ; for ( _ in { radio : ! 0 , checkbox : ! 0 , file : ! 0 , password : ! 0 , image : ! 0 } ) D . pseudos [ _ ] = l ( _ ) ; for ( _ in { submit : ! 0 , reset : ! 0 } ) D . pseudos [ _ ] = u ( _ ) ; d . prototype = D . filters = D . pseudos , D . setFilters = new d , k = n . compile = function ( t , e ) { var n , r = [ ] , i = [ ] , o = W [ t + " " ] ; if ( ! o ) { for ( e || ( e = f ( t ) ) , n = e . length ; n -- ; ) o = y ( e [ n ] ) , o [ H ] ? r . push ( o ) : i . push ( o ) ; o = W ( t , b ( i , r ) ) } return o } , S . sortStable = H . split ( "" ) . sort ( G ) . join ( "" ) === H , S . detectDuplicates = Y , P ( ) , S . sortDetached = o ( function ( t ) { return 1 & t . compareDocumentPosition ( N . createElement ( "div" ) ) } ) , o ( function ( t ) { return t . innerHTML = "<a href='#'></a>" , "#" === t . firstChild . getAttribute ( "href" ) } ) || a ( "type|href|height|width" , function ( t , n , r ) { return r ? e : t . getAttribute ( n , "type" === n . toLowerCase ( ) ? 1 : 2 ) } ) , S . attributes && o ( function ( t ) { return t . innerHTML = "<input/>" , t . firstChild . setAttribute ( "value" , "" ) , "" === t . firstChild . getAttribute ( "value" ) } ) || a ( "value" , function ( t , n , r ) { return r || "input" !== t . nodeName . toLowerCase ( ) ? e : t . defaultValue } ) , o ( function ( t ) { return null == t . getAttribute ( "disabled" ) } ) || a ( rt , function ( t , n , r ) { var i ; return r ? e : ( i = t . getAttributeNode ( n ) ) && i . specified ? i . 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 , r ) { var i = ct . map ( this , e , n ) ; return "Until" !== t . slice ( - 5 ) && ( r = n ) , r && "string" == typeof r && ( i = ct . filter ( r , i ) ) , this . length > 1 && ( Wt [ t ] || ( i = ct . unique ( i ) ) , zt . test ( t ) && ( i = i . reverse ( ) ) ) , this . pushStack ( i ) } } ) , ct . extend ( { filter : function ( t , e , n ) { var r = e [ 0 ] ; return n && ( t = ":not(" + t + ")" ) , 1 === e . length && 1 === r . nodeType ? ct . find . matchesSelector ( r , t ) ? [ r ] : [ ] : ct . find . matches ( t , ct . grep ( e , function ( t ) { return 1 === t . nodeType } ) ) } , dir : function ( t , n , r ) { for ( var i = [ ] , o = t [ n ] ; o && 9 !== o . nodeType && ( r === e || 1 !== o . nodeType || ! ct ( o ) . is ( r ) ) ; ) 1 === o . nodeType && i . push ( o ) , o = o [ n ] ; return i } , 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 , Vt = RegExp ( "<(?:" + Yt + ")[\\s/>]" , "i" ) , Xt = /^\s+/ , Zt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi , Jt = /<([\w:]+)/ , Kt = /<tbody/i , Qt = /<|&#?\w+;/ , te = /<(?:script|style|link)/i , ee = /^(?:checkbox|radio)$/i , ne = /checked\s*(?:[^=]|=\s*.checked.)/i , re = /^$|\/(?:java|ecma)script/i , ie = /^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 = h ( 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 , r = t ? ct . filter ( t , this ) : this , i = 0 ; null != ( n = r [ i ] ) ; i ++ ) 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 ] || { } , r = 0 , i = this . length ; if ( t === e ) return 1 === n . nodeType ? n . innerHTML . replace ( Gt , "" ) : e ; if ( ! ( "string" != typeof t || te . test ( t ) || ! ct . support . htmlSerialize && Vt . test ( t ) || ! ct . support . leadingWhitespace && Xt . test ( t ) || ae [ ( Jt . exec ( t ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) ) { t = t . replace ( Zt , "<$1></$2>" ) ; try { for ( ; i > r ; r ++ ) n = this [ r ] || { } , 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 , r = this . getActiveIndex ( ) ; return e > this . $items . length - 1 || 0 > e ? void 0 : this . sliding ? this . $element . one ( "slid" , function ( ) { n . to ( e ) } ) : r == e ? this . pause ( ) . cycle ( ) : this . slide ( e > r ? "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 r = this . $element . find ( ".item.active" ) , i = n || r [ e ] ( ) , o = this . interval , a = "next" == e ? "left" : "right" , s = "next" == e ? "first" : "last" , l = this ; if ( ! i . length ) { if ( ! this . options . wrap ) return ; i = this . $element . find ( ".item" ) [ s ] ( ) } this . sliding = ! 0 , o && this . pause ( ) ; var u = t . Event ( "slide.bs.carousel" , { relatedTarget : i [ 0 ] , direction : a } ) ; if ( ! i . 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 ; i . addClass ( e ) , i [ 0 ] . offsetWidth , r . addClass ( a ) , i . addClass ( a ) , r . one ( t . support . transition . end , function ( ) { i . removeClass ( [ e , a ] . join ( " " ) ) . addClass ( "active" ) , r . 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 ; r . removeClass ( "active" ) , i . 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 r = t ( this ) , i = r . data ( "bs.carousel" ) , o = t . extend ( { } , e . DEFAULTS , r . data ( ) , "object" == typeof n && n ) , a = "string" == typeof n ? n : o . slide ; i || r . data ( "bs.carousel" , i = new e ( this , o ) ) , "number" == typeof n ? i . to ( n ) : a ? i [ a ] ( ) : o . interval && i . 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 , r = t ( this ) , i = t ( r . attr ( "data-target" ) || ( n = r . attr ( "href" ) ) && n . replace ( /.*(?=#[^\s]+$)/ , "" ) ) , o = t . extend ( { } , i . data ( ) , r . data ( ) ) , a = r . attr ( "data-slide-to" ) ; a && ( o . interval = ! 1 ) , i . carousel ( o ) , ( a = r . attr ( "data-slide-to" ) ) && i . 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 , r ) { this . $element = t ( n ) , this . options = t . extend ( { } , e . DEFAULTS , r ) , 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 = hr . length ; n > e ; e ++ ) if ( hr [ e ] [ 1 ] . exec ( r ) ) { t . _f = hr [ e ] [ 0 ] + ( i [ 6 ] || " " ) ; break } for ( e = 0 , n = pr . length ; n > e ; e ++ ) if ( pr [ e ] [ 1 ] . exec ( r ) ) { t . _f += pr [ e ] [ 0 ] ; break } r . match ( Jn ) && ( t . _f += "Z" ) , bt ( t ) } else t . _isValid = ! 1 } function et ( e ) { var n = gr . 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 , r , i , o , a ) { var s = new Date ( t , e , n , r , i , o , a ) ; return 1970 > t && s . setFullYear ( t ) , s } function rt ( t ) { var e = new Date ( Date . UTC . apply ( null , arguments ) ) ; return 1970 > t && e . setUTCFullYear ( t ) , e } function it ( 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 r , i = n - e , o = n - t . day ( ) ; return o > i && ( o -= 7 ) , i - 7 > o && ( o += 7 ) , r = Tt ( t ) . add ( o , "d" ) , { week : Math . ceil ( r . dayOfYear ( ) / 7 ) , year : r . 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 dt ( t ) { var e = this . localeData ( ) . week ( this ) ; return null == t ? e : this . add ( 7 * ( t - e ) , "d" ) } function ft ( t ) { var e = st ( this , 1 , 4 ) . week ; return null == t ? e : this . add ( 7 * ( t - e ) , "d" ) } function ht ( t , e , n , r , i ) { var o , a , s = rt ( t , 0 , 1 ) . getUTCDay ( ) ; return s = 0 === s ? 7 : s , n = null != n ? n : i , o = i - s + ( s > r ? 7 : 0 ) - ( i > s ? 7 : 0 ) , a = 7 * ( e - 1 ) + ( n - i ) + o + 1 , { year : a > 0 ? t : t - 1 , dayOfYear : a > 0 ? a : it ( 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 , r , i , o = [ ] ; if ( ! t . _d ) { for ( r = mt ( t ) , t . _w && null == t . _a [ ir ] && null == t . _a [ rr ] && yt ( t ) , t . _dayOfYear && ( i = gt ( t . _a [ nr ] , r [ nr ] ) , t . _dayOfYear > it ( i ) && ( u ( t ) . _overflowDayOfYear = ! 0 ) , n = rt ( i , 0 , t . _dayOfYear ) , t . _a [ rr ] = n . getUTCMonth ( ) , t . _a [ ir ] = n . getUTCDate ( ) ) , e = 0 ; 3 > e && null == t . _a [ e ] ; ++ e ) t . _a [ e ] = o [ e ] = r [ e ] ; for ( ; 7 > e ; e ++ ) t . _a [ e ] = o [ e ] = null == t . _a [ e ] ? 2 === e ? 1 : 0 : t . _a [ e ] ; 24 === t . _a [ or ] && 0 === t . _a [ ar ] && 0 === t . _a [ sr ] && 0 === t . _a [ lr ] && ( t . _nextDay = ! 0 , t . _a [ or ] = 0 ) , t . _d = ( t . _useUTC ? rt : nt ) . apply ( null , o ) , null != t . _tzm && t . _d . setUTCMinutes ( t . _d . getUTCMinutes ( ) - t . _tzm ) , t . _nextDay && ( t . _a [ or ] = 24 ) } } function yt ( t ) { var e , n , r , i , 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 [ nr ] , st ( Tt ( ) , 1 , 4 ) . year ) , r = gt ( e . W , 1 ) , i = gt ( e . E , 1 ) ) : ( o = t . _locale . _week . dow , a = t . _locale . _week . doy , n = gt ( e . gg , t . _a [ nr ] , st ( Tt ( ) , o , a ) . year ) , r = gt ( e . w , 1 ) , null != e . d ? ( i = e . d , o > i && ++ r ) : i = null != e . e ? e . e + o : o ) , s = ht ( n , r , i , a , o ) , t . _a [ nr ] = 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 , r , i , o , a , s = "" + e . _i , l = s . length , c = 0 ; for ( i = j ( e . _f , e . _locale ) . match ( jn ) || [ ] , n = 0 ; n < i . length ; n ++ ) o = i [ n ] , r = ( s . match ( R ( o , e ) ) || [ ] ) [ 0 ] , r && ( a = s . substr ( 0 , s . indexOf ( r ) ) , a . length > 0 && u ( e ) . unusedInput . push ( a ) , s = s . slice ( s . indexOf ( r ) + r . length ) , c += r . length ) , Hn [ o ] ? ( r ? u ( e ) . empty = ! 1 : u ( e ) . unusedTokens . push ( o ) , U ( o , r , e ) ) : e . _strict && ! r && u ( e ) . unusedTokens . push ( o ) ; u ( e ) . charsLeftOver = l - c , s . length > 0 && u ( e ) . unusedInput . push ( s ) , u ( e ) . bigHour === ! 0 && e . _a [ or ] <= 12 && e . _a [ or ] > 0 && ( u ( e ) . bigHour = void 0 ) , e . _a [ or ] = xt ( e . _locale , e . _a [ or ] , e . _meridiem ) , vt ( e ) , Z ( e ) } function xt ( t , e , n ) { var r ; return null == n ? e : null != t . meridiemHour ? t . meridiemHour ( e , n ) : null != t . isPM ? ( r = t . isPM ( n ) , r && 12 > e && ( e += 12 ) , r || 12 !== e || ( e = 0 ) , e ) : e } function wt ( t ) { var e , n , r , i , o ; if ( 0 === t . _f . length ) return u ( t ) . invalidFormat = ! 0 , void ( t . _d = new Date ( NaN ) ) ; for ( i = 0 ; i < t . _f . length ; i ++ ) o = 0 , e = f ( { } , t ) , null != t . _useUTC && ( e . _useUTC = t . _useUTC ) , e . _f = t . _f [ i ] , bt ( e ) , c ( e ) && ( o += u ( e ) . charsLeftOver , o += 10 * u ( e ) . unusedTokens . length , u ( e ) . score = o , ( null == r || r > o ) && ( r = o , n = e ) ) ; a ( t , n || e ) } function _t ( t ) { if ( ! t . _d ) { var e = T ( t . _i ) ; t . _a = [ e . year , e . month , e . day || e . date , e . hour , e . minute , e . second , e . millisecond ] , vt ( t ) } } function St ( t ) { var e , i = t . _i , o = t . _f ; return t . _locale = t . _locale || S ( t . _l ) , null === i || void 0 === o && "" === i ? d ( { nullInput : ! 0 } ) : ( "string" == typeof i && ( t . _i = i = t . _locale . preparse ( i ) ) , p ( i ) ? new h ( Z ( i ) ) : ( n ( o ) ? wt ( t ) : o ? bt ( t ) : r ( i ) ? t . _d = i : Ct ( t ) , e = new h ( 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 : r ( 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 ) , d = r > c , f = i ? n . rho ( u . range ) : 0 ; if ( i && n . projectLength ( t , 1 , u ) >= r ) u . step = 1 ; else if ( i && f < u . step && n . projectLength ( t , f , u ) >= r ) u . step = f ; else for ( ; ; ) { if ( d && n . projectLength ( t , u . step , u ) <= r ) u . step *= 2 ; else { if ( d || ! ( n . projectLength ( t , u . step / 2 , u ) >= r ) ) break ; if ( u . step /= 2 , i && 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 , r ) { var i = ( r - 90 ) * Math . PI / 180 ; return { x : t + n * Math . cos ( i ) , y : e + n * Math . sin ( i ) } } , n . createChartRect = function ( t , e , r ) { var i = ! ( ! e . axisX && ! e . axisY ) , o = i ? e . axisY . offset : 0 , a = i ? 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 , r ) ; 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 i ? ( "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 , r , i , o , a , s , l ) { var u = { } ; u [ r . units . pos + "1" ] = t , u [ r . units . pos + "2" ] = t , u [ r . counterUnits . pos + "1" ] = i , u [ r . counterUnits . pos + "2" ] = i + o ; var c = a . elem ( "line" , u , s . join ( " " ) ) ; l . emit ( "draw" , n . extend ( { type : "grid" , axis : r , index : e , group : a , element : c } , u ) ) } , n . createLabel = function ( t , e , r , i , o , a , s , l , u , c , d ) { var f , h = { } ; if ( h [ o . units . pos ] = t + s [ o . units . pos ] , h [ o . counterUnits . pos ] = s [ o . counterUnits . pos ] , h [ o . units . len ] = e , h [ o . counterUnits . len ] = a - 10 , c ) { var p = '<span class="' + u . join ( " " ) + '" style="' + o . units . len + ": " + Math . round ( h [ o . units . len ] ) + "px; " + o . counterUnits . len + ": " + Math . round ( h [ o . counterUnits . len ] ) + 'px">' + i [ r ] + "</span>" ; f = l . foreignObject ( p , n . extend ( { style : "overflow: visible;" } , h ) ) } else f = l . elem ( "text" , h , u . join ( " " ) ) . text ( i [ r ] ) ; d . emit ( "draw" , n . extend ( { type : "label" , axis : o , index : r , group : l , element : f , text : i [ r ] } , h ) ) } , n . getSeriesOption = function ( t , e , n ) { if ( t . name && e . series && e . series [ t . name ] ) { var r = e . series [ t . name ] ; return r . hasOwnProperty ( n ) ? r [ n ] : e [ n ] } return e [ n ] } , n . optionsProvider = function ( e , r , i ) { function o ( e ) { var o = s ; if ( s = n . extend ( { } , u ) , r ) for ( l = 0 ; l < r . length ; l ++ ) { var a = t . matchMedia ( r [ l ] [ 0 ] ) ; a . matches && ( s = n . extend ( s , r [ l ] [ 1 ] ) ) } i && ! e && i . 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 ( r ) for ( l = 0 ; l < r . length ; l ++ ) { var d = t . matchMedia ( r [ l ] [ 0 ] ) ; d . addListener ( o ) , c . push ( d ) } 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 r = new n . Svg . Path , i = ! 0 , o = 1 ; o < t . length ; o += 2 ) { var a = e [ ( o - 1 ) / 2 ] ; void 0 === a . value ? i = ! 0 : i ? ( r . move ( t [ o - 1 ] , t [ o ] , ! 1 , a ) , i = ! 1 ) : r . line ( t [ o - 1 ] , t [ o ] , ! 1 , a ) } return r } } , n . Interpolation . simple = function ( t ) { var e = { divisor : 2 } ; t = n . extend ( { } , e , t ) ; var r = 1 / Math . max ( 1 , t . divisor ) ; return function ( t , e ) { for ( var i = 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 ] , d = ( u - s ) * r , f = e [ a / 2 - 1 ] , h = e [ a / 2 ] ; void 0 === f . value ? o = ! 0 : ( o && i . move ( s , l , ! 1 , f ) , void 0 !== h . value && ( i . curve ( s + d , l , u - d , c , u , c , ! 1 , h ) , o = ! 1 ) ) } return i } } , n . Interpolation . cardinal = function ( t ) { function e ( t , e ) { for ( var n = [ ] , r = ! 0 , i = 0 ; i < t . length ; i += 2 ) void 0 === e [ i / 2 ] . value ? r = ! 0 : ( r && ( n . push ( { pathCoordinates : [ ] , valueData : [ ] } ) , r = ! 1 ) , n [ n . length - 1 ] . pathCoordinates . push ( t [ i ] , t [ i + 1 ] ) , n [ n . length - 1 ] . valueData . push (
n += o ( t [ a ] , a ) ; e . length > 0 && ( n += u ) } for ( var s = 0 ; s < e . length ; s ++ ) { for ( var c = r ? t . length : e [ s ] . length , d = 0 ; c > d ; d ++ ) { d > 0 && ( n += l ) ; var f = r && i ? t [ d ] : d ; n += o ( e [ s ] [ f ] , d ) } s < e . length - 1 && ( n += u ) } return n } function o ( t , e ) { if ( "undefined" == typeof t || null === t ) return "" ; t = t . toString ( ) . replace ( /"/g , '""' ) ; var n = "boolean" == typeof s && s || s instanceof Array && s [ e ] || a ( t , C . BAD _DELIMITERS ) || t . indexOf ( l ) > - 1 || " " == t . charAt ( 0 ) || " " == t . charAt ( t . length - 1 ) ; return n ? '"' + t + '"' : 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 = "," , u = "\r\n" ; if ( n ( ) , "string" == typeof t && ( t = JSON . parse ( t ) ) , t instanceof Array ) { if ( ! t . length || t [ 0 ] instanceof Array ) return i ( null , t ) ; if ( "object" == typeof t [ 0 ] ) return i ( r ( 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 . data [ 0 ] instanceof Array ? t . fields : r ( t . data [ 0 ] ) ) , t . data [ 0 ] instanceof Array || "object" == typeof t . data [ 0 ] || ( t . data = [ t . data ] ) ) , i ( t . fields || [ ] , t . data || [ ] ) ; throw "exception: Unable to serialize unrecognized input" } function r ( e ) { function n ( 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 : { } } , n . call ( this , e ) , this . parseChunk = function ( e ) { if ( this . isFirstChunk && v ( this . _config . beforeFirstChunk ) ) { var n = this . _config . beforeFirstChunk ( e ) ; void 0 !== n && ( e = n ) } this . isFirstChunk = ! 1 ; var r = this . _partialLine + e ; this . _partialLine = "" ; var i = this . _handle . parse ( r , this . _baseIndex , ! this . _finished ) ; if ( ! this . _handle . paused ( ) && ! this . _handle . aborted ( ) ) { var o = i . meta . cursor ; this . _finished || ( this . _partialLine = r . substring ( o - this . _baseIndex ) , this . _baseIndex = o ) , i && i . data && ( this . _rowCount += i . data . length ) ; var a = this . _finished || this . _config . preview && this . _rowCount >= this . _config . preview ; if ( x ) t . postMessage ( { results : i , workerId : C . WORKER _ID , finished : a } ) ; 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 ) , ! a || ! v ( this . _config . complete ) || i && i . meta . aborted || this . _config . complete ( this . _completeResults ) , a || i && i . meta . paused || this . _nextChunk ( ) , i } } , this . _sendError = function ( e ) { v ( this . _config . error ) ? this . _config . error ( e ) : x && this . _config . error && t . postMessage ( { workerId : C . WORKER _ID , error : e , finished : ! 1 } ) } } function i ( t ) { function e ( t ) { var e = t . getResponseHeader ( "Content-Range" ) ; return parseInt ( e . substr ( e . lastIndexOf ( "/" ) + 1 ) ) } t = t || { } , t . chunkSize || ( t . chunkSize = C . RemoteChunkSize ) , r . call ( this , t ) ; var n ; this . _nextChunk = b ? function ( ) { this . _readChunk ( ) , this . _chunkLoaded ( ) } : function ( ) { this . _readChunk ( ) } , this . stream = function ( t ) { this . _input = t , this . _nextChunk ( ) } , this . _readChunk = function ( ) { if ( this . _finished ) return void this . _chunkLoaded ( ) ; if ( n = new XMLHttpRequest , b || ( n . onload = m ( this . _chunkLoaded , this ) , n . onerror = m ( this . _chunkError , this ) ) , n . open ( "GET" , this . _input , ! b ) , this . _config . chunkSize ) { var t = this . _start + this . _config . chunkSize - 1 ; n . setRequestHeader ( "Range" , "bytes=" + this . _start + "-" + t ) , n . setRequestHeader ( "If-None-Match" , "webkit-no-cache" ) } try { n . send ( ) } catch ( t ) { this . _chunkError ( t . message ) } b && 0 == n . status ? this . _chunkError ( ) : this . _start += this . _config . chunkSize } , this . _chunkLoaded = function ( ) { if ( 4 == n . readyState ) { if ( n . status < 200 || n . status >= 400 ) return void this . _chunkError ( ) ; this . _finished = ! this . _config . chunkSize || this . _start > e ( n ) , this . parseChunk ( n . responseText ) } } , this . _chunkError = function ( t ) { var e = n . statusText || t ; this . _sendError ( e ) } } function o ( t ) { t = t || { } , t . chunkSize || ( t . chunkSize = C . LocalChunkSize ) , r . call ( this , t ) ; var e , n , i = "undefined" != typeof FileReader ; this . stream = function ( t ) { this . _input = t , n = t . slice || t . webkitSlice || t . mozSlice , i ? ( e = new FileReader , e . onload = m ( this . _chunkLoaded , thi
return r ? ( t . M = + r [ 0 ] , n + r [ 0 ] . length ) : - 1 } function re ( t , e , n ) { ps . lastIndex = 0 ; var r = ps . exec ( e . slice ( n , n + 2 ) ) ; return r ? ( t . S = + r [ 0 ] , n + r [ 0 ] . length ) : - 1 } function ie ( t , e , n ) { ps . lastIndex = 0 ; var r = ps . exec ( e . slice ( n , n + 3 ) ) ; return r ? ( t . L = + r [ 0 ] , n + r [ 0 ] . length ) : - 1 } function oe ( t ) { var e = t . getTimezoneOffset ( ) , n = e > 0 ? "-" : "+" , r = 0 | pa ( e ) / 60 , i = pa ( e ) % 60 ; return n + Ut ( r , "0" , 2 ) + Ut ( i , "0" , 2 ) } function ae ( t , e , n ) { gs . lastIndex = 0 ; var r = gs . exec ( e . slice ( n , n + 1 ) ) ; return r ? n + r [ 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 , r = t [ n ] ; ! r [ 1 ] ( e ) ; ) r = t [ ++ n ] ; return r [ 0 ] ( e ) } } function le ( ) { } function ue ( t , e , n ) { var r = n . s = t + e , i = r - t , o = r - i ; n . t = t - o + ( e - i ) } function ce ( t , e ) { t && bs . hasOwnProperty ( t . type ) && bs [ t . type ] ( t , e ) } function de ( t , e , n ) { var r , i = - 1 , o = t . length - n ; for ( e . lineStart ( ) ; ++ i < o ; ) r = t [ i ] , e . point ( r [ 0 ] , r [ 1 ] , r [ 2 ] ) ; e . lineEnd ( ) } function fe ( t , e ) { var n = - 1 , r = t . length ; for ( e . polygonStart ( ) ; ++ n < r ; ) de ( t [ n ] , e , 1 ) ; e . polygonEnd ( ) } function he ( ) { function t ( t , e ) { t *= Ra , e = e * Ra / 2 + Oa / 4 ; var n = t - r , a = n >= 0 ? 1 : - 1 , s = a * n , l = Math . cos ( e ) , u = Math . sin ( e ) , c = o * u , d = i * l + c * Math . cos ( s ) , f = c * a * Math . sin ( s ) ; ws . add ( Math . atan2 ( f , d ) ) , r = t , i = l , o = u } var e , n , r , i , o ; _s . point = function ( a , s ) { _s . point = t , r = ( e = a ) * Ra , i = Math . cos ( s = ( n = s ) * Ra / 2 + Oa / 4 ) , o = Math . sin ( s ) } , _s . lineEnd = function ( ) { t ( e , n ) } } function pe ( t ) { var e = t [ 0 ] , n = t [ 1 ] , r = Math . cos ( n ) ; return [ r * Math . cos ( e ) , r * Math . sin ( e ) , Math . sin ( n ) ] } function 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 ] ) < Na && pa ( t [ 1 ] - e [ 1 ] ) < Na } function _e ( t , e ) { t *= Ra ; var n = Math . cos ( e *= Ra ) ; Se ( n * Math . cos ( t ) , n * Math . sin ( t ) , Math . sin ( e ) ) } function Se ( t , e , n ) { ++ Ss , Ds += ( t - Ds ) / Ss , Ts += ( e - Ts ) / Ss , Ms += ( n - Ms ) / Ss } function Ce ( ) { function t ( t , i ) { t *= Ra ; var o = Math . cos ( i *= Ra ) , a = o * Math . cos ( t ) , s = o * Math . sin ( t ) , l = Math . sin ( i ) , u = Math . atan2 ( Math . sqrt ( ( u = n * l - r * s ) * u + ( u = r * a - e * l ) * u + ( u = e * s - n * a ) * u ) , e * a + n * s + r * l ) ; Cs += u , ks += u * ( e + ( e = a ) ) , Es += u * ( n + ( n = s ) ) , As += u * ( r + ( r = l ) ) , Se ( e , n , r ) } var e , n , r ; Os . point = function ( i , o ) { i *= Ra ; var a = Math . cos ( o *= Ra ) ; e = a * Math . cos ( i ) , n = a * Math . sin ( i ) , r = Math . sin ( o ) , Os . point = t , Se ( e , n , r ) } } function De ( ) { Os . point = _e } function Te ( ) { function t ( t , e ) { t *= Ra ; var n = Math . cos ( e *= Ra ) , a = n * Math . cos ( t ) , s = n * Math . sin ( t ) , l = Math . sin ( e ) , u = i * l - o * s , c = o * a - r * l , d = r * s - i * a , f = Math . sqrt ( u * u + c * c + d * d ) , h = r * a + i * s + o * l , p = f && - Q ( h ) / f , g = Math . atan2 ( f , h ) ; Ps += p * u , Ns += p * c , Ls += p * d , Cs += g , ks += g * ( r + ( r = a ) ) , Es += g * ( i + ( i = s ) ) , As += g * ( o + ( o = l ) ) , Se ( r , i , o ) } var e , n , r , i , o ; Os . point = function ( a , s ) { e = a , n = s , Os . point = t , a *= Ra ; var l = Math . cos ( s *= Ra ) ; r = l * Math . cos ( a ) , i = l * Math . sin ( a ) , o = Math . sin ( s ) , Se ( r , i , o ) } , Os . lineEnd = function ( ) { t ( e , n ) , Os . lineEnd = De , Os . point = _e } } function Me ( t , e ) { function n ( n , r ) { return n = t ( n , r ) , e ( n [ 0 ] , n [ 1 ] ) } return t . invert && e . invert && ( n . invert = function ( n , r ) { return n = e . invert ( n , r ) , n && t . invert ( n [ 0 ] , n [ 1 ] ) } ) , n } function ke ( ) { return ! 0 } function Ee ( t , e , n , r , i ) { var o = [ ] , a = [ ] ; if ( t . forEach ( function ( t ) { if ( ! ( ( e = t . length - 1 ) <= 0 ) ) { var e , n = t [ 0 ] , r = t [ e ] ; if ( we ( n , r ) ) { i . lineStart ( ) ; for ( var s = 0 ; e > s ; ++ s ) i . point ( ( n = t [ s ] ) [ 0 ] , n [ 1 ] ) ; return void i . lineEnd ( ) } var l = new Pe ( n , t , null , ( ! 0 ) ) , u = new Pe ( n , null , l , ( ! 1 ) ) ; l . o = u , o . push ( l ) , a . push ( u ) , l = new Pe ( r , t , null , ( ! 1 ) ) , u = new Pe ( r , null , l , ( ! 0 ) ) , l . o = u , o . push ( l ) , a . push ( u ) } } ) , a . sort ( e ) , Ae ( o ) , Ae ( a ) , o . length ) { for ( var s = 0 , l = n , u = a . length ; u > s ; ++ s ) a [ s ] . e = l = ! l ; for ( var c , d , f = o [ 0 ] ; ; ) { for ( var h = f , p = ! 0 ; h . v ; ) if ( ( h = h . n ) === f ) return ; c = h . z , i . lineStart ( ) ; do { if ( h . v = h . o . v = ! 0 , h . e ) { if ( p ) for ( var s = 0 , u = c . length ; u > s ; ++ s ) i . point ( ( d = c [ s ] ) [ 0 ] , d [ 1 ] ) ; else r ( h . x , h . n . x , 1 , i ) ; h = h . n } else { if ( p ) { c = h . p . z ; for ( var s = c . length - 1 ; s >= 0 ; -- s ) i . point ( ( d = c [ s ] ) [ 0 ] , d [ 1 ] ) } else r ( h . x , h . p . x , - 1 , i ) ; h = h . p } h = h . o , c = h . z , p = ! p } while ( ! h . v ) ; i . lineEnd ( ) } } } function Ae ( t ) { if ( e = t . length ) { for ( var e , n , r = 0 , i = t [ 0 ] ; ++ r < e ; ) i . n = n = t [ r ] , n . p = i , i = n ; i . n = n = t [ 0 ] , n . p = i } } function Pe ( t , e , n , r ) { this . x = t , this . z = e , this . o = n , this . e = r , this . v = ! 1 , this . n = this . p = null } function Ne ( t , e , n , r ) { return function ( i , o ) { function a ( e , n ) { var r = i ( e , n ) ; t ( e = r [ 0 ] , n = r [ 1 ] ) && o . point ( e , n ) } function s ( t , e )
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 ( _i ) } } function wi ( t ) { t . _pack _next = t . _pack _prev = t } function _i ( t ) { delete t . _pack _next , delete t . _pack _prev } function Si ( t , e , n , r ) { var i = t . children ; if ( t . x = e += r * t . x , t . y = n += r * t . y , t . r *= r , i ) for ( var o = - 1 , a = i . length ; ++ o < a ; ) Si ( i [ o ] , e , n , r ) } function Ci ( t , e , n ) { var r = t . r + n . r , i = e . x - t . x , o = e . y - t . y ; if ( r && ( i || o ) ) { var a = e . r + n . r , s = i * i + o * o ; a *= a , r *= r ; var l = . 5 + ( r - a ) / ( 2 * s ) , u = Math . sqrt ( Math . max ( 0 , 2 * a * ( r + s ) - ( r -= s ) * r - a * a ) ) / ( 2 * s ) ; n . x = t . x + l * i + u * o , n . y = t . y + l * o - u * i } else n . x = t . x + r , n . y = t . y } function Di ( t , e ) { return t . parent == e . parent ? 1 : 2 } function Ti ( t ) { var e = t . children ; return e . length ? e [ 0 ] : t . t } function Mi ( t ) { var e , n = t . children ; return ( e = n . length ) ? n [ e - 1 ] : t . t } function ki ( t , e , n ) { var r = n / ( e . i - t . i ) ; e . c -= r , e . s += n , t . c += r , e . z += n , e . m += n } function Ei ( t ) { for ( var e , n = 0 , r = 0 , i = t . children , o = i . length ; -- o >= 0 ; ) e = i [ o ] , e . z += n , e . m += n , n += e . s + ( r += e . c ) } function Ai ( t , e , n ) { return t . a . parent === e . parent ? t . a : n } function Pi ( t ) { return 1 + na . max ( t , function ( t ) { return t . y } ) } function Ni ( t ) { return t . reduce ( function ( t , e ) { return t + e . x } , 0 ) / t . length } function Li ( t ) { var e = t . children ; return e && e . length ? Li ( e [ 0 ] ) : t } function Oi ( t ) { var e , n = t . children ; return n && ( e = n . length ) ? Oi ( n [ e - 1 ] ) : t } function Ii ( t ) { return { x : t . x , y : t . y , dx : t . dx , dy : t . dy } } function ji ( t , e ) { var n = t . x + e [ 3 ] , r = t . y + e [ 0 ] , i = t . dx - e [ 1 ] - e [ 3 ] , o = t . dy - e [ 0 ] - e [ 2 ] ; return 0 > i && ( n += i / 2 , i = 0 ) , 0 > o && ( r += o / 2 , o = 0 ) , { x : n , y : r , dx : i , dy : o } } function Fi ( t ) { var e = t [ 0 ] , n = t [ t . length - 1 ] ; return n > e ? [ e , n ] : [ n , e ] } function Ri ( t ) { return t . rangeExtent ? t . rangeExtent ( ) : Fi ( t . range ( ) ) } function Hi ( t , e , n , r ) { var i = n ( t [ 0 ] , t [ 1 ] ) , o = r ( e [ 0 ] , e [ 1 ] ) ; return function ( t ) { return o ( i ( t ) ) } } function $i ( t , e ) { var n , r = 0 , i = t . length - 1 , o = t [ r ] , a = t [ i ] ; return o > a && ( n = r , r = i , i = n , n = o , o = a , a = n ) , t [ r ] = e . floor ( o ) , t [ i ] = e . ceil ( a ) , t } function qi ( t ) { return t ? { floor : function ( e ) { return Math . floor ( e / t ) * t } , ceil : function ( e ) { return Math . ceil ( e / t ) * t } } : xl } function Ui ( t , e , n , r ) { var i = [ ] , o = [ ] , a = 0 , s = Math . min ( t . length , e . length ) - 1 ; for ( t [ s ] < t [ 0 ] && ( t = t . slice ( ) . reverse ( ) , e = e . slice ( ) . reverse ( ) ) ; ++ a <= s ; ) i . push ( n ( t [ a - 1 ] , t [ a ] ) ) , o . push ( r ( e [ a - 1 ] , e [ a ] ) ) ; return function ( e ) { var n = na . bisect ( t , e , 1 , s ) - 1 ; return o [ n ] ( i [ n ] ( e ) ) } } function zi ( t , e , n , r ) { function i ( ) { var i = Math . min ( t . length , e . length ) > 2 ? Ui : Hi , l = r ? zr : Ur ; return a = i ( t , e , l , n ) , s = i ( e , t , l , yr ) , o } function o ( t ) { return a ( t ) } var a , s ; return o . invert = function ( t ) { return s ( t ) } , o . domain = function ( e ) { return arguments . length ? ( t = e . map ( Number ) , i ( ) ) : t } , o . range = function ( t ) { return arguments . length ? ( e = t , i ( ) ) : e } , o . rangeRound = function ( t ) { return o . range ( t ) . interpolate ( jr ) } , o . clamp = function ( t ) { return arguments . length ? ( r = t , i ( ) ) : r } , o . interpolate = function ( t ) { return arguments . length ? ( n = t , i ( ) ) : n } , o . ticks = function ( e ) { return Gi ( t , e ) } , o . tickFormat = function ( e , n ) { return Vi ( t , e , n ) } , o . nice = function ( e ) { return Wi ( t , e ) , i ( ) } , o . copy = function ( ) { return zi ( t , e , n , r ) } , i ( ) } function Bi ( t , e ) { return na . rebind ( t , e , "range" , "rangeRound" , "interpolate" , "clamp" ) } function Wi ( t , e ) { return $i ( t , qi ( Yi ( t , e ) [ 2 ] ) ) } function Yi ( t , e ) { null == e && ( e = 10 ) ; var n = Fi ( t ) , r = n [ 1 ] - n [ 0 ] , i = Math . pow ( 10 , Math . floor ( Math . log ( r / e ) / Math . LN10 ) ) , o = e / r * i ; return . 15 >= o ? i *= 10 : . 35 >= o ? i *= 5 : . 75 >= o && ( i *= 2 ) , n [ 0 ] = Math . ceil ( n [ 0 ] / i ) * i , n [ 1 ] = Math . floor ( n [ 1 ] / i ) * i + . 5 * i , n [ 2 ] = i , n } function Gi ( t , e ) { return na . range . apply ( na , Yi ( t , e ) ) } function Vi ( t , e , n ) { var r = Yi ( t , e ) ; if ( n ) { var i = ls . exec ( n ) ; if ( i . shift ( ) , "s" === i [ 8 ] ) { var o = na . formatPrefix ( Math . max ( pa ( r [ 0 ] ) , pa ( r [ 1 ] ) ) ) ; return i [ 7 ] || ( i [ 7 ] = "." + Xi ( o . scale ( r [ 2 ] ) ) ) , i [ 8 ] = "f" , n = na . format ( i . join ( "" ) ) , function ( t ) { return n ( o . scale ( t ) ) + o . symbol } } i [ 7 ] || ( i [ 7 ] = "." + Zi ( i [ 8 ] , r ) ) , n = i . join ( "" ) } else n = ",." + Xi ( r [ 2 ] ) + "f" ; return na . format ( n ) } function Xi ( t ) { return - Math . floor ( Math . log ( t ) / Math . LN10 + . 01 ) } function Zi ( t , e ) { var n = Xi ( e [ 2 ] ) ; return t in wl ? Math . abs ( n - Xi ( Math . max ( pa ( e [ 0 ] ) , pa ( e [ 1 ] ) ) ) ) + + ( "e" !== t ) : n - 2 * ( "%" === t ) } function Ji ( t , e , n , r ) { function i ( t ) { return ( n ? Math . log ( 0 > t ? 0 : t ) : - Math . log ( t > 0 ? 0 : - t ) ) / Math . log ( e ) } function o ( t ) { return n ? Math . pow ( e , t ) : - Math . pow ( e , - t ) } function a ( e ) { return t ( i ( e ) ) } return a . invert = function ( e ) { return o ( t . invert ( e ) ) } , a . domain = function ( e ) { return arguments . length ? ( n = e [ 0 ] >= 0 , t . domain ( ( r = e . map ( Number ) ) . map ( i ) ) , a ) : r } , a . base = function ( n ) { return arguments . length ? ( e = + n , t . domain ( r . map ( i ) ) , a ) : e } , a . nice = function ( ) {
} ) , t } function n ( ) { var e = na . event . target ; na . select ( e ) . on ( x , a ) . on ( _ , f ) , S . push ( e ) ; for ( var n = na . event . changedTouches , r = 0 , i = n . length ; i > r ; ++ r ) m [ n [ r ] . 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 ( D . k ) / Math . LN2 ) + 1 ) , w ( ) } y = l } else if ( s . length > 1 ) { var u = s [ 0 ] , c = s [ 1 ] , d = u [ 0 ] - c [ 0 ] , h = u [ 1 ] - c [ 1 ] ; v = d * d + h * h } } 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 , d = 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 ] , r ( d * h ) } y = null , i ( t , e ) , l ( g ) } function f ( ) { if ( na . event . touches . length ) { for ( var e = na . event . changedTouches , n = 0 , r = e . length ; r > n ; ++ n ) delete m [ e [ n ] . identifier ] ; for ( var i in m ) return void t ( ) } na . selectAll ( S ) . on ( b , null ) , C . on ( A , c ) . on ( L , d ) , T ( ) , u ( g ) } var h , p = this , g = O . of ( p , arguments ) , m = { } , v = 0 , b = ".zoom-" + na . event . changedTouches [ 0 ] . identifier , x = "touchmove" + b , _ = "touchend" + b , S = [ ] , C = na . select ( p ) , T = Y ( ) ; n ( ) , s ( g ) , C . on ( A , null ) . on ( L , n ) } function f ( ) { var t = O . 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 ( ) , r ( Math . pow ( 2 , . 002 * za ( ) ) * D . k ) , i ( g , p ) , l ( t ) } function h ( ) { var t = na . mouse ( this ) , n = Math . log ( D . 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 , _ , C , D = { x : 0 , y : 0 , k : 1 } , T = [ 960 , 500 ] , M = Ba , k = 250 , E = 0 , A = "mousedown.zoom" , P = "mousemove.zoom" , N = "mouseup.zoom" , L = "touchstart.zoom" , O = S ( t , "zoomstart" , "zoom" , "zoomend" ) ; return t . event = function ( t ) { t . each ( function ( ) { var t = O . of ( this , arguments ) , e = D ; jl ? na . select ( this ) . transition ( ) . each ( "start.zoom" , function ( ) { D = this . _ _chart _ _ || { x : 0 , y : 0 , k : 1 } , s ( t ) } ) . tween ( "zoom:zoom" , function ( ) { var n = T [ 0 ] , r = T [ 1 ] , i = g ? g [ 0 ] : n / 2 , o = g ? g [ 1 ] : r / 2 , a = na . interpolateZoom ( [ ( i - D . x ) / D . k , ( o - D . y ) / D . k , n / D . k ] , [ ( i - e . x ) / e . k , ( o - e . y ) / e . k , n / e . k ] ) ; return function ( e ) { var r = a ( e ) , s = n / r [ 2 ] ; this . _ _chart _ _ = D = { x : i - r [ 0 ] * s , y : o - r [ 1 ] * s , k : s } , l ( t ) } } ) . each ( "interrupt.zoom" , function ( ) { u ( t ) } ) . each ( "end.zoom" , function ( ) { u ( t ) } ) : ( this . _ _chart _ _ = D , s ( t ) , l ( t ) , u ( t ) ) } ) } , t . translate = function ( e ) { return arguments . length ? ( D = { x : + e [ 0 ] , y : + e [ 1 ] , k : D . k } , a ( ) , t ) : [ D . x , D . y ] } , t . scale = function ( e ) { return arguments . length ? ( D = { x : D . x , y : D . y , k : + e } , a ( ) , t ) : D . k } , t . scaleExtent = function ( e ) { return arguments . length ? ( M = null == e ? Ba : [ + e [ 0 ] , + e [ 1 ] ] , t ) : M } , t . center = function ( e ) { return arguments . length ? ( m = e && [ + e [ 0 ] , + e [ 1 ] ] , t ) : m } , t . size = function ( e ) { return arguments . length ? ( T = e && [ + e [ 0 ] , + e [ 1 ] ] , t ) : T } , t . duration = function ( e ) { return arguments . length ? ( k = + e , t ) : k } , t . x = function ( e ) { return arguments . length ? ( x = e , b = e . copy ( ) , D = { x : 0 , y : 0 , k : 1 } , t ) : x } , t . y = function ( e ) { return arguments . length ? ( C = e , _ = e . copy ( ) , D = { x : 0 , y : 0 , k : 1 } , t ) : C } , na . rebind ( t , O , "on" ) } ; var za , Ba = [ 0 , 1 / 0 ] , Wa = "onwheel" in oa ? ( za = function ( ) { return - na . event . deltaY * ( na . event . deltaMode ? 120 : 1 ) } , "wheel" ) : "onmousewheel" in oa ? ( za = function ( ) { return na . event . wheelDelta } , "mousewheel" ) : ( za = function ( ) { return - na . event . detail } , "MozMousePixelScroll" ) ; na . color = ot , ot . prototype . toString = function ( ) { return this . rgb ( ) + "" } , na . hsl = at ; var Ya = at . prototype = new ot ; Ya . brighter = function ( t ) { return t = Math . pow ( . 7 , arguments . length ? t : 1 ) , new at ( this . h , this . s , this . l / t ) } , Ya . darker = function ( t ) { return t = Math . pow ( . 7 , arguments . length ? t : 1 ) , new at ( this . h , this . s , t * this . l ) } , Ya . rgb = function ( ) { return st ( this . h , this . s , this . l ) } , na . hcl = lt ; var Ga = lt . prototype = new ot ; Ga . brighter = function ( t ) { return new lt ( this . h , this . c , Math . min ( 100 , this . l + Va * ( arguments . length ? t : 1 ) ) ) } , Ga . darker = function ( t ) { return new lt ( this . h , this . c , Math . max ( 0 , this . l - Va * ( arguments . length ? t : 1 ) ) ) } , Ga . rgb = function ( ) { return ut ( this . h , this . c , this . l ) . rgb ( ) } , na . lab = ct ; var Va = 18 , Xa = . 95047 , Za = 1 , Ja = 1.08883 , Ka = ct . prototype = new ot ; Ka . brighter = function ( t ) { return new ct ( Math . min ( 100 , this . l + Va * ( arguments . length ? t : 1 ) ) , this . a , this . b ) } , Ka . darker = function ( t ) { return new ct ( Math . max ( 0 , this . l - Va * ( arguments . length ? t : 1 ) ) , this . a , this . b ) } , Ka . rgb = function ( ) { return dt ( this . l , this . a , this . b ) } , na . rgb = mt ; var Qa = mt . prototype = new ot ; Qa . brighter = function ( t ) { t = Math . pow ( . 7 , arguments . length ? t : 1 ) ; var e = this . r , n = this . g , r = this . b , i = 30 ; return e || n || r ? ( e && i > e && ( e = i ) , n && i > n && ( n = i ) , r && i > r
h = - 1 ; ++ h < o ; ) { var y = m [ f ] , b = v [ y ] [ h ] , x = i [ y ] [ b ] , w = u , _ = u += x * t ; p [ y + "-" + b ] = { index : y , subindex : b , startAngle : w , endAngle : _ , value : x } } r [ y ] = { index : y , startAngle : d , endAngle : u , value : ( u - d ) / t } , u += c } for ( f = - 1 ; ++ f < o ; ) for ( h = f - 1 ; ++ h < o ; ) { var S = p [ f + "-" + h ] , C = p [ h + "-" + f ] ; ( S . value || C . value ) && n . push ( S . value < C . value ? { source : C , target : S } : { source : S , 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 , r , i , o , a , s , l , u = { } , c = 0 ; return u . matrix = function ( t ) { return arguments . length ? ( o = ( i = t ) && i . length , n = r = null , u ) : i } , u . padding = function ( t ) { return arguments . length ? ( c = t , n = r = null , u ) : c } , u . sortGroups = function ( t ) { return arguments . length ? ( a = t , n = r = 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 r || t ( ) , r } , u } , na . layout . force = function ( ) { function t ( t ) { return function ( e , n , r , i ) { if ( e . point !== t ) { var o = e . cx - t . x , a = e . cy - t . y , s = i - 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 , r , i , o , a , s = { } , l = na . dispatch ( "start" , "tick" , "end" ) , u = [ 1 , 1 ] , c = . 9 , d = pl , f = gl , h = - 30 , p = ml , g = . 1 , m = . 64 , v = [ ] , y = [ ] ; return s . tick = function ( ) { if ( ( r *= . 99 ) < . 005 ) return l . end ( { type : "end" , alpha : r = 0 } ) , ! 0 ; var e , n , s , d , f , p , m , b , x , w = v . length , _ = y . length ; for ( n = 0 ; _ > n ; ++ n ) s = y [ n ] , d = s . source , f = s . target , b = f . x - d . x , x = f . y - d . y , ( p = b * b + x * x ) && ( p = r * o [ n ] * ( ( p = Math . sqrt ( p ) ) - i [ n ] ) / p , b *= p , x *= p , f . x -= b * ( m = d . weight / ( f . weight + d . weight ) ) , f . y -= x * m , d . x += b * ( m = 1 - m ) , d . y += x * m ) ; if ( ( m = r * 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 ( h ) for ( Jr ( e = na . geom . quadtree ( v ) , r , 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 : r } ) } , s . nodes = function ( t ) { return arguments . length ? ( v = t , s ) : v } , s . links = function ( t ) { return arguments . length ? ( y = t , s ) : y } , s . size = function ( t ) { return arguments . length ? ( u = t , s ) : u } , s . linkDistance = function ( t ) { return arguments . length ? ( d = "function" == typeof t ? t : + t , s ) : d } , s . distance = s . linkDistance , s . linkStrength = function ( t ) { return arguments . length ? ( f = "function" == typeof t ? t : + t , s ) : f } , s . friction = function ( t ) { return arguments . length ? ( c = + t , s ) : c } , s . charge = function ( t ) { return arguments . length ? ( h = "function" == typeof t ? t : + t , s ) : h } , s . chargeDistance = function ( t ) { return arguments . length ? ( p = t * t , s ) : Math . sqrt ( p ) } , s . gravity = function ( t ) { return arguments . length ? ( g = + t , s ) : g } , s . theta = function ( t ) { return arguments . length ? ( m = t * t , s ) : Math . sqrt ( m ) } , s . alpha = function ( t ) { return arguments . length ? ( t = + t , r ? r = t > 0 ? t : 0 : t > 0 && ( l . start ( { type : "start" , alpha : r = t } ) , na . timer ( s . tick ) ) , s ) : r } , s . start = function ( ) { function t ( t , r ) { if ( ! n ) { for ( n = new Array ( l ) , s = 0 ; l > s ; ++ s ) n [ s ] = [ ] ; for ( s = 0 ; u > s ; ++ s ) { var i = y [ s ] ; n [ i . source . index ] . push ( i . target ) , n [ i . target . index ] . push ( i . source ) } } for ( var o , a = n [ e ] , s = - 1 , u = a . length ; ++ s < u ; ) if ( ! isNaN ( o = a [ s ] [ t ] ) ) return o ; return Math . random ( ) * r } var e , n , r , l = v . length , c = y . length , p = u [ 0 ] , g = u [ 1 ] ; for ( e = 0 ; l > e ; ++ e ) ( r = v [ e ] ) . index = e , r . weight = 0 ; for ( e = 0 ; c > e ; ++ e ) r = y [ e ] , "number" == typeof r . source && ( r . source = v [ r . source ] ) , "number" == typeof r . target && ( r . target = v [ r . target ] ) , ++ r . source . weight , ++ r . target . weight ; for ( e = 0 ; l > e ; ++ e ) r = v [ e ] , isNaN ( r . x ) && ( r . x = t ( "x" , p ) ) , isNaN ( r . y ) && ( r . y = t ( "y" , g ) ) , isNaN ( r . px ) && ( r . px = r . x ) , isNaN ( r . py ) && ( r . py = r . y ) ; if ( i = [ ] , "function" == typeof d ) for ( e = 0 ; c > e ; ++ e ) i [ e ] = + d . call ( this , y [ e ] , e ) ; else for ( e = 0 ; c > e ; ++ e ) i [ e ] = d ; if ( o = [ ] , "function" == typeof f ) for ( e = 0 ; c > e ; ++ e ) o [ e ] = + f . call ( this , y [ e ] , e ) ; else for ( e = 0 ; c > e ; ++ e ) o [ e ] = f ; if ( a = [ ] , "function" == typeof h ) for ( e = 0 ; l > e ; ++ e ) a [ e ] = + h . call ( this , v [ e ] , e ) ; else for ( e = 0 ; l > e ; ++ e ) a [ e ] = h ; return s . resume ( ) } , s . resume = function ( ) { return s . alpha ( . 1 ) } , s . stop = function ( ) { return s . alpha ( 0 ) } , s . drag = function ( ) { return n || ( n = na . behavior . drag ( ) . origin ( Tt ) . on ( "dragstart.force" , Gr ) . on ( "drag.force" , e ) . on ( "dragend.force" , Vr ) ) , arguments . length ? void this . on ( "mouseover.force" , Xr ) . on ( "mouseout.force" , Zr ) . call ( n ) : n } , na . rebind ( s , l , "on" ) } ; var pl = 20 , gl = 1 , ml =
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 = Bl [ ! l << 1 | ! u ] , t ) : l } , t . y = function ( e ) { return arguments . length ? ( u = e , p = Bl [ ! l << 1 | ! u ] , t ) : u } , t . clamp = function ( e ) { return arguments . length ? ( l && u ? ( f = ! ! e [ 0 ] , h = ! ! e [ 1 ] ) : l ? f = ! ! e : u && ( h = ! ! e ) , t ) : l && u ? [ f , h ] : l ? f : u ? h : null } , t . extent = function ( e ) { var n , r , i , s , f ; return arguments . length ? ( l && ( n = e [ 0 ] , r = e [ 1 ] , u && ( n = n [ 0 ] , r = r [ 0 ] ) , o = [ n , r ] , l . invert && ( n = l ( n ) , r = l ( r ) ) , n > r && ( f = n , n = r , r = f ) , ( n != c [ 0 ] || r != c [ 1 ] ) && ( c = [ n , r ] ) ) , u && ( i = e [ 0 ] , s = e [ 1 ] , l && ( i = i [ 1 ] , s = s [ 1 ] ) , a = [ i , s ] , u . invert && ( i = u ( i ) , s = u ( s ) ) , i > s && ( f = i , i = s , s = f ) , ( i != d [ 0 ] || s != d [ 1 ] ) && ( d = [ i , s ] ) ) , t ) : ( l && ( o ? ( n = o [ 0 ] , r = o [ 1 ] ) : ( n = c [ 0 ] , r = c [ 1 ] , l . invert && ( n = l . invert ( n ) , r = l . invert ( r ) ) , n > r && ( f = n , n = r , r = f ) ) ) , u && ( a ? ( i = a [ 0 ] , s = a [ 1 ] ) : ( i = d [ 0 ] , s = d [ 1 ] , u . invert && ( i = u . invert ( i ) , s = u . invert ( s ) ) , i > s && ( f = i , i = s , s = f ) ) ) , l && u ? [ [ n , i ] , [ r , s ] ] : l ? [ n , r ] : u && [ i , s ] ) } , t . clear = function ( ) { return t . empty ( ) || ( c = [ 0 , 0 ] , d = [ 0 , 0 ] , o = a = null ) , t } , t . empty = function ( ) { return ! ! l && c [ 0 ] == c [ 1 ] || ! ! u && d [ 0 ] == d [ 1 ] } , na . rebind ( t , s , "on" ) } ; var zl = { n : "ns-resize" , e : "ew-resize" , s : "ns-resize" , w : "ew-resize" , nw : "nwse-resize" , ne : "nesw-resize" , se : "nwse-resize" , sw : "nesw-resize" } , Bl = [ [ "n" , "e" , "s" , "w" , "nw" , "ne" , "se" , "sw" ] , [ "e" , "w" ] , [ "n" , "s" ] , [ ] ] , Wl = cs . format = ms . timeFormat , Yl = Wl . utc , Gl = Yl ( "%Y-%m-%dT%H:%M:%S.%LZ" ) ; Wl . iso = Date . prototype . toISOString && + new Date ( "2000-01-01T00:00:00.000Z" ) ? Jo : Gl , Jo . parse = function ( t ) { var e = new Date ( t ) ; return isNaN ( e ) ? null : e } , Jo . toString = Gl . toString , cs . second = Ht ( function ( t ) { return new ds ( 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 ds ( 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 ( ) / 60 ; return new ds ( 36e5 * ( Math . floor ( t / 36e5 - e ) + e ) ) } , function ( t , e ) { t . setTime ( t . getTime ( ) + 36e5 * Math . floor ( e ) ) } , function ( t ) { return t . getHours ( ) } ) , cs . hours = cs . hour . range , cs . hours . utc = cs . hour . utc . range , cs . month = Ht ( function ( t ) { return t = cs . day ( t ) , t . setDate ( 1 ) , t } , function ( t , e ) { t . setMonth ( t . getMonth ( ) + e ) } , function ( t ) { return t . getMonth ( ) } ) , cs . months = cs . month . range , cs . months . utc = cs . month . utc . range ; var Vl = [ 1e3 , 5e3 , 15e3 , 3e4 , 6e4 , 3e5 , 9e5 , 18e5 , 36e5 , 108e5 , 216e5 , 432e5 , 864e5 , 1728e5 , 6048e5 , 2592e6 , 7776e6 , 31536e6 ] , Xl = [ [ cs . second , 1 ] , [ cs . second , 5 ] , [ cs . second , 15 ] , [ cs . second , 30 ] , [ cs . minute , 1 ] , [ cs . minute , 5 ] , [ cs . minute , 15 ] , [ cs . minute , 30 ] , [ cs . hour , 1 ] , [ cs . hour , 3 ] , [ cs . hour , 6 ] , [ cs . hour , 12 ] , [ cs . day , 1 ] , [ cs . day , 2 ] , [ cs . week , 1 ] , [ cs . month , 1 ] , [ cs . month , 3 ] , [ cs . year , 1 ] ] , Zl = Wl . multi ( [ [ ".%L" , function ( t ) { return t . getMilliseconds ( ) } ] , [ ":%S" , function ( t ) { return t . getSeconds ( ) } ] , [ "%I:%M" , function ( t ) { return t . getMinutes ( ) } ] , [ "%I %p" , function ( t ) { return t . getHours ( ) } ] , [ "%a %d" , function ( t ) { return t . getDay ( ) && 1 != t . getDate ( ) } ] , [ "%b %d" , function ( t ) { return 1 != t . getDate ( ) } ] , [ "%B" , function ( t ) { return t . getMonth ( ) } ] , [ "%Y" , ke ] ] ) , Jl = { range : function ( t , e , n ) { return na . range ( Math . ceil ( t / n ) * n , + e , n ) . map ( Qo ) } , floor : Tt , ceil : Tt } ; Xl . year = cs . year , cs . scale = function ( ) { return Ko ( na . scale . linear ( ) , Xl , Zl ) } ; var Kl = Xl . map ( function ( t ) { return [ t [ 0 ] . utc , t [ 1 ] ] } ) , Ql = Yl . multi ( [ [ ".%L" , function ( t ) { return t . getUTCMilliseconds ( ) } ] , [ ":%S" , function ( t ) { return t . getUTCSeconds ( ) } ] , [ "%I:%M" , function ( t ) { return t . getUTCMinutes ( ) } ] , [ "%I %p" , function ( t ) { return t . getUTCHours ( ) } ] , [ "%a %d" , function ( t ) { return t . getUTCDay ( ) && 1 != t . getUTCDate ( ) } ] , [ "%b %d" , function ( t ) { return 1 != t . getUTCDate ( ) } ] , [ "%B" , function ( t ) { return t . getUTCMonth ( ) } ] , [ "%Y" , ke ] ] ) ; Kl . year = cs . year . utc , cs . scale . utc = function ( ) { return Ko ( na . scale . linear ( ) , Kl , Ql ) } , na . text = Mt ( function ( t ) { return t . responseText } ) , na . json = function ( t , e ) { return kt ( t , "application/json" , ta , e ) } , na . html = function ( t , e ) { return kt ( t , "text/html" , ea , e ) } , na . xml = Mt ( function ( t ) { return t . responseXML } ) , "function" == typeof define && define . amd ? define ( na ) : "object" == typeof module && module . exports && ( mod
2017-01-08 20:35:08 +00:00
} , 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 New Guinea" } , id : "PNG" , arcs : [ [ [ 497 ] ] , [ [ 498 ] ] , [ [ - 345 , 499 ] ] , [ [ 500 ] ] ] } , { type : "Polygon" , properties : { name : "Poland" } , id : "POL" , arcs : [ [ - 224 , 501 , 502 , - 428 , - 97 , 503 , 504 , - 221 ] ] } , { type : "Polygon" , properties : { name : "Puerto Rico" } , id : "PRI" , arcs : [ [ 505 ] ] } , { type : "Polygon" , properties : { name : "North Korea" } , id : "PRK" , arcs : [ [ 506 , 507 , - 405 , 508 , - 169 ] ] } , { type : "Polygon" , properties : { name : "Portugal" } , id : "PRT" , arcs : [ [ - 259 , 509 ] ] } , { type : "Polygon" , properties : { name : "Paraguay" } , id : "PRY" , arcs : [ [ - 104 , - 105 , - 26 ] ] } , { type : "Polygon" , properties : { name : "Qatar" } , id : "QAT" , arcs : [ [ 510 , 511 ] ] } , { type : "Polygon" , properties : { name : "Romania" } , id : "ROU" , arcs : [ [ 512 , - 434 , 513 , 514 , - 81 , 515 , - 333 ] ] } , { type : "MultiPolygon" , properties : { name : "Russia" } , id : "RUS" , arcs : [ [ [ 516 ] ] , [ [ - 503 , 517 , - 425 ] ] , [ [ 518 , 519 ] ] , [ [ 520 ] ] , [ [ 521 ] ] , [ [ 522 ] ] , [ [ 523 ] ] , [ [ 524 ] ] , [ [ 525 ] ] , [ [ 526 , - 507 , - 184 , - 447 , - 182 , - 391 , 527 , - 59 , - 293 , 528 , 529 , - 95 , - 430 , - 261 , 530 , - 269 , - 475 , 531 , - 520 ] ] , [ [ 532 ] ] , [ [ 533 ] ] , [ [ 534 ] ] ] } , { type : "Polygon" , properties : { name : "Rwanda" } , id : "RWA" , arcs : [ [ 535 , - 61 , - 198 , 536 ] ] } , { type : "Polygon" , properties : { name : "Western Sahara" } , id : "ESH" , arcs : [ [ - 241 , - 458 , 537 , - 431 ] ] } , { type : "Polygon" , properties : { name : "Saudi Arabia" } , id : "SAU" , arcs : [ [ 538 , - 382 , - 365 , - 410 , 539 , - 512 , 540 , - 23 , - 484 , 541 ] ] } , { type : "Polygon" , properties : { name : "Sudan" } , id : "SDN" , arcs : [ [ 542 , 543 , - 123 , 544 , - 421 , - 249 , 545 , - 254 , - 268 , 546 ] ] } , { type : "Polygon" , properties : { name : "South Sudan" } , id : "SSD" , arcs : [ [ 547 , - 266 , - 396 , 548 , - 203 , - 125 , 549 , - 543 ] ] } , { type : "Polygon" , properties : { name : "Senegal" } , id : "SEN" , arcs : [ [ 550 , - 456 , - 442 , - 301 , - 306 , 551 , - 304 ] ] } , { type : "MultiPolygon" , properties : { name : "Solomon Islands" } , id : "SLB" , arcs : [ [ [ 552 ] ] , [ [ 553 ] ] , [ [ 554 ] ] , [ [ 555 ] ] , [ [ 556 ] ] ] } , { type : "Polygon" , properties : { name : "Sierra Leone" } , id : "SLE" , arcs : [ [ 557 , - 298 , - 417 ] ] } , { type : "Polygon" , properties : { name : "El Salvador" } , id : "SLV" , arcs : [ [ 558 , - 317 , - 322 ] ] } , { type : "Polygon" , properties : { name : "Somaliland" } , id : "-99" , arcs : [ [ - 263 , - 231 , 559 , 560 ] ] } , { type : "Polygon" , properties : { name : "Somalia" } , id : "SOM" , arcs : [ [ - 397 , - 264 , - 561 , 561 ] ] } , { type : "Polygon" , properties : { name : "Republic of Serbia" } , id : "SRB" , arcs : [ [ - 86 , - 439 , - 407 , - 446 , - 90 , - 325 , - 334 , - 516 ] ] } , { type : " Polygon
2017-01-29 23:56:38 +00:00
transform : { scale : [ . 036003600360036005 , . 016927109510951093 ] , translate : [ - 180 , - 85.609038 ] } } , f . prototype . usaTopo = "__USA__" , f . prototype . latLngToXY = function ( t , e ) { return this . projection ( [ e , t ] ) } , f . prototype . addLayer = function ( t , e , n ) { var r ; return r = n ? this . svg . insert ( "g" , ":first-child" ) : this . svg . append ( "g" ) , r . attr ( "id" , e || "" ) . attr ( "class" , t || "" ) } , f . prototype . updateChoropleth = function ( t ) { var e = this . svg ; for ( var n in t ) if ( t . hasOwnProperty ( n ) ) { var r , i = t [ n ] ; if ( ! n ) continue ; r = "string" == typeof i ? i : "string" == typeof i . color ? i . color : this . options . fills [ i . fillKey ] , i === Object ( i ) && ( this . options . data [ n ] = d ( i , this . options . data [ n ] || { } ) , this . svg . select ( "." + n ) . attr ( "data-info" , JSON . stringify ( this . options . data [ n ] ) ) ) , e . selectAll ( "." + n ) . transition ( ) . style ( "fill" , r ) } } , f . prototype . updatePopup = function ( t , e , n ) { var r = this ; t . on ( "mousemove" , null ) , t . on ( "mousemove" , function ( ) { var i = h . mouse ( r . options . element ) ; h . select ( r . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "top" , i [ 1 ] + 30 + "px" ) . html ( function ( ) { var r = JSON . parse ( t . attr ( "data-info" ) ) ; return n . popupTemplate ( e , r ) } ) . style ( "left" , i [ 0 ] + "px" ) } ) , h . select ( r . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "display" , "block" ) } , f . prototype . addPlugin = function ( t , e ) { var n = this ; "undefined" == typeof f . prototype [ t ] && ( f . prototype [ t ] = function ( r , i , o , a ) { var s ; "undefined" == typeof a && ( a = ! 1 ) , "function" == typeof i && ( o = i , i = void 0 ) , i = d ( i || { } , n . options [ t + "Config" ] ) , ! a && this . options [ t + "Layer" ] ? ( s = this . options [ t + "Layer" ] , i = i || this . options [ t + "Options" ] ) : ( s = this . addLayer ( t ) , this . options [ t + "Layer" ] = s , this . options [ t + "Options" ] = i ) , e . apply ( this , [ s , r , i ] ) , o && o ( s ) } ) } , "function" == typeof define && define . amd ? define ( "datamaps" , function ( t ) { return h = t ( "d3" ) , p = t ( "topojson" ) , f } ) : window . Datamap = window . Datamaps = f , window . jQuery && ( window . jQuery . fn . datamaps = function ( t , e ) { t = t || { } , t . element = this [ 0 ] ; var n = new f ( 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 , r ) { function i ( e ) { var n , r , 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 ] + " " ) && ( r = t . replace ( n [ 0 ] , n [ 2 ] . toLowerCase ( ) ) , o [ r ] = t , "o" === n [ 1 ] && i ( e [ t ] ) ) } ) , e . _hungarianMap = o } function o ( e , n , a ) { e . _hungarianMap || i ( e ) ; var s ; t . each ( n , function ( i ) { s = e . _hungarianMap [ i ] , s === r || ! a && n [ s ] !== r || ( "o" === s . charAt ( 0 ) ? ( n [ s ] || ( n [ s ] = { } ) , t . extend ( ! 0 , n [ s ] , n [ i ] ) , o ( e [ s ] , n [ s ] , a ) ) : n [ s ] = n [ i ] ) } ) } function a ( t ) { var e = Bt . 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 ) && Ut ( t ) } function s ( t ) { if ( fe ( t , "ordering" , "bSort" ) , fe ( t , "orderMulti" , "bSortMulti" ) , fe ( t , "orderClasses" , "bSortClasses" ) , fe ( t , "orderCellsTop" , "bSortCellsTop" ) , fe ( t , "order" , "aaSorting" ) , fe ( t , "orderFixed" , "aaSortingFixed" ) , fe ( t , "paging" , "bPaginate" ) , fe ( t , "pagingType" , "sPaginationType" ) , fe ( t , "pageLength" , "iDisplayLength" ) , fe ( 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 ( Bt . models . oSearch , t [ e ] ) } function l ( e ) { fe ( e , "orderable" , "bSortable" ) , fe ( e , "orderData" , "aDataSort" ) , fe ( e , "orderSequence" , "asSorting" ) , fe ( e , "orderDataType" , "sortDataType" ) ; var n = e . aDataSort ; n && ! t . isArray ( n ) && ( e . aDataSort = [ n ] ) } function u ( e ) { if ( ! Bt . _ _browser ) { var n = { } ; Bt . _ _browser = n ; var r = 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" ) , i = r . children ( ) , o = i . children ( ) ; n . barWidth = i [ 0 ] . offsetWidth - i [ 0 ] . clientWidth , n . bScrollOversize = 100 === o [ 0 ] . offsetWidth
n && a < n + o ? ( clearTimeout ( i ) , i = setTimeout ( function ( ) { n = r , t . apply ( e , s ) } , o ) ) : ( n = a , t . apply ( e , s ) ) } } function yt ( e , r ) { if ( ! e ) return 0 ; var i = t ( "<div/>" ) . css ( "width" , wt ( e ) ) . appendTo ( r || n . body ) , o = i [ 0 ] . offsetWidth ; return i . remove ( ) , o } function bt ( e , n ) { var r = xt ( e , n ) ; if ( 0 > r ) return null ; var i = e . aoData [ r ] ; return i . nTr ? i . anCells [ n ] : t ( "<td/>" ) . html ( _ ( e , r , n , "display" ) ) [ 0 ] } function xt ( t , e ) { for ( var n , r = - 1 , i = - 1 , o = 0 , a = t . aoData . length ; o < a ; o ++ ) n = _ ( t , o , e , "display" ) + "" , n = n . replace ( ve , "" ) , n = n . replace ( / /g , " " ) , n . length > r && ( r = n . length , i = o ) ; return i } function wt ( t ) { return null === t ? "0px" : "number" == typeof t ? 0 > t ? "0px" : t + "px" : t . match ( /\d$/ ) ? t + "px" : t } function _t ( e ) { var n , i , o , a , s , l , u = [ ] , c = e . aoColumns ; n = e . aaSortingFixed , i = t . isPlainObject ( n ) ; var d = [ ] ; for ( o = function ( e ) { e . length && ! t . isArray ( e [ 0 ] ) ? d . push ( e ) : t . merge ( d , e ) } , t . isArray ( n ) && o ( n ) , i && n . pre && o ( n . pre ) , o ( e . aaSorting ) , i && n . post && o ( n . post ) , e = 0 ; e < d . length ; e ++ ) for ( l = d [ e ] [ 0 ] , o = c [ l ] . aDataSort , n = 0 , i = o . length ; n < i ; n ++ ) a = o [ n ] , s = c [ a ] . sType || "string" , d [ e ] . _idx === r && ( d [ e ] . _idx = t . inArray ( d [ e ] [ 1 ] , c [ a ] . asSorting ) ) , u . push ( { src : l , col : a , dir : d [ e ] [ 1 ] , index : d [ e ] . _idx , type : s , formatter : Bt . ext . type . order [ s + "-pre" ] } ) ; return u } function St ( t ) { var e , n , r , i , o = [ ] , a = Bt . ext . type . order , s = t . aoData , l = 0 , u = t . aiDisplayMaster ; for ( y ( t ) , i = _t ( t ) , e = 0 , n = i . length ; e < n ; e ++ ) r = i [ e ] , r . formatter && l ++ , kt ( t , r . col ) ; if ( "ssp" != $t ( t ) && 0 !== i . length ) { for ( e = 0 , n = u . length ; e < n ; e ++ ) o [ u [ e ] ] = e ; l === i . length ? u . sort ( function ( t , e ) { var n , r , a , l , u = i . length , c = s [ t ] . _aSortData , d = s [ e ] . _aSortData ; for ( a = 0 ; a < u ; a ++ ) if ( l = i [ a ] , n = c [ l . col ] , r = d [ l . col ] , n = n < r ? - 1 : n > r ? 1 : 0 , 0 !== n ) return "asc" === l . dir ? n : - n ; return n = o [ t ] , r = o [ e ] , n < r ? - 1 : n > r ? 1 : 0 } ) : u . sort ( function ( t , e ) { var n , r , l , u , c = i . length , d = s [ t ] . _aSortData , f = s [ e ] . _aSortData ; for ( l = 0 ; l < c ; l ++ ) if ( u = i [ l ] , n = d [ u . col ] , r = f [ u . col ] , u = a [ u . type + "-" + u . dir ] || a [ "string-" + u . dir ] , n = u ( n , r ) , 0 !== n ) return n ; return n = o [ t ] , r = o [ e ] , n < r ? - 1 : n > r ? 1 : 0 } ) } t . bSorted = ! 0 } function Ct ( t ) { for ( var e , n , r = t . aoColumns , i = _t ( t ) , t = t . oLanguage . oAria , o = 0 , a = r . length ; o < a ; o ++ ) { n = r [ o ] ; var s = n . asSorting ; e = n . sTitle . replace ( /<.*?>/g , "" ) ; var l = n . nTh ; l . removeAttribute ( "aria-sort" ) , n . bSortable && ( 0 < i . length && i [ 0 ] . col == o ? ( l . setAttribute ( "aria-sort" , "asc" == i [ 0 ] . dir ? "ascending" : "descending" ) , n = s [ i [ 0 ] . index + 1 ] || s [ 0 ] ) : n = s [ 0 ] , e += "asc" === n ? t . sSortAscending : t . sSortDescending ) , l . setAttribute ( "aria-label" , e ) } } function Dt ( e , n , i , o ) { var a = e . aaSorting , s = e . aoColumns [ n ] . asSorting , l = function ( e , n ) { var i = e . _idx ; return i === r && ( i = t . inArray ( e [ 1 ] , s ) ) , i + 1 < s . length ? i + 1 : n ? null : 0 } ; "number" == typeof a [ 0 ] && ( a = e . aaSorting = [ a ] ) , i && e . oFeatures . bSortMulti ? ( i = t . inArray ( n , se ( a , "0" ) ) , - 1 !== i ? ( n = l ( a [ i ] , ! 0 ) , null === n && 1 === a . length && ( n = 0 ) , null === n ? a . splice ( i , 1 ) : ( a [ i ] [ 1 ] = s [ n ] , a [ i ] . _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 Tt ( t , e , n , r ) { var i = t . aoColumns [ n ] ; It ( e , { } , function ( e ) { ! 1 !== i . bSortable && ( t . oFeatures . bProcessing ? ( ft ( t , ! 0 ) , setTimeout ( function ( ) { Dt ( t , n , e . shiftKey , r ) , "ssp" !== $t ( t ) && ft ( t , ! 1 ) } , 0 ) ) : Dt ( t , n , e . shiftKey , r ) ) } ) } function Mt ( e ) { var n , r , i = e . aLastSort , o = e . oClasses . sSortColumn , a = _t ( e ) , s = e . oFeatures ; if ( s . bSort && s . bSortClasses ) { for ( s = 0 , n = i . length ; s < n ; s ++ ) r = i [ s ] . src , t ( se ( e . aoData , "anCells" , r ) ) . removeClass ( o + ( 2 > s ? s + 1 : 3 ) ) ; for ( s = 0 , n = a . length ; s < n ; s ++ ) r = a [ s ] . src , t ( se ( e . aoData , "anCells" , r ) ) . addClass ( o + ( 2 > s ? s + 1 : 3 ) ) } e . aLastSort = a } function kt ( t , e ) { var n , r = t . aoColumns [ e ] , i = Bt . ext . order [ r . sSortDataType ] ; i && ( n = i . call ( t . oInstance , t , e , g ( t , e ) ) ) ; for ( var o , a = Bt . ext . type . order [ r . sType + "-pre" ] , s = 0 , l = t . aoData . length ; s < l ; s ++ ) r = t . aoData [ s ] , r . _aSortData || ( r . _aSortData = [ ] ) , ( ! r . _aSortData [ e ] || i ) && ( o = i ? n [ s ] : _ ( t , s , e , "sort" ) , r . _aSortData [ e ] = a ? a ( o ) : o ) } function Et ( 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 At ( e ) { var n , i , o = e . aoColumns ; if ( e . oFeatures . bStateSave ) { var a = e
column : e . _DT _CellIndex . column } } ) . toArray ( ) , i . length || ! e . nodeName ? i : ( d = t ( e ) . closest ( "*[data-dt-row]" ) , d . length ? [ { row : d . data ( "dt-row" ) , column : d . data ( "dt-column" ) } ] : [ ] ) ) } , n , h ) } ) ; var o , a , s , l , u , c = this . columns ( n , i ) , d = this . rows ( e , i ) , f = this . iterator ( "table" , function ( t , e ) { for ( o = [ ] , a = 0 , s = d [ e ] . length ; a < s ; a ++ ) for ( l = 0 , u = c [ e ] . length ; l < u ; l ++ ) o . push ( { row : d [ e ] [ a ] , column : c [ e ] [ l ] } ) ; return o } , 1 ) ; return t . extend ( f . selector , { cols : n , rows : e , opts : i } ) , f } ) , Vt ( "cells().nodes()" , "cell().node()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return ( t = t . aoData [ e ] ) && t . anCells ? t . anCells [ n ] : r } , 1 ) } ) , Gt ( "cells().data()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return _ ( t , e , n ) } , 1 ) } ) , Vt ( "cells().cache()" , "cell().cache()" , function ( t ) { return t = "search" === t ? "_aFilterData" : "_aSortData" , this . iterator ( "cell" , function ( e , n , r ) { return e . aoData [ n ] [ t ] [ r ] } , 1 ) } ) , Vt ( "cells().render()" , "cell().render()" , function ( t ) { return this . iterator ( "cell" , function ( e , n , r ) { return _ ( e , n , r , t ) } , 1 ) } ) , Vt ( "cells().indexes()" , "cell().index()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return { row : e , column : n , columnVisible : g ( t , n ) } } , 1 ) } ) , Vt ( "cells().invalidate()" , "cell().invalidate()" , function ( t ) { return this . iterator ( "cell" , function ( e , n , r ) { A ( e , n , t , r ) } ) } ) , 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 === r ? e . length && n . length ? _ ( e [ 0 ] , n [ 0 ] . row , n [ 0 ] . column ) : r : ( S ( e [ 0 ] , n [ 0 ] . row , n [ 0 ] . column , t ) , A ( e [ 0 ] , n [ 0 ] . row , "data" , n [ 0 ] . column ) , this ) } ) , Gt ( "order()" , function ( e , n ) { var i = this . context ; return e === r ? 0 !== i . length ? i [ 0 ] . aaSorting : r : ( "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 ( r ) { Tt ( r , t , e , n ) } ) } ) , Gt ( "order.fixed()" , function ( e ) { if ( ! e ) { var n = this . context , n = n . length ? n [ 0 ] . aaSortingFixed : r ; 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 ( r , i ) { var o = [ ] ; t . each ( n [ i ] , function ( t , n ) { o . push ( [ n , e ] ) } ) , r . aaSorting = o } ) } ) , Gt ( "search()" , function ( e , n , i , o ) { var a = this . context ; return e === r ? 0 !== a . length ? a [ 0 ] . oPreviousSearch . sSearch : r : this . iterator ( "table" , function ( r ) { r . oFeatures . bFilter && G ( r , t . extend ( { } , r . oPreviousSearch , { sSearch : e + "" , bRegex : null !== n && n , bSmart : null === i || i , bCaseInsensitive : null === o || o } ) , 1 ) } ) } ) , Vt ( "columns().search()" , "column().search()" , function ( e , n , i , o ) { return this . iterator ( "column" , function ( a , s ) { var l = a . aoPreSearchCols ; return e === r ? l [ s ] . sSearch : void ( a . oFeatures . bFilter && ( t . extend ( l [ s ] , { sSearch : e + "" , bRegex : null !== n && n , bSmart : null === i || i , 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 ) { Et ( t ) } ) } ) , Bt . versionCheck = Bt . fnVersionCheck = function ( t ) { for ( var e , n , r = Bt . version . split ( "." ) , t = t . split ( "." ) , i = 0 , o = t . length ; i < o ; i ++ ) if ( e = parseInt ( r [ i ] , 10 ) || 0 , n = parseInt ( t [ i ] , 10 ) || 0 , e !== n ) return e > n ; return ! 0 } , Bt . isDataTable = Bt . fnIsDataTable = function ( e ) { var n = t ( e ) . get ( 0 ) , r = ! 1 ; return t . each ( Bt . settings , function ( e , i ) { var o = i . nScrollHead ? t ( "table" , i . nScrollHead ) [ 0 ] : null , a = i . nScrollFoot ? t ( "table" , i . nScrollFoot ) [ 0 ] : null ; i . nTable !== n && o !== n && a !== n || ( r = ! 0 ) } ) , r } , Bt . tables = Bt . fnTables = function ( e ) { var n = ! 1 ; t . isPlainObject ( e ) && ( n = e . api , e = e . visible ) ; var r = t . map ( Bt . settings , function ( n ) { if ( ! e || e && t ( n . nTable ) . is ( ":visible" ) ) return n . nTable } ) ; return n ? new Yt ( r ) : r } , Bt . util = { throttle : vt , escapeRegex : K } , Bt . camelToHungarian = o , Gt ( "$()" , function ( e , n ) { var r = this . rows ( n ) . nodes ( ) , r = t ( r ) ; return t ( [ ] . concat ( r . filter ( e ) . toArray ( ) , r . find ( e ) . toArray ( ) ) ) } ) , t . each ( [ "on" , "one" , "off" ] , function ( e , n ) { Gt ( n + "()" , function ( ) { var e = Array . prototype . slice . call (
n . _time = i , r = Math . floor ( e . loaded / e . total * ( n . chunkSize || n . _progress . total ) ) + ( n . uploadedBytes || 0 ) , this . _progress . loaded += r - n . _progress . loaded , this . _progress . bitrate = this . _bitrateTimer . getBitrate ( i , this . _progress . loaded , n . bitrateInterval ) , n . _progress . loaded = n . loaded = r , n . _progress . bitrate = n . bitrate = n . _bitrateTimer . getBitrate ( i , r , 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 , r = e . xhr ? e . xhr ( ) : t . ajaxSettings . xhr ( ) ; r . upload && ( t ( r . upload ) . bind ( "progress" , function ( t ) { var r = t . originalEvent ; t . lengthComputable = r . lengthComputable , t . loaded = r . loaded , t . total = r . total , n . _onProgress ( t , e ) } ) , e . xhr = function ( ) { return r } ) } , _isInstanceOf : function ( t , e ) { return Object . prototype . toString . call ( e ) === "[object " + t + "]" } , _initXHRData : function ( e ) { var n , r = this , i = 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" , i ) || ( e . headers [ "Content-Disposition" ] = 'attachment; filename="' + encodeURI ( i . 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 ( r , i ) { n . push ( { name : "array" === t . type ( e . paramName ) && e . paramName [ r ] || a , value : i } ) } ) ) : ( r . _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 , i . name ) : t . each ( e . files , function ( i , o ) { ( r . _isInstanceOf ( "File" , o ) || r . _isInstanceOf ( "Blob" , o ) ) && n . append ( "array" === t . type ( e . paramName ) && e . paramName [ i ] || a , o , o . uploadName || o . name ) } ) ) , e . data = n ) : ( e . contentType = i . type || "application/octet-stream" , e . data = e . blob || i ) , 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 ) , r = e . paramName ; return r ? t . isArray ( r ) || ( r = [ r ] ) : ( r = [ ] , n . each ( function ( ) { for ( var e = t ( this ) , n = e . prop ( "name" ) || "files[]" , i = ( e . prop ( "files" ) || [ 1 ] ) . length ; i ; ) r . push ( n ) , i -= 1 } ) , r . length || ( r = [ n . prop ( "name" ) || "files[]" ] ) ) , r } , _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 , r ) { var i = t . Deferred ( ) , o = i . promise ( ) ; return n = n || this . options . context || o , e === ! 0 ? i . resolveWith ( n , r ) : e === ! 1 && i . rejectWith ( n , r ) , o . abort = i . promise , this . _enhancePromise ( o ) } , _addConvenienceMethods : function ( e , n ) { var r = this , i = function ( e ) { return t . Deferred ( ) . resolveWith ( r , e ) . promise ( ) } ; n . process = function ( e , o ) { return ( e || o ) && ( n . _processQueue = this . _processQueue = ( this . _processQueue || i ( [ this ] ) ) . pipe ( function ( ) { return n . errorThrown ? t . Deferred ( ) . rejectWith ( r , [ n ] ) . promise ( ) : i ( arguments ) } ) . pipe ( e , o ) ) , this . _processQueue || i ( [ this ] ) } , n . submit = function ( ) { return "pending" !== this . state ( ) && ( n . jqXHR = this . jqXHR = r . _trigger ( "submit" , t . Event ( " subm
var e = h ( ) ; x ( e , "show-swal2" ) , b ( e , "hide-swal2" ) , x ( e , "visible" ) ; var n = e . querySelector ( "." + i . icon + "." + o . success ) ; x ( n , "animate" ) , x ( n . querySelector ( ".tip" ) , "animate-success-tip" ) , x ( n . querySelector ( ".long" ) , "animate-success-long" ) ; var r = e . querySelector ( "." + i . icon + "." + o . error ) ; x ( r , "animate-error-icon" ) , x ( r . querySelector ( ".x-mark" ) , "animate-x-mark" ) ; var a = e . querySelector ( "." + i . icon + "." + o . warning ) ; x ( a , "pulse-warning" ) , L ( ) , N && ! v ( e , "no-animation" ) ? e . addEventListener ( N , function t ( ) { e . removeEventListener ( N , t ) , v ( e , "hide-swal2" ) && ( C ( e ) , E ( 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 ( i . container ) . length ) { var t = document . createElement ( "div" ) ; t . className = i . container , t . innerHTML = s , document . body . appendChild ( t ) ; var n = h ( ) , r = w ( n , i . input ) , o = w ( n , i . select ) , a = n . querySelector ( "#" + i . checkbox ) , l = w ( n , i . textarea ) ; r . oninput = function ( ) { e . resetValidationError ( ) } , r . 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 ( O , t ) } , e . resetDefaults = function ( ) { O = 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 , r ) { var i , o , a , s , l , u , c , d = { } , f = ! 0 , h = ! 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 , i , o , a , s , l = ! 1 ; return void 0 !== e . tz && void 0 !== r . timeZone && null !== r . timeZone && "" !== r . timeZone && ( l = ! 0 ) , void 0 === t || null === t ? n = l ? e ( ) . tz ( r . timeZone ) . startOf ( "d" ) : e ( ) . startOf ( "d" ) : l ? ( i = e ( ) . tz ( r . timeZone ) . utcOffset ( ) , o = e ( t , u , r . useStrict ) . utcOffset ( ) , o !== i ? ( a = e ( ) . tz ( r . timeZone ) . format ( "Z" ) , s = e ( t , u , r . useStrict ) . format ( "YYYY-MM-DD[T]HH:mm:ss" ) + a , n = e ( s , u , r . useStrict ) . tz ( r . timeZone ) ) : n = e ( t , u , r . useStrict ) . tz ( r . timeZone ) ) : n = e ( t , u , r . 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 } } , D = function ( ) { return C ( "h" ) || C ( "m" ) || C ( "s" ) } , T = function ( ) { return C ( "y" ) || C ( "M" ) || C ( "d" ) } , M = function ( ) { var e = t ( "<thead>" ) . append ( t ( "<tr>" ) . append ( t ( "<th>" ) . addClass ( "prev" ) . att
return r . showClear = t , p && ( tt ( ) , it ( ) ) , d } , d . widgetParent = function ( e ) { if ( 0 === arguments . length ) return r . 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 r . widgetParent = e , p && ( tt ( ) , it ( ) ) , d } , d . keepOpen = function ( t ) { if ( 0 === arguments . length ) return r . keepOpen ; if ( "boolean" != typeof t ) throw new TypeError ( "keepOpen() expects a boolean parameter" ) ; return r . keepOpen = t , d } , d . focusOnShow = function ( t ) { if ( 0 === arguments . length ) return r . focusOnShow ; if ( "boolean" != typeof t ) throw new TypeError ( "focusOnShow() expects a boolean parameter" ) ; return r . focusOnShow = t , d } , d . inline = function ( t ) { if ( 0 === arguments . length ) return r . inline ; if ( "boolean" != typeof t ) throw new TypeError ( "inline() expects a boolean parameter" ) ; return r . inline = t , d } , d . clear = function ( ) { return et ( ) , d } , d . keyBinds = function ( t ) { return r . keyBinds = t , d } , d . getMoment = function ( t ) { return S ( t ) } , d . debug = function ( t ) { if ( "boolean" != typeof t ) throw new TypeError ( "debug() expects a boolean parameter" ) ; return r . debug = t , d } , d . allowInputToggle = function ( t ) { if ( 0 === arguments . length ) return r . allowInputToggle ; if ( "boolean" != typeof t ) throw new TypeError ( "allowInputToggle() expects a boolean parameter" ) ; return r . allowInputToggle = t , d } , d . showClose = function ( t ) { if ( 0 === arguments . length ) return r . showClose ; if ( "boolean" != typeof t ) throw new TypeError ( "showClose() expects a boolean parameter" ) ; return r . showClose = t , d } , d . keepInvalid = function ( t ) { if ( 0 === arguments . length ) return r . keepInvalid ; if ( "boolean" != typeof t ) throw new TypeError ( "keepInvalid() expects a boolean parameter" ) ; return r . keepInvalid = t , d } , d . datepickerInput = function ( t ) { if ( 0 === arguments . length ) return r . datepickerInput ; if ( "string" != typeof t ) throw new TypeError ( "datepickerInput() expects a string parameter" ) ; return r . datepickerInput = t , d } , d . parseInputDate = function ( t ) { if ( 0 === arguments . length ) return r . parseInputDate ; if ( "function" != typeof t ) throw new TypeError ( "parseInputDate() sholud be as function" ) ; return r . parseInputDate = t , d } , d . disabledTimeIntervals = function ( e ) { if ( 0 === arguments . length ) return r . disabledTimeIntervals ? t . extend ( { } , r . disabledTimeIntervals ) : r . disabledTimeIntervals ; if ( ! e ) return r . disabledTimeIntervals = ! 1 , K ( ) , d ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "disabledTimeIntervals() expects an array parameter" ) ; return r . disabledTimeIntervals = e , K ( ) , d } , d . disabledHours = function ( e ) { if ( 0 === arguments . length ) return r . disabledHours ? t . extend ( { } , r . disabledHours ) : r . disabledHours ; if ( ! e ) return r . disabledHours = ! 1 , K ( ) , d ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "disabledHours() expects an array parameter" ) ; if ( r . disabledHours = ht ( e ) , r . enabledHours = ! 1 , r . useCurrent && ! r . keepInvalid ) { for ( var n = 0 ; ! U ( i , "h" ) ; ) { if ( i . add ( 1 , "h" ) , 24 === n ) throw "Tried 24 times to find a valid date" ; n ++ } Q ( i ) } return K ( ) , d } , d . enabledHours = function ( e ) { if ( 0 === arguments . length ) return r . enabledHours ? t . extend ( { } , r . enabledHours ) : r . enabledHours ; if ( ! e ) return r . enabledHours = ! 1 , K ( ) , d ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "enabledHours() expects an array parameter" ) ; if ( r . enabledHours = ht ( e ) , r . disabledHours = ! 1 , r . useCurrent && ! r . keepInvalid ) { for ( var n = 0 ; ! U ( i , "h" ) ; ) { if ( i . add ( 1 , "h" ) , 24 === n ) throw "Tried 24 times to find a valid date" ; n ++ } Q ( i ) } return K ( ) , d } , d . viewDate = function ( t ) { if ( 0 === arguments . length ) return o . clone ( ) ; if ( ! t ) return o = i . clone ( ) , d ; 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 ( ) , d } , n . is ( "input" ) ) a = n ; else if ( a = n . find ( r . datepickerInput ) , 0 === a . size ( ) ) a = n . find ( "input" ) ; else if ( ! a . is ( "input" ) ) throw new Error ( 'CSS class "' + r . datepickerInput + '" cannot be applied to non input element' ) ; if ( n . hasClass ( "input-group" ) && ( h = 0 === n . find ( ".datepickerbutton" ) . size ( ) ? n . find ( ".input-group-addon" ) : n . find ( ".datepickerbutton" ) ) , ! r . inline && ! a . is ( "input" ) ) throw new Error ( "Could not initialize DateTimePicker without an input element" ) ; return i = S ( ) , o = i . clone ( ) , t . extend ( ! 0 , r , N ( ) ) , d . options ( r ) , pt ( ) , ct ( ) , a . prop ( "disabled" ) && d . disable ( ) , a . is ( "input" ) && 0 !== a . val ( ) . trim ( ) . length ? Q ( at ( a . val ( ) . trim ( ) ) ) : r .
"Ȁ" : "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"
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 ( i , n . Observable ) , i . 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 } , i . prototype . _placeContainer = function ( t ) { t . insertAfter ( this . $element ) ; var e = this . _resolveWidth ( this . $element , this . options . get ( "width" ) ) ; null != e && t . css ( "width" , e ) } , i . 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 r = this . _resolveWidth ( t , "style" ) ; return null != r ? r : this . _resolveWidth ( t , "element" ) } if ( "element" == e ) { var i = t . outerWidth ( ! 1 ) ; return 0 >= i ? "auto" : i + "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 } , i . 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 ) } , i . 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 r = window . MutationObserver || window . WebKitMutationObserver || window . MozMutationObserver ; null != r ? ( this . _observer = new r ( 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 ) ) } , i . prototype . _registerDataEvents = function ( ) { var t = this ; this . dataAdapter . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , i . 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 ( r , i ) { - 1 === t . inArray ( r , n ) && e . trigger ( r , i ) } ) } , i . prototype . _registerDropdownEvents = function ( ) { var t = this ; this . dropdown . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , i . prototype . _registerResultsEvents = function ( ) { var t = this ; this . results . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , i . 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 === r . ESC || n === r . TAB || n === r . UP && e . altKey ? ( t . close ( ) , e . preventDefault ( ) ) : n === r . ENTER ? ( t . trigger ( "results:select" , { } ) , e . preventDefault ( ) ) : n === r . SPACE && e . ctrlKey ? ( t . trigger ( "results:toggle" , { } ) , e . preventDefault ( ) ) : n === r . UP ? ( t . trigger ( "results:previous" , { } ) , e . preventDefault ( ) ) : n === r . DOWN && ( t . trigger ( "results:next" , { } ) , e