Overview

URLhttp://www.estoestuyo.com/wingames/apple_mx/index.php
IP37.59.173.156
ASNAS16276 OVH Systems
Location France
Report completed2012-11-11 05:52:15 CET
StatusLoading report..
urlQuery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Adobe Reader8.0
Java1.6.0_26


Intrusion Detection Systems

Suricata /w Emerging Threats Pro No alerts detected
Snort /w Sourcefire VRT No alerts detected


Recent reports on same IP/ASN/Domain

Last 1 reports on IP: 37.59.173.156

Date Alerts / IDS URL IP
2012-10-31 09:14:400 / 0http://www.estoestuyo.com/wingames/apple_mx/index.php37.59.173.156

Last 6 reports on ASN: AS16276 OVH Systems

Date Alerts / IDS URL IP
2013-03-21 11:56:480 / 6http://kingzporn.com/178.33.63.188
2013-03-21 11:47:461 / 1http://www.radiomarcabarcelona.com/mail.htm94.23.242.43
2013-03-21 11:46:271 / 1http://radiomarcabarcelona.com/mail.htm94.23.242.43
2013-03-21 11:33:512 / 4http://www.newdesignershowcase.com/categories.php?categ...94.23.250.154
2013-03-21 11:20:031 / 0http://netsegura.ddns.mobi/ssl.php5.135.160.42
2013-03-21 11:09:561 / 0http://netsegura.changeip.name/ssl.php5.135.160.42

Last 1 reports on domain: www.estoestuyo.com

Date Alerts / IDS URL IP
2012-10-31 09:14:400 / 0http://www.estoestuyo.com/wingames/apple_mx/index.php37.59.173.156



JavaScript

Executed Scripts (11)


Executed Evals (2)

#1 JavaScript::Eval (size: 51614, repeated: 1)

(function($) {
    if ($.fn.carouFredSel) return;
    $.fn.carouFredSel = function(y, z) {
        if (this.length == 0) {
            debug(true, 'No element found for "' + this.selector + '".');
            return this
        }
        if (this.length > 1) {
            return this.each(function() {
                $(this).carouFredSel(y, z)
            })
        }
        var A = this,
            $tt0 = this[0];
        if (A.data('cfs_isCarousel')) {
            var B = A.triggerHandler('_cfs_currentPosition');
            A.trigger('_cfs_destroy', true)
        } else {
            var B = false
        }
        A._cfs_init = function(o, b, c) {
            o = go_getObject($tt0, o);
            if (o.debug) {
                conf.debug = o.debug;
                debug(conf, 'The "debug" option should be moved to the second configuration-object.')
            }
            var e = ['items', 'scroll', 'auto', 'prev', 'next', 'pagination'];
            for (var a = 0, l = e.length; a < l; a++) {
                o[e[a]] = go_getObject($tt0, o[e[a]])
            }
            if (typeof o.scroll == 'number') {
                if (o.scroll <= 50) o.scroll = {
                    'items': o.scroll
                };
                else o.scroll = {
                    'duration': o.scroll
                }
            } else {
                if (typeof o.scroll == 'string') o.scroll = {
                    'easing': o.scroll
                }
            }
            if (typeof o.items == 'number') o.items = {
                'visible': o.items
            };
            else if (o.items == 'variable') o.items = {
                'visible': o.items,
                'width': o.items,
                'height': o.items
            };
            if (typeof o.items != 'object') o.items = {};
            if (b) opts_orig = $.extend(true, {}, $.fn.carouFredSel.defaults, o);
            opts = $.extend(true, {}, $.fn.carouFredSel.defaults, o);
            if (typeof opts.items.visibleConf != 'object') opts.items.visibleConf = {};
            if (opts.items.start == 0 && typeof c == 'number') {
                opts.items.start = c
            }
            C.upDateOnWindowResize = (opts.responsive);
            C.direction = (opts.direction == 'up' || opts.direction == 'left') ? 'next' : 'prev';
            var f = [
                ['width', 'innerWidth', 'outerWidth', 'height', 'innerHeight', 'outerHeight', 'left', 'top', 'marginRight', 0, 1, 2, 3],
                ['height', 'innerHeight', 'outerHeight', 'width', 'innerWidth', 'outerWidth', 'top', 'left', 'marginBottom', 3, 2, 1, 0]
            ];
            var g = f[0].length,
                dx = (opts.direction == 'right' || opts.direction == 'left') ? 0 : 1;
            opts.d = {};
            for (var d = 0; d < g; d++) {
                opts.d[f[0][d]] = f[dx][d]
            }
            var h = A.children();
            switch (typeof opts.items.visible) {
            case 'object':
                opts.items.visibleConf.min = opts.items.visible.min;
                opts.items.visibleConf.max = opts.items.visible.max;
                opts.items.visible = false;
                break;
            case 'string':
                if (opts.items.visible == 'variable') {
                    opts.items.visibleConf.variable = true
                } else {
                    opts.items.visibleConf.adjust = opts.items.visible
                }
                opts.items.visible = false;
                break;
            case 'function':
                opts.items.visibleConf.adjust = opts.items.visible;
                opts.items.visible = false;
                break
            }
            if (typeof opts.items.filter == 'undefined') {
                opts.items.filter = (h.filter(':hidden').length > 0) ? ':visible' : '*'
            }
            if (opts[opts.d['width']] == 'auto') {
                opts[opts.d['width']] = ms_getTrueLargestSize(h, opts, 'outerWidth')
            }
            if (ms_isPercentage(opts[opts.d['width']]) && !opts.responsive) {
                opts[opts.d['width']] = ms_getPercentage(ms_getTrueInnerSize($wrp.parent(), opts, 'innerWidth'), opts[opts.d['width']]);
                C.upDateOnWindowResize = true
            }
            if (opts[opts.d['height']] == 'auto') {
                opts[opts.d['height']] = ms_getTrueLargestSize(h, opts, 'outerHeight')
            }
            if (!opts.items[opts.d['width']]) {
                if (opts.responsive) {
                    debug(true, 'Set a ' + opts.d['width'] + ' for the items!');
                    opts.items[opts.d['width']] = ms_getTrueLargestSize(h, opts, 'outerWidth')
                } else {
                    opts.items[opts.d['width']] = (ms_hasVariableSizes(h, opts, 'outerWidth')) ? 'variable' : h[opts.d['outerWidth']](true)
                }
            }
            if (!opts.items[opts.d['height']]) {
                opts.items[opts.d['height']] = (ms_hasVariableSizes(h, opts, 'outerHeight')) ? 'variable' : h[opts.d['outerHeight']](true)
            }
            if (!opts[opts.d['height']]) {
                opts[opts.d['height']] = opts.items[opts.d['height']]
            }
            if (!opts.items.visible && !opts.responsive) {
                if (opts.items[opts.d['width']] == 'variable') {
                    opts.items.visibleConf.variable = true
                }
                if (!opts.items.visibleConf.variable) {
                    if (typeof opts[opts.d['width']] == 'number') {
                        opts.items.visible = Math.floor(opts[opts.d['width']] / opts.items[opts.d['width']])
                    } else {
                        var i = ms_getTrueInnerSize($wrp.parent(), opts, 'innerWidth');
                        opts.items.visible = Math.floor(i / opts.items[opts.d['width']]);
                        opts[opts.d['width']] = opts.items.visible * opts.items[opts.d['width']];
                        if (!opts.items.visibleConf.adjust) opts.align = false
                    }
                    if (opts.items.visible == 'Infinity' || opts.items.visible < 1) {
                        debug(true, 'Not a valid number of visible items: Set to "variable".');
                        opts.items.visibleConf.variable = true
                    }
                }
            }
            if (!opts[opts.d['width']]) {
                opts[opts.d['width']] = 'variable';
                if (!opts.responsive && opts.items.filter == '*' && !opts.items.visibleConf.variable && opts.items[opts.d['width']] != 'variable') {
                    opts[opts.d['width']] = opts.items.visible * opts.items[opts.d['width']];
                    opts.align = false
                }
            }
            if (opts.items.visibleConf.variable) {
                opts.maxDimention = (opts[opts.d['width']] == 'variable') ? ms_getTrueInnerSize($wrp.parent(), opts, 'innerWidth') : opts[opts.d['width']];
                if (opts.align === false) {
                    opts[opts.d['width']] = 'variable'
                }
                opts.items.visible = gn_getVisibleItemsNext(h, opts, 0)
            } else if (opts.items.filter != '*') {
                opts.items.visibleConf.org = opts.items.visible;
                opts.items.visible = gn_getVisibleItemsNextFilter(h, opts, 0)
            }
            if (typeof opts.align == 'undefined') {
                opts.align = (opts[opts.d['width']] == 'variable') ? false : 'center'
            }
            opts.items.visible = cf_getItemsAdjust(opts.items.visible, opts, opts.items.visibleConf.adjust, $tt0);
            opts.items.visibleConf.old = opts.items.visible;
            opts.usePadding = false;
            if (opts.responsive) {
                if (!opts.items.visibleConf.min) opts.items.visibleConf.min = opts.items.visible;
                if (!opts.items.visibleConf.max) opts.items.visibleConf.max = opts.items.visible;
                opts.align = false;
                opts.padding = [0, 0, 0, 0];
                var j = $wrp.is(':visible');
                if (j) $wrp.hide();
                var k = ms_getPercentage(ms_getTrueInnerSize($wrp.parent(), opts, 'innerWidth'), opts[opts.d['width']]);
                if (typeof opts[opts.d['width']] == 'number' && k < opts[opts.d['width']]) {
                    k = opts[opts.d['width']]
                }
                if (j) $wrp.show();
                var m = cf_getItemAdjustMinMax(Math.ceil(k / opts.items[opts.d['width']]), opts.items.visibleConf);
                if (m > h.length) {
                    m = h.length
                }
                var n = Math.floor(k / m),
                    seco = opts[opts.d['height']],
                    secp = ms_isPercentage(seco);
                h.each(function() {
                    var a = $(this),
                        nw = n - ms_getPaddingBorderMargin(a, opts, 'Width');
                    a[opts.d['width']](nw);
                    if (secp) {
                        a[opts.d['height']](ms_getPercentage(nw, seco))
                    }
                });
                opts.items.visible = m;
                opts.items[opts.d['width']] = n;
                opts[opts.d['width']] = m * n
            } else {
                opts.padding = cf_getPadding(opts.padding);
                if (opts.align == 'top') opts.align = 'left';
                if (opts.align == 'bottom') opts.align = 'right';
                switch (opts.align) {
                case 'center':
                case 'left':
                case 'right':
                    if (opts[opts.d['width']] != 'variable') {
                        var p = cf_getAlignPadding(gi_getCurrentItems(h, opts), opts);
                        opts.usePadding = true;
                        opts.padding[opts.d[1]] = p[1];
                        opts.padding[opts.d[3]] = p[0]
                    }
                    break;
                default:
                    opts.align = false;
                    opts.usePadding = (opts.padding[0] == 0 && opts.padding[1] == 0 && opts.padding[2] == 0 && opts.padding[3] == 0) ? false : true;
                    break
                }
            }
            if (typeof opts.cookie == 'boolean' && opts.cookie) opts.cookie = 'caroufredsel_cookie_' + A.attr('id');
            if (typeof opts.items.minimum != 'number') opts.items.minimum = opts.items.visible;
            if (typeof opts.scroll.duration != 'number') opts.scroll.duration = 500;
            if (typeof opts.scroll.items == 'undefined') opts.scroll.items = (opts.items.visibleConf.variable || opts.items.filter != '*') ? 'visible' : opts.items.visible;
            opts.auto = go_getNaviObject($tt0, opts.auto, 'auto');
            opts.prev = go_getNaviObject($tt0, opts.prev);
            opts.next = go_getNaviObject($tt0, opts.next);
            opts.pagination = go_getNaviObject($tt0, opts.pagination, 'pagination');
            opts.auto = $.extend(true, {}, opts.scroll, opts.auto);
            opts.prev = $.extend(true, {}, opts.scroll, opts.prev);
            opts.next = $.extend(true, {}, opts.scroll, opts.next);
            opts.pagination = $.extend(true, {}, opts.scroll, opts.pagination);
            if (typeof opts.pagination.keys != 'boolean') opts.pagination.keys = false;
            if (typeof opts.pagination.anchorBuilder != 'function' && opts.pagination.anchorBuilder !== false) opts.pagination.anchorBuilder = $.fn.carouFredSel.pageAnchorBuilder;
            if (typeof opts.auto.play != 'boolean') opts.auto.play = true;
            if (typeof opts.auto.delay != 'number') opts.auto.delay = 0;
            if (typeof opts.auto.pauseOnEvent == 'undefined') opts.auto.pauseOnEvent = true;
            if (typeof opts.auto.pauseOnResize != 'boolean') opts.auto.pauseOnResize = true;
            if (typeof opts.auto.pauseDuration != 'number') opts.auto.pauseDuration = (opts.auto.duration < 10) ? 2500 : opts.auto.duration * 5;
            if (opts.synchronise) {
                opts.synchronise = cf_getSynchArr(opts.synchronise)
            }
            if (conf.debug) {
                debug(conf, 'Carousel width: ' + opts.width);
                debug(conf, 'Carousel height: ' + opts.height);
                if (opts.maxDimention) debug(conf, 'Available ' + opts.d['width'] + ': ' + opts.maxDimention);
                debug(conf, 'Item widths: ' + opts.items.width);
                debug(conf, 'Item heights: ' + opts.items.height);
                debug(conf, 'Number of items visible: ' + opts.items.visible);
                if (opts.auto.play) debug(conf, 'Number of items scrolled automatically: ' + opts.auto.items);
                if (opts.prev.button) debug(conf, 'Number of items scrolled backward: ' + opts.prev.items);
                if (opts.next.button) debug(conf, 'Number of items scrolled forward: ' + opts.next.items)
            }
        };
        A._cfs_build = function() {
            A.data('cfs_isCarousel', true);
            var a = {
                'textAlign': A.css('textAlign'),
                'float': A.css('float'),
                'position': A.css('position'),
                'top': A.css('top'),
                'right': A.css('right'),
                'bottom': A.css('bottom'),
                'left': A.css('left'),
                'width': A.css('width'),
                'height': A.css('height'),
                'marginTop': A.css('marginTop'),
                'marginRight': A.css('marginRight'),
                'marginBottom': A.css('marginBottom'),
                'marginLeft': A.css('marginLeft')
            };
            switch (a.position) {
            case 'absolute':
                var b = 'absolute';
                break;
            case 'fixed':
                var b = 'fixed';
                break;
            default:
                var b = 'relative'
            }
            $wrp.css(a).css({
                'overflow': 'hidden',
                'position': b
            });
            A.data('cfs_origCss', a).css({
                'textAlign': 'left',
                'float': 'none',
                'position': 'absolute',
                'top': 0,
                'left': 0,
                'marginTop': 0,
                'marginRight': 0,
                'marginBottom': 0,
                'marginLeft': 0
            });
            if (opts.usePadding) {
                A.children().each(function() {
                    var m = parseInt($(this).css(opts.d['marginRight']));
                    if (isNaN(m)) m = 0;
                    $(this).data('cfs_origCssMargin', m)
                })
            }
        };
        A._cfs_bind_events = function() {
            A._cfs_unbind_events();
            A.bind(cf_e('stop', conf), function(e, a) {
                e.stopPropagation();
                if (!C.isStopped) {
                    if (opts.auto.button) {
                        opts.auto.button.addClass(cf_c('stopped', conf))
                    }
                }
                C.isStopped = true;
                if (opts.auto.play) {
                    opts.auto.play = false;
                    A.trigger(cf_e('pause', conf), a)
                }
                return true
            });
            A.bind(cf_e('finish', conf), function(e) {
                e.stopPropagation();
                if (C.isScrolling) {
                    sc_stopScroll(scrl)
                }
                return true
            });
            A.bind(cf_e('pause', conf), function(e, a, b) {
                e.stopPropagation();
                tmrs = sc_clearTimers(tmrs);
                if (a && C.isScrolling) {
                    scrl.isStopped = true;
                    var c = getTime() - scrl.startTime;
                    scrl.duration -= c;
                    if (scrl.pre) scrl.pre.duration -= c;
                    if (scrl.post) scrl.post.duration -= c;
                    sc_stopScroll(scrl, false)
                }
                if (!C.isPaused && !C.isScrolling) {
                    if (b) tmrs.timePassed += getTime() - tmrs.startTime
                }
                if (!C.isPaused) {
                    if (opts.auto.button) {
                        opts.auto.button.addClass(cf_c('paused', conf))
                    }
                }
                C.isPaused = true;
                if (opts.auto.onPausePause) {
                    var d = opts.auto.pauseDuration - tmrs.timePassed,
                        perc = 100 - Math.ceil(d * 100 / opts.auto.pauseDuration);
                    opts.auto.onPausePause.call($tt0, perc, d)
                }
                return true
            });
            A.bind(cf_e('play', conf), function(e, b, c, d) {
                e.stopPropagation();
                tmrs = sc_clearTimers(tmrs);
                var v = [b, c, d],
                    t = ['string', 'number', 'boolean'],
                    a = cf_sortParams(v, t);
                var b = a[0],
                    c = a[1],
                    d = a[2];
                if (b != 'prev' && b != 'next') b = C.direction;
                if (typeof c != 'number') c = 0;
                if (typeof d != 'boolean') d = false;
                if (d) {
                    C.isStopped = false;
                    opts.auto.play = true
                }
                if (!opts.auto.play) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Carousel stopped: Not scrolling.')
                }
                if (C.isPaused) {
                    if (opts.auto.button) {
                        opts.auto.button.removeClass(cf_c('stopped', conf));
                        opts.auto.button.removeClass(cf_c('paused', conf))
                    }
                }
                C.isPaused = false;
                tmrs.startTime = getTime();
                var f = opts.auto.pauseDuration + c;
                dur2 = f - tmrs.timePassed;
                perc = 100 - Math.ceil(dur2 * 100 / f);
                tmrs.auto = setTimeout(function() {
                    if (opts.auto.onPauseEnd) {
                        opts.auto.onPauseEnd.call($tt0, perc, dur2)
                    }
                    if (C.isScrolling) {
                        A.trigger(cf_e('play', conf), b)
                    } else {
                        A.trigger(cf_e(b, conf), opts.auto)
                    }
                }, dur2);
                if (opts.auto.onPauseStart) {
                    opts.auto.onPauseStart.call($tt0, perc, dur2)
                }
                return true
            });
            A.bind(cf_e('resume', conf), function(e) {
                e.stopPropagation();
                if (scrl.isStopped) {
                    scrl.isStopped = false;
                    C.isPaused = false;
                    C.isScrolling = true;
                    scrl.startTime = getTime();
                    sc_startScroll(scrl)
                } else {
                    A.trigger(cf_e('play', conf))
                }
                return true
            });
            A.bind(cf_e('prev', conf) + ' ' + cf_e('next', conf), function(e, b, f, g) {
                e.stopPropagation();
                if (C.isStopped || A.is(':hidden')) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Carousel stopped or hidden: Not scrolling.')
                }
                if (opts.items.minimum >= itms.total) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Not enough items (' + itms.total + ', ' + opts.items.minimum + ' needed): Not scrolling.')
                }
                var v = [b, f, g],
                    t = ['object', 'number/string', 'function'],
                    a = cf_sortParams(v, t);
                var b = a[0],
                    f = a[1],
                    g = a[2];
                var h = e.type.slice(conf.events.prefix.length);
                if (typeof b != 'object' || b == null) b = opts[h];
                if (typeof g == 'function') b.onAfter = g;
                if (typeof f != 'number') {
                    if (opts.items.filter != '*') {
                        f = 'visible'
                    } else {
                        var i = [f, b.items, opts[h].items];
                        for (var a = 0, l = i.length; a < l; a++) {
                            if (typeof i[a] == 'number' || i[a] == 'page' || i[a] == 'visible') {
                                f = i[a];
                                break
                            }
                        }
                    }
                    switch (f) {
                    case 'page':
                        e.stopImmediatePropagation();
                        return A.triggerHandler(h + 'Page', [b, g]);
                        break;
                    case 'visible':
                        if (!opts.items.visibleConf.variable && opts.items.filter == '*') {
                            f = opts.items.visible
                        }
                        break
                    }
                }
                if (scrl.isStopped) {
                    A.trigger(cf_e('resume', conf));
                    A.trigger(cf_e('queue', conf), [h, [b, f, g]]);
                    e.stopImmediatePropagation();
                    return debug(conf, 'Carousel resumed scrolling.')
                }
                if (b.duration > 0) {
                    if (C.isScrolling) {
                        if (b.queue) A.trigger(cf_e('queue', conf), [h, [b, f, g]]);
                        e.stopImmediatePropagation();
                        return debug(conf, 'Carousel currently scrolling.')
                    }
                }
                if (b.conditions && !b.conditions.call($tt0)) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Callback "conditions" returned false.')
                }
                tmrs.timePassed = 0;
                A.trigger('_cfs_slide_' + h, [b, f]);
                if (opts.synchronise) {
                    var s = opts.synchronise,
                        c = [b, f];
                    for (var j = 0, l = s.length; j < l; j++) {
                        var d = h;
                        if (!s[j][1]) c[0] = s[j][0].triggerHandler('_cfs_configuration', h);
                        if (!s[j][2]) d = (d == 'prev') ? 'next' : 'prev';
                        c[1] = f + s[j][3];
                        s[j][0].trigger('_cfs_slide_' + d, c)
                    }
                }
                return true
            });
            A.bind(cf_e('_cfs_slide_prev', conf, false), function(e, f, g) {
                e.stopPropagation();
                var h = A.children();
                if (!opts.circular) {
                    if (itms.first == 0) {
                        if (opts.infinite) {
                            A.trigger(cf_e('next', conf), itms.total - 1)
                        }
                        return e.stopImmediatePropagation()
                    }
                }
                if (opts.usePadding) sz_resetMargin(h, opts);
                if (typeof g != 'number') {
                    if (opts.items.visibleConf.variable) {
                        g = gn_getVisibleItemsPrev(h, opts, itms.total - 1)
                    } else if (opts.items.filter != '*') {
                        var i = (typeof f.items == 'number') ? f.items : gn_getVisibleOrg(A, opts);
                        g = gn_getScrollItemsPrevFilter(h, opts, itms.total - 1, i)
                    } else {
                        g = opts.items.visible
                    }
                    g = cf_getAdjust(g, opts, f.items, $tt0)
                }
                if (!opts.circular) {
                    if (itms.total - g < itms.first) {
                        g = itms.total - itms.first
                    }
                }
                opts.items.visibleConf.old = opts.items.visible;
                if (opts.items.visibleConf.variable) {
                    var j = gn_getVisibleItemsNext(h, opts, itms.total - g);
                    if (opts.items.visible + g <= j && g < itms.total) {
                        g++;
                        j = gn_getVisibleItemsNext(h, opts, itms.total - g)
                    }
                    opts.items.visible = cf_getItemsAdjust(j, opts, opts.items.visibleConf.adjust, $tt0)
                } else if (opts.items.filter != '*') {
                    var j = gn_getVisibleItemsNextFilter(h, opts, itms.total - g);
                    opts.items.visible = cf_getItemsAdjust(j, opts, opts.items.visibleConf.adjust, $tt0)
                }
                if (opts.usePadding) sz_resetMargin(h, opts, true);
                if (g == 0) {
                    e.stopImmediatePropagation();
                    return debug(conf, '0 items to scroll: Not scrolling.')
                }
                debug(conf, 'Scrolling ' + g + ' items backward.');
                itms.first += g;
                while (itms.first >= itms.total) {
                    itms.first -= itms.total
                }
                if (!opts.circular) {
                    if (itms.first == 0 && f.onEnd) f.onEnd.call($tt0);
                    if (!opts.infinite) nv_enableNavi(opts, itms.first, conf)
                }
                A.children().slice(itms.total - g, itms.total).prependTo(A);
                if (itms.total < opts.items.visible + g) {
                    A.children().slice(0, (opts.items.visible + g) - itms.total).clone(true).appendTo(A)
                }
                var h = A.children(),
                    c_old = gi_getOldItemsPrev(h, opts, g),
                    c_new = gi_getNewItemsPrev(h, opts),
                    l_cur = h.eq(g - 1),
                    l_old = c_old.last(),
                    l_new = c_new.last();
                if (opts.usePadding) sz_resetMargin(h, opts);
                if (opts.align) {
                    var p = cf_getAlignPadding(c_new, opts),
                        k = p[0],
                        pR = p[1]
                } else {
                    var k = 0,
                        pR = 0
                }
                var l = (k < 0) ? opts.padding[opts.d[3]] : 0;
                if (f.fx == 'directscroll' && opts.items.visible < g) {
                    var m = h.slice(opts.items.visibleConf.old, g),
                        orgW = opts.items[opts.d['width']];
                    m.each(function() {
                        var a = $(this);
                        a.data('isHidden', a.is(':hidden')).hide()
                    });
                    opts.items[opts.d['width']] = 'variable'
                } else {
                    var m = false
                }
                var n = ms_getTotalSize(h.slice(0, g), opts, 'width'),
                    w_siz = cf_mapWrapperSizes(ms_getSizes(c_new, opts, true), opts, !opts.usePadding);
                if (m) opts.items[opts.d['width']] = orgW;
                if (opts.usePadding) {
                    sz_resetMargin(h, opts, true);
                    if (pR >= 0) {
                        sz_resetMargin(l_old, opts, opts.padding[opts.d[1]])
                    }
                    sz_resetMargin(l_cur, opts, opts.padding[opts.d[3]])
                }
                if (opts.align) {
                    opts.padding[opts.d[1]] = pR;
                    opts.padding[opts.d[3]] = k
                }
                var o = {},
                    a_dur = f.duration;
                if (f.fx == 'none') a_dur = 0;
                else if (a_dur == 'auto') a_dur = opts.scroll.duration / opts.scroll.items * g;
                else if (a_dur <= 0) a_dur = 0;
                else if (a_dur < 10) a_dur = n / a_dur;
                scrl = sc_setScroll(a_dur, f.easing);
                if (opts[opts.d['width']] == 'variable' || opts[opts.d['height']] == 'variable') {
                    scrl.anims.push([$wrp, w_siz])
                }
                if (opts.usePadding) {
                    var q = opts.padding[opts.d[3]];
                    if (l_new.not(l_cur).length) {
                        var r = {};
                        r[opts.d['marginRight']] = l_cur.data('cfs_origCssMargin');
                        if (k < 0) l_cur.css(r);
                        else scrl.anims.push([l_cur, r])
                    }
                    if (l_new.not(l_old).length) {
                        var s = {};
                        s[opts.d['marginRight']] = l_old.data('cfs_origCssMargin');
                        scrl.anims.push([l_old, s])
                    }
                    if (pR >= 0) {
                        var t = {};
                        t[opts.d['marginRight']] = l_new.data('cfs_origCssMargin') + opts.padding[opts.d[1]];
                        scrl.anims.push([l_new, t])
                    }
                } else {
                    var q = 0
                }
                o[opts.d['left']] = q;
                var u = [c_old, c_new, w_siz, a_dur];
                if (f.onBefore) f.onBefore.apply($tt0, u);
                clbk.onBefore = sc_callCallbacks(clbk.onBefore, $tt0, u);
                switch (f.fx) {
                case 'fade':
                case 'crossfade':
                case 'cover':
                case 'uncover':
                    scrl.pre = sc_setScroll(scrl.duration, scrl.easing);
                    scrl.post = sc_setScroll(scrl.duration, scrl.easing);
                    scrl.duration = 0;
                    break
                }
                switch (f.fx) {
                case 'crossfade':
                case 'cover':
                case 'uncover':
                    var v = A.clone().appendTo($wrp);
                    break
                }
                switch (f.fx) {
                case 'uncover':
                    v.children().slice(0, g).remove();
                case 'crossfade':
                case 'cover':
                    v.children().slice(opts.items.visible).remove();
                    break
                }
                switch (f.fx) {
                case 'fade':
                    scrl.pre.anims.push([A,
                    {
                        'opacity': 0
                    }]);
                    break;
                case 'crossfade':
                    v.css({
                        'opacity': 0
                    });
                    scrl.pre.anims.push([A,
                    {
                        'width': '+=0'
                    }, function() {
                        v.remove()
                    }]);
                    scrl.post.anims.push([v,
                    {
                        'opacity': 1
                    }]);
                    break;
                case 'cover':
                    scrl = fx_cover(scrl, A, v, opts, true);
                    break;
                case 'uncover':
                    scrl = fx_uncover(scrl, A, v, opts, true, g);
                    break
                }
                var w = function() {
                        var b = opts.items.visible + g - itms.total;
                        if (b > 0) {
                            A.children().slice(itms.total).remove();
                            c_old = $(A.children().slice(itms.total - (opts.items.visible - b)).get().concat(A.children().slice(0, b).get()))
                        }
                        if (m) {
                            m.each(function() {
                                var a = $(this);
                                if (!a.data('isHidden')) a.show()
                            })
                        }
                        if (opts.usePadding) {
                            var c = A.children().eq(opts.items.visible + g - 1);
                            c.css(opts.d['marginRight'], c.data('cfs_origCssMargin'))
                        }
                        scrl.anims = [];
                        if (scrl.pre) scrl.pre = sc_setScroll(scrl.orgDuration, scrl.easing);
                        var d = function() {
                                switch (f.fx) {
                                case 'fade':
                                case 'crossfade':
                                    A.css('filter', '');
                                    break
                                }
                                scrl.post = sc_setScroll(0, null);
                                C.isScrolling = false;
                                var a = [c_old, c_new, w_siz];
                                if (f.onAfter) f.onAfter.apply($tt0, a);
                                clbk.onAfter = sc_callCallbacks(clbk.onAfter, $tt0, a);
                                if (queu.length) {
                                    A.trigger(cf_e(queu[0][0], conf), queu[0][1]);
                                    queu.shift()
                                }
                                if (!C.isPaused) A.trigger(cf_e('play', conf))
                            };
                        switch (f.fx) {
                        case 'fade':
                            scrl.pre.anims.push([A,
                            {
                                'opacity': 1
                            },
                            d]);
                            sc_startScroll(scrl.pre);
                            break;
                        case 'uncover':
                            scrl.pre.anims.push([A,
                            {
                                'width': '+=0'
                            },
                            d]);
                            sc_startScroll(scrl.pre);
                            break;
                        default:
                            d();
                            break
                        }
                    };
                scrl.anims.push([A, o, w]);
                C.isScrolling = true;
                A.css(opts.d['left'], -(n - l));
                tmrs = sc_clearTimers(tmrs);
                sc_startScroll(scrl);
                cf_setCookie(opts.cookie, A.triggerHandler(cf_e('currentPosition', conf)));
                A.trigger(cf_e('updatePageStatus', conf), [false, w_siz]);
                return true
            });
            A.bind(cf_e('_cfs_slide_next', conf, false), function(e, f, g) {
                e.stopPropagation();
                var h = A.children();
                if (!opts.circular) {
                    if (itms.first == opts.items.visible) {
                        if (opts.infinite) {
                            A.trigger(cf_e('prev', conf), itms.total - 1)
                        }
                        return e.stopImmediatePropagation()
                    }
                }
                if (opts.usePadding) sz_resetMargin(h, opts);
                if (typeof g != 'number') {
                    if (opts.items.filter != '*') {
                        var i = (typeof f.items == 'number') ? f.items : gn_getVisibleOrg(A, opts);
                        g = gn_getScrollItemsNextFilter(h, opts, 0, i)
                    } else {
                        g = opts.items.visible
                    }
                    g = cf_getAdjust(g, opts, f.items, $tt0)
                }
                var j = (itms.first == 0) ? itms.total : itms.first;
                if (!opts.circular) {
                    if (opts.items.visibleConf.variable) {
                        var k = gn_getVisibleItemsNext(h, opts, g),
                            i = gn_getVisibleItemsPrev(h, opts, j - 1)
                    } else {
                        var k = opts.items.visible,
                            i = opts.items.visible
                    }
                    if (g + k > j) {
                        g = j - i
                    }
                }
                opts.items.visibleConf.old = opts.items.visible;
                if (opts.items.visibleConf.variable) {
                    var k = gn_getVisibleItemsNextTestCircular(h, opts, g, j);
                    while (opts.items.visible - g >= k && g < itms.total) {
                        g++;
                        k = gn_getVisibleItemsNextTestCircular(h, opts, g, j)
                    }
                    opts.items.visible = cf_getItemsAdjust(k, opts, opts.items.visibleConf.adjust, $tt0)
                } else if (opts.items.filter != '*') {
                    var k = gn_getVisibleItemsNextFilter(h, opts, g);
                    opts.items.visible = cf_getItemsAdjust(k, opts, opts.items.visibleConf.adjust, $tt0)
                }
                if (opts.usePadding) sz_resetMargin(h, opts, true);
                if (g == 0) {
                    e.stopImmediatePropagation();
                    return debug(conf, '0 items to scroll: Not scrolling.')
                }
                debug(conf, 'Scrolling ' + g + ' items forward.');
                itms.first -= g;
                while (itms.first < 0) {
                    itms.first += itms.total
                }
                if (!opts.circular) {
                    if (itms.first == opts.items.visible && f.onEnd) f.onEnd.call($tt0);
                    if (!opts.infinite) nv_enableNavi(opts, itms.first, conf)
                }
                if (itms.total < opts.items.visible + g) {
                    A.children().slice(0, (opts.items.visible + g) - itms.total).clone(true).appendTo(A)
                }
                var h = A.children(),
                    c_old = gi_getOldItemsNext(h, opts),
                    c_new = gi_getNewItemsNext(h, opts, g),
                    l_cur = h.eq(g - 1),
                    l_old = c_old.last(),
                    l_new = c_new.last();
                if (opts.usePadding) sz_resetMargin(h, opts);
                if (opts.align) {
                    var p = cf_getAlignPadding(c_new, opts),
                        l = p[0],
                        pR = p[1]
                } else {
                    var l = 0,
                        pR = 0
                }
                if (f.fx == 'directscroll' && opts.items.visibleConf.old < g) {
                    var m = h.slice(opts.items.visibleConf.old, g),
                        orgW = opts.items[opts.d['width']];
                    m.each(function() {
                        var a = $(this);
                        a.data('isHidden', a.is(':hidden')).hide()
                    });
                    opts.items[opts.d['width']] = 'variable'
                } else {
                    var m = false
                }
                var n = ms_getTotalSize(h.slice(0, g), opts, 'width'),
                    w_siz = cf_mapWrapperSizes(ms_getSizes(c_new, opts, true), opts, !opts.usePadding);
                if (m) opts.items[opts.d['width']] = orgW;
                if (opts.align) {
                    if (opts.padding[opts.d[1]] < 0) {
                        opts.padding[opts.d[1]] = 0
                    }
                }
                if (opts.usePadding) {
                    sz_resetMargin(h, opts, true);
                    sz_resetMargin(l_old, opts, opts.padding[opts.d[1]])
                }
                if (opts.align) {
                    opts.padding[opts.d[1]] = pR;
                    opts.padding[opts.d[3]] = l
                }
                var o = {},
                    a_dur = f.duration;
                if (f.fx == 'none') a_dur = 0;
                else if (a_dur == 'auto') a_dur = opts.scroll.duration / opts.scroll.items * g;
                else if (a_dur <= 0) a_dur = 0;
                else if (a_dur < 10) a_dur = n / a_dur;
                scrl = sc_setScroll(a_dur, f.easing);
                if (opts[opts.d['width']] == 'variable' || opts[opts.d['height']] == 'variable') {
                    scrl.anims.push([$wrp, w_siz])
                }
                if (opts.usePadding) {
                    var q = l_new.data('cfs_origCssMargin');
                    if (pR >= 0) {
                        q += opts.padding[opts.d[1]]
                    }
                    l_new.css(opts.d['marginRight'], q);
                    if (l_cur.not(l_old).length) {
                        var r = {};
                        r[opts.d['marginRight']] = l_old.data('cfs_origCssMargin');
                        scrl.anims.push([l_old, r])
                    }
                    var s = l_cur.data('cfs_origCssMargin');
                    if (l >= 0) {
                        s += opts.padding[opts.d[3]]
                    }
                    var t = {};
                    t[opts.d['marginRight']] = s;
                    scrl.anims.push([l_cur, t])
                }
                o[opts.d['left']] = -n;
                if (l < 0) {
                    o[opts.d['left']] += l
                }
                var u = [c_old, c_new, w_siz, a_dur];
                if (f.onBefore) f.onBefore.apply($tt0, u);
                clbk.onBefore = sc_callCallbacks(clbk.onBefore, $tt0, u);
                switch (f.fx) {
                case 'fade':
                case 'crossfade':
                case 'cover':
                case 'uncover':
                    scrl.pre = sc_setScroll(scrl.duration, scrl.easing);
                    scrl.post = sc_setScroll(scrl.duration, scrl.easing);
                    scrl.duration = 0;
                    break
                }
                switch (f.fx) {
                case 'crossfade':
                case 'cover':
                case 'uncover':
                    var v = A.clone().appendTo($wrp);
                    break
                }
                switch (f.fx) {
                case 'uncover':
                    v.children().slice(opts.items.visibleConf.old).remove();
                    break;
                case 'crossfade':
                case 'cover':
                    v.children().slice(0, g).remove();
                    v.children().slice(opts.items.visible).remove();
                    break
                }
                switch (f.fx) {
                case 'fade':
                    scrl.pre.anims.push([A,
                    {
                        'opacity': 0
                    }]);
                    break;
                case 'crossfade':
                    v.css({
                        'opacity': 0
                    });
                    scrl.pre.anims.push([A,
                    {
                        'width': '+=0'
                    }, function() {
                        v.remove()
                    }]);
                    scrl.post.anims.push([v,
                    {
                        'opacity': 1
                    }]);
                    break;
                case 'cover':
                    scrl = fx_cover(scrl, A, v, opts, false);
                    break;
                case 'uncover':
                    scrl = fx_uncover(scrl, A, v, opts, false, g);
                    break
                }
                var w = function() {
                        var b = opts.items.visible + g - itms.total,
                            new_m = (opts.usePadding) ? opts.padding[opts.d[3]] : 0;
                        A.css(opts.d['left'], new_m);
                        if (b > 0) {
                            A.children().slice(itms.total).remove()
                        }
                        var c = A.children().slice(0, g).appendTo(A).last();
                        if (b > 0) {
                            c_new = gi_getCurrentItems(h, opts)
                        }
                        if (m) {
                            m.each(function() {
                                var a = $(this);
                                if (!a.data('isHidden')) a.show()
                            })
                        }
                        if (opts.usePadding) {
                            if (itms.total < opts.items.visible + g) {
                                var d = A.children().eq(opts.items.visible - 1);
                                d.css(opts.d['marginRight'], d.data('cfs_origCssMargin') + opts.padding[opts.d[3]])
                            }
                            c.css(opts.d['marginRight'], c.data('cfs_origCssMargin'))
                        }
                        scrl.anims = [];
                        if (scrl.pre) scrl.pre = sc_setScroll(scrl.orgDuration, scrl.easing);
                        var e = function() {
                                switch (f.fx) {
                                case 'fade':
                                case 'crossfade':
                                    A.css('filter', '');
                                    break
                                }
                                scrl.post = sc_setScroll(0, null);
                                C.isScrolling = false;
                                var a = [c_old, c_new, w_siz];
                                if (f.onAfter) f.onAfter.apply($tt0, a);
                                clbk.onAfter = sc_callCallbacks(clbk.onAfter, $tt0, a);
                                if (queu.length) {
                                    A.trigger(cf_e(queu[0][0], conf), queu[0][1]);
                                    queu.shift()
                                }
                                if (!C.isPaused) A.trigger(cf_e('play', conf))
                            };
                        switch (f.fx) {
                        case 'fade':
                            scrl.pre.anims.push([A,
                            {
                                'opacity': 1
                            },
                            e]);
                            sc_startScroll(scrl.pre);
                            break;
                        case 'uncover':
                            scrl.pre.anims.push([A,
                            {
                                'width': '+=0'
                            },
                            e]);
                            sc_startScroll(scrl.pre);
                            break;
                        default:
                            e();
                            break
                        }
                    };
                scrl.anims.push([A, o, w]);
                C.isScrolling = true;
                tmrs = sc_clearTimers(tmrs);
                sc_startScroll(scrl);
                cf_setCookie(opts.cookie, A.triggerHandler(cf_e('currentPosition', conf)));
                A.trigger(cf_e('updatePageStatus', conf), [false, w_siz]);
                return true
            });
            A.bind(cf_e('slideTo', conf), function(e, b, c, d, f, g, h) {
                e.stopPropagation();
                var v = [b, c, d, f, g, h],
                    t = ['string/number/object', 'number', 'boolean', 'object', 'string', 'function'],
                    a = cf_sortParams(v, t);
                var f = a[3],
                    g = a[4],
                    h = a[5];
                b = gn_getItemIndex(a[0], a[1], a[2], itms, A);
                if (b == 0) return;
                if (typeof f != 'object') f = false;
                if (C.isScrolling) {
                    if (typeof f != 'object' || f.duration > 0) return false
                }
                if (g != 'prev' && g != 'next') {
                    if (opts.circular) {
                        if (b <= itms.total / 2) g = 'next';
                        else g = 'prev'
                    } else {
                        if (itms.first == 0 || itms.first > b) g = 'next';
                        else g = 'prev'
                    }
                }
                if (g == 'prev') b = itms.total - b;
                A.trigger(cf_e(g, conf), [f, b, h]);
                return true
            });
            A.bind(cf_e('prevPage', conf), function(e, a, b) {
                e.stopPropagation();
                var c = A.triggerHandler(cf_e('currentPage', conf));
                return A.triggerHandler(cf_e('slideToPage', conf), [c - 1, a, 'prev', b])
            });
            A.bind(cf_e('nextPage', conf), function(e, a, b) {
                e.stopPropagation();
                var c = A.triggerHandler(cf_e('currentPage', conf));
                return A.triggerHandler(cf_e('slideToPage', conf), [c + 1, a, 'next', b])
            });
            A.bind(cf_e('slideToPage', conf), function(e, a, b, c, d) {
                e.stopPropagation();
                if (typeof a != 'number') a = A.triggerHandler(cf_e('currentPage', conf));
                var f = opts.pagination.items || opts.items.visible,
                    max = Math.ceil(itms.total / f) - 1;
                if (a < 0) a = max;
                if (a > max) a = 0;
                return A.triggerHandler(cf_e('slideTo', conf), [a * f, 0, true, b, c, d])
            });
            A.bind(cf_e('jumpToStart', conf), function(e, s) {
                e.stopPropagation();
                if (s) s = gn_getItemIndex(s, 0, true, itms, A);
                else s = 0;
                s += itms.first;
                if (s != 0) {
                    while (s > itms.total) s -= itms.total;
                    A.prepend(A.children().slice(s, itms.total))
                }
                return true
            });
            A.bind(cf_e('synchronise', conf), function(e, s) {
                e.stopPropagation();
                if (s) s = cf_getSynchArr(s);
                else if (opts.synchronise) s = opts.synchronise;
                else return debug(conf, 'No carousel to synchronise.');
                var n = A.triggerHandler(cf_e('currentPosition', conf)),
                    x = true;
                for (var j = 0, l = s.length; j < l; j++) {
                    if (!s[j][0].triggerHandler(cf_e('slideTo', conf), [n, s[j][3], true])) {
                        x = false
                    }
                }
                return x
            });
            A.bind(cf_e('queue', conf), function(e, a, b) {
                e.stopPropagation();
                if (typeof a == 'function') {
                    a.call($tt0, queu)
                } else if (is_array(a)) {
                    queu = a
                } else if (typeof a != 'undefined') {
                    queu.push([a, b])
                }
                return queu
            });
            A.bind(cf_e('insertItem', conf), function(e, b, c, d, f) {
                e.stopPropagation();
                var v = [b, c, d, f],
                    t = ['string/object', 'string/number/object', 'boolean', 'number'],
                    a = cf_sortParams(v, t);
                var b = a[0],
                    c = a[1],
                    d = a[2],
                    f = a[3];
                if (typeof b == 'object' && typeof b.jquery == 'undefined') b = $(b);
                if (typeof b == 'string') b = $(b);
                if (typeof b != 'object' || typeof b.jquery == 'undefined' || b.length == 0) return debug(conf, 'Not a valid object.');
                if (typeof c == 'undefined') c = 'end';
                if (opts.usePadding) {
                    b.each(function() {
                        var m = parseInt($(this).css(opts.d['marginRight']));
                        if (isNaN(m)) m = 0;
                        $(this).data('cfs_origCssMargin', m)
                    })
                }
                var g = c,
                    before = 'before';
                if (c == 'end') {
                    if (d) {
                        if (itms.first == 0) {
                            c = itms.total - 1;
                            before = 'after'
                        } else {
                            c = itms.first;
                            itms.first += b.length
                        }
                        if (c < 0) c = 0
                    } else {
                        c = itms.total - 1;
                        before = 'after'
                    }
                } else {
                    c = gn_getItemIndex(c, f, d, itms, A)
                }
                if (g != 'end' && !d) {
                    if (c < itms.first) itms.first += b.length
                }
                if (itms.first >= itms.total) itms.first -= itms.total;
                var h = A.children().eq(c);
                if (h.length) {
                    h[before](b)
                } else {
                    A.append(b)
                }
                itms.total = A.children().length;
                var i = A.triggerHandler('updateSizes');
                nv_showNavi(opts, itms.total, conf);
                nv_enableNavi(opts, itms.first, conf);
                A.trigger(cf_e('linkAnchors', conf));
                A.trigger(cf_e('updatePageStatus', conf), [true, i]);
                return true
            });
            A.bind(cf_e('removeItem', conf), function(e, b, c, d) {
                e.stopPropagation();
                var v = [b, c, d],
                    t = ['string/number/object', 'boolean', 'number'],
                    a = cf_sortParams(v, t);
                var b = a[0],
                    c = a[1],
                    d = a[2];
                if (typeof b == 'undefined' || b == 'end') {
                    A.children().last().remove()
                } else {
                    b = gn_getItemIndex(b, d, c, itms, A);
                    var f = A.children().eq(b);
                    if (f.length) {
                        if (b < itms.first) itms.first -= f.length;
                        f.remove()
                    }
                }
                itms.total = A.children().length;
                var g = A.triggerHandler('updateSizes');
                nv_showNavi(opts, itms.total, conf);
                nv_enableNavi(opts, itms.first, conf);
                A.trigger(cf_e('updatePageStatus', conf), [true, g]);
                return true
            });
            A.bind(cf_e('onBefore', conf) + ' ' + cf_e('onAfter', conf), function(e, a) {
                e.stopPropagation();
                var b = e.type.slice(conf.events.prefix.length);
                if (is_array(a)) clbk[b] = a;
                if (typeof a == 'function') clbk[b].push(a);
                return clbk[b]
            });
            A.bind(cf_e('_cfs_currentPosition', conf, false), function(e, a) {
                e.stopPropagation();
                return A.triggerHandler(cf_e('currentPosition', conf), a)
            });
            A.bind(cf_e('currentPosition', conf), function(e, a) {
                e.stopPropagation();
                if (itms.first == 0) var b = 0;
                else var b = itms.total - itms.first;
                if (typeof a == 'function') a.call($tt0, b);
                return b
            });
            A.bind(cf_e('currentPage', conf), function(e, a) {
                e.stopPropagation();
                var b = opts.pagination.items || opts.items.visible;
                var c = Math.ceil(itms.total / b - 1);
                if (itms.first == 0) var d = 0;
                else if (itms.first < itms.total % b) var d = 0;
                else if (itms.first == b && !opts.circular) var d = c;
                else var d = Math.round((itms.total - itms.first) / b);
                if (d < 0) d = 0;
                if (d > c) d = c;
                if (typeof a == 'function') a.call($tt0, d);
                return d
            });
            A.bind(cf_e('currentVisible', conf), function(e, a) {
                e.stopPropagation();
                $i = gi_getCurrentItems(A.children(), opts);
                if (typeof a == 'function') a.call($tt0, $i);
                return $i
            });
            A.bind(cf_e('slice', conf), function(e, f, l, b) {
                e.stopPropagation();
                var v = [f, l, b],
                    t = ['number', 'number', 'function'],
                    a = cf_sortParams(v, t);
                f = (typeof a[0] == 'number') ? a[0] : 0, l = (typeof a[1] == 'number') ? a[1] : itms.total, b = a[2];
                f += itms.first;
                l += itms.first;
                while (f > itms.total) {
                    f -= itms.total
                }
                while (l > itms.total) {
                    l -= itms.total
                }
                while (f < 0) {
                    f += itms.total
                }
                while (l < 0) {
                    l += itms.total
                }
                var c = A.children();
                if (l > f) {
                    var d = c.slice(f, l)
                } else {
                    var d = $(c.slice(f, itms.total).get().concat(c.slice(0, l).get()))
                }
                if (typeof b == 'function') b.call($tt0, d);
                return d
            });
            A.bind(cf_e('isPaused', conf) + ' ' + cf_e('isStopped', conf) + ' ' + cf_e('isScrolling', conf), function(e, a) {
                e.stopPropagation();
                var b = e.type.slice(conf.events.prefix.length);
                if (typeof a == 'function') a.call($tt0, C[b]);
                return C[b]
            });
            A.bind(cf_e('_cfs_configuration', conf, false), function(e, a, b, c) {
                e.stopPropagation();
                return A.triggerHandler(cf_e('configuration', conf), [a, b, c])
            });
            A.bind(cf_e('configuration', conf), function(e, a, b, c) {
                e.stopPropagation();
                var d = false;
                if (typeof a == 'function') {
                    a.call($tt0, opts)
                } else if (typeof a == 'object') {
                    opts_orig = $.extend(true, {}, opts_orig, a);
                    if (b !== false) d = true;
                    else opts = $.extend(true, {}, opts, a)
                } else if (typeof a != 'undefined') {
                    if (typeof b == 'function') {
                        var f = eval('opts.' + a);
                        if (typeof f == 'undefined') f = '';
                        b.call($tt0, f)
                    } else if (typeof b != 'undefined') {
                        if (typeof c !== 'boolean') c = true;
                        eval('opts_orig.' + a + ' = b');
                        if (c !== false) d = true;
                        else eval('opts.' + a + ' = b')
                    } else {
                        return eval('opts.' + a)
                    }
                }
                if (d) {
                    sz_resetMargin(A.children(), opts);
                    A._cfs_init(opts_orig);
                    A._cfs_bind_buttons();
                    var g = sz_setSizes(A, opts, false);
                    A.trigger(cf_e('updatePageStatus', conf), [true, g])
                }
                return opts
            });
            A.bind(cf_e('linkAnchors', conf), function(e, a, b) {
                e.stopPropagation();
                if (typeof a == 'undefined' || a.length == 0) a = $('body');
                else if (typeof a == 'string') a = $(a);
                if (typeof a != 'object') return debug(conf, 'Not a valid object.');
                if (typeof b != 'string' || b.length == 0) b = 'a.caroufredsel';
                a.find(b).each(function() {
                    var h = this.hash || '';
                    if (h.length > 0 && A.children().index($(h)) != -1) {
                        $(this).unbind('click').click(function(e) {
                            e.preventDefault();
                            A.trigger(cf_e('slideTo', conf), h)
                        })
                    }
                });
                return true
            });
            A.bind(cf_e('updatePageStatus', conf), function(e, b, c) {
                e.stopPropagation();
                if (!opts.pagination.container) return;
                if (b) {
                    var d = opts.pagination.items || opts.items.visible,
                        l = Math.ceil(itms.total / d);
                    if (opts.pagination.anchorBuilder) {
                        opts.pagination.container.children().remove();
                        opts.pagination.container.each(function() {
                            for (var a = 0; a < l; a++) {
                                var i = A.children().eq(gn_getItemIndex(a * d, 0, true, itms, A));
                                $(this).append(opts.pagination.anchorBuilder(a + 1, i))
                            }
                        })
                    }
                    opts.pagination.container.each(function() {
                        $(this).children().unbind(opts.pagination.event).each(function(a) {
                            $(this).bind(opts.pagination.event, function(e) {
                                e.preventDefault();
                                A.trigger(cf_e('slideTo', conf), [a * d, 0, true, opts.pagination])
                            })
                        })
                    })
                }
                opts.pagination.container.each(function() {
                    $(this).children().removeClass(cf_c('selected', conf)).eq(A.triggerHandler(cf_e('currentPage', conf))).addClass(cf_c('selected', conf))
                });
                return true
            });
            A.bind(cf_e('updateSizes', conf), function(e) {
                var a = A.children(),
                    vI = opts.items.visible;
                if (opts.items.visibleConf.variable) vI = gn_getVisibleItemsNext(a, opts, 0);
                else if (opts.items.filter != '*') vI = gn_getVisibleItemsNextFilter(a, opts, 0);
                if (!opts.circular && itms.first != 0 && vI > itms.first) {
                    if (opts.items.visibleConf.variable) {
                        var b = gn_getVisibleItemsPrev(a, opts, itms.first) - itms.first
                    } else if (opts.items.filter != '*') {
                        var b = gn_getVisibleItemsPrevFilter(a, opts, itms.first) - itms.first
                    } else {
                        b = opts.items.visible - itms.first
                    }
                    debug(conf, 'Preventing non-circular: sliding ' + b + ' items backward.');
                    A.trigger('prev', b)
                }
                opts.items.visible = cf_getItemsAdjust(vI, opts, opts.items.visibleConf.adjust, $tt0);
                return sz_setSizes(A, opts)
            });
            A.bind(cf_e('_cfs_destroy', conf, false), function(e, a) {
                e.stopPropagation();
                A.trigger(cf_e('destroy', conf), a);
                return true
            });
            A.bind(cf_e('destroy', conf), function(e, a) {
                e.stopPropagation();
                tmrs = sc_clearTimers(tmrs);
                A.data('cfs_isCarousel', false);
                A.trigger(cf_e('finish', conf));
                if (a) {
                    A.trigger(cf_e('jumpToStart', conf))
                }
                if (opts.usePadding) {
                    sz_resetMargin(A.children(), opts)
                }
                A.css(A.data('cfs_origCss'));
                A._cfs_unbind_events();
                A._cfs_unbind_buttons();
                $wrp.replaceWith(A);
                return true
            })
        };
        A._cfs_unbind_events = function() {
            A.unbind(cf_e('', conf));
            A.unbind(cf_e('', conf, false))
        };
        A._cfs_bind_buttons = function() {
            A._cfs_unbind_buttons();
            nv_showNavi(opts, itms.total, conf);
            nv_enableNavi(opts, itms.first, conf);
            if (opts.auto.pauseOnHover) {
                var c = bt_pauseOnHoverConfig(opts.auto.pauseOnHover);
                $wrp.bind(cf_e('mouseenter', conf, false), function() {
                    A.trigger(cf_e('pause', conf), c)
                }).bind(cf_e('mouseleave', conf, false), function() {
                    A.trigger(cf_e('resume', conf))
                })
            }
            if (opts.auto.button) {
                opts.auto.button.bind(cf_e(opts.auto.event, conf, false), function(e) {
                    e.preventDefault();
                    var a = false,
                        c = null;
                    if (C.isPaused) {
                        a = 'play'
                    } else if (opts.auto.pauseOnEvent) {
                        a = 'pause';
                        c = bt_pauseOnHoverConfig(opts.auto.pauseOnEvent)
                    }
                    if (a) {
                        A.trigger(cf_e(a, conf), c)
                    }
                })
            }
            if (opts.prev.button) {
                opts.prev.button.bind(cf_e(opts.prev.event, conf, false), function(e) {
                    e.preventDefault();
                    A.trigger(cf_e('prev', conf))
                });
                if (opts.prev.pauseOnHover) {
                    var c = bt_pauseOnHoverConfig(opts.prev.pauseOnHover);
                    opts.prev.button.bind(cf_e('mouseenter', conf, false), function() {
                        A.trigger(cf_e('pause', conf), c)
                    }).bind(cf_e('mouseleave', conf, false), function() {
                        A.trigger(cf_e('resume', conf))
                    })
                }
            }
            if (opts.next.button) {
                opts.next.button.bind(cf_e(opts.next.event, conf, false), function(e) {
                    e.preventDefault();
                    A.trigger(cf_e('next', conf))
                });
                if (opts.next.pauseOnHover) {
                    var c = bt_pauseOnHoverConfig(opts.next.pauseOnHover);
                    opts.next.button.bind(cf_e('mouseenter', conf, false), function() {
                        A.trigger(cf_e('pause', conf), c)
                    }).bind(cf_e('mouseleave', conf, false), function() {
                        A.trigger(cf_e('resume', conf))
                    })
                }
            }
            if ($.fn.mousewheel) {
                if (opts.prev.mousewheel) {
                    if (!C.mousewheelPrev) {
                        C.mousewheelPrev = true;
                        $wrp.mousewheel(function(e, a) {
                            if (a > 0) {
                                e.preventDefault();
                                var b = bt_mousesheelNumber(opts.prev.mousewheel);
                                A.trigger(cf_e('prev', conf), b)
                            }
                        })
                    }
                }
                if (opts.next.mousewheel) {
                    if (!C.mousewheelNext) {
                        C.mousewheelNext = true;
                        $wrp.mousewheel(function(e, a) {
                            if (a < 0) {
                                e.preventDefault();
                                var b = bt_mousesheelNumber(opts.next.mousewheel);
                                A.trigger(cf_e('next', conf), b)
                            }
                        })
                    }
                }
            }
            if ($.fn.touchwipe) {
                var d = (opts.prev.wipe) ?
                function() {
                    A.trigger(cf_e('prev', conf))
                } : null, wN = (opts.next.wipe) ?
                function() {
                    A.trigger(cf_e('next', conf))
                } : null;
                if (wN || wN) {
                    if (!C.touchwipe) {
                        C.touchwipe = true;
                        var f = {
                            'min_move_x': 30,
                            'min_move_y': 30,
                            'preventDefaultEvents': true
                        };
                        switch (opts.direction) {
                        case 'up':
                        case 'down':
                            f.wipeUp = d;
                            f.wipeDown = wN;
                            break;
                        default:
                            f.wipeLeft = wN;
                            f.wipeRight = d
                        }
                        $wrp.touchwipe(f)
                    }
                }
            }
            if (opts.pagination.container) {
                if (opts.pagination.pauseOnHover) {
                    var c = bt_pauseOnHoverConfig(opts.pagination.pauseOnHover);
                    opts.pagination.container.bind(cf_e('mouseenter', conf, false), function() {
                        A.trigger(cf_e('pause', conf), c)
                    }).bind(cf_e('mouseleave', conf, false), function() {
                        A.trigger(cf_e('resume', conf))
                    })
                }
            }
            if (opts.prev.key || opts.next.key) {
                $(document).bind(cf_e('keyup', conf, false, true, true), function(e) {
                    var k = e.keyCode;
                    if (k == opts.next.key) {
                        e.preventDefault();
                        A.trigger(cf_e('next', conf))
                    }
                    if (k == opts.prev.key) {
                        e.preventDefault();
                        A.trigger(cf_e('prev', conf))
                    }
                })
            }
            if (opts.pagination.keys) {
                $(document).bind(cf_e('keyup', conf, false, true, true), function(e) {
                    var k = e.keyCode;
                    if (k >= 49 && k < 58) {
                        k = (k - 49) * opts.items.visible;
                        if (k <= itms.total) {
                            e.preventDefault();
                            A.trigger(cf_e('slideTo', conf), [k, 0, true, opts.pagination])
                        }
                    }
                })
            }
            if (opts.auto.play) {
                A.trigger(cf_e('play', conf), opts.auto.delay)
            }
            if (C.upDateOnWindowResize) {
                $(window).bind(cf_e('resize', conf, false, true, true), function(e) {
                    A.trigger(cf_e('finish', conf));
                    if (opts.auto.pauseOnResize && !C.isPaused) {
                        A.trigger(cf_e('play', conf))
                    }
                    sz_resetMargin(A.children(), opts);
                    A._cfs_init(opts_orig);
                    var a = sz_setSizes(A, opts, false);
                    A.trigger(cf_e('updatePageStatus', conf), [true, a])
                })
            }
        };
        A._cfs_unbind_buttons = function() {
            var a = cf_e('', conf),
                ns2 = cf_e('', conf, false);
            ns3 = cf_e('', conf, false, true, true);
            $(document).unbind(ns3);
            $(window).unbind(ns3);
            $wrp.unbind(ns2);
            if (opts.auto.button) opts.auto.button.unbind(ns2);
            if (opts.prev.button) opts.prev.button.unbind(ns2);
            if (opts.next.button) opts.next.button.unbind(ns2);
            if (opts.pagination.container) {
                opts.pagination.container.unbind(ns2);
                if (opts.pagination.anchorBuilder) {
                    opts.pagination.container.children().remove()
                }
            }
            nv_showNavi(opts, 'hide', conf);
            nv_enableNavi(opts, 'removeClass', conf)
        };
        var C = {
            'direction': 'next',
            'isPaused': true,
            'isScrolling': false,
            'isStopped': false,
            'mousewheelNext': false,
            'mousewheelPrev': false,
            'touchwipe': false
        },
            itms = {
                'total': A.children().length,
                'first': 0
            },
            tmrs = {
                'timer': null,
                'auto': null,
                'queue': null,
                'startTime': getTime(),
                'timePassed': 0
            },
            scrl = {
                'isStopped': false,
                'duration': 0,
                'startTime': 0,
                'easing': '',
                'anims': []
            },
            clbk = {
                'onBefore': [],
                'onAfter': []
            },
            queu = [],
            conf = $.extend(true, {}, $.fn.carouFredSel.configs, z),
            opts = {},
            opts_orig = y,
            $wrp = A.wrap('<' + conf.wrapper.element + ' class="' + conf.wrapper.classname + '" />').parent();
        conf.selector = A.selector;
        conf.serialNumber = $.fn.carouFredSel.serialNumber++;
        A._cfs_init(opts_orig, true, B);
        A._cfs_build();
        A._cfs_bind_events();
        A._cfs_bind_buttons();
        if (is_array(opts.items.start)) {
            var D = opts.items.start
        } else {
            var D = [];
            if (opts.items.start != 0) {
                D.push(opts.items.start)
            }
        }
        if (opts.cookie) {
            D.unshift(cf_readCookie(opts.cookie))
        }
        if (D.length > 0) {
            for (var a = 0, l = D.length; a < l; a++) {
                var s = D[a];
                if (s == 0) {
                    continue
                }
                if (s === true) {
                    s = window.location.hash;
                    if (s.length < 1) {
                        continue
                    }
                } else if (s === 'random') {
                    s = Math.floor(Math.random() * itms.total)
                }
                if (A.triggerHandler(cf_e('slideTo', conf), [s, 0, true,
                {
                    fx: 'none'
                }])) {
                    break
                }
            }
        }
        var E = sz_setSizes(A, opts, false),
            itm = gi_getCurrentItems(A.children(), opts);
        if (opts.onCreate) {
            opts.onCreate.call($tt0, itm, E)
        }
        A.trigger(cf_e('updatePageStatus', conf), [true, E]);
        A.trigger(cf_e('linkAnchors', conf));
        return A
    };
    $.fn.carouFredSel.serialNumber = 1;
    $.fn.carouFredSel.defaults = {
        'synchronise': false,
        'infinite': true,
        'circular': true,
        'responsive': false,
        'direction': 'left',
        'items': {
            'start': 0
        },
        'scroll': {
            'easing': 'swing',
            'duration': 500,
            'pauseOnHover': false,
            'mousewheel': false,
            'wipe': false,
            'event': 'click',
            'queue': false
        }
    };
    $.fn.carouFredSel.configs = {
        'debug': false,
        'events': {
            'prefix': '',
            'namespace': 'cfs'
        },
        'wrapper': {
            'element': 'div',
            'classname': 'caroufredsel_wrapper'
        },
        'classnames': {}
    };
    $.fn.carouFredSel.pageAnchorBuilder = function(a, b) {
        return '<a href="#"><span>' + a + '</span></a>'
    };

    function sc_setScroll(d, e) {
        return {
            anims: [],
            duration: d,
            orgDuration: d,
            easing: e,
            startTime: getTime()
        }
    }
    function sc_startScroll(s) {
        if (typeof s.pre == 'object') {
            sc_startScroll(s.pre)
        }
        for (var a = 0, l = s.anims.length; a < l; a++) {
            var b = s.anims[a];
            if (!b) continue;
            if (b[3]) b[0].stop();
            b[0].animate(b[1], {
                complete: b[2],
                duration: s.duration,
                easing: s.easing
            })
        }
        if (typeof s.post == 'object') {
            sc_startScroll(s.post)
        }
    }
    function sc_stopScroll(s, c) {
        if (typeof c != 'boolean') c = true;
        if (typeof s.pre == 'object') {
            sc_stopScroll(s.pre, c)
        }
        for (var a = 0, l = s.anims.length; a < l; a++) {
            var b = s.anims[a];
            b[0].stop(true);
            if (c) {
                b[0].css(b[1]);
                if (typeof b[2] == 'function') b[2]()
            }
        }
        if (typeof s.post == 'object') {
            sc_stopScroll(s.post, c)
        }
    }
    function sc_clearTimers(t) {
        if (t.auto) clearTimeout(t.auto);
        return t
    }
    function sc_callCallbacks(b, t, c) {
        if (b.length) {
            for (var a = 0, l = b.length; a < l; a++) {
                b[a].apply(t, c)
            }
        }
        return []
    }
    function fx_fade(a, c, x, d, f) {
        var o = {
            'duration': d,
            'easing': a.easing
        };
        if (typeof f == 'function') o.complete = f;
        c.animate({
            opacity: x
        }, o)
    }
    function fx_cover(a, b, c, o, d) {
        var e = ms_getSizes(gi_getOldItemsNext(b.children(), o), o, true)[0],
            new_w = ms_getSizes(c.children(), o, true)[0],
            cur_l = (d) ? -new_w : e,
            css_o = {},
            ani_o = {};
        css_o[o.d['width']] = new_w;
        css_o[o.d['left']] = cur_l;
        ani_o[o.d['left']] = 0;
        a.pre.anims.push([b,
        {
            'opacity': 1
        }]);
        a.post.anims.push([c, ani_o, function() {
            $(this).remove()
        }]);
        c.css(css_o);
        return a
    }
    function fx_uncover(a, b, c, o, d, n) {
        var e = ms_getSizes(gi_getNewItemsNext(b.children(), o, n), o, true)[0],
            old_w = ms_getSizes(c.children(), o, true)[0],
            cur_l = (d) ? -old_w : e,
            css_o = {},
            ani_o = {};
        css_o[o.d['width']] = old_w;
        css_o[o.d['left']] = 0;
        ani_o[o.d['left']] = cur_l;
        a.post.anims.push([c, ani_o, function() {
            $(this).remove()
        }]);
        c.css(css_o);
        return a
    }
    function nv_showNavi(o, t, c) {
        if (t == 'show' || t == 'hide') {
            var f = t
        } else if (o.items.minimum >= t) {
            debug(c, 'Not enough items: hiding navigation (' + t + ' items, ' + o.items.minimum + ' needed).');
            var f = 'hide'
        } else {
            var f = 'show'
        }
        var s = (f == 'show') ? 'removeClass' : 'addClass',
            h = cf_c('hidden', c);
        if (o.auto.button) o.auto.button[f]()[s](h);
        if (o.prev.button) o.prev.button[f]()[s](h);
        if (o.next.button) o.next.button[f]()[s](h);
        if (o.pagination.container) o.pagination.container[f]()[s](h)
    }
    function nv_enableNavi(o, f, c) {
        if (o.circular || o.infinite) return;
        var a = (f == 'removeClass' || f == 'addClass') ? f : false,
            di = cf_c('disabled', c);
        if (o.auto.button && a) {
            o.auto.button[a](di)
        }
        if (o.prev.button) {
            var b = a || (f == 0) ? 'addClass' : 'removeClass';
            o.prev.button[b](di)
        }
        if (o.next.button) {
            var b = a || (f == o.items.visible) ? 'addClass' : 'removeClass';
            o.next.button[b](di)
        }
    }
    function go_getObject(a, b) {
        if (typeof b == 'function') b = b.call(a);
        if (typeof b == 'undefined') b = {};
        return b
    }
    function go_getNaviObject(a, b, c) {
        if (typeof c != 'string') c = '';
        b = go_getObject(a, b);
        if (typeof b == 'string') {
            var d = cf_getKeyCode(b);
            if (d == -1) b = $(b);
            else b = d
        }
        if (c == 'pagination') {
            if (typeof b == 'boolean') b = {
                'keys': b
            };
            if (typeof b.jquery != 'undefined') b = {
                'container': b
            };
            if (typeof b.container == 'function') b.container = b.container.call(a);
            if (typeof b.container == 'string') b.container = $(b.container);
            if (typeof b.items != 'number') b.items = false
        } else if (c == 'auto') {
            if (typeof b.jquery != 'undefined') b = {
                'button': b
            };
            if (typeof b == 'boolean') b = {
                'play': b
            };
            if (typeof b == 'number') b = {
                'pauseDuration': b
            };
            if (typeof b.button == 'function') b.button = b.button.call(a);
            if (typeof b.button == 'string') b.button = $(b.button)
        } else {
            if (typeof b.jquery != 'undefined') b = {
                'button': b
            };
            if (typeof b == 'number') b = {
                'key': b
            };
            if (typeof b.button == 'function') b.button = b.button.call(a);
            if (typeof b.button == 'string') b.button = $(b.button);
            if (typeof b.key == 'string') b.key = cf_getKeyCode(b.key)
        }
        return b
    }
    function gn_getItemIndex(a, b, c, d, e) {
        if (typeof a == 'string') {
            if (isNaN(a)) a = $(a);
            else a = parseInt(a)
        }
        if (typeof a == 'object') {
            if (typeof a.jquery == 'undefined') a = $(a);
            a = e.children().index(a);
            if (a == -1) a = 0;
            if (typeof c != 'boolean') c = false
        } else {
            if (typeof c != 'boolean') c = true
        }
        if (isNaN(a)) a = 0;
        else a = parseInt(a);
        if (isNaN(b)) b = 0;
        else b = parseInt(b);
        if (c) {
            a += d.first
        }
        a += b;
        if (d.total > 0) {
            while (a >= d.total) {
                a -= d.total
            }
            while (a < 0) {
                a += d.total
            }
        }
        return a
    }
    function gn_getVisibleItemsPrev(i, o, s) {
        var t = 0,
            x = 0;
        for (var a = s; a >= 0; a--) {
            var j = i.eq(a);
            t += (j.is(':visible')) ? j[o.d['outerWidth']](true) : 0;
            if (t > o.maxDimention) return x;
            if (a == 0) a = i.length;
            x++
        }
    }
    function gn_getVisibleItemsPrevFilter(i, o, s) {
        return gn_getItemsPrevFilter(i, o.items.filter, o.items.visibleConf.org, s)
    }
    function gn_getScrollItemsPrevFilter(i, o, s, m) {
        return gn_getItemsPrevFilter(i, o.items.filter, m, s)
    }
    function gn_getItemsPrevFilter(i, f, m, s) {
        var t = 0,
            x = 0;
        for (var a = s, l = i.length - 1; a >= 0; a--) {
            x++;
            if (x == l) return x;
            var j = i.eq(a);
            if (j.is(f)) {
                t++;
                if (t == m) return x
            }
            if (a == 0) a = i.length
        }
    }
    function gn_getVisibleOrg(a, o) {
        return o.items.visibleConf.org || a.children().slice(0, o.items.visible).filter(o.items.filter).length
    }
    function gn_getVisibleItemsNext(i, o, s) {
        var t = 0,
            x = 0;
        for (var a = s, l = i.length - 1; a <= l; a++) {
            var j = i.eq(a);
            t += (j.is(':visible')) ? j[o.d['outerWidth']](true) : 0;
            if (t > o.maxDimention) return x;
            x++;
            if (x == l) return x;
            if (a == l) a = -1
        }
    }
    function gn_getVisibleItemsNextTestCircular(i, o, s, l) {
        var v = gn_getVisibleItemsNext(i, o, s);
        if (!o.circular) {
            if (s + v > l) v = l - s
        }
        return v
    }
    function gn_getVisibleItemsNextFilter(i, o, s) {
        return gn_getItemsNextFilter(i, o.items.filter, o.items.visibleConf.org, s, o.circular)
    }
    function gn_getScrollItemsNextFilter(i, o, s, m) {
        return gn_getItemsNextFilter(i, o.items.filter, m + 1, s, o.circular) - 1
    }
    function gn_getItemsNextFilter(i, f, m, s, c) {
        var t = 0,
            x = 0;
        for (var a = s, l = i.length - 1; a <= l; a++) {
            x++;
            if (x == l) return x;
            var j = i.eq(a);
            if (j.is(f)) {
                t++;
                if (t == m) return x
            }
            if (a == l) a = -1
        }
    }
    function gi_getCurrentItems(i, o) {
        return i.slice(0, o.items.visible)
    }
    function gi_getOldItemsPrev(i, o, n) {
        return i.slice(n, o.items.visibleConf.old + n)
    }
    function gi_getNewItemsPrev(i, o) {
        return i.slice(0, o.items.visible)
    }
    function gi_getOldItemsNext(i, o) {
        return i.slice(0, o.items.visibleConf.old)
    }
    function gi_getNewItemsNext(i, o, n) {
        return i.slice(n, o.items.visible + n)
    }
    function sz_resetMargin(i, o, m) {
        var x = (typeof m == 'boolean') ? m : false;
        if (typeof m != 'number') m = 0;
        i.each(function() {
            var j = $(this);
            var t = parseInt(j.css(o.d['marginRight']));
            if (isNaN(t)) t = 0;
            j.data('cfs_tempCssMargin', t);
            j.css(o.d['marginRight'], ((x) ? j.data('cfs_tempCssMargin') : m + j.data('cfs_origCssMargin')))
        })
    }
    function sz_setSizes(a, o, p) {
        var b = a.parent(),
            $i = a.children(),
            $v = gi_getCurrentItems($i, o),
            sz = cf_mapWrapperSizes(ms_getSizes($v, o, true), o, p);
        b.css(sz);
        if (o.usePadding) {
            var p = o.padding,
                r = p[o.d[1]];
            if (o.align) {
                if (r < 0) r = 0
            }
            var c = $v.last();
            c.css(o.d['marginRight'], c.data('cfs_origCssMargin') + r);
            a.css(o.d['top'], p[o.d[0]]);
            a.css(o.d['left'], p[o.d[3]])
        }
        a.css(o.d['width'], sz[o.d['width']] + (ms_getTotalSize($i, o, 'width') * 2));
        a.css(o.d['height'], ms_getLargestSize($i, o, 'height'));
        return sz
    }
    function ms_getSizes(i, o, a) {
        var b = ms_getTotalSize(i, o, 'width', a),
            s2 = ms_getLargestSize(i, o, 'height', a);
        return [b, s2]
    }
    function ms_getLargestSize(i, o, a, b) {
        if (typeof b != 'boolean') b = false;
        if (typeof o[o.d[a]] == 'number' && b) return o[o.d[a]];
        if (typeof o.items[o.d[a]] == 'number') return o.items[o.d[a]];
        var c = (a.toLowerCase().indexOf('width') > -1) ? 'outerWidth' : 'outerHeight';
        return ms_getTrueLargestSize(i, o, c)
    }
    function ms_getTrueLargestSize(i, o, b) {
        var s = 0;
        for (var a = 0, l = i.length; a < l; a++) {
            var j = i.eq(a);
            var m = (j.is(':visible')) ? j[o.d[b]](true) : 0;
            if (s < m) s = m
        }
        return s
    }
    function ms_getTrueInnerSize(b, o, c) {
        if (!b.is(':visible')) return 0;
        var d = b[o.d[c]](),
            arr = (o.d[c].toLowerCase().indexOf('width') > -1) ? ['paddingLeft', 'paddingRight'] : ['paddingTop', 'paddingBottom'];
        for (var a = 0, l = arr.length; a < l; a++) {
            var m = parseInt(b.css(arr[a]));
            d -= (isNaN(m)) ? 0 : m
        }
        return d
    }
    function ms_getTotalSize(i, o, b, c) {
        if (typeof c != 'boolean') c = false;
        if (typeof o[o.d[b]] == 'number' && c) return o[o.d[b]];
        if (typeof o.items[o.d[b]] == 'number') return o.items[o.d[b]] * i.length;
        var d = (b.toLowerCase().indexOf('width') > -1) ? 'outerWidth' : 'outerHeight',
            s = 0;
        for (var a = 0, l = i.length; a < l; a++) {
            var j = i.eq(a);
            s += (j.is(':visible')) ? j[o.d[d]](true) : 0
        }
        return s
    }
    function ms_hasVariableSizes(i, o, b) {
        var s = false,
            v = false;
        for (var a = 0, l = i.length; a < l; a++) {
            var j = i.eq(a);
            var c = (j.is(':visible')) ? j[o.d[b]](true) : 0;
            if (s === false) s = c;
            else if (s != c) v = true;
            if (s == 0) v = true
        }
        return v
    }
    function ms_getPaddingBorderMargin(i, o, d) {
        return i[o.d['outer' + d]](true) - ms_getTrueInnerSize(i, o, 'inner' + d)
    }
    function ms_isPercentage(x) {
        return (typeof x == 'string' && x.slice(-1) == '%')
    }
    function ms_getPercentage(s, o) {
        if (ms_isPercentage(o)) {
            o = o.slice(0, -1);
            if (isNaN(o)) return s;
            s *= o / 100
        }
        return s
    }
    function cf_e(n, c, a, b, d) {
        if (typeof a != 'boolean') a = true;
        if (typeof b != 'boolean') b = true;
        if (typeof d != 'boolean') d = false;
        if (a) n = c.events.prefix + n;
        if (b) n = n + '.' + c.events.namespace;
        if (b && d) n += c.serialNumber;
        return n
    }
    function cf_c(n, c) {
        return (typeof c.classnames[n] == 'string') ? c.classnames[n] : n
    }
    function cf_mapWrapperSizes(a, o, p) {
        if (typeof p != 'boolean') p = true;
        var b = (o.usePadding && p) ? o.padding : [0, 0, 0, 0];
        var c = {};
        c[o.d['width']] = a[0] + b[1] + b[3];
        c[o.d['height']] = a[1] + b[0] + b[2];
        return c
    }
    function cf_sortParams(c, d) {
        var e = [];
        for (var a = 0, l1 = c.length; a < l1; a++) {
            for (var b = 0, l2 = d.length; b < l2; b++) {
                if (d[b].indexOf(typeof c[a]) > -1 && typeof e[b] == 'undefined') {
                    e[b] = c[a];
                    break
                }
            }
        }
        return e
    }
    function cf_getPadding(p) {
        if (typeof p == 'undefined') return [0, 0, 0, 0];
        if (typeof p == 'number') return [p, p, p, p];
        else if (typeof p == 'string') p = p.split('px').join('').split('em').join('').split(' ');
        if (!is_array(p)) {
            return [0, 0, 0, 0]
        }
        for (var i = 0; i < 4; i++) {
            p[i] = parseInt(p[i])
        }
        switch (p.length) {
        case 0:
            return [0, 0, 0, 0];
        case 1:
            return [p[0], p[0], p[0], p[0]];
        case 2:
            return [p[0], p[1], p[0], p[1]];
        case 3:
            return [p[0], p[1], p[2], p[1]];
        default:
            return [p[0], p[1], p[2], p[3]]
        }
    }
    function cf_getAlignPadding(a, o) {
        var x = (typeof o[o.d['width']] == 'number') ? Math.ceil(o[o.d['width']] - ms_getTotalSize(a, o, 'width')) : 0;
        switch (o.align) {
        case 'left':
            return [0, x];
        case 'right':
            return [x, 0];
        case 'center':
        default:
            return [Math.ceil(x / 2), Math.floor(x / 2)]
        }
    }
    function cf_getAdjust(x, o, a, b) {
        var v = x;
        if (typeof a == 'function') {
            v = a.call(b, v)
        } else if (typeof a == 'string') {
            var p = a.split('+'),
                m = a.split('-');
            if (m.length > p.length) {
                var c = true,
                    sta = m[0],
                    adj = m[1]
            } else {
                var c = false,
                    sta = p[0],
                    adj = p[1]
            }
            switch (sta) {
            case 'even':
                v = (x % 2 == 1) ? x - 1 : x;
                break;
            case 'odd':
                v = (x % 2 == 0) ? x - 1 : x;
                break;
            default:
                v = x;
                break
            }
            adj = parseInt(adj);
            if (!isNaN(adj)) {
                if (c) adj = -adj;
                v += adj
            }
        }
        if (typeof v != 'number') v = 1;
        if (v < 1) v = 1;
        return v
    }
    function cf_getItemsAdjust(x, o, a, b) {
        return cf_getItemAdjustMinMax(cf_getAdjust(x, o, a, b), o.items.visibleConf)
    }
    function cf_getItemAdjustMinMax(v, i) {
        if (typeof i.min == 'number' && v < i.min) v = i.min;
        if (typeof i.max == 'number' && v > i.max) v = i.max;
        if (v < 1) v = 1;
        return v
    }
    function cf_getSynchArr(s) {
        if (!is_array(s)) s = [
            [s]
        ];
        if (!is_array(s[0])) s = [s];
        for (var j = 0, l = s.length; j < l; j++) {
            if (typeof s[j][0] == 'string') s[j][0] = $(s[j][0]);
            if (typeof s[j][1] != 'boolean') s[j][1] = true;
            if (typeof s[j][2] != 'boolean') s[j][2] = true;
            if (typeof s[j][3] != 'number') s[j][3] = 0
        }
        return s
    }
    function cf_getKeyCode(k) {
        if (k == 'right') return 39;
        if (k == 'left') return 37;
        if (k == 'up') return 38;
        if (k == 'down') return 40;
        return -1
    }
    function cf_setCookie(n, v) {
        if (n) document.cookie = n + '=' + v + '; path=/'
    }
    function cf_readCookie(n) {
        n += '=';
        var b = document.cookie.split(';');
        for (var a = 0, l = b.length; a < l; a++) {
            var c = b[a];
            while (c.charAt(0) == ' ') {
                c = c.slice(1)
            }
            if (c.indexOf(n) == 0) {
                return c.slice(n.length)
            }
        }
        return 0
    }
    function bt_pauseOnHoverConfig(p) {
        if (p && typeof p == 'string') {
            var i = (p.indexOf('immediate') > -1) ? true : false,
                r = (p.indexOf('resume') > -1) ? true : false
        } else {
            var i = r = false
        }
        return [i, r]
    }
    function bt_mousesheelNumber(a) {
        return (typeof a == 'number') ? a : null
    }
    function is_array(a) {
        return typeof(a) == 'object' && (a instanceof Array)
    }
    function getTime() {
        return new Date().getTime()
    }
    function debug(d, m) {
        if (typeof d == 'object') {
            var s = ' (' + d.selector + ')';
            d = d.debug
        } else {
            var s = ''
        }
        if (!d) return false;
        if (typeof m == 'string') m = 'carouFredSel' + s + ': ' + m;
        else m = ['carouFredSel' + s + ':', m];
        if (window.console && window.console.log) window.console.log(m);
        return false
    }
    $.fn.caroufredsel = function(o, c) {
        return this.carouFredSel(o, c)
    };
    $.extend($.easing, {
        'quadratic': function(t) {
            var a = t * t;
            return t * (-a * t + 4 * a - 6 * t + 4)
        },
        'cubic': function(t) {
            return t * (4 * t * t - 9 * t + 6)
        },
        'elastic': function(t) {
            var a = t * t;
            return t * (33 * a * a - 106 * a * t + 126 * a - 67 * t + 15)
        }
    })
})(jQuery);

#2 JavaScript::Eval (size: 202604, repeated: 1)

/*! jQuery UI - v1.8.21 - 2012-06-05
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.effects.core.js, jquery.effects.blind.js, jquery.effects.bounce.js, jquery.effects.clip.js, jquery.effects.drop.js, jquery.effects.explode.js, jquery.effects.fade.js, jquery.effects.fold.js, jquery.effects.highlight.js, jquery.effects.pulsate.js, jquery.effects.scale.js, jquery.effects.shake.js, jquery.effects.slide.js, jquery.effects.transfer.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.tabs.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
(function(a, b) {
    function c(b, c) {
        var e = b.nodeName.toLowerCase();
        if ("area" === e) {
            var f = b.parentNode,
                g = f.name,
                h;
            return !b.href || !g || f.nodeName.toLowerCase() !== "map" ? !1 : (h = a("img[usemap=#" + g + "]")[0], !! h && d(h))
        }
        return (/input|select|textarea|button|object/.test(e) ? !b.disabled : "a" == e ? b.href || c : c) && d(b)
    }
    function d(b) {
        return !a(b).parents().andSelf().filter(function() {
            return a.curCSS(this, "visibility") === "hidden" || a.expr.filters.hidden(this)
        }).length
    }
    a.ui = a.ui || {};
    if (a.ui.version) return;
    a.extend(a.ui, {
        version: "1.8.21",
        keyCode: {
            ALT: 18,
            BACKSPACE: 8,
            CAPS_LOCK: 20,
            COMMA: 188,
            COMMAND: 91,
            COMMAND_LEFT: 91,
            COMMAND_RIGHT: 93,
            CONTROL: 17,
            DELETE: 46,
            DOWN: 40,
            END: 35,
            ENTER: 13,
            ESCAPE: 27,
            HOME: 36,
            INSERT: 45,
            LEFT: 37,
            MENU: 93,
            NUMPAD_ADD: 107,
            NUMPAD_DECIMAL: 110,
            NUMPAD_DIVIDE: 111,
            NUMPAD_ENTER: 108,
            NUMPAD_MULTIPLY: 106,
            NUMPAD_SUBTRACT: 109,
            PAGE_DOWN: 34,
            PAGE_UP: 33,
            PERIOD: 190,
            RIGHT: 39,
            SHIFT: 16,
            SPACE: 32,
            TAB: 9,
            UP: 38,
            WINDOWS: 91
        }
    }), a.fn.extend({
        propAttr: a.fn.prop || a.fn.attr,
        _focus: a.fn.focus,
        focus: function(b, c) {
            return typeof b == "number" ? this.each(function() {
                var d = this;
                setTimeout(function() {
                    a(d).focus(), c && c.call(d)
                }, b)
            }) : this._focus.apply(this, arguments)
        },
        scrollParent: function() {
            var b;
            return a.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? b = this.parents().filter(function() {
                return /(relative|absolute|fixed)/.test(a.curCSS(this, "position", 1)) && /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1))
            }).eq(0) : b = this.parents().filter(function() {
                return /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1))
            }).eq(0), /fixed/.test(this.css("position")) || !b.length ? a(document) : b
        },
        zIndex: function(c) {
            if (c !== b) return this.css("zIndex", c);
            if (this.length) {
                var d = a(this[0]),
                    e, f;
                while (d.length && d[0] !== document) {
                    e = d.css("position");
                    if (e === "absolute" || e === "relative" || e === "fixed") {
                        f = parseInt(d.css("zIndex"), 10);
                        if (!isNaN(f) && f !== 0) return f
                    }
                    d = d.parent()
                }
            }
            return 0
        },
        disableSelection: function() {
            return this.bind((a.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function(a) {
                a.preventDefault()
            })
        },
        enableSelection: function() {
            return this.unbind(".ui-disableSelection")
        }
    }), a.each(["Width", "Height"], function(c, d) {
        function h(b, c, d, f) {
            return a.each(e, function() {
                c -= parseFloat(a.curCSS(b, "padding" + this, !0)) || 0, d && (c -= parseFloat(a.curCSS(b, "border" + this + "Width", !0)) || 0), f && (c -= parseFloat(a.curCSS(b, "margin" + this, !0)) || 0)
            }), c
        }
        var e = d === "Width" ? ["Left", "Right"] : ["Top", "Bottom"],
            f = d.toLowerCase(),
            g = {
                innerWidth: a.fn.innerWidth,
                innerHeight: a.fn.innerHeight,
                outerWidth: a.fn.outerWidth,
                outerHeight: a.fn.outerHeight
            };
        a.fn["inner" + d] = function(c) {
            return c === b ? g["inner" + d].call(this) : this.each(function() {
                a(this).css(f, h(this, c) + "px")
            })
        }, a.fn["outer" + d] = function(b, c) {
            return typeof b != "number" ? g["outer" + d].call(this, b) : this.each(function() {
                a(this).css(f, h(this, b, !0, c) + "px")
            })
        }
    }), a.extend(a.expr[":"], {
        data: function(b, c, d) {
            return !!a.data(b, d[3])
        },
        focusable: function(b) {
            return c(b, !isNaN(a.attr(b, "tabindex")))
        },
        tabbable: function(b) {
            var d = a.attr(b, "tabindex"),
                e = isNaN(d);
            return (e || d >= 0) && c(b, !e)
        }
    }), a(function() {
        var b = document.body,
            c = b.appendChild(c = document.createElement("div"));
        c.offsetHeight, a.extend(c.style, {
            minHeight: "100px",
            height: "auto",
            padding: 0,
            borderWidth: 0
        }), a.support.minHeight = c.offsetHeight === 100, a.support.selectstart = "onselectstart" in c, b.removeChild(c).style.display = "none"
    }), a.extend(a.ui, {
        plugin: {
            add: function(b, c, d) {
                var e = a.ui[b].prototype;
                for (var f in d) e.plugins[f] = e.plugins[f] || [], e.plugins[f].push([c, d[f]])
            },
            call: function(a, b, c) {
                var d = a.plugins[b];
                if (!d || !a.element[0].parentNode) return;
                for (var e = 0; e < d.length; e++) a.options[d[e][0]] && d[e][1].apply(a.element, c)
            }
        },
        contains: function(a, b) {
            return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b)
        },
        hasScroll: function(b, c) {
            if (a(b).css("overflow") === "hidden") return !1;
            var d = c && c === "left" ? "scrollLeft" : "scrollTop",
                e = !1;
            return b[d] > 0 ? !0 : (b[d] = 1, e = b[d] > 0, b[d] = 0, e)
        },
        isOverAxis: function(a, b, c) {
            return a > b && a < b + c
        },
        isOver: function(b, c, d, e, f, g) {
            return a.ui.isOverAxis(b, d, f) && a.ui.isOverAxis(c, e, g)
        }
    })
})(jQuery), function(a, b) {
    if (a.cleanData) {
        var c = a.cleanData;
        a.cleanData = function(b) {
            for (var d = 0, e;
            (e = b[d]) != null; d++) try {
                a(e).triggerHandler("remove")
            } catch (f) {}
            c(b)
        }
    } else {
        var d = a.fn.remove;
        a.fn.remove = function(b, c) {
            return this.each(function() {
                return c || (!b || a.filter(b, [this]).length) && a("*", this).add([this]).each(function() {
                    try {
                        a(this).triggerHandler("remove")
                    } catch (b) {}
                }), d.call(a(this), b, c)
            })
        }
    }
    a.widget = function(b, c, d) {
        var e = b.split(".")[0],
            f;
        b = b.split(".")[1], f = e + "-" + b, d || (d = c, c = a.Widget), a.expr[":"][f] = function(c) {
            return !!a.data(c, b)
        }, a[e] = a[e] || {}, a[e][b] = function(a, b) {
            arguments.length && this._createWidget(a, b)
        };
        var g = new c;
        g.options = a.extend(!0, {}, g.options), a[e][b].prototype = a.extend(!0, g, {
            namespace: e,
            widgetName: b,
            widgetEventPrefix: a[e][b].prototype.widgetEventPrefix || b,
            widgetBaseClass: f
        }, d), a.widget.bridge(b, a[e][b])
    }, a.widget.bridge = function(c, d) {
        a.fn[c] = function(e) {
            var f = typeof e == "string",
                g = Array.prototype.slice.call(arguments, 1),
                h = this;
            return e = !f && g.length ? a.extend.apply(null, [!0, e].concat(g)) : e, f && e.charAt(0) === "_" ? h : (f ? this.each(function() {
                var d = a.data(this, c),
                    f = d && a.isFunction(d[e]) ? d[e].apply(d, g) : d;
                if (f !== d && f !== b) return h = f, !1
            }) : this.each(function() {
                var b = a.data(this, c);
                b ? b.option(e || {})._init() : a.data(this, c, new d(e, this))
            }), h)
        }
    }, a.Widget = function(a, b) {
        arguments.length && this._createWidget(a, b)
    }, a.Widget.prototype = {
        widgetName: "widget",
        widgetEventPrefix: "",
        options: {
            disabled: !1
        },
        _createWidget: function(b, c) {
            a.data(c, this.widgetName, this), this.element = a(c), this.options = a.extend(!0, {}, this.options, this._getCreateOptions(), b);
            var d = this;
            this.element.bind("remove." + this.widgetName, function() {
                d.destroy()
            }), this._create(), this._trigger("create"), this._init()
        },
        _getCreateOptions: function() {
            return a.metadata && a.metadata.get(this.element[0])[this.widgetName]
        },
        _create: function() {},
        _init: function() {},
        destroy: function() {
            this.element.unbind("." + this.widgetName).removeData(this.widgetName), this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled " + "ui-state-disabled")
        },
        widget: function() {
            return this.element
        },
        option: function(c, d) {
            var e = c;
            if (arguments.length === 0) return a.extend({}, this.options);
            if (typeof c == "string") {
                if (d === b) return this.options[c];
                e = {}, e[c] = d
            }
            return this._setOptions(e), this
        },
        _setOptions: function(b) {
            var c = this;
            return a.each(b, function(a, b) {
                c._setOption(a, b)
            }), this
        },
        _setOption: function(a, b) {
            return this.options[a] = b, a === "disabled" && this.widget()[b ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled" + " " + "ui-state-disabled").attr("aria-disabled", b), this
        },
        enable: function() {
            return this._setOption("disabled", !1)
        },
        disable: function() {
            return this._setOption("disabled", !0)
        },
        _trigger: function(b, c, d) {
            var e, f, g = this.options[b];
            d = d || {}, c = a.Event(c), c.type = (b === this.widgetEventPrefix ? b : this.widgetEventPrefix + b).toLowerCase(), c.target = this.element[0], f = c.originalEvent;
            if (f) for (e in f) e in c || (c[e] = f[e]);
            return this.element.trigger(c, d), !(a.isFunction(g) && g.call(this.element[0], c, d) === !1 || c.isDefaultPrevented())
        }
    }
}(jQuery), function(a, b) {
    var c = !1;
    a(document).mouseup(function(a) {
        c = !1
    }), a.widget("ui.mouse", {
        options: {
            cancel: ":input,option",
            distance: 1,
            delay: 0
        },
        _mouseInit: function() {
            var b = this;
            this.element.bind("mousedown." + this.widgetName, function(a) {
                return b._mouseDown(a)
            }).bind("click." + this.widgetName, function(c) {
                if (!0 === a.data(c.target, b.widgetName + ".preventClickEvent")) return a.removeData(c.target, b.widgetName + ".preventClickEvent"), c.stopImmediatePropagation(), !1
            }), this.started = !1
        },
        _mouseDestroy: function() {
            this.element.unbind("." + this.widgetName), a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate)
        },
        _mouseDown: function(b) {
            if (c) return;
            this._mouseStarted && this._mouseUp(b), this._mouseDownEvent = b;
            var d = this,
                e = b.which == 1,
                f = typeof this.options.cancel == "string" && b.target.nodeName ? a(b.target).closest(this.options.cancel).length : !1;
            if (!e || f || !this._mouseCapture(b)) return !0;
            this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function() {
                d.mouseDelayMet = !0
            }, this.options.delay));
            if (this._mouseDistanceMet(b) && this._mouseDelayMet(b)) {
                this._mouseStarted = this._mouseStart(b) !== !1;
                if (!this._mouseStarted) return b.preventDefault(), !0
            }
            return !0 === a.data(b.target, this.widgetName + ".preventClickEvent") && a.removeData(b.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function(a) {
                return d._mouseMove(a)
            }, this._mouseUpDelegate = function(a) {
                return d._mouseUp(a)
            }, a(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), b.preventDefault(), c = !0, !0
        },
        _mouseMove: function(b) {
            return !a.browser.msie || document.documentMode >= 9 || !! b.button ? this._mouseStarted ? (this._mouseDrag(b), b.preventDefault()) : (this._mouseDistanceMet(b) && this._mouseDelayMet(b) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, b) !== !1, this._mouseStarted ? this._mouseDrag(b) : this._mouseUp(b)), !this._mouseStarted) : this._mouseUp(b)
        },
        _mouseUp: function(b) {
            return a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, b.target == this._mouseDownEvent.target && a.data(b.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(b)), !1
        },
        _mouseDistanceMet: function(a) {
            return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance
        },
        _mouseDelayMet: function(a) {
            return this.mouseDelayMet
        },
        _mouseStart: function(a) {},
        _mouseDrag: function(a) {},
        _mouseStop: function(a) {},
        _mouseCapture: function(a) {
            return !0
        }
    })
}(jQuery), function(a, b) {
    a.widget("ui.draggable", a.ui.mouse, {
        widgetEventPrefix: "drag",
        options: {
            addClasses: !0,
            appendTo: "parent",
            axis: !1,
            connectToSortable: !1,
            containment: !1,
            cursor: "auto",
            cursorAt: !1,
            grid: !1,
            handle: !1,
            helper: "original",
            iframeFix: !1,
            opacity: !1,
            refreshPositions: !1,
            revert: !1,
            revertDuration: 500,
            scope: "default",
            scroll: !0,
            scrollSensitivity: 20,
            scrollSpeed: 20,
            snap: !1,
            snapMode: "both",
            snapTolerance: 20,
            stack: !1,
            zIndex: !1
        },
        _create: function() {
            this.options.helper == "original" && !/^(?:r|a|f)/.test(this.element.css("position")) && (this.element[0].style.position = "relative"), this.options.addClasses && this.element.addClass("ui-draggable"), this.options.disabled && this.element.addClass("ui-draggable-disabled"), this._mouseInit()
        },
        destroy: function() {
            if (!this.element.data("draggable")) return;
            return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), this._mouseDestroy(), this
        },
        _mouseCapture: function(b) {
            var c = this.options;
            return this.helper || c.disabled || a(b.target).is(".ui-resizable-handle") ? !1 : (this.handle = this._getHandle(b), this.handle ? (c.iframeFix && a(c.iframeFix === !0 ? "iframe" : c.iframeFix).each(function() {
                a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({
                    width: this.offsetWidth + "px",
                    height: this.offsetHeight + "px",
                    position: "absolute",
                    opacity: "0.001",
                    zIndex: 1e3
                }).css(a(this).offset()).appendTo("body")
            }), !0) : !1)
        },
        _mouseStart: function(b) {
            var c = this.options;
            return this.helper = this._createHelper(b), this.helper.addClass("ui-draggable-dragging"), this._cacheHelperProportions(), a.ui.ddmanager && (a.ui.ddmanager.current = this), this._cacheMargins(), this.cssPosition = this.helper.css("position"), this.scrollParent = this.helper.scrollParent(), this.offset = this.positionAbs = this.element.offset(), this.offset = {
                top: this.offset.top - this.margins.top,
                left: this.offset.left - this.margins.left
            }, a.extend(this.offset, {
                click: {
                    left: b.pageX - this.offset.left,
                    top: b.pageY - this.offset.top
                },
                parent: this._getParentOffset(),
                relative: this._getRelativeOffset()
            }), this.originalPosition = this.position = this._generatePosition(b), this.originalPageX = b.pageX, this.originalPageY = b.pageY, c.cursorAt && this._adjustOffsetFromHelper(c.cursorAt), c.containment && this._setContainment(), this._trigger("start", b) === !1 ? (this._clear(), !1) : (this._cacheHelperProportions(), a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), this._mouseDrag(b, !0), a.ui.ddmanager && a.ui.ddmanager.dragStart(this, b), !0)
        },
        _mouseDrag: function(b, c) {
            this.position = this._generatePosition(b), this.positionAbs = this._convertPositionTo("absolute");
            if (!c) {
                var d = this._uiHash();
                if (this._trigger("drag", b, d) === !1) return this._mouseUp({}), !1;
                this.position = d.position
            }
            if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px";
            if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px";
            return a.ui.ddmanager && a.ui.ddmanager.drag(this, b), !1
        },
        _mouseStop: function(b) {
            var c = !1;
            a.ui.ddmanager && !this.options.dropBehaviour && (c = a.ui.ddmanager.drop(this, b)), this.dropped && (c = this.dropped, this.dropped = !1);
            var d = this.element[0],
                e = !1;
            while (d && (d = d.parentNode)) d == document && (e = !0);
            if (!e && this.options.helper === "original") return !1;
            if (this.options.revert == "invalid" && !c || this.options.revert == "valid" && c || this.options.revert === !0 || a.isFunction(this.options.revert) && this.options.revert.call(this.element, c)) {
                var f = this;
                a(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
                    f._trigger("stop", b) !== !1 && f._clear()
                })
            } else this._trigger("stop", b) !== !1 && this._clear();
            return !1
        },
        _mouseUp: function(b) {
            return this.options.iframeFix === !0 && a("div.ui-draggable-iframeFix").each(function() {
                this.parentNode.removeChild(this)
            }), a.ui.ddmanager && a.ui.ddmanager.dragStop(this, b), a.ui.mouse.prototype._mouseUp.call(this, b)
        },
        cancel: function() {
            return this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(), this
        },
        _getHandle: function(b) {
            var c = !this.options.handle || !a(this.options.handle, this.element).length ? !0 : !1;
            return a(this.options.handle, this.element).find("*").andSelf().each(function() {
                this == b.target && (c = !0)
            }), c
        },
        _createHelper: function(b) {
            var c = this.options,
                d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b])) : c.helper == "clone" ? this.element.clone().removeAttr("id") : this.element;
            return d.parents("body").length || d.appendTo(c.appendTo == "parent" ? this.element[0].parentNode : c.appendTo), d[0] != this.element[0] && !/(fixed|absolute)/.test(d.css("position")) && d.css("position", "absolute"), d
        },
        _adjustOffsetFromHelper: function(b) {
            typeof b == "string" && (b = b.split(" ")), a.isArray(b) && (b = {
                left: +b[0],
                top: +b[1] || 0
            }), "left" in b && (this.offset.click.left = b.left + this.margins.left), "right" in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), "top" in b && (this.offset.click.top = b.top + this.margins.top), "bottom" in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top)
        },
        _getParentOffset: function() {
            this.offsetParent = this.helper.offsetParent();
            var b = this.offsetParent.offset();
            this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), b.top += this.scrollParent.scrollTop());
            if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = {
                top: 0,
                left: 0
            };
            return {
                top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
                left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
            }
        },
        _getRelativeOffset: function() {
            if (this.cssPosition == "relative") {
                var a = this.element.position();
                return {
                    top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
                    left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
                }
            }
            return {
                top: 0,
                left: 0
            }
        },
        _cacheMargins: function() {
            this.margins = {
                left: parseInt(this.element.css("marginLeft"), 10) || 0,
                top: parseInt(this.element.css("marginTop"), 10) || 0,
                right: parseInt(this.element.css("marginRight"), 10) || 0,
                bottom: parseInt(this.element.css("marginBottom"), 10) || 0
            }
        },
        _cacheHelperProportions: function() {
            this.helperProportions = {
                width: this.helper.outerWidth(),
                height: this.helper.outerHeight()
            }
        },
        _setContainment: function() {
            var b = this.options;
            b.containment == "parent" && (b.containment = this.helper[0].parentNode);
            if (b.containment == "document" || b.containment == "window") this.containment = [b.containment == "document" ? 0 : a(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, b.containment == "document" ? 0 : a(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, (b.containment == "document" ? 0 : a(window).scrollLeft()) + a(b.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (b.containment == "document" ? 0 : a(window).scrollTop()) + (a(b.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top];
            if (!/^(document|window|parent)$/.test(b.containment) && b.containment.constructor != Array) {
                var c = a(b.containment),
                    d = c[0];
                if (!d) return;
                var e = c.offset(),
                    f = a(d).css("overflow") != "hidden";
                this.containment = [(parseInt(a(d).css("borderLeftWidth"), 10) || 0) + (parseInt(a(d).css("paddingLeft"), 10) || 0), (parseInt(a(d).css("borderTopWidth"), 10) || 0) + (parseInt(a(d).css("paddingTop"), 10) || 0), (f ? Math.max(d.scrollWidth, d.offsetWidth) : d.offsetWidth) - (parseInt(a(d).css("borderLeftWidth"), 10) || 0) - (parseInt(a(d).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (f ? Math.max(d.scrollHeight, d.offsetHeight) : d.offsetHeight) - (parseInt(a(d).css("borderTopWidth"), 10) || 0) - (parseInt(a(d).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], this.relative_container = c
            } else b.containment.constructor == Array && (this.containment = b.containment)
        },
        _convertPositionTo: function(b, c) {
            c || (c = this.position);
            var d = b == "absolute" ? 1 : -1,
                e = this.options,
                f = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
                g = /(html|body)/i.test(f[0].tagName);
            return {
                top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d),
                left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d)
            }
        },
        _generatePosition: function(b) {
            var c = this.options,
                d = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
                e = /(html|body)/i.test(d[0].tagName),
                f = b.pageX,
                g = b.pageY;
            if (this.originalPosition) {
                var h;
                if (this.containment) {
                    if (this.relative_container) {
                        var i = this.relative_container.offset();
                        h = [this.containment[0] + i.left, this.containment[1] + i.top, this.containment[2] + i.left, this.containment[3] + i.top]
                    } else h = this.containment;
                    b.pageX - this.offset.click.left < h[0] && (f = h[0] + this.offset.click.left), b.pageY - this.offset.click.top < h[1] && (g = h[1] + this.offset.click.top), b.pageX - this.offset.click.left > h[2] && (f = h[2] + this.offset.click.left), b.pageY - this.offset.click.top > h[3] && (g = h[3] + this.offset.click.top)
                }
                if (c.grid) {
                    var j = c.grid[1] ? this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1] : this.originalPageY;
                    g = h ? j - this.offset.click.top < h[1] || j - this.offset.click.top > h[3] ? j - this.offset.click.top < h[1] ? j + c.grid[1] : j - c.grid[1] : j : j;
                    var k = c.grid[0] ? this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0] : this.originalPageX;
                    f = h ? k - this.offset.click.left < h[0] || k - this.offset.click.left > h[2] ? k - this.offset.click.left < h[0] ? k + c.grid[0] : k - c.grid[0] : k : k
                }
            }
            return {
                top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()),
                left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft())
            }
        },
        _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
        },
        _trigger: function(b, c, d) {
            return d = d || this._uiHash(), a.ui.plugin.call(this, b, [c, d]), b == "drag" && (this.positionAbs = this._convertPositionTo("absolute")), a.Widget.prototype._trigger.call(this, b, c, d)
        },
        plugins: {},
        _uiHash: function(a) {
            return {
                helper: this.helper,
                position: this.position,
                originalPosition: this.originalPosition,
                offset: this.positionAbs
            }
        }
    }), a.extend(a.ui.draggable, {
        version: "1.8.21"
    }), a.ui.plugin.add("draggable", "connectToSortable", {
        start: function(b, c) {
            var d = a(this).data("draggable"),
                e = d.options,
                f = a.extend({}, c, {
                    item: d.element
                });
            d.sortables = [], a(e.connectToSortable).each(function() {
                var c = a.data(this, "sortable");
                c && !c.options.disabled && (d.sortables.push({
                    instance: c,
                    shouldRevert: c.options.revert
                }), c.refreshPositions(), c._trigger("activate", b, f))
            })
        },
        stop: function(b, c) {
            var d = a(this).data("draggable"),
                e = a.extend({}, c, {
                    item: d.element
                });
            a.each(d.sortables, function() {
                this.instance.isOver ? (this.instance.isOver = 0, d.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, this.shouldRevert && (this.instance.options.revert = !0), this.instance._mouseStop(b), this.instance.options.helper = this.instance.options._helper, d.options.helper == "original" && this.instance.currentItem.css({
                    top: "auto",
                    left: "auto"
                })) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger("deactivate", b, e))
            })
        },
        drag: function(b, c) {
            var d = a(this).data("draggable"),
                e = this,
                f = function(b) {
                    var c = this.offset.click.top,
                        d = this.offset.click.left,
                        e = this.positionAbs.top,
                        f = this.positionAbs.left,
                        g = b.height,
                        h = b.width,
                        i = b.top,
                        j = b.left;
                    return a.ui.isOver(e + c, f + d, i, j, g, h)
                };
            a.each(d.sortables, function(f) {
                this.instance.positionAbs = d.positionAbs, this.instance.helperProportions = d.helperProportions, this.instance.offset.click = d.offset.click, this.instance._intersectsWith(this.instance.containerCache) ? (this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function() {
                    return c.helper[0]
                }, b.target = this.instance.currentItem[0], this.instance._mouseCapture(b, !0), this.instance._mouseStart(b, !0, !0), this.instance.offset.click.top = d.offset.click.top, this.instance.offset.click.left = d.offset.click.left, this.instance.offset.parent.left -= d.offset.parent.left - this.instance.offset.parent.left, this.instance.offset.parent.top -= d.offset.parent.top - this.instance.offset.parent.top, d._trigger("toSortable", b), d.dropped = this.instance.element, d.currentItem = d.element, this.instance.fromOutside = d), this.instance.currentItem && this.instance._mouseDrag(b)) : this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger("out", b, this.instance._uiHash(this.instance)), this.instance._mouseStop(b, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), this.instance.placeholder && this.instance.placeholder.remove(), d._trigger("fromSortable", b), d.dropped = !1)
            })
        }
    }), a.ui.plugin.add("draggable", "cursor", {
        start: function(b, c) {
            var d = a("body"),
                e = a(this).data("draggable").options;
            d.css("cursor") && (e._cursor = d.css("cursor")), d.css("cursor", e.cursor)
        },
        stop: function(b, c) {
            var d = a(this).data("draggable").options;
            d._cursor && a("body").css("cursor", d._cursor)
        }
    }), a.ui.plugin.add("draggable", "opacity", {
        start: function(b, c) {
            var d = a(c.helper),
                e = a(this).data("draggable").options;
            d.css("opacity") && (e._opacity = d.css("opacity")), d.css("opacity", e.opacity)
        },
        stop: function(b, c) {
            var d = a(this).data("draggable").options;
            d._opacity && a(c.helper).css("opacity", d._opacity)
        }
    }), a.ui.plugin.add("draggable", "scroll", {
        start: function(b, c) {
            var d = a(this).data("draggable");
            d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML" && (d.overflowOffset = d.scrollParent.offset())
        },
        drag: function(b, c) {
            var d = a(this).data("draggable"),
                e = d.options,
                f = !1;
            if (d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML") {
                if (!e.axis || e.axis != "x") d.overflowOffset.top + d.scrollParent[0].offsetHeight - b.pageY < e.scrollSensitivity ? d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop + e.scrollSpeed : b.pageY - d.overflowOffset.top < e.scrollSensitivity && (d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop - e.scrollSpeed);
                if (!e.axis || e.axis != "y") d.overflowOffset.left + d.scrollParent[0].offsetWidth - b.pageX < e.scrollSensitivity ? d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft + e.scrollSpeed : b.pageX - d.overflowOffset.left < e.scrollSensitivity && (d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft - e.scrollSpeed)
            } else {
                if (!e.axis || e.axis != "x") b.pageY - a(document).scrollTop() < e.scrollSensitivity ? f = a(document).scrollTop(a(document).scrollTop() - e.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < e.scrollSensitivity && (f = a(document).scrollTop(a(document).scrollTop() + e.scrollSpeed));
                if (!e.axis || e.axis != "y") b.pageX - a(document).scrollLeft() < e.scrollSensitivity ? f = a(document).scrollLeft(a(document).scrollLeft() - e.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < e.scrollSensitivity && (f = a(document).scrollLeft(a(document).scrollLeft() + e.scrollSpeed))
            }
            f !== !1 && a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(d, b)
        }
    }), a.ui.plugin.add("draggable", "snap", {
        start: function(b, c) {
            var d = a(this).data("draggable"),
                e = d.options;
            d.snapElements = [], a(e.snap.constructor != String ? e.snap.items || ":data(draggable)" : e.snap).each(function() {
                var b = a(this),
                    c = b.offset();
                this != d.element[0] && d.snapElements.push({
                    item: this,
                    width: b.outerWidth(),
                    height: b.outerHeight(),
                    top: c.top,
                    left: c.left
                })
            })
        },
        drag: function(b, c) {
            var d = a(this).data("draggable"),
                e = d.options,
                f = e.snapTolerance,
                g = c.offset.left,
                h = g + d.helperProportions.width,
                i = c.offset.top,
                j = i + d.helperProportions.height;
            for (var k = d.snapElements.length - 1; k >= 0; k--) {
                var l = d.snapElements[k].left,
                    m = l + d.snapElements[k].width,
                    n = d.snapElements[k].top,
                    o = n + d.snapElements[k].height;
                if (!(l - f < g && g < m + f && n - f < i && i < o + f || l - f < g && g < m + f && n - f < j && j < o + f || l - f < h && h < m + f && n - f < i && i < o + f || l - f < h && h < m + f && n - f < j && j < o + f)) {
                    d.snapElements[k].snapping && d.options.snap.release && d.options.snap.release.call(d.element, b, a.extend(d._uiHash(), {
                        snapItem: d.snapElements[k].item
                    })), d.snapElements[k].snapping = !1;
                    continue
                }
                if (e.snapMode != "inner") {
                    var p = Math.abs(n - j) <= f,
                        q = Math.abs(o - i) <= f,
                        r = Math.abs(l - h) <= f,
                        s = Math.abs(m - g) <= f;
                    p && (c.position.top = d._convertPositionTo("relative", {
                        top: n - d.helperProportions.height,
                        left: 0
                    }).top - d.margins.top), q && (c.position.top = d._convertPositionTo("relative", {
                        top: o,
                        left: 0
                    }).top - d.margins.top), r && (c.position.left = d._convertPositionTo("relative", {
                        top: 0,
                        left: l - d.helperProportions.width
                    }).left - d.margins.left), s && (c.position.left = d._convertPositionTo("relative", {
                        top: 0,
                        left: m
                    }).left - d.margins.left)
                }
                var t = p || q || r || s;
                if (e.snapMode != "outer") {
                    var p = Math.abs(n - i) <= f,
                        q = Math.abs(o - j) <= f,
                        r = Math.abs(l - g) <= f,
                        s = Math.abs(m - h) <= f;
                    p && (c.position.top = d._convertPositionTo("relative", {
                        top: n,
                        left: 0
                    }).top - d.margins.top), q && (c.position.top = d._convertPositionTo("relative", {
                        top: o - d.helperProportions.height,
                        left: 0
                    }).top - d.margins.top), r && (c.position.left = d._convertPositionTo("relative", {
                        top: 0,
                        left: l
                    }).left - d.margins.left), s && (c.position.left = d._convertPositionTo("relative", {
                        top: 0,
                        left: m - d.helperProportions.width
                    }).left - d.margins.left)
                }!d.snapElements[k].snapping && (p || q || r || s || t) && d.options.snap.snap && d.options.snap.snap.call(d.element, b, a.extend(d._uiHash(), {
                    snapItem: d.snapElements[k].item
                })), d.snapElements[k].snapping = p || q || r || s || t
            }
        }
    }), a.ui.plugin.add("draggable", "stack", {
        start: function(b, c) {
            var d = a(this).data("draggable").options,
                e = a.makeArray(a(d.stack)).sort(function(b, c) {
                    return (parseInt(a(b).css("zIndex"), 10) || 0) - (parseInt(a(c).css("zIndex"), 10) || 0)
                });
            if (!e.length) return;
            var f = parseInt(e[0].style.zIndex) || 0;
            a(e).each(function(a) {
                this.style.zIndex = f + a
            }), this[0].style.zIndex = f + e.length
        }
    }), a.ui.plugin.add("draggable", "zIndex", {
        start: function(b, c) {
            var d = a(c.helper),
                e = a(this).data("draggable").options;
            d.css("zIndex") && (e._zIndex = d.css("zIndex")), d.css("zIndex", e.zIndex)
        },
        stop: function(b, c) {
            var d = a(this).data("draggable").options;
            d._zIndex && a(c.helper).css("zIndex", d._zIndex)
        }
    })
}(jQuery), function(a, b) {
    a.widget("ui.droppable", {
        widgetEventPrefix: "drop",
        options: {
            accept: "*",
            activeClass: !1,
            addClasses: !0,
            greedy: !1,
            hoverClass: !1,
            scope: "default",
            tolerance: "intersect"
        },
        _create: function() {
            var b = this.options,
                c = b.accept;
            this.isover = 0, this.isout = 1, this.accept = a.isFunction(c) ? c : function(a) {
                return a.is(c)
            }, this.proportions = {
                width: this.element[0].offsetWidth,
                height: this.element[0].offsetHeight
            }, a.ui.ddmanager.droppables[b.scope] = a.ui.ddmanager.droppables[b.scope] || [], a.ui.ddmanager.droppables[b.scope].push(this), b.addClasses && this.element.addClass("ui-droppable")
        },
        destroy: function() {
            var b = a.ui.ddmanager.droppables[this.options.scope];
            for (var c = 0; c < b.length; c++) b[c] == this && b.splice(c, 1);
            return this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"), this
        },
        _setOption: function(b, c) {
            b == "accept" && (this.accept = a.isFunction(c) ? c : function(a) {
                return a.is(c)
            }), a.Widget.prototype._setOption.apply(this, arguments)
        },
        _activate: function(b) {
            var c = a.ui.ddmanager.current;
            this.options.activeClass && this.element.addClass(this.options.activeClass), c && this._trigger("activate", b, this.ui(c))
        },
        _deactivate: function(b) {
            var c = a.ui.ddmanager.current;
            this.options.activeClass && this.element.removeClass(this.options.activeClass), c && this._trigger("deactivate", b, this.ui(c))
        },
        _over: function(b) {
            var c = a.ui.ddmanager.current;
            if (!c || (c.currentItem || c.element)[0] == this.element[0]) return;
            this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass), this._trigger("over", b, this.ui(c)))
        },
        _out: function(b) {
            var c = a.ui.ddmanager.current;
            if (!c || (c.currentItem || c.element)[0] == this.element[0]) return;
            this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("out", b, this.ui(c)))
        },
        _drop: function(b, c) {
            var d = c || a.ui.ddmanager.current;
            if (!d || (d.currentItem || d.element)[0] == this.element[0]) return !1;
            var e = !1;
            return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
                var b = a.data(this, "droppable");
                if (b.options.greedy && !b.options.disabled && b.options.scope == d.options.scope && b.accept.call(b.element[0], d.currentItem || d.element) && a.ui.intersect(d, a.extend(b, {
                    offset: b.element.offset()
                }), b.options.tolerance)) return e = !0, !1
            }), e ? !1 : this.accept.call(this.element[0], d.currentItem || d.element) ? (this.options.activeClass && this.element.removeClass(this.options.activeClass), this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("drop", b, this.ui(d)), this.element) : !1
        },
        ui: function(a) {
            return {
                draggable: a.currentItem || a.element,
                helper: a.helper,
                position: a.position,
                offset: a.positionAbs
            }
        }
    }), a.extend(a.ui.droppable, {
        version: "1.8.21"
    }), a.ui.intersect = function(b, c, d) {
        if (!c.offset) return !1;
        var e = (b.positionAbs || b.position.absolute).left,
            f = e + b.helperProportions.width,
            g = (b.positionAbs || b.position.absolute).top,
            h = g + b.helperProportions.height,
            i = c.offset.left,
            j = i + c.proportions.width,
            k = c.offset.top,
            l = k + c.proportions.height;
        switch (d) {
        case "fit":
            return i <= e && f <= j && k <= g && h <= l;
        case "intersect":
            return i < e + b.helperProportions.width / 2 && f - b.helperProportions.width / 2 < j && k < g + b.helperProportions.height / 2 && h - b.helperProportions.height / 2 < l;
        case "pointer":
            var m = (b.positionAbs || b.position.absolute).left + (b.clickOffset || b.offset.click).left,
                n = (b.positionAbs || b.position.absolute).top + (b.clickOffset || b.offset.click).top,
                o = a.ui.isOver(n, m, k, i, c.proportions.height, c.proportions.width);
            return o;
        case "touch":
            return (g >= k && g <= l || h >= k && h <= l || g < k && h > l) && (e >= i && e <= j || f >= i && f <= j || e < i && f > j);
        default:
            return !1
        }
    }, a.ui.ddmanager = {
        current: null,
        droppables: {
            "default": []
        },
        prepareOffsets: function(b, c) {
            var d = a.ui.ddmanager.droppables[b.options.scope] || [],
                e = c ? c.type : null,
                f = (b.currentItem || b.element).find(":data(droppable)").andSelf();
            g: for (var h = 0; h < d.length; h++) {
                if (d[h].options.disabled || b && !d[h].accept.call(d[h].element[0], b.currentItem || b.element)) continue;
                for (var i = 0; i < f.length; i++) if (f[i] == d[h].element[0]) {
                    d[h].proportions.height = 0;
                    continue g
                }
                d[h].visible = d[h].element.css("display") != "none";
                if (!d[h].visible) continue;
                e == "mousedown" && d[h]._activate.call(d[h], c), d[h].offset = d[h].element.offset(), d[h].proportions = {
                    width: d[h].element[0].offsetWidth,
                    height: d[h].element[0].offsetHeight
                }
            }
        },
        drop: function(b, c) {
            var d = !1;
            return a.each(a.ui.ddmanager.droppables[b.options.scope] || [], function() {
                if (!this.options) return;
                !this.options.disabled && this.visible && a.ui.intersect(b, this, this.options.tolerance) && (d = this._drop.call(this, c) || d), !this.options.disabled && this.visible && this.accept.call(this.element[0], b.currentItem || b.element) && (this.isout = 1, this.isover = 0, this._deactivate.call(this, c))
            }), d
        },
        dragStart: function(b, c) {
            b.element.parents(":not(body,html)").bind("scroll.droppable", function() {
                b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c)
            })
        },
        drag: function(b, c) {
            b.options.refreshPositions && a.ui.ddmanager.prepareOffsets(b, c), a.each(a.ui.ddmanager.droppables[b.options.scope] || [], function() {
                if (this.options.disabled || this.greedyChild || !this.visible) return;
                var d = a.ui.intersect(b, this, this.options.tolerance),
                    e = !d && this.isover == 1 ? "isout" : d && this.isover == 0 ? "isover" : null;
                if (!e) return;
                var f;
                if (this.options.greedy) {
                    var g = this.element.parents(":data(droppable):eq(0)");
                    g.length && (f = a.data(g[0], "droppable"), f.greedyChild = e == "isover" ? 1 : 0)
                }
                f && e == "isover" && (f.isover = 0, f.isout = 1, f._out.call(f, c)), this[e] = 1, this[e == "isout" ? "isover" : "isout"] = 0, this[e == "isover" ? "_over" : "_out"].call(this, c), f && e == "isout" && (f.isout = 0, f.isover = 1, f._over.call(f, c))
            })
        },
        dragStop: function(b, c) {
            b.element.parents(":not(body,html)").unbind("scroll.droppable"), b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c)
        }
    }
}(jQuery), function(a, b) {
    a.widget("ui.resizable", a.ui.mouse, {
        widgetEventPrefix: "resize",
        options: {
            alsoResize: !1,
            animate: !1,
            animateDuration: "slow",
            animateEasing: "swing",
            aspectRatio: !1,
            autoHide: !1,
            containment: !1,
            ghost: !1,
            grid: !1,
            handles: "e,s,se",
            helper: !1,
            maxHeight: null,
            maxWidth: null,
            minHeight: 10,
            minWidth: 10,
            zIndex: 1e3
        },
        _create: function() {
            var b = this,
                c = this.options;
            this.element.addClass("ui-resizable"), a.extend(this, {
                _aspectRatio: !! c.aspectRatio,
                aspectRatio: c.aspectRatio,
                originalElement: this.element,
                _proportionallyResizeElements: [],
                _helper: c.helper || c.ghost || c.animate ? c.helper || "ui-resizable-helper" : null
            }), this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
                position: this.element.css("position"),
                width: this.element.outerWidth(),
                height: this.element.outerHeight(),
                top: this.element.css("top"),
                left: this.element.css("left")
            })), this.element = this.element.parent().data("resizable", this.element.data("resizable")), this.elementIsWrapper = !0, this.element.css({
                marginLeft: this.originalElement.css("marginLeft"),
                marginTop: this.originalElement.css("marginTop"),
                marginRight: this.originalElement.css("marginRight"),
                marginBottom: this.originalElement.css("marginBottom")
            }), this.originalElement.css({
                marginLeft: 0,
                marginTop: 0,
                marginRight: 0,
                marginBottom: 0
            }), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({
                position: "static",
                zoom: 1,
                display: "block"
            })), this.originalElement.css({
                margin: this.originalElement.css("margin")
            }), this._proportionallyResize()), this.handles = c.handles || (a(".ui-resizable-handle", this.element).length ? {
                n: ".ui-resizable-n",
                e: ".ui-resizable-e",
                s: ".ui-resizable-s",
                w: ".ui-resizable-w",
                se: ".ui-resizable-se",
                sw: ".ui-resizable-sw",
                ne: ".ui-resizable-ne",
                nw: ".ui-resizable-nw"
            } : "e,s,se");
            if (this.handles.constructor == String) {
                this.handles == "all" && (this.handles = "n,e,s,w,se,sw,ne,nw");
                var d = this.handles.split(",");
                this.handles = {};
                for (var e = 0; e < d.length; e++) {
                    var f = a.trim(d[e]),
                        g = "ui-resizable-" + f,
                        h = a('<div class="ui-resizable-handle ' + g + '"></div>');
                    h.css({
                        zIndex: c.zIndex
                    }), "se" == f && h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), this.handles[f] = ".ui-resizable-" + f, this.element.append(h)
                }
            }
            this._renderAxis = function(b) {
                b = b || this.element;
                for (var c in this.handles) {
                    this.handles[c].constructor == String && (this.handles[c] = a(this.handles[c], this.element).show());
                    if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
                        var d = a(this.handles[c], this.element),
                            e = 0;
                        e = /sw|ne|nw|se|n|s/.test(c) ? d.outerHeight() : d.outerWidth();
                        var f = ["padding", /ne|nw|n/.test(c) ? "Top" : /se|sw|s/.test(c) ? "Bottom" : /^e$/.test(c) ? "Right" : "Left"].join("");
                        b.css(f, e), this._proportionallyResize()
                    }
                    if (!a(this.handles[c]).length) continue
                }
            }, this._renderAxis(this.element), this._handles = a(".ui-resizable-handle", this.element).disableSelection(), this._handles.mouseover(function() {
                if (!b.resizing) {
                    if (this.className) var a = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
                    b.axis = a && a[1] ? a[1] : "se"
                }
            }), c.autoHide && (this._handles.hide(), a(this.element).addClass("ui-resizable-autohide").hover(function() {
                if (c.disabled) return;
                a(this).removeClass("ui-resizable-autohide"), b._handles.show()
            }, function() {
                if (c.disabled) return;
                b.resizing || (a(this).addClass("ui-resizable-autohide"), b._handles.hide())
            })), this._mouseInit()
        },
        destroy: function() {
            this._mouseDestroy();
            var b = function(b) {
                    a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()
                };
            if (this.elementIsWrapper) {
                b(this.element);
                var c = this.element;
                c.after(this.originalElement.css({
                    position: c.css("position"),
                    width: c.outerWidth(),
                    height: c.outerHeight(),
                    top: c.css("top"),
                    left: c.css("left")
                })).remove()
            }
            return this.originalElement.css("resize", this.originalResizeStyle), b(this.originalElement), this
        },
        _mouseCapture: function(b) {
            var c = !1;
            for (var d in this.handles) a(this.handles[d])[0] == b.target && (c = !0);
            return !this.options.disabled && c
        },
        _mouseStart: function(b) {
            var d = this.options,
                e = this.element.position(),
                f = this.element;
            this.resizing = !0, this.documentScroll = {
                top: a(document).scrollTop(),
                left: a(document).scrollLeft()
            }, (f.is(".ui-draggable") || /absolute/.test(f.css("position"))) && f.css({
                position: "absolute",
                top: e.top,
                left: e.left
            }), this._renderProxy();
            var g = c(this.helper.css("left")),
                h = c(this.helper.css("top"));
            d.containment && (g += a(d.containment).scrollLeft() || 0, h += a(d.containment).scrollTop() || 0), this.offset = this.helper.offset(), this.position = {
                left: g,
                top: h
            }, this.size = this._helper ? {
                width: f.outerWidth(),
                height: f.outerHeight()
            } : {
                width: f.width(),
                height: f.height()
            }, this.originalSize = this._helper ? {
                width: f.outerWidth(),
                height: f.outerHeight()
            } : {
                width: f.width(),
                height: f.height()
            }, this.originalPosition = {
                left: g,
                top: h
            }, this.sizeDiff = {
                width: f.outerWidth() - f.width(),
                height: f.outerHeight() - f.height()
            }, this.originalMousePosition = {
                left: b.pageX,
                top: b.pageY
            }, this.aspectRatio = typeof d.aspectRatio == "number" ? d.aspectRatio : this.originalSize.width / this.originalSize.height || 1;
            var i = a(".ui-resizable-" + this.axis).css("cursor");
            return a("body").css("cursor", i == "auto" ? this.axis + "-resize" : i), f.addClass("ui-resizable-resizing"), this._propagate("start", b), !0
        },
        _mouseDrag: function(b) {
            var c = this.helper,
                d = this.options,
                e = {},
                f = this,
                g = this.originalMousePosition,
                h = this.axis,
                i = b.pageX - g.left || 0,
                j = b.pageY - g.top || 0,
                k = this._change[h];
            if (!k) return !1;
            var l = k.apply(this, [b, i, j]),
                m = a.browser.msie && a.browser.version < 7,
                n = this.sizeDiff;
            this._updateVirtualBoundaries(b.shiftKey);
            if (this._aspectRatio || b.shiftKey) l = this._updateRatio(l, b);
            return l = this._respectSize(l, b), this._propagate("resize", b), c.css({
                top: this.position.top + "px",
                left: this.position.left + "px",
                width: this.size.width + "px",
                height: this.size.height + "px"
            }), !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), this._updateCache(l), this._trigger("resize", b, this.ui()), !1
        },
        _mouseStop: function(b) {
            this.resizing = !1;
            var c = this.options,
                d = this;
            if (this._helper) {
                var e = this._proportionallyResizeElements,
                    f = e.length && /textarea/i.test(e[0].nodeName),
                    g = f && a.ui.hasScroll(e[0], "left") ? 0 : d.sizeDiff.height,
                    h = f ? 0 : d.sizeDiff.width,
                    i = {
                        width: d.helper.width() - h,
                        height: d.helper.height() - g
                    },
                    j = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null,
                    k = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null;
                c.animate || this.element.css(a.extend(i, {
                    top: k,
                    left: j
                })), d.helper.height(d.size.height), d.helper.width(d.size.width), this._helper && !c.animate && this._proportionallyResize()
            }
            return a("body").css("cursor", "auto"), this.element.removeClass("ui-resizable-resizing"), this._propagate("stop", b), this._helper && this.helper.remove(), !1
        },
        _updateVirtualBoundaries: function(a) {
            var b = this.options,
                c, e, f, g, h;
            h = {
                minWidth: d(b.minWidth) ? b.minWidth : 0,
                maxWidth: d(b.maxWidth) ? b.maxWidth : Infinity,
                minHeight: d(b.minHeight) ? b.minHeight : 0,
                maxHeight: d(b.maxHeight) ? b.maxHeight : Infinity
            };
            if (this._aspectRatio || a) c = h.minHeight * this.aspectRatio, f = h.minWidth / this.aspectRatio, e = h.maxHeight * this.aspectRatio, g = h.maxWidth / this.aspectRatio, c > h.minWidth && (h.minWidth = c), f > h.minHeight && (h.minHeight = f), e < h.maxWidth && (h.maxWidth = e), g < h.maxHeight && (h.maxHeight = g);
            this._vBoundaries = h
        },
        _updateCache: function(a) {
            var b = this.options;
            this.offset = this.helper.offset(), d(a.left) && (this.position.left = a.left), d(a.top) && (this.position.top = a.top), d(a.height) && (this.size.height = a.height), d(a.width) && (this.size.width = a.width)
        },
        _updateRatio: function(a, b) {
            var c = this.options,
                e = this.position,
                f = this.size,
                g = this.axis;
            return d(a.height) ? a.width = a.height * this.aspectRatio : d(a.width) && (a.height = a.width / this.aspectRatio), g == "sw" && (a.left = e.left + (f.width - a.width), a.top = null), g == "nw" && (a.top = e.top + (f.height - a.height), a.left = e.left + (f.width - a.width)), a
        },
        _respectSize: function(a, b) {
            var c = this.helper,
                e = this._vBoundaries,
                f = this._aspectRatio || b.shiftKey,
                g = this.axis,
                h = d(a.width) && e.maxWidth && e.maxWidth < a.width,
                i = d(a.height) && e.maxHeight && e.maxHeight < a.height,
                j = d(a.width) && e.minWidth && e.minWidth > a.width,
                k = d(a.height) && e.minHeight && e.minHeight > a.height;
            j && (a.width = e.minWidth), k && (a.height = e.minHeight), h && (a.width = e.maxWidth), i && (a.height = e.maxHeight);
            var l = this.originalPosition.left + this.originalSize.width,
                m = this.position.top + this.size.height,
                n = /sw|nw|w/.test(g),
                o = /nw|ne|n/.test(g);
            j && n && (a.left = l - e.minWidth), h && n && (a.left = l - e.maxWidth), k && o && (a.top = m - e.minHeight), i && o && (a.top = m - e.maxHeight);
            var p = !a.width && !a.height;
            return p && !a.left && a.top ? a.top = null : p && !a.top && a.left && (a.left = null), a
        },
        _proportionallyResize: function() {
            var b = this.options;
            if (!this._proportionallyResizeElements.length) return;
            var c = this.helper || this.element;
            for (var d = 0; d < this._proportionallyResizeElements.length; d++) {
                var e = this._proportionallyResizeElements[d];
                if (!this.borderDif) {
                    var f = [e.css("borderTopWidth"), e.css("borderRightWidth"), e.css("borderBottomWidth"), e.css("borderLeftWidth")],
                        g = [e.css("paddingTop"), e.css("paddingRight"), e.css("paddingBottom"), e.css("paddingLeft")];
                    this.borderDif = a.map(f, function(a, b) {
                        var c = parseInt(a, 10) || 0,
                            d = parseInt(g[b], 10) || 0;
                        return c + d
                    })
                }
                if (!a.browser.msie || !a(c).is(":hidden") && !a(c).parents(":hidden").length) e.css({
                    height: c.height() - this.borderDif[0] - this.borderDif[2] || 0,
                    width: c.width() - this.borderDif[1] - this.borderDif[3] || 0
                });
                else continue
            }
        },
        _renderProxy: function() {
            var b = this.element,
                c = this.options;
            this.elementOffset = b.offset();
            if (this._helper) {
                this.helper = this.helper || a('<div style="overflow:hidden;"></div>');
                var d = a.browser.msie && a.browser.version < 7,
                    e = d ? 1 : 0,
                    f = d ? 2 : -1;
                this.helper.addClass(this._helper).css({
                    width: this.element.outerWidth() + f,
                    height: this.element.outerHeight() + f,
                    position: "absolute",
                    left: this.elementOffset.left - e + "px",
                    top: this.elementOffset.top - e + "px",
                    zIndex: ++c.zIndex
                }), this.helper.appendTo("body").disableSelection()
            } else this.helper = this.element
        },
        _change: {
            e: function(a, b, c) {
                return {
                    width: this.originalSize.width + b
                }
            },
            w: function(a, b, c) {
                var d = this.options,
                    e = this.originalSize,
                    f = this.originalPosition;
                return {
                    left: f.left + b,
                    width: e.width - b
                }
            },
            n: function(a, b, c) {
                var d = this.options,
                    e = this.originalSize,
                    f = this.originalPosition;
                return {
                    top: f.top + c,
                    height: e.height - c
                }
            },
            s: function(a, b, c) {
                return {
                    height: this.originalSize.height + c
                }
            },
            se: function(b, c, d) {
                return a.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [b, c, d]))
            },
            sw: function(b, c, d) {
                return a.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [b, c, d]))
            },
            ne: function(b, c, d) {
                return a.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [b, c, d]))
            },
            nw: function(b, c, d) {
                return a.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [b, c, d]))
            }
        },
        _propagate: function(b, c) {
            a.ui.plugin.call(this, b, [c, this.ui()]), b != "resize" && this._trigger(b, c, this.ui())
        },
        plugins: {},
        ui: function() {
            return {
                originalElement: this.originalElement,
                element: this.element,
                helper: this.helper,
                position: this.position,
                size: this.size,
                originalSize: this.originalSize,
                originalPosition: this.originalPosition
            }
        }
    }), a.extend(a.ui.resizable, {
        version: "1.8.21"
    }), a.ui.plugin.add("resizable", "alsoResize", {
        start: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = function(b) {
                    a(b).each(function() {
                        var b = a(this);
                        b.data("resizable-alsoresize", {
                            width: parseInt(b.width(), 10),
                            height: parseInt(b.height(), 10),
                            left: parseInt(b.css("left"), 10),
                            top: parseInt(b.css("top"), 10)
                        })
                    })
                };
            typeof e.alsoResize == "object" && !e.alsoResize.parentNode ? e.alsoResize.length ? (e.alsoResize = e.alsoResize[0], f(e.alsoResize)) : a.each(e.alsoResize, function(a) {
                f(a)
            }) : f(e.alsoResize)
        },
        resize: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = d.originalSize,
                g = d.originalPosition,
                h = {
                    height: d.size.height - f.height || 0,
                    width: d.size.width - f.width || 0,
                    top: d.position.top - g.top || 0,
                    left: d.position.left - g.left || 0
                },
                i = function(b, d) {
                    a(b).each(function() {
                        var b = a(this),
                            e = a(this).data("resizable-alsoresize"),
                            f = {},
                            g = d && d.length ? d : b.parents(c.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
                        a.each(g, function(a, b) {
                            var c = (e[b] || 0) + (h[b] || 0);
                            c && c >= 0 && (f[b] = c || null)
                        }), b.css(f)
                    })
                };
            typeof e.alsoResize == "object" && !e.alsoResize.nodeType ? a.each(e.alsoResize, function(a, b) {
                i(a, b)
            }) : i(e.alsoResize)
        },
        stop: function(b, c) {
            a(this).removeData("resizable-alsoresize")
        }
    }), a.ui.plugin.add("resizable", "animate", {
        stop: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = d._proportionallyResizeElements,
                g = f.length && /textarea/i.test(f[0].nodeName),
                h = g && a.ui.hasScroll(f[0], "left") ? 0 : d.sizeDiff.height,
                i = g ? 0 : d.sizeDiff.width,
                j = {
                    width: d.size.width - i,
                    height: d.size.height - h
                },
                k = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null,
                l = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null;
            d.element.animate(a.extend(j, l && k ? {
                top: l,
                left: k
            } : {}), {
                duration: e.animateDuration,
                easing: e.animateEasing,
                step: function() {
                    var c = {
                        width: parseInt(d.element.css("width"), 10),
                        height: parseInt(d.element.css("height"), 10),
                        top: parseInt(d.element.css("top"), 10),
                        left: parseInt(d.element.css("left"), 10)
                    };
                    f && f.length && a(f[0]).css({
                        width: c.width,
                        height: c.height
                    }), d._updateCache(c), d._propagate("resize", b)
                }
            })
        }
    }), a.ui.plugin.add("resizable", "containment", {
        start: function(b, d) {
            var e = a(this).data("resizable"),
                f = e.options,
                g = e.element,
                h = f.containment,
                i = h instanceof a ? h.get(0) : /parent/.test(h) ? g.parent().get(0) : h;
            if (!i) return;
            e.containerElement = a(i);
            if (/document/.test(h) || h == document) e.containerOffset = {
                left: 0,
                top: 0
            }, e.containerPosition = {
                left: 0,
                top: 0
            }, e.parentData = {
                element: a(document),
                left: 0,
                top: 0,
                width: a(document).width(),
                height: a(document).height() || document.body.parentNode.scrollHeight
            };
            else {
                var j = a(i),
                    k = [];
                a(["Top", "Right", "Left", "Bottom"]).each(function(a, b) {
                    k[a] = c(j.css("padding" + b))
                }), e.containerOffset = j.offset(), e.containerPosition = j.position(), e.containerSize = {
                    height: j.innerHeight() - k[3],
                    width: j.innerWidth() - k[1]
                };
                var l = e.containerOffset,
                    m = e.containerSize.height,
                    n = e.containerSize.width,
                    o = a.ui.hasScroll(i, "left") ? i.scrollWidth : n,
                    p = a.ui.hasScroll(i) ? i.scrollHeight : m;
                e.parentData = {
                    element: i,
                    left: l.left,
                    top: l.top,
                    width: o,
                    height: p
                }
            }
        },
        resize: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = d.containerSize,
                g = d.containerOffset,
                h = d.size,
                i = d.position,
                j = d._aspectRatio || b.shiftKey,
                k = {
                    top: 0,
                    left: 0
                },
                l = d.containerElement;
            l[0] != document && /static/.test(l.css("position")) && (k = g), i.left < (d._helper ? g.left : 0) && (d.size.width = d.size.width + (d._helper ? d.position.left - g.left : d.position.left - k.left), j && (d.size.height = d.size.width / d.aspectRatio), d.position.left = e.helper ? g.left : 0), i.top < (d._helper ? g.top : 0) && (d.size.height = d.size.height + (d._helper ? d.position.top - g.top : d.position.top), j && (d.size.width = d.size.height * d.aspectRatio), d.position.top = d._helper ? g.top : 0), d.offset.left = d.parentData.left + d.position.left, d.offset.top = d.parentData.top + d.position.top;
            var m = Math.abs((d._helper ? d.offset.left - k.left : d.offset.left - k.left) + d.sizeDiff.width),
                n = Math.abs((d._helper ? d.offset.top - k.top : d.offset.top - g.top) + d.sizeDiff.height),
                o = d.containerElement.get(0) == d.element.parent().get(0),
                p = /relative|absolute/.test(d.containerElement.css("position"));
            o && p && (m -= d.parentData.left), m + d.size.width >= d.parentData.width && (d.size.width = d.parentData.width - m, j && (d.size.height = d.size.width / d.aspectRatio)), n + d.size.height >= d.parentData.height && (d.size.height = d.parentData.height - n, j && (d.size.width = d.size.height * d.aspectRatio))
        },
        stop: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = d.position,
                g = d.containerOffset,
                h = d.containerPosition,
                i = d.containerElement,
                j = a(d.helper),
                k = j.offset(),
                l = j.outerWidth() - d.sizeDiff.width,
                m = j.outerHeight() - d.sizeDiff.height;
            d._helper && !e.animate && /relative/.test(i.css("position")) && a(this).css({
                left: k.left - h.left - g.left,
                width: l,
                height: m
            }), d._helper && !e.animate && /static/.test(i.css("position")) && a(this).css({
                left: k.left - h.left - g.left,
                width: l,
                height: m
            })
        }
    }), a.ui.plugin.add("resizable", "ghost", {
        start: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = d.size;
            d.ghost = d.originalElement.clone(), d.ghost.css({
                opacity: .25,
                display: "block",
                position: "relative",
                height: f.height,
                width: f.width,
                margin: 0,
                left: 0,
                top: 0
            }).addClass("ui-resizable-ghost").addClass(typeof e.ghost == "string" ? e.ghost : ""), d.ghost.appendTo(d.helper)
        },
        resize: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options;
            d.ghost && d.ghost.css({
                position: "relative",
                height: d.size.height,
                width: d.size.width
            })
        },
        stop: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options;
            d.ghost && d.helper && d.helper.get(0).removeChild(d.ghost.get(0))
        }
    }), a.ui.plugin.add("resizable", "grid", {
        resize: function(b, c) {
            var d = a(this).data("resizable"),
                e = d.options,
                f = d.size,
                g = d.originalSize,
                h = d.originalPosition,
                i = d.axis,
                j = e._aspectRatio || b.shiftKey;
            e.grid = typeof e.grid == "number" ? [e.grid, e.grid] : e.grid;
            var k = Math.round((f.width - g.width) / (e.grid[0] || 1)) * (e.grid[0] || 1),
                l = Math.round((f.height - g.height) / (e.grid[1] || 1)) * (e.grid[1] || 1);
            /^(se|s|e)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l) : /^(ne)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l, d.position.top = h.top - l) : /^(sw)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l, d.position.left = h.left - k) : (d.size.width = g.width + k, d.size.height = g.height + l, d.position.top = h.top - l, d.position.left = h.left - k)
        }
    });
    var c = function(a) {
            return parseInt(a, 10) || 0
        },
        d = function(a) {
            return !isNaN(parseInt(a, 10))
        }
}(jQuery), function(a, b) {
    a.widget("ui.selectable", a.ui.mouse, {
        options: {
            appendTo: "body",
            autoRefresh: !0,
            distance: 0,
            filter: "*",
            tolerance: "touch"
        },
        _create: function() {
            var b = this;
            this.element.addClass("ui-selectable"), this.dragged = !1;
            var c;
            this.refresh = function() {
                c = a(b.options.filter, b.element[0]), c.addClass("ui-selectee"), c.each(function() {
                    var b = a(this),
                        c = b.offset();
                    a.data(this, "selectable-item", {
                        element: this,
                        $element: b,
                        left: c.left,
                        top: c.top,
                        right: c.left + b.outerWidth(),
                        bottom: c.top + b.outerHeight(),
                        startselected: !1,
                        selected: b.hasClass("ui-selected"),
                        selecting: b.hasClass("ui-selecting"),
                        unselecting: b.hasClass("ui-unselecting")
                    })
                })
            }, this.refresh(), this.selectees = c.addClass("ui-selectee"), this._mouseInit(), this.helper = a("<div class='ui-selectable-helper'></div>")
        },
        destroy: function() {
            return this.selectees.removeClass("ui-selectee").removeData("selectable-item"), this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"), this._mouseDestroy(), this
        },
        _mouseStart: function(b) {
            var c = this;
            this.opos = [b.pageX, b.pageY];
            if (this.options.disabled) return;
            var d = this.options;
            this.selectees = a(d.filter, this.element[0]), this._trigger("start", b), a(d.appendTo).append(this.helper), this.helper.css({
                left: b.clientX,
                top: b.clientY,
                width: 0,
                height: 0
            }), d.autoRefresh && this.refresh(), this.selectees.filter(".ui-selected").each(function() {
                var d = a.data(this, "selectable-item");
                d.startselected = !0, !b.metaKey && !b.ctrlKey && (d.$element.removeClass("ui-selected"), d.selected = !1, d.$element.addClass("ui-unselecting"), d.unselecting = !0, c._trigger("unselecting", b, {
                    unselecting: d.element
                }))
            }), a(b.target).parents().andSelf().each(function() {
                var d = a.data(this, "selectable-item");
                if (d) {
                    var e = !b.metaKey && !b.ctrlKey || !d.$element.hasClass("ui-selected");
                    return d.$element.removeClass(e ? "ui-unselecting" : "ui-selected").addClass(e ? "ui-selecting" : "ui-unselecting"), d.unselecting = !e, d.selecting = e, d.selected = e, e ? c._trigger("selecting", b, {
                        selecting: d.element
                    }) : c._trigger("unselecting", b, {
                        unselecting: d.element
                    }), !1
                }
            })
        },
        _mouseDrag: function(b) {
            var c = this;
            this.dragged = !0;
            if (this.options.disabled) return;
            var d = this.options,
                e = this.opos[0],
                f = this.opos[1],
                g = b.pageX,
                h = b.pageY;
            if (e > g) {
                var i = g;
                g = e, e = i
            }
            if (f > h) {
                var i = h;
                h = f, f = i
            }
            return this.helper.css({
                left: e,
                top: f,
                width: g - e,
                height: h - f
            }), this.selectees.each(function() {
                var i = a.data(this, "selectable-item");
                if (!i || i.element == c.element[0]) return;
                var j = !1;
                d.tolerance == "touch" ? j = !(i.left > g || i.right < e || i.top > h || i.bottom < f) : d.tolerance == "fit" && (j = i.left > e && i.right < g && i.top > f && i.bottom < h), j ? (i.selected && (i.$element.removeClass("ui-selected"), i.selected = !1), i.unselecting && (i.$element.removeClass("ui-unselecting"), i.unselecting = !1), i.selecting || (i.$element.addClass("ui-selecting"), i.selecting = !0, c._trigger("selecting", b, {
                    selecting: i.element
                }))) : (i.selecting && ((b.metaKey || b.ctrlKey) && i.startselected ? (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.$element.addClass("ui-selected"), i.selected = !0) : (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.startselected && (i.$element.addClass("ui-unselecting"), i.unselecting = !0), c._trigger("unselecting", b, {
                    unselecting: i.element
                }))), i.selected && !b.metaKey && !b.ctrlKey && !i.startselected && (i.$element.removeClass("ui-selected"), i.selected = !1, i.$element.addClass("ui-unselecting"), i.unselecting = !0, c._trigger("unselecting", b, {
                    unselecting: i.element
                })))
            }), !1
        },
        _mouseStop: function(b) {
            var c = this;
            this.dragged = !1;
            var d = this.options;
            return a(".ui-unselecting", this.element[0]).each(function() {
                var d = a.data(this, "selectable-item");
                d.$element.removeClass("ui-unselecting"), d.unselecting = !1, d.startselected = !1, c._trigger("unselected", b, {
                    unselected: d.element
                })
            }), a(".ui-selecting", this.element[0]).each(function() {
                var d = a.data(this, "selectable-item");
                d.$element.removeClass("ui-selecting").addClass("ui-selected"), d.selecting = !1, d.selected = !0, d.startselected = !0, c._trigger("selected", b, {
                    selected: d.element
                })
            }), this._trigger("stop", b), this.helper.remove(), !1
        }
    }), a.extend(a.ui.selectable, {
        version: "1.8.21"
    })
}(jQuery), function(a, b) {
    a.widget("ui.sortable", a.ui.mouse, {
        widgetEventPrefix: "sort",
        ready: !1,
        options: {
            appendTo: "parent",
            axis: !1,
            connectWith: !1,
            containment: !1,
            cursor: "auto",
            cursorAt: !1,
            dropOnEmpty: !0,
            forcePlaceholderSize: !1,
            forceHelperSize: !1,
            grid: !1,
            handle: !1,
            helper: "original",
            items: "> *",
            opacity: !1,
            placeholder: !1,
            revert: !1,
            scroll: !0,
            scrollSensitivity: 20,
            scrollSpeed: 20,
            scope: "default",
            tolerance: "intersect",
            zIndex: 1e3
        },
        _create: function() {
            var a = this.options;
            this.containerCache = {}, this.element.addClass("ui-sortable"), this.refresh(), this.floating = this.items.length ? a.axis === "x" || /left|right/.test(this.items[0].item.css("float")) || /inline|table-cell/.test(this.items[0].item.css("display")) : !1, this.offset = this.element.offset(), this._mouseInit(), this.ready = !0
        },
        destroy: function() {
            a.Widget.prototype.destroy.call(this), this.element.removeClass("ui-sortable ui-sortable-disabled"), this._mouseDestroy();
            for (var b = this.items.length - 1; b >= 0; b--) this.items[b].item.removeData(this.widgetName + "-item");
            return this
        },
        _setOption: function(b, c) {
            b === "disabled" ? (this.options[b] = c, this.widget()[c ? "addClass" : "removeClass"]("ui-sortable-disabled")) : a.Widget.prototype._setOption.apply(this, arguments)
        },
        _mouseCapture: function(b, c) {
            var d = this;
            if (this.reverting) return !1;
            if (this.options.disabled || this.options.type == "static") return !1;
            this._refreshItems(b);
            var e = null,
                f = this,
                g = a(b.target).parents().each(function() {
                    if (a.data(this, d.widgetName + "-item") == f) return e = a(this), !1
                });
            a.data(b.target, d.widgetName + "-item") == f && (e = a(b.target));
            if (!e) return !1;
            if (this.options.handle && !c) {
                var h = !1;
                a(this.options.handle, e).find("*").andSelf().each(function() {
                    this == b.target && (h = !0)
                });
                if (!h) return !1
            }
            return this.currentItem = e, this._removeCurrentsFromItems(), !0
        },
        _mouseStart: function(b, c, d) {
            var e = this.options,
                f = this;
            this.currentContainer = this, this.refreshPositions(), this.helper = this._createHelper(b), this._cacheHelperProportions(), this._cacheMargins(), this.scrollParent = this.helper.scrollParent(), this.offset = this.currentItem.offset(), this.offset = {
                top: this.offset.top - this.margins.top,
                left: this.offset.left - this.margins.left
            }, a.extend(this.offset, {
                click: {
                    left: b.pageX - this.offset.left,
                    top: b.pageY - this.offset.top
                },
                parent: this._getParentOffset(),
                relative: this._getRelativeOffset()
            }), this.helper.css("position", "absolute"), this.cssPosition = this.helper.css("position"), this.originalPosition = this._generatePosition(b), this.originalPageX = b.pageX, this.originalPageY = b.pageY, e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt), this.domPosition = {
                prev: this.currentItem.prev()[0],
                parent: this.currentItem.parent()[0]
            }, this.helper[0] != this.currentItem[0] && this.currentItem.hide(), this._createPlaceholder(), e.containment && this._setContainment(), e.cursor && (a("body").css("cursor") && (this._storedCursor = a("body").css("cursor")), a("body").css("cursor", e.cursor)), e.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper.css("opacity", e.opacity)), e.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), this.helper.css("zIndex", e.zIndex)), this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" && (this.overflowOffset = this.scrollParent.offset()), this._trigger("start", b, this._uiHash()), this._preserveHelperProportions || this._cacheHelperProportions();
            if (!d) for (var g = this.containers.length - 1; g >= 0; g--) this.containers[g]._trigger("activate", b, f._uiHash(this));
            return a.ui.ddmanager && (a.ui.ddmanager.current = this), a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), this.dragging = !0, this.helper.addClass("ui-sortable-helper"), this._mouseDrag(b), !0
        },
        _mouseDrag: function(b) {
            this.position = this._generatePosition(b), this.positionAbs = this._convertPositionTo("absolute"), this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs);
            if (this.options.scroll) {
                var c = this.options,
                    d = !1;
                this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - b.pageY < c.scrollSensitivity ? this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop + c.scrollSpeed : b.pageY - this.overflowOffset.top < c.scrollSensitivity && (this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop - c.scrollSpeed), this.overflowOffset.left + this.scrollParent[0].offsetWidth - b.pageX < c.scrollSensitivity ? this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft + c.scrollSpeed : b.pageX - this.overflowOffset.left < c.scrollSensitivity && (this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft - c.scrollSpeed)) : (b.pageY - a(document).scrollTop() < c.scrollSensitivity ? d = a(document).scrollTop(a(document).scrollTop() - c.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < c.scrollSensitivity && (d = a(document).scrollTop(a(document).scrollTop() + c.scrollSpeed)), b.pageX - a(document).scrollLeft() < c.scrollSensitivity ? d = a(document).scrollLeft(a(document).scrollLeft() - c.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < c.scrollSensitivity && (d = a(document).scrollLeft(a(document).scrollLeft() + c.scrollSpeed))), d !== !1 && a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b)
            }
            this.positionAbs = this._convertPositionTo("absolute");
            if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px";
            if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px";
            for (var e = this.items.length - 1; e >= 0; e--) {
                var f = this.items[e],
                    g = f.item[0],
                    h = this._intersectsWithPointer(f);
                if (!h) continue;
                if (g != this.currentItem[0] && this.placeholder[h == 1 ? "next" : "prev"]()[0] != g && !a.ui.contains(this.placeholder[0], g) && (this.options.type == "semi-dynamic" ? !a.ui.contains(this.element[0], g) : !0)) {
                    this.direction = h == 1 ? "down" : "up";
                    if (this.options.tolerance == "pointer" || this._intersectsWithSides(f)) this._rearrange(b, f);
                    else break;
                    this._trigger("change", b, this._uiHash());
                    break
                }
            }
            return this._contactContainers(b), a.ui.ddmanager && a.ui.ddmanager.drag(this, b), this._trigger("sort", b, this._uiHash()), this.lastPositionAbs = this.positionAbs, !1
        },
        _mouseStop: function(b, c) {
            if (!b) return;
            a.ui.ddmanager && !this.options.dropBehaviour && a.ui.ddmanager.drop(this, b);
            if (this.options.revert) {
                var d = this,
                    e = d.placeholder.offset();
                d.reverting = !0, a(this.helper).animate({
                    left: e.left - this.offset.parent.left - d.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft),
                    top: e.top - this.offset.parent.top - d.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop)
                }, parseInt(this.options.revert, 10) || 500, function() {
                    d._clear(b)
                })
            } else this._clear(b, c);
            return !1
        },
        cancel: function() {
            var b = this;
            if (this.dragging) {
                this._mouseUp({
                    target: null
                }), this.options.helper == "original" ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show();
                for (var c = this.containers.length - 1; c >= 0; c--) this.containers[c]._trigger("deactivate", null, b._uiHash(this)), this.containers[c].containerCache.over && (this.containers[c]._trigger("out", null, b._uiHash(this)), this.containers[c].containerCache.over = 0)
            }
            return this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]), this.options.helper != "original" && this.helper && this.helper[0].parentNode && this.helper.remove(), a.extend(this, {
                helper: null,
                dragging: !1,
                reverting: !1,
                _noFinalSort: null
            }), this.domPosition.prev ? a(this.domPosition.prev).after(this.currentItem) : a(this.domPosition.parent).prepend(this.currentItem)), this
        },
        serialize: function(b) {
            var c = this._getItemsAsjQuery(b && b.connected),
                d = [];
            return b = b || {}, a(c).each(function() {
                var c = (a(b.item || this).attr(b.attribute || "id") || "").match(b.expression || /(.+)[-=_](.+)/);
                c && d.push((b.key || c[1] + "[]") + "=" + (b.key && b.expression ? c[1] : c[2]))
            }), !d.length && b.key && d.push(b.key + "="), d.join("&")
        },
        toArray: function(b) {
            var c = this._getItemsAsjQuery(b && b.connected),
                d = [];
            return b = b || {}, c.each(function() {
                d.push(a(b.item || this).attr(b.attribute || "id") || "")
            }), d
        },
        _intersectsWith: function(a) {
            var b = this.positionAbs.left,
                c = b + this.helperProportions.width,
                d = this.positionAbs.top,
                e = d + this.helperProportions.height,
                f = a.left,
                g = f + a.width,
                h = a.top,
                i = h + a.height,
                j = this.offset.click.top,
                k = this.offset.click.left,
                l = d + j > h && d + j < i && b + k > f && b + k < g;
            return this.options.tolerance == "pointer" || this.options.forcePointerForContainers || this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width" : "height"] > a[this.floating ? "width" : "height"] ? l : f < b + this.helperProportions.width / 2 && c - this.helperProportions.width / 2 < g && h < d + this.helperProportions.height / 2 && e - this.helperProportions.height / 2 < i
        },
        _intersectsWithPointer: function(b) {
            var c = this.options.axis === "x" || a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top, b.height),
                d = this.options.axis === "y" || a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left, b.width),
                e = c && d,
                f = this._getDragVerticalDirection(),
                g = this._getDragHorizontalDirection();
            return e ? this.floating ? g && g == "right" || f == "down" ? 2 : 1 : f && (f == "down" ? 2 : 1) : !1
        },
        _intersectsWithSides: function(b) {
            var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top + b.height / 2, b.height),
                d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left + b.width / 2, b.width),
                e = this._getDragVerticalDirection(),
                f = this._getDragHorizontalDirection();
            return this.floating && f ? f == "right" && d || f == "left" && !d : e && (e == "down" && c || e == "up" && !c)
        },
        _getDragVerticalDirection: function() {
            var a = this.positionAbs.top - this.lastPositionAbs.top;
            return a != 0 && (a > 0 ? "down" : "up")
        },
        _getDragHorizontalDirection: function() {
            var a = this.positionAbs.left - this.lastPositionAbs.left;
            return a != 0 && (a > 0 ? "right" : "left")
        },
        refresh: function(a) {
            return this._refreshItems(a), this.refreshPositions(), this
        },
        _connectWith: function() {
            var a = this.options;
            return a.connectWith.constructor == String ? [a.connectWith] : a.connectWith
        },
        _getItemsAsjQuery: function(b) {
            var c = this,
                d = [],
                e = [],
                f = this._connectWith();
            if (f && b) for (var g = f.length - 1; g >= 0; g--) {
                var h = a(f[g]);
                for (var i = h.length - 1; i >= 0; i--) {
                    var j = a.data(h[i], this.widgetName);
                    j && j != this && !j.options.disabled && e.push([a.isFunction(j.options.items) ? j.options.items.call(j.element) : a(j.options.items, j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), j])
                }
            }
            e.push([a.isFunction(this.options.items) ? this.options.items.call(this.element, null, {
                options: this.options,
                item: this.currentItem
            }) : a(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
            for (var g = e.length - 1; g >= 0; g--) e[g][0].each(function() {
                d.push(this)
            });
            return a(d)
        },
        _removeCurrentsFromItems: function() {
            var a = this.currentItem.find(":data(" + this.widgetName + "-item)");
            for (var b = 0; b < this.items.length; b++) for (var c = 0; c < a.length; c++) a[c] == this.items[b].item[0] && this.items.splice(b, 1)
        },
        _refreshItems: function(b) {
            this.items = [], this.containers = [this];
            var c = this.items,
                d = this,
                e = [
                    [a.isFunction(this.options.items) ? this.options.items.call(this.element[0], b, {
                        item: this.currentItem
                    }) : a(this.options.items, this.element), this]
                ],
                f = this._connectWith();
            if (f && this.ready) for (var g = f.length - 1; g >= 0; g--) {
                var h = a(f[g]);
                for (var i = h.length - 1; i >= 0; i--) {
                    var j = a.data(h[i], this.widgetName);
                    j && j != this && !j.options.disabled && (e.push([a.isFunction(j.options.items) ? j.options.items.call(j.element[0], b, {
                        item: this.currentItem
                    }) : a(j.options.items, j.element), j]), this.containers.push(j))
                }
            }
            for (var g = e.length - 1; g >= 0; g--) {
                var k = e[g][1],
                    l = e[g][0];
                for (var i = 0, m = l.length; i < m; i++) {
                    var n = a(l[i]);
                    n.data(this.widgetName + "-item", k), c.push({
                        item: n,
                        instance: k,
                        width: 0,
                        height: 0,
                        left: 0,
                        top: 0
                    })
                }
            }
        },
        refreshPositions: function(b) {
            this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset());
            for (var c = this.items.length - 1; c >= 0; c--) {
                var d = this.items[c];
                if (d.instance != this.currentContainer && this.currentContainer && d.item[0] != this.currentItem[0]) continue;
                var e = this.options.toleranceElement ? a(this.options.toleranceElement, d.item) : d.item;
                b || (d.width = e.outerWidth(), d.height = e.outerHeight());
                var f = e.offset();
                d.left = f.left, d.top = f.top
            }
            if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this);
            else for (var c = this.containers.length - 1; c >= 0; c--) {
                var f = this.containers[c].element.offset();
                this.containers[c].containerCache.left = f.left, this.containers[c].containerCache.top = f.top, this.containers[c].containerCache.width = this.containers[c].element.outerWidth(), this.containers[c].containerCache.height = this.containers[c].element.outerHeight()
            }
            return this
        },
        _createPlaceholder: function(b) {
            var c = b || this,
                d = c.options;
            if (!d.placeholder || d.placeholder.constructor == String) {
                var e = d.placeholder;
                d.placeholder = {
                    element: function() {
                        var b = a(document.createElement(c.currentItem[0].nodeName)).addClass(e || c.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];
                        return e || (b.style.visibility = "hidden"), b
                    },
                    update: function(a, b) {
                        if (e && !d.forcePlaceholderSize) return;
                        b.height() || b.height(c.currentItem.innerHeight() - parseInt(c.currentItem.css("paddingTop") || 0, 10) - parseInt(c.currentItem.css("paddingBottom") || 0, 10)), b.width() || b.width(c.currentItem.innerWidth() - parseInt(c.currentItem.css("paddingLeft") || 0, 10) - parseInt(c.currentItem.css("paddingRight") || 0, 10))
                    }
                }
            }
            c.placeholder = a(d.placeholder.element.call(c.element, c.currentItem)), c.currentItem.after(c.placeholder), d.placeholder.update(c, c.placeholder)
        },
        _contactContainers: function(b) {
            var c = null,
                d = null;
            for (var e = this.containers.length - 1; e >= 0; e--) {
                if (a.ui.contains(this.currentItem[0], this.containers[e].element[0])) continue;
                if (this._intersectsWith(this.containers[e].containerCache)) {
                    if (c && a.ui.contains(this.containers[e].element[0], c.element[0])) continue;
                    c = this.containers[e], d = e
                } else this.containers[e].containerCache.over && (this.containers[e]._trigger("out", b, this._uiHash(this)), this.containers[e].containerCache.over = 0)
            }
            if (!c) return;
            if (this.containers.length === 1) this.containers[d]._trigger("over", b, this._uiHash(this)), this.containers[d].containerCache.over = 1;
            else if (this.currentContainer != this.containers[d]) {
                var f = 1e4,
                    g = null,
                    h = this.positionAbs[this.containers[d].floating ? "left" : "top"];
                for (var i = this.items.length - 1; i >= 0; i--) {
                    if (!a.ui.contains(this.containers[d].element[0], this.items[i].item[0])) continue;
                    var j = this.containers[d].floating ? this.items[i].item.offset().left : this.items[i].item.offset().top;
                    Math.abs(j - h) < f && (f = Math.abs(j - h), g = this.items[i], this.direction = j - h > 0 ? "down" : "up")
                }
                if (!g && !this.options.dropOnEmpty) return;
                this.currentContainer = this.containers[d], g ? this._rearrange(b, g, null, !0) : this._rearrange(b, null, this.containers[d].element, !0), this._trigger("change", b, this._uiHash()), this.containers[d]._trigger("change", b, this._uiHash(this)), this.options.placeholder.update(this.currentContainer, this.placeholder), this.containers[d]._trigger("over", b, this._uiHash(this)), this.containers[d].containerCache.over = 1
            }
        },
        _createHelper: function(b) {
            var c = this.options,
                d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b, this.currentItem])) : c.helper == "clone" ? this.currentItem.clone() : this.currentItem;
            return d.parents("body").length || a(c.appendTo != "parent" ? c.appendTo : this.currentItem[0].parentNode)[0].appendChild(d[0]), d[0] == this.currentItem[0] && (this._storedCSS = {
                width: this.currentItem[0].style.width,
                height: this.currentItem[0].style.height,
                position: this.currentItem.css("position"),
                top: this.currentItem.css("top"),
                left: this.currentItem.css("left")
            }), (d[0].style.width == "" || c.forceHelperSize) && d.width(this.currentItem.width()), (d[0].style.height == "" || c.forceHelperSize) && d.height(this.currentItem.height()), d
        },
        _adjustOffsetFromHelper: function(b) {
            typeof b == "string" && (b = b.split(" ")), a.isArray(b) && (b = {
                left: +b[0],
                top: +b[1] || 0
            }), "left" in b && (this.offset.click.left = b.left + this.margins.left), "right" in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), "top" in b && (this.offset.click.top = b.top + this.margins.top), "bottom" in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top)
        },
        _getParentOffset: function() {
            this.offsetParent = this.helper.offsetParent();
            var b = this.offsetParent.offset();
            this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), b.top += this.scrollParent.scrollTop());
            if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = {
                top: 0,
                left: 0
            };
            return {
                top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
                left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
            }
        },
        _getRelativeOffset: function() {
            if (this.cssPosition == "relative") {
                var a = this.currentItem.position();
                return {
                    top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
                    left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
                }
            }
            return {
                top: 0,
                left: 0
            }
        },
        _cacheMargins: function() {
            this.margins = {
                left: parseInt(this.currentItem.css("marginLeft"), 10) || 0,
                top: parseInt(this.currentItem.css("marginTop"), 10) || 0
            }
        },
        _cacheHelperProportions: function() {
            this.helperProportions = {
                width: this.helper.outerWidth(),
                height: this.helper.outerHeight()
            }
        },
        _setContainment: function() {
            var b = this.options;
            b.containment == "parent" && (b.containment = this.helper[0].parentNode);
            if (b.containment == "document" || b.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a(b.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (a(b.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top];
            if (!/^(document|window|parent)$/.test(b.containment)) {
                var c = a(b.containment)[0],
                    d = a(b.containment).offset(),
                    e = a(c).css("overflow") != "hidden";
                this.containment = [d.left + (parseInt(a(c).css("borderLeftWidth"), 10) || 0) + (parseInt(a(c).css("paddingLeft"), 10) || 0) - this.margins.left, d.top + (parseInt(a(c).css("borderTopWidth"), 10) || 0) + (parseInt(a(c).css("paddingTop"), 10) || 0) - this.margins.top, d.left + (e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth) - (parseInt(a(c).css("borderLeftWidth"), 10) || 0) - (parseInt(a(c).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, d.top + (e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight) - (parseInt(a(c).css("borderTopWidth"), 10) || 0) - (parseInt(a(c).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]
            }
        },
        _convertPositionTo: function(b, c) {
            c || (c = this.position);
            var d = b == "absolute" ? 1 : -1,
                e = this.options,
                f = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
                g = /(html|body)/i.test(f[0].tagName);
            return {
                top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - (a.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d),
                left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - (a.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d)
            }
        },
        _generatePosition: function(b) {
            var c = this.options,
                d = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
                e = /(html|body)/i.test(d[0].tagName);
            this.cssPosition == "relative" && (this.scrollParent[0] == document || this.scrollParent[0] == this.offsetParent[0]) && (this.offset.relative = this._getRelativeOffset());
            var f = b.pageX,
                g = b.pageY;
            if (this.originalPosition) {
                this.containment && (b.pageX - this.offset.click.left < this.containment[0] && (f = this.containment[0] + this.offset.click.left), b.pageY - this.offset.click.top < this.containment[1] && (g = this.containment[1] + this.offset.click.top), b.pageX - this.offset.click.left > this.containment[2] && (f = this.containment[2] + this.offset.click.left), b.pageY - this.offset.click.top > this.containment[3] && (g = this.containment[3] + this.offset.click.top));
                if (c.grid) {
                    var h = this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1];
                    g = this.containment ? h - this.offset.click.top < this.containment[1] || h - this.offset.click.top > this.containment[3] ? h - this.offset.click.top < this.containment[1] ? h + c.grid[1] : h - c.grid[1] : h : h;
                    var i = this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0];
                    f = this.containment ? i - this.offset.click.left < this.containment[0] || i - this.offset.click.left > this.containment[2] ? i - this.offset.click.left < this.containment[0] ? i + c.grid[0] : i - c.grid[0] : i : i
                }
            }
            return {
                top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()),
                left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft())
            }
        },
        _rearrange: function(a, b, c, d) {
            c ? c[0].appendChild(this.placeholder[0]) : b.item[0].parentNode.insertBefore(this.placeholder[0], this.direction == "down" ? b.item[0] : b.item[0].nextSibling), this.counter = this.counter ? ++this.counter : 1;
            var e = this,
                f = this.counter;
            window.setTimeout(function() {
                f == e.counter && e.refreshPositions(!d)
            }, 0)
        },
        _clear: function(b, c) {
            this.reverting = !1;
            var d = [],
                e = this;
            !this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), this._noFinalSort = null;
            if (this.helper[0] == this.currentItem[0]) {
                for (var f in this._storedCSS) if (this._storedCSS[f] == "auto" || this._storedCSS[f] == "static") this._storedCSS[f] = "";
                this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
            } else this.currentItem.show();
            this.fromOutside && !c && d.push(function(a) {
                this._trigger("receive", a, this._uiHash(this.fromOutside))
            }), (this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !c && d.push(function(a) {
                this._trigger("update", a, this._uiHash())
            });
            if (!a.ui.contains(this.element[0], this.currentItem[0])) {
                c || d.push(function(a) {
                    this._trigger("remove", a, this._uiHash())
                });
                for (var f = this.containers.length - 1; f >= 0; f--) a.ui.contains(this.containers[f].element[0], this.currentItem[0]) && !c && (d.push(function(a) {
                    return function(b) {
                        a._trigger("receive", b, this._uiHash(this))
                    }
                }.call(this, this.containers[f])), d.push(function(a) {
                    return function(b) {
                        a._trigger("update", b, this._uiHash(this))
                    }
                }.call(this, this.containers[f])))
            }
            for (var f = this.containers.length - 1; f >= 0; f--) c || d.push(function(a) {
                return function(b) {
                    a._trigger("deactivate", b, this._uiHash(this))
                }
            }.call(this, this.containers[f])), this.containers[f].containerCache.over && (d.push(function(a) {
                return function(b) {
                    a._trigger("out", b, this._uiHash(this))
                }
            }.call(this, this.containers[f])), this.containers[f].containerCache.over = 0);
            this._storedCursor && a("body").css("cursor", this._storedCursor), this._storedOpacity && this.helper.css("opacity", this._storedOpacity), this._storedZIndex && this.helper.css("zIndex", this._storedZIndex == "auto" ? "" : this._storedZIndex), this.dragging = !1;
            if (this.cancelHelperRemoval) {
                if (!c) {
                    this._trigger("beforeStop", b, this._uiHash());
                    for (var f = 0; f < d.length; f++) d[f].call(this, b);
                    this._trigger("stop", b, this._uiHash())
                }
                return !1
            }
            c || this._trigger("beforeStop", b, this._uiHash()), this.placeholder[0].parentNode.removeChild(this.placeholder[0]), this.helper[0] != this.currentItem[0] && this.helper.remove(), this.helper = null;
            if (!c) {
                for (var f = 0; f < d.length; f++) d[f].call(this, b);
                this._trigger("stop", b, this._uiHash())
            }
            return this.fromOutside = !1, !0
        },
        _trigger: function() {
            a.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel()
        },
        _uiHash: function(b) {
            var c = b || this;
            return {
                helper: c.helper,
                placeholder: c.placeholder || a([]),
                position: c.position,
                originalPosition: c.originalPosition,
                offset: c.positionAbs,
                item: c.currentItem,
                sender: b ? b.element : null
            }
        }
    }), a.extend(a.ui.sortable, {
        version: "1.8.21"
    })
}(jQuery), jQuery.effects ||
function(a, b) {
    function c(b) {
        var c;
        return b && b.constructor == Array && b.length == 3 ? b : (c = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b)) ? [parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10)] : (c = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b)) ? [parseFloat(c[1]) * 2.55, parseFloat(c[2]) * 2.55, parseFloat(c[3]) * 2.55] : (c = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b)) ? [parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16)] : (c = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b)) ? [parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16)] : (c = /rgba\(0, 0, 0, 0\)/.exec(b)) ? e.transparent : e[a.trim(b).toLowerCase()]
    }
    function d(b, d) {
        var e;
        do {
            e = a.curCSS(b, d);
            if (e != "" && e != "transparent" || a.nodeName(b, "body")) break;
            d = "backgroundColor"
        } while (b = b.parentNode);
        return c(e)
    }
    function h() {
        var a = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle,
            b = {},
            c, d;
        if (a && a.length && a[0] && a[a[0]]) {
            var e = a.length;
            while (e--) c = a[e], typeof a[c] == "string" && (d = c.replace(/\-(\w)/g, function(a, b) {
                return b.toUpperCase()
            }), b[d] = a[c])
        } else for (c in a) typeof a[c] == "string" && (b[c] = a[c]);
        return b
    }
    function i(b) {
        var c, d;
        for (c in b) d = b[c], (d == null || a.isFunction(d) || c in g || /scrollbar/.test(c) || !/color/i.test(c) && isNaN(parseFloat(d))) && delete b[c];
        return b
    }
    function j(a, b) {
        var c = {
            _: 0
        },
            d;
        for (d in b) a[d] != b[d] && (c[d] = b[d]);
        return c
    }
    function k(b, c, d, e) {
        typeof b == "object" && (e = c, d = null, c = b, b = c.effect), a.isFunction(c) && (e = c, d = null, c = {});
        if (typeof c == "number" || a.fx.speeds[c]) e = d, d = c, c = {};
        return a.isFunction(d) && (e = d, d = null), c = c || {}, d = d || c.duration, d = a.fx.off ? 0 : typeof d == "number" ? d : d in a.fx.speeds ? a.fx.speeds[d] : a.fx.speeds._default, e = e || c.complete, [b, c, d, e]
    }
    function l(b) {
        return !b || typeof b == "number" || a.fx.speeds[b] ? !0 : typeof b == "string" && !a.effects[b] ? !0 : !1
    }
    a.effects = {}, a.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderColor", "color", "outlineColor"], function(b, e) {
        a.fx.step[e] = function(a) {
            a.colorInit || (a.start = d(a.elem, e), a.end = c(a.end), a.colorInit = !0), a.elem.style[e] = "rgb(" + Math.max(Math.min(parseInt(a.pos * (a.end[0] - a.start[0]) + a.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(a.pos * (a.end[1] - a.start[1]) + a.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(a.pos * (a.end[2] - a.start[2]) + a.start[2], 10), 255), 0) + ")"
        }
    });
    var e = {
        aqua: [0, 255, 255],
        azure: [240, 255, 255],
        beige: [245, 245, 220],
        black: [0, 0, 0],
        blue: [0, 0, 255],
        brown: [165, 42, 42],
        cyan: [0, 255, 255],
        darkblue: [0, 0, 139],
        darkcyan: [0, 139, 139],
        darkgrey: [169, 169, 169],
        darkgreen: [0, 100, 0],
        darkkhaki: [189, 183, 107],
        darkmagenta: [139, 0, 139],
        darkolivegreen: [85, 107, 47],
        darkorange: [255, 140, 0],
        darkorchid: [153, 50, 204],
        darkred: [139, 0, 0],
        darksalmon: [233, 150, 122],
        darkviolet: [148, 0, 211],
        fuchsia: [255, 0, 255],
        gold: [255, 215, 0],
        green: [0, 128, 0],
        indigo: [75, 0, 130],
        khaki: [240, 230, 140],
        lightblue: [173, 216, 230],
        lightcyan: [224, 255, 255],
        lightgreen: [144, 238, 144],
        lightgrey: [211, 211, 211],
        lightpink: [255, 182, 193],
        lightyellow: [255, 255, 224],
        lime: [0, 255, 0],
        magenta: [255, 0, 255],
        maroon: [128, 0, 0],
        navy: [0, 0, 128],
        olive: [128, 128, 0],
        orange: [255, 165, 0],
        pink: [255, 192, 203],
        purple: [128, 0, 128],
        violet: [128, 0, 128],
        red: [255, 0, 0],
        silver: [192, 192, 192],
        white: [255, 255, 255],
        yellow: [255, 255, 0],
        transparent: [255, 255, 255]
    },
        f = ["add", "remove", "toggle"],
        g = {
            border: 1,
            borderBottom: 1,
            borderColor: 1,
            borderLeft: 1,
            borderRight: 1,
            borderTop: 1,
            borderWidth: 1,
            margin: 1,
            padding: 1
        };
    a.effects.animateClass = function(b, c, d, e) {
        return a.isFunction(d) && (e = d, d = null), this.queue(function() {
            var g = a(this),
                k = g.attr("style") || " ",
                l = i(h.call(this)),
                m, n = g.attr("class") || "";
            a.each(f, function(a, c) {
                b[c] && g[c + "Class"](b[c])
            }), m = i(h.call(this)), g.attr("class", n), g.animate(j(l, m), {
                queue: !1,
                duration: c,
                easing: d,
                complete: function() {
                    a.each(f, function(a, c) {
                        b[c] && g[c + "Class"](b[c])
                    }), typeof g.attr("style") == "object" ? (g.attr("style").cssText = "", g.attr("style").cssText = k) : g.attr("style", k), e && e.apply(this, arguments), a.dequeue(this)
                }
            })
        })
    }, a.fn.extend({
        _addClass: a.fn.addClass,
        addClass: function(b, c, d, e) {
            return c ? a.effects.animateClass.apply(this, [{
                add: b
            },
            c, d, e]) : this._addClass(b)
        },
        _removeClass: a.fn.removeClass,
        removeClass: function(b, c, d, e) {
            return c ? a.effects.animateClass.apply(this, [{
                remove: b
            },
            c, d, e]) : this._removeClass(b)
        },
        _toggleClass: a.fn.toggleClass,
        toggleClass: function(c, d, e, f, g) {
            return typeof d == "boolean" || d === b ? e ? a.effects.animateClass.apply(this, [d ? {
                add: c
            } : {
                remove: c
            },
            e, f, g]) : this._toggleClass(c, d) : a.effects.animateClass.apply(this, [{
                toggle: c
            },
            d, e, f])
        },
        switchClass: function(b, c, d, e, f) {
            return a.effects.animateClass.apply(this, [{
                add: c,
                remove: b
            },
            d, e, f])
        }
    }), a.extend(a.effects, {
        version: "1.8.21",
        save: function(a, b) {
            for (var c = 0; c < b.length; c++) b[c] !== null && a.data("ec.storage." + b[c], a[0].style[b[c]])
        },
        restore: function(a, b) {
            for (var c = 0; c < b.length; c++) b[c] !== null && a.css(b[c], a.data("ec.storage." + b[c]))
        },
        setMode: function(a, b) {
            return b == "toggle" && (b = a.is(":hidden") ? "show" : "hide"), b
        },
        getBaseline: function(a, b) {
            var c, d;
            switch (a[0]) {
            case "top":
                c = 0;
                break;
            case "middle":
                c = .5;
                break;
            case "bottom":
                c = 1;
                break;
            default:
                c = a[0] / b.height
            }
            switch (a[1]) {
            case "left":
                d = 0;
                break;
            case "center":
                d = .5;
                break;
            case "right":
                d = 1;
                break;
            default:
                d = a[1] / b.width
            }
            return {
                x: d,
                y: c
            }
        },
        createWrapper: function(b) {
            if (b.parent().is(".ui-effects-wrapper")) return b.parent();
            var c = {
                width: b.outerWidth(!0),
                height: b.outerHeight(!0),
                "float": b.css("float")
            },
                d = a("<div></div>").addClass("ui-effects-wrapper").css({
                    fontSize: "100%",
                    background: "transparent",
                    border: "none",
                    margin: 0,
                    padding: 0
                }),
                e = document.activeElement;
            try {
                e.id
            } catch (f) {
                e = document.body
            }
            return b.wrap(d), (b[0] === e || a.contains(b[0], e)) && a(e).focus(), d = b.parent(), b.css("position") == "static" ? (d.css({
                position: "relative"
            }), b.css({
                position: "relative"
            })) : (a.extend(c, {
                position: b.css("position"),
                zIndex: b.css("z-index")
            }), a.each(["top", "left", "bottom", "right"], function(a, d) {
                c[d] = b.css(d), isNaN(parseInt(c[d], 10)) && (c[d] = "auto")
            }), b.css({
                position: "relative",
                top: 0,
                left: 0,
                right: "auto",
                bottom: "auto"
            })), d.css(c).show()
        },
        removeWrapper: function(b) {
            var c, d = document.activeElement;
            return b.parent().is(".ui-effects-wrapper") ? (c = b.parent().replaceWith(b), (b[0] === d || a.contains(b[0], d)) && a(d).focus(), c) : b
        },
        setTransition: function(b, c, d, e) {
            return e = e || {}, a.each(c, function(a, c) {
                var f = b.cssUnit(c);
                f[0] > 0 && (e[c] = f[0] * d + f[1])
            }), e
        }
    }), a.fn.extend({
        effect: function(b, c, d, e) {
            var f = k.apply(this, arguments),
                g = {
                    options: f[1],
                    duration: f[2],
                    callback: f[3]
                },
                h = g.options.mode,
                i = a.effects[b];
            return a.fx.off || !i ? h ? this[h](g.duration, g.callback) : this.each(function() {
                g.callback && g.callback.call(this)
            }) : i.call(this, g)
        },
        _show: a.fn.show,
        show: function(a) {
            if (l(a)) return this._show.apply(this, arguments);
            var b = k.apply(this, arguments);
            return b[1].mode = "show", this.effect.apply(this, b)
        },
        _hide: a.fn.hide,
        hide: function(a) {
            if (l(a)) return this._hide.apply(this, arguments);
            var b = k.apply(this, arguments);
            return b[1].mode = "hide", this.effect.apply(this, b)
        },
        __toggle: a.fn.toggle,
        toggle: function(b) {
            if (l(b) || typeof b == "boolean" || a.isFunction(b)) return this.__toggle.apply(this, arguments);
            var c = k.apply(this, arguments);
            return c[1].mode = "toggle", this.effect.apply(this, c)
        },
        cssUnit: function(b) {
            var c = this.css(b),
                d = [];
            return a.each(["em", "px", "%", "pt"], function(a, b) {
                c.indexOf(b) > 0 && (d = [parseFloat(c), b])
            }), d
        }
    }), a.easing.jswing = a.easing.swing, a.extend(a.easing, {
        def: "easeOutQuad",
        swing: function(b, c, d, e, f) {
            return a.easing[a.easing.def](b, c, d, e, f)
        },
        easeInQuad: function(a, b, c, d, e) {
            return d * (b /= e) * b + c
        },
        easeOutQuad: function(a, b, c, d, e) {
            return -d * (b /= e) * (b - 2) + c
        },
        easeInOutQuad: function(a, b, c, d, e) {
            return (b /= e / 2) < 1 ? d / 2 * b * b + c : -d / 2 * (--b * (b - 2) - 1) + c
        },
        easeInCubic: function(a, b, c, d, e) {
            return d * (b /= e) * b * b + c
        },
        easeOutCubic: function(a, b, c, d, e) {
            return d * ((b = b / e - 1) * b * b + 1) + c
        },
        easeInOutCubic: function(a, b, c, d, e) {
            return (b /= e / 2) < 1 ? d / 2 * b * b * b + c : d / 2 * ((b -= 2) * b * b + 2) + c
        },
        easeInQuart: function(a, b, c, d, e) {
            return d * (b /= e) * b * b * b + c
        },
        easeOutQuart: function(a, b, c, d, e) {
            return -d * ((b = b / e - 1) * b * b * b - 1) + c
        },
        easeInOutQuart: function(a, b, c, d, e) {
            return (b /= e / 2) < 1 ? d / 2 * b * b * b * b + c : -d / 2 * ((b -= 2) * b * b * b - 2) + c
        },
        easeInQuint: function(a, b, c, d, e) {
            return d * (b /= e) * b * b * b * b + c
        },
        easeOutQuint: function(a, b, c, d, e) {
            return d * ((b = b / e - 1) * b * b * b * b + 1) + c
        },
        easeInOutQuint: function(a, b, c, d, e) {
            return (b /= e / 2) < 1 ? d / 2 * b * b * b * b * b + c : d / 2 * ((b -= 2) * b * b * b * b + 2) + c
        },
        easeInSine: function(a, b, c, d, e) {
            return -d * Math.cos(b / e * (Math.PI / 2)) + d + c
        },
        easeOutSine: function(a, b, c, d, e) {
            return d * Math.sin(b / e * (Math.PI / 2)) + c
        },
        easeInOutSine: function(a, b, c, d, e) {
            return -d / 2 * (Math.cos(Math.PI * b / e) - 1) + c
        },
        easeInExpo: function(a, b, c, d, e) {
            return b == 0 ? c : d * Math.pow(2, 10 * (b / e - 1)) + c
        },
        easeOutExpo: function(a, b, c, d, e) {
            return b == e ? c + d : d * (-Math.pow(2, -10 * b / e) + 1) + c
        },
        easeInOutExpo: function(a, b, c, d, e) {
            return b == 0 ? c : b == e ? c + d : (b /= e / 2) < 1 ? d / 2 * Math.pow(2, 10 * (b - 1)) + c : d / 2 * (-Math.pow(2, -10 * --b) + 2) + c
        },
        easeInCirc: function(a, b, c, d, e) {
            return -d * (Math.sqrt(1 - (b /= e) * b) - 1) + c
        },
        easeOutCirc: function(a, b, c, d, e) {
            return d * Math.sqrt(1 - (b = b / e - 1) * b) + c
        },
        easeInOutCirc: function(a, b, c, d, e) {
            return (b /= e / 2) < 1 ? -d / 2 * (Math.sqrt(1 - b * b) - 1) + c : d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c
        },
        easeInElastic: function(a, b, c, d, e) {
            var f = 1.70158,
                g = 0,
                h = d;
            if (b == 0) return c;
            if ((b /= e) == 1) return c + d;
            g || (g = e * .3);
            if (h < Math.abs(d)) {
                h = d;
                var f = g / 4
            } else var f = g / (2 * Math.PI) * Math.asin(d / h);
            return -(h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g)) + c
        },
        easeOutElastic: function(a, b, c, d, e) {
            var f = 1.70158,
                g = 0,
                h = d;
            if (b == 0) return c;
            if ((b /= e) == 1) return c + d;
            g || (g = e * .3);
            if (h < Math.abs(d)) {
                h = d;
                var f = g / 4
            } else var f = g / (2 * Math.PI) * Math.asin(d / h);
            return h * Math.pow(2, -10 * b) * Math.sin((b * e - f) * 2 * Math.PI / g) + d + c
        },
        easeInOutElastic: function(a, b, c, d, e) {
            var f = 1.70158,
                g = 0,
                h = d;
            if (b == 0) return c;
            if ((b /= e / 2) == 2) return c + d;
            g || (g = e * .3 * 1.5);
            if (h < Math.abs(d)) {
                h = d;
                var f = g / 4
            } else var f = g / (2 * Math.PI) * Math.asin(d / h);
            return b < 1 ? -0.5 * h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) + c : h * Math.pow(2, -10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) * .5 + d + c
        },
        easeInBack: function(a, c, d, e, f, g) {
            return g == b && (g = 1.70158), e * (c /= f) * c * ((g + 1) * c - g) + d
        },
        easeOutBack: function(a, c, d, e, f, g) {
            return g == b && (g = 1.70158), e * ((c = c / f - 1) * c * ((g + 1) * c + g) + 1) + d
        },
        easeInOutBack: function(a, c, d, e, f, g) {
            return g == b && (g = 1.70158), (c /= f / 2) < 1 ? e / 2 * c * c * (((g *= 1.525) + 1) * c - g) + d : e / 2 * ((c -= 2) * c * (((g *= 1.525) + 1) * c + g) + 2) + d
        },
        easeInBounce: function(b, c, d, e, f) {
            return e - a.easing.easeOutBounce(b, f - c, 0, e, f) + d
        },
        easeOutBounce: function(a, b, c, d, e) {
            return (b /= e) < 1 / 2.75 ? d * 7.5625 * b * b + c : b < 2 / 2.75 ? d * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c : b < 2.5 / 2.75 ? d * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c : d * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c
        },
        easeInOutBounce: function(b, c, d, e, f) {
            return c < f / 2 ? a.easing.easeInBounce(b, c * 2, 0, e, f) * .5 + d : a.easing.easeOutBounce(b, c * 2 - f, 0, e, f) * .5 + e * .5 + d
        }
    })
}(jQuery), function(a, b) {
    a.effects.blind = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right"],
                e = a.effects.setMode(c, b.options.mode || "hide"),
                f = b.options.direction || "vertical";
            a.effects.save(c, d), c.show();
            var g = a.effects.createWrapper(c).css({
                overflow: "hidden"
            }),
                h = f == "vertical" ? "height" : "width",
                i = f == "vertical" ? g.height() : g.width();
            e == "show" && g.css(h, 0);
            var j = {};
            j[h] = e == "show" ? i : 0, g.animate(j, b.duration, b.options.easing, function() {
                e == "hide" && c.hide(), a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(c[0], arguments), c.dequeue()
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.bounce = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right"],
                e = a.effects.setMode(c, b.options.mode || "effect"),
                f = b.options.direction || "up",
                g = b.options.distance || 20,
                h = b.options.times || 5,
                i = b.duration || 250;
            /show|hide/.test(e) && d.push("opacity"), a.effects.save(c, d), c.show(), a.effects.createWrapper(c);
            var j = f == "up" || f == "down" ? "top" : "left",
                k = f == "up" || f == "left" ? "pos" : "neg",
                g = b.options.distance || (j == "top" ? c.outerHeight({
                    margin: !0
                }) / 3 : c.outerWidth({
                    margin: !0
                }) / 3);
            e == "show" && c.css("opacity", 0).css(j, k == "pos" ? -g : g), e == "hide" && (g = g / (h * 2)), e != "hide" && h--;
            if (e == "show") {
                var l = {
                    opacity: 1
                };
                l[j] = (k == "pos" ? "+=" : "-=") + g, c.animate(l, i / 2, b.options.easing), g = g / 2, h--
            }
            for (var m = 0; m < h; m++) {
                var n = {},
                    p = {};
                n[j] = (k == "pos" ? "-=" : "+=") + g, p[j] = (k == "pos" ? "+=" : "-=") + g, c.animate(n, i / 2, b.options.easing).animate(p, i / 2, b.options.easing), g = e == "hide" ? g * 2 : g / 2
            }
            if (e == "hide") {
                var l = {
                    opacity: 0
                };
                l[j] = (k == "pos" ? "-=" : "+=") + g, c.animate(l, i / 2, b.options.easing, function() {
                    c.hide(), a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(this, arguments)
                })
            } else {
                var n = {},
                    p = {};
                n[j] = (k == "pos" ? "-=" : "+=") + g, p[j] = (k == "pos" ? "+=" : "-=") + g, c.animate(n, i / 2, b.options.easing).animate(p, i / 2, b.options.easing, function() {
                    a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(this, arguments)
                })
            }
            c.queue("fx", function() {
                c.dequeue()
            }), c.dequeue()
        })
    }
}(jQuery), function(a, b) {
    a.effects.clip = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right", "height", "width"],
                e = a.effects.setMode(c, b.options.mode || "hide"),
                f = b.options.direction || "vertical";
            a.effects.save(c, d), c.show();
            var g = a.effects.createWrapper(c).css({
                overflow: "hidden"
            }),
                h = c[0].tagName == "IMG" ? g : c,
                i = {
                    size: f == "vertical" ? "height" : "width",
                    position: f == "vertical" ? "top" : "left"
                },
                j = f == "vertical" ? h.height() : h.width();
            e == "show" && (h.css(i.size, 0), h.css(i.position, j / 2));
            var k = {};
            k[i.size] = e == "show" ? j : 0, k[i.position] = e == "show" ? 0 : j / 2, h.animate(k, {
                queue: !1,
                duration: b.duration,
                easing: b.options.easing,
                complete: function() {
                    e == "hide" && c.hide(), a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(c[0], arguments), c.dequeue()
                }
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.drop = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right", "opacity"],
                e = a.effects.setMode(c, b.options.mode || "hide"),
                f = b.options.direction || "left";
            a.effects.save(c, d), c.show(), a.effects.createWrapper(c);
            var g = f == "up" || f == "down" ? "top" : "left",
                h = f == "up" || f == "left" ? "pos" : "neg",
                i = b.options.distance || (g == "top" ? c.outerHeight({
                    margin: !0
                }) / 2 : c.outerWidth({
                    margin: !0
                }) / 2);
            e == "show" && c.css("opacity", 0).css(g, h == "pos" ? -i : i);
            var j = {
                opacity: e == "show" ? 1 : 0
            };
            j[g] = (e == "show" ? h == "pos" ? "+=" : "-=" : h == "pos" ? "-=" : "+=") + i, c.animate(j, {
                queue: !1,
                duration: b.duration,
                easing: b.options.easing,
                complete: function() {
                    e == "hide" && c.hide(), a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(this, arguments), c.dequeue()
                }
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.explode = function(b) {
        return this.queue(function() {
            var c = b.options.pieces ? Math.round(Math.sqrt(b.options.pieces)) : 3,
                d = b.options.pieces ? Math.round(Math.sqrt(b.options.pieces)) : 3;
            b.options.mode = b.options.mode == "toggle" ? a(this).is(":visible") ? "hide" : "show" : b.options.mode;
            var e = a(this).show().css("visibility", "hidden"),
                f = e.offset();
            f.top -= parseInt(e.css("marginTop"), 10) || 0, f.left -= parseInt(e.css("marginLeft"), 10) || 0;
            var g = e.outerWidth(!0),
                h = e.outerHeight(!0);
            for (var i = 0; i < c; i++) for (var j = 0; j < d; j++) e.clone().appendTo("body").wrap("<div></div>").css({
                position: "absolute",
                visibility: "visible",
                left: -j * (g / d),
                top: -i * (h / c)
            }).parent().addClass("ui-effects-explode").css({
                position: "absolute",
                overflow: "hidden",
                width: g / d,
                height: h / c,
                left: f.left + j * (g / d) + (b.options.mode == "show" ? (j - Math.floor(d / 2)) * (g / d) : 0),
                top: f.top + i * (h / c) + (b.options.mode == "show" ? (i - Math.floor(c / 2)) * (h / c) : 0),
                opacity: b.options.mode == "show" ? 0 : 1
            }).animate({
                left: f.left + j * (g / d) + (b.options.mode == "show" ? 0 : (j - Math.floor(d / 2)) * (g / d)),
                top: f.top + i * (h / c) + (b.options.mode == "show" ? 0 : (i - Math.floor(c / 2)) * (h / c)),
                opacity: b.options.mode == "show" ? 1 : 0
            }, b.duration || 500);
            setTimeout(function() {
                b.options.mode == "show" ? e.css({
                    visibility: "visible"
                }) : e.css({
                    visibility: "visible"
                }).hide(), b.callback && b.callback.apply(e[0]), e.dequeue(), a("div.ui-effects-explode").remove()
            }, b.duration || 500)
        })
    }
}(jQuery), function(a, b) {
    a.effects.fade = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = a.effects.setMode(c, b.options.mode || "hide");
            c.animate({
                opacity: d
            }, {
                queue: !1,
                duration: b.duration,
                easing: b.options.easing,
                complete: function() {
                    b.callback && b.callback.apply(this, arguments), c.dequeue()
                }
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.fold = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right"],
                e = a.effects.setMode(c, b.options.mode || "hide"),
                f = b.options.size || 15,
                g = !! b.options.horizFirst,
                h = b.duration ? b.duration / 2 : a.fx.speeds._default / 2;
            a.effects.save(c, d), c.show();
            var i = a.effects.createWrapper(c).css({
                overflow: "hidden"
            }),
                j = e == "show" != g,
                k = j ? ["width", "height"] : ["height", "width"],
                l = j ? [i.width(), i.height()] : [i.height(), i.width()],
                m = /([0-9]+)%/.exec(f);
            m && (f = parseInt(m[1], 10) / 100 * l[e == "hide" ? 0 : 1]), e == "show" && i.css(g ? {
                height: 0,
                width: f
            } : {
                height: f,
                width: 0
            });
            var n = {},
                p = {};
            n[k[0]] = e == "show" ? l[0] : f, p[k[1]] = e == "show" ? l[1] : 0, i.animate(n, h, b.options.easing).animate(p, h, b.options.easing, function() {
                e == "hide" && c.hide(), a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(c[0], arguments), c.dequeue()
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.highlight = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["backgroundImage", "backgroundColor", "opacity"],
                e = a.effects.setMode(c, b.options.mode || "show"),
                f = {
                    backgroundColor: c.css("backgroundColor")
                };
            e == "hide" && (f.opacity = 0), a.effects.save(c, d), c.show().css({
                backgroundImage: "none",
                backgroundColor: b.options.color || "#ffff99"
            }).animate(f, {
                queue: !1,
                duration: b.duration,
                easing: b.options.easing,
                complete: function() {
                    e == "hide" && c.hide(), a.effects.restore(c, d), e == "show" && !a.support.opacity && this.style.removeAttribute("filter"), b.callback && b.callback.apply(this, arguments), c.dequeue()
                }
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.pulsate = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = a.effects.setMode(c, b.options.mode || "show"),
                e = (b.options.times || 5) * 2 - 1,
                f = b.duration ? b.duration / 2 : a.fx.speeds._default / 2,
                g = c.is(":visible"),
                h = 0;
            g || (c.css("opacity", 0).show(), h = 1), (d == "hide" && g || d == "show" && !g) && e--;
            for (var i = 0; i < e; i++) c.animate({
                opacity: h
            }, f, b.options.easing), h = (h + 1) % 2;
            c.animate({
                opacity: h
            }, f, b.options.easing, function() {
                h == 0 && c.hide(), b.callback && b.callback.apply(this, arguments)
            }), c.queue("fx", function() {
                c.dequeue()
            }).dequeue()
        })
    }
}(jQuery), function(a, b) {
    a.effects.puff = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = a.effects.setMode(c, b.options.mode || "hide"),
                e = parseInt(b.options.percent, 10) || 150,
                f = e / 100,
                g = {
                    height: c.height(),
                    width: c.width()
                };
            a.extend(b.options, {
                fade: !0,
                mode: d,
                percent: d == "hide" ? e : 100,
                from: d == "hide" ? g : {
                    height: g.height * f,
                    width: g.width * f
                }
            }), c.effect("scale", b.options, b.duration, b.callback), c.dequeue()
        })
    }, a.effects.scale = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = a.extend(!0, {}, b.options),
                e = a.effects.setMode(c, b.options.mode || "effect"),
                f = parseInt(b.options.percent, 10) || (parseInt(b.options.percent, 10) == 0 ? 0 : e == "hide" ? 0 : 100),
                g = b.options.direction || "both",
                h = b.options.origin;
            e != "effect" && (d.origin = h || ["middle", "center"], d.restore = !0);
            var i = {
                height: c.height(),
                width: c.width()
            };
            c.from = b.options.from || (e == "show" ? {
                height: 0,
                width: 0
            } : i);
            var j = {
                y: g != "horizontal" ? f / 100 : 1,
                x: g != "vertical" ? f / 100 : 1
            };
            c.to = {
                height: i.height * j.y,
                width: i.width * j.x
            }, b.options.fade && (e == "show" && (c.from.opacity = 0, c.to.opacity = 1), e == "hide" && (c.from.opacity = 1, c.to.opacity = 0)), d.from = c.from, d.to = c.to, d.mode = e, c.effect("size", d, b.duration, b.callback), c.dequeue()
        })
    }, a.effects.size = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"],
                e = ["position", "top", "bottom", "left", "right", "overflow", "opacity"],
                f = ["width", "height", "overflow"],
                g = ["fontSize"],
                h = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"],
                i = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],
                j = a.effects.setMode(c, b.options.mode || "effect"),
                k = b.options.restore || !1,
                l = b.options.scale || "both",
                m = b.options.origin,
                n = {
                    height: c.height(),
                    width: c.width()
                };
            c.from = b.options.from || n, c.to = b.options.to || n;
            if (m) {
                var p = a.effects.getBaseline(m, n);
                c.from.top = (n.height - c.from.height) * p.y, c.from.left = (n.width - c.from.width) * p.x, c.to.top = (n.height - c.to.height) * p.y, c.to.left = (n.width - c.to.width) * p.x
            }
            var q = {
                from: {
                    y: c.from.height / n.height,
                    x: c.from.width / n.width
                },
                to: {
                    y: c.to.height / n.height,
                    x: c.to.width / n.width
                }
            };
            if (l == "box" || l == "both") q.from.y != q.to.y && (d = d.concat(h), c.from = a.effects.setTransition(c, h, q.from.y, c.from), c.to = a.effects.setTransition(c, h, q.to.y, c.to)), q.from.x != q.to.x && (d = d.concat(i), c.from = a.effects.setTransition(c, i, q.from.x, c.from), c.to = a.effects.setTransition(c, i, q.to.x, c.to));
            (l == "content" || l == "both") && q.from.y != q.to.y && (d = d.concat(g), c.from = a.effects.setTransition(c, g, q.from.y, c.from), c.to = a.effects.setTransition(c, g, q.to.y, c.to)), a.effects.save(c, k ? d : e), c.show(), a.effects.createWrapper(c), c.css("overflow", "hidden").css(c.from);
            if (l == "content" || l == "both") h = h.concat(["marginTop", "marginBottom"]).concat(g), i = i.concat(["marginLeft", "marginRight"]), f = d.concat(h).concat(i), c.find("*[width]").each(function() {
                var c = a(this);
                k && a.effects.save(c, f);
                var d = {
                    height: c.height(),
                    width: c.width()
                };
                c.from = {
                    height: d.height * q.from.y,
                    width: d.width * q.from.x
                }, c.to = {
                    height: d.height * q.to.y,
                    width: d.width * q.to.x
                }, q.from.y != q.to.y && (c.from = a.effects.setTransition(c, h, q.from.y, c.from), c.to = a.effects.setTransition(c, h, q.to.y, c.to)), q.from.x != q.to.x && (c.from = a.effects.setTransition(c, i, q.from.x, c.from), c.to = a.effects.setTransition(c, i, q.to.x, c.to)), c.css(c.from), c.animate(c.to, b.duration, b.options.easing, function() {
                    k && a.effects.restore(c, f)
                })
            });
            c.animate(c.to, {
                queue: !1,
                duration: b.duration,
                easing: b.options.easing,
                complete: function() {
                    c.to.opacity === 0 && c.css("opacity", c.from.opacity), j == "hide" && c.hide(), a.effects.restore(c, k ? d : e), a.effects.removeWrapper(c), b.callback && b.callback.apply(this, arguments), c.dequeue()
                }
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.shake = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right"],
                e = a.effects.setMode(c, b.options.mode || "effect"),
                f = b.options.direction || "left",
                g = b.options.distance || 20,
                h = b.options.times || 3,
                i = b.duration || b.options.duration || 140;
            a.effects.save(c, d), c.show(), a.effects.createWrapper(c);
            var j = f == "up" || f == "down" ? "top" : "left",
                k = f == "up" || f == "left" ? "pos" : "neg",
                l = {},
                m = {},
                n = {};
            l[j] = (k == "pos" ? "-=" : "+=") + g, m[j] = (k == "pos" ? "+=" : "-=") + g * 2, n[j] = (k == "pos" ? "-=" : "+=") + g * 2, c.animate(l, i, b.options.easing);
            for (var p = 1; p < h; p++) c.animate(m, i, b.options.easing).animate(n, i, b.options.easing);
            c.animate(m, i, b.options.easing).animate(l, i / 2, b.options.easing, function() {
                a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(this, arguments)
            }), c.queue("fx", function() {
                c.dequeue()
            }), c.dequeue()
        })
    }
}(jQuery), function(a, b) {
    a.effects.slide = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = ["position", "top", "bottom", "left", "right"],
                e = a.effects.setMode(c, b.options.mode || "show"),
                f = b.options.direction || "left";
            a.effects.save(c, d), c.show(), a.effects.createWrapper(c).css({
                overflow: "hidden"
            });
            var g = f == "up" || f == "down" ? "top" : "left",
                h = f == "up" || f == "left" ? "pos" : "neg",
                i = b.options.distance || (g == "top" ? c.outerHeight({
                    margin: !0
                }) : c.outerWidth({
                    margin: !0
                }));
            e == "show" && c.css(g, h == "pos" ? isNaN(i) ? "-" + i : -i : i);
            var j = {};
            j[g] = (e == "show" ? h == "pos" ? "+=" : "-=" : h == "pos" ? "-=" : "+=") + i, c.animate(j, {
                queue: !1,
                duration: b.duration,
                easing: b.options.easing,
                complete: function() {
                    e == "hide" && c.hide(), a.effects.restore(c, d), a.effects.removeWrapper(c), b.callback && b.callback.apply(this, arguments), c.dequeue()
                }
            })
        })
    }
}(jQuery), function(a, b) {
    a.effects.transfer = function(b) {
        return this.queue(function() {
            var c = a(this),
                d = a(b.options.to),
                e = d.offset(),
                f = {
                    top: e.top,
                    left: e.left,
                    height: d.innerHeight(),
                    width: d.innerWidth()
                },
                g = c.offset(),
                h = a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({
                    top: g.top,
                    left: g.left,
                    height: c.innerHeight(),
                    width: c.innerWidth(),
                    position: "absolute"
                }).animate(f, b.duration, b.options.easing, function() {
                    h.remove(), b.callback && b.callback.apply(c[0], arguments), c.dequeue()
                })
        })
    }
}(jQuery), function(a, b) {
    a.widget("ui.accordion", {
        options: {
            active: 0,
            animated: "slide",
            autoHeight: !0,
            clearStyle: !1,
            collapsible: !1,
            event: "click",
            fillSpace: !1,
            header: "> li > :first-child,> :not(li):even",
            icons: {
                header: "ui-icon-triangle-1-e",
                headerSelected: "ui-icon-triangle-1-s"
            },
            navigation: !1,
            navigationFilter: function() {
                return this.href.toLowerCase() === location.href.toLowerCase()
            }
        },
        _create: function() {
            var b = this,
                c = b.options;
            b.running = 0, b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"), b.headers = b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function() {
                if (c.disabled) return;
                a(this).addClass("ui-state-hover")
            }).bind("mouseleave.accordion", function() {
                if (c.disabled) return;
                a(this).removeClass("ui-state-hover")
            }).bind("focus.accordion", function() {
                if (c.disabled) return;
                a(this).addClass("ui-state-focus")
            }).bind("blur.accordion", function() {
                if (c.disabled) return;
                a(this).removeClass("ui-state-focus")
            }), b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
            if (c.navigation) {
                var d = b.element.find("a").filter(c.navigationFilter).eq(0);
                if (d.length) {
                    var e = d.closest(".ui-accordion-header");
                    e.length ? b.active = e : b.active = d.closest(".ui-accordion-content").prev()
                }
            }
            b.active = b._findActive(b.active || c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"), b.active.next().addClass("ui-accordion-content-active"), b._createIcons(), b.resize(), b.element.attr("role", "tablist"), b.headers.attr("role", "tab").bind("keydown.accordion", function(a) {
                return b._keydown(a)
            }).next().attr("role", "tabpanel"), b.headers.not(b.active || "").attr({
                "aria-expanded": "false",
                "aria-selected": "false",
                tabIndex: -1
            }).next().hide(), b.active.length ? b.active.attr({
                "aria-expanded": "true",
                "aria-selected": "true",
                tabIndex: 0
            }) : b.headers.eq(0).attr("tabIndex", 0), a.browser.safari || b.headers.find("a").attr("tabIndex", -1), c.event && b.headers.bind(c.event.split(" ").join(".accordion ") + ".accordion", function(a) {
                b._clickHandler.call(b, a, this), a.preventDefault()
            })
        },
        _createIcons: function() {
            var b = this.options;
            b.icons && (a("<span></span>").addClass("ui-icon " + b.icons.header).prependTo(this.headers), this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected), this.element.addClass("ui-accordion-icons"))
        },
        _destroyIcons: function() {
            this.headers.children(".ui-icon").remove(), this.element.removeClass("ui-accordion-icons")
        },
        destroy: function() {
            var b = this.options;
            this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"), this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"), this.headers.find("a").removeAttr("tabIndex"), this._destroyIcons();
            var c = this.headers.next().css("display", "").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");
            return (b.autoHeight || b.fillHeight) && c.css("height", ""), a.Widget.prototype.destroy.call(this)
        },
        _setOption: function(b, c) {
            a.Widget.prototype._setOption.apply(this, arguments), b == "active" && this.activate(c), b == "icons" && (this._destroyIcons(), c && this._createIcons()), b == "disabled" && this.headers.add(this.headers.next())[c ? "addClass" : "removeClass"]("ui-accordion-disabled ui-state-disabled")
        },
        _keydown: function(b) {
            if (this.options.disabled || b.altKey || b.ctrlKey) return;
            var c = a.ui.keyCode,
                d = this.headers.length,
                e = this.headers.index(b.target),
                f = !1;
            switch (b.keyCode) {
            case c.RIGHT:
            case c.DOWN:
                f = this.headers[(e + 1) % d];
                break;
            case c.LEFT:
            case c.UP:
                f = this.headers[(e - 1 + d) % d];
                break;
            case c.SPACE:
            case c.ENTER:
                this._clickHandler({
                    target: b.target
                }, b.target), b.preventDefault()
            }
            return f ? (a(b.target).attr("tabIndex", -1), a(f).attr("tabIndex", 0), f.focus(), !1) : !0
        },
        resize: function() {
            var b = this.options,
                c;
            if (b.fillSpace) {
                if (a.browser.msie) {
                    var d = this.element.parent().css("overflow");
                    this.element.parent().css("overflow", "hidden")
                }
                c = this.element.parent().height(), a.browser.msie && this.element.parent().css("overflow", d), this.headers.each(function() {
                    c -= a(this).outerHeight(!0)
                }), this.headers.next().each(function() {
                    a(this).height(Math.max(0, c - a(this).innerHeight() + a(this).height()))
                }).css("overflow", "auto")
            } else b.autoHeight && (c = 0, this.headers.next().each(function() {
                c = Math.max(c, a(this).height("").height())
            }).height(c));
            return this
        },
        activate: function(a) {
            this.options.active = a;
            var b = this._findActive(a)[0];
            return this._clickHandler({
                target: b
            }, b), this
        },
        _findActive: function(b) {
            return b ? typeof b == "number" ? this.headers.filter(":eq(" + b + ")") : this.headers.not(this.headers.not(b)) : b === !1 ? a([]) : this.headers.filter(":eq(0)")
        },
        _clickHandler: function(b, c) {
            var d = this.options;
            if (d.disabled) return;
            if (!b.target) {
                if (!d.collapsible) return;
                this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header), this.active.next().addClass("ui-accordion-content-active");
                var e = this.active.next(),
                    f = {
                        options: d,
                        newHeader: a([]),
                        oldHeader: d.active,
                        newContent: a([]),
                        oldContent: e
                    },
                    g = this.active = a([]);
                this._toggle(g, e, f);
                return
            }
            var h = a(b.currentTarget || c),
                i = h[0] === this.active[0];
            d.active = d.collapsible && i ? !1 : this.headers.index(h);
            if (this.running || !d.collapsible && i) return;
            var j = this.active,
                g = h.next(),
                e = this.active.next(),
                f = {
                    options: d,
                    newHeader: i && d.collapsible ? a([]) : h,
                    oldHeader: this.active,
                    newContent: i && d.collapsible ? a([]) : g,
                    oldContent: e
                },
                k = this.headers.index(this.active[0]) > this.headers.index(h[0]);
            this.active = i ? a([]) : h, this._toggle(g, e, f, i, k), j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header), i || (h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected), h.next().addClass("ui-accordion-content-active"));
            return
        },
        _toggle: function(b, c, d, e, f) {
            var g = this,
                h = g.options;
            g.toShow = b, g.toHide = c, g.data = d;
            var i = function() {
                    if (!g) return;
                    return g._completed.apply(g, arguments)
                };
            g._trigger("changestart", null, g.data), g.running = c.size() === 0 ? b.size() : c.size();
            if (h.animated) {
                var j = {};
                h.collapsible && e ? j = {
                    toShow: a([]),
                    toHide: c,
                    complete: i,
                    down: f,
                    autoHeight: h.autoHeight || h.fillSpace
                } : j = {
                    toShow: b,
                    toHide: c,
                    complete: i,
                    down: f,
                    autoHeight: h.autoHeight || h.fillSpace
                }, h.proxied || (h.proxied = h.animated), h.proxiedDuration || (h.proxiedDuration = h.duration), h.animated = a.isFunction(h.proxied) ? h.proxied(j) : h.proxied, h.duration = a.isFunction(h.proxiedDuration) ? h.proxiedDuration(j) : h.proxiedDuration;
                var k = a.ui.accordion.animations,
                    l = h.duration,
                    m = h.animated;
                m && !k[m] && !a.easing[m] && (m = "slide"), k[m] || (k[m] = function(a) {
                    this.slide(a, {
                        easing: m,
                        duration: l || 700
                    })
                }), k[m](j)
            } else h.collapsible && e ? b.toggle() : (c.hide(), b.show()), i(!0);
            c.prev().attr({
                "aria-expanded": "false",
                "aria-selected": "false",
                tabIndex: -1
            }).blur(), b.prev().attr({
                "aria-expanded": "true",
                "aria-selected": "true",
                tabIndex: 0
            }).focus()
        },
        _completed: function(a) {
            this.running = a ? 0 : --this.running;
            if (this.running) return;
            this.options.clearStyle && this.toShow.add(this.toHide).css({
                height: "",
                overflow: ""
            }), this.toHide.removeClass("ui-accordion-content-active"), this.toHide.length && (this.toHide.parent()[0].className = this.toHide.parent()[0].className), this._trigger("change", null, this.data)
        }
    }), a.extend(a.ui.accordion, {
        version: "1.8.21",
        animations: {
            slide: function(b, c) {
                b = a.extend({
                    easing: "swing",
                    duration: 300
                }, b, c);
                if (!b.toHide.size()) {
                    b.toShow.animate({
                        height: "show",
                        paddingTop: "show",
                        paddingBottom: "show"
                    }, b);
                    return
                }
                if (!b.toShow.size()) {
                    b.toHide.animate({
                        height: "hide",
                        paddingTop: "hide",
                        paddingBottom: "hide"
                    }, b);
                    return
                }
                var d = b.toShow.css("overflow"),
                    e = 0,
                    f = {},
                    g = {},
                    h = ["height", "paddingTop", "paddingBottom"],
                    i, j = b.toShow;
                i = j[0].style.width, j.width(j.parent().width() - parseFloat(j.css("paddingLeft")) - parseFloat(j.css("paddingRight")) - (parseFloat(j.css("borderLeftWidth")) || 0) - (parseFloat(j.css("borderRightWidth")) || 0)), a.each(h, function(c, d) {
                    g[d] = "hide";
                    var e = ("" + a.css(b.toShow[0], d)).match(/^([\d+-.]+)(.*)$/);
                    f[d] = {
                        value: e[1],
                        unit: e[2] || "px"
                    }
                }), b.toShow.css({
                    height: 0,
                    overflow: "hidden"
                }).show(), b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g, {
                    step: function(a, c) {
                        c.prop == "height" && (e = c.end - c.start === 0 ? 0 : (c.now - c.start) / (c.end - c.start)), b.toShow[0].style[c.prop] = e * f[c.prop].value + f[c.prop].unit
                    },
                    duration: b.duration,
                    easing: b.easing,
                    complete: function() {
                        b.autoHeight || b.toShow.css("height", ""), b.toShow.css({
                            width: i,
                            overflow: d
                        }), b.complete()
                    }
                })
            },
            bounceslide: function(a) {
                this.slide(a, {
                    easing: a.down ? "easeOutBounce" : "swing",
                    duration: a.down ? 1e3 : 200
                })
            }
        }
    })
}(jQuery), function(a, b) {
    var c = 0;
    a.widget("ui.autocomplete", {
        options: {
            appendTo: "body",
            autoFocus: !1,
            delay: 300,
            minLength: 1,
            position: {
                my: "left top",
                at: "left bottom",
                collision: "none"
            },
            source: null
        },
        pending: 0,
        _create: function() {
            var b = this,
                c = this.element[0].ownerDocument,
                d;
            this.isMultiLine = this.element.is("textarea"), this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off").attr({
                role: "textbox",
                "aria-autocomplete": "list",
                "aria-haspopup": "true"
            }).bind("keydown.autocomplete", function(c) {
                if (b.options.disabled || b.element.propAttr("readOnly")) return;
                d = !1;
                var e = a.ui.keyCode;
                switch (c.keyCode) {
                case e.PAGE_UP:
                    b._move("previousPage", c);
                    break;
                case e.PAGE_DOWN:
                    b._move("nextPage", c);
                    break;
                case e.UP:
                    b._keyEvent("previous", c);
                    break;
                case e.DOWN:
                    b._keyEvent("next", c);
                    break;
                case e.ENTER:
                case e.NUMPAD_ENTER:
                    b.menu.active && (d = !0, c.preventDefault());
                case e.TAB:
                    if (!b.menu.active) return;
                    b.menu.select(c);
                    break;
                case e.ESCAPE:
                    b.element.val(b.term), b.close(c);
                    break;
                default:
                    clearTimeout(b.searching), b.searching = setTimeout(function() {
                        b.term != b.element.val() && (b.selectedItem = null, b.search(null, c))
                    }, b.options.delay)
                }
            }).bind("keypress.autocomplete", function(a) {
                d && (d = !1, a.preventDefault())
            }).bind("focus.autocomplete", function() {
                if (b.options.disabled) return;
                b.selectedItem = null, b.previous = b.element.val()
            }).bind("blur.autocomplete", function(a) {
                if (b.options.disabled) return;
                clearTimeout(b.searching), b.closing = setTimeout(function() {
                    b.close(a), b._change(a)
                }, 150)
            }), this._initSource(), this.menu = a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo || "body", c)[0]).mousedown(function(c) {
                var d = b.menu.element[0];
                a(c.target).closest(".ui-menu-item").length || setTimeout(function() {
                    a(document).one("mousedown", function(c) {
                        c.target !== b.element[0] && c.target !== d && !a.ui.contains(d, c.target) && b.close()
                    })
                }, 1), setTimeout(function() {
                    clearTimeout(b.closing)
                }, 13)
            }).menu({
                focus: function(a, c) {
                    var d = c.item.data("item.autocomplete");
                    !1 !== b._trigger("focus", a, {
                        item: d
                    }) && /^key/.test(a.originalEvent.type) && b.element.val(d.value)
                },
                selected: function(a, d) {
                    var e = d.item.data("item.autocomplete"),
                        f = b.previous;
                    b.element[0] !== c.activeElement && (b.element.focus(), b.previous = f, setTimeout(function() {
                        b.previous = f, b.selectedItem = e
                    }, 1)), !1 !== b._trigger("select", a, {
                        item: e
                    }) && b.element.val(e.value), b.term = b.element.val(), b.close(a), b.selectedItem = e
                },
                blur: function(a, c) {
                    b.menu.element.is(":visible") && b.element.val() !== b.term && b.element.val(b.term)
                }
            }).zIndex(this.element.zIndex() + 1).css({
                top: 0,
                left: 0
            }).hide().data("menu"), a.fn.bgiframe && this.menu.element.bgiframe(), b.beforeunloadHandler = function() {
                b.element.removeAttr("autocomplete")
            }, a(window).bind("beforeunload", b.beforeunloadHandler)
        },
        destroy: function() {
            this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"), this.menu.element.remove(), a(window).unbind("beforeunload", this.beforeunloadHandler), a.Widget.prototype.destroy.call(this)
        },
        _setOption: function(b, c) {
            a.Widget.prototype._setOption.apply(this, arguments), b === "source" && this._initSource(), b === "appendTo" && this.menu.element.appendTo(a(c || "body", this.element[0].ownerDocument)[0]), b === "disabled" && c && this.xhr && this.xhr.abort()
        },
        _initSource: function() {
            var b = this,
                c, d;
            a.isArray(this.options.source) ? (c = this.options.source, this.source = function(b, d) {
                d(a.ui.autocomplete.filter(c, b.term))
            }) : typeof this.options.source == "string" ? (d = this.options.source, this.source = function(c, e) {
                b.xhr && b.xhr.abort(), b.xhr = a.ajax({
                    url: d,
                    data: c,
                    dataType: "json",
                    success: function(a, b) {
                        e(a)
                    },
                    error: function() {
                        e([])
                    }
                })
            }) : this.source = this.options.source
        },
        search: function(a, b) {
            a = a != null ? a : this.element.val(), this.term = this.element.val();
            if (a.length < this.options.minLength) return this.close(b);
            clearTimeout(this.closing);
            if (this._trigger("search", b) === !1) return;
            return this._search(a)
        },
        _search: function(a) {
            this.pending++, this.element.addClass("ui-autocomplete-loading"), this.source({
                term: a
            }, this._response())
        },
        _response: function() {
            var a = this,
                b = ++c;
            return function(d) {
                b === c && a.__response(d), a.pending--, a.pending || a.element.removeClass("ui-autocomplete-loading")
            }
        },
        __response: function(a) {
            !this.options.disabled && a && a.length ? (a = this._normalize(a), this._suggest(a), this._trigger("open")) : this.close()
        },
        close: function(a) {
            clearTimeout(this.closing), this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.deactivate(), this._trigger("close", a))
        },
        _change: function(a) {
            this.previous !== this.element.val() && this._trigger("change", a, {
                item: this.selectedItem
            })
        },
        _normalize: function(b) {
            return b.length && b[0].label && b[0].value ? b : a.map(b, function(b) {
                return typeof b == "string" ? {
                    label: b,
                    value: b
                } : a.extend({
                    label: b.label || b.value,
                    value: b.value || b.label
                }, b)
            })
        },
        _suggest: function(b) {
            var c = this.menu.element.empty().zIndex(this.element.zIndex() + 1);
            this._renderMenu(c, b), this.menu.deactivate(), this.menu.refresh(), c.show(), this._resizeMenu(), c.position(a.extend({
                of: this.element
            }, this.options.position)), this.options.autoFocus && this.menu.next(new a.Event("mouseover"))
        },
        _resizeMenu: function() {
            var a = this.menu.element;
            a.outerWidth(Math.max(a.width("").outerWidth() + 1, this.element.outerWidth()))
        },
        _renderMenu: function(b, c) {
            var d = this;
            a.each(c, function(a, c) {
                d._renderItem(b, c)
            })
        },
        _renderItem: function(b, c) {
            return a("<li></li>").data("item.autocomplete", c).append(a("<a></a>").text(c.label)).appendTo(b)
        },
        _move: function(a, b) {
            if (!this.menu.element.is(":visible")) {
                this.search(null, b);
                return
            }
            if (this.menu.first() && /^previous/.test(a) || this.menu.last() && /^next/.test(a)) {
                this.element.val(this.term), this.menu.deactivate();
                return
            }
            this.menu[a](b)
        },
        widget: function() {
            return this.menu.element
        },
        _keyEvent: function(a, b) {
            if (!this.isMultiLine || this.menu.element.is(":visible")) this._move(a, b), b.preventDefault()
        }
    }), a.extend(a.ui.autocomplete, {
        escapeRegex: function(a) {
            return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
        },
        filter: function(b, c) {
            var d = new RegExp(a.ui.autocomplete.escapeRegex(c), "i");
            return a.grep(b, function(a) {
                return d.test(a.label || a.value || a)
            })
        }
    })
}(jQuery), function(a) {
    a.widget("ui.menu", {
        _create: function() {
            var b = this;
            this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({
                role: "listbox",
                "aria-activedescendant": "ui-active-menuitem"
            }).click(function(c) {
                if (!a(c.target).closest(".ui-menu-item a").length) return;
                c.preventDefault(), b.select(c)
            }), this.refresh()
        },
        refresh: function() {
            var b = this,
                c = this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "menuitem");
            c.children("a").addClass("ui-corner-all").attr("tabindex", -1).mouseenter(function(c) {
                b.activate(c, a(this).parent())
            }).mouseleave(function() {
                b.deactivate()
            })
        },
        activate: function(a, b) {
            this.deactivate();
            if (this.hasScroll()) {
                var c = b.offset().top - this.element.offset().top,
                    d = this.element.scrollTop(),
                    e = this.element.height();
                c < 0 ? this.element.scrollTop(d + c) : c >= e && this.element.scrollTop(d + c - e + b.height())
            }
            this.active = b.eq(0).children("a").addClass("ui-state-hover").attr("id", "ui-active-menuitem").end(), this._trigger("focus", a, {
                item: b
            })
        },
        deactivate: function() {
            if (!this.active) return;
            this.active.children("a").removeClass("ui-state-hover").removeAttr("id"), this._trigger("blur"), this.active = null
        },
        next: function(a) {
            this.move("next", ".ui-menu-item:first", a)
        },
        previous: function(a) {
            this.move("prev", ".ui-menu-item:last", a)
        },
        first: function() {
            return this.active && !this.active.prevAll(".ui-menu-item").length
        },
        last: function() {
            return this.active && !this.active.nextAll(".ui-menu-item").length
        },
        move: function(a, b, c) {
            if (!this.active) {
                this.activate(c, this.element.children(b));
                return
            }
            var d = this.active[a + "All"](".ui-menu-item").eq(0);
            d.length ? this.activate(c, d) : this.activate(c, this.element.children(b))
        },
        nextPage: function(b) {
            if (this.hasScroll()) {
                if (!this.active || this.last()) {
                    this.activate(b, this.element.children(".ui-menu-item:first"));
                    return
                }
                var c = this.active.offset().top,
                    d = this.element.height(),
                    e = this.element.children(".ui-menu-item").filter(function() {
                        var b = a(this).offset().top - c - d + a(this).height();
                        return b < 10 && b > -10
                    });
                e.length || (e = this.element.children(".ui-menu-item:last")), this.activate(b, e)
            } else this.activate(b, this.element.children(".ui-menu-item").filter(!this.active || this.last() ? ":first" : ":last"))
        },
        previousPage: function(b) {
            if (this.hasScroll()) {
                if (!this.active || this.first()) {
                    this.activate(b, this.element.children(".ui-menu-item:last"));
                    return
                }
                var c = this.active.offset().top,
                    d = this.element.height(),
                    e = this.element.children(".ui-menu-item").filter(function() {
                        var b = a(this).offset().top - c + d - a(this).height();
                        return b < 10 && b > -10
                    });
                e.length || (e = this.element.children(".ui-menu-item:first")), this.activate(b, e)
            } else this.activate(b, this.element.children(".ui-menu-item").filter(!this.active || this.first() ? ":last" : ":first"))
        },
        hasScroll: function() {
            return this.element.height() < this.element[a.fn.prop ? "prop" : "attr"]("scrollHeight")
        },
        select: function(a) {
            this._trigger("selected", a, {
                item: this.active
            })
        }
    })
}(jQuery), function(a, b) {
    var c, d, e, f, g = "ui-button ui-widget ui-state-default ui-corner-all",
        h = "ui-state-hover ui-state-active ",
        i = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
        j = function() {
            var b = a(this).find(":ui-button");
            setTimeout(function() {
                b.button("refresh")
            }, 1)
        },
        k = function(b) {
            var c = b.name,
                d = b.form,
                e = a([]);
            return c && (d ? e = a(d).find("[name='" + c + "']") : e = a("[name='" + c + "']", b.ownerDocument).filter(function() {
                return !this.form
            })), e
        };
    a.widget("ui.button", {
        options: {
            disabled: null,
            text: !0,
            label: null,
            icons: {
                primary: null,
                secondary: null
            }
        },
        _create: function() {
            this.element.closest("form").unbind("reset.button").bind("reset.button", j), typeof this.options.disabled != "boolean" ? this.options.disabled = !! this.element.propAttr("disabled") : this.element.propAttr("disabled", this.options.disabled), this._determineButtonType(), this.hasTitle = !! this.buttonElement.attr("title");
            var b = this,
                h = this.options,
                i = this.type === "checkbox" || this.type === "radio",
                l = "ui-state-hover" + (i ? "" : " ui-state-active"),
                m = "ui-state-focus";
            h.label === null && (h.label = this.buttonElement.html()), this.buttonElement.addClass(g).attr("role", "button").bind("mouseenter.button", function() {
                if (h.disabled) return;
                a(this).addClass("ui-state-hover"), this === c && a(this).addClass("ui-state-active")
            }).bind("mouseleave.button", function() {
                if (h.disabled) return;
                a(this).removeClass(l)
            }).bind("click.button", function(a) {
                h.disabled && (a.preventDefault(), a.stopImmediatePropagation())
            }), this.element.bind("focus.button", function() {
                b.buttonElement.addClass(m)
            }).bind("blur.button", function() {
                b.buttonElement.removeClass(m)
            }), i && (this.element.bind("change.button", function() {
                if (f) return;
                b.refresh()
            }), this.buttonElement.bind("mousedown.button", function(a) {
                if (h.disabled) return;
                f = !1, d = a.pageX, e = a.pageY
            }).bind("mouseup.button", function(a) {
                if (h.disabled) return;
                if (d !== a.pageX || e !== a.pageY) f = !0
            })), this.type === "checkbox" ? this.buttonElement.bind("click.button", function() {
                if (h.disabled || f) return !1;
                a(this).toggleClass("ui-state-active"), b.buttonElement.attr("aria-pressed", b.element[0].checked)
            }) : this.type === "radio" ? this.buttonElement.bind("click.button", function() {
                if (h.disabled || f) return !1;
                a(this).addClass("ui-state-active"), b.buttonElement.attr("aria-pressed", "true");
                var c = b.element[0];
                k(c).not(c).map(function() {
                    return a(this).button("widget")[0]
                }).removeClass("ui-state-active").attr("aria-pressed", "false")
            }) : (this.buttonElement.bind("mousedown.button", function() {
                if (h.disabled) return !1;
                a(this).addClass("ui-state-active"), c = this, a(document).one("mouseup", function() {
                    c = null
                })
            }).bind("mouseup.button", function() {
                if (h.disabled) return !1;
                a(this).removeClass("ui-state-active")
            }).bind("keydown.button", function(b) {
                if (h.disabled) return !1;
                (b.keyCode == a.ui.keyCode.SPACE || b.keyCode == a.ui.keyCode.ENTER) && a(this).addClass("ui-state-active")
            }).bind("keyup.button", function() {
                a(this).removeClass("ui-state-active")
            }), this.buttonElement.is("a") && this.buttonElement.keyup(function(b) {
                b.keyCode === a.ui.keyCode.SPACE && a(this).click()
            })), this._setOption("disabled", h.disabled), this._resetButton()
        },
        _determineButtonType: function() {
            this.element.is(":checkbox") ? this.type = "checkbox" : this.element.is(":radio") ? this.type = "radio" : this.element.is("input") ? this.type = "input" : this.type = "button";
            if (this.type === "checkbox" || this.type === "radio") {
                var a = this.element.parents().filter(":last"),
                    b = "label[for='" + this.element.attr("id") + "']";
                this.buttonElement = a.find(b), this.buttonElement.length || (a = a.length ? a.siblings() : this.element.siblings(), this.buttonElement = a.filter(b), this.buttonElement.length || (this.buttonElement = a.find(b))), this.element.addClass("ui-helper-hidden-accessible");
                var c = this.element.is(":checked");
                c && this.buttonElement.addClass("ui-state-active"), this.buttonElement.attr("aria-pressed", c)
            } else this.buttonElement = this.element
        },
        widget: function() {
            return this.buttonElement
        },
        destroy: function() {
            this.element.removeClass("ui-helper-hidden-accessible"), this.buttonElement.removeClass(g + " " + h + " " + i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()), this.hasTitle || this.buttonElement.removeAttr("title"), a.Widget.prototype.destroy.call(this)
        },
        _setOption: function(b, c) {
            a.Widget.prototype._setOption.apply(this, arguments);
            if (b === "disabled") {
                c ? this.element.propAttr("disabled", !0) : this.element.propAttr("disabled", !1);
                return
            }
            this._resetButton()
        },
        refresh: function() {
            var b = this.element.is(":disabled");
            b !== this.options.disabled && this._setOption("disabled", b), this.type === "radio" ? k(this.element[0]).each(function() {
                a(this).is(":checked") ? a(this).button("widget").addClass("ui-state-active").attr("aria-pressed", "true") : a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", "false")
            }) : this.type === "checkbox" && (this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", "true") : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", "false"))
        },
        _resetButton: function() {
            if (this.type === "input") {
                this.options.label && this.element.val(this.options.label);
                return
            }
            var b = this.buttonElement.removeClass(i),
                c = a("<span></span>", this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),
                d = this.options.icons,
                e = d.primary && d.secondary,
                f = [];
            d.primary || d.secondary ? (this.options.text && f.push("ui-button-text-icon" + (e ? "s" : d.primary ? "-primary" : "-secondary")), d.primary && b.prepend("<span class='ui-button-icon-primary ui-icon " + d.primary + "'></span>"), d.secondary && b.append("<span class='ui-button-icon-secondary ui-icon " + d.secondary + "'></span>"), this.options.text || (f.push(e ? "ui-button-icons-only" : "ui-button-icon-only"), this.hasTitle || b.attr("title", c))) : f.push("ui-button-text-only"), b.addClass(f.join(" "))
        }
    }), a.widget("ui.buttonset", {
        options: {
            items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)"
        },
        _create: function() {
            this.element.addClass("ui-buttonset")
        },
        _init: function() {
            this.refresh()
        },
        _setOption: function(b, c) {
            b === "disabled" && this.buttons.button("option", b, c), a.Widget.prototype._setOption.apply(this, arguments)
        },
        refresh: function() {
            var b = this.element.css("direction") === "rtl";
            this.buttons = this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function() {
                return a(this).button("widget")[0]
            }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b ? "ui-corner-right" : "ui-corner-left").end().filter(":last").addClass(b ? "ui-corner-left" : "ui-corner-right").end().end()
        },
        destroy: function() {
            this.element.removeClass("ui-buttonset"), this.buttons.map(function() {
                return a(this).button("widget")[0]
            }).removeClass("ui-corner-left ui-corner-right").end().button("destroy"), a.Widget.prototype.destroy.call(this)
        }
    })
}(jQuery), function($, undefined) {
    function Datepicker() {
        this.debug = !1, 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
        }, $.extend(this._defaults, this.regional[""]), this.dpDiv = bindHover($('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
    }
    function bindHover(a) {
        var b = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
        return a.bind("mouseout", function(a) {
            var c = $(a.target).closest(b);
            if (!c.length) return;
            c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")
        }).bind("mouseover", function(c) {
            var d = $(c.target).closest(b);
            if ($.datepicker._isDisabledDatepicker(instActive.inline ? a.parent()[0] : instActive.input[0]) || !d.length) return;
            d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"), d.addClass("ui-state-hover"), d.hasClass("ui-datepicker-prev") && d.addClass("ui-datepicker-prev-hover"), d.hasClass("ui-datepicker-next") && d.addClass("ui-datepicker-next-hover")
        })
    }
    function extendRemove(a, b) {
        $.extend(a, b);
        for (var c in b) if (b[c] == null || b[c] == undefined) a[c] = b[c];
        return a
    }
    function isArray(a) {
        return a && ($.browser.safari && typeof a == "object" && a.length || a.constructor && a.constructor.toString().match(/\Array\(\)/))
    }
    $.extend($.ui, {
        datepicker: {
            version: "1.8.21"
        }
    });
    var PROP_NAME = "datepicker",
        dpuuid = (new Date).getTime(),
        instActive;
    $.extend(Datepicker.prototype, {
        markerClassName: "hasDatepicker",
        maxRows: 4,
        log: function() {
            this.debug && console.log.apply("", arguments)
        },
        _widgetDatepicker: function() {
            return this.dpDiv
        },
        setDefaults: function(a) {
            return extendRemove(this._defaults, a || {}), this
        },
        _attachDatepicker: function(target, settings) {
            var inlineSettings = null;
            for (var attrName in this._defaults) {
                var attrValue = target.getAttribute("date:" + attrName);
                if (attrValue) {
                    inlineSettings = inlineSettings || {};
                    try {
                        inlineSettings[attrName] = eval(attrValue)
                    } catch (err) {
                        inlineSettings[attrName] = attrValue
                    }
                }
            }
            var nodeName = target.nodeName.toLowerCase(),
                inline = nodeName == "div" || nodeName == "span";
            target.id || (this.uuid += 1, target.id = "dp" + this.uuid);
            var inst = this._newInst($(target), inline);
            inst.settings = $.extend({}, settings || {}, inlineSettings || {}), nodeName == "input" ? this._connectDatepicker(target, inst) : inline && this._inlineDatepicker(target, inst)
        },
        _newInst: function(a, b) {
            var c = a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1");
            return {
                id: c,
                input: a,
                selectedDay: 0,
                selectedMonth: 0,
                selectedYear: 0,
                drawMonth: 0,
                drawYear: 0,
                inline: b,
                dpDiv: b ? bindHover($('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')) : this.dpDiv
            }
        },
        _connectDatepicker: function(a, b) {
            var c = $(a);
            b.append = $([]), b.trigger = $([]);
            if (c.hasClass(this.markerClassName)) return;
            this._attachments(c, b), c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function(a, c, d) {
                b.settings[c] = d
            }).bind("getData.datepicker", function(a, c) {
                return this._get(b, c)
            }), this._autoSize(b), $.data(a, PROP_NAME, b), b.settings.disabled && this._disableDatepicker(a)
        },
        _attachments: function(a, b) {
            var c = this._get(b, "appendText"),
                d = this._get(b, "isRTL");
            b.append && b.append.remove(), c && (b.append = $('<span class="' + this._appendClass + '">' + c + "</span>"), a[d ? "before" : "after"](b.append)), a.unbind("focus", this._showDatepicker), b.trigger && b.trigger.remove();
            var e = this._get(b, "showOn");
            (e == "focus" || e == "both") && a.focus(this._showDatepicker);
            if (e == "button" || e == "both") {
                var f = this._get(b, "buttonText"),
                    g = this._get(b, "buttonImage");
                b.trigger = $(this._get(b, "buttonImageOnly") ? $("<img/>").addClass(this._triggerClass).attr({
                    src: g,
                    alt: f,
                    title: f
                }) : $('<button type="button"></button>').addClass(this._triggerClass).html(g == "" ? f : $("<img/>").attr({
                    src: g,
                    alt: f,
                    title: f
                }))), a[d ? "before" : "after"](b.trigger), b.trigger.click(function() {
                    return $.datepicker._datepickerShowing && $.datepicker._lastInput == a[0] ? $.datepicker._hideDatepicker() : $.datepicker._datepickerShowing && $.datepicker._lastInput != a[0] ? ($.datepicker._hideDatepicker(), $.datepicker._showDatepicker(a[0])) : $.datepicker._showDatepicker(a[0]), !1
                })
            }
        },
        _autoSize: function(a) {
            if (this._get(a, "autoSize") && !a.inline) {
                var b = new Date(2009, 11, 20),
                    c = this._get(a, "dateFormat");
                if (c.match(/[DM]/)) {
                    var d = function(a) {
                            var b = 0,
                                c = 0;
                            for (var d = 0; d < a.length; d++) a[d].length > b && (b = a[d].length, c = d);
                            return c
                        };
                    b.setMonth(d(this._get(a, c.match(/MM/) ? "monthNames" : "monthNamesShort"))), b.setDate(d(this._get(a, c.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - b.getDay())
                }
                a.input.attr("size", this._formatDate(a, b).length)
            }
        },
        _inlineDatepicker: function(a, b) {
            var c = $(a);
            if (c.hasClass(this.markerClassName)) return;
            c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", function(a, c, d) {
                b.settings[c] = d
            }).bind("getData.datepicker", function(a, c) {
                return this._get(b, c)
            }), $.data(a, PROP_NAME, b), this._setDate(b, this._getDefaultDate(b), !0), this._updateDatepicker(b), this._updateAlternate(b), b.settings.disabled && this._disableDatepicker(a), b.dpDiv.css("display", "block")
        },
        _dialogDatepicker: function(a, b, c, d, e) {
            var f = this._dialogInst;
            if (!f) {
                this.uuid += 1;
                var g = "dp" + this.uuid;
                this._dialogInput = $('<input type="text" id="' + g + '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'), this._dialogInput.keydown(this._doKeyDown), $("body").append(this._dialogInput), f = this._dialogInst = this._newInst(this._dialogInput, !1), f.settings = {}, $.data(this._dialogInput[0], PROP_NAME, f)
            }
            extendRemove(f.settings, d || {}), b = b && b.constructor == Date ? this._formatDate(f, b) : b, this._dialogInput.val(b), this._pos = e ? e.length ? e : [e.pageX, e.pageY] : null;
            if (!this._pos) {
                var h = document.documentElement.clientWidth,
                    i = document.documentElement.clientHeight,
                    j = document.documentElement.scrollLeft || document.body.scrollLeft,
                    k = document.documentElement.scrollTop || document.body.scrollTop;
                this._pos = [h / 2 - 100 + j, i / 2 - 150 + k]
            }
            return this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), f.settings.onSelect = c, this._inDialog = !0, this.dpDiv.addClass(this._dialogClass), this._showDatepicker(this._dialogInput[0]), $.blockUI && $.blockUI(this.dpDiv), $.data(this._dialogInput[0], PROP_NAME, f), this
        },
        _destroyDatepicker: function(a) {
            var b = $(a),
                c = $.data(a, PROP_NAME);
            if (!b.hasClass(this.markerClassName)) return;
            var d = a.nodeName.toLowerCase();
            $.removeData(a, PROP_NAME), d == "input" ? (c.append.remove(), c.trigger.remove(), b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)) : (d == "div" || d == "span") && b.removeClass(this.markerClassName).empty()
        },
        _enableDatepicker: function(a) {
            var b = $(a),
                c = $.data(a, PROP_NAME);
            if (!b.hasClass(this.markerClassName)) return;
            var d = a.nodeName.toLowerCase();
            if (d == "input") a.disabled = !1, c.trigger.filter("button").each(function() {
                this.disabled = !1
            }).end().filter("img").css({
                opacity: "1.0",
                cursor: ""
            });
            else if (d == "div" || d == "span") {
                var e = b.children("." + this._inlineClass);
                e.children().removeClass("ui-state-disabled"), e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")
            }
            this._disabledInputs = $.map(this._disabledInputs, function(b) {
                return b == a ? null : b
            })
        },
        _disableDatepicker: function(a) {
            var b = $(a),
                c = $.data(a, PROP_NAME);
            if (!b.hasClass(this.markerClassName)) return;
            var d = a.nodeName.toLowerCase();
            if (d == "input") a.disabled = !0, c.trigger.filter("button").each(function() {
                this.disabled = !0
            }).end().filter("img").css({
                opacity: "0.5",
                cursor: "default"
            });
            else if (d == "div" || d == "span") {
                var e = b.children("." + this._inlineClass);
                e.children().addClass("ui-state-disabled"), e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled", "disabled")
            }
            this._disabledInputs = $.map(this._disabledInputs, function(b) {
                return b == a ? null : b
            }), this._disabledInputs[this._disabledInputs.length] = a
        },
        _isDisabledDatepicker: function(a) {
            if (!a) return !1;
            for (var b = 0; b < this._disabledInputs.length; b++) if (this._disabledInputs[b] == a) return !0;
            return !1
        },
        _getInst: function(a) {
            try {
                return $.data(a, PROP_NAME)
            } catch (b) {
                throw "Missing instance data for this datepicker"
            }
        },
        _optionDatepicker: function(a, b, c) {
            var d = this._getInst(a);
            if (arguments.length == 2 && typeof b == "string") return b == "defaults" ? $.extend({}, $.datepicker._defaults) : d ? b == "all" ? $.extend({}, d.settings) : this._get(d, b) : null;
            var e = b || {};
            typeof b == "string" && (e = {}, e[b] = c);
            if (d) {
                this._curInst == d && this._hideDatepicker();
                var f = this._getDateDatepicker(a, !0),
                    g = this._getMinMaxDate(d, "min"),
                    h = this._getMinMaxDate(d, "max");
                extendRemove(d.settings, e), g !== null && e.dateFormat !== undefined && e.minDate === undefined && (d.settings.minDate = this._formatDate(d, g)), h !== null && e.dateFormat !== undefined && e.maxDate === undefined && (d.settings.maxDate = this._formatDate(d, h)), this._attachments($(a), d), this._autoSize(d), this._setDate(d, f), this._updateAlternate(d), this._updateDatepicker(d)
            }
        },
        _changeDatepicker: function(a, b, c) {
            this._optionDatepicker(a, b, c)
        },
        _refreshDatepicker: function(a) {
            var b = this._getInst(a);
            b && this._updateDatepicker(b)
        },
        _setDateDatepicker: function(a, b) {
            var c = this._getInst(a);
            c && (this._setDate(c, b), this._updateDatepicker(c), this._updateAlternate(c))
        },
        _getDateDatepicker: function(a, b) {
            var c = this._getInst(a);
            return c && !c.inline && this._setDateFromField(c, b), c ? this._getDate(c) : null
        },
        _doKeyDown: function(a) {
            var b = $.datepicker._getInst(a.target),
                c = !0,
                d = b.dpDiv.is(".ui-datepicker-rtl");
            b._keyEvent = !0;
            if ($.datepicker._datepickerShowing) switch (a.keyCode) {
            case 9:
                $.datepicker._hideDatepicker(), c = !1;
                break;
            case 13:
                var e = $("td." + $.datepicker._dayOverClass + ":not(." + $.datepicker._currentClass + ")", b.dpDiv);
                e[0] && $.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, e[0]);
                var f = $.datepicker._get(b, "onSelect");
                if (f) {
                    var g = $.datepicker._formatDate(b);
                    f.apply(b.input ? b.input[0] : null, [g, b])
                } else $.datepicker._hideDatepicker();
                return !1;
            case 27:
                $.datepicker._hideDatepicker();
                break;
            case 33:
                $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M");
                break;
            case 34:
                $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M");
                break;
            case 35:
                (a.ctrlKey || a.metaKey) && $.datepicker._clearDate(a.target), c = a.ctrlKey || a.metaKey;
                break;
            case 36:
                (a.ctrlKey || a.metaKey) && $.datepicker._gotoToday(a.target), c = a.ctrlKey || a.metaKey;
                break;
            case 37:
                (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? 1 : -1, "D"), c = a.ctrlKey || a.metaKey, a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M");
                break;
            case 38:
                (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, -7, "D"), c = a.ctrlKey || a.metaKey;
                break;
            case 39:
                (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? -1 : 1, "D"), c = a.ctrlKey || a.metaKey, a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M");
                break;
            case 40:
                (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, 7, "D"), c = a.ctrlKey || a.metaKey;
                break;
            default:
                c = !1
            } else a.keyCode == 36 && a.ctrlKey ? $.datepicker._showDatepicker(this) : c = !1;
            c && (a.preventDefault(), a.stopPropagation())
        },
        _doKeyPress: function(a) {
            var b = $.datepicker._getInst(a.target);
            if ($.datepicker._get(b, "constrainInput")) {
                var c = $.datepicker._possibleChars($.datepicker._get(b, "dateFormat")),
                    d = String.fromCharCode(a.charCode == undefined ? a.keyCode : a.charCode);
                return a.ctrlKey || a.metaKey || d < " " || !c || c.indexOf(d) > -1
            }
        },
        _doKeyUp: function(a) {
            var b = $.datepicker._getInst(a.target);
            if (b.input.val() != b.lastVal) try {
                var c = $.datepicker.parseDate($.datepicker._get(b, "dateFormat"), b.input ? b.input.val() : null, $.datepicker._getFormatConfig(b));
                c && ($.datepicker._setDateFromField(b), $.datepicker._updateAlternate(b), $.datepicker._updateDatepicker(b))
            } catch (d) {
                $.datepicker.log(d)
            }
            return !0
        },
        _showDatepicker: function(a) {
            a = a.target || a, a.nodeName.toLowerCase() != "input" && (a = $("input", a.parentNode)[0]);
            if ($.datepicker._isDisabledDatepicker(a) || $.datepicker._lastInput == a) return;
            var b = $.datepicker._getInst(a);
            $.datepicker._curInst && $.datepicker._curInst != b && ($.datepicker._curInst.dpDiv.stop(!0, !0), b && $.datepicker._datepickerShowing && $.datepicker._hideDatepicker($.datepicker._curInst.input[0]));
            var c = $.datepicker._get(b, "beforeShow"),
                d = c ? c.apply(a, [a, b]) : {};
            if (d === !1) return;
            extendRemove(b.settings, d), b.lastVal = null, $.datepicker._lastInput = a, $.datepicker._setDateFromField(b), $.datepicker._inDialog && (a.value = ""), $.datepicker._pos || ($.datepicker._pos = $.datepicker._findPos(a), $.datepicker._pos[1] += a.offsetHeight);
            var e = !1;
            $(a).parents().each(function() {
                return e |= $(this).css("position") == "fixed", !e
            }), e && $.browser.opera && ($.datepicker._pos[0] -= document.documentElement.scrollLeft, $.datepicker._pos[1] -= document.documentElement.scrollTop);
            var f = {
                left: $.datepicker._pos[0],
                top: $.datepicker._pos[1]
            };
            $.datepicker._pos = null, b.dpDiv.empty(), b.dpDiv.css({
                position: "absolute",
                display: "block",
                top: "-1000px"
            }), $.datepicker._updateDatepicker(b), f = $.datepicker._checkOffset(b, f, e), b.dpDiv.css({
                position: $.datepicker._inDialog && $.blockUI ? "static" : e ? "fixed" : "absolute",
                display: "none",
                left: f.left + "px",
                top: f.top + "px"
            });
            if (!b.inline) {
                var g = $.datepicker._get(b, "showAnim"),
                    h = $.datepicker._get(b, "duration"),
                    i = function() {
                        var a = b.dpDiv.find("iframe.ui-datepicker-cover");
                        if ( !! a.length) {
                            var c = $.datepicker._getBorders(b.dpDiv);
                            a.css({
                                left: -c[0],
                                top: -c[1],
                                width: b.dpDiv.outerWidth(),
                                height: b.dpDiv.outerHeight()
                            })
                        }
                    };
                b.dpDiv.zIndex($(a).zIndex() + 1), $.datepicker._datepickerShowing = !0, $.effects && $.effects[g] ? b.dpDiv.show(g, $.datepicker._get(b, "showOptions"), h, i) : b.dpDiv[g || "show"](g ? h : null, i), (!g || !h) && i(), b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus(), $.datepicker._curInst = b
            }
        },
        _updateDatepicker: function(a) {
            var b = this;
            b.maxRows = 4;
            var c = $.datepicker._getBorders(a.dpDiv);
            instActive = a, a.dpDiv.empty().append(this._generateHTML(a));
            var d = a.dpDiv.find("iframe.ui-datepicker-cover");
            !d.length || d.css({
                left: -c[0],
                top: -c[1],
                width: a.dpDiv.outerWidth(),
                height: a.dpDiv.outerHeight()
            }), a.dpDiv.find("." + this._dayOverClass + " a").mouseover();
            var e = this._getNumberOfMonths(a),
                f = e[1],
                g = 17;
            a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), f > 1 && a.dpDiv.addClass("ui-datepicker-multi-" + f).css("width", g * f + "em"), a.dpDiv[(e[0] != 1 || e[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"), a.dpDiv[(this._get(a, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"), a == $.datepicker._curInst && $.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus();
            if (a.yearshtml) {
                var h = a.yearshtml;
                setTimeout(function() {
                    h === a.yearshtml && a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml), h = a.yearshtml = null
                }, 0)
            }
        },
        _getBorders: function(a) {
            var b = function(a) {
                    return {
                        thin: 1,
                        medium: 2,
                        thick: 3
                    }[a] || a
                };
            return [parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width")))]
        },
        _checkOffset: function(a, b, c) {
            var d = a.dpDiv.outerWidth(),
                e = a.dpDiv.outerHeight(),
                f = a.input ? a.input.outerWidth() : 0,
                g = a.input ? a.input.outerHeight() : 0,
                h = document.documentElement.clientWidth + $(document).scrollLeft(),
                i = document.documentElement.clientHeight + $(document).scrollTop();
            return b.left -= this._get(a, "isRTL") ? d - f : 0, b.left -= c && b.left == a.input.offset().left ? $(document).scrollLeft() : 0, b.top -= c && b.top == a.input.offset().top + g ? $(document).scrollTop() : 0, b.left -= Math.min(b.left, b.left + d > h && h > d ? Math.abs(b.left + d - h) : 0), b.top -= Math.min(b.top, b.top + e > i && i > e ? Math.abs(e + g) : 0), b
        },
        _findPos: function(a) {
            var b = this._getInst(a),
                c = this._get(b, "isRTL");
            while (a && (a.type == "hidden" || a.nodeType != 1 || $.expr.filters.hidden(a))) a = a[c ? "previousSibling" : "nextSibling"];
            var d = $(a).offset();
            return [d.left, d.top]
        },
        _hideDatepicker: function(a) {
            var b = this._curInst;
            if (!b || a && b != $.data(a, PROP_NAME)) return;
            if (this._datepickerShowing) {
                var c = this._get(b, "showAnim"),
                    d = this._get(b, "duration"),
                    e = function() {
                        $.datepicker._tidyDialog(b)
                    };
                $.effects && $.effects[c] ? b.dpDiv.hide(c, $.datepicker._get(b, "showOptions"), d, e) : b.dpDiv[c == "slideDown" ? "slideUp" : c == "fadeIn" ? "fadeOut" : "hide"](c ? d : null, e), c || e(), this._datepickerShowing = !1;
                var f = this._get(b, "onClose");
                f && f.apply(b.input ? b.input[0] : null, [b.input ? b.input.val() : "", b]), this._lastInput = null, this._inDialog && (this._dialogInput.css({
                    position: "absolute",
                    left: "0",
                    top: "-100px"
                }), $.blockUI && ($.unblockUI(), $("body").append(this.dpDiv))), this._inDialog = !1
            }
        },
        _tidyDialog: function(a) {
            a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
        },
        _checkExternalClick: function(a) {
            if (!$.datepicker._curInst) return;
            var b = $(a.target),
                c = $.datepicker._getInst(b[0]);
            (b[0].id != $.datepicker._mainDivId && b.parents("#" + $.datepicker._mainDivId).length == 0 && !b.hasClass($.datepicker.markerClassName) && !b.closest("." + $.datepicker._triggerClass).length && $.datepicker._datepickerShowing && (!$.datepicker._inDialog || !$.blockUI) || b.hasClass($.datepicker.markerClassName) && $.datepicker._curInst != c) && $.datepicker._hideDatepicker()
        },
        _adjustDate: function(a, b, c) {
            var d = $(a),
                e = this._getInst(d[0]);
            if (this._isDisabledDatepicker(d[0])) return;
            this._adjustInstDate(e, b + (c == "M" ? this._get(e, "showCurrentAtPos") : 0), c), this._updateDatepicker(e)
        },
        _gotoToday: function(a) {
            var b = $(a),
                c = this._getInst(b[0]);
            if (this._get(c, "gotoCurrent") && c.currentDay) c.selectedDay = c.currentDay, c.drawMonth = c.selectedMonth = c.currentMonth, c.drawYear = c.selectedYear = c.currentYear;
            else {
                var d = new Date;
                c.selectedDay = d.getDate(), c.drawMonth = c.selectedMonth = d.getMonth(), c.drawYear = c.selectedYear = d.getFullYear()
            }
            this._notifyChange(c), this._adjustDate(b)
        },
        _selectMonthYear: function(a, b, c) {
            var d = $(a),
                e = this._getInst(d[0]);
            e["selected" + (c == "M" ? "Month" : "Year")] = e["draw" + (c == "M" ? "Month" : "Year")] = parseInt(b.options[b.selectedIndex].value, 10), this._notifyChange(e), this._adjustDate(d)
        },
        _selectDay: function(a, b, c, d) {
            var e = $(a);
            if ($(d).hasClass(this._unselectableClass) || this._isDisabledDatepicker(e[0])) return;
            var f = this._getInst(e[0]);
            f.selectedDay = f.currentDay = $("a", d).html(), f.selectedMonth = f.currentMonth = b, f.selectedYear = f.currentYear = c, this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear))
        },
        _clearDate: function(a) {
            var b = $(a),
                c = this._getInst(b[0]);
            this._selectDate(b, "")
        },
        _selectDate: function(a, b) {
            var c = $(a),
                d = this._getInst(c[0]);
            b = b != null ? b : this._formatDate(d), d.input && d.input.val(b), this._updateAlternate(d);
            var e = this._get(d, "onSelect");
            e ? e.apply(d.input ? d.input[0] : null, [b, d]) : d.input && d.input.trigger("change"), d.inline ? this._updateDatepicker(d) : (this._hideDatepicker(), this._lastInput = d.input[0], typeof d.input[0] != "object" && d.input.focus(), this._lastInput = null)
        },
        _updateAlternate: function(a) {
            var b = this._get(a, "altField");
            if (b) {
                var c = this._get(a, "altFormat") || this._get(a, "dateFormat"),
                    d = this._getDate(a),
                    e = this.formatDate(c, d, this._getFormatConfig(a));
                $(b).each(function() {
                    $(this).val(e)
                })
            }
        },
        noWeekends: function(a) {
            var b = a.getDay();
            return [b > 0 && b < 6, ""]
        },
        iso8601Week: function(a) {
            var b = new Date(a.getTime());
            b.setDate(b.getDate() + 4 - (b.getDay() || 7));
            var c = b.getTime();
            return b.setMonth(0), b.setDate(1), Math.floor(Math.round((c - b) / 864e5) / 7) + 1
        },
        parseDate: function(a, b, c) {
            if (a == null || b == null) throw "Invalid arguments";
            b = typeof b == "object" ? b.toString() : b + "";
            if (b == "") return null;
            var d = (c ? c.shortYearCutoff : null) || this._defaults.shortYearCutoff;
            d = typeof d != "string" ? d : (new Date).getFullYear() % 100 + parseInt(d, 10);
            var e = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort,
                f = (c ? c.dayNames : null) || this._defaults.dayNames,
                g = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort,
                h = (c ? c.monthNames : null) || this._defaults.monthNames,
                i = -1,
                j = -1,
                k = -1,
                l = -1,
                m = !1,
                n = function(b) {
                    var c = s + 1 < a.length && a.charAt(s + 1) == b;
                    return c && s++, c
                },
                o = function(a) {
                    var c = n(a),
                        d = a == "@" ? 14 : a == "!" ? 20 : a == "y" && c ? 4 : a == "o" ? 3 : 2,
                        e = new RegExp("^\\d{1," + d + "}"),
                        f = b.substring(r).match(e);
                    if (!f) throw "Missing number at position " + r;
                    return r += f[0].length, parseInt(f[0], 10)
                },
                p = function(a, c, d) {
                    var e = $.map(n(a) ? d : c, function(a, b) {
                        return [[b, a]]
                    }).sort(function(a, b) {
                        return -(a[1].length - b[1].length)
                    }),
                        f = -1;
                    $.each(e, function(a, c) {
                        var d = c[1];
                        if (b.substr(r, d.length).toLowerCase() == d.toLowerCase()) return f = c[0], r += d.length, !1
                    });
                    if (f != -1) return f + 1;
                    throw "Unknown name at position " + r
                },
                q = function() {
                    if (b.charAt(r) != a.charAt(s)) throw "Unexpected literal at position " + r;
                    r++
                },
                r = 0;
            for (var s = 0; s < a.length; s++) if (m) a.charAt(s) == "'" && !n("'") ? m = !1 : q();
            else switch (a.charAt(s)) {
            case "d":
                k = o("d");
                break;
            case "D":
                p("D", e, f);
                break;
            case "o":
                l = o("o");
                break;
            case "m":
                j = o("m");
                break;
            case "M":
                j = p("M", g, h);
                break;
            case "y":
                i = o("y");
                break;
            case "@":
                var t = new Date(o("@"));
                i = t.getFullYear(), j = t.getMonth() + 1, k = t.getDate();
                break;
            case "!":
                var t = new Date((o("!") - this._ticksTo1970) / 1e4);
                i = t.getFullYear(), j = t.getMonth() + 1, k = t.getDate();
                break;
            case "'":
                n("'") ? q() : m = !0;
                break;
            default:
                q()
            }
            if (r < b.length) throw "Extra/unparsed characters found in date: " + b.substring(r);
            i == -1 ? i = (new Date).getFullYear() : i < 100 && (i += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (i <= d ? 0 : -100));
            if (l > -1) {
                j = 1, k = l;
                do {
                    var u = this._getDaysInMonth(i, j - 1);
                    if (k <= u) break;
                    j++, k -= u
                } while (!0)
            }
            var t = this._daylightSavingAdjust(new Date(i, j - 1, k));
            if (t.getFullYear() != i || t.getMonth() + 1 != j || t.getDate() != k) throw "Invalid date";
            return t
        },
        ATOM: "yy-mm-dd",
        COOKIE: "D, dd M yy",
        ISO_8601: "yy-mm-dd",
        RFC_822: "D, d M y",
        RFC_850: "DD, dd-M-y",
        RFC_1036: "D, d M y",
        RFC_1123: "D, d M yy",
        RFC_2822: "D, d M yy",
        RSS: "D, d M y",
        TICKS: "!",
        TIMESTAMP: "@",
        W3C: "yy-mm-dd",
        _ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1e7,
        formatDate: function(a, b, c) {
            if (!b) return "";
            var d = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort,
                e = (c ? c.dayNames : null) || this._defaults.dayNames,
                f = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort,
                g = (c ? c.monthNames : null) || this._defaults.monthNames,
                h = function(b) {
                    var c = m + 1 < a.length && a.charAt(m + 1) == b;
                    return c && m++, c
                },
                i = function(a, b, c) {
                    var d = "" + b;
                    if (h(a)) while (d.length < c) d = "0" + d;
                    return d
                },
                j = function(a, b, c, d) {
                    return h(a) ? d[b] : c[b]
                },
                k = "",
                l = !1;
            if (b) for (var m = 0; m < a.length; m++) if (l) a.charAt(m) == "'" && !h("'") ? l = !1 : k += a.charAt(m);
            else switch (a.charAt(m)) {
            case "d":
                k += i("d", b.getDate(), 2);
                break;
            case "D":
                k += j("D", b.getDay(), d, e);
                break;
            case "o":
                k += i("o", Math.round(((new Date(b.getFullYear(), b.getMonth(), b.getDate())).getTime() - (new Date(b.getFullYear(), 0, 0)).getTime()) / 864e5), 3);
                break;
            case "m":
                k += i("m", b.getMonth() + 1, 2);
                break;
            case "M":
                k += j("M", b.getMonth(), f, g);
                break;
            case "y":
                k += h("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0" : "") + b.getYear() % 100;
                break;
            case "@":
                k += b.getTime();
                break;
            case "!":
                k += b.getTime() * 1e4 + this._ticksTo1970;
                break;
            case "'":
                h("'") ? k += "'" : l = !0;
                break;
            default:
                k += a.charAt(m)
            }
            return k
        },
        _possibleChars: function(a) {
            var b = "",
                c = !1,
                d = function(b) {
                    var c = e + 1 < a.length && a.charAt(e + 1) == b;
                    return c && e++, c
                };
            for (var e = 0; e < a.length; e++) if (c) a.charAt(e) == "'" && !d("'") ? c = !1 : b += a.charAt(e);
            else switch (a.charAt(e)) {
            case "d":
            case "m":
            case "y":
            case "@":
                b += "0123456789";
                break;
            case "D":
            case "M":
                return null;
            case "'":
                d("'") ? b += "'" : c = !0;
                break;
            default:
                b += a.charAt(e)
            }
            return b
        },
        _get: function(a, b) {
            return a.settings[b] !== undefined ? a.settings[b] : this._defaults[b]
        },
        _setDateFromField: function(a, b) {
            if (a.input.val() == a.lastVal) return;
            var c = this._get(a, "dateFormat"),
                d = a.lastVal = a.input ? a.input.val() : null,
                e, f;
            e = f = this._getDefaultDate(a);
            var g = this._getFormatConfig(a);
            try {
                e = this.parseDate(c, d, g) || f
            } catch (h) {
                this.log(h), d = b ? "" : d
            }
            a.selectedDay = e.getDate(), a.drawMonth = a.selectedMonth = e.getMonth(), a.drawYear = a.selectedYear = e.getFullYear(), a.currentDay = d ? e.getDate() : 0, a.currentMonth = d ? e.getMonth() : 0, a.currentYear = d ? e.getFullYear() : 0, this._adjustInstDate(a)
        },
        _getDefaultDate: function(a) {
            return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date))
        },
        _determineDate: function(a, b, c) {
            var d = function(a) {
                    var b = new Date;
                    return b.setDate(b.getDate() + a), b
                },
                e = function(b) {
                    try {
                        return $.datepicker.parseDate($.datepicker._get(a, "dateFormat"), b, $.datepicker._getFormatConfig(a))
                    } catch (c) {}
                    var d = (b.toLowerCase().match(/^c/) ? $.datepicker._getDate(a) : null) || new Date,
                        e = d.getFullYear(),
                        f = d.getMonth(),
                        g = d.getDate(),
                        h = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
                        i = h.exec(b);
                    while (i) {
                        switch (i[2] || "d") {
                        case "d":
                        case "D":
                            g += parseInt(i[1], 10);
                            break;
                        case "w":
                        case "W":
                            g += parseInt(i[1], 10) * 7;
                            break;
                        case "m":
                        case "M":
                            f += parseInt(i[1], 10), g = Math.min(g, $.datepicker._getDaysInMonth(e, f));
                            break;
                        case "y":
                        case "Y":
                            e += parseInt(i[1], 10), g = Math.min(g, $.datepicker._getDaysInMonth(e, f))
                        }
                        i = h.exec(b)
                    }
                    return new Date(e, f, g)
                },
                f = b == null || b === "" ? c : typeof b == "string" ? e(b) : typeof b == "number" ? isNaN(b) ? c : d(b) : new Date(b.getTime());
            return f = f && f.toString() == "Invalid Date" ? c : f, f && (f.setHours(0), f.setMinutes(0), f.setSeconds(0), f.setMilliseconds(0)), this._daylightSavingAdjust(f)
        },
        _daylightSavingAdjust: function(a) {
            return a ? (a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0), a) : null
        },
        _setDate: function(a, b, c) {
            var d = !b,
                e = a.selectedMonth,
                f = a.selectedYear,
                g = this._restrictMinMax(a, this._determineDate(a, b, new Date));
            a.selectedDay = a.currentDay = g.getDate(), a.drawMonth = a.selectedMonth = a.currentMonth = g.getMonth(), a.drawYear = a.selectedYear = a.currentYear = g.getFullYear(), (e != a.selectedMonth || f != a.selectedYear) && !c && this._notifyChange(a), this._adjustInstDate(a), a.input && a.input.val(d ? "" : this._formatDate(a))
        },
        _getDate: function(a) {
            var b = !a.currentYear || a.input && a.input.val() == "" ? null : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay));
            return b
        },
        _generateHTML: function(a) {
            var b = new Date;
            b = this._daylightSavingAdjust(new Date(b.getFullYear(), b.getMonth(), b.getDate()));
            var c = this._get(a, "isRTL"),
                d = this._get(a, "showButtonPanel"),
                e = this._get(a, "hideIfNoPrevNext"),
                f = this._get(a, "navigationAsDateFormat"),
                g = this._getNumberOfMonths(a),
                h = this._get(a, "showCurrentAtPos"),
                i = this._get(a, "stepMonths"),
                j = g[0] != 1 || g[1] != 1,
                k = this._daylightSavingAdjust(a.currentDay ? new Date(a.currentYear, a.currentMonth, a.currentDay) : new Date(9999, 9, 9)),
                l = this._getMinMaxDate(a, "min"),
                m = this._getMinMaxDate(a, "max"),
                n = a.drawMonth - h,
                o = a.drawYear;
            n < 0 && (n += 12, o--);
            if (m) {
                var p = this._daylightSavingAdjust(new Date(m.getFullYear(), m.getMonth() - g[0] * g[1] + 1, m.getDate()));
                p = l && p < l ? l : p;
                while (this._daylightSavingAdjust(new Date(o, n, 1)) > p) n--, n < 0 && (n = 11, o--)
            }
            a.drawMonth = n, a.drawYear = o;
            var q = this._get(a, "prevText");
            q = f ? this.formatDate(q, this._daylightSavingAdjust(new Date(o, n - i, 1)), this._getFormatConfig(a)) : q;
            var r = this._canAdjustMonth(a, -1, o, n) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + dpuuid + ".datepicker._adjustDate('#" + a.id + "', -" + i + ", 'M');\"" + ' title="' + q + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + q + "</span></a>" : e ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + q + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + q + "</span></a>",
                s = this._get(a, "nextText");
            s = f ? this.formatDate(s, this._daylightSavingAdjust(new Date(o, n + i, 1)), this._getFormatConfig(a)) : s;
            var t = this._canAdjustMonth(a, 1, o, n) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + dpuuid + ".datepicker._adjustDate('#" + a.id + "', +" + i + ", 'M');\"" + ' title="' + s + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + s + "</span></a>" : e ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + s + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + s + "</span></a>",
                u = this._get(a, "currentText"),
                v = this._get(a, "gotoCurrent") && a.currentDay ? k : b;
            u = f ? this.formatDate(u, v, this._getFormatConfig(a)) : u;
            var w = a.inline ? "" : '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + dpuuid + '.datepicker._hideDatepicker();">' + this._get(a, "closeText") + "</button>",
                x = d ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (c ? w : "") + (this._isInRange(a, v) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' + dpuuid + ".datepicker._gotoToday('#" + a.id + "');\"" + ">" + u + "</button>" : "") + (c ? "" : w) + "</div>" : "",
                y = parseInt(this._get(a, "firstDay"), 10);
            y = isNaN(y) ? 0 : y;
            var z = this._get(a, "showWeek"),
                A = this._get(a, "dayNames"),
                B = this._get(a, "dayNamesShort"),
                C = this._get(a, "dayNamesMin"),
                D = this._get(a, "monthNames"),
                E = this._get(a, "monthNamesShort"),
                F = this._get(a, "beforeShowDay"),
                G = this._get(a, "showOtherMonths"),
                H = this._get(a, "selectOtherMonths"),
                I = this._get(a, "calculateWeek") || this.iso8601Week,
                J = this._getDefaultDate(a),
                K = "";
            for (var L = 0; L < g[0]; L++) {
                var M = "";
                this.maxRows = 4;
                for (var N = 0; N < g[1]; N++) {
                    var O = this._daylightSavingAdjust(new Date(o, n, a.selectedDay)),
                        P = " ui-corner-all",
                        Q = "";
                    if (j) {
                        Q += '<div class="ui-datepicker-group';
                        if (g[1] > 1) switch (N) {
                        case 0:
                            Q += " ui-datepicker-group-first", P = " ui-corner-" + (c ? "right" : "left");
                            break;
                        case g[1] - 1:
                            Q += " ui-datepicker-group-last", P = " ui-corner-" + (c ? "left" : "right");
                            break;
                        default:
                            Q += " ui-datepicker-group-middle", P = ""
                        }
                        Q += '">'
                    }
                    Q += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + P + '">' + (/all|left/.test(P) && L == 0 ? c ? t : r : "") + (/all|right/.test(P) && L == 0 ? c ? r : t : "") + this._generateMonthYearHeader(a, n, o, l, m, L > 0 || N > 0, D, E) + '</div><table class="ui-datepicker-calendar"><thead>' + "<tr>";
                    var R = z ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : "";
                    for (var S = 0; S < 7; S++) {
                        var T = (S + y) % 7;
                        R += "<th" + ((S + y + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + ">" + '<span title="' + A[T] + '">' + C[T] + "</span></th>"
                    }
                    Q += R + "</tr></thead><tbody>";
                    var U = this._getDaysInMonth(o, n);
                    o == a.selectedYear && n == a.selectedMonth && (a.selectedDay = Math.min(a.selectedDay, U));
                    var V = (this._getFirstDayOfMonth(o, n) - y + 7) % 7,
                        W = Math.ceil((V + U) / 7),
                        X = j ? this.maxRows > W ? this.maxRows : W : W;
                    this.maxRows = X;
                    var Y = this._daylightSavingAdjust(new Date(o, n, 1 - V));
                    for (var Z = 0; Z < X; Z++) {
                        Q += "<tr>";
                        var _ = z ? '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(Y) + "</td>" : "";
                        for (var S = 0; S < 7; S++) {
                            var ba = F ? F.apply(a.input ? a.input[0] : null, [Y]) : [!0, ""],
                                bb = Y.getMonth() != n,
                                bc = bb && !H || !ba[0] || l && Y < l || m && Y > m;
                            _ += '<td class="' + ((S + y + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (bb ? " ui-datepicker-other-month" : "") + (Y.getTime() == O.getTime() && n == a.selectedMonth && a._keyEvent || J.getTime() == Y.getTime() && J.getTime() == O.getTime() ? " " + this._dayOverClass : "") + (bc ? " " + this._unselectableClass + " ui-state-disabled" : "") + (bb && !G ? "" : " " + ba[1] + (Y.getTime() == k.getTime() ? " " + this._currentClass : "") + (Y.getTime() == b.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!bb || G) && ba[2] ? ' title="' + ba[2] + '"' : "") + (bc ? "" : ' onclick="DP_jQuery_' + dpuuid + ".datepicker._selectDay('#" + a.id + "'," + Y.getMonth() + "," + Y.getFullYear() + ', this);return false;"') + ">" + (bb && !G ? "&#xa0;" : bc ? '<span class="ui-state-default">' + Y.getDate() + "</span>" : '<a class="ui-state-default' + (Y.getTime() == b.getTime() ? " ui-state-highlight" : "") + (Y.getTime() == k.getTime() ? " ui-state-active" : "") + (bb ? " ui-priority-secondary" : "") + '" href="#">' + Y.getDate() + "</a>") + "</td>", Y.setDate(Y.getDate() + 1), Y = this._daylightSavingAdjust(Y)
                        }
                        Q += _ + "</tr>"
                    }
                    n++, n > 11 && (n = 0, o++), Q += "</tbody></table>" + (j ? "</div>" + (g[0] > 0 && N == g[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : ""), M += Q
                }
                K += M
            }
            return K += x + ($.browser.msie && parseInt($.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""), a._keyEvent = !1, K
        },
        _generateMonthYearHeader: function(a, b, c, d, e, f, g, h) {
            var i = this._get(a, "changeMonth"),
                j = this._get(a, "changeYear"),
                k = this._get(a, "showMonthAfterYear"),
                l = '<div class="ui-datepicker-title">',
                m = "";
            if (f || !i) m += '<span class="ui-datepicker-month">' + g[b] + "</span>";
            else {
                var n = d && d.getFullYear() == c,
                    o = e && e.getFullYear() == c;
                m += '<select class="ui-datepicker-month" onchange="DP_jQuery_' + dpuuid + ".datepicker._selectMonthYear('#" + a.id + "', this, 'M');\" " + ">";
                for (var p = 0; p < 12; p++)(!n || p >= d.getMonth()) && (!o || p <= e.getMonth()) && (m += '<option value="' + p + '"' + (p == b ? ' selected="selected"' : "") + ">" + h[p] + "</option>");
                m += "</select>"
            }
            k || (l += m + (f || !i || !j ? "&#xa0;" : ""));
            if (!a.yearshtml) {
                a.yearshtml = "";
                if (f || !j) l += '<span class="ui-datepicker-year">' + c + "</span>";
                else {
                    var q = this._get(a, "yearRange").split(":"),
                        r = (new Date).getFullYear(),
                        s = function(a) {
                            var b = a.match(/c[+-].*/) ? c + parseInt(a.substring(1), 10) : a.match(/[+-].*/) ? r + parseInt(a, 10) : parseInt(a, 10);
                            return isNaN(b) ? r : b
                        },
                        t = s(q[0]),
                        u = Math.max(t, s(q[1] || ""));
                    t = d ? Math.max(t, d.getFullYear()) : t, u = e ? Math.min(u, e.getFullYear()) : u, a.yearshtml += '<select class="ui-datepicker-year" onchange="DP_jQuery_' + dpuuid + ".datepicker._selectMonthYear('#" + a.id + "', this, 'Y');\" " + ">";
                    for (; t <= u; t++) a.yearshtml += '<option value="' + t + '"' + (t == c ? ' selected="selected"' : "") + ">" + t + "</option>";
                    a.yearshtml += "</select>", l += a.yearshtml, a.yearshtml = null
                }
            }
            return l += this._get(a, "yearSuffix"), k && (l += (f || !i || !j ? "&#xa0;" : "") + m), l += "</div>", l
        },
        _adjustInstDate: function(a, b, c) {
            var d = a.drawYear + (c == "Y" ? b : 0),
                e = a.drawMonth + (c == "M" ? b : 0),
                f = Math.min(a.selectedDay, this._getDaysInMonth(d, e)) + (c == "D" ? b : 0),
                g = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(d, e, f)));
            a.selectedDay = g.getDate(), a.drawMonth = a.selectedMonth = g.getMonth(), a.drawYear = a.selectedYear = g.getFullYear(), (c == "M" || c == "Y") && this._notifyChange(a)
        },
        _restrictMinMax: function(a, b) {
            var c = this._getMinMaxDate(a, "min"),
                d = this._getMinMaxDate(a, "max"),
                e = c && b < c ? c : b;
            return e = d && e > d ? d : e, e
        },
        _notifyChange: function(a) {
            var b = this._get(a, "onChangeMonthYear");
            b && b.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a])
        },
        _getNumberOfMonths: function(a) {
            var b = this._get(a, "numberOfMonths");
            return b == null ? [1, 1] : typeof b == "number" ? [1, b] : b
        },
        _getMinMaxDate: function(a, b) {
            return this._determineDate(a, this._get(a, b + "Date"), null)
        },
        _getDaysInMonth: function(a, b) {
            return 32 - this._daylightSavingAdjust(new Date(a, b, 32)).getDate()
        },
        _getFirstDayOfMonth: function(a, b) {
            return (new Date(a, b, 1)).getDay()
        },
        _canAdjustMonth: function(a, b, c, d) {
            var e = this._getNumberOfMonths(a),
                f = this._daylightSavingAdjust(new Date(c, d + (b < 0 ? b : e[0] * e[1]), 1));
            return b < 0 && f.setDate(this._getDaysInMonth(f.getFullYear(), f.getMonth())), this._isInRange(a, f)
        },
        _isInRange: function(a, b) {
            var c = this._getMinMaxDate(a, "min"),
                d = this._getMinMaxDate(a, "max");
            return (!c || b.getTime() >= c.getTime()) && (!d || b.getTime() <= d.getTime())
        },
        _getFormatConfig: function(a) {
            var b = this._get(a, "shortYearCutoff");
            return b = typeof b != "string" ? b : (new Date).getFullYear() % 100 + parseInt(b, 10), {
                shortYearCutoff: b,
                dayNamesShort: this._get(a, "dayNamesShort"),
                dayNames: this._get(a, "dayNames"),
                monthNamesShort: this._get(a, "monthNamesShort"),
                monthNames: this._get(a, "monthNames")
            }
        },
        _formatDate: function(a, b, c, d) {
            b || (a.currentDay = a.selectedDay, a.currentMonth = a.selectedMonth, a.currentYear = a.selectedYear);
            var e = b ? typeof b == "object" ? b : this._daylightSavingAdjust(new Date(d, c, b)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay));
            return this.formatDate(this._get(a, "dateFormat"), e, this._getFormatConfig(a))
        }
    }), $.fn.datepicker = function(a) {
        if (!this.length) return this;
        $.datepicker.initialized || ($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv), $.datepicker.initialized = !0);
        var b = Array.prototype.slice.call(arguments, 1);
        return typeof a != "string" || a != "isDisabled" && a != "getDate" && a != "widget" ? a == "option" && arguments.length == 2 && typeof arguments[1] == "string" ? $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)) : this.each(function() {
            typeof a == "string" ? $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this].concat(b)) : $.datepicker._attachDatepicker(this, a)
        }) : $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b))
    }, $.datepicker = new Datepicker, $.datepicker.initialized = !1, $.datepicker.uuid = (new Date).getTime(), $.datepicker.version = "1.8.21", window["DP_jQuery_" + dpuuid] = $
}(jQuery), function(a, b) {
    var c = "ui-dialog ui-widget ui-widget-content ui-corner-all ",
        d = {
            buttons: !0,
            height: !0,
            maxHeight: !0,
            maxWidth: !0,
            minHeight: !0,
            minWidth: !0,
            width: !0
        },
        e = {
            maxHeight: !0,
            maxWidth: !0,
            minHeight: !0,
            minWidth: !0
        },
        f = a.attrFn || {
            val: !0,
            css: !0,
            html: !0,
            text: !0,
            data: !0,
            width: !0,
            height: !0,
            offset: !0,
            click: !0
        };
    a.widget("ui.dialog", {
        options: {
            autoOpen: !0,
            buttons: {},
            closeOnEscape: !0,
            closeText: "close",
            dialogClass: "",
            draggable: !0,
            hide: null,
            height: "auto",
            maxHeight: !1,
            maxWidth: !1,
            minHeight: 150,
            minWidth: 150,
            modal: !1,
            position: {
                my: "center",
                at: "center",
                collision: "fit",
                using: function(b) {
                    var c = a(this).css(b).offset().top;
                    c < 0 && a(this).css("top", b.top - c)
                }
            },
            resizable: !0,
            show: null,
            stack: !0,
            title: "",
            width: 300,
            zIndex: 1e3
        },
        _create: function() {
            this.originalTitle = this.element.attr("title"), typeof this.originalTitle != "string" && (this.originalTitle = ""), this.options.title = this.options.title || this.originalTitle;
            var b = this,
                d = b.options,
                e = d.title || "&#160;",
                f = a.ui.dialog.getTitleId(b.element),
                g = (b.uiDialog = a("<div></div>")).appendTo(document.body).hide().addClass(c + d.dialogClass).css({
                    zIndex: d.zIndex
                }).attr("tabIndex", -1).css("outline", 0).keydown(function(c) {
                    d.closeOnEscape && !c.isDefaultPrevented() && c.keyCode && c.keyCode === a.ui.keyCode.ESCAPE && (b.close(c), c.preventDefault())
                }).attr({
                    role: "dialog",
                    "aria-labelledby": f
                }).mousedown(function(a) {
                    b.moveToTop(!1, a)
                }),
                h = b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),
                i = (b.uiDialogTitlebar = a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
                j = a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").hover(function() {
                    j.addClass("ui-state-hover")
                }, function() {
                    j.removeClass("ui-state-hover")
                }).focus(function() {
                    j.addClass("ui-state-focus")
                }).blur(function() {
                    j.removeClass("ui-state-focus")
                }).click(function(a) {
                    return b.close(a), !1
                }).appendTo(i),
                k = (b.uiDialogTitlebarCloseText = a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),
                l = a("<span></span>").addClass("ui-dialog-title").attr("id", f).html(e).prependTo(i);
            a.isFunction(d.beforeclose) && !a.isFunction(d.beforeClose) && (d.beforeClose = d.beforeclose), i.find("*").add(i).disableSelection(), d.draggable && a.fn.draggable && b._makeDraggable(), d.resizable && a.fn.resizable && b._makeResizable(), b._createButtons(d.buttons), b._isOpen = !1, a.fn.bgiframe && g.bgiframe()
        },
        _init: function() {
            this.options.autoOpen && this.open()
        },
        destroy: function() {
            var a = this;
            return a.overlay && a.overlay.destroy(), a.uiDialog.hide(), a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"), a.uiDialog.remove(), a.originalTitle && a.element.attr("title", a.originalTitle), a
        },
        widget: function() {
            return this.uiDialog
        },
        close: function(b) {
            var c = this,
                d, e;
            if (!1 === c._trigger("beforeClose", b)) return;
            return c.overlay && c.overlay.destroy(), c.uiDialog.unbind("keypress.ui-dialog"), c._isOpen = !1, c.options.hide ? c.uiDialog.hide(c.options.hide, function() {
                c._trigger("close", b)
            }) : (c.uiDialog.hide(), c._trigger("close", b)), a.ui.dialog.overlay.resize(), c.options.modal && (d = 0, a(".ui-dialog").each(function() {
                this !== c.uiDialog[0] && (e = a(this).css("z-index"), isNaN(e) || (d = Math.max(d, e)))
            }), a.ui.dialog.maxZ = d), c
        },
        isOpen: function() {
            return this._isOpen
        },
        moveToTop: function(b, c) {
            var d = this,
                e = d.options,
                f;
            return e.modal && !b || !e.stack && !e.modal ? d._trigger("focus", c) : (e.zIndex > a.ui.dialog.maxZ && (a.ui.dialog.maxZ = e.zIndex), d.overlay && (a.ui.dialog.maxZ += 1, d.overlay.$el.css("z-index", a.ui.dialog.overlay.maxZ = a.ui.dialog.maxZ)), f = {
                scrollTop: d.element.scrollTop(),
                scrollLeft: d.element.scrollLeft()
            }, a.ui.dialog.maxZ += 1, d.uiDialog.css("z-index", a.ui.dialog.maxZ), d.element.attr(f), d._trigger("focus", c), d)
        },
        open: function() {
            if (this._isOpen) return;
            var b = this,
                c = b.options,
                d = b.uiDialog;
            return b.overlay = c.modal ? new a.ui.dialog.overlay(b) : null, b._size(), b._position(c.position), d.show(c.show), b.moveToTop(!0), c.modal && d.bind("keydown.ui-dialog", function(b) {
                if (b.keyCode !== a.ui.keyCode.TAB) return;
                var c = a(":tabbable", this),
                    d = c.filter(":first"),
                    e = c.filter(":last");
                if (b.target === e[0] && !b.shiftKey) return d.focus(1), !1;
                if (b.target === d[0] && b.shiftKey) return e.focus(1), !1
            }), a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(), b._isOpen = !0, b._trigger("open"), b
        },
        _createButtons: function(b) {
            var c = this,
                d = !1,
                e = a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),
                g = a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);
            c.uiDialog.find(".ui-dialog-buttonpane").remove(), typeof b == "object" && b !== null && a.each(b, function() {
                return !(d = !0)
            }), d && (a.each(b, function(b, d) {
                d = a.isFunction(d) ? {
                    click: d,
                    text: b
                } : d;
                var e = a('<button type="button"></button>').click(function() {
                    d.click.apply(c.element[0], arguments)
                }).appendTo(g);
                a.each(d, function(a, b) {
                    if (a === "click") return;
                    a in f ? e[a](b) : e.attr(a, b)
                }), a.fn.button && e.button()
            }), e.appendTo(c.uiDialog))
        },
        _makeDraggable: function() {
            function f(a) {
                return {
                    position: a.position,
                    offset: a.offset
                }
            }
            var b = this,
                c = b.options,
                d = a(document),
                e;
            b.uiDialog.draggable({
                cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
                handle: ".ui-dialog-titlebar",
                containment: "document",
                start: function(d, g) {
                    e = c.height === "auto" ? "auto" : a(this).height(), a(this).height(a(this).height()).addClass("ui-dialog-dragging"), b._trigger("dragStart", d, f(g))
                },
                drag: function(a, c) {
                    b._trigger("drag", a, f(c))
                },
                stop: function(g, h) {
                    c.position = [h.position.left - d.scrollLeft(), h.position.top - d.scrollTop()], a(this).removeClass("ui-dialog-dragging").height(e), b._trigger("dragStop", g, f(h)), a.ui.dialog.overlay.resize()
                }
            })
        },
        _makeResizable: function(c) {
            function h(a) {
                return {
                    originalPosition: a.originalPosition,
                    originalSize: a.originalSize,
                    position: a.position,
                    size: a.size
                }
            }
            c = c === b ? this.options.resizable : c;
            var d = this,
                e = d.options,
                f = d.uiDialog.css("position"),
                g = typeof c == "string" ? c : "n,e,s,w,se,sw,ne,nw";
            d.uiDialog.resizable({
                cancel: ".ui-dialog-content",
                containment: "document",
                alsoResize: d.element,
                maxWidth: e.maxWidth,
                maxHeight: e.maxHeight,
                minWidth: e.minWidth,
                minHeight: d._minHeight(),
                handles: g,
                start: function(b, c) {
                    a(this).addClass("ui-dialog-resizing"), d._trigger("resizeStart", b, h(c))
                },
                resize: function(a, b) {
                    d._trigger("resize", a, h(b))
                },
                stop: function(b, c) {
                    a(this).removeClass("ui-dialog-resizing"), e.height = a(this).height(), e.width = a(this).width(), d._trigger("resizeStop", b, h(c)), a.ui.dialog.overlay.resize()
                }
            }).css("position", f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")
        },
        _minHeight: function() {
            var a = this.options;
            return a.height === "auto" ? a.minHeight : Math.min(a.minHeight, a.height)
        },
        _position: function(b) {
            var c = [],
                d = [0, 0],
                e;
            if (b) {
                if (typeof b == "string" || typeof b == "object" && "0" in b) c = b.split ? b.split(" ") : [b[0], b[1]], c.length === 1 && (c[1] = c[0]), a.each(["left", "top"], function(a, b) {
                    +c[a] === c[a] && (d[a] = c[a], c[a] = b)
                }), b = {
                    my: c.join(" "),
                    at: c.join(" "),
                    offset: d.join(" ")
                };
                b = a.extend({}, a.ui.dialog.prototype.options.position, b)
            } else b = a.ui.dialog.prototype.options.position;
            e = this.uiDialog.is(":visible"), e || this.uiDialog.show(), this.uiDialog.css({
                top: 0,
                left: 0
            }).position(a.extend({
                of: window
            }, b)), e || this.uiDialog.hide()
        },
        _setOptions: function(b) {
            var c = this,
                f = {},
                g = !1;
            a.each(b, function(a, b) {
                c._setOption(a, b), a in d && (g = !0), a in e && (f[a] = b)
            }), g && this._size(), this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", f)
        },
        _setOption: function(b, d) {
            var e = this,
                f = e.uiDialog;
            switch (b) {
            case "beforeclose":
                b = "beforeClose";
                break;
            case "buttons":
                e._createButtons(d);
                break;
            case "closeText":
                e.uiDialogTitlebarCloseText.text("" + d);
                break;
            case "dialogClass":
                f.removeClass(e.options.dialogClass).addClass(c + d);
                break;
            case "disabled":
                d ? f.addClass("ui-dialog-disabled") : f.removeClass("ui-dialog-disabled");
                break;
            case "draggable":
                var g = f.is(":data(draggable)");
                g && !d && f.draggable("destroy"), !g && d && e._makeDraggable();
                break;
            case "position":
                e._position(d);
                break;
            case "resizable":
                var h = f.is(":data(resizable)");
                h && !d && f.resizable("destroy"), h && typeof d == "string" && f.resizable("option", "handles", d), !h && d !== !1 && e._makeResizable(d);
                break;
            case "title":
                a(".ui-dialog-title", e.uiDialogTitlebar).html("" + (d || "&#160;"))
            }
            a.Widget.prototype._setOption.apply(e, arguments)
        },
        _size: function() {
            var b = this.options,
                c, d, e = this.uiDialog.is(":visible");
            this.element.show().css({
                width: "auto",
                minHeight: 0,
                height: 0
            }), b.minWidth > b.width && (b.width = b.minWidth), c = this.uiDialog.css({
                height: "auto",
                width: b.width
            }).height(), d = Math.max(0, b.minHeight - c);
            if (b.height === "auto") if (a.support.minHeight) this.element.css({
                minHeight: d,
                height: "auto"
            });
            else {
                this.uiDialog.show();
                var f = this.element.css("height", "auto").height();
                e || this.uiDialog.hide(), this.element.height(Math.max(f, d))
            } else this.element.height(Math.max(b.height - c, 0));
            this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight())
        }
    }), a.extend(a.ui.dialog, {
        version: "1.8.21",
        uuid: 0,
        maxZ: 0,
        getTitleId: function(a) {
            var b = a.attr("id");
            return b || (this.uuid += 1, b = this.uuid), "ui-dialog-title-" + b
        },
        overlay: function(b) {
            this.$el = a.ui.dialog.overlay.create(b)
        }
    }), a.extend(a.ui.dialog.overlay, {
        instances: [],
        oldInstances: [],
        maxZ: 0,
        events: a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function(a) {
            return a + ".dialog-overlay"
        }).join(" "),
        create: function(b) {
            this.instances.length === 0 && (setTimeout(function() {
                a.ui.dialog.overlay.instances.length && a(document).bind(a.ui.dialog.overlay.events, function(b) {
                    if (a(b.target).zIndex() < a.ui.dialog.overlay.maxZ) return !1
                })
            }, 1), a(document).bind("keydown.dialog-overlay", function(c) {
                b.options.closeOnEscape && !c.isDefaultPrevented() && c.keyCode && c.keyCode === a.ui.keyCode.ESCAPE && (b.close(c), c.preventDefault())
            }), a(window).bind("resize.dialog-overlay", a.ui.dialog.overlay.resize));
            var c = (this.oldInstances.pop() || a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({
                width: this.width(),
                height: this.height()
            });
            return a.fn.bgiframe && c.bgiframe(), this.instances.push(c), c
        },
        destroy: function(b) {
            var c = a.inArray(b, this.instances);
            c != -1 && this.oldInstances.push(this.instances.splice(c, 1)[0]), this.instances.length === 0 && a([document, window]).unbind(".dialog-overlay"), b.remove();
            var d = 0;
            a.each(this.instances, function() {
                d = Math.max(d, this.css("z-index"))
            }), this.maxZ = d
        },
        height: function() {
            var b, c;
            return a.browser.msie && a.browser.version < 7 ? (b = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight), c = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight), b < c ? a(window).height() + "px" : b + "px") : a(document).height() + "px"
        },
        width: function() {
            var b, c;
            return a.browser.msie ? (b = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth), c = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth), b < c ? a(window).width() + "px" : b + "px") : a(document).width() + "px"
        },
        resize: function() {
            var b = a([]);
            a.each(a.ui.dialog.overlay.instances, function() {
                b = b.add(this)
            }), b.css({
                width: 0,
                height: 0
            }).css({
                width: a.ui.dialog.overlay.width(),
                height: a.ui.dialog.overlay.height()
            })
        }
    }), a.extend(a.ui.dialog.overlay.prototype, {
        destroy: function() {
            a.ui.dialog.overlay.destroy(this.$el)
        }
    })
}(jQuery), function(a, b) {
    a.ui = a.ui || {};
    var c = /left|center|right/,
        d = /top|center|bottom/,
        e = "center",
        f = {},
        g = a.fn.position,
        h = a.fn.offset;
    a.fn.position = function(b) {
        if (!b || !b.of) return g.apply(this, arguments);
        b = a.extend({}, b);
        var h = a(b.of),
            i = h[0],
            j = (b.collision || "flip").split(" "),
            k = b.offset ? b.offset.split(" ") : [0, 0],
            l, m, n;
        return i.nodeType === 9 ? (l = h.width(), m = h.height(), n = {
            top: 0,
            left: 0
        }) : i.setTimeout ? (l = h.width(), m = h.height(), n = {
            top: h.scrollTop(),
            left: h.scrollLeft()
        }) : i.preventDefault ? (b.at = "left top", l = m = 0, n = {
            top: b.of.pageY,
            left: b.of.pageX
        }) : (l = h.outerWidth(), m = h.outerHeight(), n = h.offset()), a.each(["my", "at"], function() {
            var a = (b[this] || "").split(" ");
            a.length === 1 && (a = c.test(a[0]) ? a.concat([e]) : d.test(a[0]) ? [e].concat(a) : [e, e]), a[0] = c.test(a[0]) ? a[0] : e, a[1] = d.test(a[1]) ? a[1] : e, b[this] = a
        }), j.length === 1 && (j[1] = j[0]), k[0] = parseInt(k[0], 10) || 0, k.length === 1 && (k[1] = k[0]), k[1] = parseInt(k[1], 10) || 0, b.at[0] === "right" ? n.left += l : b.at[0] === e && (n.left += l / 2), b.at[1] === "bottom" ? n.top += m : b.at[1] === e && (n.top += m / 2), n.left += k[0], n.top += k[1], this.each(function() {
            var c = a(this),
                d = c.outerWidth(),
                g = c.outerHeight(),
                h = parseInt(a.curCSS(this, "marginLeft", !0)) || 0,
                i = parseInt(a.curCSS(this, "marginTop", !0)) || 0,
                o = d + h + (parseInt(a.curCSS(this, "marginRight", !0)) || 0),
                p = g + i + (parseInt(a.curCSS(this, "marginBottom", !0)) || 0),
                q = a.extend({}, n),
                r;
            b.my[0] === "right" ? q.left -= d : b.my[0] === e && (q.left -= d / 2), b.my[1] === "bottom" ? q.top -= g : b.my[1] === e && (q.top -= g / 2), f.fractions || (q.left = Math.round(q.left), q.top = Math.round(q.top)), r = {
                left: q.left - h,
                top: q.top - i
            }, a.each(["left", "top"], function(c, e) {
                a.ui.position[j[c]] && a.ui.position[j[c]][e](q, {
                    targetWidth: l,
                    targetHeight: m,
                    elemWidth: d,
                    elemHeight: g,
                    collisionPosition: r,
                    collisionWidth: o,
                    collisionHeight: p,
                    offset: k,
                    my: b.my,
                    at: b.at
                })
            }), a.fn.bgiframe && c.bgiframe(), c.offset(a.extend(q, {
                using: b.using
            }))
        })
    }, a.ui.position = {
        fit: {
            left: function(b, c) {
                var d = a(window),
                    e = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft();
                b.left = e > 0 ? b.left - e : Math.max(b.left - c.collisionPosition.left, b.left)
            },
            top: function(b, c) {
                var d = a(window),
                    e = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop();
                b.top = e > 0 ? b.top - e : Math.max(b.top - c.collisionPosition.top, b.top)
            }
        },
        flip: {
            left: function(b, c) {
                if (c.at[0] === e) return;
                var d = a(window),
                    f = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft(),
                    g = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0,
                    h = c.at[0] === "left" ? c.targetWidth : -c.targetWidth,
                    i = -2 * c.offset[0];
                b.left += c.collisionPosition.left < 0 ? g + h + i : f > 0 ? g + h + i : 0
            },
            top: function(b, c) {
                if (c.at[1] === e) return;
                var d = a(window),
                    f = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop(),
                    g = c.my[1] === "top" ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0,
                    h = c.at[1] === "top" ? c.targetHeight : -c.targetHeight,
                    i = -2 * c.offset[1];
                b.top += c.collisionPosition.top < 0 ? g + h + i : f > 0 ? g + h + i : 0
            }
        }
    }, a.offset.setOffset || (a.offset.setOffset = function(b, c) {
        /static/.test(a.curCSS(b, "position")) && (b.style.position = "relative");
        var d = a(b),
            e = d.offset(),
            f = parseInt(a.curCSS(b, "top", !0), 10) || 0,
            g = parseInt(a.curCSS(b, "left", !0), 10) || 0,
            h = {
                top: c.top - e.top + f,
                left: c.left - e.left + g
            };
        "using" in c ? c.using.call(b, h) : d.css(h)
    }, a.fn.offset = function(b) {
        var c = this[0];
        return !c || !c.ownerDocument ? null : b ? a.isFunction(b) ? this.each(function(c) {
            a(this).offset(b.call(this, c, a(this).offset()))
        }) : this.each(function() {
            a.offset.setOffset(this, b)
        }) : h.call(this)
    }), function() {
        var b = document.getElementsByTagName("body")[0],
            c = document.createElement("div"),
            d, e, g, h, i;
        d = document.createElement(b ? "div" : "body"), g = {
            visibility: "hidden",
            width: 0,
            height: 0,
            border: 0,
            margin: 0,
            background: "none"
        }, b && a.extend(g, {
            position: "absolute",
            left: "-1000px",
            top: "-1000px"
        });
        for (var j in g) d.style[j] = g[j];
        d.appendChild(c), e = b || document.documentElement, e.insertBefore(d, e.firstChild), c.style.cssText = "position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;", h = a(c).offset(function(a, b) {
            return b
        }).offset(), d.innerHTML = "", e.removeChild(d), i = h.top + h.left + (b ? 2e3 : 0), f.fractions = i > 21 && i < 22
    }()
}(jQuery), function(a, b) {
    a.widget("ui.progressbar", {
        options: {
            value: 0,
            max: 100
        },
        min: 0,
        _create: function() {
            this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({
                role: "progressbar",
                "aria-valuemin": this.min,
                "aria-valuemax": this.options.max,
                "aria-valuenow": this._value()
            }), this.valueDiv = a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element), this.oldValue = this._value(), this._refreshValue()
        },
        destroy: function() {
            this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"), this.valueDiv.remove(), a.Widget.prototype.destroy.apply(this, arguments)
        },
        value: function(a) {
            return a === b ? this._value() : (this._setOption("value", a), this)
        },
        _setOption: function(b, c) {
            b === "value" && (this.options.value = c, this._refreshValue(), this._value() === this.options.max && this._trigger("complete")), a.Widget.prototype._setOption.apply(this, arguments)
        },
        _value: function() {
            var a = this.options.value;
            return typeof a != "number" && (a = 0), Math.min(this.options.max, Math.max(this.min, a))
        },
        _percentage: function() {
            return 100 * this._value() / this.options.max
        },
        _refreshValue: function() {
            var a = this.value(),
                b = this._percentage();
            this.oldValue !== a && (this.oldValue = a, this._trigger("change")), this.valueDiv.toggle(a > this.min).toggleClass("ui-corner-right", a === this.options.max).width(b.toFixed(0) + "%"), this.element.attr("aria-valuenow", a)
        }
    }), a.extend(a.ui.progressbar, {
        version: "1.8.21"
    })
}(jQuery), function(a, b) {
    var c = 5;
    a.widget("ui.slider", a.ui.mouse, {
        widgetEventPrefix: "slide",
        options: {
            animate: !1,
            distance: 0,
            max: 100,
            min: 0,
            orientation: "horizontal",
            range: !1,
            step: 1,
            value: 0,
            values: null
        },
        _create: function() {
            var b = this,
                d = this.options,
                e = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),
                f = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",
                g = d.values && d.values.length || 1,
                h = [];
            this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget" + " ui-widget-content" + " ui-corner-all" + (d.disabled ? " ui-slider-disabled ui-disabled" : "")), this.range = a([]), d.range && (d.range === !0 && (d.values || (d.values = [this._valueMin(), this._valueMin()]), d.values.length && d.values.length !== 2 && (d.values = [d.values[0], d.values[0]])), this.range = a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header" + (d.range === "min" || d.range === "max" ? " ui-slider-range-" + d.range : "")));
            for (var i = e.length; i < g; i += 1) h.push(f);
            this.handles = e.add(a(h.join("")).appendTo(b.element)), this.handle = this.handles.eq(0), this.handles.add(this.range).filter("a").click(function(a) {
                a.preventDefault()
            }).hover(function() {
                d.disabled || a(this).addClass("ui-state-hover")
            }, function() {
                a(this).removeClass("ui-state-hover")
            }).focus(function() {
                d.disabled ? a(this).blur() : (a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"), a(this).addClass("ui-state-focus"))
            }).blur(function() {
                a(this).removeClass("ui-state-focus")
            }), this.handles.each(function(b) {
                a(this).data("index.ui-slider-handle", b)
            }), this.handles.keydown(function(d) {
                var e = a(this).data("index.ui-slider-handle"),
                    f, g, h, i;
                if (b.options.disabled) return;
                switch (d.keyCode) {
                case a.ui.keyCode.HOME:
                case a.ui.keyCode.END:
                case a.ui.keyCode.PAGE_UP:
                case a.ui.keyCode.PAGE_DOWN:
                case a.ui.keyCode.UP:
                case a.ui.keyCode.RIGHT:
                case a.ui.keyCode.DOWN:
                case a.ui.keyCode.LEFT:
                    d.preventDefault();
                    if (!b._keySliding) {
                        b._keySliding = !0, a(this).addClass("ui-state-active"), f = b._start(d, e);
                        if (f === !1) return
                    }
                }
                i = b.options.step, b.options.values && b.options.values.length ? g = h = b.values(e) : g = h = b.value();
                switch (d.keyCode) {
                case a.ui.keyCode.HOME:
                    h = b._valueMin();
                    break;
                case a.ui.keyCode.END:
                    h = b._valueMax();
                    break;
                case a.ui.keyCode.PAGE_UP:
                    h = b._trimAlignValue(g + (b._valueMax() - b._valueMin()) / c);
                    break;
                case a.ui.keyCode.PAGE_DOWN:
                    h = b._trimAlignValue(g - (b._valueMax() - b._valueMin()) / c);
                    break;
                case a.ui.keyCode.UP:
                case a.ui.keyCode.RIGHT:
                    if (g === b._valueMax()) return;
                    h = b._trimAlignValue(g + i);
                    break;
                case a.ui.keyCode.DOWN:
                case a.ui.keyCode.LEFT:
                    if (g === b._valueMin()) return;
                    h = b._trimAlignValue(g - i)
                }
                b._slide(d, e, h)
            }).keyup(function(c) {
                var d = a(this).data("index.ui-slider-handle");
                b._keySliding && (b._keySliding = !1, b._stop(c, d), b._change(c, d), a(this).removeClass("ui-state-active"))
            }), this._refreshValue(), this._animateOff = !1
        },
        destroy: function() {
            return this.handles.remove(), this.range.remove(), this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"), this._mouseDestroy(), this
        },
        _mouseCapture: function(b) {
            var c = this.options,
                d, e, f, g, h, i, j, k, l;
            return c.disabled ? !1 : (this.elementSize = {
                width: this.element.outerWidth(),
                height: this.element.outerHeight()
            }, this.elementOffset = this.element.offset(), d = {
                x: b.pageX,
                y: b.pageY
            }, e = this._normValueFromMouse(d), f = this._valueMax() - this._valueMin() + 1, h = this, this.handles.each(function(b) {
                var c = Math.abs(e - h.values(b));
                f > c && (f = c, g = a(this), i = b)
            }), c.range === !0 && this.values(1) === c.min && (i += 1, g = a(this.handles[i])), j = this._start(b, i), j === !1 ? !1 : (this._mouseSliding = !0, h._handleIndex = i, g.addClass("ui-state-active").focus(), k = g.offset(), l = !a(b.target).parents().andSelf().is(".ui-slider-handle"), this._clickOffset = l ? {
                left: 0,
                top: 0
            } : {
                left: b.pageX - k.left - g.width() / 2,
                top: b.pageY - k.top - g.height() / 2 - (parseInt(g.css("borderTopWidth"), 10) || 0) - (parseInt(g.css("borderBottomWidth"), 10) || 0) + (parseInt(g.css("marginTop"), 10) || 0)
            }, this.handles.hasClass("ui-state-hover") || this._slide(b, i, e), this._animateOff = !0, !0))
        },
        _mouseStart: function(a) {
            return !0
        },
        _mouseDrag: function(a) {
            var b = {
                x: a.pageX,
                y: a.pageY
            },
                c = this._normValueFromMouse(b);
            return this._slide(a, this._handleIndex, c), !1
        },
        _mouseStop: function(a) {
            return this.handles.removeClass("ui-state-active"), this._mouseSliding = !1, this._stop(a, this._handleIndex), this._change(a, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1
        },
        _detectOrientation: function() {
            this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal"
        },
        _normValueFromMouse: function(a) {
            var b, c, d, e, f;
            return this.orientation === "horizontal" ? (b = this.elementSize.width, c = a.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (b = this.elementSize.height, c = a.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), d = c / b, d > 1 && (d = 1), d < 0 && (d = 0), this.orientation === "vertical" && (d = 1 - d), e = this._valueMax() - this._valueMin(), f = this._valueMin() + d * e, this._trimAlignValue(f)
        },
        _start: function(a, b) {
            var c = {
                handle: this.handles[b],
                value: this.value()
            };
            return this.options.values && this.options.values.length && (c.value = this.values(b), c.values = this.values()), this._trigger("start", a, c)
        },
        _slide: function(a, b, c) {
            var d, e, f;
            this.options.values && this.options.values.length ? (d = this.values(b ? 0 : 1), this.options.values.length === 2 && this.options.range === !0 && (b === 0 && c > d || b === 1 && c < d) && (c = d), c !== this.values(b) && (e = this.values(), e[b] = c, f = this._trigger("slide", a, {
                handle: this.handles[b],
                value: c,
                values: e
            }), d = this.values(b ? 0 : 1), f !== !1 && this.values(b, c, !0))) : c !== this.value() && (f = this._trigger("slide", a, {
                handle: this.handles[b],
                value: c
            }), f !== !1 && this.value(c))
        },
        _stop: function(a, b) {
            var c = {
                handle: this.handles[b],
                value: this.value()
            };
            this.options.values && this.options.values.length && (c.value = this.values(b), c.values = this.values()), this._trigger("stop", a, c)
        },
        _change: function(a, b) {
            if (!this._keySliding && !this._mouseSliding) {
                var c = {
                    handle: this.handles[b],
                    value: this.value()
                };
                this.options.values && this.options.values.length && (c.value = this.values(b), c.values = this.values()), this._trigger("change", a, c)
            }
        },
        value: function(a) {
            if (arguments.length) {
                this.options.value = this._trimAlignValue(a), this._refreshValue(), this._change(null, 0);
                return
            }
            return this._value()
        },
        values: function(b, c) {
            var d, e, f;
            if (arguments.length > 1) {
                this.options.values[b] = this._trimAlignValue(c), this._refreshValue(), this._change(null, b);
                return
            }
            if (!arguments.length) return this._values();
            if (!a.isArray(arguments[0])) return this.options.values && this.options.values.length ? this._values(b) : this.value();
            d = this.options.values, e = arguments[0];
            for (f = 0; f < d.length; f += 1) d[f] = this._trimAlignValue(e[f]), this._change(null, f);
            this._refreshValue()
        },
        _setOption: function(b, c) {
            var d, e = 0;
            a.isArray(this.options.values) && (e = this.options.values.length), a.Widget.prototype._setOption.apply(this, arguments);
            switch (b) {
            case "disabled":
                c ? (this.handles.filter(".ui-state-focus").blur(), this.handles.removeClass("ui-state-hover"), this.handles.propAttr("disabled", !0), this.element.addClass("ui-disabled")) : (this.handles.propAttr("disabled", !1), this.element.removeClass("ui-disabled"));
                break;
            case "orientation":
                this._detectOrientation(), this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation), this._refreshValue();
                break;
            case "value":
                this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;
                break;
            case "values":
                this._animateOff = !0, this._refreshValue();
                for (d = 0; d < e; d += 1) this._change(null, d);
                this._animateOff = !1
            }
        },
        _value: function() {
            var a = this.options.value;
            return a = this._trimAlignValue(a), a
        },
        _values: function(a) {
            var b, c, d;
            if (arguments.length) return b = this.options.values[a], b = this._trimAlignValue(b), b;
            c = this.options.values.slice();
            for (d = 0; d < c.length; d += 1) c[d] = this._trimAlignValue(c[d]);
            return c
        },
        _trimAlignValue: function(a) {
            if (a <= this._valueMin()) return this._valueMin();
            if (a >= this._valueMax()) return this._valueMax();
            var b = this.options.step > 0 ? this.options.step : 1,
                c = (a - this._valueMin()) % b,
                d = a - c;
            return Math.abs(c) * 2 >= b && (d += c > 0 ? b : -b), parseFloat(d.toFixed(5))
        },
        _valueMin: function() {
            return this.options.min
        },
        _valueMax: function() {
            return this.options.max
        },
        _refreshValue: function() {
            var b = this.options.range,
                c = this.options,
                d = this,
                e = this._animateOff ? !1 : c.animate,
                f, g = {},
                h, i, j, k;
            this.options.values && this.options.values.length ? this.handles.each(function(b, i) {
                f = (d.values(b) - d._valueMin()) / (d._valueMax() - d._valueMin()) * 100, g[d.orientation === "horizontal" ? "left" : "bottom"] = f + "%", a(this).stop(1, 1)[e ? "animate" : "css"](g, c.animate), d.options.range === !0 && (d.orientation === "horizontal" ? (b === 0 && d.range.stop(1, 1)[e ? "animate" : "css"]({
                    left: f + "%"
                }, c.animate), b === 1 && d.range[e ? "animate" : "css"]({
                    width: f - h + "%"
                }, {
                    queue: !1,
                    duration: c.animate
                })) : (b === 0 && d.range.stop(1, 1)[e ? "animate" : "css"]({
                    bottom: f + "%"
                }, c.animate), b === 1 && d.range[e ? "animate" : "css"]({
                    height: f - h + "%"
                }, {
                    queue: !1,
                    duration: c.animate
                }))), h = f
            }) : (i = this.value(), j = this._valueMin(), k = this._valueMax(), f = k !== j ? (i - j) / (k - j) * 100 : 0, g[d.orientation === "horizontal" ? "left" : "bottom"] = f + "%", this.handle.stop(1, 1)[e ? "animate" : "css"](g, c.animate), b === "min" && this.orientation === "horizontal" && this.range.stop(1, 1)[e ? "animate" : "css"]({
                width: f + "%"
            }, c.animate), b === "max" && this.orientation === "horizontal" && this.range[e ? "animate" : "css"]({
                width: 100 - f + "%"
            }, {
                queue: !1,
                duration: c.animate
            }), b === "min" && this.orientation === "vertical" && this.range.stop(1, 1)[e ? "animate" : "css"]({
                height: f + "%"
            }, c.animate), b === "max" && this.orientation === "vertical" && this.range[e ? "animate" : "css"]({
                height: 100 - f + "%"
            }, {
                queue: !1,
                duration: c.animate
            }))
        }
    }), a.extend(a.ui.slider, {
        version: "1.8.21"
    })
}(jQuery), function(a, b) {
    function e() {
        return ++c
    }
    function f() {
        return ++d
    }
    var c = 0,
        d = 0;
    a.widget("ui.tabs", {
        options: {
            add: null,
            ajaxOptions: null,
            cache: !1,
            cookie: null,
            collapsible: !1,
            disable: null,
            disabled: [],
            enable: null,
            event: "click",
            fx: null,
            idPrefix: "ui-tabs-",
            load: null,
            panelTemplate: "<div></div>",
            remove: null,
            select: null,
            show: null,
            spinner: "<em>Loading&#8230;</em>",
            tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>"
        },
        _create: function() {
            this._tabify(!0)
        },
        _setOption: function(a, b) {
            if (a == "selected") {
                if (this.options.collapsible && b == this.options.selected) return;
                this.select(b)
            } else this.options[a] = b, this._tabify()
        },
        _tabId: function(a) {
            return a.title && a.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF-]/g, "") || this.options.idPrefix + e()
        },
        _sanitizeSelector: function(a) {
            return a.replace(/:/g, "\\:")
        },
        _cookie: function() {
            var b = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + f());
            return a.cookie.apply(null, [b].concat(a.makeArray(arguments)))
        },
        _ui: function(a, b) {
            return {
                tab: a,
                panel: b,
                index: this.anchors.index(a)
            }
        },
        _cleanup: function() {
            this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function() {
                var b = a(this);
                b.html(b.data("label.tabs")).removeData("label.tabs")
            })
        },
        _tabify: function(c) {
            function m(b, c) {
                b.css("display", ""), !a.support.opacity && c.opacity && b[0].style.removeAttribute("filter")
            }
            var d = this,
                e = this.options,
                f = /^#.+/;
            this.list = this.element.find("ol,ul").eq(0), this.lis = a(" > li:has(a[href])", this.list), this.anchors = this.lis.map(function() {
                return a("a", this)[0]
            }), this.panels = a([]), this.anchors.each(function(b, c) {
                var g = a(c).attr("href"),
                    h = g.split("#")[0],
                    i;
                h && (h === location.toString().split("#")[0] || (i = a("base")[0]) && h === i.href) && (g = c.hash, c.href = g);
                if (f.test(g)) d.panels = d.panels.add(d.element.find(d._sanitizeSelector(g)));
                else if (g && g !== "#") {
                    a.data(c, "href.tabs", g), a.data(c, "load.tabs", g.replace(/#.*$/, ""));
                    var j = d._tabId(c);
                    c.href = "#" + j;
                    var k = d.element.find("#" + j);
                    k.length || (k = a(e.panelTemplate).attr("id", j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b - 1] || d.list), k.data("destroy.tabs", !0)), d.panels = d.panels.add(k)
                } else e.disabled.push(b)
            }), c ? (this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"), this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"), this.lis.addClass("ui-state-default ui-corner-top"), this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"), e.selected === b ? (location.hash && this.anchors.each(function(a, b) {
                if (b.hash == location.hash) return e.selected = a, !1
            }), typeof e.selected != "number" && e.cookie && (e.selected = parseInt(d._cookie(), 10)), typeof e.selected != "number" && this.lis.filter(".ui-tabs-selected").length && (e.selected = this.lis.index(this.lis.filter(".ui-tabs-selected"))), e.selected = e.selected || (this.lis.length ? 0 : -1)) : e.selected === null && (e.selected = -1), e.selected = e.selected >= 0 && this.anchors[e.selected] || e.selected < 0 ? e.selected : 0, e.disabled = a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"), function(a, b) {
                return d.lis.index(a)
            }))).sort(), a.inArray(e.selected, e.disabled) != -1 && e.disabled.splice(a.inArray(e.selected, e.disabled), 1), this.panels.addClass("ui-tabs-hide"), this.lis.removeClass("ui-tabs-selected ui-state-active"), e.selected >= 0 && this.anchors.length && (d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"), this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"), d.element.queue("tabs", function() {
                d._trigger("show", null, d._ui(d.anchors[e.selected], d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))
            }), this.load(e.selected)), a(window).bind("unload", function() {
                d.lis.add(d.anchors).unbind(".tabs"), d.lis = d.anchors = d.panels = null
            })) : e.selected = this.lis.index(this.lis.filter(".ui-tabs-selected")), this.element[e.collapsible ? "addClass" : "removeClass"]("ui-tabs-collapsible"), e.cookie && this._cookie(e.selected, e.cookie);
            for (var g = 0, h; h = this.lis[g]; g++) a(h)[a.inArray(g, e.disabled) != -1 && !a(h).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled");
            e.cache === !1 && this.anchors.removeData("cache.tabs"), this.lis.add(this.anchors).unbind(".tabs");
            if (e.event !== "mouseover") {
                var i = function(a, b) {
                        b.is(":not(.ui-state-disabled)") && b.addClass("ui-state-" + a)
                    },
                    j = function(a, b) {
                        b.removeClass("ui-state-" + a)
                    };
                this.lis.bind("mouseover.tabs", function() {
                    i("hover", a(this))
                }), this.lis.bind("mouseout.tabs", function() {
                    j("hover", a(this))
                }), this.anchors.bind("focus.tabs", function() {
                    i("focus", a(this).closest("li"))
                }), this.anchors.bind("blur.tabs", function() {
                    j("focus", a(this).closest("li"))
                })
            }
            var k, l;
            e.fx && (a.isArray(e.fx) ? (k = e.fx[0], l = e.fx[1]) : k = l = e.fx);
            var n = l ?
            function(b, c) {
                a(b).closest("li").addClass("ui-tabs-selected ui-state-active"), c.hide().removeClass("ui-tabs-hide").animate(l, l.duration || "normal", function() {
                    m(c, l), d._trigger("show", null, d._ui(b, c[0]))
                })
            } : function(b, c) {
                a(b).closest("li").addClass("ui-tabs-selected ui-state-active"), c.removeClass("ui-tabs-hide"), d._trigger("show", null, d._ui(b, c[0]))
            }, o = k ?
            function(a, b) {
                b.animate(k, k.duration || "normal", function() {
                    d.lis.removeClass("ui-tabs-selected ui-state-active"), b.addClass("ui-tabs-hide"), m(b, k), d.element.dequeue("tabs")
                })
            } : function(a, b, c) {
                d.lis.removeClass("ui-tabs-selected ui-state-active"), b.addClass("ui-tabs-hide"), d.element.dequeue("tabs")
            };
            this.anchors.bind(e.event + ".tabs", function() {
                var b = this,
                    c = a(b).closest("li"),
                    f = d.panels.filter(":not(.ui-tabs-hide)"),
                    g = d.element.find(d._sanitizeSelector(b.hash));
                if (c.hasClass("ui-tabs-selected") && !e.collapsible || c.hasClass("ui-state-disabled") || c.hasClass("ui-state-processing") || d.panels.filter(":animated").length || d._trigger("select", null, d._ui(this, g[0])) === !1) return this.blur(), !1;
                e.selected = d.anchors.index(this), d.abort();
                if (e.collapsible) {
                    if (c.hasClass("ui-tabs-selected")) return e.selected = -1, e.cookie && d._cookie(e.selected, e.cookie), d.element.queue("tabs", function() {
                        o(b, f)
                    }).dequeue("tabs"), this.blur(), !1;
                    if (!f.length) return e.cookie && d._cookie(e.selected, e.cookie), d.element.queue("tabs", function() {
                        n(b, g)
                    }), d.load(d.anchors.index(this)), this.blur(), !1
                }
                e.cookie && d._cookie(e.selected, e.cookie);
                if (g.length) f.length && d.element.queue("tabs", function() {
                    o(b, f)
                }), d.element.queue("tabs", function() {
                    n(b, g)
                }), d.load(d.anchors.index(this));
                else throw "jQuery UI Tabs: Mismatching fragment identifier.";
                a.browser.msie && this.blur()
            }), this.anchors.bind("click.tabs", function() {
                return !1
            })
        },
        _getIndex: function(a) {
            return typeof a == "string" && (a = this.anchors.index(this.anchors.filter("[href$='" + a + "']"))), a
        },
        destroy: function() {
            var b = this.options;
            return this.abort(), this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"), this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"), this.anchors.each(function() {
                var b = a.data(this, "href.tabs");
                b && (this.href = b);
                var c = a(this).unbind(".tabs");
                a.each(["href", "load", "cache"], function(a, b) {
                    c.removeData(b + ".tabs")
                })
            }), this.lis.unbind(".tabs").add(this.panels).each(function() {
                a.data(this, "destroy.tabs") ? a(this).remove() : a(this).removeClass(["ui-state-default", "ui-corner-top", "ui-tabs-selected", "ui-state-active", "ui-state-hover", "ui-state-focus", "ui-state-disabled", "ui-tabs-panel", "ui-widget-content", "ui-corner-bottom", "ui-tabs-hide"].join(" "))
            }), b.cookie && this._cookie(null, b.cookie), this
        },
        add: function(c, d, e) {
            e === b && (e = this.anchors.length);
            var f = this,
                g = this.options,
                h = a(g.tabTemplate.replace(/#\{href\}/g, c).replace(/#\{label\}/g, d)),
                i = c.indexOf("#") ? this._tabId(a("a", h)[0]) : c.replace("#", "");
            h.addClass("ui-state-default ui-corner-top").data("destroy.tabs", !0);
            var j = f.element.find("#" + i);
            return j.length || (j = a(g.panelTemplate).attr("id", i).data("destroy.tabs", !0)), j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"), e >= this.lis.length ? (h.appendTo(this.list), j.appendTo(this.list[0].parentNode)) : (h.insertBefore(this.lis[e]), j.insertBefore(this.panels[e])), g.disabled = a.map(g.disabled, function(a, b) {
                return a >= e ? ++a : a
            }), this._tabify(), this.anchors.length == 1 && (g.selected = 0, h.addClass("ui-tabs-selected ui-state-active"), j.removeClass("ui-tabs-hide"), this.element.queue("tabs", function() {
                f._trigger("show", null, f._ui(f.anchors[0], f.panels[0]))
            }), this.load(0)), this._trigger("add", null, this._ui(this.anchors[e], this.panels[e])), this
        },
        remove: function(b) {
            b = this._getIndex(b);
            var c = this.options,
                d = this.lis.eq(b).remove(),
                e = this.panels.eq(b).remove();
            return d.hasClass("ui-tabs-selected") && this.anchors.length > 1 && this.select(b + (b + 1 < this.anchors.length ? 1 : -1)), c.disabled = a.map(a.grep(c.disabled, function(a, c) {
                return a != b
            }), function(a, c) {
                return a >= b ? --a : a
            }), this._tabify(), this._trigger("remove", null, this._ui(d.find("a")[0], e[0])), this
        },
        enable: function(b) {
            b = this._getIndex(b);
            var c = this.options;
            if (a.inArray(b, c.disabled) == -1) return;
            return this.lis.eq(b).removeClass("ui-state-disabled"), c.disabled = a.grep(c.disabled, function(a, c) {
                return a != b
            }), this._trigger("enable", null, this._ui(this.anchors[b], this.panels[b])), this
        },
        disable: function(a) {
            a = this._getIndex(a);
            var b = this,
                c = this.options;
            return a != c.selected && (this.lis.eq(a).addClass("ui-state-disabled"), c.disabled.push(a), c.disabled.sort(), this._trigger("disable", null, this._ui(this.anchors[a], this.panels[a]))), this
        },
        select: function(a) {
            a = this._getIndex(a);
            if (a == -1) if (this.options.collapsible && this.options.selected != -1) a = this.options.selected;
            else return this;
            return this.anchors.eq(a).trigger(this.options.event + ".tabs"), this
        },
        load: function(b) {
            b = this._getIndex(b);
            var c = this,
                d = this.options,
                e = this.anchors.eq(b)[0],
                f = a.data(e, "load.tabs");
            this.abort();
            if (!f || this.element.queue("tabs").length !== 0 && a.data(e, "cache.tabs")) {
                this.element.dequeue("tabs");
                return
            }
            this.lis.eq(b).addClass("ui-state-processing");
            if (d.spinner) {
                var g = a("span", e);
                g.data("label.tabs", g.html()).html(d.spinner)
            }
            return this.xhr = a.ajax(a.extend({}, d.ajaxOptions, {
                url: f,
                success: function(f, g) {
                    c.element.find(c._sanitizeSelector(e.hash)).html(f), c._cleanup(), d.cache && a.data(e, "cache.tabs", !0), c._trigger("load", null, c._ui(c.anchors[b], c.panels[b]));
                    try {
                        d.ajaxOptions.success(f, g)
                    } catch (h) {}
                },
                error: function(a, f, g) {
                    c._cleanup(), c._trigger("load", null, c._ui(c.anchors[b], c.panels[b]));
                    try {
                        d.ajaxOptions.error(a, f, b, e)
                    } catch (g) {}
                }
            })), c.element.dequeue("tabs"), this
        },
        abort: function() {
            return this.element.queue([]), this.panels.stop(!1, !0), this.element.queue("tabs", this.element.queue("tabs").splice(-2, 2)), this.xhr && (this.xhr.abort(), delete this.xhr), this._cleanup(), this
        },
        url: function(a, b) {
            return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs", b), this
        },
        length: function() {
            return this.anchors.length
        }
    }), a.extend(a.ui.tabs, {
        version: "1.8.21"
    }), a.extend(a.ui.tabs.prototype, {
        rotation: null,
        rotate: function(a, b) {
            var c = this,
                d = this.options,
                e = c._rotate || (c._rotate = function(b) {
                    clearTimeout(c.rotation), c.rotation = setTimeout(function() {
                        var a = d.selected;
                        c.select(++a < c.anchors.length ? a : 0)
                    }, a), b && b.stopPropagation()
                }),
                f = c._unrotate || (c._unrotate = b ?
                function(a) {
                    e()
                } : function(a) {
                    a.clientX && c.rotate(null)
                });
            return a ? (this.element.bind("tabsshow", e), this.anchors.bind(d.event + ".tabs", f), e()) : (clearTimeout(c.rotation), this.element.unbind("tabsshow", e), this.anchors.unbind(d.event + ".tabs", f), delete this._rotate, delete this._unrotate), this
        }
    })
}(jQuery);

Executed Writes (0)



HTTP Transactions (28)


Request Response
GET /wingames/apple_mx/index.php HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
HTTP/1.1 200 OK

Content-Type: text/html
Date: Sun, 11 Nov 2012 04:51:41 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.18
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; path=/ cookie_pixel_pkwg512-visitas=2012-11-11; expires=Mon, 12-Nov-2012 04:51:41 GMT; path=/ SESSIONID=F; path=/
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 11499
Connection: close
GET /wingames/apple_master/css/style_apple.css HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: text/css
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 19 Oct 2012 08:49:29 GMT
Etag: &quot;a043a-21e9-4cc6594ea7840&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2323
Connection: close
GET /wingames/apple_master/css/ubuntu400_700.css HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: text/css
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;a017a-208-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 264
Connection: close
GET /wingames/apple_mx/img/cssImagenes.css HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: text/css
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523951-aee-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 736
Connection: close
GET /js/master_system/jquery.carouFredSel-5.5.5-packed.js HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: application/javascript
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Wed, 02 May 2012 10:15:50 GMT
Etag: &quot;c3515-7e3a-4bf0af8b48180&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 12122
Connection: close
GET /js/jquery/jquery-1.7.1.js HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: application/javascript
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Tue, 13 Mar 2012 14:41:05 GMT
Etag: &quot;4e348a-16eac-4bb20d93f6240&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 33140
Connection: close
GET /wingames/apple_master/js/script_apple.js HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: application/javascript
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Tue, 14 Aug 2012 12:53:44 GMT
Etag: &quot;a0219-2d22-4c7394ce54600&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2952
Connection: close
GET /js/master_system/getByCp.js HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: application/javascript
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 02 Nov 2012 12:29:20 GMT
Etag: &quot;c3ddd-144b-4cd8248f06800&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2016
Connection: close
GET /imagenes/sponsors/logospon_20120223131032.png HTTP/1.1

Host: www.aldaniti.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:42 GMT
Server: Apache
Last-Modified: Thu, 23 Feb 2012 12:10:32 GMT
Etag: &quot;4c4a5a-12ff-4b9a087e5951e&quot;
Accept-Ranges: bytes
Content-Length: 4863
Connection: close
GET /js/master_system/preloadcssimg.js HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: application/javascript
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Tue, 07 Aug 2012 07:02:09 GMT
Etag: &quot;c3dd0-183a-4c6a792a57e40&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2424
Connection: close
GET /wingames/apple_mx/img/progressbar_bg.png HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523959-3ce-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 974
Connection: close
GET /wingames/apple_mx/img/progressbar_fill.png HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;52395a-3ce-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 974
Connection: close
GET /wingames/apple_mx/img/main_bg.jpg HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523956-4be-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 1214
Connection: close
X-Pad: avoid browser bug
GET /wingames/apple_mx/img/fondo_btn.jpg HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523952-491-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 1169
Connection: close
X-Pad: avoid browser bug
GET /wingames/apple_mx/img/logos_252.png HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523955-3a79-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 14969
Connection: close
X-Pad: avoid browser bug
GET /wingames/apple_mx/img/bodegon.jpg HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;52394f-1447a-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 83066
Connection: close
GET /ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css HTTP/1.1

Host: ajax.googleapis.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
HTTP/1.1 200 OK

Content-Type: text/css; charset=UTF-8
Vary: Accept-Encoding
Content-Encoding: gzip
Last-Modified: Fri, 12 Oct 2012 18:27:19 GMT
Date: Sun, 11 Nov 2012 04:44:59 GMT
Expires: Sun, 11 Nov 2012 05:44:59 GMT
X-Content-Type-Options: nosniff
Server: sffe
Content-Length: 5825
X-XSS-Protection: 1; mode=block
Age: 407
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=3600
GET /wingames/apple_mx/img/i.png HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/img/cssImagenes.css
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:45 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523953-24c53-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 150611
Connection: close
GET /js/jquery/jquery-ui-1.8.21.min.js?_=1352609505838 HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: application/javascript
Date: Sun, 11 Nov 2012 04:51:46 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Wed, 04 Jul 2012 07:10:55 GMT
Etag: &quot;4e0a92-3176c-4c3fbbb64ddc0&quot;
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 51862
Connection: close
GET /wingames/apple_mx/img/mini.png HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:46 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523958-c14-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 3092
Connection: close
GET /wingames/apple_mx/img/loading.gif HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/gif
Date: Sun, 11 Nov 2012 04:51:46 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523954-252c-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 9516
Connection: close
X-Pad: avoid browser bug
GET /wingames/apple_mx/img/accesorios.jpg HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:46 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;52394e-6113-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 24851
Connection: close
X-Pad: avoid browser bug
GET /wingames/apple_mx/img/pys_a.jpg HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:47 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;52395b-ad0b-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 44299
Connection: close
X-Pad: avoid browser bug
GET /wingames/apple_mx/img/chicas_banners.jpg HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:50 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Fri, 18 May 2012 11:31:39 GMT
Etag: &quot;523950-24004-4c04de54ebcc0&quot;
Accept-Ranges: bytes
Content-Length: 147460
Connection: close
GET /imagenes/sponsors/logospon_aldaniti.png HTTP/1.1

Host: www.aldaniti.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:51 GMT
Server: Apache
Last-Modified: Tue, 13 Mar 2012 14:41:02 GMT
Etag: &quot;4c5173-aff-4bb20d9119b80&quot;
Accept-Ranges: bytes
Content-Length: 2815
Connection: close
GET /imagenes/sponsors/logospon_20120223112107.png HTTP/1.1

Host: www.aldaniti.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
HTTP/1.1 200 OK

Content-Type: image/png
Date: Sun, 11 Nov 2012 04:51:51 GMT
Server: Apache
Last-Modified: Thu, 23 Feb 2012 10:21:08 GMT
Etag: &quot;4c4a53-2830-4b99f009ca35d&quot;
Accept-Ranges: bytes
Content-Length: 10288
Connection: close
GET /imagenes/sponsors/logospon_20120223151420.jpg HTTP/1.1

Host: www.aldaniti.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.estoestuyo.com/wingames/apple_mx/index.php
HTTP/1.1 200 OK

Content-Type: image/jpeg
Date: Sun, 11 Nov 2012 04:51:51 GMT
Server: Apache
Last-Modified: Thu, 23 Feb 2012 14:14:20 GMT
Etag: &quot;4c4a5c-7ae7-4b9a2429cb9fe&quot;
Accept-Ranges: bytes
Content-Length: 31463
Connection: close
GET /favicon.ico HTTP/1.1

Host: www.estoestuyo.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: PHPSESSID=dlc507at3jrhncb1ch7ufv4jj6; cookie_pixel_pkwg512-visitas=2012-11-11; SESSIONID=F
HTTP/1.1 200 OK

Content-Type: image/x-icon
Date: Sun, 11 Nov 2012 04:51:52 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Wed, 15 Dec 2010 14:19:46 GMT
Etag: &quot;3c53b6-3f7-49773a10f2480&quot;
Accept-Ranges: bytes
Content-Length: 1015
Connection: close
X-Pad: avoid browser bug