2014-10-20 21:39:42 +00:00
window . Modernizr = function ( e , t , n ) { function r ( e ) { h . cssText = e } function i ( e , t ) { return typeof e === t } var o , a , s , u = "2.6.2" , c = { } , l = ! 0 , f = t . documentElement , p = "modernizr" , d = t . createElement ( p ) , h = d . style , m = { } . toString , g = " -webkit- -moz- -o- -ms- " . split ( " " ) , v = { svg : "http://www.w3.org/2000/svg" } , y = { } , $ = [ ] , b = $ . slice , w = function ( e , n , r , i ) { var o , a , s , u , c = t . createElement ( "div" ) , l = t . body , d = l || t . createElement ( "body" ) ; if ( parseInt ( r , 10 ) ) for ( ; r -- ; ) s = t . createElement ( "div" ) , s . id = i ? i [ r ] : p + ( r + 1 ) , c . appendChild ( s ) ; return o = [ "­" , '<style id="s' , p , '">' , e , "</style>" ] . join ( "" ) , c . id = p , ( l ? c : d ) . innerHTML += o , d . appendChild ( c ) , l || ( d . style . background = "" , d . style . overflow = "hidden" , u = f . style . overflow , f . style . overflow = "hidden" , f . appendChild ( d ) ) , a = n ( c , e ) , l ? c . parentNode . removeChild ( c ) : ( d . parentNode . removeChild ( d ) , f . style . overflow = u ) , ! ! a } , x = function ( t ) { var n = e . matchMedia || e . msMatchMedia ; if ( n ) return n ( t ) . matches ; var r ; return w ( "@media " + t + " { #" + p + " { position: absolute; } }" , function ( t ) { r = "absolute" == ( e . getComputedStyle ? getComputedStyle ( t , null ) : t . currentStyle ) . position } ) , r } , C = { } . hasOwnProperty ; s = i ( C , "undefined" ) || i ( C . call , "undefined" ) ? function ( e , t ) { return t in e && i ( e . constructor . prototype [ t ] , "undefined" ) } : function ( e , t ) { return C . call ( e , t ) } , Function . prototype . bind || ( Function . prototype . bind = function ( e ) { var t = this ; if ( "function" != typeof t ) throw new TypeError ; var n = b . call ( arguments , 1 ) , r = function ( ) { if ( this instanceof r ) { var i = function ( ) { } ; i . prototype = t . prototype ; var o = new i , a = t . apply ( o , n . concat ( b . call ( arguments ) ) ) ; return Object ( a ) === a ? a : o } return t . apply ( e , n . concat ( b . call ( arguments ) ) ) } ; return r } ) , y . touch = function ( ) { var n ; return "ontouchstart" in e || e . DocumentTouch && t instanceof DocumentTouch ? n = ! 0 : w ( [ "@media (" , g . join ( "touch-enabled),(" ) , p , ")" , "{#modernizr{top:9px;position:absolute}}" ] . join ( "" ) , function ( e ) { n = 9 === e . offsetTop } ) , n } , y . svg = function ( ) { return ! ! t . createElementNS && ! ! t . createElementNS ( v . svg , "svg" ) . createSVGRect } , y . inlinesvg = function ( ) { var e = t . createElement ( "div" ) ; return e . innerHTML = "<svg/>" , ( e . firstChild && e . firstChild . namespaceURI ) == v . svg } , y . svgclippaths = function ( ) { return ! ! t . createElementNS && /SVGClipPath/ . test ( m . call ( t . createElementNS ( v . svg , "clipPath" ) ) ) } ; for ( var S in y ) s ( y , S ) && ( a = S . toLowerCase ( ) , c [ a ] = y [ S ] ( ) , $ . push ( ( c [ a ] ? "" : "no-" ) + a ) ) ; return c . addTest = function ( e , t ) { if ( "object" == typeof e ) for ( var r in e ) s ( e , r ) && c . addTest ( r , e [ r ] ) ; else { if ( e = e . toLowerCase ( ) , c [ e ] !== n ) return c ; t = "function" == typeof t ? t ( ) : t , "undefined" != typeof l && l && ( f . className += " " + ( t ? "" : "no-" ) + e ) , c [ e ] = t } return c } , r ( "" ) , d = o = null , function ( e , t ) { function n ( e , t ) { var n = e . createElement ( "p" ) , r = e . getElementsByTagName ( "head" ) [ 0 ] || e . documentElement ; return n . innerHTML = "x<style>" + t + "</style>" , r . insertBefore ( n . lastChild , r . firstChild ) } function r ( ) { var e = v . elements ; return "string" == typeof e ? e . split ( " " ) : e } function i ( e ) { var t = g [ e [ h ] ] ; return t || ( t = { } , m ++ , e [ h ] = m , g [ m ] = t ) , t } function o ( e , n , r ) { if ( n || ( n = t ) , l ) return n . createElement ( e ) ; r || ( r = i ( n ) ) ; var o ; return o = r . cache [ e ] ? r . cache [ e ] . cloneNode ( ) : d . test ( e ) ? ( r . cache [ e ] = r . createElem ( e ) ) . cloneNode ( ) : r . createElem ( e ) , o . canHaveChildren && ! p . test ( e ) ? r . frag . appendChild ( o ) : o } function a ( e , n ) { if ( e || ( e = t ) , l ) return e . createDocumentFragment ( ) ; n = n || i ( e ) ; for ( var o = n . frag . cloneNode ( ) , a = 0 , s = r ( ) , u = s . length ; u > a ; a ++ ) o . createElement ( s [ a ] ) ; return o } function s ( e , t ) { t . cache || ( t . cache = { } , t . createElem = e . createElement , t . createFrag = e . createDocumentFragment , t . frag = t . createFrag ( ) ) , e . createElement = function ( n ) { return v . shivMethods ? o ( n , e , t ) : t . createElem ( n ) } , e . createDocumentFragment = Function ( "h,f" , "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + r ( ) . join ( ) . replace ( /\w+/g , function ( e ) { return t . createElem ( e ) , t . frag . createElement ( e ) , 'c("' + e + '")' } ) + ");return n}" ) ( v , t . frag ) } function u ( e ) { e || ( e = t ) ; var r = i ( e ) ; return v . shivCSS && ! c && ! r . hasCSS && ( r . hasCSS = ! ! n ( e , "article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}" ) ) , l || s ( e , r ) , e } var c , l , f = e . html5 || { } , p = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i , d = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i , h = "_html5shiv" , m = 0 , g =
* jQuery JavaScript Library v2 . 0.3
* http : //jquery.com/
*
* Includes Sizzle . js
* http : //sizzlejs.com/
*
* Copyright 2005 , 2013 jQuery Foundation , Inc . and other contributors
* Released under the MIT license
* http : //jquery.org/license
*
* Date : 2013 - 07 - 03 T13 : 30 Z
* /
function ( e , t ) { function n ( e ) { var t = e . length , n = ot . type ( e ) ; return ot . isWindow ( e ) ? ! 1 : 1 === e . nodeType && t ? ! 0 : "array" === n || "function" !== n && ( 0 === t || "number" == typeof t && t > 0 && t - 1 in e ) } function r ( e ) { var t = ht [ e ] = { } ; return ot . each ( e . match ( st ) || [ ] , function ( e , n ) { t [ n ] = ! 0 } ) , t } function i ( ) { Object . defineProperty ( this . cache = { } , 0 , { get : function ( ) { return { } } } ) , this . expando = ot . expando + Math . random ( ) } function o ( e , n , r ) { var i ; if ( r === t && 1 === e . nodeType ) if ( i = "data-" + n . replace ( yt , "-$1" ) . toLowerCase ( ) , r = e . getAttribute ( i ) , "string" == typeof r ) { try { r = "true" === r ? ! 0 : "false" === r ? ! 1 : "null" === r ? null : + r + "" === r ? + r : vt . test ( r ) ? JSON . parse ( r ) : r } catch ( o ) { } mt . set ( e , n , r ) } else r = t ; return r } function a ( ) { return ! 0 } function s ( ) { return ! 1 } function u ( ) { try { return V . activeElement } catch ( e ) { } } function c ( e , t ) { for ( ; ( e = e [ t ] ) && 1 !== e . nodeType ; ) ; return e } function l ( e , t , n ) { if ( ot . isFunction ( t ) ) return ot . grep ( e , function ( e , r ) { return ! ! t . call ( e , r , e ) !== n } ) ; if ( t . nodeType ) return ot . grep ( e , function ( e ) { return e === t !== n } ) ; if ( "string" == typeof t ) { if ( At . test ( t ) ) return ot . filter ( t , e , n ) ; t = ot . filter ( t , e ) } return ot . grep ( e , function ( e ) { return tt . call ( t , e ) >= 0 !== n } ) } function f ( e , t ) { return ot . nodeName ( e , "table" ) && ot . nodeName ( 1 === t . nodeType ? t : t . firstChild , "tr" ) ? e . getElementsByTagName ( "tbody" ) [ 0 ] || e . appendChild ( e . ownerDocument . createElement ( "tbody" ) ) : e } function p ( e ) { return e . type = ( null !== e . getAttribute ( "type" ) ) + "/" + e . type , e } function d ( e ) { var t = qt . exec ( e . type ) ; return t ? e . type = t [ 1 ] : e . removeAttribute ( "type" ) , e } function h ( e , t ) { for ( var n = e . length , r = 0 ; n > r ; r ++ ) gt . set ( e [ r ] , "globalEval" , ! t || gt . get ( t [ r ] , "globalEval" ) ) } function m ( e , t ) { var n , r , i , o , a , s , u , c ; if ( 1 === t . nodeType ) { if ( gt . hasData ( e ) && ( o = gt . access ( e ) , a = gt . set ( t , o ) , c = o . events ) ) { delete a . handle , a . events = { } ; for ( i in c ) for ( n = 0 , r = c [ i ] . length ; r > n ; n ++ ) ot . event . add ( t , i , c [ i ] [ n ] ) } mt . hasData ( e ) && ( s = mt . access ( e ) , u = ot . extend ( { } , s ) , mt . set ( t , u ) ) } } function g ( e , n ) { var r = e . getElementsByTagName ? e . getElementsByTagName ( n || "*" ) : e . querySelectorAll ? e . querySelectorAll ( n || "*" ) : [ ] ; return n === t || n && ot . nodeName ( e , n ) ? ot . merge ( [ e ] , r ) : r } function v ( e , t ) { var n = t . nodeName . toLowerCase ( ) ; "input" === n && Ft . test ( e . type ) ? t . checked = e . checked : ( "input" === n || "textarea" === n ) && ( t . defaultValue = e . defaultValue ) } function y ( e , t ) { if ( t in e ) return t ; for ( var n = t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) , r = t , i = Zt . length ; i -- ; ) if ( t = Zt [ i ] + n , t in e ) return t ; return r } function $ ( e , t ) { return e = t || e , "none" === ot . css ( e , "display" ) || ! ot . contains ( e . ownerDocument , e ) } function b ( t ) { return e . getComputedStyle ( t , null ) } function w ( e , t ) { for ( var n , r , i , o = [ ] , a = 0 , s = e . length ; s > a ; a ++ ) r = e [ a ] , r . style && ( o [ a ] = gt . get ( r , "olddisplay" ) , n = r . style . display , t ? ( o [ a ] || "none" !== n || ( r . style . display = "" ) , "" === r . style . display && $ ( r ) && ( o [ a ] = gt . access ( r , "olddisplay" , k ( r . nodeName ) ) ) ) : o [ a ] || ( i = $ ( r ) , ( n && "none" !== n || ! i ) && gt . set ( r , "olddisplay" , i ? n : ot . css ( r , "display" ) ) ) ) ; for ( a = 0 ; s > a ; a ++ ) r = e [ a ] , r . style && ( t && "none" !== r . style . display && "" !== r . style . display || ( r . style . display = t ? o [ a ] || "" : "none" ) ) ; return e } function x ( e , t , n ) { var r = Wt . exec ( t ) ; return r ? Math . max ( 0 , r [ 1 ] - ( n || 0 ) ) + ( r [ 2 ] || "px" ) : t } function C ( e , t , n , r , i ) { for ( var o = n === ( r ? "border" : "content" ) ? 4 : "width" === t ? 1 : 0 , a = 0 ; 4 > o ; o += 2 ) "margin" === n && ( a += ot . css ( e , n + Kt [ o ] , ! 0 , i ) ) , r ? ( "content" === n && ( a -= ot . css ( e , "padding" + Kt [ o ] , ! 0 , i ) ) , "margin" !== n && ( a -= ot . css ( e , "border" + Kt [ o ] + "Width" , ! 0 , i ) ) ) : ( a += ot . css ( e , "padding" + Kt [ o ] , ! 0 , i ) , "padding" !== n && ( a += ot . css ( e , "border" + Kt [ o ] + "Width" , ! 0 , i ) ) ) ; return a } function S ( e , t , n ) { var r = ! 0 , i = "width" === t ? e . offsetWidth : e . offsetHeight , o = b ( e ) , a = ot . support . boxSizing && "border-box" === ot . css ( e , "boxSizing" , ! 1 , o ) ; if ( 0 >= i || null == i ) { if ( i = Ut ( e , t , o ) , ( 0 > i || null == i ) && ( i = e . style [ t ] ) , Xt . test ( i ) ) return i ; r = a && ( ot . support . boxSizingReliable || i === e . style [ t ] ) , i = parseFloat ( i ) || 0 } return i + C ( e , t , n || ( a ? "border" : "content" ) , r , o ) + "px" } function k ( e ) { var t = V , n = Yt [ e ] ; return n || ( n = T ( e , t ) , "none" !== n && n || ( Bt = ( Bt || ot ( "<iframe frameborder='0' width='0' height='0'/>" ) . css ( "cssText" , "display:block !important" ) ) . appendTo ( t . documentElement ) , t = ( Bt [ 0 ] . contentWindow || Bt [ 0 ] . contentDocument ) . document , t . write ( "<!doctype html><html><body>" ) , t . close ( ) , n = T ( e , t ) , Bt . detach ( ) ) , Yt [ e ] = n ) , n } function T ( e , t ) { var n = ot ( t . createElement ( e ) ) . appendTo ( t . body ) , r = ot . css ( n [ 0 ] , "display" ) ; return n
* Sizzle CSS Selector Engine v1 . 9.4 - pre
* http : //sizzlejs.com/
*
* Copyright 2013 jQuery Foundation , Inc . and other contributors
* Released under the MIT license
* http : //jquery.org/license
*
* Date : 2013 - 06 - 03
* /
function ( e , t ) { function n ( e , t , n , r ) { var i , o , a , s , u , c , l , f , h , m ; if ( ( t ? t . ownerDocument || t : _ ) !== P && O ( t ) , t = t || P , n = n || [ ] , ! e || "string" != typeof e ) return n ; if ( 1 !== ( s = t . nodeType ) && 9 !== s ) return [ ] ; if ( M && ! r ) { if ( i = $t . exec ( e ) ) if ( a = i [ 1 ] ) { if ( 9 === s ) { if ( o = t . getElementById ( a ) , ! o || ! o . parentNode ) return n ; if ( o . id === a ) return n . push ( o ) , n } else if ( t . ownerDocument && ( o = t . ownerDocument . getElementById ( a ) ) && H ( t , o ) && o . id === a ) return n . push ( o ) , n } else { if ( i [ 2 ] ) return et . apply ( n , t . getElementsByTagName ( e ) ) , n ; if ( ( a = i [ 3 ] ) && C . getElementsByClassName && t . getElementsByClassName ) return et . apply ( n , t . getElementsByClassName ( a ) ) , n } if ( C . qsa && ( ! I || ! I . test ( e ) ) ) { if ( f = l = q , h = t , m = 9 === s && e , 1 === s && "object" !== t . nodeName . toLowerCase ( ) ) { for ( c = p ( e ) , ( l = t . getAttribute ( "id" ) ) ? f = l . replace ( xt , "\\$&" ) : t . setAttribute ( "id" , f ) , f = "[id='" + f + "'] " , u = c . length ; u -- ; ) c [ u ] = f + d ( c [ u ] ) ; h = dt . test ( e ) && t . parentNode || t , m = c . join ( "," ) } if ( m ) try { return et . apply ( n , h . querySelectorAll ( m ) ) , n } catch ( g ) { } finally { l || t . removeAttribute ( "id" ) } } } return w ( e . replace ( lt , "$1" ) , t , n , r ) } function r ( ) { function e ( n , r ) { return t . push ( n += " " ) > k . cacheLength && delete e [ t . shift ( ) ] , e [ n ] = r } var t = [ ] ; return e } function i ( e ) { return e [ q ] = ! 0 , e } function o ( e ) { var t = P . createElement ( "div" ) ; try { return ! ! e ( t ) } catch ( n ) { return ! 1 } finally { t . parentNode && t . parentNode . removeChild ( t ) , t = null } } function a ( e , t ) { for ( var n = e . split ( "|" ) , r = e . length ; r -- ; ) k . attrHandle [ n [ r ] ] = t } function s ( e , t ) { var n = t && e , r = n && 1 === e . nodeType && 1 === t . nodeType && ( ~ t . sourceIndex || Y ) - ( ~ e . sourceIndex || Y ) ; if ( r ) return r ; if ( n ) for ( ; n = n . nextSibling ; ) if ( n === t ) return - 1 ; return e ? 1 : - 1 } function u ( e ) { return function ( t ) { var n = t . nodeName . toLowerCase ( ) ; return "input" === n && t . type === e } } function c ( e ) { return function ( t ) { var n = t . nodeName . toLowerCase ( ) ; return ( "input" === n || "button" === n ) && t . type === e } } function l ( e ) { return i ( function ( t ) { return t = + t , i ( function ( n , r ) { for ( var i , o = e ( [ ] , n . length , t ) , a = o . length ; a -- ; ) n [ i = o [ a ] ] && ( n [ i ] = ! ( r [ i ] = n [ i ] ) ) } ) } ) } function f ( ) { } function p ( e , t ) { var r , i , o , a , s , u , c , l = z [ e + " " ] ; if ( l ) return t ? 0 : l . slice ( 0 ) ; for ( s = e , u = [ ] , c = k . preFilter ; s ; ) { ( ! r || ( i = ft . exec ( s ) ) ) && ( i && ( s = s . slice ( i [ 0 ] . length ) || s ) , u . push ( o = [ ] ) ) , r = ! 1 , ( i = pt . exec ( s ) ) && ( r = i . shift ( ) , o . push ( { value : r , type : i [ 0 ] . replace ( lt , " " ) } ) , s = s . slice ( r . length ) ) ; for ( a in k . filter ) ! ( i = vt [ a ] . exec ( s ) ) || c [ a ] && ! ( i = c [ a ] ( i ) ) || ( r = i . shift ( ) , o . push ( { value : r , type : a , matches : i } ) , s = s . slice ( r . length ) ) ; if ( ! r ) break } return t ? s . length : s ? n . error ( e ) : z ( e , u ) . slice ( 0 ) } function d ( e ) { for ( var t = 0 , n = e . length , r = "" ; n > t ; t ++ ) r += e [ t ] . value ; return r } function h ( e , t , n ) { var r = t . dir , i = n && "parentNode" === r , o = U ++ ; return t . first ? function ( t , n , o ) { for ( ; t = t [ r ] ; ) if ( 1 === t . nodeType || i ) return e ( t , n , o ) } : function ( t , n , a ) { var s , u , c , l = R + " " + o ; if ( a ) { for ( ; t = t [ r ] ; ) if ( ( 1 === t . nodeType || i ) && e ( t , n , a ) ) return ! 0 } else for ( ; t = t [ r ] ; ) if ( 1 === t . nodeType || i ) if ( c = t [ q ] || ( t [ q ] = { } ) , ( u = c [ r ] ) && u [ 0 ] === l ) { if ( ( s = u [ 1 ] ) === ! 0 || s === S ) return s === ! 0 } else if ( u = c [ r ] = [ l ] , u [ 1 ] = e ( t , n , a ) || S , u [ 1 ] === ! 0 ) return ! 0 } } function m ( e ) { return e . length > 1 ? function ( t , n , r ) { for ( var i = e . length ; i -- ; ) if ( ! e [ i ] ( t , n , r ) ) return ! 1 ; return ! 0 } : e [ 0 ] } function g ( e , t , n , r , i ) { for ( var o , a = [ ] , s = 0 , u = e . length , c = null != t ; u > s ; s ++ ) ( o = e [ s ] ) && ( ! n || n ( o , r , i ) ) && ( a . push ( o ) , c && t . push ( s ) ) ; return a } function v ( e , t , n , r , o , a ) { return r && ! r [ q ] && ( r = v ( r ) ) , o && ! o [ q ] && ( o = v ( o , a ) ) , i ( function ( i , a , s , u ) { var c , l , f , p = [ ] , d = [ ] , h = a . length , m = i || b ( t || "*" , s . nodeType ? [ s ] : s , [ ] ) , v = ! e || ! i && t ? m : g ( m , p , e , s , u ) , y = n ? o || ( i ? e : h || r ) ? [ ] : a : v ; if ( n && n ( v , y , s , u ) , r ) for ( c = g ( y , d ) , r ( c , [ ] , s , u ) , l = c . length ; l -- ; ) ( f = c [ l ] ) && ( y [ d [ l ] ] = ! ( v [ d [ l ] ] = f ) ) ; if ( i ) { if ( o || e ) { if ( o ) { for ( c = [ ] , l = y . length ; l -- ; ) ( f = y [ l ] ) && c . push ( v [ l ] = f ) ; o ( null , y = [ ] , c , u ) } for ( l = y . length ; l -- ; ) ( f = y [ l ] ) && ( c = o ? nt . call ( i , f ) : p [ l ] ) > - 1 && ( i [ c ] = ! ( a [ c ] = f ) ) } } else y = g ( y === a ? y . splice ( h , y . length ) : y ) , o ? o ( null , a , y , u ) : et . apply ( a , y ) } ) } function y ( e ) { for ( var t , n , r , i = e . length , o = k . relative [ e [ 0 ] . type ] , a = o || k . relative [ " " ] , s = o ? 1 : 0 , u = h ( function ( e ) { return e === t } , a , ! 0 ) , c = h ( function ( e ) { return nt . call ( t , e ) > - 1 } , a , ! 0 ) , l = [ function ( e , n , r ) { return ! o && ( r || n !== N ) || ( ( t = n ) . nodeType ? u ( e , n , r ) : c ( e , n , r ) ) } ] ; i > s ; s ++ ) if ( n = k . relative [ e [ s ] . type ] ) l = [ h ( m ( l ) , n ) ] ; else { if ( n = k . filter [ e [ s ] . type ] . apply ( null , e [ s ] . matches ) , n [ q ] ) { for ( r = ++ s ; i > r && ! k . relative [ e [ r ] . type ] ; r ++ ) ; return v ( s > 1 && m ( l ) , s > 1 && d ( e . slice ( 0 , s - 1 ) . concat ( { value : " " === e [ s - 2 ] . type ? "*" : "" } ) ) . repla
a && ! p . length && ( f . teardown && f . teardown . call ( e , h , g . handle ) !== ! 1 || ot . removeEvent ( e , d , g . handle ) , delete u [ d ] ) } else for ( d in u ) ot . event . remove ( e , d + t [ c ] , n , r , ! 0 ) ; ot . isEmptyObject ( u ) && ( delete g . handle , gt . remove ( e , "events" ) ) } } , trigger : function ( n , r , i , o ) { var a , s , u , c , l , f , p , d = [ i || V ] , h = rt . call ( n , "type" ) ? n . type : n , m = rt . call ( n , "namespace" ) ? n . namespace . split ( "." ) : [ ] ; if ( s = u = i = i || V , 3 !== i . nodeType && 8 !== i . nodeType && ! Tt . test ( h + ot . event . triggered ) && ( h . indexOf ( "." ) >= 0 && ( m = h . split ( "." ) , h = m . shift ( ) , m . sort ( ) ) , l = h . indexOf ( ":" ) < 0 && "on" + h , n = n [ ot . expando ] ? n : new ot . Event ( h , "object" == typeof n && n ) , n . isTrigger = o ? 2 : 3 , n . namespace = m . join ( "." ) , n . namespace _re = n . namespace ? new RegExp ( "(^|\\.)" + m . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null , n . result = t , n . target || ( n . target = i ) , r = null == r ? [ n ] : ot . makeArray ( r , [ n ] ) , p = ot . event . special [ h ] || { } , o || ! p . trigger || p . trigger . apply ( i , r ) !== ! 1 ) ) { if ( ! o && ! p . noBubble && ! ot . isWindow ( i ) ) { for ( c = p . delegateType || h , Tt . test ( c + h ) || ( s = s . parentNode ) ; s ; s = s . parentNode ) d . push ( s ) , u = s ; u === ( i . ownerDocument || V ) && d . push ( u . defaultView || u . parentWindow || e ) } for ( a = 0 ; ( s = d [ a ++ ] ) && ! n . isPropagationStopped ( ) ; ) n . type = a > 1 ? c : p . bindType || h , f = ( gt . get ( s , "events" ) || { } ) [ n . type ] && gt . get ( s , "handle" ) , f && f . apply ( s , r ) , f = l && s [ l ] , f && ot . acceptData ( s ) && f . apply && f . apply ( s , r ) === ! 1 && n . preventDefault ( ) ; return n . type = h , o || n . isDefaultPrevented ( ) || p . _default && p . _default . apply ( d . pop ( ) , r ) !== ! 1 || ! ot . acceptData ( i ) || l && ot . isFunction ( i [ h ] ) && ! ot . isWindow ( i ) && ( u = i [ l ] , u && ( i [ l ] = null ) , ot . event . triggered = h , i [ h ] ( ) , ot . event . triggered = t , u && ( i [ l ] = u ) ) , n . result } } , dispatch : function ( e ) { e = ot . event . fix ( e ) ; var n , r , i , o , a , s = [ ] , u = et . call ( arguments ) , c = ( gt . get ( this , "events" ) || { } ) [ e . type ] || [ ] , l = ot . event . special [ e . type ] || { } ; if ( u [ 0 ] = e , e . delegateTarget = this , ! l . preDispatch || l . preDispatch . call ( this , e ) !== ! 1 ) { for ( s = ot . event . handlers . call ( this , e , c ) , n = 0 ; ( o = s [ n ++ ] ) && ! e . isPropagationStopped ( ) ; ) for ( e . currentTarget = o . elem , r = 0 ; ( a = o . handlers [ r ++ ] ) && ! e . isImmediatePropagationStopped ( ) ; ) ( ! e . namespace _re || e . namespace _re . test ( a . namespace ) ) && ( e . handleObj = a , e . data = a . data , i = ( ( ot . event . special [ a . origType ] || { } ) . handle || a . handler ) . apply ( o . elem , u ) , i !== t && ( e . result = i ) === ! 1 && ( e . preventDefault ( ) , e . stopPropagation ( ) ) ) ; return l . postDispatch && l . postDispatch . call ( this , e ) , e . result } } , handlers : function ( e , n ) { var r , i , o , a , s = [ ] , u = n . delegateCount , c = e . target ; if ( u && c . nodeType && ( ! e . button || "click" !== e . type ) ) for ( ; c !== this ; c = c . parentNode || this ) if ( c . disabled !== ! 0 || "click" !== e . type ) { for ( i = [ ] , r = 0 ; u > r ; r ++ ) a = n [ r ] , o = a . selector + " " , i [ o ] === t && ( i [ o ] = a . needsContext ? ot ( o , this ) . index ( c ) >= 0 : ot . find ( o , this , null , [ c ] ) . length ) , i [ o ] && i . push ( a ) ; i . length && s . push ( { elem : c , handlers : i } ) } return u < n . length && s . push ( { elem : this , handlers : n . slice ( u ) } ) , s } , 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 ( e , t ) { return null == e . which && ( e . which = null != t . charCode ? t . charCode : t . keyCode ) , e } } , mouseHooks : { props : "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement" . split ( " " ) , filter : function ( e , n ) { var r , i , o , a = n . button ; return null == e . pageX && null != n . clientX && ( r = e . target . ownerDocument || V , i = r . documentElement , o = r . body , e . pageX = n . clientX + ( i && i . scrollLeft || o && o . scrollLeft || 0 ) - ( i && i . clientLeft || o && o . clientLeft || 0 ) , e . pageY = n . clientY + ( i && i . scrollTop || o && o . scrollTop || 0 ) - ( i && i . clientTop || o && o . clientTop || 0 ) ) , e . which || a === t || ( e . which = 1 & a ? 1 : 2 & a ? 3 : 4 & a ? 2 : 0 ) , e } } , fix : function ( e ) { if ( e [ ot . expando ] ) return e ; var t , n , r , i = e . type , o = e , a = this . fixHooks [ i ] ; for ( a || ( this . fixHooks [ i ] = a = kt . test ( i ) ? this . mouseHooks : St . test ( i ) ? this . keyHooks : { } ) , r = a . props ? this . props . concat ( a . props ) : this . props , e = new ot . Event ( o ) , t = r . length ; t -- ; ) n = r [ t ] , e [ n ] = o [ n ] ; return e . target || ( e . target = V ) , 3 === e . target . nodeType && ( e . target = e . target . parentNode ) , a . filter ? a . filter ( e , o ) : e } , special : { load : { noBubble : ! 0 } , focus : { trigger : function ( ) { return this !== u ( ) && this . focus ? ( this . focus ( ) , ! 1 ) : void 0 } , delegateType : "focusin" } , blur : { trigger : function ( ) { return this === u ( ) && this . blur ? ( this . blur ( ) , ! 1 ) : void 0 } , delegateType : "focusout" } , click : { trigger : function ( ) { return "checkbox" === this . type && this . click && ot . n
} ) . length } ) , ot . fn . offset = function ( e ) { if ( arguments . length ) return e === t ? this : this . each ( function ( t ) { ot . offset . setOffset ( this , e , t ) } ) ; var n , r , i = this [ 0 ] , o = { top : 0 , left : 0 } , a = i && i . ownerDocument ; if ( a ) return n = a . documentElement , ot . contains ( n , i ) ? ( typeof i . getBoundingClientRect !== B && ( o = i . getBoundingClientRect ( ) ) , r = _ ( a ) , { top : o . top + r . pageYOffset - n . clientTop , left : o . left + r . pageXOffset - n . clientLeft } ) : o } , ot . offset = { setOffset : function ( e , t , n ) { var r , i , o , a , s , u , c , l = ot . css ( e , "position" ) , f = ot ( e ) , p = { } ; "static" === l && ( e . style . position = "relative" ) , s = f . offset ( ) , o = ot . css ( e , "top" ) , u = ot . css ( e , "left" ) , c = ( "absolute" === l || "fixed" === l ) && ( o + u ) . indexOf ( "auto" ) > - 1 , c ? ( r = f . position ( ) , a = r . top , i = r . left ) : ( a = parseFloat ( o ) || 0 , i = parseFloat ( u ) || 0 ) , ot . isFunction ( t ) && ( t = t . call ( e , n , s ) ) , null != t . top && ( p . top = t . top - s . top + a ) , null != t . left && ( p . left = t . left - s . left + i ) , "using" in t ? t . using . call ( e , p ) : f . css ( p ) } } , ot . fn . extend ( { position : function ( ) { if ( this [ 0 ] ) { var e , t , n = this [ 0 ] , r = { top : 0 , left : 0 } ; return "fixed" === ot . css ( n , "position" ) ? t = n . getBoundingClientRect ( ) : ( e = this . offsetParent ( ) , t = this . offset ( ) , ot . nodeName ( e [ 0 ] , "html" ) || ( r = e . offset ( ) ) , r . top += ot . css ( e [ 0 ] , "borderTopWidth" , ! 0 ) , r . left += ot . css ( e [ 0 ] , "borderLeftWidth" , ! 0 ) ) , { top : t . top - r . top - ot . css ( n , "marginTop" , ! 0 ) , left : t . left - r . left - ot . css ( n , "marginLeft" , ! 0 ) } } } , offsetParent : function ( ) { return this . map ( function ( ) { for ( var e = this . offsetParent || W ; e && ! ot . nodeName ( e , "html" ) && "static" === ot . css ( e , "position" ) ; ) e = e . offsetParent ; return e || W } ) } } ) , ot . each ( { scrollLeft : "pageXOffset" , scrollTop : "pageYOffset" } , function ( n , r ) { var i = "pageYOffset" === r ; ot . fn [ n ] = function ( o ) { return ot . access ( this , function ( n , o , a ) { var s = _ ( n ) ; return a === t ? s ? s [ r ] : n [ o ] : ( s ? s . scrollTo ( i ? e . pageXOffset : a , i ? a : e . pageYOffset ) : n [ o ] = a , void 0 ) } , n , o , arguments . length , null ) } } ) , ot . each ( { Height : "height" , Width : "width" } , function ( e , n ) { ot . each ( { padding : "inner" + e , content : n , "" : "outer" + e } , function ( r , i ) { ot . fn [ i ] = function ( i , o ) { var a = arguments . length && ( r || "boolean" != typeof i ) , s = r || ( i === ! 0 || o === ! 0 ? "margin" : "border" ) ; return ot . access ( this , function ( n , r , i ) { var o ; return ot . isWindow ( n ) ? n . document . documentElement [ "client" + e ] : 9 === n . nodeType ? ( o = n . documentElement , Math . max ( n . body [ "scroll" + e ] , o [ "scroll" + e ] , n . body [ "offset" + e ] , o [ "offset" + e ] , o [ "client" + e ] ) ) : i === t ? ot . css ( n , r , s ) : ot . style ( n , r , i , s ) } , n , a ? i : t , a , null ) } } ) } ) , ot . fn . size = function ( ) { return this . length } , ot . fn . andSelf = ot . fn . addBack , "object" == typeof module && module && "object" == typeof module . exports ? module . exports = ot : "function" == typeof define && define . amd && define ( "jquery" , [ ] , function ( ) { return ot } ) , "object" == typeof e && "object" == typeof e . document && ( e . jQuery = e . $ = ot ) } ( window ) , function ( e , t , n ) { "use strict" ; function r ( e ) { return function ( ) { var t , n , r = arguments [ 0 ] , i = "[" + ( e ? e + ":" : "" ) + r + "] " , o = arguments [ 1 ] , a = arguments , s = function ( e ) { return "function" == typeof e ? e . toString ( ) . replace ( / \{[\s\S]*$/ , "" ) : "undefined" == typeof e ? "undefined" : "string" != typeof e ? JSON . stringify ( e ) : e } ; for ( t = i + o . replace ( /\{\d+\}/g , function ( e ) { var t , n = + e . slice ( 1 , - 1 ) ; return n + 2 < a . length ? ( t = a [ n + 2 ] , "function" == typeof t ? t . toString ( ) . replace ( / ?\{[\s\S]*$/ , "" ) : "undefined" == typeof t ? "undefined" : "string" != typeof t ? U ( t ) : t ) : e } ) , t = t + "\nhttp://errors.angularjs.org/1.2.22/" + ( e ? e + "/" : "" ) + r , n = 2 ; n < arguments . length ; n ++ ) t = t + ( 2 == n ? "?" : "&" ) + "p" + ( n - 2 ) + "=" + encodeURIComponent ( s ( arguments [ n ] ) ) ; return new Error ( t ) } } function i ( e ) { if ( null == e || k ( e ) ) return ! 1 ; var t = e . length ; return 1 === e . nodeType && t ? ! 0 : b ( e ) || Nr ( e ) || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function o ( e , t , n ) { var r ; if ( e ) if ( C ( e ) ) for ( r in e ) "prototype" == r || "length" == r || "name" == r || e . hasOwnProperty && ! e . hasOwnProperty ( r ) || t . call ( n , e [ r ] , r ) ; else if ( Nr ( e ) || i ( e ) ) for ( r = 0 ; r < e . length ; r ++ ) t . call ( n , e [ r ] , r ) ; else if ( e . forEach && e . forEach !== o ) e . forEach ( t , n ) ; else for ( r in e ) e . hasOwnProperty ( r ) && t . call ( n , e [ r ] , r ) ; return e } function a ( e ) { var t = [ ] ; for ( var n in e ) e . hasOwnProperty ( n ) && t . push ( n ) ; return t . sort ( ) } function s ( e , t , n ) { for ( var r = a ( e ) , i = 0 ; i < r . length ; i ++ ) t . call ( n , e [ r [ i ] ] , r [ i ] ) ; return r } function u ( e ) { return function ( t , n ) { e ( n , t ) } } function c ( ) { for ( var e , t = Ar . length ; t ; ) { if ( t -- , e = Ar [ t ] . charCodeAt ( 0 ) , 57 == e ) return Ar [ t ] = "A" , Ar . join ( "" ) ; if ( 90 != e ) return Ar [ t ] = String . fromCharCode ( e + 1 ) , Ar . join ( "" ) ; Ar [ t ] = "0" } return Ar . unshi
} ) , function ( e , t , n , r , i ) { var o = i ; d ? ( d . push ( t ) , d . push ( n ) , d . push ( r ) , d . push ( o ) ) : ( c . transcludeOnThisElement && ( o = N ( t , c . transclude , i ) ) , c ( l , t , n , r , o ) ) } } function R ( e , t ) { var n = t . priority - e . priority ; return 0 !== n ? n : e . name !== t . name ? e . name < t . name ? - 1 : 1 : e . index - t . index } function U ( e , t , n , r ) { if ( t ) throw ni ( "multidir" , "Multiple directives [{0}, {1}] asking for {2} on: {3}" , t . name , n . name , e , V ( r ) ) } function B ( e , t ) { var n = r ( t , ! 0 ) ; n && e . push ( { priority : 0 , compile : function ( e ) { var t = e . parent ( ) , r = t . length ; return r && E ( e . parent ( ) , "ng-binding" ) , function ( e , t ) { var i = t . parent ( ) , o = i . data ( "$binding" ) || [ ] ; o . push ( n ) , i . data ( "$binding" , o ) , r || E ( i , "ng-binding" ) , e . $watch ( n , function ( e ) { t [ 0 ] . nodeValue = e } ) } } } ) } function z ( e , t ) { if ( "srcdoc" == t ) return x . HTML ; var n = xr ( e ) ; return "xlinkHref" == t || "FORM" == n && "action" == t || "IMG" != n && ( "src" == t || "ngSrc" == t ) ? x . RESOURCE _URL : void 0 } function W ( e , t , n , i ) { var o = r ( n , ! 0 ) ; if ( o ) { if ( "multiple" === i && "SELECT" === xr ( e ) ) throw ni ( "selmulti" , "Binding to the 'multiple' attribute is not supported. Element: {0}" , V ( e ) ) ; t . push ( { priority : 100 , compile : function ( ) { return { pre : function ( t , n , a ) { var s = a . $$observers || ( a . $$observers = { } ) ; if ( l . test ( i ) ) throw ni ( "nodomevents" , "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead." ) ; o = r ( a [ i ] , ! 0 , z ( e , i ) ) , o && ( a [ i ] = o ( t ) , ( s [ i ] || ( s [ i ] = [ ] ) ) . $$inter = ! 0 , ( a . $$observers && a . $$observers [ i ] . $$scope || t ) . $watch ( o , function ( e , t ) { "class" === i && e != t ? a . $updateClass ( e , t ) : a . $set ( i , e ) } ) ) } } } } ) } } function X ( e , n , r ) { var i , o , a = n [ 0 ] , s = n . length , u = a . parentNode ; if ( e ) for ( i = 0 , o = e . length ; o > i ; i ++ ) if ( e [ i ] == a ) { e [ i ++ ] = r ; for ( var c = i , l = c + s - 1 , f = e . length ; f > c ; c ++ , l ++ ) f > l ? e [ c ] = e [ l ] : delete e [ c ] ; e . length -= s - 1 ; break } u && u . replaceChild ( r , a ) ; var p = t . createDocumentFragment ( ) ; p . appendChild ( a ) , r [ $r . expando ] = a [ $r . expando ] ; for ( var d = 1 , h = n . length ; h > d ; d ++ ) { var m = n [ d ] ; $r ( m ) . remove ( ) , p . appendChild ( m ) , delete n [ d ] } n [ 0 ] = r , n . length = 1 } function Q ( e , t ) { return f ( function ( ) { return e . apply ( null , arguments ) } , e , t ) } var Y = function ( e , t ) { this . $$element = e , this . $attr = t || { } } ; Y . prototype = { $normalize : Rt , $addClass : function ( e ) { e && e . length > 0 && S . addClass ( this . $$element , e ) } , $removeClass : function ( e ) { e && e . length > 0 && S . removeClass ( this . $$element , e ) } , $updateClass : function ( e , t ) { var n = Ut ( e , t ) , r = Ut ( t , e ) ; 0 === n . length ? S . removeClass ( this . $$element , r ) : 0 === r . length ? S . addClass ( this . $$element , n ) : S . setClass ( this . $$element , n , r ) } , $set : function ( e , t , r , i ) { var a , s = At ( this . $$element [ 0 ] , e ) ; s && ( this . $$element . prop ( e , t ) , i = s ) , this [ e ] = t , i ? this . $attr [ e ] = i : ( i = this . $attr [ e ] , i || ( this . $attr [ e ] = i = Z ( e , "-" ) ) ) , a = xr ( this . $$element ) , ( "A" === a && "href" === e || "IMG" === a && "src" === e ) && ( this [ e ] = t = k ( t , "src" === e ) ) , r !== ! 1 && ( null === t || t === n ? this . $$element . removeAttr ( i ) : this . $$element . attr ( i , t ) ) ; var c = this . $$observers ; c && o ( c [ e ] , function ( e ) { try { e ( t ) } catch ( n ) { u ( n ) } } ) } , $observe : function ( e , t ) { var n = this , r = n . $$observers || ( n . $$observers = { } ) , i = r [ e ] || ( r [ e ] = [ ] ) ; return i . push ( t ) , y . $evalAsync ( function ( ) { i . $$inter || t ( n [ e ] ) } ) , t } } ; var G = r . startSymbol ( ) , J = r . endSymbol ( ) , K = "{{" == G || "}}" == J ? m : function ( e ) { return e . replace ( /\{\{/g , G ) . replace ( /}}/g , J ) } , et = /^ngAttr[A-Z]/ ; return T } ] } function Rt ( e ) { return ct ( e . replace ( ri , "" ) ) } function Ut ( e , t ) { var n = "" , r = e . split ( /\s+/ ) , i = t . split ( /\s+/ ) ; e : for ( var o = 0 ; o < r . length ; o ++ ) { for ( var a = r [ o ] , s = 0 ; s < i . length ; s ++ ) if ( a == i [ s ] ) continue e ; n += ( n . length > 0 ? " " : "" ) + a } return n } function Bt ( ) { var e = { } , t = /^(\S+)(\s+as\s+(\w+))?$/ ; this . register = function ( t , n ) { rt ( t , "controller" ) , $ ( t ) ? f ( e , t ) : e [ t ] = n } , this . $get = [ "$injector" , "$window" , function ( n , i ) { return function ( o , a ) { var s , u , c , l ; if ( b ( o ) && ( u = o . match ( t ) , c = u [ 1 ] , l = u [ 3 ] , o = e . hasOwnProperty ( c ) ? e [ c ] : it ( a . $scope , c , ! 0 ) || it ( i , c , ! 0 ) , nt ( o , c , ! 0 ) ) , s = n . instantiate ( o , a ) , l ) { if ( ! a || "object" != typeof a . $scope ) throw r ( "$controller" ) ( "noscp" , "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`." , c || o . name , l ) ; a . $scope [ l ] = s } return s } } ] } function zt ( ) { this . $get = [ "$window" , function ( e ) { return $r ( e . document ) } ] } function Vt ( ) { this . $get = [ "$log" , function ( e ) { return function ( ) { e . error . apply ( e , arguments ) } } ] } function Wt ( e ) { var t , n , r , i = { } ; return e ? ( o ( e . split ( "\n" ) , function ( e ) { r = e . indexOf ( ":" ) , t = dr ( Dr ( e . substr ( 0 , r ) ) ) , n = Dr ( e . substr ( r + 1 ) ) , t && ( i [ t ] = i [ t ] ? i [
break } n || ( n = "WebkitOpacity" in l && "webkit" ) , f = ! ! ( "transition" in l || n + "Transition" in l ) , d = ! ! ( "animation" in l || n + "Animation" in l ) , ! o || f && d || ( f = b ( s . body . style . webkitTransition ) , d = b ( s . body . style . webkitAnimation ) ) } return { history : ! ( ! e . history || ! e . history . pushState || 4 > o || a ) , hashchange : "onhashchange" in e && ( ! u || u > 7 ) , hasEvent : function ( e ) { if ( "input" == e && 9 == yr ) return ! 1 ; if ( v ( i [ e ] ) ) { var t = s . createElement ( "div" ) ; i [ e ] = "on" + e in t } return i [ e ] } , csp : Or ( ) , vendorPrefix : n , transitions : f , animations : d , android : o , msie : yr , msieDocumentMode : u } } ] } function Fn ( ) { this . $get = [ "$rootScope" , "$browser" , "$q" , "$exceptionHandler" , function ( e , t , n , r ) { function i ( i , a , s ) { var u , c = n . defer ( ) , l = c . promise , f = y ( s ) && ! s ; return u = t . defer ( function ( ) { try { c . resolve ( i ( ) ) } catch ( t ) { c . reject ( t ) , r ( t ) } finally { delete o [ l . $$timeoutId ] } f || e . $apply ( ) } , a ) , l . $$timeoutId = u , o [ u ] = c , l } var o = { } ; return i . cancel = function ( e ) { return e && e . $$timeoutId in o ? ( o [ e . $$timeoutId ] . reject ( "canceled" ) , delete o [ e . $$timeoutId ] , t . defer . cancel ( e . $$timeoutId ) ) : ! 1 } , i } ] } function Ln ( e ) { var t = e ; return yr && ( wi . setAttribute ( "href" , t ) , t = wi . href ) , wi . setAttribute ( "href" , t ) , { href : wi . href , protocol : wi . protocol ? wi . protocol . replace ( /:$/ , "" ) : "" , host : wi . host , search : wi . search ? wi . search . replace ( /^\?/ , "" ) : "" , hash : wi . hash ? wi . hash . replace ( /^#/ , "" ) : "" , hostname : wi . hostname , port : wi . port , pathname : "/" === wi . pathname . charAt ( 0 ) ? wi . pathname : "/" + wi . pathname } } function Hn ( e ) { var t = b ( e ) ? Ln ( e ) : e ; return t . protocol === xi . protocol && t . host === xi . host } function qn ( ) { this . $get = g ( e ) } function _n ( e ) { function t ( r , i ) { if ( $ ( r ) ) { var a = { } ; return o ( r , function ( e , n ) { a [ n ] = t ( n , e ) } ) , a } return e . factory ( r + n , i ) } var n = "Filter" ; this . register = t , this . $get = [ "$injector" , function ( e ) { return function ( t ) { return e . get ( t + n ) } } ] , t ( "currency" , Un ) , t ( "date" , Gn ) , t ( "filter" , Rn ) , t ( "json" , Jn ) , t ( "limitTo" , Kn ) , t ( "lowercase" , Ei ) , t ( "number" , Bn ) , t ( "orderBy" , Zn ) , t ( "uppercase" , Ai ) } function Rn ( ) { return function ( e , t , n ) { if ( ! Nr ( e ) ) return e ; var r = typeof n , i = [ ] ; i . check = function ( e ) { for ( var t = 0 ; t < i . length ; t ++ ) if ( ! i [ t ] ( e ) ) return ! 1 ; return ! 0 } , "function" !== r && ( n = "boolean" === r && n ? function ( e , t ) { return Er . equals ( e , t ) } : function ( e , t ) { if ( e && t && "object" == typeof e && "object" == typeof t ) { for ( var r in e ) if ( "$" !== r . charAt ( 0 ) && hr . call ( e , r ) && n ( e [ r ] , t [ r ] ) ) return ! 0 ; return ! 1 } return t = ( "" + t ) . toLowerCase ( ) , ( "" + e ) . toLowerCase ( ) . indexOf ( t ) > - 1 } ) ; var o = function ( e , t ) { if ( "string" == typeof t && "!" === t . charAt ( 0 ) ) return ! o ( e , t . substr ( 1 ) ) ; switch ( typeof e ) { case "boolean" : case "number" : case "string" : return n ( e , t ) ; case "object" : switch ( typeof t ) { case "object" : return n ( e , t ) ; default : for ( var r in e ) if ( "$" !== r . charAt ( 0 ) && o ( e [ r ] , t ) ) return ! 0 } return ! 1 ; case "array" : for ( var i = 0 ; i < e . length ; i ++ ) if ( o ( e [ i ] , t ) ) return ! 0 ; return ! 1 ; default : return ! 1 } } ; switch ( typeof t ) { case "boolean" : case "number" : case "string" : t = { $ : t } ; case "object" : for ( var a in t ) ! function ( e ) { "undefined" != typeof t [ e ] && i . push ( function ( n ) { return o ( "$" == e ? n : n && n [ e ] , t [ e ] ) } ) } ( a ) ; break ; case "function" : i . push ( t ) ; break ; default : return e } for ( var s = [ ] , u = 0 ; u < e . length ; u ++ ) { var c = e [ u ] ; i . check ( c ) && s . push ( c ) } return s } } function Un ( e ) { var t = e . NUMBER _FORMATS ; return function ( e , n ) { return v ( n ) && ( n = t . CURRENCY _SYM ) , zn ( e , t . PATTERNS [ 1 ] , t . GROUP _SEP , t . DECIMAL _SEP , 2 ) . replace ( /\u00A4/g , n ) } } function Bn ( e ) { var t = e . NUMBER _FORMATS ; return function ( e , n ) { return zn ( e , t . PATTERNS [ 0 ] , t . GROUP _SEP , t . DECIMAL _SEP , n ) } } function zn ( e , t , n , r , i ) { if ( null == e || ! isFinite ( e ) || $ ( e ) ) return "" ; var o = 0 > e ; e = Math . abs ( e ) ; var a = e + "" , s = "" , u = [ ] , c = ! 1 ; if ( - 1 !== a . indexOf ( "e" ) ) { var l = a . match ( /([\d\.]+)e(-?)(\d+)/ ) ; l && "-" == l [ 2 ] && l [ 3 ] > i + 1 ? ( a = "0" , e = 0 ) : ( s = a , c = ! 0 ) } if ( c ) i > 0 && e > - 1 && 1 > e && ( s = e . toFixed ( i ) ) ; else { var f = ( a . split ( Ci ) [ 1 ] || "" ) . length ; v ( i ) && ( i = Math . min ( Math . max ( t . minFrac , f ) , t . maxFrac ) ) , e = + ( Math . round ( + ( e . toString ( ) + "e" + i ) ) . toString ( ) + "e" + - i ) ; var p = ( "" + e ) . split ( Ci ) , d = p [ 0 ] ; p = p [ 1 ] || "" ; var h , m = 0 , g = t . lgSize , y = t . gSize ; if ( d . length >= g + y ) for ( m = d . length - g , h = 0 ; m > h ; h ++ ) 0 === ( m - h ) % y && 0 !== h && ( s += n ) , s += d . charAt ( h ) ; for ( h = m ; h < d . length ; h ++ ) 0 === ( d . length - h ) % g && 0 !== h && ( s += n ) , s += d . charAt ( h ) ; for ( ; p . length < i ; ) p += "0" ; i && "0" !== i && ( s += r + p . substr ( 0 , i ) ) } return u . push ( o ? t . negPre : t . posPre ) , u . push ( s ) , u . push ( o ? t . negSuf : t . posSuf ) , u . join ( "" ) } function Vn ( e , t , n ) { var r = "" ; for ( 0 > e && ( r = "-" , e = - e ) , e = "" + e ; e . length < t ; ) e = "0" + e ; ret
Di [ n ] = function ( ) { return { priority : 100 , link : function ( e , r , i ) { e . $watch ( i [ n ] , function ( e ) { i . $set ( t , ! ! e ) } ) } } } } } ) , o ( [ "src" , "srcset" , "href" ] , function ( e ) { var t = Rt ( "ng-" + e ) ; Di [ t ] = function ( ) { return { priority : 99 , link : function ( n , r , i ) { var o = e , a = e ; "href" === e && "[object SVGAnimatedString]" === kr . call ( r . prop ( "href" ) ) && ( a = "xlinkHref" , i . $attr [ a ] = "xlink:href" , o = null ) , i . $observe ( t , function ( e ) { e && ( i . $set ( a , e ) , yr && o && r . prop ( o , i [ a ] ) ) } ) } } } } ) ; var Oi = { $addControl : h , $removeControl : h , $setValidity : h , $setDirty : h , $setPristine : h } ; tr . $inject = [ "$element" , "$attrs" , "$scope" , "$animate" ] ; var Pi = function ( e ) { return [ "$timeout" , function ( t ) { var r = { name : "form" , restrict : e ? "EAC" : "E" , controller : tr , compile : function ( ) { return { pre : function ( e , r , i , o ) { if ( ! i . action ) { var a = function ( e ) { e . preventDefault ? e . preventDefault ( ) : e . returnValue = ! 1 } ; Fr ( r [ 0 ] , "submit" , a ) , r . on ( "$destroy" , function ( ) { t ( function ( ) { Lr ( r [ 0 ] , "submit" , a ) } , 0 , ! 1 ) } ) } var s = r . parent ( ) . controller ( "form" ) , u = i . name || i . ngForm ; u && wn ( e , u , o , u ) , s && r . on ( "$destroy" , function ( ) { s . $removeControl ( o ) , u && wn ( e , u , n , u ) , f ( o , Oi ) } ) } } } } ; return r } ] } , ji = Pi ( ) , Mi = Pi ( ! 0 ) , Ii = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/ , Fi = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i , Li = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/ , Hi = { text : or , number : ar , url : sr , email : ur , radio : cr , checkbox : lr , hidden : h , button : h , submit : h , reset : h , file : h } , qi = [ "badInput" ] , _i = [ "$browser" , "$sniffer" , function ( e , t ) { return { restrict : "E" , require : "?ngModel" , link : function ( n , r , i , o ) { o && ( Hi [ dr ( i . type ) ] || Hi . text ) ( n , r , i , o , t , e ) } } } ] , Ri = "ng-valid" , Ui = "ng-invalid" , Bi = "ng-pristine" , zi = "ng-dirty" , Vi = [ "$scope" , "$exceptionHandler" , "$attrs" , "$element" , "$parse" , "$animate" , function ( e , t , n , i , a , s ) { function u ( e , t ) { t = t ? "-" + Z ( t , "-" ) : "" , s . removeClass ( i , ( e ? Ui : Ri ) + t ) , s . addClass ( i , ( e ? Ri : Ui ) + t ) } this . $viewValue = Number . NaN , this . $modelValue = Number . NaN , this . $parsers = [ ] , this . $formatters = [ ] , this . $viewChangeListeners = [ ] , this . $pristine = ! 0 , this . $dirty = ! 1 , this . $valid = ! 0 , this . $invalid = ! 1 , this . $name = n . name ; var c = a ( n . ngModel ) , l = c . assign ; if ( ! l ) throw r ( "ngModel" ) ( "nonassign" , "Expression '{0}' is non-assignable. Element: {1}" , n . ngModel , V ( i ) ) ; this . $render = h , this . $isEmpty = function ( e ) { return v ( e ) || "" === e || null === e || e !== e } ; var f = i . inheritedData ( "$formController" ) || Oi , p = 0 , d = this . $error = { } ; i . addClass ( Bi ) , u ( ! 0 ) , this . $setValidity = function ( e , t ) { d [ e ] !== ! t && ( t ? ( d [ e ] && p -- , p || ( u ( ! 0 ) , this . $valid = ! 0 , this . $invalid = ! 1 ) ) : ( u ( ! 1 ) , this . $invalid = ! 0 , this . $valid = ! 1 , p ++ ) , d [ e ] = ! t , u ( t , e ) , f . $setValidity ( e , t , this ) ) } , this . $setPristine = function ( ) { this . $dirty = ! 1 , this . $pristine = ! 0 , s . removeClass ( i , zi ) , s . addClass ( i , Bi ) } , this . $setViewValue = function ( n ) { this . $viewValue = n , this . $pristine && ( this . $dirty = ! 0 , this . $pristine = ! 1 , s . removeClass ( i , Bi ) , s . addClass ( i , zi ) , f . $setDirty ( ) ) , o ( this . $parsers , function ( e ) { n = e ( n ) } ) , this . $modelValue !== n && ( this . $modelValue = n , l ( e , n ) , o ( this . $viewChangeListeners , function ( e ) { try { e ( ) } catch ( n ) { t ( n ) } } ) ) } ; var m = this ; e . $watch ( function ( ) { var t = c ( e ) ; if ( m . $modelValue !== t ) { var n = m . $formatters , r = n . length ; for ( m . $modelValue = t ; r -- ; ) t = n [ r ] ( t ) ; m . $viewValue !== t && ( m . $viewValue = t , m . $render ( ) ) } return t } ) } ] , Wi = function ( ) { return { require : [ "ngModel" , "^?form" ] , controller : Vi , link : function ( e , t , n , r ) { var i = r [ 0 ] , o = r [ 1 ] || Oi ; o . $addControl ( i ) , e . $on ( "$destroy" , function ( ) { o . $removeControl ( i ) } ) } } } , Xi = g ( { require : "ngModel" , link : function ( e , t , n , r ) { r . $viewChangeListeners . push ( function ( ) { e . $eval ( n . ngChange ) } ) } } ) , Qi = function ( ) { return { require : "?ngModel" , link : function ( e , t , n , r ) { if ( r ) { n . required = ! 0 ; var i = function ( e ) { return n . required && r . $isEmpty ( e ) ? ( r . $setValidity ( "required" , ! 1 ) , void 0 ) : ( r . $setValidity ( "required" , ! 0 ) , e ) } ; r . $formatters . push ( i ) , r . $parsers . unshift ( i ) , n . $observe ( "required" , function ( ) { i ( r . $viewValue ) } ) } } } } , Yi = function ( ) { return { require : "ngModel" , link : function ( e , t , r , i ) { var a = /\/(.*)\// . exec ( r . ngList ) , s = a && new RegExp ( a [ 1 ] ) || r . ngList || "," , u = function ( e ) { if ( ! v ( e ) ) { var t = [ ] ; return e && o ( e . split ( s ) , function ( e ) { e && t . push ( Dr ( e ) ) } ) , t } } ; i . $parsers . push ( u ) , i . $formatters . push ( function ( e ) { return Nr ( e ) ? e . join ( ", " ) : n } ) , i . $isEmpty = function ( e ) { return ! e || ! e . length } } } } , Gi = /^(true|false|\d+)$/ , Ji = function ( ) { return { priority : 100 , comp
* http : //dimsemenov.com/plugins/magnific-popup/
* Copyright ( c ) 2013 Dmitry Semenov ; * /
2014-11-14 21:57:18 +00:00
function ( e ) { var t , n , r , i , o , a , s , u = "Close" , c = "BeforeClose" , l = "AfterClose" , f = "BeforeAppend" , p = "MarkupParse" , d = "Open" , h = "Change" , m = "mfp" , g = "." + m , v = "mfp-ready" , y = "mfp-removing" , $ = "mfp-prevent-close" , b = function ( ) { } , w = ! ! window . jQuery , x = e ( window ) , C = function ( e , n ) { t . ev . on ( m + e + g , n ) } , S = function ( t , n , r , i ) { var o = document . createElement ( "div" ) ; return o . className = "mfp-" + t , r && ( o . innerHTML = r ) , i ? n && n . appendChild ( o ) : ( o = e ( o ) , n && o . appendTo ( n ) ) , o } , k = function ( n , r ) { t . ev . triggerHandler ( m + n , r ) , t . st . callbacks && ( n = n . charAt ( 0 ) . toLowerCase ( ) + n . slice ( 1 ) , t . st . callbacks [ n ] && t . st . callbacks [ n ] . apply ( t , e . isArray ( r ) ? r : [ r ] ) ) } , T = function ( n ) { return n === s && t . currTemplate . closeBtn || ( t . currTemplate . closeBtn = e ( t . st . closeMarkup . replace ( "%title%" , t . st . tClose ) ) , s = n ) , t . currTemplate . closeBtn } , E = function ( ) { e . magnificPopup . instance || ( t = new b , t . init ( ) , e . magnificPopup . instance = t ) } , A = function ( ) { var e = document . createElement ( "p" ) . style , t = [ "ms" , "O" , "Moz" , "Webkit" ] ; if ( void 0 !== e . transition ) return ! 0 ; for ( ; t . length ; ) if ( t . pop ( ) + "Transition" in e ) return ! 0 ; return ! 1 } ; b . prototype = { constructor : b , init : function ( ) { var n = navigator . appVersion ; t . isIE7 = - 1 !== n . indexOf ( "MSIE 7." ) , t . isIE8 = - 1 !== n . indexOf ( "MSIE 8." ) , t . isLowIE = t . isIE7 || t . isIE8 , t . isAndroid = /android/gi . test ( n ) , t . isIOS = /iphone|ipad|ipod/gi . test ( n ) , t . supportsTransition = A ( ) , t . probablyMobile = t . isAndroid || t . isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i . test ( navigator . userAgent ) , i = e ( document ) , t . popupsCache = { } } , open : function ( n ) { r || ( r = e ( document . body ) ) ; var o ; if ( n . isObj === ! 1 ) { t . items = n . items . toArray ( ) , t . index = 0 ; var s , u = n . items ; for ( o = 0 ; u . length > o ; o ++ ) if ( s = u [ o ] , s . parsed && ( s = s . el [ 0 ] ) , s === n . el [ 0 ] ) { t . index = o ; break } } else t . items = e . isArray ( n . items ) ? n . items : [ n . items ] , t . index = n . index || 0 ; if ( t . isOpen ) return t . updateItemHTML ( ) , void 0 ; t . types = [ ] , a = "" , t . ev = n . mainEl && n . mainEl . length ? n . mainEl . eq ( 0 ) : i , n . key ? ( t . popupsCache [ n . key ] || ( t . popupsCache [ n . key ] = { } ) , t . currTemplate = t . popupsCache [ n . key ] ) : t . currTemplate = { } , t . st = e . extend ( ! 0 , { } , e . magnificPopup . defaults , n ) , t . fixedContentPos = "auto" === t . st . fixedContentPos ? ! t . probablyMobile : t . st . fixedContentPos , t . st . modal && ( t . st . closeOnContentClick = ! 1 , t . st . closeOnBgClick = ! 1 , t . st . showCloseBtn = ! 1 , t . st . enableEscapeKey = ! 1 ) , t . bgOverlay || ( t . bgOverlay = S ( "bg" ) . on ( "click" + g , function ( ) { t . close ( ) } ) , t . wrap = S ( "wrap" ) . attr ( "tabindex" , - 1 ) . on ( "click" + g , function ( e ) { t . _checkIfClose ( e . target ) && t . close ( ) } ) , t . container = S ( "container" , t . wrap ) ) , t . contentContainer = S ( "content" ) , t . st . preloader && ( t . preloader = S ( "preloader" , t . container , t . st . tLoading ) ) ; var c = e . magnificPopup . modules ; for ( o = 0 ; c . length > o ; o ++ ) { var l = c [ o ] ; l = l . charAt ( 0 ) . toUpperCase ( ) + l . slice ( 1 ) , t [ "init" + l ] . call ( t ) } k ( "BeforeOpen" ) , t . st . showCloseBtn && ( t . st . closeBtnInside ? ( C ( p , function ( e , t , n , r ) { n . close _replaceWith = T ( r . type ) } ) , a += " mfp-close-btn-in" ) : t . wrap . append ( T ( ) ) ) , t . st . alignTop && ( a += " mfp-align-top" ) , t . fixedContentPos ? t . wrap . css ( { overflow : t . st . overflowY , overflowX : "hidden" , overflowY : t . st . overflowY } ) : t . wrap . css ( { top : x . scrollTop ( ) , position : "absolute" } ) , ( t . st . fixedBgPos === ! 1 || "auto" === t . st . fixedBgPos && ! t . fixedContentPos ) && t . bgOverlay . css ( { height : i . height ( ) , position : "absolute" } ) , t . st . enableEscapeKey && i . on ( "keyup" + g , function ( e ) { 27 === e . keyCode && t . close ( ) } ) , x . on ( "resize" + g , function ( ) { t . updateSize ( ) } ) , t . st . closeOnContentClick || ( a += " mfp-auto-cursor" ) , a && t . wrap . addClass ( a ) ; var f = t . wH = x . height ( ) , h = { } ; if ( t . fixedContentPos && t . _hasScrollBar ( f ) ) { var m = t . _getScrollbarSize ( ) ; m && ( h . marginRight = m ) } t . fixedContentPos && ( t . isIE7 ? e ( "body, html" ) . css ( "overflow" , "hidden" ) : h . overflow = "hidden" ) ; var y = t . st . mainClass ; return t . isIE7 && ( y += " mfp-ie7" ) , y && t . _addClassToMFP ( y ) , t . updateItemHTML ( ) , k ( "BuildControls" ) , e ( "html" ) . css ( h ) , t . bgOverlay . add ( t . wrap ) . prependTo ( t . st . prependTo || r ) , t . _lastFocusedEl = document . activeElement , setTimeout ( function ( ) { t . content ? ( t . _addClassToMFP ( v ) , t . _setFocus ( ) ) : t . bgOverlay . addClass ( v ) , i . on ( "focusin" + g , t . _onFocusIn ) } , 16 ) , t . isOpen = ! 0 , t . updateSize ( f ) , k ( d ) , n } , close : function ( ) { t . isOpen && ( k ( c ) , t . isOpen = ! 1 , t . st . removalDelay && ! t . isLowIE && t . supportsTransition ? ( t . _addClassToMFP ( y ) , setTimeout ( function ( ) { t . _close ( ) } , t . st . removalDelay ) ) : t . _close ( ) ) } , _close : function ( ) { k ( u ) ; var n = y + " " +