2017-03-18 16:37:29 -07:00
! function ( global , factory ) { "use strict" ; "object" == typeof module && "object" == typeof module . exports ? module . exports = global . document ? factory ( global , ! 0 ) : function ( w ) { if ( ! w . document ) throw new Error ( "jQuery requires a window with a document" ) ; return factory ( w ) } : factory ( global ) } ( "undefined" != typeof window ? window : this , function ( window , noGlobal ) { "use strict" ; function DOMEval ( code , doc ) { doc = doc || document ; var script = doc . createElement ( "script" ) ; script . text = code , doc . head . appendChild ( script ) . parentNode . removeChild ( script ) } function isArrayLike ( obj ) { var length = ! ! obj && "length" in obj && obj . length , type = jQuery . type ( obj ) ; return "function" !== type && ! jQuery . isWindow ( obj ) && ( "array" === type || 0 === length || "number" == typeof length && length > 0 && length - 1 in obj ) } function nodeName ( elem , name ) { return elem . nodeName && elem . nodeName . toLowerCase ( ) === name . toLowerCase ( ) } function winnow ( elements , qualifier , not ) { return jQuery . isFunction ( qualifier ) ? jQuery . grep ( elements , function ( elem , i ) { return ! ! qualifier . call ( elem , i , elem ) !== not } ) : qualifier . nodeType ? jQuery . grep ( elements , function ( elem ) { return elem === qualifier !== not } ) : "string" != typeof qualifier ? jQuery . grep ( elements , function ( elem ) { return indexOf . call ( qualifier , elem ) > - 1 !== not } ) : risSimple . test ( qualifier ) ? jQuery . filter ( qualifier , elements , not ) : ( qualifier = jQuery . filter ( qualifier , elements ) , jQuery . grep ( elements , function ( elem ) { return indexOf . call ( qualifier , elem ) > - 1 !== not && 1 === elem . nodeType } ) ) } function sibling ( cur , dir ) { for ( ; ( cur = cur [ dir ] ) && 1 !== cur . nodeType ; ) ; return cur } function createOptions ( options ) { var object = { } ; return jQuery . each ( options . match ( rnothtmlwhite ) || [ ] , function ( _ , flag ) { object [ flag ] = ! 0 } ) , object } function Identity ( v ) { return v } function Thrower ( ex ) { throw ex } function adoptValue ( value , resolve , reject , noValue ) { var method ; try { value && jQuery . isFunction ( method = value . promise ) ? method . call ( value ) . done ( resolve ) . fail ( reject ) : value && jQuery . isFunction ( method = value . then ) ? method . call ( value , resolve , reject ) : resolve . apply ( void 0 , [ value ] . slice ( noValue ) ) } catch ( value ) { reject . apply ( void 0 , [ value ] ) } } function completed ( ) { document . removeEventListener ( "DOMContentLoaded" , completed ) , window . removeEventListener ( "load" , completed ) , jQuery . ready ( ) } function Data ( ) { this . expando = jQuery . expando + Data . uid ++ } function getData ( data ) { return "true" === data || "false" !== data && ( "null" === data ? null : data === + data + "" ? + data : rbrace . test ( data ) ? JSON . parse ( data ) : data ) } function dataAttr ( elem , key , data ) { var name ; if ( void 0 === data && 1 === elem . nodeType ) if ( name = "data-" + key . replace ( rmultiDash , "-$&" ) . toLowerCase ( ) , data = elem . getAttribute ( name ) , "string" == typeof data ) { try { data = getData ( data ) } catch ( e ) { } dataUser . set ( elem , key , data ) } else data = void 0 ; return data } function adjustCSS ( elem , prop , valueParts , tween ) { var adjusted , scale = 1 , maxIterations = 20 , currentValue = tween ? function ( ) { return tween . cur ( ) } : function ( ) { return jQuery . css ( elem , prop , "" ) } , initial = currentValue ( ) , unit = valueParts && valueParts [ 3 ] || ( jQuery . cssNumber [ prop ] ? "" : "px" ) , initialInUnit = ( jQuery . cssNumber [ prop ] || "px" !== unit && + initial ) && rcssNum . exec ( jQuery . css ( elem , prop ) ) ; if ( initialInUnit && initialInUnit [ 3 ] !== unit ) { unit = unit || initialInUnit [ 3 ] , valueParts = valueParts || [ ] , initialInUnit = + initial || 1 ; do scale = scale || ".5" , initialInUnit /= scale , jQuery . style ( elem , prop , initialInUnit + unit ) ; while ( scale !== ( scale = currentValue ( ) / initial ) && 1 !== scale && -- maxIterations ) } return valueParts && ( initialInUnit = + initialInUnit || + initial || 0 , adjusted = valueParts [ 1 ] ? initialInUnit + ( valueParts [ 1 ] + 1 ) * valueParts [ 2 ] : + valueParts [ 2 ] , tween && ( tween . unit = unit , tween . start = initialInUnit , tween . end = adjusted ) ) , adjusted } function getDefaultDisplay ( elem ) { var temp , doc = elem . ownerDocument , nodeName = elem . nodeName , display = defaultDisplayMap [ nodeName ] ; return display ? display : ( temp = doc . body . appendChild ( doc . createElement ( nodeName ) ) , display = jQuery . css ( temp , "display" ) , temp . parentNode . removeChild ( temp ) , "none" === display && ( display = "block" ) , defaultDisplayMap [ nodeName ] = display , display ) } function showHide ( elements , show ) { for ( var display , elem , values = [ ] , index = 0 , length = elements . length ; index < length ; index ++ ) elem = elements [ index ] , elem . style && ( display = elem . style . display , show ? ( "none" === display && ( values [ index ] = dataPriv . get ( elem , "display" ) || null , v
return tmp } return results } , Expr . find . CLASS = support . getElementsByClassName && function ( className , context ) { if ( "undefined" != typeof context . getElementsByClassName && documentIsHTML ) return context . getElementsByClassName ( className ) } , rbuggyMatches = [ ] , rbuggyQSA = [ ] , ( support . qsa = rnative . test ( document . querySelectorAll ) ) && ( assert ( function ( el ) { docElem . appendChild ( el ) . innerHTML = "<a id='" + expando + "'></a><select id='" + expando + "-\r\\' msallowcapture=''><option selected=''></option></select>" , el . querySelectorAll ( "[msallowcapture^='']" ) . length && rbuggyQSA . push ( "[*^$]=" + whitespace + "*(?:''|\"\")" ) , el . querySelectorAll ( "[selected]" ) . length || rbuggyQSA . push ( "\\[" + whitespace + "*(?:value|" + booleans + ")" ) , el . querySelectorAll ( "[id~=" + expando + "-]" ) . length || rbuggyQSA . push ( "~=" ) , el . querySelectorAll ( ":checked" ) . length || rbuggyQSA . push ( ":checked" ) , el . querySelectorAll ( "a#" + expando + "+*" ) . length || rbuggyQSA . push ( ".#.+[+~]" ) } ) , assert ( function ( el ) { el . innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>" ; var input = document . createElement ( "input" ) ; input . setAttribute ( "type" , "hidden" ) , el . appendChild ( input ) . setAttribute ( "name" , "D" ) , el . querySelectorAll ( "[name=d]" ) . length && rbuggyQSA . push ( "name" + whitespace + "*[*^$|!~]?=" ) , 2 !== el . querySelectorAll ( ":enabled" ) . length && rbuggyQSA . push ( ":enabled" , ":disabled" ) , docElem . appendChild ( el ) . disabled = ! 0 , 2 !== el . querySelectorAll ( ":disabled" ) . length && rbuggyQSA . push ( ":enabled" , ":disabled" ) , el . querySelectorAll ( "*,:x" ) , rbuggyQSA . push ( ",.*:" ) } ) ) , ( support . matchesSelector = rnative . test ( matches = docElem . matches || docElem . webkitMatchesSelector || docElem . mozMatchesSelector || docElem . oMatchesSelector || docElem . msMatchesSelector ) ) && assert ( function ( el ) { support . disconnectedMatch = matches . call ( el , "*" ) , matches . call ( el , "[s!='']:x" ) , rbuggyMatches . push ( "!=" , pseudos ) } ) , rbuggyQSA = rbuggyQSA . length && new RegExp ( rbuggyQSA . join ( "|" ) ) , rbuggyMatches = rbuggyMatches . length && new RegExp ( rbuggyMatches . join ( "|" ) ) , hasCompare = rnative . test ( docElem . compareDocumentPosition ) , contains = hasCompare || rnative . test ( docElem . contains ) ? function ( a , b ) { var adown = 9 === a . nodeType ? a . documentElement : a , bup = b && b . parentNode ; return a === bup || ! ( ! bup || 1 !== bup . nodeType || ! ( adown . contains ? adown . contains ( bup ) : a . compareDocumentPosition && 16 & a . compareDocumentPosition ( bup ) ) ) } : function ( a , b ) { if ( b ) for ( ; b = b . parentNode ; ) if ( b === a ) return ! 0 ; return ! 1 } , sortOrder = hasCompare ? function ( a , b ) { if ( a === b ) return hasDuplicate = ! 0 , 0 ; var compare = ! a . compareDocumentPosition - ! b . compareDocumentPosition ; return compare ? compare : ( compare = ( a . ownerDocument || a ) === ( b . ownerDocument || b ) ? a . compareDocumentPosition ( b ) : 1 , 1 & compare || ! support . sortDetached && b . compareDocumentPosition ( a ) === compare ? a === document || a . ownerDocument === preferredDoc && contains ( preferredDoc , a ) ? - 1 : b === document || b . ownerDocument === preferredDoc && contains ( preferredDoc , b ) ? 1 : sortInput ? indexOf ( sortInput , a ) - indexOf ( sortInput , b ) : 0 : 4 & compare ? - 1 : 1 ) } : function ( a , b ) { if ( a === b ) return hasDuplicate = ! 0 , 0 ; var cur , i = 0 , aup = a . parentNode , bup = b . parentNode , ap = [ a ] , bp = [ b ] ; if ( ! aup || ! bup ) return a === document ? - 1 : b === document ? 1 : aup ? - 1 : bup ? 1 : sortInput ? indexOf ( sortInput , a ) - indexOf ( sortInput , b ) : 0 ; if ( aup === bup ) return siblingCheck ( a , b ) ; for ( cur = a ; cur = cur . parentNode ; ) ap . unshift ( cur ) ; for ( cur = b ; cur = cur . parentNode ; ) bp . unshift ( cur ) ; for ( ; ap [ i ] === bp [ i ] ; ) i ++ ; return i ? siblingCheck ( ap [ i ] , bp [ i ] ) : ap [ i ] === preferredDoc ? - 1 : bp [ i ] === preferredDoc ? 1 : 0 } , document ) : document } , Sizzle . matches = function ( expr , elements ) { return Sizzle ( expr , null , null , elements ) } , Sizzle . matchesSelector = function ( elem , expr ) { if ( ( elem . ownerDocument || elem ) !== document && setDocument ( elem ) , expr = expr . replace ( rattributeQuotes , "='$1']" ) , support . matchesSelector && documentIsHTML && ! compilerCache [ expr + " " ] && ( ! rbuggyMatches || ! rbuggyMatches . test ( expr ) ) && ( ! rbuggyQSA || ! rbuggyQSA . test ( expr ) ) ) try { var ret = matches . call ( elem , expr ) ; if ( ret || support . disconnectedMatch || elem . document && 11 !== elem . document . nodeType ) return ret } catch ( e ) { } return Sizzle ( expr , document , null , [ elem ] ) . length > 0 } , Sizzle . contains = function ( context , elem ) { return ( context . ownerDocument || context ) !== document && setDocument ( context ) , contains ( context , elem ) } , Sizzle . attr = function ( elem , name ) { ( elem . ownerDocument || elem ) !=
return dataPriv . get ( elem , key ) || dataPriv . access ( elem , key , { empty : jQuery . Callbacks ( "once memory" ) . add ( function ( ) { dataPriv . remove ( elem , [ type + "queue" , key ] ) } ) } ) } } ) , jQuery . fn . extend ( { queue : function ( type , data ) { var setter = 2 ; return "string" != typeof type && ( data = type , type = "fx" , setter -- ) , arguments . length < setter ? jQuery . queue ( this [ 0 ] , type ) : void 0 === data ? this : this . each ( function ( ) { var queue = jQuery . queue ( this , type , data ) ; jQuery . _queueHooks ( this , type ) , "fx" === type && "inprogress" !== queue [ 0 ] && jQuery . dequeue ( this , type ) } ) } , dequeue : function ( type ) { return this . each ( function ( ) { jQuery . dequeue ( this , type ) } ) } , clearQueue : function ( type ) { return this . queue ( type || "fx" , [ ] ) } , promise : function ( type , obj ) { var tmp , count = 1 , defer = jQuery . Deferred ( ) , elements = this , i = this . length , resolve = function ( ) { -- count || defer . resolveWith ( elements , [ elements ] ) } ; for ( "string" != typeof type && ( obj = type , type = void 0 ) , type = type || "fx" ; i -- ; ) tmp = dataPriv . get ( elements [ i ] , type + "queueHooks" ) , tmp && tmp . empty && ( count ++ , tmp . empty . add ( resolve ) ) ; return resolve ( ) , defer . promise ( obj ) } } ) ; var pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ . source , rcssNum = new RegExp ( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$" , "i" ) , cssExpand = [ "Top" , "Right" , "Bottom" , "Left" ] , isHiddenWithinTree = function ( elem , el ) { return elem = el || elem , "none" === elem . style . display || "" === elem . style . display && jQuery . contains ( elem . ownerDocument , elem ) && "none" === jQuery . css ( elem , "display" ) } , swap = function ( elem , options , callback , args ) { var ret , name , old = { } ; for ( name in options ) old [ name ] = elem . style [ name ] , elem . style [ name ] = options [ name ] ; ret = callback . apply ( elem , args || [ ] ) ; for ( name in options ) elem . style [ name ] = old [ name ] ; return ret } , defaultDisplayMap = { } ; jQuery . fn . extend ( { show : function ( ) { return showHide ( this , ! 0 ) } , hide : function ( ) { return showHide ( this ) } , toggle : function ( state ) { return "boolean" == typeof state ? state ? this . show ( ) : this . hide ( ) : this . each ( function ( ) { isHiddenWithinTree ( this ) ? jQuery ( this ) . show ( ) : jQuery ( this ) . hide ( ) } ) } } ) ; var rcheckableType = /^(?:checkbox|radio)$/i , rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i , rscriptType = /^$|\/(?:java|ecma)script/i , wrapMap = { option : [ 1 , "<select multiple='multiple'>" , "</select>" ] , thead : [ 1 , "<table>" , "</table>" ] , col : [ 2 , "<table><colgroup>" , "</colgroup></table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : [ 0 , "" , "" ] } ; wrapMap . optgroup = wrapMap . option , wrapMap . tbody = wrapMap . tfoot = wrapMap . colgroup = wrapMap . caption = wrapMap . thead , wrapMap . th = wrapMap . td ; var rhtml = /<|&#?\w+;/ ; ! function ( ) { var fragment = document . createDocumentFragment ( ) , div = fragment . appendChild ( document . createElement ( "div" ) ) , input = document . createElement ( "input" ) ; input . setAttribute ( "type" , "radio" ) , input . setAttribute ( "checked" , "checked" ) , input . setAttribute ( "name" , "t" ) , div . appendChild ( input ) , support . checkClone = div . cloneNode ( ! 0 ) . cloneNode ( ! 0 ) . lastChild . checked , div . innerHTML = "<textarea>x</textarea>" , support . noCloneChecked = ! ! div . cloneNode ( ! 0 ) . lastChild . defaultValue } ( ) ; var documentElement = document . documentElement , rkeyEvent = /^key/ , rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/ , rtypenamespace = /^([^.]*)(?:\.(.+)|)/ ; jQuery . event = { global : { } , add : function ( elem , types , handler , data , selector ) { var handleObjIn , eventHandle , tmp , events , t , handleObj , special , handlers , type , namespaces , origType , elemData = dataPriv . get ( elem ) ; if ( elemData ) for ( handler . handler && ( handleObjIn = handler , handler = handleObjIn . handler , selector = handleObjIn . selector ) , selector && jQuery . find . matchesSelector ( documentElement , selector ) , handler . guid || ( handler . guid = jQuery . guid ++ ) , ( events = elemData . events ) || ( events = elemData . events = { } ) , ( eventHandle = elemData . handle ) || ( eventHandle = elemData . handle = function ( e ) { return "undefined" != typeof jQuery && jQuery . event . triggered !== e . type ? jQuery . event . dispatch . apply ( elem , arguments ) : void 0 } ) , types = ( types || "" ) . match ( rnothtmlwhite ) || [ "" ] , t = types . length ; t -- ; ) tmp = rtypenamespace . exec ( types [ t ] ) || [ ] , type = origType = tmp [ 1 ] , namespaces = ( tmp [ 2 ] || "" ) . split ( "." ) . sort ( ) , type && ( special = jQuery . event . special [ type ] || { } , type = ( selector ? special . delegateType : special . bindType ) || type , special = jQuery . event . special [ type ] || { } , handleObj = jQuery . extend ( { type : type , origType : origType , data : data , handler : handler , guid : han
} } ) , jQuery . fn . extend ( { hover : function ( fnOver , fnOut ) { return this . mouseenter ( fnOver ) . mouseleave ( fnOut || fnOver ) } } ) , support . focusin = "onfocusin" in window , support . focusin || jQuery . each ( { focus : "focusin" , blur : "focusout" } , function ( orig , fix ) { var handler = function ( event ) { jQuery . event . simulate ( fix , event . target , jQuery . event . fix ( event ) ) } ; jQuery . event . special [ fix ] = { setup : function ( ) { var doc = this . ownerDocument || this , attaches = dataPriv . access ( doc , fix ) ; attaches || doc . addEventListener ( orig , handler , ! 0 ) , dataPriv . access ( doc , fix , ( attaches || 0 ) + 1 ) } , teardown : function ( ) { var doc = this . ownerDocument || this , attaches = dataPriv . access ( doc , fix ) - 1 ; attaches ? dataPriv . access ( doc , fix , attaches ) : ( doc . removeEventListener ( orig , handler , ! 0 ) , dataPriv . remove ( doc , fix ) ) } } } ) ; var rbracket = /\[\]$/ , rCRLF = /\r?\n/g , rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i , rsubmittable = /^(?:input|select|textarea|keygen)/i ; jQuery . param = function ( a , traditional ) { var prefix , s = [ ] , add = function ( key , valueOrFunction ) { var value = jQuery . isFunction ( valueOrFunction ) ? valueOrFunction ( ) : valueOrFunction ; s [ s . length ] = encodeURIComponent ( key ) + "=" + encodeURIComponent ( null == value ? "" : value ) } ; if ( Array . isArray ( a ) || a . jquery && ! jQuery . isPlainObject ( a ) ) jQuery . each ( a , function ( ) { add ( this . name , this . value ) } ) ; else for ( prefix in a ) buildParams ( prefix , a [ prefix ] , traditional , add ) ; return s . join ( "&" ) } , jQuery . fn . extend ( { serialize : function ( ) { return jQuery . param ( this . serializeArray ( ) ) } , serializeArray : function ( ) { return this . map ( function ( ) { var elements = jQuery . prop ( this , "elements" ) ; return elements ? jQuery . makeArray ( elements ) : this } ) . filter ( function ( ) { var type = this . type ; return this . name && ! jQuery ( this ) . is ( ":disabled" ) && rsubmittable . test ( this . nodeName ) && ! rsubmitterTypes . test ( type ) && ( this . checked || ! rcheckableType . test ( type ) ) } ) . map ( function ( i , elem ) { var val = jQuery ( this ) . val ( ) ; return null == val ? null : Array . isArray ( val ) ? jQuery . map ( val , function ( val ) { return { name : elem . name , value : val . replace ( rCRLF , "\r\n" ) } } ) : { name : elem . name , value : val . replace ( rCRLF , "\r\n" ) } } ) . get ( ) } } ) , jQuery . fn . extend ( { wrapAll : function ( html ) { var wrap ; return this [ 0 ] && ( jQuery . isFunction ( html ) && ( html = html . call ( this [ 0 ] ) ) , wrap = jQuery ( html , this [ 0 ] . ownerDocument ) . eq ( 0 ) . clone ( ! 0 ) , this [ 0 ] . parentNode && wrap . insertBefore ( this [ 0 ] ) , wrap . map ( function ( ) { for ( var elem = this ; elem . firstElementChild ; ) elem = elem . firstElementChild ; return elem } ) . append ( this ) ) , this } , wrapInner : function ( html ) { return jQuery . isFunction ( html ) ? this . each ( function ( i ) { jQuery ( this ) . wrapInner ( html . call ( this , i ) ) } ) : this . each ( function ( ) { var self = jQuery ( this ) , contents = self . contents ( ) ; contents . length ? contents . wrapAll ( html ) : self . append ( html ) } ) } , wrap : function ( html ) { var isFunction = jQuery . isFunction ( html ) ; return this . each ( function ( i ) { jQuery ( this ) . wrapAll ( isFunction ? html . call ( this , i ) : html ) } ) } , unwrap : function ( selector ) { return this . parent ( selector ) . not ( "body" ) . each ( function ( ) { jQuery ( this ) . replaceWith ( this . childNodes ) } ) , this } } ) , jQuery . expr . pseudos . hidden = function ( elem ) { return ! jQuery . expr . pseudos . visible ( elem ) } , jQuery . expr . pseudos . visible = function ( elem ) { return ! ! ( elem . offsetWidth || elem . offsetHeight || elem . getClientRects ( ) . length ) } , support . createHTMLDocument = function ( ) { var body = document . implementation . createHTMLDocument ( "" ) . body ; return body . innerHTML = "<form></form><form></form>" , 2 === body . childNodes . length } ( ) , jQuery . parseHTML = function ( data , context , keepScripts ) { if ( "string" != typeof data ) return [ ] ; "boolean" == typeof context && ( keepScripts = context , context = ! 1 ) ; var base , parsed , scripts ; return context || ( support . createHTMLDocument ? ( context = document . implementation . createHTMLDocument ( "" ) , base = context . createElement ( "base" ) , base . href = document . location . href , context . head . appendChild ( base ) ) : context = document ) , parsed = rsingleTag . exec ( data ) , scripts = ! keepScripts && [ ] , parsed ? [ context . createElement ( parsed [ 1 ] ) ] : ( parsed = buildFragment ( [ data ] , context , scripts ) , scripts && scripts . length && jQuery ( scripts ) . remove ( ) , jQuery . merge ( [ ] , parsed . childNodes ) ) } , jQuery . offset = { setOffset : function ( elem , options , i ) { var curPosition , curLeft , curCSSTop , curTop , curOffset , curCSSLeft , calculatePosition , position = jQuery . css ( elem , "position" ) , curElem = jQuery ( elem ) , props = { } ; "static" === position && ( elem . style . position = " relati