2014-07-09 01:38:38 +00:00
( function ( ) { var a = function ( a ) { "use strict" ; a = a ? a : { } ; var b = { bgColor : "#d00" , textColor : "#fff" , fontFamily : "sans-serif" , fontStyle : "bold" , type : "circle" , position : "down" , animation : "slide" , elementId : false } ; var c , d , e , f , g , h , i , j , k , l , m , n , o ; o = { } ; o . ff = /firefox/i . test ( navigator . userAgent . toLowerCase ( ) ) ; o . chrome = /chrome/i . test ( navigator . userAgent . toLowerCase ( ) ) ; o . opera = /opera/i . test ( navigator . userAgent . toLowerCase ( ) ) ; o . ie = /msie/i . test ( navigator . userAgent . toLowerCase ( ) ) || /trident/i . test ( navigator . userAgent . toLowerCase ( ) ) ; o . supported = o . chrome || o . ff || o . opera ; var p = [ ] ; m = function ( ) { } ; j = n = false ; var q = function ( ) { c = B ( b , a ) ; c . bgColor = A ( c . bgColor ) ; c . textColor = A ( c . textColor ) ; c . position = c . position . toLowerCase ( ) ; c . animation = D . types [ "" + c . animation ] ? c . animation : b . animation ; var j = c . position . indexOf ( "up" ) > - 1 ; var k = c . position . indexOf ( "left" ) > - 1 ; if ( j || k ) { for ( var l = 0 ; l < D . types [ "" + c . animation ] . length ; l ++ ) { var m = D . types [ "" + c . animation ] [ l ] ; if ( j ) { if ( m . y < . 6 ) { m . y = m . y - . 4 } else { m . y = m . y - 2 * m . y + ( 1 - m . w ) } } if ( k ) { if ( m . x < . 6 ) { m . x = m . x - . 4 } else { m . x = m . x - 2 * m . x + ( 1 - m . h ) } } D . types [ "" + c . animation ] [ l ] = m } } c . type = s [ "" + c . type ] ? c . type : b . type ; try { d = z . getIcon ( ) ; g = document . createElement ( "canvas" ) ; i = document . createElement ( "img" ) ; if ( d . hasAttribute ( "href" ) ) { i . setAttribute ( "src" , d . getAttribute ( "href" ) ) ; i . onload = function ( ) { e = i . height > 0 ? i . height : 32 ; f = i . width > 0 ? i . width : 32 ; g . height = e ; g . width = f ; h = g . getContext ( "2d" ) ; r . ready ( ) } } else { i . setAttribute ( "src" , "" ) ; e = 32 ; f = 32 ; i . height = e ; i . width = f ; g . height = e ; g . width = f ; h = g . getContext ( "2d" ) ; r . ready ( ) } } catch ( n ) { throw "Error initializing favico. Message: " + n . message } } ; var r = { } ; r . ready = function ( ) { j = true ; r . reset ( ) ; m ( ) } ; r . reset = function ( ) { p = [ ] ; k = false ; h . clearRect ( 0 , 0 , f , e ) ; h . drawImage ( i , 0 , 0 , f , e ) ; z . setIcon ( g ) } ; r . start = function ( ) { if ( ! j || l ) { return } var a = function ( ) { k = p [ 0 ] ; l = false ; if ( p . length > 0 ) { p . shift ( ) ; r . start ( ) } else { } } ; if ( p . length > 0 ) { l = true ; if ( k ) { D . run ( k . options , function ( ) { D . run ( p [ 0 ] . options , function ( ) { a ( ) } , false ) } , true ) } else { D . run ( p [ 0 ] . options , function ( ) { a ( ) } , false ) } } } ; var s = { } ; var t = function ( a ) { a . n = typeof a . n === "number" ? Math . abs ( a . n | 0 ) : a . n ; a . x = f * a . x ; a . y = e * a . y ; a . w = f * a . w ; a . h = e * a . h ; a . len = ( "" + a . n ) . length ; return a } ; s . circle = function ( a ) { a = t ( a ) ; var b = false ; if ( a . len === 2 ) { a . x = a . x - a . w * . 4 ; a . w = a . w * 1.4 ; b = true } else if ( a . len >= 3 ) { a . x = a . x - a . w * . 65 ; a . w = a . w * 1.65 ; b = true } h . clearRect ( 0 , 0 , f , e ) ; h . drawImage ( i , 0 , 0 , f , e ) ; h . beginPath ( ) ; h . font = c . fontStyle + " " + Math . floor ( a . h * ( a . n > 99 ? . 85 : 1 ) ) + "px " + c . fontFamily ; h . textAlign = "center" ; if ( b ) { h . moveTo ( a . x + a . w / 2 , a . y ) ; h . lineTo ( a . x + a . w - a . h / 2 , a . y ) ; h . quadraticCurveTo ( a . x + a . w , a . y , a . x + a . w , a . y + a . h / 2 ) ; h . lineTo ( a . x + a . w , a . y + a . h - a . h / 2 ) ; h . quadraticCurveTo ( a . x + a . w , a . y + a . h , a . x + a . w - a . h / 2 , a . y + a . h ) ; h . lineTo ( a . x + a . h / 2 , a . y + a . h ) ; h . quadraticCurveTo ( a . x , a . y + a . h , a . x , a . y + a . h - a . h / 2 ) ; h . lineTo ( a . x , a . y + a . h / 2 ) ; h . quadraticCurveTo ( a . x , a . y , a . x + a . h / 2 , a . y ) } else { h . arc ( a . x + a . w / 2 , a . y + a . h / 2 , a . h / 2 , 0 , 2 * Math . PI ) } h . fillStyle = "rgba(" + c . bgColor . r + "," + c . bgColor . g + "," + c . bgColor . b + "," + a . o + ")" ; h . fill ( ) ; h . closePath ( ) ; h . beginPath ( ) ; h . stroke ( ) ; h . fillStyle = "rgba(" + c . textColor . r + "," + c . textColor . g + "," + c . textColor . b + "," + a . o + ")" ; if ( typeof a . n === "number" && a . n > 999 ) { h . fillText ( ( a . n > 9999 ? 9 : Math . floor ( a . n / 1e3 ) ) + "k+" , Math . floor ( a . x + a . w / 2 ) , Math . floor ( a . y + a . h - a . h * . 2 ) ) } else { h . fillText ( a . n , Math . floor ( a . x + a . w / 2 ) , Math . floor ( a . y + a . h - a . h * . 15 ) ) } h . closePath ( ) } ; s . rectangle = function ( a ) { a = t ( a ) ; var b = false ; if ( a . len === 2 ) { a . x = a . x - a . w * . 4 ; a . w = a . w * 1.4 ; b = true } else if ( a . len >= 3 ) { a . x = a . x - a . w * . 65 ; a . w = a . w * 1.65 ; b = true } h . clearRect ( 0 , 0 , f , e ) ; h . drawImage ( i , 0 , 0 , f , e ) ; h . beginPath ( ) ; h . font = "bold " + Math . floor ( a . h * ( a . n > 99 ? . 9 : 1 ) ) + "px sans-serif" ; h . textAlign = "center" ; h . fillStyle = "rgba(" + c . bgColor . r + "," + c . bgColor . g + "," + c . bgColor . b + "," + a . o + ")" ; h . fillRect ( a . x , a . y , a . w , a . h ) ; h . fillStyle = "rgba(" + c . textColor . r + "," + c . textColor . g + "," + c . textColor . b + "," + a . o + ")" ; if ( typeof a . n === "number" && a . len > 3 ) { h . fillText ( ( a . n > 9999 ? 9 : Math . floor ( a . n / 1e3 ) ) + "k+" , Math . floor ( a . x + a . w / 2 ) , Math . floor ( a . y + a . h - a . h * . 2 ) ) } else { h . fillText ( a . n , Math . floor ( a . x + a . w / 2 ) , Math . floor ( a . y + a . h - a . h * . 15 ) ) } h . closePath ( ) } ; var u = function ( a , b ) { m = function ( ) { try { if ( typeof a === "number" ? a > 0 : a !== "" ) { if ( D . types [ "" + b ] ) { c . animation = b } p . push ( { type : "badge" , options : { n : a } } ) ; if ( p . length > 100 ) { throw " Too many badges requests in queu
2014-08-16 19:49:28 +00:00
this . conditionStack = [ "INITIAL" ] ; this . yylloc = { first _line : 1 , first _column : 0 , last _line : 1 , last _column : 0 } ; if ( this . options . ranges ) this . yylloc . range = [ 0 , 0 ] ; this . offset = 0 ; return this } , input : function ( ) { var a = this . _input [ 0 ] ; this . yytext += a ; this . yyleng ++ ; this . offset ++ ; this . match += a ; this . matched += a ; var b = a . match ( /(?:\r\n?|\n).*/g ) ; if ( b ) { this . yylineno ++ ; this . yylloc . last _line ++ } else { this . yylloc . last _column ++ } if ( this . options . ranges ) this . yylloc . range [ 1 ] ++ ; this . _input = this . _input . slice ( 1 ) ; return a } , unput : function ( a ) { var b = a . length ; var c = a . split ( /(?:\r\n?|\n)/g ) ; this . _input = a + this . _input ; this . yytext = this . yytext . substr ( 0 , this . yytext . length - b - 1 ) ; this . offset -= b ; var d = this . match . split ( /(?:\r\n?|\n)/g ) ; this . match = this . match . substr ( 0 , this . match . length - 1 ) ; this . matched = this . matched . substr ( 0 , this . matched . length - 1 ) ; if ( c . length - 1 ) this . yylineno -= c . length - 1 ; var e = this . yylloc . range ; this . yylloc = { first _line : this . yylloc . first _line , last _line : this . yylineno + 1 , first _column : this . yylloc . first _column , last _column : c ? ( c . length === d . length ? this . yylloc . first _column : 0 ) + d [ d . length - c . length ] . length - c [ 0 ] . length : this . yylloc . first _column - b } ; if ( this . options . ranges ) { this . yylloc . range = [ e [ 0 ] , e [ 0 ] + this . yyleng - b ] } return this } , more : function ( ) { this . _more = true ; return this } , less : function ( a ) { this . unput ( this . match . slice ( a ) ) } , pastInput : function ( ) { var a = this . matched . substr ( 0 , this . matched . length - this . match . length ) ; return ( a . length > 20 ? "..." : "" ) + a . substr ( - 20 ) . replace ( /\n/g , "" ) } , upcomingInput : function ( ) { var a = this . match ; if ( a . length < 20 ) { a += this . _input . substr ( 0 , 20 - a . length ) } return ( a . substr ( 0 , 20 ) + ( a . length > 20 ? "..." : "" ) ) . replace ( /\n/g , "" ) } , showPosition : function ( ) { var a = this . pastInput ( ) ; var b = new Array ( a . length + 1 ) . join ( "-" ) ; return a + this . upcomingInput ( ) + "\n" + b + "^" } , next : function ( ) { if ( this . done ) { return this . EOF } if ( ! this . _input ) this . done = true ; var a , b , c , d , e , f ; if ( ! this . _more ) { this . yytext = "" ; this . match = "" } var g = this . _currentRules ( ) ; for ( var h = 0 ; h < g . length ; h ++ ) { c = this . _input . match ( this . rules [ g [ h ] ] ) ; if ( c && ( ! b || c [ 0 ] . length > b [ 0 ] . length ) ) { b = c ; d = h ; if ( ! this . options . flex ) break } } if ( b ) { f = b [ 0 ] . match ( /(?:\r\n?|\n).*/g ) ; if ( f ) this . yylineno += f . length ; this . yylloc = { first _line : this . yylloc . last _line , last _line : this . yylineno + 1 , first _column : this . yylloc . last _column , last _column : f ? f [ f . length - 1 ] . length - f [ f . length - 1 ] . match ( /\r?\n?/ ) [ 0 ] . length : this . yylloc . last _column + b [ 0 ] . length } ; this . yytext += b [ 0 ] ; this . match += b [ 0 ] ; this . matches = b ; this . yyleng = this . yytext . length ; if ( this . options . ranges ) { this . yylloc . range = [ this . offset , this . offset += this . yyleng ] } this . _more = false ; this . _input = this . _input . slice ( b [ 0 ] . length ) ; this . matched += b [ 0 ] ; a = this . performAction . call ( this , this . yy , this , g [ d ] , this . conditionStack [ this . conditionStack . length - 1 ] ) ; if ( this . done && this . _input ) this . done = false ; if ( a ) return a ; else return } if ( this . _input === "" ) { return this . EOF } else { return this . parseError ( "Lexical error on line " + ( this . yylineno + 1 ) + ". Unrecognized text.\n" + this . showPosition ( ) , { text : "" , token : null , line : this . yylineno } ) } } , lex : function c ( ) { var a = this . next ( ) ; if ( typeof a !== "undefined" ) { return a } else { return this . lex ( ) } } , begin : function d ( a ) { this . conditionStack . push ( a ) } , popState : function e ( ) { return this . conditionStack . pop ( ) } , _currentRules : function f ( ) { return this . conditions [ this . conditionStack [ this . conditionStack . length - 1 ] ] . rules } , topState : function ( ) { return this . conditionStack [ this . conditionStack . length - 2 ] } , pushState : function g ( a ) { this . begin ( a ) } } ; a . options = { } ; a . performAction = function h ( a , b , c , d ) { function e ( a , c ) { return b . yytext = b . yytext . substr ( a , b . yyleng - c ) } var f = d ; switch ( c ) { case 0 : if ( b . yytext . slice ( - 2 ) === "\\\\" ) { e ( 0 , 1 ) ; this . begin ( "mu" ) } else if ( b . yytext . slice ( - 1 ) === "\\" ) { e ( 0 , 1 ) ; this . begin ( "emu" ) } else { this . begin ( "mu" ) } if ( b . yytext ) return 10 ; break ; case 1 : return 10 ; break ; case 2 : this . popState ( ) ; return 10 ; break ; case 3 : b . yytext = b . yytext . substr ( 5 , b . yyleng - 9 ) ; this . popState ( ) ; return 11 ; break ; case 4 : return 10 ; break ; case 5 : e ( 0 , 4 ) ; this . popState ( ) ; return 17 ; break ; case 6 : return 40 ; break ; case 7 : return 41 ; break ; case 8 : return 18 ; break ; case 9 : this . popState ( ) ; this . begin ( "raw" ) ; return 20 ; break ; case 10 : b . yytext = b . yytext . substr ( 4 , b . yyleng - 8 ) ; this . popState ( ) ; return "RAW_BLOCK" ; break ; case 11 : return 29 ; break ; case 12
return d !== d || c ? b : d < 0 ? String . fromCharCode ( d + 65536 ) : String . fromCharCode ( d >> 10 | 55296 , d & 1023 | 56320 ) } ; try { I . apply ( F = J . call ( v . childNodes ) , v . childNodes ) ; F [ v . childNodes . length ] . nodeType } catch ( eb ) { I = { apply : F . length ? function ( a , b ) { H . apply ( a , J . call ( b ) ) } : function ( a , b ) { var c = a . length , d = 0 ; while ( a [ c ++ ] = b [ d ++ ] ) { } a . length = c - 1 } } } function fb ( a , b , d , e ) { var f , h , j , k , l , o , r , s , w , x ; if ( ( b ? b . ownerDocument || b : v ) !== n ) { m ( b ) } b = b || n ; d = d || [ ] ; if ( ! a || typeof a !== "string" ) { return d } if ( ( k = b . nodeType ) !== 1 && k !== 9 ) { return [ ] } if ( p && ! e ) { if ( f = _ . exec ( a ) ) { if ( j = f [ 1 ] ) { if ( k === 9 ) { h = b . getElementById ( j ) ; if ( h && h . parentNode ) { if ( h . id === j ) { d . push ( h ) ; return d } } else { return d } } else { if ( b . ownerDocument && ( h = b . ownerDocument . getElementById ( j ) ) && t ( b , h ) && h . id === j ) { d . push ( h ) ; return d } } } else if ( f [ 2 ] ) { I . apply ( d , b . getElementsByTagName ( a ) ) ; return d } else if ( ( j = f [ 3 ] ) && c . getElementsByClassName && b . getElementsByClassName ) { I . apply ( d , b . getElementsByClassName ( j ) ) ; return d } } if ( c . qsa && ( ! q || ! q . test ( a ) ) ) { s = r = u ; w = b ; x = k === 9 && a ; if ( k === 1 && b . nodeName . toLowerCase ( ) !== "object" ) { o = g ( a ) ; if ( r = b . getAttribute ( "id" ) ) { s = r . replace ( bb , "\\$&" ) } else { b . setAttribute ( "id" , s ) } s = "[id='" + s + "'] " ; l = o . length ; while ( l -- ) { o [ l ] = s + qb ( o [ l ] ) } w = ab . test ( a ) && ob ( b . parentNode ) || b ; x = o . join ( "," ) } if ( x ) { try { I . apply ( d , w . querySelectorAll ( x ) ) ; return d } catch ( y ) { } finally { if ( ! r ) { b . removeAttribute ( "id" ) } } } } } return i ( a . replace ( R , "$1" ) , b , d , e ) } function gb ( ) { var a = [ ] ; function b ( c , e ) { if ( a . push ( c + " " ) > d . cacheLength ) { delete b [ a . shift ( ) ] } return b [ c + " " ] = e } return b } function hb ( a ) { a [ u ] = true ; return a } function ib ( a ) { var b = n . createElement ( "div" ) ; try { return ! ! a ( b ) } catch ( c ) { return false } finally { if ( b . parentNode ) { b . parentNode . removeChild ( b ) } b = null } } function jb ( a , b ) { var c = a . split ( "|" ) , e = a . length ; while ( e -- ) { d . attrHandle [ c [ e ] ] = b } } function kb ( a , b ) { var c = b && a , d = c && a . nodeType === 1 && b . nodeType === 1 && ( ~ b . sourceIndex || D ) - ( ~ a . sourceIndex || D ) ; if ( d ) { return d } if ( c ) { while ( c = c . nextSibling ) { if ( c === b ) { return - 1 } } } return a ? 1 : - 1 } function lb ( a ) { return function ( b ) { var c = b . nodeName . toLowerCase ( ) ; return c === "input" && b . type === a } } function mb ( a ) { return function ( b ) { var c = b . nodeName . toLowerCase ( ) ; return ( c === "input" || c === "button" ) && b . type === a } } function nb ( a ) { return hb ( function ( b ) { b = + b ; return hb ( function ( c , d ) { var e , f = a ( [ ] , c . length , b ) , g = f . length ; while ( g -- ) { if ( c [ e = f [ g ] ] ) { c [ e ] = ! ( d [ e ] = c [ e ] ) } } } ) } ) } function ob ( a ) { return a && typeof a . getElementsByTagName !== C && a } c = fb . support = { } ; f = fb . isXML = function ( a ) { var b = a && ( a . ownerDocument || a ) . documentElement ; return b ? b . nodeName !== "HTML" : false } ; m = fb . setDocument = function ( a ) { var b , e = a ? a . ownerDocument || a : v , g = e . defaultView ; if ( e === n || e . nodeType !== 9 || ! e . documentElement ) { return n } n = e ; o = e . documentElement ; p = ! f ( e ) ; if ( g && g !== g . top ) { if ( g . addEventListener ) { g . addEventListener ( "unload" , function ( ) { m ( ) } , false ) } else if ( g . attachEvent ) { g . attachEvent ( "onunload" , function ( ) { m ( ) } ) } } c . attributes = ib ( function ( a ) { a . className = "i" ; return ! a . getAttribute ( "className" ) } ) ; c . getElementsByTagName = ib ( function ( a ) { a . appendChild ( e . createComment ( "" ) ) ; return ! a . getElementsByTagName ( "*" ) . length } ) ; c . getElementsByClassName = $ . test ( e . getElementsByClassName ) && ib ( function ( a ) { a . innerHTML = "<div class='a'></div><div class='a i'></div>" ; a . firstChild . className = "i" ; return a . getElementsByClassName ( "i" ) . length === 2 } ) ; c . getById = ib ( function ( a ) { o . appendChild ( a ) . id = u ; return ! e . getElementsByName || ! e . getElementsByName ( u ) . length } ) ; if ( c . getById ) { d . find [ "ID" ] = function ( a , b ) { if ( typeof b . getElementById !== C && p ) { var c = b . getElementById ( a ) ; return c && c . parentNode ? [ c ] : [ ] } } ; d . filter [ "ID" ] = function ( a ) { var b = a . replace ( cb , db ) ; return function ( a ) { return a . getAttribute ( "id" ) === b } } } else { delete d . find [ "ID" ] ; d . filter [ "ID" ] = function ( a ) { var b = a . replace ( cb , db ) ; return function ( a ) { var c = typeof a . getAttributeNode !== C && a . getAttributeNode ( "id" ) ; return c && c . value === b } } } d . find [ "TAG" ] = c . getElementsByTagName ? function ( a , b ) { if ( typeof b . getElementsByTagName !== C ) { return b . getElementsByTagName ( a ) } } : function ( a , b ) { var c , d = [ ] , e = 0 , f = b . getElementsByTagName ( a ) ; if ( a === "*" ) { while ( c = f [ e ++ ] ) { if ( c . nodeType === 1 ) { d . push ( c ) } } return d } return f } ; d . find [ "CLASS" ] = c . getElementsByClassName && function ( a , b ) { if ( typeof b . getElementsByClassName !== C && p ) { return b . getElementsByClassName ( a ) } } ; r = [ ] ; q = [ ] ; if ( c .
} delete i [ o ] } } if ( n . isEmptyObject ( i ) ) { delete r . handle ; L . remove ( a , "events" ) } } , trigger : function ( b , c , d , e ) { var f , g , h , i , k , m , o , p = [ d || l ] , q = j . call ( b , "type" ) ? b . type : b , r = j . call ( b , "namespace" ) ? b . namespace . split ( "." ) : [ ] ; g = h = d = d || l ; if ( d . nodeType === 3 || d . nodeType === 8 ) { return } if ( X . test ( q + n . event . triggered ) ) { return } if ( q . indexOf ( "." ) >= 0 ) { r = q . split ( "." ) ; q = r . shift ( ) ; r . sort ( ) } k = q . indexOf ( ":" ) < 0 && "on" + q ; b = b [ n . expando ] ? b : new n . Event ( q , typeof b === "object" && b ) ; b . isTrigger = e ? 2 : 3 ; b . namespace = r . join ( "." ) ; b . namespace _re = b . namespace ? new RegExp ( "(^|\\.)" + r . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null ; b . result = undefined ; if ( ! b . target ) { b . target = d } c = c == null ? [ b ] : n . makeArray ( c , [ b ] ) ; o = n . event . special [ q ] || { } ; if ( ! e && o . trigger && o . trigger . apply ( d , c ) === false ) { return } if ( ! e && ! o . noBubble && ! n . isWindow ( d ) ) { i = o . delegateType || q ; if ( ! X . test ( i + q ) ) { g = g . parentNode } for ( ; g ; g = g . parentNode ) { p . push ( g ) ; h = g } if ( h === ( d . ownerDocument || l ) ) { p . push ( h . defaultView || h . parentWindow || a ) } } f = 0 ; while ( ( g = p [ f ++ ] ) && ! b . isPropagationStopped ( ) ) { b . type = f > 1 ? i : o . bindType || q ; m = ( L . get ( g , "events" ) || { } ) [ b . type ] && L . get ( g , "handle" ) ; if ( m ) { m . apply ( g , c ) } m = k && g [ k ] ; if ( m && m . apply && n . acceptData ( g ) ) { b . result = m . apply ( g , c ) ; if ( b . result === false ) { b . preventDefault ( ) } } } b . type = q ; if ( ! e && ! b . isDefaultPrevented ( ) ) { if ( ( ! o . _default || o . _default . apply ( p . pop ( ) , c ) === false ) && n . acceptData ( d ) ) { if ( k && n . isFunction ( d [ q ] ) && ! n . isWindow ( d ) ) { h = d [ k ] ; if ( h ) { d [ k ] = null } n . event . triggered = q ; d [ q ] ( ) ; n . event . triggered = undefined ; if ( h ) { d [ k ] = h } } } } return b . result } , dispatch : function ( a ) { a = n . event . fix ( a ) ; var b , c , e , f , g , h = [ ] , i = d . call ( arguments ) , j = ( L . get ( this , "events" ) || { } ) [ a . type ] || [ ] , k = n . event . special [ a . type ] || { } ; i [ 0 ] = a ; a . delegateTarget = this ; if ( k . preDispatch && k . preDispatch . call ( this , a ) === false ) { return } h = n . event . handlers . call ( this , a , j ) ; b = 0 ; while ( ( f = h [ b ++ ] ) && ! a . isPropagationStopped ( ) ) { a . currentTarget = f . elem ; c = 0 ; while ( ( g = f . handlers [ c ++ ] ) && ! a . isImmediatePropagationStopped ( ) ) { if ( ! a . namespace _re || a . namespace _re . test ( g . namespace ) ) { a . handleObj = g ; a . data = g . data ; e = ( ( n . event . special [ g . origType ] || { } ) . handle || g . handler ) . apply ( f . elem , i ) ; if ( e !== undefined ) { if ( ( a . result = e ) === false ) { a . preventDefault ( ) ; a . stopPropagation ( ) } } } } } if ( k . postDispatch ) { k . postDispatch . call ( this , a ) } return a . result } , handlers : function ( a , b ) { var c , d , e , f , g = [ ] , h = b . delegateCount , i = a . target ; if ( h && i . nodeType && ( ! a . button || a . type !== "click" ) ) { for ( ; i !== this ; i = i . parentNode || this ) { if ( i . disabled !== true || a . type !== "click" ) { d = [ ] ; for ( c = 0 ; c < h ; c ++ ) { f = b [ c ] ; e = f . selector + " " ; if ( d [ e ] === undefined ) { d [ e ] = f . needsContext ? n ( e , this ) . index ( i ) >= 0 : n . find ( e , this , null , [ i ] ) . length } if ( d [ e ] ) { d . push ( f ) } } if ( d . length ) { g . push ( { elem : i , handlers : d } ) } } } } if ( h < b . length ) { g . push ( { elem : this , handlers : b . slice ( h ) } ) } return g } , props : "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which" . split ( " " ) , fixHooks : { } , keyHooks : { props : "char charCode key keyCode" . split ( " " ) , filter : function ( a , b ) { if ( a . which == null ) { a . which = b . charCode != null ? b . charCode : b . keyCode } return a } } , mouseHooks : { props : "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement" . split ( " " ) , filter : function ( a , b ) { var c , d , e , f = b . button ; if ( a . pageX == null && b . clientX != null ) { c = a . target . ownerDocument || l ; d = c . documentElement ; e = c . body ; a . pageX = b . clientX + ( d && d . scrollLeft || e && e . scrollLeft || 0 ) - ( d && d . clientLeft || e && e . clientLeft || 0 ) ; a . pageY = b . clientY + ( d && d . scrollTop || e && e . scrollTop || 0 ) - ( d && d . clientTop || e && e . clientTop || 0 ) } if ( ! a . which && f !== undefined ) { a . which = f & 1 ? 1 : f & 2 ? 3 : f & 4 ? 2 : 0 } return a } } , fix : function ( a ) { if ( a [ n . expando ] ) { return a } var b , c , d , e = a . type , f = a , g = this . fixHooks [ e ] ; if ( ! g ) { this . fixHooks [ e ] = g = W . test ( e ) ? this . mouseHooks : V . test ( e ) ? this . keyHooks : { } } d = g . props ? this . props . concat ( g . props ) : this . props ; a = new n . Event ( f ) ; b = d . length ; while ( b -- ) { c = d [ b ] ; a [ c ] = f [ c ] } if ( ! a . target ) { a . target = l } if ( a . target . nodeType === 3 ) { a . target = a . target . parentNode } return g . filter ? g . filter ( a , f ) : a } , special : { load : { noBubble : true } , focus : { trigger : function ( ) { if ( this !== _ ( ) && this . focus ) { this . focus ( ) ; return false } } , delegateType : "focusin" } , blur : { trigger : function ( ) { if ( this === _ ( ) && this . blur ) { this . blur ( ) ; return false } } , delegateType : "focusout" } , click : { trigger : function ( ) { if ( this . type === "checkbox" && thi
n . fn . extend ( { val : function ( a ) { var b , c , d , e = this [ 0 ] ; if ( ! arguments . length ) { if ( e ) { b = n . valHooks [ e . type ] || n . valHooks [ e . nodeName . toLowerCase ( ) ] ; if ( b && "get" in b && ( c = b . get ( e , "value" ) ) !== undefined ) { return c } c = e . value ; return typeof c === "string" ? c . replace ( bc , "" ) : c == null ? "" : c } return } d = n . isFunction ( a ) ; return this . each ( function ( c ) { var e ; if ( this . nodeType !== 1 ) { return } if ( d ) { e = a . call ( this , c , n ( this ) . val ( ) ) } else { e = a } if ( e == null ) { e = "" } else if ( typeof e === "number" ) { e += "" } else if ( n . isArray ( e ) ) { e = n . map ( e , function ( a ) { return a == null ? "" : a + "" } ) } b = n . valHooks [ this . type ] || n . valHooks [ this . nodeName . toLowerCase ( ) ] ; if ( ! b || ! ( "set" in b ) || b . set ( this , e , "value" ) === undefined ) { this . value = e } } ) } } ) ; n . extend ( { valHooks : { option : { get : function ( a ) { var b = n . find . attr ( a , "value" ) ; return b != null ? b : n . trim ( n . text ( a ) ) } } , select : { get : function ( a ) { var b , c , d = a . options , e = a . selectedIndex , f = a . type === "select-one" || e < 0 , g = f ? null : [ ] , h = f ? e + 1 : d . length , i = e < 0 ? h : f ? e : 0 ; for ( ; i < h ; i ++ ) { c = d [ i ] ; if ( ( c . selected || i === e ) && ( k . optDisabled ? ! c . disabled : c . getAttribute ( "disabled" ) === null ) && ( ! c . parentNode . disabled || ! n . nodeName ( c . parentNode , "optgroup" ) ) ) { b = n ( c ) . val ( ) ; if ( f ) { return b } g . push ( b ) } } return g } , set : function ( a , b ) { var c , d , e = a . options , f = n . makeArray ( b ) , g = e . length ; while ( g -- ) { d = e [ g ] ; if ( d . selected = n . inArray ( d . value , f ) >= 0 ) { c = true } } if ( ! c ) { a . selectedIndex = - 1 } return f } } } } ) ; n . each ( [ "radio" , "checkbox" ] , function ( ) { n . valHooks [ this ] = { set : function ( a , b ) { if ( n . isArray ( b ) ) { return a . checked = n . inArray ( n ( a ) . val ( ) , b ) >= 0 } } } ; if ( ! k . checkOn ) { n . valHooks [ this ] . get = function ( a ) { return a . getAttribute ( "value" ) === null ? "on" : a . value } } } ) ; n . each ( ( "blur focus focusin focusout load resize scroll unload click dblclick " + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + "change select submit keydown keypress keyup error contextmenu" ) . split ( " " ) , function ( a , b ) { n . fn [ b ] = function ( a , c ) { return arguments . length > 0 ? this . on ( b , null , a , c ) : this . trigger ( b ) } } ) ; n . fn . extend ( { hover : function ( a , b ) { return this . mouseenter ( a ) . mouseleave ( b || a ) } , bind : function ( a , b , c ) { return this . on ( a , null , b , c ) } , unbind : function ( a , b ) { return this . off ( a , null , b ) } , delegate : function ( a , b , c , d ) { return this . on ( b , a , c , d ) } , undelegate : function ( a , b , c ) { return arguments . length === 1 ? this . off ( a , "**" ) : this . off ( b , a || "**" , c ) } } ) ; var cc = n . now ( ) ; var dc = /\?/ ; n . parseJSON = function ( a ) { return JSON . parse ( a + "" ) } ; n . parseXML = function ( a ) { var b , c ; if ( ! a || typeof a !== "string" ) { return null } try { c = new DOMParser ; b = c . parseFromString ( a , "text/xml" ) } catch ( d ) { b = undefined } if ( ! b || b . getElementsByTagName ( "parsererror" ) . length ) { n . error ( "Invalid XML: " + a ) } return b } ; var ec , fc , gc = /#.*$/ , hc = /([?&])_=[^&]*/ , ic = /^(.*?):[ \t]*([^\r\n]*)$/gm , jc = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/ , kc = /^(?:GET|HEAD)$/ , lc = /^\/\// , mc = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/ , nc = { } , oc = { } , pc = "*/" . concat ( "*" ) ; try { fc = location . href } catch ( qc ) { fc = l . createElement ( "a" ) ; fc . href = "" ; fc = fc . href } ec = mc . exec ( fc . toLowerCase ( ) ) || [ ] ; function rc ( a ) { return function ( b , c ) { if ( typeof b !== "string" ) { c = b ; b = "*" } var d , e = 0 , f = b . toLowerCase ( ) . match ( E ) || [ ] ; if ( n . isFunction ( c ) ) { while ( d = f [ e ++ ] ) { if ( d [ 0 ] === "+" ) { d = d . slice ( 1 ) || "*" ; ( a [ d ] = a [ d ] || [ ] ) . unshift ( c ) } else { ( a [ d ] = a [ d ] || [ ] ) . push ( c ) } } } } } function sc ( a , b , c , d ) { var e = { } , f = a === oc ; function g ( h ) { var i ; e [ h ] = true ; n . each ( a [ h ] || [ ] , function ( a , h ) { var j = h ( b , c , d ) ; if ( typeof j === "string" && ! f && ! e [ j ] ) { b . dataTypes . unshift ( j ) ; g ( j ) ; return false } else if ( f ) { return ! ( i = j ) } } ) ; return i } return g ( b . dataTypes [ 0 ] ) || ! e [ "*" ] && g ( "*" ) } function tc ( a , b ) { var c , d , e = n . ajaxSettings . flatOptions || { } ; for ( c in b ) { if ( b [ c ] !== undefined ) { ( e [ c ] ? a : d || ( d = { } ) ) [ c ] = b [ c ] } } if ( d ) { n . extend ( true , a , d ) } return a } function uc ( a , b , c ) { var d , e , f , g , h = a . contents , i = a . dataTypes ; while ( i [ 0 ] === "*" ) { i . shift ( ) ; if ( d === undefined ) { d = a . mimeType || b . getResponseHeader ( "Content-Type" ) } } if ( d ) { for ( e in h ) { if ( h [ e ] && h [ e ] . test ( d ) ) { i . unshift ( e ) ; break } } } if ( i [ 0 ] in c ) { f = i [ 0 ] } else { for ( e in c ) { if ( ! i [ 0 ] || a . converters [ e + " " + i [ 0 ] ] ) { f = e ; break } if ( ! g ) { g = e } } f = f || g } if ( f ) { if ( f !== i [ 0 ] ) { i . unshift ( f ) } return c [ f ] } } function vc ( a , b , c , d ) { var e , f , g , h , i , j = { } , k = a . dataTypes . slice ( ) ; if ( k [ 1 ] ) { for ( g in a . converters ) { j [ g . toLowerCase ( ) ] = a . converters [ g ] } } f = k . shift ( ) ; while ( f ) { if ( a . responseFields [ f ] ) { c [ a . responseFields [ f ] ] = b
return } g = H ( a , c ) ; i [ g . key ] = i [ g . key ] || [ ] ; u ( g . key , g . modifiers , { type : g . action } , d , a , e ) ; i [ g . key ] [ d ? "unshift" : "push" ] ( { callback : b , modifiers : g . modifiers , action : g . action , seq : d , level : e , combo : a } ) } function J ( a , b , c ) { for ( var d = 0 ; d < a . length ; ++ d ) { I ( a [ d ] , b , c ) } } q ( b , "keypress" , A ) ; q ( b , "keydown" , A ) ; q ( b , "keyup" , A ) ; var K = { bind : function ( a , b , c ) { a = a instanceof Array ? a : [ a ] ; J ( a , b , c ) ; return this } , unbind : function ( a , b ) { return K . bind ( a , function ( ) { } , b ) } , trigger : function ( a , b ) { if ( j [ a + ":" + b ] ) { j [ a + ":" + b ] ( { } , a ) } return this } , reset : function ( ) { i = { } ; j = { } ; return this } , stopCallback : function ( a , b ) { if ( ( " " + b . className + " " ) . indexOf ( " mousetrap " ) > - 1 ) { return false } return b . tagName == "INPUT" || b . tagName == "SELECT" || b . tagName == "TEXTAREA" || b . isContentEditable } , handleKey : z } ; a . Mousetrap = K ; if ( typeof define === "function" && define . amd ) { define ( K ) } } ) ( window , document ) ; ( function ( a ) { a . fn . sticky = function ( ) { if ( this . size ( ) > 1 ) { return this . each ( function ( ) { a ( this ) . sticky ( options ) } ) } var c = false ; var d = this ; this . unbind ( ".sticky" ) ; this . on ( "beforeAppend.sticky" , function ( ) { c = b . call ( d ) } ) ; this . on ( "afterAppend.sticky" , function ( ) { if ( c ) { d . scrollBottom ( ) } } ) ; var e = this . css ( "overflow-y" ) ; if ( e == "visible" ) { e = "auto" } this . css ( { "overflow-y" : e } ) ; a ( window ) . unbind ( ".sticky" ) ; a ( window ) . on ( "resize.sticky" , function ( ) { d . scrollBottom ( ) } ) ; this . scrollBottom ( ) ; return this } ; a . fn . scrollBottom = function ( ) { return this . each ( function ( ) { a ( this ) . animate ( { scrollTop : this . scrollHeight } , 0 ) } ) } ; function b ( ) { if ( this . scrollTop ( ) + this . outerHeight ( ) + 1 >= this . prop ( "scrollHeight" ) ) { return true } else { return false } } var c = a . fn . append ; a . fn . append = function ( ) { this . trigger ( "beforeAppend" ) ; c . apply ( this , arguments ) . trigger ( "afterAppend" ) ; return this } } ) ( jQuery ) ; ( function ( a ) { var b = { backspace : 8 , tab : 9 , up : 38 , down : 40 } ; a . tabcomplete = { } ; a . tabcomplete . defaultOptions = { after : "" , arrowKeys : false , caseSensitive : false , hint : "placeholder" , minLength : 1 } ; a . fn . tab = a . fn . tabcomplete = function ( f , g ) { if ( this . length > 1 ) { return this . each ( function ( ) { a ( this ) . tabcomplete ( f , g ) } ) } var h = this . prop ( "tagName" ) ; if ( h != "INPUT" && h != "TEXTAREA" ) { return } g = a . extend ( a . tabcomplete . defaultOptions , g ) ; this . unbind ( ".tabcomplete" ) ; this . prev ( ".hint" ) . remove ( ) ; var i = this ; var j = false ; var k = - 1 ; var l = [ ] ; var m = "" ; var n = a . noop ; switch ( g . hint ) { case "placeholder" : n = d ; break ; case "select" : n = e ; break } this . on ( "input.tabcomplete" , function ( ) { var b = i . val ( ) ; var d = b . split ( / |\n/ ) . pop ( ) ; k = - 1 ; m = "" ; l = [ ] ; if ( i [ 0 ] . selectionStart == b . length && d . length ) { if ( typeof f === "function" ) { l = f ( d ) } else { l = c ( d , f , g . caseSensitive ) } if ( g . after ) { l = a . map ( l , function ( a ) { return a + g . after } ) } } i . trigger ( "match" , l . length ) ; if ( g . hint ) { if ( ! ( g . hint == "select" && j ) && d . length >= g . minLength ) { n . call ( i , l [ 0 ] ) } else { n . call ( i , "" ) } } if ( j ) { j = false } } ) ; this . on ( "keydown.tabcomplete" , function ( a ) { var c = a . which ; if ( c == b . tab || g . arrowKeys && ( c == b . up || c == b . down ) ) { a . preventDefault ( ) ; if ( c != b . up ) { k ++ } else { if ( k == - 1 ) return ; if ( k == 0 ) { k = l . length - 1 } else { k -- } } var d = l [ k % l . length ] ; if ( ! d ) { return } var e = i . val ( ) ; m = m || e . split ( / |\n/ ) . pop ( ) ; if ( m . length < g . minLength ) { return } var f = e . substr ( 0 , i [ 0 ] . selectionStart - m . length ) + d ; i . val ( f ) ; if ( g . hint == "select" ) { i [ 0 ] . selectionStart = f . length } m = d ; i . trigger ( "tabcomplete" , m ) ; if ( g . hint ) { n . call ( i , "" ) } } else if ( a . which == b . backspace ) { j = true ; k = - 1 ; m = "" } } ) ; if ( g . hint ) { n . call ( this , "" ) } return this } ; function c ( b , c , d ) { return a . grep ( c , function ( a ) { if ( d ) { return ! a . indexOf ( b ) } else { return ! a . toLowerCase ( ) . indexOf ( b . toLowerCase ( ) ) } } ) } function d ( b ) { var c = this ; var d = c . prev ( ".hint" ) ; c . css ( { backgroundColor : "transparent" , position : "relative" } ) ; if ( ! d . length ) { c . wrap ( a ( "<div>" ) . css ( { position : "relative" , height : c . css ( "height" ) } ) ) ; d = c . clone ( ) . attr ( "tabindex" , - 1 ) . removeAttr ( "id name placeholder" ) . addClass ( "hint" ) . insertBefore ( c ) ; d . css ( { position : "absolute" } ) } var e = "" ; if ( typeof b !== "undefined" ) { var f = c . val ( ) ; e = f + b . substr ( f . split ( / |\n/ ) . pop ( ) . length ) } d . val ( e ) } function e ( a ) { var b = this ; var c = b . val ( ) ; if ( a ) { b . val ( c + a . substr ( c . split ( / |\n/ ) . pop ( ) . length ) ) ; b [ 0 ] . selectionStart = c . length } } } ) ( jQuery ) ; ( function ( a ) { var b , c = "2.7.0" , d = typeof global !== "undefined" ? global : this , e , f = Math . round , g , h = 0 , i = 1 , j = 2 , k = 3 , l = 4 , m = 5 , n = 6 , o = { } , p = { _isAMomentObject : null , _i : null , _f : null , _l : null , _strict : null , _tzm : null , _isUTC : null , _offset : null , _pf : null , _
return this [ "as" + a . charAt ( 0 ) . toUpperCase ( ) + a . slice ( 1 ) + "s" ] ( ) } , lang : b . fn . lang , toIsoString : function ( ) { var a = Math . abs ( this . years ( ) ) , b = Math . abs ( this . months ( ) ) , c = Math . abs ( this . days ( ) ) , d = Math . abs ( this . hours ( ) ) , e = Math . abs ( this . minutes ( ) ) , f = Math . abs ( this . seconds ( ) + this . milliseconds ( ) / 1e3 ) ; if ( ! this . asSeconds ( ) ) { return "P0D" } return ( this . asSeconds ( ) < 0 ? "-" : "" ) + "P" + ( a ? a + "Y" : "" ) + ( b ? b + "M" : "" ) + ( c ? c + "D" : "" ) + ( d || e || f ? "T" : "" ) + ( d ? d + "H" : "" ) + ( e ? e + "M" : "" ) + ( f ? f + "S" : "" ) } } ) ; function hc ( a ) { b . duration . fn [ a ] = function ( ) { return this . _data [ a ] } } function ic ( a , c ) { b . duration . fn [ "as" + a ] = function ( ) { return + this / c } } f o r ( g i n S ) { i f ( S . h a s O w n P r o p e r t y ( g ) ) { i c ( g , S [ g ] ) ; h c ( g . t o L o w e r C a s e ( ) ) } } i c ( " W e e k s " , 6 0 4 8 e 5 ) ; b . d u r a t i o n . f n . a s M o n t h s = f u n c t i o n ( ) { r e t u r n ( + t h i s - t h i s . y e a r s ( ) * 3 1 5 3 6 e 6 ) / 2 5 9 2 e 6 + t h i s . y e a r s ( ) * 1 2 } ; b . l a n g ( " e n " , { o r d i n a l : f u n c t i o n ( a ) { v a r b = a % 1 0 , c = s b ( a % 1 0 0 / 1 0 ) = = = 1 ? " t h " : b = = = 1 ? " s t " : b = = = 2 ? " n d " : b = = = 3 ? " r d " : " t h " ; r e t u r n a + c } } ) ; f u n c t i o n j c ( a ) { i f ( t y p e o f e n d e r ! = = " u n d e f i n e d " ) { r e t u r n } e = d . m o m e n t ; i f ( a ) { d . m o m e n t = b b ( " A c c e s s i n g M o m e n t t h r o u g h t h e g l o b a l s c o p e i s " + " d e p r e c a t e d , a n d w i l l b e r e m o v e d i n a n u p c o m i n g " + " r e l e a s e . " , b ) } e l s e { d . m o m e n t = b } } i f ( q ) { m o d u l e . e x p o r t s = b } e l s e i f ( t y p e o f d e f i n e = = = " f u n c t i o n " & & d e f i n e . a m d ) { d e f i n e ( " m o m e n t " , f u n c t i o n ( a , c , f ) { i f ( f . c o n f i g & & f . c o n f i g ( ) & & f . c o n f i g ( ) . n o G l o b a l = = = t r u e ) { d . m o m e n t = e } r e t u r n b } ) ; j c ( t r u e ) } e l s e { j c ( ) } } ) . c a l l ( t h i s ) ; ! f u n c t i o n ( a ) { " o b j e c t " = = t y p e o f e x p o r t s ? m o d u l e . e x p o r t s = a ( ) : " f u n c t i o n " = = t y p e o f d e f i n e & & d e f i n e . a m d ? d e f i n e ( a ) : " u n d e f i n e d " ! = t y p e o f w i n d o w ? w i n d o w . i o = a ( ) : " u n d e f i n e d " ! = t y p e o f g l o b a l ? g l o b a l . i o = a ( ) : " u n d e f i n e d " ! = t y p e o f s e l f & & ( s e l f . i o = a ( ) ) } ( f u n c t i o n ( ) { v a r a , b , c ; r e t u r n f u n c t i o n d ( a , b , c ) { f u n c t i o n e ( g , h ) { i f ( ! b [ g ] ) { i f ( ! a [ g ] ) { v a r i = t y p e o f r e q u i r e = = " f u n c t i o n " & & r e q u i r e ; i f ( ! h & & i ) r e t u r n i ( g , ! 0 ) ; i f ( f ) r e t u r n f ( g , ! 0 ) ; t h r o w n e w E r r o r ( " C a n n o t f i n d m o d u l e ' " + g + " ' " ) } v a r j = b [ g ] = { e x p o r t s : { } } ; a [ g ] [ 0 ] . c a l l ( j . e x p o r t s , f u n c t i o n ( b ) { v a r c = a [ g ] [ 1 ] [ b ] ; r e t u r n e ( c ? c : b ) } , j , j . e x p o r t s , d , a , b , c ) } r e t u r n b [ g ] . e x p o r t s } v a r f = t y p e o f r e q u i r e = = " f u n c t i o n " & & r e q u i r e ; f o r ( v a r g = 0 ; g < c . l e n g t h ; g + + ) e ( c [ g ] ) ; r e t u r n e } ( { 1 : [ f u n c t i o n ( a , b , c ) { b . e x p o r t s = a ( " . / l i b / " ) } , { " . / l i b / " : 2 } ] , 2 : [ f u n c t i o n ( a , b , c ) { v a r d = a ( " . / u r l " ) ; v a r e = a ( " s o c k e t . i o - p a r s e r " ) ; v a r f = a ( " . / m a n a g e r " ) ; v a r g = a ( " d e b u g " ) ( " s o c k e t . i o - c l i e n t " ) ; b . e x p o r t s = c = i ; v a r h = c . m a n a g e r s = { } ; f u n c t i o n i ( a , b ) { i f ( t y p e o f a = = " o b j e c t " ) { b = a ; a = u n d e f i n e d } b = b | | { } ; v a r c = d ( a ) ; v a r e = c . s o u r c e ; v a r i = c . i d ; v a r j ; i f ( b . f o r c e N e w | | b [ " f o r c e n e w c o n n e c t i o n " ] | | f a l s e = = = b . m u l t i p l e x ) { g ( " i g n o r i n g s o c k e t c a c h e f o r % s " , e ) ; j = f ( e , b ) } e l s e { i f ( ! h [ i ] ) { g ( " n e w i o i n s t a n c e f o r % s " , e ) ; h [ i ] = f ( e , b ) } j = h [ i ] } r e t u r n j . s o c k e t ( c . p a t h ) } c . p r o t o c o l = e . p r o t o c o l ; c . c o n n e c t = i ; c . M a n a g e r = a ( " . / m a n a g e r " ) ; c . S o c k e t = a ( " . / s o c k e t " ) } , { " . / m a n a g e r " : 3 , " . / s o c k e t " : 5 , " . / u r l " : 6 , d e b u g : 9 , " s o c k e t . i o - p a r s e r " : 4 0 } ] , 3 : [ f u n c t i o n ( a , b , c ) { v a r d = a ( " . / u r l " ) ; v a r e = a ( " e n g i n e . i o - c l i e n t " ) ; v a r f = a ( " . / s o c k e t " ) ; v a r g = a ( " c o m p o n e n t - e m i t t e r " ) ; v a r h = a ( " s o c k e t . i o - p a r s e r " ) ; v a r i = a ( " . / o n " ) ; v a r j = a ( " c o m p o n e n t - b i n d " ) ; v a r k = a ( " o b j e c t - c o m p o n e n t " ) ; v a r l = a ( " d e b u g " ) ( " s o c k e t . i o - c l i e n t : m a n a g e r " ) ; b . e x p o r t s = m ; f u n c t i o n m ( a , b ) { i f ( ! ( t h i s i n s t a n c e o f m ) ) r e t u r n n e w m ( a , b ) ; i f ( a & & " o b j e c t " = = t y p e o f a ) { b = a ; a = u n d e f i n e d } b = b | | { } ; b . p a t h = b . p a t h | | " / s o c k e t . i o " ; t h i s . n s p s = { } ; t h i s . s u b s = [ ] ; t h i s . o p t s = b ; t h i s . r e c o n n e c t i o n ( b . r e c o n n e c t i o n ! = = f a l s e ) ; t h i s . r e c o n n e c t i o n A t t e m p t s ( b . r e c o n n e c t i o n A t t e m p t s | | I n f i n i t y ) ; t h i s . r e c o n n e c t i o n D e l a y ( b . r e c o n n e c t i o n D e l a y | | 1 e 3 ) ; t h i s . r e c o n n e c t i o n D e l a y M a x ( b . r e c o n n e c t i o n D e l a y M a x | | 5 e 3 ) ; t h i s . t i m e o u t ( n u l l = = b . t i m e o u t ? 2 e 4 : b . t i m e o u t ) ; t h i s . r e a d y S t a t e = " c l o s e d " ; t h i s . u r i = a ; t h i s . c o n n e c t e d = 0 ; t h i s . a t t e m p t s = 0 ; t h i s . e n c o d i n g = f a l s e ; t h i s . p a c k e t B u f f e r = [ ] ; t h i s . e n c o d e r = n e w h . E n c o d e r ; t h i s . d e c o d e r = n e w h . D e c o d e r ; t h i s . o p e n ( ) } m . p r o t o t y p e . e m i t A l l = f u n c t i o n ( ) { t h i s . e m i t . a p p l y ( t h i s , a r g u m e n t s ) ; f o r ( v a r a i n t h i s . n s p s ) { t h i s . n s p s [ a ] . e m i t . a p p l y ( t h i s . n s p s [ a ] , a r g u m e n t s ) } } ; g ( m . p r o t o t y p e ) ; m . p r o t o t y p e . r e c o n n e c t i o n = f u n c t i o n ( a ) { i f ( ! a r g u m e n t s . l e n g t h ) r e t u r n t h i s . _ r e c o n n e c t i o n ; t h i s . _ r e c o n n e c t i o n = ! ! a ; r e t u r n t h i s } ; m . p r o t o t y p e . r e c o n n e c t i o n A t t e m p t s = f u n c t i o n ( a ) { i f ( ! a r g u m e n t s . l e n g t h ) r e t u r n t h i s . _ r e c o n n e c t i o n A t t e m p t s ; t h i s . _ r e c o n n e c t i o n A t t e m p t s = a ; r e t u r n t h i s } ; m . p r o t o t y p e . r e c o n n e c t i o n D e l a y = f u n c t i o n ( a ) { i f ( ! a r g u m e n t s . l e n g t h ) r e t u r n t h i s . _ r e c o n n e c t i o n D e l a y ; t h i s . _ r e c o n n e c t i o n D e l a y = a ; r e t u r n t h i s } ; m . p r o t o t y p e . r e c o n n e c t i o n D e l a y M a x = f u n c t i o n ( a ) {
function d ( ) { h ( "paused" ) ; c . readyState = "paused" ; a ( ) } if ( this . polling || ! this . writable ) { var e = 0 ; if ( this . polling ) { h ( "we are currently polling - waiting to pause" ) ; e ++ ; this . once ( "pollComplete" , function ( ) { h ( "pre-pause polling complete" ) ; -- e || d ( ) } ) } if ( ! this . writable ) { h ( "we are currently writing - waiting to pause" ) ; e ++ ; this . once ( "drain" , function ( ) { h ( "pre-pause writing complete" ) ; -- e || d ( ) } ) } } else { d ( ) } } ; j . prototype . poll = function ( ) { h ( "polling" ) ; this . polling = true ; this . doPoll ( ) ; this . emit ( "poll" ) } ; j . prototype . onData = function ( a ) { var b = this ; h ( "polling got data %s" , a ) ; var c = function ( a , c , d ) { if ( "opening" == b . readyState ) { b . onOpen ( ) } if ( "close" == a . type ) { b . onClose ( ) ; return false } b . onPacket ( a ) } ; f . decodePayload ( a , this . socket . binaryType , c ) ; if ( "closed" != this . readyState ) { this . polling = false ; this . emit ( "pollComplete" ) ; if ( "open" == this . readyState ) { this . poll ( ) } else { h ( 'ignoring poll - transport state "%s"' , this . readyState ) } } } ; j . prototype . doClose = function ( ) { var a = this ; function b ( ) { h ( "writing close packet" ) ; a . write ( [ { type : "close" } ] ) } if ( "open" == this . readyState ) { h ( "transport open - closing" ) ; b ( ) } else { h ( "transport not open - deferring close" ) ; this . once ( "open" , b ) } } ; j . prototype . write = function ( a ) { var b = this ; this . writable = false ; var c = function ( ) { b . writable = true ; b . emit ( "drain" ) } ; var b = this ; f . encodePayload ( a , this . supportsBinary , function ( a ) { b . doWrite ( a , c ) } ) } ; j . prototype . uri = function ( ) { var a = this . query || { } ; var b = this . secure ? "https" : "http" ; var c = "" ; if ( false !== this . timestampRequests ) { a [ this . timestampParam ] = + new Date + "-" + d . timestamps ++ } if ( ! this . supportsBinary && ! a . sid ) { a . b64 = 1 } a = e . encode ( a ) ; if ( this . port && ( "https" == b && this . port != 443 || "http" == b && this . port != 80 ) ) { c = ":" + this . port } if ( a . length ) { a = "?" + a } return b + "://" + this . hostname + c + this . path + a } } , { "../transport" : 14 , "component-inherit" : 21 , debug : 9 , "engine.io-parser" : 22 , parseqs : 30 , xmlhttprequest : 20 } ] , 19 : [ function ( a , b , c ) { var d = a ( "../transport" ) ; var e = a ( "engine.io-parser" ) ; var f = a ( "parseqs" ) ; var g = a ( "component-inherit" ) ; var h = a ( "debug" ) ( "engine.io-client:websocket" ) ; var i = a ( "ws" ) ; b . exports = j ; function j ( a ) { var b = a && a . forceBase64 ; if ( b ) { this . supportsBinary = false } d . call ( this , a ) } g ( j , d ) ; j . prototype . name = "websocket" ; j . prototype . supportsBinary = true ; j . prototype . doOpen = function ( ) { if ( ! this . check ( ) ) { return } var a = this ; var b = this . uri ( ) ; var c = void 0 ; var d = { agent : this . agent } ; this . ws = new i ( b , c , d ) ; if ( this . ws . binaryType === undefined ) { this . supportsBinary = false } this . ws . binaryType = "arraybuffer" ; this . addEventListeners ( ) } ; j . prototype . addEventListeners = function ( ) { var a = this ; this . ws . onopen = function ( ) { a . onOpen ( ) } ; this . ws . onclose = function ( ) { a . onClose ( ) } ; this . ws . onmessage = function ( b ) { a . onData ( b . data ) } ; this . ws . onerror = function ( b ) { a . onError ( "websocket error" , b ) } } ; if ( "undefined" != typeof navigator && /iPad|iPhone|iPod/i . test ( navigator . userAgent ) ) { j . prototype . onData = function ( a ) { var b = this ; setTimeout ( function ( ) { d . prototype . onData . call ( b , a ) } , 0 ) } } j . prototype . write = function ( a ) { var b = this ; this . writable = false ; for ( var c = 0 , d = a . length ; c < d ; c ++ ) { e . encodePacket ( a [ c ] , this . supportsBinary , function ( a ) { try { b . ws . send ( a ) } catch ( c ) { h ( "websocket closed before onclose event" ) } } ) } function f ( ) { b . writable = true ; b . emit ( "drain" ) } setTimeout ( f , 0 ) } ; j . prototype . onClose = function ( ) { d . prototype . onClose . call ( this ) } ; j . prototype . doClose = function ( ) { if ( typeof this . ws !== "undefined" ) { this . ws . close ( ) } } ; j . prototype . uri = function ( ) { var a = this . query || { } ; var b = this . secure ? "wss" : "ws" ; var c = "" ; if ( this . port && ( "wss" == b && this . port != 443 || "ws" == b && this . port != 80 ) ) { c = ":" + this . port } if ( this . timestampRequests ) { a [ this . timestampParam ] = + new Date } if ( ! this . supportsBinary ) { a . b64 = 1 } a = f . encode ( a ) ; if ( a . length ) { a = "?" + a } return b + "://" + this . hostname + c + this . path + a } ; j . prototype . check = function ( ) { return ! ! i && ! ( "__initialize" in i && this . name === j . prototype . name ) } } , { "../transport" : 14 , "component-inherit" : 21 , debug : 9 , "engine.io-parser" : 22 , parseqs : 30 , ws : 31 } ] , 20 : [ function ( a , b , c ) { var d = a ( "has-cors" ) ; b . exports = function ( a ) { var b = a . xdomain ; try { if ( "undefined" != typeof XMLHttpRequest && ( ! b || d ) ) { return new XMLHttpRequest } } catch ( c ) { } if ( ! b ) { try { return new ActiveXObject ( "Microsoft.XMLHTTP" ) } catch ( c ) { } } } } , { "has-cors" : 34 } ] , 21 : [ function ( a , b , c ) { b . exports = function ( a , b ) { var
2014-08-25 22:39:10 +00:00
f . invalid _hostname _characters = /[^a-zA-Z0-9\.-]/ ; f . domAttributes = { a : "href" , blockquote : "cite" , link : "href" , base : "href" , script : "src" , form : "action" , img : "src" , area : "href" , iframe : "src" , embed : "src" , source : "src" , track : "src" , input : "src" } ; f . getDomAttribute = function ( a ) { if ( ! a || ! a . nodeName ) { return undefined } var b = a . nodeName . toLowerCase ( ) ; if ( b === "input" && a . type !== "image" ) { return undefined } return f . domAttributes [ b ] } ; function o ( a ) { return escape ( a ) } function p ( a ) { return encodeURIComponent ( a ) . replace ( /[!'()*]/g , o ) . replace ( /\*/g , "%2A" ) } f . encode = p ; f . decode = decodeURIComponent ; f . iso8859 = function ( ) { f . encode = escape ; f . decode = unescape } ; f . unicode = function ( ) { f . encode = p ; f . decode = decodeURIComponent } ; f . characters = { pathname : { encode : { expression : /%(24|26|2B|2C|3B|3D|3A|40)/gi , map : { "%24" : "$" , "%26" : "&" , "%2B" : "+" , "%2C" : "," , "%3B" : ";" , "%3D" : "=" , "%3A" : ":" , "%40" : "@" } } , decode : { expression : /[\/\?#]/g , map : { "/" : "%2F" , "?" : "%3F" , "#" : "%23" } } } , reserved : { encode : { expression : /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi , map : { "%3A" : ":" , "%2F" : "/" , "%3F" : "?" , "%23" : "#" , "%5B" : "[" , "%5D" : "]" , "%40" : "@" , "%21" : "!" , "%24" : "$" , "%26" : "&" , "%27" : "'" , "%28" : "(" , "%29" : ")" , "%2A" : "*" , "%2B" : "+" , "%2C" : "," , "%3B" : ";" , "%3D" : "=" } } } } ; f . encodeQuery = function ( a , b ) { var c = f . encode ( a + "" ) ; if ( b === undefined ) { b = f . escapeQuerySpace } return b ? c . replace ( /%20/g , "+" ) : c } ; f . decodeQuery = function ( a , b ) { a += "" ; if ( b === undefined ) { b = f . escapeQuerySpace } try { return f . decode ( b ? a . replace ( /\+/g , "%20" ) : a ) } catch ( c ) { return a } } ; f . recodePath = function ( a ) { var b = ( a + "" ) . split ( "/" ) ; for ( var c = 0 , d = b . length ; c < d ; c ++ ) { b [ c ] = f . encodePathSegment ( f . decode ( b [ c ] ) ) } return b . join ( "/" ) } ; f . decodePath = function ( a ) { var b = ( a + "" ) . split ( "/" ) ; for ( var c = 0 , d = b . length ; c < d ; c ++ ) { b [ c ] = f . decodePathSegment ( b [ c ] ) } return b . join ( "/" ) } ; var q = { encode : "encode" , decode : "decode" } ; var r ; var s = function ( a , b ) { return function ( c ) { return f [ b ] ( c + "" ) . replace ( f . characters [ a ] [ b ] . expression , function ( c ) { return f . characters [ a ] [ b ] . map [ c ] } ) } } ; for ( r in q ) { f [ r + "PathSegment" ] = s ( "pathname" , q [ r ] ) } f . encodeReserved = s ( "reserved" , "encode" ) ; f . parse = function ( a , b ) { var c ; if ( ! b ) { b = { } } c = a . indexOf ( "#" ) ; if ( c > - 1 ) { b . fragment = a . substring ( c + 1 ) || null ; a = a . substring ( 0 , c ) } c = a . indexOf ( "?" ) ; if ( c > - 1 ) { b . query = a . substring ( c + 1 ) || null ; a = a . substring ( 0 , c ) } if ( a . substring ( 0 , 2 ) === "//" ) { b . protocol = null ; a = a . substring ( 2 ) ; a = f . parseAuthority ( a , b ) } else { c = a . indexOf ( ":" ) ; if ( c > - 1 ) { b . protocol = a . substring ( 0 , c ) || null ; if ( b . protocol && ! b . protocol . match ( f . protocol _expression ) ) { b . protocol = undefined } else if ( b . protocol === "file" ) { a = a . substring ( c + 3 ) } else if ( a . substring ( c + 1 , c + 3 ) === "//" ) { a = a . substring ( c + 3 ) ; a = f . parseAuthority ( a , b ) } else { a = a . substring ( c + 1 ) ; b . urn = true } } } b . path = a ; return b } ; f . parseHost = function ( a , b ) { var c = a . indexOf ( "/" ) ; var d ; var e ; if ( c === - 1 ) { c = a . length } if ( a . charAt ( 0 ) === "[" ) { d = a . indexOf ( "]" ) ; b . hostname = a . substring ( 1 , d ) || null ; b . port = a . substring ( d + 2 , c ) || null ; if ( b . port === "/" ) { b . port = null } } else if ( a . indexOf ( ":" ) !== a . lastIndexOf ( ":" ) ) { b . hostname = a . substring ( 0 , c ) || null ; b . port = null } else { e = a . substring ( 0 , c ) . split ( ":" ) ; b . hostname = e [ 0 ] || null ; b . port = e [ 1 ] || null } if ( b . hostname && a . substring ( c ) . charAt ( 0 ) !== "/" ) { c ++ ; a = "/" + a } return a . substring ( c ) || "/" } ; f . parseAuthority = function ( a , b ) { a = f . parseUserinfo ( a , b ) ; return f . parseHost ( a , b ) } ; f . parseUserinfo = function ( a , b ) { var c = a . indexOf ( "/" ) ; var d = c > - 1 ? a . lastIndexOf ( "@" , c ) : a . indexOf ( "@" ) ; var e ; if ( d > - 1 && ( c === - 1 || d < c ) ) { e = a . substring ( 0 , d ) . split ( ":" ) ; b . username = e [ 0 ] ? f . decode ( e [ 0 ] ) : null ; e . shift ( ) ; b . password = e [ 0 ] ? f . decode ( e . join ( ":" ) ) : null ; a = a . substring ( d + 1 ) } else { b . username = null ; b . password = null } return a } ; f . parseQuery = function ( a , b ) { if ( ! a ) { return { } } a = a . replace ( /&+/g , "&" ) . replace ( /^\?*&*|&+$/g , "" ) ; if ( ! a ) { return { } } var c = { } ; var d = a . split ( "&" ) ; var e = d . length ; var g , h , i ; for ( var j = 0 ; j < e ; j ++ ) { g = d [ j ] . split ( "=" ) ; h = f . decodeQuery ( g . shift ( ) , b ) ; i = g . length ? f . decodeQuery ( g . join ( "=" ) , b ) : null ; if ( c [ h ] ) { if ( typeof c [ h ] === "string" ) { c [ h ] = [ c [ h ] ] } c [ h ] . push ( i ) } else { c [ h ] = i } } return c } ; f . build = function ( a ) { var b = "" ; if ( a . protocol ) { b += a . protocol + ":" } if ( ! a . urn && ( b || a . hostname ) ) { b += "//" } b += f . buildAuthority ( a ) || "" ; if ( typeof a . path === "string" ) { if ( a . path . charAt ( 0 ) !== "/" && typeof a . hostname === "string" ) { b += "/" } b += a . path } if ( typeof a . query === "string" && a . query ) {