2019-08-13 14:18:41 +00:00
/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */
! function ( a , b ) { "object" == typeof module && "object" == typeof module . exports ? module . exports = a . document ? b ( a , ! 0 ) : function ( a ) { if ( ! a . document ) throw new Error ( "jQuery requires a window with a document" ) ; return b ( a ) } : b ( a ) } ( "undefined" != typeof window ? window : this , function ( a , b ) { var c = [ ] , d = a . document , e = c . slice , f = c . concat , g = c . push , h = c . indexOf , i = { } , j = i . toString , k = i . hasOwnProperty , l = { } , m = "2.2.4" , n = function ( a , b ) { return new n . fn . init ( a , b ) } , o = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g , p = /^-ms-/ , q = /-([\da-z])/gi , r = function ( a , b ) { return b . toUpperCase ( ) } ; n . fn = n . prototype = { jquery : m , constructor : n , selector : "" , length : 0 , toArray : function ( ) { return e . call ( this ) } , get : function ( a ) { return null != a ? 0 > a ? this [ a + this . length ] : this [ a ] : e . call ( this ) } , pushStack : function ( a ) { var b = n . merge ( this . constructor ( ) , a ) ; return b . prevObject = this , b . context = this . context , b } , each : function ( a ) { return n . each ( this , a ) } , map : function ( a ) { return this . pushStack ( n . map ( this , function ( b , c ) { return a . call ( b , c , b ) } ) ) } , slice : function ( ) { return this . pushStack ( e . apply ( this , arguments ) ) } , first : function ( ) { return this . eq ( 0 ) } , last : function ( ) { return this . eq ( - 1 ) } , eq : function ( a ) { var b = this . length , c = + a + ( 0 > a ? b : 0 ) ; return this . pushStack ( c >= 0 && b > c ? [ this [ c ] ] : [ ] ) } , end : function ( ) { return this . prevObject || this . constructor ( ) } , push : g , sort : c . sort , splice : c . splice } , n . extend = n . fn . extend = function ( ) { var a , b , c , d , e , f , g = arguments [ 0 ] || { } , h = 1 , i = arguments . length , j = ! 1 ; for ( "boolean" == typeof g && ( j = g , g = arguments [ h ] || { } , h ++ ) , "object" == typeof g || n . isFunction ( g ) || ( g = { } ) , h === i && ( g = this , h -- ) ; i > h ; h ++ ) if ( null != ( a = arguments [ h ] ) ) for ( b in a ) c = g [ b ] , d = a [ b ] , g !== d && ( j && d && ( n . isPlainObject ( d ) || ( e = n . isArray ( d ) ) ) ? ( e ? ( e = ! 1 , f = c && n . isArray ( c ) ? c : [ ] ) : f = c && n . isPlainObject ( c ) ? c : { } , g [ b ] = n . extend ( j , f , d ) ) : void 0 !== d && ( g [ b ] = d ) ) ; return g } , n . extend ( { expando : "jQuery" + ( m + Math . random ( ) ) . replace ( /\D/g , "" ) , isReady : ! 0 , error : function ( a ) { throw new Error ( a ) } , noop : function ( ) { } , isFunction : function ( a ) { return "function" === n . type ( a ) } , isArray : Array . isArray , isWindow : function ( a ) { return null != a && a === a . window } , isNumeric : function ( a ) { var b = a && a . toString ( ) ; return ! n . isArray ( a ) && b - parseFloat ( b ) + 1 >= 0 } , isPlainObject : function ( a ) { var b ; if ( "object" !== n . type ( a ) || a . nodeType || n . isWindow ( a ) ) return ! 1 ; if ( a . constructor && ! k . call ( a , "constructor" ) && ! k . call ( a . constructor . prototype || { } , "isPrototypeOf" ) ) return ! 1 ; for ( b in a ) ; return void 0 === b || k . call ( a , b ) } , isEmptyObject : function ( a ) { var b ; for ( b in a ) return ! 1 ; return ! 0 } , type : function ( a ) { return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? i [ j . call ( a ) ] || "object" : typeof a } , globalEval : function ( a ) { var b , c = eval ; a = n . trim ( a ) , a && ( 1 === a . indexOf ( "use strict" ) ? ( b = d . createElement ( "script" ) , b . text = a , d . head . appendChild ( b ) . parentNode . removeChild ( b ) ) : c ( a ) ) } , camelCase : function ( a ) { return a . replace ( p , "ms-" ) . replace ( q , r ) } , nodeName : function ( a , b ) { return a . nodeName && a . nodeName . toLowerCase ( ) === b . toLowerCase ( ) } , each : function ( a , b ) { var c , d = 0 ; if ( s ( a ) ) { for ( c = a . length ; c > d ; d ++ ) if ( b . call ( a [ d ] , d , a [ d ] ) === ! 1 ) break } else for ( d in a ) if ( b . call ( a [ d ] , d , a [ d ] ) === ! 1 ) break ; return a } , trim : function ( a ) { return null == a ? "" : ( a + "" ) . replace ( o , "" ) } , makeArray : function ( a , b ) { var c = b || [ ] ; return null != a && ( s ( Object ( a ) ) ? n . merge ( c , "string" == typeof a ? [ a ] : a ) : g . call ( c , a ) ) , c } , inArray : function ( a , b , c ) { return null == b ? - 1 : h . call ( b , a , c ) } , merge : function ( a , b ) { for ( var c = + b . length , d = 0 , e = a . length ; c > d ; d ++ ) a [ e ++ ] = b [ d ] ; return a . length = e , a } , grep : function ( a , b , c ) { for ( var d , e = [ ] , f = 0 , g = a . length , h = ! c ; g > f ; f ++ ) d = ! b ( a [ f ] , f ) , d !== h && e . push ( a [ f ] ) ; return e } , map : function ( a , b , c ) { var d , e , g = 0 , h = [ ] ; if ( s ( a ) ) for ( d = a . length ; d > g ; g ++ ) e = b ( a [ g ] , g , c ) , null != e && h . push ( e ) ; else for ( g in a ) e = b ( a [ g ] , g , c ) , null != e && h . push ( e ) ; return f . apply ( [ ] , h ) } , guid : 1 , proxy : function ( a , b ) { var c , d , f ; return "string" == typeof b && ( c = a [ b ] , b = a , a = c ) , n . isFunction ( a ) ? ( d = e . call ( arguments , 2 ) , f = function ( ) { return a . apply ( b || this , d . concat ( e . call ( arguments ) ) ) } , f . guid = a . guid = a . guid || n . guid ++ , f ) : void 0 } , now : Date . now , support : l } ) , "function" == typeof Symbol && ( n . fn [ Symbol . iterator ] = c [ Symbol . iterator ] ) , n . each ( "Boolean Number String Function Array Date RegExp Object Error Symbol" . split ( " " ) , function ( a , b ) { i [ "[object " + b + "]" ] = b . toLowerCase ( ) } ) ; function s ( a ) { var b = ! ! a && "length" in a && a . length , c = n . type ( a ) ; return "function"
} catch ( e ) { } O . set ( a , b , c ) } else c = void 0 ; return c } n . extend ( { hasData : function ( a ) { return O . hasData ( a ) || N . hasData ( a ) } , data : function ( a , b , c ) { return O . access ( a , b , c ) } , removeData : function ( a , b ) { O . remove ( a , b ) } , _data : function ( a , b , c ) { return N . access ( a , b , c ) } , _removeData : function ( a , b ) { N . remove ( a , b ) } } ) , n . fn . extend ( { data : function ( a , b ) { var c , d , e , f = this [ 0 ] , g = f && f . attributes ; if ( void 0 === a ) { if ( this . length && ( e = O . get ( f ) , 1 === f . nodeType && ! N . get ( f , "hasDataAttrs" ) ) ) { c = g . length ; while ( c -- ) g [ c ] && ( d = g [ c ] . name , 0 === d . indexOf ( "data-" ) && ( d = n . camelCase ( d . slice ( 5 ) ) , R ( f , d , e [ d ] ) ) ) ; N . set ( f , "hasDataAttrs" , ! 0 ) } return e } return "object" == typeof a ? this . each ( function ( ) { O . set ( this , a ) } ) : K ( this , function ( b ) { var c , d ; if ( f && void 0 === b ) { if ( c = O . get ( f , a ) || O . get ( f , a . replace ( Q , "-$&" ) . toLowerCase ( ) ) , void 0 !== c ) return c ; if ( d = n . camelCase ( a ) , c = O . get ( f , d ) , void 0 !== c ) return c ; if ( c = R ( f , d , void 0 ) , void 0 !== c ) return c } else d = n . camelCase ( a ) , this . each ( function ( ) { var c = O . get ( this , d ) ; O . set ( this , d , b ) , a . indexOf ( "-" ) > - 1 && void 0 !== c && O . set ( this , a , b ) } ) } , null , b , arguments . length > 1 , null , ! 0 ) } , removeData : function ( a ) { return this . each ( function ( ) { O . remove ( this , a ) } ) } } ) , n . extend ( { queue : function ( a , b , c ) { var d ; return a ? ( b = ( b || "fx" ) + "queue" , d = N . get ( a , b ) , c && ( ! d || n . isArray ( c ) ? d = N . access ( a , b , n . makeArray ( c ) ) : d . push ( c ) ) , d || [ ] ) : void 0 } , dequeue : function ( a , b ) { b = b || "fx" ; var c = n . queue ( a , b ) , d = c . length , e = c . shift ( ) , f = n . _queueHooks ( a , b ) , g = function ( ) { n . dequeue ( a , b ) } ; "inprogress" === e && ( e = c . shift ( ) , d -- ) , e && ( "fx" === b && c . unshift ( "inprogress" ) , delete f . stop , e . call ( a , g , f ) ) , ! d && f && f . empty . fire ( ) } , _queueHooks : function ( a , b ) { var c = b + "queueHooks" ; return N . get ( a , c ) || N . access ( a , c , { empty : n . Callbacks ( "once memory" ) . add ( function ( ) { N . remove ( a , [ b + "queue" , c ] ) } ) } ) } } ) , n . fn . extend ( { queue : function ( a , b ) { var c = 2 ; return "string" != typeof a && ( b = a , a = "fx" , c -- ) , arguments . length < c ? n . queue ( this [ 0 ] , a ) : void 0 === b ? this : this . each ( function ( ) { var c = n . queue ( this , a , b ) ; n . _queueHooks ( this , a ) , "fx" === a && "inprogress" !== c [ 0 ] && n . dequeue ( this , a ) } ) } , dequeue : function ( a ) { return this . each ( function ( ) { n . dequeue ( this , a ) } ) } , clearQueue : function ( a ) { return this . queue ( a || "fx" , [ ] ) } , promise : function ( a , b ) { var c , d = 1 , e = n . Deferred ( ) , f = this , g = this . length , h = function ( ) { -- d || e . resolveWith ( f , [ f ] ) } ; "string" != typeof a && ( b = a , a = void 0 ) , a = a || "fx" ; while ( g -- ) c = N . get ( f [ g ] , a + "queueHooks" ) , c && c . empty && ( d ++ , c . empty . add ( h ) ) ; return h ( ) , e . promise ( b ) } } ) ; var S = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ . source , T = new RegExp ( "^(?:([+-])=|)(" + S + ")([a-z%]*)$" , "i" ) , U = [ "Top" , "Right" , "Bottom" , "Left" ] , V = function ( a , b ) { return a = b || a , "none" === n . css ( a , "display" ) || ! n . contains ( a . ownerDocument , a ) } ; function W ( a , b , c , d ) { var e , f = 1 , g = 20 , h = d ? function ( ) { return d . cur ( ) } : function ( ) { return n . css ( a , b , "" ) } , i = h ( ) , j = c && c [ 3 ] || ( n . cssNumber [ b ] ? "" : "px" ) , k = ( n . cssNumber [ b ] || "px" !== j && + i ) && T . exec ( n . css ( a , b ) ) ; if ( k && k [ 3 ] !== j ) { j = j || k [ 3 ] , c = c || [ ] , k = + i || 1 ; do f = f || ".5" , k /= f , n . style ( a , b , k + j ) ; while ( f !== ( f = h ( ) / i ) && 1 !== f && -- g ) } return c && ( k = + k || + i || 0 , e = c [ 1 ] ? k + ( c [ 1 ] + 1 ) * c [ 2 ] : + c [ 2 ] , d && ( d . unit = j , d . start = k , d . end = e ) ) , e } var X = /^(?:checkbox|radio)$/i , Y = /<([\w:-]+)/ , Z = /^$|\/(?:java|ecma)script/i , $ = { 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 , "" , "" ] } ; $ . optgroup = $ . option , $ . tbody = $ . tfoot = $ . colgroup = $ . caption = $ . thead , $ . th = $ . td ; function _ ( a , b ) { var c = "undefined" != typeof a . getElementsByTagName ? a . getElementsByTagName ( b || "*" ) : "undefined" != typeof a . querySelectorAll ? a . querySelectorAll ( b || "*" ) : [ ] ; return void 0 === b || b && n . nodeName ( a , b ) ? n . merge ( [ a ] , c ) : c } function aa ( a , b ) { for ( var c = 0 , d = a . length ; d > c ; c ++ ) N . set ( a [ c ] , "globalEval" , ! b || N . get ( b [ c ] , "globalEval" ) ) } var ba = /<|&#?\w+;/ ; function ca ( a , b , c , d , e ) { for ( var f , g , h , i , j , k , l = b . createDocumentFragment ( ) , m = [ ] , o = 0 , p = a . length ; p > o ; o ++ ) if ( f = a [ o ] , f || 0 === f ) if ( "object" === n . type ( f ) ) n . merge ( m , f . nodeType ? [ f ] : f ) ; else if ( ba . test ( f ) ) { g = g || l . appendChild ( b . createElement ( "div" ) ) , h = ( Y . exec ( f ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) , i = $ [ h ] || $ . _default , g . innerHTML = i [ 1 ] + n . htmlPrefilter ( f ) + i [ 2 ] , k = i [ 0 ] ; while ( k -- ) g = g . lastChild ; n . merge ( m , g . childNodes ) , g = l . firstChild , g . textContent = "" } else m . push
void 0 !== c ? e && "set" in e && void 0 !== ( d = e . set ( a , c , b ) ) ? d : a [ b ] = c : e && "get" in e && null !== ( d = e . get ( a , b ) ) ? d : a [ b ] } , propHooks : { tabIndex : { get : function ( a ) { var b = n . find . attr ( a , "tabindex" ) ; return b ? parseInt ( b , 10 ) : cb . test ( a . nodeName ) || db . test ( a . nodeName ) && a . href ? 0 : - 1 } } } , propFix : { "for" : "htmlFor" , "class" : "className" } } ) , l . optSelected || ( n . propHooks . selected = { get : function ( a ) { var b = a . parentNode ; return b && b . parentNode && b . parentNode . selectedIndex , null } , set : function ( a ) { var b = a . parentNode ; b && ( b . selectedIndex , b . parentNode && b . parentNode . selectedIndex ) } } ) , n . each ( [ "tabIndex" , "readOnly" , "maxLength" , "cellSpacing" , "cellPadding" , "rowSpan" , "colSpan" , "useMap" , "frameBorder" , "contentEditable" ] , function ( ) { n . propFix [ this . toLowerCase ( ) ] = this } ) ; var eb = /[\t\r\n\f]/g ; function fb ( a ) { return a . getAttribute && a . getAttribute ( "class" ) || "" } n . fn . extend ( { addClass : function ( a ) { var b , c , d , e , f , g , h , i = 0 ; if ( n . isFunction ( a ) ) return this . each ( function ( b ) { n ( this ) . addClass ( a . call ( this , b , fb ( this ) ) ) } ) ; if ( "string" == typeof a && a ) { b = a . match ( G ) || [ ] ; while ( c = this [ i ++ ] ) if ( e = fb ( c ) , d = 1 === c . nodeType && ( " " + e + " " ) . replace ( eb , " " ) ) { g = 0 ; while ( f = b [ g ++ ] ) d . indexOf ( " " + f + " " ) < 0 && ( d += f + " " ) ; h = n . trim ( d ) , e !== h && c . setAttribute ( "class" , h ) } } return this } , removeClass : function ( a ) { var b , c , d , e , f , g , h , i = 0 ; if ( n . isFunction ( a ) ) return this . each ( function ( b ) { n ( this ) . removeClass ( a . call ( this , b , fb ( this ) ) ) } ) ; if ( ! arguments . length ) return this . attr ( "class" , "" ) ; if ( "string" == typeof a && a ) { b = a . match ( G ) || [ ] ; while ( c = this [ i ++ ] ) if ( e = fb ( c ) , d = 1 === c . nodeType && ( " " + e + " " ) . replace ( eb , " " ) ) { g = 0 ; while ( f = b [ g ++ ] ) while ( d . indexOf ( " " + f + " " ) > - 1 ) d = d . replace ( " " + f + " " , " " ) ; h = n . trim ( d ) , e !== h && c . setAttribute ( "class" , h ) } } return this } , toggleClass : function ( a , b ) { var c = typeof a ; return "boolean" == typeof b && "string" === c ? b ? this . addClass ( a ) : this . removeClass ( a ) : n . isFunction ( a ) ? this . each ( function ( c ) { n ( this ) . toggleClass ( a . call ( this , c , fb ( this ) , b ) , b ) } ) : this . each ( function ( ) { var b , d , e , f ; if ( "string" === c ) { d = 0 , e = n ( this ) , f = a . match ( G ) || [ ] ; while ( b = f [ d ++ ] ) e . hasClass ( b ) ? e . removeClass ( b ) : e . addClass ( b ) } else void 0 !== a && "boolean" !== c || ( b = fb ( this ) , b && N . set ( this , "__className__" , b ) , this . setAttribute && this . setAttribute ( "class" , b || a === ! 1 ? "" : N . get ( this , "__className__" ) || "" ) ) } ) } , hasClass : function ( a ) { var b , c , d = 0 ; b = " " + a + " " ; while ( c = this [ d ++ ] ) if ( 1 === c . nodeType && ( " " + fb ( c ) + " " ) . replace ( eb , " " ) . indexOf ( b ) > - 1 ) return ! 0 ; return ! 1 } } ) ; var gb = /\r/g , hb = /[\x20\t\r\n\f]+/g ; n . fn . extend ( { val : function ( a ) { var b , c , d , e = this [ 0 ] ; { if ( arguments . length ) return d = n . isFunction ( a ) , this . each ( function ( c ) { var e ; 1 === this . nodeType && ( e = d ? a . call ( this , c , n ( this ) . val ( ) ) : a , null == e ? e = "" : "number" == typeof e ? e += "" : n . isArray ( e ) && ( e = n . map ( e , function ( a ) { return null == a ? "" : a + "" } ) ) , b = n . valHooks [ this . type ] || n . valHooks [ this . nodeName . toLowerCase ( ) ] , b && "set" in b && void 0 !== b . set ( this , e , "value" ) || ( this . value = e ) ) } ) ; if ( e ) return b = n . valHooks [ e . type ] || n . valHooks [ e . nodeName . toLowerCase ( ) ] , b && "get" in b && void 0 !== ( c = b . get ( e , "value" ) ) ? c : ( c = e . value , "string" == typeof c ? c . replace ( gb , "" ) : null == c ? "" : c ) } } } ) , n . extend ( { valHooks : { option : { get : function ( a ) { var b = n . find . attr ( a , "value" ) ; return null != b ? b : n . trim ( n . text ( a ) ) . replace ( hb , " " ) } } , select : { get : function ( a ) { for ( var b , c , d = a . options , e = a . selectedIndex , f = "select-one" === a . type || 0 > e , g = f ? null : [ ] , h = f ? e + 1 : d . length , i = 0 > e ? h : f ? e : 0 ; h > i ; i ++ ) if ( c = d [ i ] , ( c . selected || i === e ) && ( l . optDisabled ? ! c . disabled : null === c . getAttribute ( "disabled" ) ) && ( ! c . parentNode . disabled || ! n . nodeName ( c . parentNode , "optgroup" ) ) ) { if ( b = n ( c ) . val ( ) , 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 ] , ( d . selected = n . inArray ( n . valHooks . option . get ( d ) , f ) > - 1 ) && ( c = ! 0 ) ; return c || ( a . selectedIndex = - 1 ) , f } } } } ) , n . each ( [ "radio" , "checkbox" ] , function ( ) { n . valHooks [ this ] = { set : function ( a , b ) { return n . isArray ( b ) ? a . checked = n . inArray ( n ( a ) . val ( ) , b ) > - 1 : void 0 } } , l . checkOn || ( n . valHooks [ this ] . get = function ( a ) { return null === a . getAttribute ( "value" ) ? "on" : a . value } ) } ) ; var ib = /^(?:focusinfocus|focusoutblur)$/ ; n . extend ( n . event , { trigger : function ( b , c , e , f ) { var g , h , i , j , l , m , o , p = [ e || d ] , q = k . call ( b , "type" ) ? b . type : b , r = k . call ( b , "namespace" ) ? b . namespace . split ( "." ) : [ ] ; if ( h = i = e = e || d , 3 !== e . nodeType && 8 !== e . nodeType && ! ib . test ( q + n . event . triggered ) && ( q . inde
/*! jQuery Migrate v1.4.1 | (c) jQuery Foundation and other contributors | jquery.org/license */
"undefined" == typeof jQuery . migrateMute && ( jQuery . migrateMute = ! 0 ) , function ( a , b , c ) { function d ( c ) { var d = b . console ; f [ c ] || ( f [ c ] = ! 0 , a . migrateWarnings . push ( c ) , d && d . warn && ! a . migrateMute && ( d . warn ( "JQMIGRATE: " + c ) , a . migrateTrace && d . trace && d . trace ( ) ) ) } function e ( b , c , e , f ) { if ( Object . defineProperty ) try { return void Object . defineProperty ( b , c , { configurable : ! 0 , enumerable : ! 0 , get : function ( ) { return d ( f ) , e } , set : function ( a ) { d ( f ) , e = a } } ) } catch ( g ) { } a . _definePropertyBroken = ! 0 , b [ c ] = e } a . migrateVersion = "1.4.1" ; var f = { } ; a . migrateWarnings = [ ] , b . console && b . console . log && b . console . log ( "JQMIGRATE: Migrate is installed" + ( a . migrateMute ? "" : " with logging active" ) + ", version " + a . migrateVersion ) , a . migrateTrace === c && ( a . migrateTrace = ! 0 ) , a . migrateReset = function ( ) { f = { } , a . migrateWarnings . length = 0 } , "BackCompat" === document . compatMode && d ( "jQuery is not compatible with Quirks Mode" ) ; var g = a ( "<input/>" , { size : 1 } ) . attr ( "size" ) && a . attrFn , h = a . attr , i = a . attrHooks . value && a . attrHooks . value . get || function ( ) { return null } , j = a . attrHooks . value && a . attrHooks . value . set || function ( ) { return c } , k = /^(?:input|button)$/i , l = /^[238]$/ , m = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i , n = /^(?:checked|selected)$/i ; e ( a , "attrFn" , g || { } , "jQuery.attrFn is deprecated" ) , a . attr = function ( b , e , f , i ) { var j = e . toLowerCase ( ) , o = b && b . nodeType ; return i && ( h . length < 4 && d ( "jQuery.fn.attr( props, pass ) is deprecated" ) , b && ! l . test ( o ) && ( g ? e in g : a . isFunction ( a . fn [ e ] ) ) ) ? a ( b ) [ e ] ( f ) : ( "type" === e && f !== c && k . test ( b . nodeName ) && b . parentNode && d ( "Can't change the 'type' of an input or button in IE 6/7/8" ) , ! a . attrHooks [ j ] && m . test ( j ) && ( a . attrHooks [ j ] = { get : function ( b , d ) { var e , f = a . prop ( b , d ) ; return f === ! 0 || "boolean" != typeof f && ( e = b . getAttributeNode ( d ) ) && e . nodeValue !== ! 1 ? d . toLowerCase ( ) : c } , set : function ( b , c , d ) { var e ; return c === ! 1 ? a . removeAttr ( b , d ) : ( e = a . propFix [ d ] || d , e in b && ( b [ e ] = ! 0 ) , b . setAttribute ( d , d . toLowerCase ( ) ) ) , d } } , n . test ( j ) && d ( "jQuery.fn.attr('" + j + "') might use property instead of attribute" ) ) , h . call ( a , b , e , f ) ) } , a . attrHooks . value = { get : function ( a , b ) { var c = ( a . nodeName || "" ) . toLowerCase ( ) ; return "button" === c ? i . apply ( this , arguments ) : ( "input" !== c && "option" !== c && d ( "jQuery.fn.attr('value') no longer gets properties" ) , b in a ? a . value : null ) } , set : function ( a , b ) { var c = ( a . nodeName || "" ) . toLowerCase ( ) ; return "button" === c ? j . apply ( this , arguments ) : ( "input" !== c && "option" !== c && d ( "jQuery.fn.attr('value', val) no longer sets properties" ) , void ( a . value = b ) ) } } ; var o , p , q = a . fn . init , r = a . find , s = a . parseJSON , t = /^\s*</ , u = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/ , v = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g , w = /^([^<]*)(<[\w\W]+>)([^>]*)$/ ; a . fn . init = function ( b , e , f ) { var g , h ; return b && "string" == typeof b && ! a . isPlainObject ( e ) && ( g = w . exec ( a . trim ( b ) ) ) && g [ 0 ] && ( t . test ( b ) || d ( "$(html) HTML strings must start with '<' character" ) , g [ 3 ] && d ( "$(html) HTML text after last tag is ignored" ) , "#" === g [ 0 ] . charAt ( 0 ) && ( d ( "HTML string cannot start with a '#' character" ) , a . error ( "JQMIGRATE: Invalid selector string (XSS)" ) ) , e && e . context && e . context . nodeType && ( e = e . context ) , a . parseHTML ) ? q . call ( this , a . parseHTML ( g [ 2 ] , e && e . ownerDocument || e || document , ! 0 ) , e , f ) : ( h = q . apply ( this , arguments ) , b && b . selector !== c ? ( h . selector = b . selector , h . context = b . context ) : ( h . selector = "string" == typeof b ? b : "" , b && ( h . context = b . nodeType ? b : e || document ) ) , h ) } , a . fn . init . prototype = a . fn , a . find = function ( a ) { var b = Array . prototype . slice . call ( arguments ) ; if ( "string" == typeof a && u . test ( a ) ) try { document . querySelector ( a ) } catch ( c ) { a = a . replace ( v , function ( a , b , c , d ) { return "[" + b + c + '"' + d + '"]' } ) ; try { document . querySelector ( a ) , d ( "Attribute selector with '#' must be quoted: " + b [ 0 ] ) , b [ 0 ] = a } catch ( e ) { d ( "Attribute selector with '#' was not fixed: " + b [ 0 ] ) } } return r . apply ( this , b ) } ; var x ; for ( x in r ) Object . prototype . hasOwnProperty . call ( r , x ) && ( a . find [ x ] = r [ x ] ) ; a . parseJSON = function ( a ) { return a ? s . apply ( this , arguments ) : ( d ( "jQuery.parseJSON requires a valid JSON string" ) , null ) } , a . uaMatch = function ( a ) { a = a . toLowerCase ( ) ; var b = /(chrome)[ \/]([\w.]+)/ . exec ( a ) || /(webkit)[ \/]([\w.]+)/ . exec ( a ) || /(opera)(?:.*version|)[ \/]([\w.]+)/ . exec ( a ) || /(msie) ([\w.]+)/ . exec ( a ) || a . indexOf ( " compat
2014-09-14 14:17:52 +00:00
/ * ! j Q u e r y U I - v 1 . 1 1 . 0 - 2 0 1 4 - 0 6 - 2 6
* http : //jqueryui.com
* Includes : core . js , widget . js , mouse . js , position . js , accordion . js , autocomplete . js , button . js , datepicker . js , dialog . js , draggable . js , droppable . js , effect . js , effect - blind . js , effect - bounce . js , effect - clip . js , effect - drop . js , effect - explode . js , effect - fade . js , effect - fold . js , effect - highlight . js , effect - puff . js , effect - pulsate . js , effect - scale . js , effect - shake . js , effect - size . js , effect - slide . js , effect - transfer . js , menu . js , progressbar . js , resizable . js , selectable . js , selectmenu . js , slider . js , sortable . js , spinner . js , tabs . js , tooltip . js
* Copyright 2014 jQuery Foundation and other contributors ; Licensed MIT * /
( function ( e ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , e ) : e ( jQuery ) } ) ( function ( e ) { function t ( t , s ) { var n , a , o , r = t . nodeName . toLowerCase ( ) ; return "area" === r ? ( n = t . parentNode , a = n . name , t . href && a && "map" === n . nodeName . toLowerCase ( ) ? ( o = e ( "img[usemap=#" + a + "]" ) [ 0 ] , ! ! o && i ( o ) ) : ! 1 ) : ( /input|select|textarea|button|object/ . test ( r ) ? ! t . disabled : "a" === r ? t . href || s : s ) && i ( t ) } function i ( t ) { return e . expr . filters . visible ( t ) && ! e ( t ) . parents ( ) . addBack ( ) . filter ( function ( ) { return "hidden" === e . css ( this , "visibility" ) } ) . length } function s ( e ) { for ( var t , i ; e . length && e [ 0 ] !== document ; ) { if ( t = e . css ( "position" ) , ( "absolute" === t || "relative" === t || "fixed" === t ) && ( i = parseInt ( e . css ( "zIndex" ) , 10 ) , ! isNaN ( i ) && 0 !== i ) ) return i ; e = e . parent ( ) } return 0 } function n ( ) { this . _curInst = null , this . _keyEvent = ! 1 , this . _disabledInputs = [ ] , this . _datepickerShowing = ! 1 , this . _inDialog = ! 1 , this . _mainDivId = "ui-datepicker-div" , this . _inlineClass = "ui-datepicker-inline" , this . _appendClass = "ui-datepicker-append" , this . _triggerClass = "ui-datepicker-trigger" , this . _dialogClass = "ui-datepicker-dialog" , this . _disableClass = "ui-datepicker-disabled" , this . _unselectableClass = "ui-datepicker-unselectable" , this . _currentClass = "ui-datepicker-current-day" , this . _dayOverClass = "ui-datepicker-days-cell-over" , this . regional = [ ] , this . regional [ "" ] = { closeText : "Done" , prevText : "Prev" , nextText : "Next" , currentText : "Today" , monthNames : [ "January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December" ] , monthNamesShort : [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ] , dayNames : [ "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ] , dayNamesShort : [ "Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" ] , dayNamesMin : [ "Su" , "Mo" , "Tu" , "We" , "Th" , "Fr" , "Sa" ] , weekHeader : "Wk" , dateFormat : "mm/dd/yy" , firstDay : 0 , isRTL : ! 1 , showMonthAfterYear : ! 1 , yearSuffix : "" } , this . _defaults = { showOn : "focus" , showAnim : "fadeIn" , showOptions : { } , defaultDate : null , appendText : "" , buttonText : "..." , buttonImage : "" , buttonImageOnly : ! 1 , hideIfNoPrevNext : ! 1 , navigationAsDateFormat : ! 1 , gotoCurrent : ! 1 , changeMonth : ! 1 , changeYear : ! 1 , yearRange : "c-10:c+10" , showOtherMonths : ! 1 , selectOtherMonths : ! 1 , showWeek : ! 1 , calculateWeek : this . iso8601Week , shortYearCutoff : "+10" , minDate : null , maxDate : null , duration : "fast" , beforeShowDay : null , beforeShow : null , onSelect : null , onChangeMonthYear : null , onClose : null , numberOfMonths : 1 , showCurrentAtPos : 0 , stepMonths : 1 , stepBigMonths : 12 , altField : "" , altFormat : "" , constrainInput : ! 0 , showButtonPanel : ! 1 , autoSize : ! 1 , disabled : ! 1 } , e . extend ( this . _defaults , this . regional [ "" ] ) , this . regional . en = e . extend ( ! 0 , { } , this . regional [ "" ] ) , this . regional [ "en-US" ] = e . extend ( ! 0 , { } , this . regional . en ) , this . dpDiv = a ( e ( "<div id='" + this . _mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ) } function a ( t ) { var i = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a" ; return t . delegate ( i , "mouseout" , function ( ) { e ( this ) . removeClass ( "ui-state-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-prev" ) && e ( this ) . removeClass ( "ui-datepicker-prev-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-next" ) && e ( this ) . removeClass ( "ui-datepicker-next-hover" ) } ) . delegate ( i , "mouseover" , function ( ) { e . datepicker . _isDisabledDatepicker ( g . inline ? t . parent ( ) [ 0 ] : g . input [ 0 ] ) || ( e ( this ) . parents ( ".ui-datepicker-calendar" ) . find ( "a" ) . removeClass ( "ui-state-hover" ) , e ( this ) . addClass ( "ui-state-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-prev" ) && e ( this ) . addClass ( "ui-datepicker-prev-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-next" ) && e ( this ) . addClass ( "ui-datepicker-next-hover" ) ) } ) } function o ( t , i ) { e . extend ( t , i ) ; for ( var s in i ) null == i [ s ] && ( t [ s ] = i [ s ] ) ; return t } function r ( e ) { return function ( ) { var t = this . element . val ( ) ; e . apply ( this , arguments ) , this . _refresh ( ) , t !== this . element . val ( ) && this . _trigger ( "change" ) } } e . ui = e . ui || { } , e . extend ( e . ui , { version : "1.11.0" , keyCode : { BACKSPACE : 8 , COMMA : 188 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , LEFT : 37 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SPACE : 32 , TAB : 9 , UP : 38 } } ) , e . fn . extend ( { scrollParent : function ( ) { var t = this . css ( "position" ) , i = "absolute" === t , s = this . parents ( ) . filte
} } ) } , _destroy : function ( ) { this . element . removeAttr ( "aria-activedescendant" ) . find ( ".ui-menu" ) . addBack ( ) . removeClass ( "ui-menu ui-widget ui-widget-content ui-menu-icons ui-front" ) . removeAttr ( "role" ) . removeAttr ( "tabIndex" ) . removeAttr ( "aria-labelledby" ) . removeAttr ( "aria-expanded" ) . removeAttr ( "aria-hidden" ) . removeAttr ( "aria-disabled" ) . removeUniqueId ( ) . show ( ) , this . element . find ( ".ui-menu-item" ) . removeClass ( "ui-menu-item" ) . removeAttr ( "role" ) . removeAttr ( "aria-disabled" ) . removeUniqueId ( ) . removeClass ( "ui-state-hover" ) . removeAttr ( "tabIndex" ) . removeAttr ( "role" ) . removeAttr ( "aria-haspopup" ) . children ( ) . each ( function ( ) { var t = e ( this ) ; t . data ( "ui-menu-submenu-carat" ) && t . remove ( ) } ) , this . element . find ( ".ui-menu-divider" ) . removeClass ( "ui-menu-divider ui-widget-content" ) } , _keydown : function ( t ) { function i ( e ) { return e . replace ( /[\-\[\]{}()*+?.,\\\^$|#\s]/g , "\\$&" ) } var s , n , a , o , r , h = ! 0 ; switch ( t . keyCode ) { case e . ui . keyCode . PAGE _UP : this . previousPage ( t ) ; break ; case e . ui . keyCode . PAGE _DOWN : this . nextPage ( t ) ; break ; case e . ui . keyCode . HOME : this . _move ( "first" , "first" , t ) ; break ; case e . ui . keyCode . END : this . _move ( "last" , "last" , t ) ; break ; case e . ui . keyCode . UP : this . previous ( t ) ; break ; case e . ui . keyCode . DOWN : this . next ( t ) ; break ; case e . ui . keyCode . LEFT : this . collapse ( t ) ; break ; case e . ui . keyCode . RIGHT : this . active && ! this . active . is ( ".ui-state-disabled" ) && this . expand ( t ) ; break ; case e . ui . keyCode . ENTER : case e . ui . keyCode . SPACE : this . _activate ( t ) ; break ; case e . ui . keyCode . ESCAPE : this . collapse ( t ) ; break ; default : h = ! 1 , n = this . previousFilter || "" , a = String . fromCharCode ( t . keyCode ) , o = ! 1 , clearTimeout ( this . filterTimer ) , a === n ? o = ! 0 : a = n + a , r = RegExp ( "^" + i ( a ) , "i" ) , s = this . activeMenu . find ( this . options . items ) . filter ( function ( ) { return r . test ( e ( this ) . text ( ) ) } ) , s = o && - 1 !== s . index ( this . active . next ( ) ) ? this . active . nextAll ( ".ui-menu-item" ) : s , s . length || ( a = String . fromCharCode ( t . keyCode ) , r = RegExp ( "^" + i ( a ) , "i" ) , s = this . activeMenu . find ( this . options . items ) . filter ( function ( ) { return r . test ( e ( this ) . text ( ) ) } ) ) , s . length ? ( this . focus ( t , s ) , s . length > 1 ? ( this . previousFilter = a , this . filterTimer = this . _delay ( function ( ) { delete this . previousFilter } , 1e3 ) ) : delete this . previousFilter ) : delete this . previousFilter } h && t . preventDefault ( ) } , _activate : function ( e ) { this . active . is ( ".ui-state-disabled" ) || ( this . active . is ( "[aria-haspopup='true']" ) ? this . expand ( e ) : this . select ( e ) ) } , refresh : function ( ) { var t , i , s = this , n = this . options . icons . submenu , a = this . element . find ( this . options . menus ) ; this . element . toggleClass ( "ui-menu-icons" , ! ! this . element . find ( ".ui-icon" ) . length ) , a . filter ( ":not(.ui-menu)" ) . addClass ( "ui-menu ui-widget ui-widget-content ui-front" ) . hide ( ) . attr ( { role : this . options . role , "aria-hidden" : "true" , "aria-expanded" : "false" } ) . each ( function ( ) { var t = e ( this ) , i = t . parent ( ) , s = e ( "<span>" ) . addClass ( "ui-menu-icon ui-icon " + n ) . data ( "ui-menu-submenu-carat" , ! 0 ) ; i . attr ( "aria-haspopup" , "true" ) . prepend ( s ) , t . attr ( "aria-labelledby" , i . attr ( "id" ) ) } ) , t = a . add ( this . element ) , i = t . find ( this . options . items ) , i . not ( ".ui-menu-item" ) . each ( function ( ) { var t = e ( this ) ; s . _isDivider ( t ) && t . addClass ( "ui-widget-content ui-menu-divider" ) } ) , i . not ( ".ui-menu-item, .ui-menu-divider" ) . addClass ( "ui-menu-item" ) . uniqueId ( ) . attr ( { tabIndex : - 1 , role : this . _itemRole ( ) } ) , i . filter ( ".ui-state-disabled" ) . attr ( "aria-disabled" , "true" ) , this . active && ! e . contains ( this . element [ 0 ] , this . active [ 0 ] ) && this . blur ( ) } , _itemRole : function ( ) { return { menu : "menuitem" , listbox : "option" } [ this . options . role ] } , _setOption : function ( e , t ) { "icons" === e && this . element . find ( ".ui-menu-icon" ) . removeClass ( this . options . icons . submenu ) . addClass ( t . submenu ) , "disabled" === e && this . element . toggleClass ( "ui-state-disabled" , ! ! t ) . attr ( "aria-disabled" , t ) , this . _super ( e , t ) } , focus : function ( e , t ) { var i , s ; this . blur ( e , e && "focus" === e . type ) , this . _scrollIntoView ( t ) , this . active = t . first ( ) , s = this . active . addClass ( "ui-state-focus" ) . removeClass ( "ui-state-active" ) , this . options . role && this . element . attr ( "aria-activedescendant" , s . attr ( "id" ) ) , this . active . parent ( ) . closest ( ".ui-menu-item" ) . addClass ( "ui-state-active" ) , e && "keydown" === e . type ? this . _close ( ) : this . timer = this . _delay ( function ( ) { this . _close ( ) } , this . delay ) , i = t . children ( ".ui-menu" ) , i . length && e && /^mouse/ . test ( e . type ) && this . _startOpening ( i ) , this . act
} catch ( n ) { } return ! 0 } , _showDatepicker : function ( t ) { if ( t = t . target || t , "input" !== t . nodeName . toLowerCase ( ) && ( t = e ( "input" , t . parentNode ) [ 0 ] ) , ! e . datepicker . _isDisabledDatepicker ( t ) && e . datepicker . _lastInput !== t ) { var i , n , a , r , h , l , u ; i = e . datepicker . _getInst ( t ) , e . datepicker . _curInst && e . datepicker . _curInst !== i && ( e . datepicker . _curInst . dpDiv . stop ( ! 0 , ! 0 ) , i && e . datepicker . _datepickerShowing && e . datepicker . _hideDatepicker ( e . datepicker . _curInst . input [ 0 ] ) ) , n = e . datepicker . _get ( i , "beforeShow" ) , a = n ? n . apply ( t , [ t , i ] ) : { } , a !== ! 1 && ( o ( i . settings , a ) , i . lastVal = null , e . datepicker . _lastInput = t , e . datepicker . _setDateFromField ( i ) , e . datepicker . _inDialog && ( t . value = "" ) , e . datepicker . _pos || ( e . datepicker . _pos = e . datepicker . _findPos ( t ) , e . datepicker . _pos [ 1 ] += t . offsetHeight ) , r = ! 1 , e ( t ) . parents ( ) . each ( function ( ) { return r |= "fixed" === e ( this ) . css ( "position" ) , ! r } ) , h = { left : e . datepicker . _pos [ 0 ] , top : e . datepicker . _pos [ 1 ] } , e . datepicker . _pos = null , i . dpDiv . empty ( ) , i . dpDiv . css ( { position : "absolute" , display : "block" , top : "-1000px" } ) , e . datepicker . _updateDatepicker ( i ) , h = e . datepicker . _checkOffset ( i , h , r ) , i . dpDiv . css ( { position : e . datepicker . _inDialog && e . blockUI ? "static" : r ? "fixed" : "absolute" , display : "none" , left : h . left + "px" , top : h . top + "px" } ) , i . inline || ( l = e . datepicker . _get ( i , "showAnim" ) , u = e . datepicker . _get ( i , "duration" ) , i . dpDiv . css ( "z-index" , s ( e ( t ) ) + 1 ) , e . datepicker . _datepickerShowing = ! 0 , e . effects && e . effects . effect [ l ] ? i . dpDiv . show ( l , e . datepicker . _get ( i , "showOptions" ) , u ) : i . dpDiv [ l || "show" ] ( l ? u : null ) , e . datepicker . _shouldFocusInput ( i ) && i . input . focus ( ) , e . datepicker . _curInst = i ) ) } } , _updateDatepicker : function ( t ) { this . maxRows = 4 , g = t , t . dpDiv . empty ( ) . append ( this . _generateHTML ( t ) ) , this . _attachHandlers ( t ) , t . dpDiv . find ( "." + this . _dayOverClass + " a" ) ; var i , s = this . _getNumberOfMonths ( t ) , n = s [ 1 ] , a = 17 ; t . dpDiv . removeClass ( "ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4" ) . width ( "" ) , n > 1 && t . dpDiv . addClass ( "ui-datepicker-multi-" + n ) . css ( "width" , a * n + "em" ) , t . dpDiv [ ( 1 !== s [ 0 ] || 1 !== s [ 1 ] ? "add" : "remove" ) + "Class" ] ( "ui-datepicker-multi" ) , t . dpDiv [ ( this . _get ( t , "isRTL" ) ? "add" : "remove" ) + "Class" ] ( "ui-datepicker-rtl" ) , t === e . datepicker . _curInst && e . datepicker . _datepickerShowing && e . datepicker . _shouldFocusInput ( t ) && t . input . focus ( ) , t . yearshtml && ( i = t . yearshtml , setTimeout ( function ( ) { i === t . yearshtml && t . yearshtml && t . dpDiv . find ( "select.ui-datepicker-year:first" ) . replaceWith ( t . yearshtml ) , i = t . yearshtml = null } , 0 ) ) } , _shouldFocusInput : function ( e ) { return e . input && e . input . is ( ":visible" ) && ! e . input . is ( ":disabled" ) && ! e . input . is ( ":focus" ) } , _checkOffset : function ( t , i , s ) { var n = t . dpDiv . outerWidth ( ) , a = t . dpDiv . outerHeight ( ) , o = t . input ? t . input . outerWidth ( ) : 0 , r = t . input ? t . input . outerHeight ( ) : 0 , h = document . documentElement . clientWidth + ( s ? 0 : e ( document ) . scrollLeft ( ) ) , l = document . documentElement . clientHeight + ( s ? 0 : e ( document ) . scrollTop ( ) ) ; return i . left -= this . _get ( t , "isRTL" ) ? n - o : 0 , i . left -= s && i . left === t . input . offset ( ) . left ? e ( document ) . scrollLeft ( ) : 0 , i . top -= s && i . top === t . input . offset ( ) . top + r ? e ( document ) . scrollTop ( ) : 0 , i . left -= Math . min ( i . left , i . left + n > h && h > n ? Math . abs ( i . left + n - h ) : 0 ) , i . top -= Math . min ( i . top , i . top + a > l && l > a ? Math . abs ( a + r ) : 0 ) , i } , _findPos : function ( t ) { for ( var i , s = this . _getInst ( t ) , n = this . _get ( s , "isRTL" ) ; t && ( "hidden" === t . type || 1 !== t . nodeType || e . expr . filters . hidden ( t ) ) ; ) t = t [ n ? "previousSibling" : "nextSibling" ] ; return i = e ( t ) . offset ( ) , [ i . left , i . top ] } , _hideDatepicker : function ( t ) { var i , s , n , a , o = this . _curInst ; ! o || t && o !== e . data ( t , "datepicker" ) || this . _datepickerShowing && ( i = this . _get ( o , "showAnim" ) , s = this . _get ( o , "duration" ) , n = function ( ) { e . datepicker . _tidyDialog ( o ) } , e . effects && ( e . effects . effect [ i ] || e . effects [ i ] ) ? o . dpDiv . hide ( i , e . datepicker . _get ( o , "showOptions" ) , s , n ) : o . dpDiv [ "slideDown" === i ? "slideUp" : "fadeIn" === i ? "fadeOut" : "hide" ] ( i ? s : null , n ) , i || n ( ) , this . _datepickerShowing = ! 1 , a = this . _get ( o , "onClose" ) , a && a . apply ( o . input ? o . input [ 0 ] : null , [ o . input ? o . input . val ( ) : "" , o ] ) , this . _lastInput = null , this . _inDialog && ( this . _dialogInput . css ( { position : "absolute" , left : "0" , top : "-100px" } ) , e . blockUI && ( e . unblockUI ( ) , e ( "body" ) . append ( this . dpDiv ) ) ) , this . _inDialog = ! 1 ) } , _tidyDialog : function ( e ) { e . dpDiv . removeClass ( this . _dialogClass ) . unbind ( ".ui-datepicker-calendar" ) } , _checkExternalClick : function ( t ) { if ( e . dat
} , _generatePosition : function ( e , t ) { var i , s , n , a , o = this . options , r = this . _isRootNode ( this . scrollParent [ 0 ] ) , h = e . pageX , l = e . pageY ; return r && this . offset . scroll || ( this . offset . scroll = { top : this . scrollParent . scrollTop ( ) , left : this . scrollParent . scrollLeft ( ) } ) , t && ( this . containment && ( this . relative _container ? ( s = this . relative _container . offset ( ) , i = [ this . containment [ 0 ] + s . left , this . containment [ 1 ] + s . top , this . containment [ 2 ] + s . left , this . containment [ 3 ] + s . top ] ) : i = this . containment , e . pageX - this . offset . click . left < i [ 0 ] && ( h = i [ 0 ] + this . offset . click . left ) , e . pageY - this . offset . click . top < i [ 1 ] && ( l = i [ 1 ] + this . offset . click . top ) , e . pageX - this . offset . click . left > i [ 2 ] && ( h = i [ 2 ] + this . offset . click . left ) , e . pageY - this . offset . click . top > i [ 3 ] && ( l = i [ 3 ] + this . offset . click . top ) ) , o . grid && ( n = o . grid [ 1 ] ? this . originalPageY + Math . round ( ( l - this . originalPageY ) / o . grid [ 1 ] ) * o . grid [ 1 ] : this . originalPageY , l = i ? n - this . offset . click . top >= i [ 1 ] || n - this . offset . click . top > i [ 3 ] ? n : n - this . offset . click . top >= i [ 1 ] ? n - o . grid [ 1 ] : n + o . grid [ 1 ] : n , a = o . grid [ 0 ] ? this . originalPageX + Math . round ( ( h - this . originalPageX ) / o . grid [ 0 ] ) * o . grid [ 0 ] : this . originalPageX , h = i ? a - this . offset . click . left >= i [ 0 ] || a - this . offset . click . left > i [ 2 ] ? a : a - this . offset . click . left >= i [ 0 ] ? a - o . grid [ 0 ] : a + o . grid [ 0 ] : a ) , "y" === o . axis && ( h = this . originalPageX ) , "x" === o . axis && ( l = this . originalPageY ) ) , { top : l - this . offset . click . top - this . offset . relative . top - this . offset . parent . top + ( "fixed" === this . cssPosition ? - this . offset . scroll . top : r ? 0 : this . offset . scroll . top ) , left : h - this . offset . click . left - this . offset . relative . left - this . offset . parent . left + ( "fixed" === this . cssPosition ? - this . offset . scroll . left : r ? 0 : this . offset . scroll . left ) } } , _clear : function ( ) { this . helper . removeClass ( "ui-draggable-dragging" ) , this . helper [ 0 ] === this . element [ 0 ] || this . cancelHelperRemoval || this . helper . remove ( ) , this . helper = null , this . cancelHelperRemoval = ! 1 , this . destroyOnClear && this . destroy ( ) } , _trigger : function ( t , i , s ) { return s = s || this . _uiHash ( ) , e . ui . plugin . call ( this , t , [ i , s , this ] , ! 0 ) , "drag" === t && ( this . positionAbs = this . _convertPositionTo ( "absolute" ) ) , e . Widget . prototype . _trigger . call ( this , t , i , s ) } , plugins : { } , _uiHash : function ( ) { return { helper : this . helper , position : this . position , originalPosition : this . originalPosition , offset : this . positionAbs } } } ) , e . ui . plugin . add ( "draggable" , "connectToSortable" , { start : function ( t , i , s ) { var n = s . options , a = e . extend ( { } , i , { item : s . element } ) ; s . sortables = [ ] , e ( n . connectToSortable ) . each ( function ( ) { var i = e ( this ) . sortable ( "instance" ) ; i && ! i . options . disabled && ( s . sortables . push ( { instance : i , shouldRevert : i . options . revert } ) , i . refreshPositions ( ) , i . _trigger ( "activate" , t , a ) ) } ) } , stop : function ( t , i , s ) { var n = e . extend ( { } , i , { item : s . element } ) ; e . each ( s . sortables , function ( ) { this . instance . isOver ? ( this . instance . isOver = 0 , s . cancelHelperRemoval = ! 0 , this . instance . cancelHelperRemoval = ! 1 , this . shouldRevert && ( this . instance . options . revert = this . shouldRevert ) , this . instance . _mouseStop ( t ) , this . instance . options . helper = this . instance . options . _helper , "original" === s . options . helper && this . instance . currentItem . css ( { top : "auto" , left : "auto" } ) ) : ( this . instance . cancelHelperRemoval = ! 1 , this . instance . _trigger ( "deactivate" , t , n ) ) } ) } , drag : function ( t , i , s ) { var n = this ; e . each ( s . sortables , function ( ) { var a = ! 1 , o = this ; this . instance . positionAbs = s . positionAbs , this . instance . helperProportions = s . helperProportions , this . instance . offset . click = s . offset . click , this . instance . _intersectsWith ( this . instance . containerCache ) && ( a = ! 0 , e . each ( s . sortables , function ( ) { return this . instance . positionAbs = s . positionAbs , this . instance . helperProportions = s . helperProportions , this . instance . offset . click = s . offset . click , this !== o && this . instance . _intersectsWith ( this . instance . containerCache ) && e . contains ( o . instance . element [ 0 ] , this . instance . element [ 0 ] ) && ( a = ! 1 ) , a } ) ) , a ? ( this . instance . isOver || ( this . instance . isOver = 1 , this . instance . currentItem = e ( n ) . clone ( ) . removeAttr ( "id" ) . appendTo ( this . instance . element ) . data ( "ui-sortable-item" , ! 0 ) , this . instance . options . _helper = this . instance . options . helper , this . instance . options . helper = function ( ) { return i . helper [ 0 ] } , t . target = this . instance . currentItem [ 0 ] , this . instance . _mouseCapture ( t , ! 0 ) , this . instance . _mouseStart ( t , ! 0 , ! 0 ) , this . instance . offset . click . top = s . offset . click . top , this . instance . off
} } ) , this . element . find ( "[aria-describedby]" ) . length || this . uiDialog . attr ( { "aria-describedby" : this . element . uniqueId ( ) . attr ( "id" ) } ) } , _createTitlebar : function ( ) { var t ; this . uiDialogTitlebar = e ( "<div>" ) . addClass ( "ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" ) . prependTo ( this . uiDialog ) , this . _on ( this . uiDialogTitlebar , { mousedown : function ( t ) { e ( t . target ) . closest ( ".ui-dialog-titlebar-close" ) || this . uiDialog . focus ( ) } } ) , this . uiDialogTitlebarClose = e ( "<button type='button'></button>" ) . button ( { label : this . options . closeText , icons : { primary : "ui-icon-closethick" } , text : ! 1 } ) . addClass ( "ui-dialog-titlebar-close" ) . appendTo ( this . uiDialogTitlebar ) , this . _on ( this . uiDialogTitlebarClose , { click : function ( e ) { e . preventDefault ( ) , this . close ( e ) } } ) , t = e ( "<span>" ) . uniqueId ( ) . addClass ( "ui-dialog-title" ) . prependTo ( this . uiDialogTitlebar ) , this . _title ( t ) , this . uiDialog . attr ( { "aria-labelledby" : t . attr ( "id" ) } ) } , _title : function ( e ) { this . options . title || e . html ( " " ) , e . text ( this . options . title ) } , _createButtonPane : function ( ) { this . uiDialogButtonPane = e ( "<div>" ) . addClass ( "ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" ) , this . uiButtonSet = e ( "<div>" ) . addClass ( "ui-dialog-buttonset" ) . appendTo ( this . uiDialogButtonPane ) , this . _createButtons ( ) } , _createButtons : function ( ) { var t = this , i = this . options . buttons ; return this . uiDialogButtonPane . remove ( ) , this . uiButtonSet . empty ( ) , e . isEmptyObject ( i ) || e . isArray ( i ) && ! i . length ? ( this . uiDialog . removeClass ( "ui-dialog-buttons" ) , void 0 ) : ( e . each ( i , function ( i , s ) { var n , a ; s = e . isFunction ( s ) ? { click : s , text : i } : s , s = e . extend ( { type : "button" } , s ) , n = s . click , s . click = function ( ) { n . apply ( t . element [ 0 ] , arguments ) } , a = { icons : s . icons , text : s . showText } , delete s . icons , delete s . showText , e ( "<button></button>" , s ) . button ( a ) . appendTo ( t . uiButtonSet ) } ) , this . uiDialog . addClass ( "ui-dialog-buttons" ) , this . uiDialogButtonPane . appendTo ( this . uiDialog ) , void 0 ) } , _makeDraggable : function ( ) { function t ( e ) { return { position : e . position , offset : e . offset } } var i = this , s = this . options ; this . uiDialog . draggable ( { cancel : ".ui-dialog-content, .ui-dialog-titlebar-close" , handle : ".ui-dialog-titlebar" , containment : "document" , start : function ( s , n ) { e ( this ) . addClass ( "ui-dialog-dragging" ) , i . _blockFrames ( ) , i . _trigger ( "dragStart" , s , t ( n ) ) } , drag : function ( e , s ) { i . _trigger ( "drag" , e , t ( s ) ) } , stop : function ( n , a ) { var o = a . offset . left - i . document . scrollLeft ( ) , r = a . offset . top - i . document . scrollTop ( ) ; s . position = { my : "left top" , at : "left" + ( o >= 0 ? "+" : "" ) + o + " " + "top" + ( r >= 0 ? "+" : "" ) + r , of : i . window } , e ( this ) . removeClass ( "ui-dialog-dragging" ) , i . _unblockFrames ( ) , i . _trigger ( "dragStop" , n , t ( a ) ) } } ) } , _makeResizable : function ( ) { function t ( e ) { return { originalPosition : e . originalPosition , originalSize : e . originalSize , position : e . position , size : e . size } } var i = this , s = this . options , n = s . resizable , a = this . uiDialog . css ( "position" ) , o = "string" == typeof n ? n : "n,e,s,w,se,sw,ne,nw" ; this . uiDialog . resizable ( { cancel : ".ui-dialog-content" , containment : "document" , alsoResize : this . element , maxWidth : s . maxWidth , maxHeight : s . maxHeight , minWidth : s . minWidth , minHeight : this . _minHeight ( ) , handles : o , start : function ( s , n ) { e ( this ) . addClass ( "ui-dialog-resizing" ) , i . _blockFrames ( ) , i . _trigger ( "resizeStart" , s , t ( n ) ) } , resize : function ( e , s ) { i . _trigger ( "resize" , e , t ( s ) ) } , stop : function ( n , a ) { var o = i . uiDialog . offset ( ) , r = o . left - i . document . scrollLeft ( ) , h = o . top - i . document . scrollTop ( ) ; s . height = i . uiDialog . height ( ) , s . width = i . uiDialog . width ( ) , s . position = { my : "left top" , at : "left" + ( r >= 0 ? "+" : "" ) + r + " " + "top" + ( h >= 0 ? "+" : "" ) + h , of : i . window } , e ( this ) . removeClass ( "ui-dialog-resizing" ) , i . _unblockFrames ( ) , i . _trigger ( "resizeStop" , n , t ( a ) ) } } ) . css ( "position" , a ) } , _trackFocus : function ( ) { this . _on ( this . widget ( ) , { focusin : function ( t ) { this . _untrackInstance ( ) , this . _trackingInstances ( ) . unshift ( this ) , this . _focusedElement = e ( t . target ) } } ) } , _untrackInstance : function ( ) { var t = this . _trackingInstances ( ) , i = e . inArray ( this , t ) ; - 1 !== i && t . splice ( i , 1 ) } , _trackingInstances : function ( ) { var e = this . document . data ( "ui-dialog-instances" ) ; return e || ( e = [ ] , this . document . data ( "ui-dialog-instances" , e ) ) , e } , _minHeight : function ( ) { var e = this . options ; return "auto" === e . height ? e . minHeight : Math . min ( e . minHeight , e . height ) } , _position : function ( ) { var e = this . uiDialog . is ( ":visible" )
f && e . effects . save ( i , l ) , i . from = { height : s . height * a . from . y , width : s . width * a . from . x , outerHeight : s . outerHeight * a . from . y , outerWidth : s . outerWidth * a . from . x } , i . to = { height : s . height * a . to . y , width : s . width * a . to . x , outerHeight : s . height * a . to . y , outerWidth : s . width * a . to . x } , a . from . y !== a . to . y && ( i . from = e . effects . setTransition ( i , d , a . from . y , i . from ) , i . to = e . effects . setTransition ( i , d , a . to . y , i . to ) ) , a . from . x !== a . to . x && ( i . from = e . effects . setTransition ( i , c , a . from . x , i . from ) , i . to = e . effects . setTransition ( i , c , a . to . x , i . to ) ) , i . css ( i . from ) , i . animate ( i . to , t . duration , t . easing , function ( ) { f && e . effects . restore ( i , l ) } ) } ) ) , o . animate ( o . to , { queue : ! 1 , duration : t . duration , easing : t . easing , complete : function ( ) { 0 === o . to . opacity && o . css ( "opacity" , o . from . opacity ) , "hide" === p && o . hide ( ) , e . effects . restore ( o , y ) , f || ( "static" === v ? o . css ( { position : "relative" , top : o . to . top , left : o . to . left } ) : e . each ( [ "top" , "left" ] , function ( e , t ) { o . css ( t , function ( t , i ) { var s = parseInt ( i , 10 ) , n = e ? o . to . left : o . to . top ; return "auto" === i ? n + "px" : s + n + "px" } ) } ) ) , e . effects . removeWrapper ( o ) , i ( ) } } ) } , e . effects . effect . scale = function ( t , i ) { var s = e ( this ) , n = e . extend ( ! 0 , { } , t ) , a = e . effects . setMode ( s , t . mode || "effect" ) , o = parseInt ( t . percent , 10 ) || ( 0 === parseInt ( t . percent , 10 ) ? 0 : "hide" === a ? 0 : 100 ) , r = t . direction || "both" , h = t . origin , l = { height : s . height ( ) , width : s . width ( ) , outerHeight : s . outerHeight ( ) , outerWidth : s . outerWidth ( ) } , u = { y : "horizontal" !== r ? o / 100 : 1 , x : "vertical" !== r ? o / 100 : 1 } ; n . effect = "size" , n . queue = ! 1 , n . complete = i , "effect" !== a && ( n . origin = h || [ "middle" , "center" ] , n . restore = ! 0 ) , n . from = t . from || ( "show" === a ? { height : 0 , width : 0 , outerHeight : 0 , outerWidth : 0 } : l ) , n . to = { height : l . height * u . y , width : l . width * u . x , outerHeight : l . outerHeight * u . y , outerWidth : l . outerWidth * u . x } , n . fade && ( "show" === a && ( n . from . opacity = 0 , n . to . opacity = 1 ) , "hide" === a && ( n . from . opacity = 1 , n . to . opacity = 0 ) ) , s . effect ( n ) } , e . effects . effect . puff = function ( t , i ) { var s = e ( this ) , n = e . effects . setMode ( s , t . mode || "hide" ) , a = "hide" === n , o = parseInt ( t . percent , 10 ) || 150 , r = o / 100 , h = { height : s . height ( ) , width : s . width ( ) , outerHeight : s . outerHeight ( ) , outerWidth : s . outerWidth ( ) } ; e . extend ( t , { effect : "scale" , queue : ! 1 , fade : ! 0 , mode : n , complete : i , percent : a ? o : 100 , from : a ? h : { height : h . height * r , width : h . width * r , outerHeight : h . outerHeight * r , outerWidth : h . outerWidth * r } } ) , s . effect ( t ) } , e . effects . effect . pulsate = function ( t , i ) { var s , n = e ( this ) , a = e . effects . setMode ( n , t . mode || "show" ) , o = "show" === a , r = "hide" === a , h = o || "hide" === a , l = 2 * ( t . times || 5 ) + ( h ? 1 : 0 ) , u = t . duration / l , d = 0 , c = n . queue ( ) , p = c . length ; for ( ( o || ! n . is ( ":visible" ) ) && ( n . css ( "opacity" , 0 ) . show ( ) , d = 1 ) , s = 1 ; l > s ; s ++ ) n . animate ( { opacity : d } , u , t . easing ) , d = 1 - d ; n . animate ( { opacity : d } , u , t . easing ) , n . queue ( function ( ) { r && n . hide ( ) , i ( ) } ) , p > 1 && c . splice . apply ( c , [ 1 , 0 ] . concat ( c . splice ( p , l + 1 ) ) ) , n . dequeue ( ) } , e . effects . effect . shake = function ( t , i ) { var s , n = e ( this ) , a = [ "position" , "top" , "bottom" , "left" , "right" , "height" , "width" ] , o = e . effects . setMode ( n , t . mode || "effect" ) , r = t . direction || "left" , h = t . distance || 20 , l = t . times || 3 , u = 2 * l + 1 , d = Math . round ( t . duration / u ) , c = "up" === r || "down" === r ? "top" : "left" , p = "up" === r || "left" === r , f = { } , m = { } , g = { } , v = n . queue ( ) , y = v . length ; for ( e . effects . save ( n , a ) , n . show ( ) , e . effects . createWrapper ( n ) , f [ c ] = ( p ? "-=" : "+=" ) + h , m [ c ] = ( p ? "+=" : "-=" ) + 2 * h , g [ c ] = ( p ? "-=" : "+=" ) + 2 * h , n . animate ( f , d , t . easing ) , s = 1 ; l > s ; s ++ ) n . animate ( m , d , t . easing ) . animate ( g , d , t . easing ) ; n . animate ( m , d , t . easing ) . animate ( f , d / 2 , t . easing ) . queue ( function ( ) { "hide" === o && n . hide ( ) , e . effects . restore ( n , a ) , e . effects . removeWrapper ( n ) , i ( ) } ) , y > 1 && v . splice . apply ( v , [ 1 , 0 ] . concat ( v . splice ( y , u + 1 ) ) ) , n . dequeue ( ) } , e . effects . effect . slide = function ( t , i ) { var s , n = e ( this ) , a = [ "position" , "top" , "bottom" , "left" , "right" , "width" , "height" ] , o = e . effects . setMode ( n , t . mode || "show" ) , r = "show" === o , h = t . direction || "left" , l = "up" === h || "down" === h ? "top" : "left" , u = "up" === h || "left" === h , d = { } ; e . effects . save ( n , a ) , n . show ( ) , s = t . distance || n [ "top" === l ? "outerHeight" : "outerWidth" ] ( ! 0 ) , e . effects . createWrapper ( n ) . css ( { overflow : "hidden" } ) , r && n . css ( l , u ? isNaN ( s ) ? "-" + s : - s : s ) , d [ l ] = ( r ? u ? "+=" : "-=" : u ? "-=" : "+=" ) + s , n . animate ( d , { queue : ! 1 , duration : t . duration , easing : t . easing , complete : function ( ) { "hide" === o && n . hide ( ) , e . effects . restore ( n , a ) , e . effects . removeWrapper ( n ) , i ( ) } } ) } , e . effects . effect . transfer = function ( t , i ) { var s = e ( this ) , n = e ( t . to ) , a = "fixed" === n . css
return e . ui . ddmanager && ( e . ui . ddmanager . current = this ) , e . ui . ddmanager && ! o . dropBehaviour && e . ui . ddmanager . prepareOffsets ( this , t ) , this . dragging = ! 0 , this . helper . addClass ( "ui-sortable-helper" ) , this . _mouseDrag ( t ) , ! 0 } , _mouseDrag : function ( t ) { var i , s , n , a , o = this . options , r = ! 1 ; for ( this . position = this . _generatePosition ( t ) , this . positionAbs = this . _convertPositionTo ( "absolute" ) , this . lastPositionAbs || ( this . lastPositionAbs = this . positionAbs ) , this . options . scroll && ( this . scrollParent [ 0 ] !== document && "HTML" !== this . scrollParent [ 0 ] . tagName ? ( this . overflowOffset . top + this . scrollParent [ 0 ] . offsetHeight - t . pageY < o . scrollSensitivity ? this . scrollParent [ 0 ] . scrollTop = r = this . scrollParent [ 0 ] . scrollTop + o . scrollSpeed : t . pageY - this . overflowOffset . top < o . scrollSensitivity && ( this . scrollParent [ 0 ] . scrollTop = r = this . scrollParent [ 0 ] . scrollTop - o . scrollSpeed ) , this . overflowOffset . left + this . scrollParent [ 0 ] . offsetWidth - t . pageX < o . scrollSensitivity ? this . scrollParent [ 0 ] . scrollLeft = r = this . scrollParent [ 0 ] . scrollLeft + o . scrollSpeed : t . pageX - this . overflowOffset . left < o . scrollSensitivity && ( this . scrollParent [ 0 ] . scrollLeft = r = this . scrollParent [ 0 ] . scrollLeft - o . scrollSpeed ) ) : ( t . pageY - e ( document ) . scrollTop ( ) < o . scrollSensitivity ? r = e ( document ) . scrollTop ( e ( document ) . scrollTop ( ) - o . scrollSpeed ) : e ( window ) . height ( ) - ( t . pageY - e ( document ) . scrollTop ( ) ) < o . scrollSensitivity && ( r = e ( document ) . scrollTop ( e ( document ) . scrollTop ( ) + o . scrollSpeed ) ) , t . pageX - e ( document ) . scrollLeft ( ) < o . scrollSensitivity ? r = e ( document ) . scrollLeft ( e ( document ) . scrollLeft ( ) - o . scrollSpeed ) : e ( window ) . width ( ) - ( t . pageX - e ( document ) . scrollLeft ( ) ) < o . scrollSensitivity && ( r = e ( document ) . scrollLeft ( e ( document ) . scrollLeft ( ) + o . scrollSpeed ) ) ) , r !== ! 1 && e . ui . ddmanager && ! o . dropBehaviour && e . ui . ddmanager . prepareOffsets ( this , t ) ) , this . positionAbs = this . _convertPositionTo ( "absolute" ) , this . options . axis && "y" === this . options . axis || ( this . helper [ 0 ] . style . left = this . position . left + "px" ) , this . options . axis && "x" === this . options . axis || ( this . helper [ 0 ] . style . top = this . position . top + "px" ) , i = this . items . length - 1 ; i >= 0 ; i -- ) if ( s = this . items [ i ] , n = s . item [ 0 ] , a = this . _intersectsWithPointer ( s ) , a && s . instance === this . currentContainer && n !== this . currentItem [ 0 ] && this . placeholder [ 1 === a ? "next" : "prev" ] ( ) [ 0 ] !== n && ! e . contains ( this . placeholder [ 0 ] , n ) && ( "semi-dynamic" === this . options . type ? ! e . contains ( this . element [ 0 ] , n ) : ! 0 ) ) { if ( this . direction = 1 === a ? "down" : "up" , "pointer" !== this . options . tolerance && ! this . _intersectsWithSides ( s ) ) break ; this . _rearrange ( t , s ) , this . _trigger ( "change" , t , this . _uiHash ( ) ) ; break } return this . _contactContainers ( t ) , e . ui . ddmanager && e . ui . ddmanager . drag ( this , t ) , this . _trigger ( "sort" , t , this . _uiHash ( ) ) , this . lastPositionAbs = this . positionAbs , ! 1 } , _mouseStop : function ( t , i ) { if ( t ) { if ( e . ui . ddmanager && ! this . options . dropBehaviour && e . ui . ddmanager . drop ( this , t ) , this . options . revert ) { var s = this , n = this . placeholder . offset ( ) , a = this . options . axis , o = { } ; a && "x" !== a || ( o . left = n . left - this . offset . parent . left - this . margins . left + ( this . offsetParent [ 0 ] === document . body ? 0 : this . offsetParent [ 0 ] . scrollLeft ) ) , a && "y" !== a || ( o . top = n . top - this . offset . parent . top - this . margins . top + ( this . offsetParent [ 0 ] === document . body ? 0 : this . offsetParent [ 0 ] . scrollTop ) ) , this . reverting = ! 0 , e ( this . helper ) . animate ( o , parseInt ( this . options . revert , 10 ) || 500 , function ( ) { s . _clear ( t ) } ) } else this . _clear ( t , i ) ; return ! 1 } } , cancel : function ( ) { if ( this . dragging ) { this . _mouseUp ( { target : null } ) , "original" === this . options . helper ? this . currentItem . css ( this . _storedCSS ) . removeClass ( "ui-sortable-helper" ) : this . currentItem . show ( ) ; for ( var t = this . containers . length - 1 ; t >= 0 ; t -- ) this . containers [ t ] . _trigger ( "deactivate" , null , this . _uiHash ( this ) ) , this . containers [ t ] . containerCache . over && ( this . containers [ t ] . _trigger ( "out" , null , this . _uiHash ( this ) ) , this . containers [ t ] . containerCache . over = 0 ) } return this . placeholder && ( this . placeholder [ 0 ] . parentNode && this . placeholder [ 0 ] . parentNode . removeChild ( this . placeholder [ 0 ] ) , "original" !== this . options . helper && this . helper && this . helper [ 0 ] . parentNode && this . helper . remove ( ) , e . extend ( this , { helper : null , dragging : ! 1 , reverting : ! 1 , _noFinalSort : null } ) , this . domPosition . prev ? e ( this . domPosition . prev ) . after ( this . currentItem ) : e ( this . domPosition . parent ) . prepend ( this . currentItem ) ) , this } , serialize : fu
} ) . addClass ( "ui-tabs-anchor" ) . attr ( { role : "presentation" , tabIndex : - 1 } ) , this . panels = e ( ) , this . anchors . each ( function ( i , s ) { var n , a , o , r = e ( s ) . uniqueId ( ) . attr ( "id" ) , h = e ( s ) . closest ( "li" ) , l = h . attr ( "aria-controls" ) ; t . _isLocal ( s ) ? ( n = s . hash , o = n . substring ( 1 ) , a = t . element . find ( t . _sanitizeSelector ( n ) ) ) : ( o = h . attr ( "aria-controls" ) || e ( { } ) . uniqueId ( ) [ 0 ] . id , n = "#" + o , a = t . element . find ( n ) , a . length || ( a = t . _createPanel ( o ) , a . insertAfter ( t . panels [ i - 1 ] || t . tablist ) ) , a . attr ( "aria-live" , "polite" ) ) , a . length && ( t . panels = t . panels . add ( a ) ) , l && h . data ( "ui-tabs-aria-controls" , l ) , h . attr ( { "aria-controls" : o , "aria-labelledby" : r } ) , a . attr ( "aria-labelledby" , r ) } ) , this . panels . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) . attr ( "role" , "tabpanel" ) } , _getList : function ( ) { return this . tablist || this . element . find ( "ol,ul" ) . eq ( 0 ) } , _createPanel : function ( t ) { return e ( "<div>" ) . attr ( "id" , t ) . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) . data ( "ui-tabs-destroy" , ! 0 ) } , _setupDisabled : function ( t ) { e . isArray ( t ) && ( t . length ? t . length === this . anchors . length && ( t = ! 0 ) : t = ! 1 ) ; for ( var i , s = 0 ; i = this . tabs [ s ] ; s ++ ) t === ! 0 || - 1 !== e . inArray ( s , t ) ? e ( i ) . addClass ( "ui-state-disabled" ) . attr ( "aria-disabled" , "true" ) : e ( i ) . removeClass ( "ui-state-disabled" ) . removeAttr ( "aria-disabled" ) ; this . options . disabled = t } , _setupEvents : function ( t ) { var i = { } ; t && e . each ( t . split ( " " ) , function ( e , t ) { i [ t ] = "_eventHandler" } ) , this . _off ( this . anchors . add ( this . tabs ) . add ( this . panels ) ) , this . _on ( ! 0 , this . anchors , { click : function ( e ) { e . preventDefault ( ) } } ) , this . _on ( this . anchors , i ) , this . _on ( this . tabs , { keydown : "_tabKeydown" } ) , this . _on ( this . panels , { keydown : "_panelKeydown" } ) , this . _focusable ( this . tabs ) , this . _hoverable ( this . tabs ) } , _setupHeightStyle : function ( t ) { var i , s = this . element . parent ( ) ; "fill" === t ? ( i = s . height ( ) , i -= this . element . outerHeight ( ) - this . element . height ( ) , this . element . siblings ( ":visible" ) . each ( function ( ) { var t = e ( this ) , s = t . css ( "position" ) ; "absolute" !== s && "fixed" !== s && ( i -= t . outerHeight ( ! 0 ) ) } ) , this . element . children ( ) . not ( this . panels ) . each ( function ( ) { i -= e ( this ) . outerHeight ( ! 0 ) } ) , this . panels . each ( function ( ) { e ( this ) . height ( Math . max ( 0 , i - e ( this ) . innerHeight ( ) + e ( this ) . height ( ) ) ) } ) . css ( "overflow" , "auto" ) ) : "auto" === t && ( i = 0 , this . panels . each ( function ( ) { i = Math . max ( i , e ( this ) . height ( "" ) . height ( ) ) } ) . height ( i ) ) } , _eventHandler : function ( t ) { var i = this . options , s = this . active , n = e ( t . currentTarget ) , a = n . closest ( "li" ) , o = a [ 0 ] === s [ 0 ] , r = o && i . collapsible , h = r ? e ( ) : this . _getPanelForTab ( a ) , l = s . length ? this . _getPanelForTab ( s ) : e ( ) , u = { oldTab : s , oldPanel : l , newTab : r ? e ( ) : a , newPanel : h } ; t . preventDefault ( ) , a . hasClass ( "ui-state-disabled" ) || a . hasClass ( "ui-tabs-loading" ) || this . running || o && ! i . collapsible || this . _trigger ( "beforeActivate" , t , u ) === ! 1 || ( i . active = r ? ! 1 : this . tabs . index ( a ) , this . active = o ? e ( ) : a , this . xhr && this . xhr . abort ( ) , l . length || h . length || e . error ( "jQuery UI Tabs: Mismatching fragment identifier." ) , h . length && this . load ( this . tabs . index ( a ) , t ) , this . _toggle ( t , u ) ) } , _toggle : function ( t , i ) { function s ( ) { a . running = ! 1 , a . _trigger ( "activate" , t , i ) } function n ( ) { i . newTab . closest ( "li" ) . addClass ( "ui-tabs-active ui-state-active" ) , o . length && a . options . show ? a . _show ( o , a . options . show , s ) : ( o . show ( ) , s ( ) ) } var a = this , o = i . newPanel , r = i . oldPanel ; this . running = ! 0 , r . length && this . options . hide ? this . _hide ( r , this . options . hide , function ( ) { i . oldTab . closest ( "li" ) . removeClass ( "ui-tabs-active ui-state-active" ) , n ( ) } ) : ( i . oldTab . closest ( "li" ) . removeClass ( "ui-tabs-active ui-state-active" ) , r . hide ( ) , n ( ) ) , r . attr ( "aria-hidden" , "true" ) , i . oldTab . attr ( { "aria-selected" : "false" , "aria-expanded" : "false" } ) , o . length && r . length ? i . oldTab . attr ( "tabIndex" , - 1 ) : o . length && this . tabs . filter ( function ( ) { return 0 === e ( this ) . attr ( "tabIndex" ) } ) . attr ( "tabIndex" , - 1 ) , o . attr ( "aria-hidden" , "false" ) , i . newTab . attr ( { "aria-selected" : "true" , "aria-expanded" : "true" , tabIndex : 0 } ) } , _activate : function ( t ) { var i , s = this . _findActive ( t ) ; s [ 0 ] !== this . active [ 0 ] && ( s . length || ( s = this . active ) , i = s . find ( ".ui-tabs-anchor" ) [ 0 ] , this . _eventHandler ( { target : i , currentTarget : i , preventDefault : e . noop } ) ) } , _findActive : function ( t ) { return t === ! 1 ? e ( ) : this . tabs . eq ( t ) } , _getIndex : function ( e ) { return "string" == typeof e && ( e = this . anchors . index ( this . anchors . filter ( "[href$='" + e + "']" ) ) ) , e } , _destroy : function
2019-04-18 16:04:13 +00:00
/* Rails UJS 5.2.3 */
( function ( ) { ( function ( ) { ( function ( ) { this . Rails = { linkClickSelector : "a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]" , buttonClickSelector : { selector : "button[data-remote]:not([form]), button[data-confirm]:not([form])" , exclude : "form button" } , inputChangeSelector : "select[data-remote], input[data-remote], textarea[data-remote]" , formSubmitSelector : "form" , formInputClickSelector : "form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])" , formDisableSelector : "input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled" , formEnableSelector : "input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled" , fileInputSelector : "input[name][type=file]:not([disabled])" , linkDisableSelector : "a[data-disable-with], a[data-disable]" , buttonDisableSelector : "button[data-remote][data-disable-with], button[data-remote][data-disable]" } } ) . call ( this ) } ) . call ( this ) ; var S = this . Rails ; ( function ( ) { ( function ( ) { var e ; e = null , S . loadCSPNonce = function ( ) { var t ; return e = null != ( t = document . querySelector ( "meta[name=csp-nonce]" ) ) ? t . content : void 0 } , S . cspNonce = function ( ) { return null != e ? e : S . loadCSPNonce ( ) } } ) . call ( this ) , function ( ) { var a , n ; n = Element . prototype . matches || Element . prototype . matchesSelector || Element . prototype . mozMatchesSelector || Element . prototype . msMatchesSelector || Element . prototype . oMatchesSelector || Element . prototype . webkitMatchesSelector , S . matches = function ( t , e ) { return null != e . exclude ? n . call ( t , e . selector ) && ! n . call ( t , e . exclude ) : n . call ( t , e ) } , a = "_ujsData" , S . getData = function ( t , e ) { var n ; return null != ( n = t [ a ] ) ? n [ e ] : void 0 } , S . setData = function ( t , e , n ) { return null == t [ a ] && ( t [ a ] = { } ) , t [ a ] [ e ] = n } , S . $ = function ( t ) { return Array . prototype . slice . call ( document . querySelectorAll ( t ) ) } } . call ( this ) , function ( ) { var n , a , o ; n = S . $ , o = S . csrfToken = function ( ) { var t ; return ( t = document . querySelector ( "meta[name=csrf-token]" ) ) && t . content } , a = S . csrfParam = function ( ) { var t ; return ( t = document . querySelector ( "meta[name=csrf-param]" ) ) && t . content } , S . CSRFProtection = function ( t ) { var e ; if ( null != ( e = o ( ) ) ) return t . setRequestHeader ( "X-CSRF-Token" , e ) } , S . refreshCSRFTokens = function ( ) { var t , e ; if ( e = o ( ) , t = a ( ) , null != e && null != t ) return n ( 'form input[name="' + t + '"]' ) . forEach ( function ( t ) { return t . value = e } ) } } . call ( this ) , function ( ) { var o , e , r , n ; r = S . matches , "function" != typeof ( o = window . CustomEvent ) && ( ( o = function ( t , e ) { var n ; return ( n = document . createEvent ( "CustomEvent" ) ) . initCustomEvent ( t , e . bubbles , e . cancelable , e . detail ) , n } ) . prototype = window . Event . prototype , n = o . prototype . preventDefault , o . prototype . preventDefault = function ( ) { var t ; return t = n . call ( this ) , this . cancelable && ! this . defaultPrevented && Object . defineProperty ( this , "defaultPrevented" , { get : function ( ) { return ! 0 } } ) , t } ) , e = S . fire = function ( t , e , n ) { var a ; return a = new o ( e , { bubbles : ! 0 , cancelable : ! 0 , detail : n } ) , t . dispatchEvent ( a ) , ! a . defaultPrevented } , S . stopEverything = function ( t ) { return e ( t . target , "ujs:everythingStopped" ) , t . preventDefault ( ) , t . stopPropagation ( ) , t . stopImmediatePropagation ( ) } , S . delegate = function ( t , n , e , a ) { return t . addEventListener ( e , function ( t ) { var e ; for ( e = t . target ; e instanceof Element && ! r ( e , n ) ; ) e = e . parentNode ; if ( e instanceof Element && ! 1 === a . call ( e , t ) ) return t . preventDefault ( ) , t . stopPropagation ( ) } ) } } . call ( this ) , function ( ) { var e , a , t , o , r , i ; o = S . cspNonce , a = S . CSRFProtection , S . fire , e = { "*" : "*/*" , text : "text/plain" , html : "text/html" , xml : "application/xml, text/xml" , json : "application/json, text/javascript" , script : "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" } , S . ajax = function ( n ) { var a ; return n = r ( n ) , a = t ( n , function ( ) { var t , e ; return e = i ( null != ( t = a . response ) ? t : a . responseText , a . getResponseHeader ( "Content-Type" ) ) , 2 === Math . floor ( a . status / 100 ) ? "function" == typeof n . success && n . success ( e , a . statusText , a ) : "