PageSourceSearch

https://hoyle.org.uk/Contact/files/stacks_page_page30.js?rwcache=639669875

js hoyle.org.uk collected 2026-10-02 07:53:55 UTC 191,446 bytes, 2,314 lines download raw bytes

1//
2// jwlib-rwflexnav
3//
4
5;(function($){"use strict";var version='20140730.1100',debug=function(msg,obj){if(window.debug===true&&window.console&&console.log){console.log('[rwflexnav] '+msg);if(obj)console.log(obj);}};$.fn.divideNav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});var container=$(this);$('> li.'+opts.className.divider,container).remove();var items=$('> li',container);$('<li>').addClass(opts.className.divider).insertBefore(items);$('<li>').addClass(opts.className.divider).insertAfter(items.last());return $(container);};$.fn.hackRWFlexNav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});var container=$(this);$('> ul.'+opts.className.menu,container).first().removeClass(opts.className.dropdown).find('ul').removeClass(opts.className.menu);$('> ul.'+opts.className.menu,container).find('li').each(function(){if($(this).find('ul').length===0)$(this).removeClass(opts.className.hasDropdown);});return $(container);};$.fn.processRWFlexNav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});var container=$(this);$('li a header',container).parent().attr('href','javascript:void(0)').parent().addClass(opts.className.heading);$('li a label',container).unwrap();$('li a button',container).each(function(){var classes=$(this).attr('class');var text=$(this).text();$(this).parent().addClass(opts.className.button).addClass(classe
5s).html(text).parent().addClass(opts.className.hasButton);});$('li a hr',container).unwrap().parent().addClass(opts.className.divider).html('');return $(container);};$.fn.rwflexnav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});return this.each(function(){if($('> ul.'+opts.className.menu,this).length===0){console.error('RWFlexNav Aborting! Unable to locate menu with class "'+opts.className.menu+'"');return false;}
6var method=$.fn.rwflexnav[opts.scope],container=typeof method==='function'?method(opts,this):false;if(opts.hackNav)container.hackRWFlexNav(opts);container.processRWFlexNav(opts);if(opts.divide)$('> ul.'+opts.className.menu,container).divideNav(opts);debug('Processing Complete',container);return $(container);});};$.fn.rwflexnav.all=function(opts,container){return $(container);};$.fn.rwflexnav.top=function(opts,container){$('> ul.'+opts.className.menu,container).find('ul').remove();return $(container);};$.fn.rwflexnav.subnav=function(opts,container){var menu=$('> ul.'+opts.className.menu,container).first(),submenu=$('> ul.'+opts.className.menu+'> li:nth-child('+opts.subNavIndex+') > ul',container),classes=menu.attr('class');debug('Scope SubNav',submenu);if(submenu.length===0){console.error('RWFlexNav Error! No subnav found at index '+opts.subNavIndex);}
vendor: 5,890 bytes, lines 7-14
7else{submenu.addClass(opts.className.menu).addClass(classes).insertAfter(menu);submenu.find('>li.js-generated').remove();menu.remove();}
8return $(container);};$.fn.rwflexnav.active=function(opts,container){var menu=$('> ul.'+opts.className.menu,container).first(),submenu=$('> ul.'+opts.className.menu+' > li.'+opts.className.active+' > ul',container),classes=menu.attr('class');debug('Scope Active',submenu);if(submenu.length===0){console.error('RWFlexNav Error! No active subnav found with class "'+opts.className.active+'"');}
9else{submenu.addClass(opts.className.menu).addClass(classes).insertAfter(menu);submenu.find('>li.js-generated').remove();menu.remove();}
10return $(container);};$.fn.rwflexnav.defaults={scope:'all',hackNav:true,divide:false,subNavIndex:0,className:{menu:'menu',heading:'heading',divider:'divider',active:'active',dropdown:'dropdown',button:'button',hasButton:'has-form',hasDropdown:'has-dropdown'}};})(jQuery);
11
12
13/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
14jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].c
14oncat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
15var stacks = {};
16stacks.jQuery = jQuery.noConflict(true);
17stacks.com_joeworkman_stacks_foundation_styles = {};
18stacks.com_joeworkman_stacks_foundation_styles = (function(stack) {
19var jQuery = stacks.jQuery;var $ = jQuery;(function($){"use strict";jQuery.fn.exists=function(){return jQuery(this).length>0;};jQuery.getParameterByName=function(name,url){if(!url)url=window.location.href;name=name.replace(/[[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^&#]*)|&|#|$)"),results=regex.exec(url);if(!results)return null;if(!results[2])return"";return decodeURIComponent(results[2].replace(/\+/g," "));};jQuery.debug=function(){if(window.debug===true)window.debug=1;var maxlevel=parseInt($.getParameterByName("debug")||window.debug)||0;if(maxlevel===0)return;var args=Array.prototype.slice.call(arguments),group="debug",loglevel=1;if(args.length>1&&typeof(args[args.length-1])==="number"){loglevel=args.pop();}
20if(loglevel>maxlevel)return;if(args.length>1&&typeof(args[0])==="string"){group=args.shift();}
21var debugGroup=$.getParameterByName("debugGroup")||window.debugGroup;if(debugGroup&&!group.match(debugGroup))return;console.group(group);args.forEach(function(arg){if(Array.isArray(arg)&&typeof arg[0]!=="object"){console.table(arg);}
22else{console.log(arg);}});console.groupEnd();};jQuery.isMobile=jQuery.isTouch=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch||false;};if(jQuery.isTouch())document.documentElement.classList.add("touch");jQuery.clearBrowserCache=function(){$(window).on("pageshow",function(event){if(event.originalEvent.persisted){window.location.reload();}});};jQuery.preloadImages=function(){for(var i=0;i<arguments.length;i++){$("<img />").attr("src",arguments[i]);}};var triggerWindowResize=function(){$(window).trigger("resize");};if(typeof(orientationEvent)==undefined){var orientationEvent=0;}
23$(window).on(orientationEvent,triggerWindowResize).on("load",triggerWindowResize);})(jQuery);
24!function(t,o){var s=function(t){for(var o=[];t&&void 0!==t.tagName;t=t.parentNode){if(t.className){var s=t.className.split(" ");for(var r in s)s.hasOwnProperty(r)&&s[r]&&(o.unshift(s[r]),o.unshift("."))}
24t.id&&!/\s/.test(t.id)&&(o.unshift(t.id),o.unshift("#")),o.unshift(t.tagName),o.unshift(" > ")}return o.slice(1).join("")};t.fn.getSelector=function(o){return!0===o?s(this[0]):t.map(this,function(t){return s(t)})}}(jQuery),function(t){"use strict";var o=function(t){var o=t.replace(/\s/g,"").match(/^rgb\((\d+)\,(\d+)\,(\d+)\)/);if(o)return{r:parseInt(o[1]),g:parseInt(o[2]),b:parseInt(o[3])};t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,o,s,r){return o+o+s+s+r+r});var s=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return s?{r:parseInt(s[1],16),g:parseInt(s[2],16),b:parseInt(s[3],16)}:null},s=function(t,o,s){return s=void 0!==s?s:0,o=(o=void 0!==o?o:1)>1?o/100:o,"rgba("+(t.r+s)+","+(t.g+s)+","+(t.b+s)+","+o+")"},r=function(t,o,s,r){var e=t.selector,n={};return n[s]=r,e||(e=o.getSelector(),t.hover&&(e+=":hover")),vein.inject(e,n)},e=function(t,o){var e,n,a,i=[],l=0;if(0===t.stops.length)for(l=0;l<t.colors.length;l++)e=t.offsets[l]||0,n=t.opacity[l]||t.opacity[t.opacity.length-1],i.push(s(a[l],n,e));else for(l=0;l<t.stops.length;l++)e=t.offsets[l]||0,n=t.opacity[l]||t.opacity[t.opacity.length-1],a=t.colors[l]||t.colors[t.colors.length-1],i.push(s(a,n,e));var c=function(t,o){for(var s=[],r=0;r<t.length;r++){var e=o[r]===parseInt(o[r],10)?t[r]+" "+o[r]+"%":t[r];s.push(e)}return s.join(",")}(i,t.stops),f="linear-gradient(to "+t.linear+","+c+")";"radial-circle"===t.gradient?f="radial-gradient(circle at "+t.radial.x+"% "+t.radial.y+"%,"+c+")":"radial-ellipse"===t.gradient&&(f="radial-gradient(ellipse at "+t.radial.x+"% "+t.radial.y+"%,"+c+")"),r(t,o,"background",f)};t.glass=function(s){for(var r=t.extend(!0,{},t.fn.glass.defaults,s||{}),e=0;e<r.colors.length;e++)r.colors[e]=o(r.colors[e]);if(r.selector){var n=t.fn.glass[r.preset];if("function"==typeof n)return n(r,t(r.selector))}return!1},t.fn.glass=function(s){for(var r=t.extend(!0,{},t.fn.glass.defaults,s||{}),e=0;e<r.colors.length;e++)r.colors[e]=o(r.colors[e]);return this.each(function(){var o=t(this),s=t.fn.glass[r.preset];"function"==typeof s&&s(r,o)})},t.fn.glass.border=function(t,o){var e=s(t.colors[0],t.opacity[0]);r(t,o,"border-color",e)},t.fn.glass.solid=function(t,o){var e=s(t.colors[0],t.opacity[0]);r(t,o,"background",e)},t.fn.glass.custom=function(t,o){return e(t,o)},t.fn.glass.faded=function(t,o){return 0===t.stops.length&&(t.stops=[0,95]),2!==t.opacity.length&&(t.opacity=[100,80]),t.colors=t.colors.slice(0,1),e(t,o)},t.fn.glass.twocolor=function(t,o){return 0===t.stops.length&&(t.stops=[20,100]),t.colors=t.colors.slice(0,2),t.opacity=t.opacity.slice(0,1),e(t,o)},t.fn.glass.twotone=function(t,o){return 0===t.stops.length&&(t.stops=[0,45,50,50,100]),0===t.offsets.length&&(t.offsets=[20,10,5,0,-10]),t.offsets[3]=0,t.colors=t.colors.slice(0,1),t.opacity=t.opacity.slice(0,1),e(t,o)},t.fn.glass.onecolor=function(t,o){return 0===t.stops.length&&(t.stops=[0,85]),0===t.offsets.length&&(t.offsets=[40,0]),t.colors=t.colors.slice(0,1),t.opacity=t.opacity.slice(0,1),e(t,o)},t.fn.glass.defaults={preset:"solid",gradient:"linear",linear:"bottom",radial:{x:50,y:50},colors:["#ffffff","#777777"],offsets:[],stops:[],opacity:[100,80],selector:!1,hover:!1}}(jQuery);
25
26return stack;})(stacks.com_joeworkman_stacks_foundation_styles);
27stacks.com_joeworkman_stacks_elevator = {};
28stacks.com_joeworkman_stacks_elevator = (function(stack) {
29var jQuery = stacks.jQuery;var $ = jQuery; jQuery.fn.exists=function(){return jQuery(this).length>0;}
30jQuery.debug=function(msg,obj){if(window.debug===true&&window.console&&console.log){console.log('[jwstacks] '+msg);if(obj)console.log(obj);}};jQuery.isMobile=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch;};var triggerWindowResize=function(){$(window).trigger('resize')};if(typeof(orientationEvent)==undefined){var orientationEvent=0;}
31$(window).bind(orientationEvent,triggerWindowResize).load(triggerWindowResize);jQuery.clearBrowserCache=function(){$(window).bind("pageshow",function(event){if(event.originalEvent.persisted){window.location.reload()}});};jQuery.preloadImages=function(){for(var i=0;i<arguments.length;i++){$("<img />").attr("src",arguments[i]);}};
32
33return stack;})(stacks.com_joeworkman_stacks_elevator);
34stacks.stacks_in_7099 = {};
35stacks.stacks_in_7099 = (function(stack) {
36var jQuery = stacks.jQuery;var $ = jQuery;
36 var subNavIndex=1,divide=1,zoneDivider=0,fullWidthMenu='full-width',scope='top',style='solid',menuAlign='left',styleActive=''==='styleActive'?true:false,rwmenu='rw'==='rw'?true:false,magellan='rw'==='magellan'?true:false,dropdowns='#stacks_in_7099 ul:not(.title-area) li.has-dropdown';$(document).ready(function(){var stack=$('#stacks_in_7099');stack.parent().css({overflow:'visible'});$('.top-bar-section:not(.menu-magellan):not(.menu-none)',stack).rwflexnav({scope:scope,subNavIndex:subNavIndex,divide:divide});if(magellan){if(divide)$('ul.magellanList',stack).divideNav();$('.magellanList li',stack).each(function(){var id=$(this).data('magellan-arrival');$('a',this).attr('href','#'+id);});}
37if($('ul.zone',stack).exists()){if(zoneDivider)$('ul.zone',stack).divideNav();}
38if($('.zone-align-left ul.zone',stack).exists()||!$('ul.zone',stack).exists()){$('ul.menu',stack).addClass(menuAlign);}
39if(fullWidthMenu==='full-width'&&menuAlign==='centered'){var calcMenuItemWidth=function(){var items=$('.menu-align-centered ul.menu > li:not(.divider)',stack),dividers=$('.menu-align-centered ul.menu > li.divider',stack);if($('.top-bar .toggle-topbar',stack).is(':visible')){items.removeAttr('style');}
40else{var count=items.length;if(count>0){var width=dividers.length>0?100/count-0.2:100/count;items.width(width+"%");}}};calcMenuItemWidth();$(window).on('resize',calcMenuItemWidth);}
41$(dropdowns).attr('aria-haspopup','true');$(dropdowns).hover(function(){$('> a:not(.button)',this).addClass('hovered');},function(){$('> a:not(.button)',this).removeClass('hovered');});});$(window).load(function(){var stack=$('#stacks_in_7099');if('40.063em'==='62.563em'){$('.parent-link.hide-for-medium-up',stack).removeClass('hide-for-medium-up').addClass('hide-for-large-up');}
42else if('40.063em'==='9999px'){$('.parent-link.hide-for-medium-up',stack).removeClass('hide-for-medium-up');}});
43
44return stack;})(stacks.stacks_in_7099);
45stacks.stacks_in_7100 = {};
46stacks.stacks_in_7100 = (function(stack) {
47var jQuery = stacks.jQuery;var $ = jQuery;
48$(document).ready(function(){var nav=$('#stacks_in_7100').first();$('>ul > li.active > ul',nav).appendTo(nav);$('>ul',nav).first().remove();$('ul li ul',nav).remove();$('li',nav).removeClass('has-dropdown');$('ul',nav).first().addClass('sub-nav  text-left').removeClass('dropdown');$('li a header',nav).parent().attr('href','javascript:void(0)').parent().addClass('heading');$('li a label',nav).unwrap();$('li a button',nav).each(function(){var classes=$(this).attr('class');var text=$(this).text();$(this).parent().addClass('button '+classes).html(text).parent().addClass('has-form');})
49$('li a hr',nav).unwrap().parent().addClass('divider').html('');});
50
51return stack;})(stacks.stacks_in_7100);
52stacks.stacks_in_5840 = {};
53stacks.stacks_in_5840 = (function(stack) {
54var jQuery = stacks.jQuery;var $ = jQuery;
55document.documentElement.lang='en';window.wowjsmobile=true;window.revealAnimation='fadeAndPop';$(document).ready(function(){if($.isMobile())
56$('.show-for-touch').fadeIn('fast');});function loadCSS(href,before,media,callback){"use strict";var ss=window.document.createElement("link");var ref=before||window.document.getElementsByTagName("script")[0];var sheets=window.document.styleSheets;ss.rel="stylesheet";ss.href=href;ss.media="only x";if(callback){ss.onload=callback}ref.parentNode.insertBefore(ss,ref);function toggleMedia(){var defined;for(var i=0;i<sheets.length;i++){if(sheets[i].href&&sheets[i].href.indexOf(ss.href)>-1){defined=true}}if(defined){ss.media=media||"all"}else{setTimeout(toggleMedia)}}toggleMedia();return ss}
57var useCustomSelector='False',stacksTrue='True',headerFamily='\'Times New Roman\', Times, serif'==='custom'?'':"\'Times New Roman\', Times, serif",headerFamilyFallback='sans-serif',headerSelector='h1'+',.font-family-h1',headerStyle='normal',headerGoogle=headerFamily==='Open Sans'?stacksTrue:'\'Times New Roman\', Times, serif'==='custom'?'False':'false',headerWeight=headerStyle==='italic'?'300italic':'300',headerWeight=headerWeight+','.replace(/\s/g,''),header2Family='\'Times New Roman\', Times, serif'==='custom'?'':'\'Times New Roman\', Times, serif',header2FamilyFallback='sans-serif',header2Selector='h2, h3, h4, h5, h6'+',.font-family-h2',header2Style='normal',header2Google=header2Family==='Open Sans'?stacksTrue:'\'Times New Roman\', Times, serif'==='custom'?'False':'false',header2Weight=header2Style==='italic'?'600italic':'600',header2Weight=header2Weight+','.replace(/\s/g,''),fontFamily='\'Times New Roman\', Times, serif'==='custom'?'':'\'Times New Roman\', Times, serif',fontFamilyFallback='sans-serif',fontSelector='p,a'+',.font-family-text',fontGoogle=fontFamily==='Open Sans'?stacksTrue:'\'Times New Roman\', Times, serif'==='custom'?'False':'false',fontWeight='400,'.replace(/\s/g,''),getGoogleUrls=function(fontStore){var googleFonts=[];for(var family in fontStore){var weights=fontStore[family].join().replace(/,,/g,',').replace(/,$/,'');googleFonts.push('https://fonts.googleapis.com/css?family='+family+':'+weights);}
58return googleFonts;},isGFont=function(family,google){if(google===stacksTrue)return family;return false;},getGoogleFonts=function(data){var fonts=data.fonts,weights=data.weights,google=data.google,fontStore=new Object();for(var i=0;i<fonts.length;i++){if(isGFont(fonts[i],google[i])===false)continue;(fontStore[fonts[i]]=fontStore[fonts[i]]||[]).push(weights[i]);}
59return getGoogleUrls(fontStore);};var cssFontFiles=getGoogleFonts({fonts:[headerFamily,header2Family,fontFamily],weights:[headerWeight,header2Weight,fontWeight],google:[headerGoogle,header2Google,fontGoogle]});for(var i=0;i<cssFontFiles.length;
59i++){loadCSS(decodeURIComponent(cssFontFiles[i]));}
60if(useCustomSelector===stacksTrue){var customFontStyles={'font-family':[fontFamily,fontFamilyFallback].join()+'!important','font-weight':fontWeight.split(',')[0]+'!important'},customHeaderSyles={'font-family':[headerFamily,headerFamilyFallback].join()+'!important','font-weight':headerWeight.split(',')[0]+'!important','font-style':headerStyle+'!important'},customHeader2Syles={'font-family':[header2Family,header2FamilyFallback].join()+'!important','font-weight':header2Weight.split(',')[0]+'!important','font-style':header2Style+'!important'};$.debug('Custom Font Selectors:'+fontSelector,customFontStyles);vein.inject(fontSelector,customFontStyles);$.debug('Custom Header Selectors:'+headerSelector,customHeaderSyles);vein.inject(headerSelector,customHeaderSyles);$.debug('Custom Header2 Selectors:'+header2Selector,customHeader2Syles);vein.inject(header2Selector,customHeader2Syles);}
61
62return stack;})(stacks.stacks_in_5840);
63stacks.stacks_in_5836 = {};
64stacks.stacks_in_5836 = (function(stack) {
65var jQuery = stacks.jQuery;var $ = jQuery;
66jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;}});(function($){$.fn.scrollToTop=function(options){var defaults={text:'To Top',min:200,inDelay:600,outDelay:400,containerID:'toTop',scrollSpeed:1200,easingType:'linear'},settings=$.extend(defaults,options),containerIDhash='#'+settings.containerID;$('body').append('<a href="#" id="'+settings.containerID+'">'+settings.text+'</a>');$(containerIDhash).hide().on('click.UItoTop',function(){$('html, body').animate({scrollTop:0},settings.scrollSpeed,settings.easingType);return false;});$(window).scroll(function(){var sd=$(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$(containerIDhash).css({'position':'absolute','top':sd+$(window).height()-50});}
67if(sd>settings.min)
68$(containerIDhash).fadeIn(settings.inDelay);else
69$(containerIDhash).fadeOut(settings.Outdelay);});};})(jQuery);$(document).ready(function(){$().scrollToTop({easingType:'easeOutQuart',scrollSpeed:1200,min:200});});
70
71return stack;})(stacks.stacks_in_5836);
72stacks.stacks_in_7060 = {};
73stacks.stacks_in_7060 = (function(stack) {
74var jQuery = stacks.jQuery;var $ = jQuery;(function($){
75  function floatLabel(inputType){
76    $(inputType).each(function(){
77      var $this = $(this);
78      // on focus add cladd active to label
79      $this.focus(function(){
80        $this.next().addClass("active");
81      });
82      //on blur check field and remove class if needed
83      $this.blur(function(){
84        if($this.val() === '' || $this.val() === 'blank'){
85          $this.next().removeClass();
86        }
87      });
88      $this.bind("change keyup",function(){
89        $this.next().addClass("active");
90      });
91    });
92  }
93  //! moment.js
94  //! version : 2.20.1
95  //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
96  //! license : MIT
97  //! momentjs.com
98!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,t;function n(){return e.apply(null,arguments)}function s(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e){return void 0===e}function a(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function o(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e,t){for(var n in t)d(t,n)&&(e[n]=t[n]);return d(t,"toString")&&(e.toString=t.toString),d(t,"valueOf")&&(e.valueOf=t.valueOf),e}function h(e,t,n,s){return Ot(e,t,n,s,!0).utc()}function c(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invali
vendor: 10,985 bytes, line 98
98dFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function f(e){if(null==e._isValid){var n=c(e),s=t.call(n.parsedDateParts,function(e){return null!=e}),i=!isNaN(e._d.getTime())&&n.overflow<0&&!n.empty&&!n.invalidMonth&&!n.invalidWeekday&&!n.weekdayMismatch&&!n.nullInput&&!n.invalidFormat&&!n.userInvalidated&&(!n.meridiem||n.meridiem&&s);if(e._strict&&(i=i&&0===n.charsLeftOver&&0===n.unusedTokens.length&&void 0===n.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return i;e._isValid=i}return e._isValid}function m(e){var t=h(NaN);return null!=e?l(c(t),e):c(t).userInvalidated=!0,t}t=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var _=n.momentProperties=[];function y(e,t){var n,s,i;if(r(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),r(t._i)||(e._i=t._i),r(t._f)||(e._f=t._f),r(t._l)||(e._l=t._l),r(t._strict)||(e._strict=t._strict),r(t._tzm)||(e._tzm=t._tzm),r(t._isUTC)||(e._isUTC=t._isUTC),r(t._offset)||(e._offset=t._offset),r(t._pf)||(e._pf=c(t)),r(t._locale)||(e._locale=t._locale),_.length>0)for(n=0;n<_.length;n++)r(i=t[s=_[n]])||(e[s]=i);return e}var g=!1;function M(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,n.updateOffset(this),g=!1)}function p(e){return e instanceof M||null!=e&&null!=e._isAMomentObject}function v(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function w(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=v(t)),n}function S(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&w(e[s])!==w(t[s]))&&a++;return a+r}function D(e){!1===n.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function Y(e,t){var s=!0;return l(function(){if(null!=n.deprecationHandler&&n.deprecationHandler(null,e),s){for(var i,r=[],a=0;a<arguments.length;a++){if(i="","object"==typeof arguments[a]){for(var o in i+="\n["+a+"] ",arguments[0])i+=o+": "+arguments[0][o]+", ";i=i.slice(0,-2)}else i=arguments[a];r.push(i)}D(e+"\nArguments: "+Array.prototype.slice.call(r).join("")+"\n"+(new Error).stack),s=!1}return t.apply(this,arguments)},t)}var k,O={};function T(e,t){null!=n.deprecationHandler&&n.deprecationHandler(e,t),O[e]||(D(t),O[e]=!0)}function x(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=l({},e);for(n in t)d(t,n)&&(i(e[n])&&i(t[n])?(s[n]={},l(s[n],e[n]),l(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)d(e,n)&&!d(t,n)&&i(e[n])&&(s[n]=l({},s[n]));return s}function P(e){null!=e&&this.set(e)}n.suppressDeprecationWarnings=!1,n.deprecationHandler=null,k=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)d(e,t)&&n.push(t);return n};var W={};function H(e,t){var n=e.toLowerCase();W[n]=W[n+"s"]=W[t]=e}function L(e){return"string"==typeof e?W[e]||W[e.toLowerCase()]:void 0}function F(e){var t,n,s={};for(n in e)d(e,n)&&(t=L(n))&&(s[t]=e[n]);return s}var R={};function C(e,t){R[e]=t}function U(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function A(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return U(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function I(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(e){var t,n,s,i=e.match(N);for(t=0,n=i.length;t<n;t++)E[i[t]]?i[t]=E[i[t]]:i[t]=(s=i[t]).match(/\[[\s\S]/)?s.replace(/^\[|\]$/g,""):s.replace(/\\/g,"");return function(t){var s,r="";for(s=0;s<n;s++)r+=x(i[s])?i[s].call(t,e):i[s];return r}}(t),V[t](e)):e.localeData().invalidDate()}function j(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(G.lastIndex=0;n>=0&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var z=/\d/,Z=/\d\d/,J=/\d{3}/,$=/\d{4}/,q=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,oe={};function ue(e,t,n){oe[e]=x(t)?t:function(e,s){return e&&n?n:t}}function de(e,t){return d(oe,e)?oe[e](t._strict,t._locale):new RegExp(le(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function le(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function ce(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),a(t)&&(s=function(e,n){n[t]=w(e)}),n=0;n<e.length;n++)he[e[n]]=s}function fe(e,t){ce(e,function(e,n,s,i){s._w=s._w||{},t(e,s._w,s,i)})}var me=0,_e=1,ye=2,ge=3,Me=4,pe=5,ve=6,we=7,Se=8;function De(e){return Ye(e)?366:365}function Ye(e){return e%4==0&&e%100!=0||e%400==0}A("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),A(0,["YY",2],0,function(){return this.year()%100}),A(0,["YYYY",4],0,"year"),A(0,["YYYYY",5],0,"year"),A(0,["YYYYYY",6,!0],0,"year"),H("year","y"),C("year",1),ue("Y",se),ue("YY",B,Z),ue("YYYY",ee,$),ue("YYYYY",te,q),ue("YYYYYY",te,q),ce(["YYYYY","YYYYYY"],me),ce("YYYY",function(e,t){t[me]=2===e.length?n.parseTwoDigitYear(e):w(e)}),ce("YY",function(e,t){t[me]=n.parseTwoDigitYear(e)}),ce("Y",function(e,t){t[me]=parseInt(e,10)}),n.parseTwoDigitYear=function(e){return w(e)+(w(e)>68?1900:2e3)};var ke,Oe=Te("FullYear",!0);function Te(e,t){return function(s){return null!=s?(be(this,e,s),n.updateOffset(this,t),this):xe(this,e)}}function xe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function be(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Ye(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1===s?Ye(e)?29:28:31-s%7%2}ke=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},A("M",["MM",2],"Mo",function(){return this.month()+1}),A("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),A("MMMM",0,0,function(e){return this.localeData().months(this,e)}),H("month","M"),C("month",8),ue("M",B),ue("MM",B,Z),ue("MMM",function(e,t){return t.monthsShortRegex(e)}),ue("MMMM",function(e,t){return t.monthsRegex(e)}),ce(["M","MM"],function(e,t){t[_e]=w(e)-1}),ce(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[_e]=i:c(n).invalidMonth=e});var We=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,He="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var Le="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Fe(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=w(t);else if(!a(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Re(e){return null!=e?(Fe(this,e),n.updateOffset(this,!0),this):xe(this,"Month")}var Ce=ae;var Ue=ae;function Ne(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=h([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=le(s[t]),i[t]=le(i[t]);for(t=0;t<24;t++)r[t]=le(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ge(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ve(e,t,n){var s=7+t-n;return-((7+Ge(e,0,s).getUTCDay()-t)%7)+s-1}function Ee(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ve(e,s,i);return o<=0?a=De(r=e-1)+o:o>De(e)?(r=e+1,a=o-De(e)):(r=e,a=o),{year:r,dayOfYear:a}}function Ae(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ie(i=e.year()-1,t,n):a>Ie(e.year(),t,n)?(s=a-Ie(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ie(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(De(e)-s+i)/7}A("w",["ww",2],"wo","week"),A("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),C("week",5),C("isoWeek",5),ue("w",B),ue("ww",B,Z),ue("W",B),ue("WW",B,Z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=w(e)});A("d",0,"do","day"),A("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),A("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),A("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),A("e",0,0,"weekday"),A("E",0,0,"isoWeekday"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),C("day",11),C("weekday",11),C("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:c(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=w(e)});var je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var Ze="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var Je=ae;var $e=ae;var qe=ae;function Be(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],d=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),d.push(s),d.push(i),d.push(r);for(a.sort(e),o.sort(e),u.sort(e),d.sort(e),t=0;t<7;t++)o[t]=le(o[t]),u[t]=le(u[t]),d[t]=le(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,t){A(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}A("H",["HH",2],0,"hour"),A("h",["hh",2],0,Qe),A("k",["kk",2],0,function(){return this.hours()||24}),A("hmm",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)}
vendor: 5,011 bytes, line 98
98),A("hmmss",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),A("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),A("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),H("hour","h"),C("hour",13),ue("a",Ke),ue("A",Ke),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,Z),ue("hh",B,Z),ue("kk",B,Z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=w(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=w(e),c(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s)),c(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s,2)),t[pe]=w(e.substr(i)),c(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s,2)),t[pe]=w(e.substr(i))});var et,tt=Te("Hours",!0),nt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:Le,week:{dow:0,doy:6},weekdays:je,weekdaysMin:Ze,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},st={},it={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function at(e){var t=null;if(!st[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=et._abbr,require("./locale/"+e),ot(t)}catch(e){}return st[e]}function ot(e,t){var n;return e&&(n=r(t)?dt(e):ut(e,t))&&(et=n),et._abbr}function ut(e,t){if(null!==t){var n=nt;if(t.abbr=e,null!=st[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=st[e]._config;else if(null!=t.parentLocale){if(null==st[t.parentLocale])return it[t.parentLocale]||(it[t.parentLocale]=[]),it[t.parentLocale].push({name:e,config:t}),null;n=st[t.parentLocale]._config}return st[e]=new P(b(n,t)),it[e]&&it[e].forEach(function(e){ut(e.name,e.config)}),ot(e),st[e]}return delete st[e],null}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return et;if(!s(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=rt(e[r]).split("-")).length,n=(n=rt(e[r+1]))?n.split("-"):null;t>0;){if(s=at(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&S(i,n,!0)>=t-1)break;t--}r++}return null}(e)}function lt(e){var t,n=e._a;return n&&-2===c(e).overflow&&(t=n[_e]<0||n[_e]>11?_e:n[ye]<1||n[ye]>Pe(n[me],n[_e])?ye:n[ge]<0||n[ge]>24||24===n[ge]&&(0!==n[Me]||0!==n[pe]||0!==n[ve])?ge:n[Me]<0||n[Me]>59?Me:n[pe]<0||n[pe]>59?pe:n[ve]<0||n[ve]>999?ve:-1,c(e)._overflowDayOfYear&&(t<me||t>ye)&&(t=ye),c(e)._overflowWeeks&&-1===t&&(t=we),c(e)._overflowWeekday&&-1===t&&(t=Se),c(e).overflow=t),e}function ht(e,t,n){return null!=e?e:null!=t?t:n}function ct(e){var t,s,i,r,a,o=[];if(!e._d){var u,d;for(u=e,d=new Date(n.now()),i=u._useUTC?[d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()]:[d.getFullYear(),d.getMonth(),d.getDate()],e._w&&null==e._a[ye]&&null==e._a[_e]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ht(t.GG,e._a[me],Ae(Tt(),1,4).year),s=ht(t.W,1),((i=ht(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var d=Ae(Tt(),r,a);n=ht(t.gg,e._a[me],d.year),s=ht(t.w,d.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>Ie(n,r,a)?c(e)._overflowWeeks=!0:null!=u?c(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(a=ht(e._a[me],i[me]),(e._dayOfYear>De(a)||0===e._dayOfYear)&&(c(e)._overflowDayOfYear=!0),s=Ge(a,0,e._dayOfYear),e._a[_e]=s.getUTCMonth(),e._a[ye]=s.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[Me]&&0===e._a[pe]&&0===e._a[ve]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&e>=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,o),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(c(e).weekdayMismatch=!0)}}
vendor: 4,003 bytes, line 98
98var ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],gt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mt=/^\/?Date\((\-?\d+)/i;function pt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(c(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Yt(e)}else e._isValid=!1}var vt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function wt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Le.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}var St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dt(e){var t,n,s,i=vt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(i){var r=wt(i[4],i[3],i[2],i[5],i[6],i[7]);if(t=i[1],n=r,s=e,t&&ze.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(c(s).weekdayMismatch=!0,s._isValid=!1,1))return;e._a=r,e._tzm=function(e,t,n){if(e)return St[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(i[8],i[9],i[10]),e._d=Ge.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),c(e).rfc2822=!0}else e._isValid=!1}function Yt(e){if(e._f!==n.ISO_8601)if(e._f!==n.RFC_2822){e._a=[],c(e).empty=!0;var t,s,i,r,a,o,u,l,h=""+e._i,f=h.length,m=0;for(i=j(e._f,e._locale).match(N)||[],t=0;t<i.length;t++)r=i[t],(s=(h.match(de(r,e))||[])[0])&&((a=h.substr(0,h.indexOf(s))).length>0&&c(e).unusedInput.push(a),h=h.slice(h.indexOf(s)+s.length),m+=s.length),E[r]?(s?c(e).empty=!1:c(e).unusedTokens.push(r),o=r,l=e,null!=(u=s)&&d(he,o)&&he[o](u,l._a,l,o)):e._strict&&!s&&c(e).unusedTokens.push(r);c(e).charsLeftOver=f-m,h.length>0&&c(e).unusedInput.push(h),e._a[ge]<=12&&!0===c(e).bigHour&&e._a[ge]>0&&(c(e).bigHour=void 0),c(e).parsedDateParts=e._a.slice(0),c(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(e._locale,e._a[ge],e._meridiem),ct(e),lt(e)}else Dt(e);else pt(e)}function kt(e){var t,d,h,_,g=e._i,v=e._f;return e._locale=e._locale||dt(e._l),null===g||void 0===v&&""===g?m({nullInput:!0}):("string"==typeof g&&(e._i=g=e._locale.preparse(g)),p(g)?new M(lt(g)):(o(g)?e._d=g:s(v)?function(e){var t,n,s,i,r;if(0===e._f.length)return c(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)r=0,t=y({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Yt(t),f(t)&&(r+=c(t).charsLeftOver,r+=10*c(t).unusedTokens.length,c(t).score=r,(null==s||r<s)&&(s=r,n=t));l(e,n||t)}(e):v?Yt(e):r(d=(t=e)._i)?t._d=new Date(n.now()):o(d)?t._d=new Date(d.valueOf()):"string"==typeof d?(h=t,null===(_=Mt.exec(h._i))?(pt(h),!1===h._isValid&&
vendor: 5,161 bytes, line 98
98(delete h._isValid,Dt(h),!1===h._isValid&&(delete h._isValid,n.createFromInputFallback(h)))):h._d=new Date(+_[1])):s(d)?(t._a=u(d.slice(0),function(e){return parseInt(e,10)}),ct(t)):i(d)?function(e){if(!e._d){var t=F(e._i);e._a=u([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ct(e)}}(t):a(d)?t._d=new Date(d):n.createFromInputFallback(t),f(e)||(e._d=null),e))}function Ot(e,t,n,r,a){var o,u={};return!0!==n&&!1!==n||(r=n,n=void 0),(i(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||s(e)&&0===e.length)&&(e=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=a,u._l=n,u._i=e,u._f=t,u._strict=r,(o=new M(lt(kt(u))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Tt(e,t,n,s){return Ot(e,t,n,s,!1)}n.createFromInputFallback=Y("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),n.ISO_8601=function(){},n.RFC_2822=function(){};var xt=Y("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()}),bt=Y("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:m()});function Pt(e,t){var n,i;if(1===t.length&&s(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],i=1;i<t.length;++i)t[i].isValid()&&!t[i][e](n)||(n=t[i]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ht(e){var t=F(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,d=t.second||0,l=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===ke.call(Wt,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<Wt.length;++s)if(e[Wt[s]]){if(n)return!1;parseFloat(e[Wt[s]])!==w(e[Wt[s]])&&(n=!0)}return!0}(t),this._milliseconds=+l+1e3*d+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=dt(),this._bubble()}function Lt(e){return e instanceof Ht}function Ft(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Rt(e,t){A(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+U(~~(e/60),2)+t+U(~~e%60,2)})}Rt("Z",":"),Rt("ZZ",""),ue("Z",re),ue("ZZ",re),ce(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ut(re,e)});var Ct=/([\+\-]|\d\d)/gi;function Ut(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(Ct)||["-",0,0],i=60*s[1]+w(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Nt(e,t){var s,i;return t._isUTC?(s=t.clone(),i=(p(e)||o(e)?e.valueOf():Tt(e).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+i),n.updateOffset(s,!1),s):Tt(e).local()}function Gt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Vt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}n.updateOffset=function(){};var Et=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,At=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function It(e,t){var n,s,i,r=e,o=null;return Lt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:a(e)?(r={},t?r[t]=e:r.milliseconds=e):(o=Et.exec(e))?(n="-"===o[1]?-1:1,r={y:0,d:w(o[ye])*n,h:w(o[ge])*n,m:w(o[Me])*n,s:w(o[pe])*n,ms:w(Ft(1e3*o[ve]))*n}):(o=At.exec(e))?(n="-"===o[1]?-1:(o[1],1),r={y:jt(o[2],n),M:jt(o[3],n),w:jt(o[4],n),d:jt(o[5],n),h:jt(o[6],n),m:jt(o[7],n),s:jt(o[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Nt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ht(r),Lt(e)&&d(e,"_locale")&&(s._locale=e._locale),s}function jt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function zt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Zt(e,t){return function(n,s){var i;return null===s||isNaN(+s)||(T(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=s,s=i),Jt(this,It(n="string"==typeof n?+n:n,s),e),this}}function Jt(e,t,s,i){var r=t._milliseconds,a=Ft(t._days),o=Ft(t._months);e.isValid()&&(i=null==i||i,o&&Fe(e,xe(e,"Month")+o*s),a&&be(e,"Date",xe(e,"Date")+a*s),r&&e._d.setTime(e._d.valueOf()+r*s),i&&n.updateOffset(e,a||o))}
vendor: 28,586 bytes, lines 98-100
98It.fn=Ht.prototype,It.invalid=function(){return It(NaN)};var $t=Zt(1,"add"),qt=Zt(-1,"subtract");function Bt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return-(n+(t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(n+1,"months")-s)))||0}function Qt(e){var t;return void 0===e?this._locale._abbr:(null!=(t=dt(e))&&(this._locale=t),this)}n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",n.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xt=Y("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function Kt(){return this._locale}function en(e,t){A(0,[e,e.length],0,t)}function tn(e,t,n,s,i){var r;return null==e?Ae(this,s,i).year:(t>(r=Ie(e,s,i))&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ge(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}A(0,["gg",2],0,function(){return this.weekYear()%100}),A(0,["GG",2],0,function(){return this.isoWeekYear()%100}),en("gggg","weekYear"),en("ggggg","weekYear"),en("GGGG","isoWeekYear"),en("GGGGG","isoWeekYear"),H("weekYear","gg"),H("isoWeekYear","GG"),C("weekYear",1),C("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,Z),ue("gg",B,Z),ue("GGGG",ee,$),ue("gggg",ee,$),ue("GGGGG",te,q),ue("ggggg",te,q),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=w(e)}),fe(["gg","GG"],function(e,t,s,i){t[i]=n.parseTwoDigitYear(e)}),A("Q",0,"Qo","quarter"),H("quarter","Q"),C("quarter",7),ue("Q",z),ce("Q",function(e,t){t[_e]=3*(w(e)-1)}),A("D",["DD",2],"Do","date"),H("date","D"),C("date",9),ue("D",B),ue("DD",B,Z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ye),ce("Do",function(e,t){t[ye]=w(e.match(B)[0])});var nn=Te("Date",!0);A("DDD",["DDDD",3],"DDDo","dayOfYear"),H("dayOfYear","DDD"),C("dayOfYear",4),ue("DDD",K),ue("DDDD",J),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),A("m",["mm",2],0,"minute"),H("minute","m"),C("minute",14),ue("m",B),ue("mm",B,Z),ce(["m","mm"],Me);var sn=Te("Minutes",!1);A("s",["ss",2],0,"second"),H("second","s"),C("second",15),ue("s",B),ue("ss",B,Z),ce(["s","ss"],pe);var rn,an=Te("Seconds",!1);for(A("S",0,0,function(){return~~(this.millisecond()/100)}),A(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),A(0,["SSS",3],0,"millisecond"),A(0,["SSSS",4],0,function(){return 10*this.millisecond()}),A(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),A(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),A(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),A(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),A(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),H("millisecond","ms"),C("millisecond",16),ue("S",K,z),ue("SS",K,Z),ue("SSS",K,J),rn="SSSS";rn.length<=9;rn+="S")ue(rn,ne);function on(e,t){t[ve]=w(1e3*("0."+e))}for(rn="S";rn.length<=9;rn+="S")ce(rn,on);var un=Te("Milliseconds",!1);A("z",0,0,"zoneAbbr"),A("zz",0,0,"zoneName");var dn=M.prototype;function ln(e){return e}dn.add=$t,dn.calendar=function(e,t){var s=e||Tt(),i=Nt(s,this).startOf("day"),r=n.calendarFormat(this,i)||"sameElse",a=t&&(x(t[r])?t[r].call(this,s):t[r]);return this.format(a||this.localeData().calendar(r,this,Tt(s)))},dn.clone=function(){return new M(this)},dn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Nt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=L(t)){case"year":r=Bt(this,s)/12;break;case"month":r=Bt(this,s);break;case"quarter":r=Bt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:v(r)},dn.endOf=function(e){return void 0===(e=L(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},dn.format=function(e){e||(e=this.isUtc()?n.defaultFormatUtc:n.defaultFormat);var t=I(this,e);return this.localeData().postformat(t)},dn.from=function(e,t){return this.isValid()&&(p(e)&&e.isValid()||Tt(e).isValid())?It({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},dn.fromNow=function(e){return this.from(Tt(),e)},dn.to=function(e,t){return this.isValid()&&(p(e)&&e.isValid()||Tt(e).isValid())?It({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},dn.toNow=function(e){return this.to(Tt(),e)},dn.get=function(e){return x(this[e=L(e)])?this[e]():this},dn.invalidAt=function(){return c(this).overflow},dn.isAfter=function(e,t){var n=p(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=L(r(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},dn.isBefore=function(e,t){var n=p(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=L(r(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},dn.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},dn.isSame=function(e,t){var n,s=p(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=L(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},dn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},dn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},dn.isValid=function(){return f(this)},dn.lang=Xt,dn.locale=Qt,dn.localeData=Kt,dn.max=bt,dn.min=xt,dn.parsingFlags=function(){return l({},c(this))},dn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:R[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=F(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(x(this[e=L(e)]))return this[e](t);return this},dn.startOf=function(e){switch(e=L(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},dn.subtract=qt,dn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},dn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},dn.toDate=function(){return new Date(this.valueOf())},dn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?I(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):x(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this._d.valueOf()).toISOString().replace("Z",I(n,"Z")):I(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Oe,dn.isLeapYear=function(){return Ye(this.year())},dn.weekYear=function(e){return tn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(e){return tn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},dn.month=Re,dn.daysInMonth=function(){return Pe(this.year(),this.month())},dn.week=dn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},dn.isoWeek=dn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},dn.weeksInYear=function(){var e=this.localeData()._week;return Ie(this.year(),e.dow,e.doy)},dn.isoWeeksInYear=function(){return Ie(this.year(),1,4)},dn.date=nn,dn.day=dn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},dn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},dn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=(n=e,s=this.localeData(),"string"==typeof n?s.weekdaysParse(n)%7||7:isNaN(n)?null:n);return this.day(this.day()%7?t:t-7)}return this.day()||7;var n,s},dn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},dn.hour=dn.hours=tt,dn.minute=dn.minutes=sn,dn.second=dn.seconds=an,dn.millisecond=dn.milliseconds=un,dn.utcOffset=function(e,t,s){var i,r=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Ut(re,e)))return this}else Math.abs(e)<16&&!s&&(e*=60);return!this._isUTC&&t&&(i=Gt(this)),this._offset=e,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==e&&(!t||this._changeInProgress?Jt(this,It(e-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Gt(this)},dn.utc=function(e){return this.utcOffset(0,e)},dn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Gt(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Ut(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=Vt,dn.isUTC=Vt,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=Y("dates accessor is deprecated. Use date instead.",nn),dn.months=Y("months accessor is deprecated. Use month instead",Re),dn.years=Y("years accessor is deprecated. Use year instead",Oe),dn.zone=Y("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),dn.isDSTShifted=Y("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),(e=kt(e))._a){var t=e._isUTC?h(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&S(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var hn=P.prototype;function cn(e,t,n,s){var i=dt(),r=h().set(s,t);return i[n](r,e)}function fn(e,t,n){if(a(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=cn(e,s,n,"month");return i}function mn(e,t,n,s){"boolean"==typeof e?(a(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,a(t)&&(n=t,t=void 0),t=t||"");var i,r=dt(),o=e?r._week.dow:0;if(null!=n)return cn(t,(n+o)%7,s,"day");var u=[];for(i=0;i<7;i++)u[i]=cn(t,(i+o)%7,s,"day");return u}hn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return x(s)?s.call(t,n):s},hn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},hn.invalidDate=function(){return this._invalidDate},hn.ordinal=function(e){return this._ordinal.replace("%d",e)},hn.preparse=ln,hn.postformat=ln,hn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return x(i)?i(e,t,n,s):i.replace(/%d/i,e)},hn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return x(n)?n(t):n.replace(/%s/i,t)},hn.set=function(e){var t,n;for(n in e)x(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},hn.months=function(e,t){return e?s(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||We).test(t)?"format":"standalone"][e.month()]:s(this._months)?this._months:this._months.standalone},hn.monthsShort=function(e,t){return e?s(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[We.test(t)?"format":"standalone"][e.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},hn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=h([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=ke.call(this._shortMonthsParse,a))?i:null:-1!==(i=ke.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=ke.call(this._shortMonthsParse,a))?i:-1!==(i=ke.call(this._longMonthsParse,a))?i:null:-1!==(i=ke.call(this._longMonthsParse,a))?i:-1!==(i=ke.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=h([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},hn.monthsRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Ne.call(this),e?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Ue),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},hn.monthsShortRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Ne.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Ce),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},hn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},hn.firstDayOfYear=function(){return this._week.doy},hn.firstDayOfWeek=function(){return this._week.dow},hn.weekdays=function(e,t){return e?s(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:s(this._weekdays)?this._weekdays:this._weekdays.standalone},hn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},hn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},hn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=h([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=ke.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=ke.call(this._weekdaysParse,a))?i:-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:-1!==(i=ke.call(this._weekdaysParse,a))?i:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:null:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:-1!==(i=ke.call(this._weekdaysParse,a))?i:-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=h([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},hn.weekdaysRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Je),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},hn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$e),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},hn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=qe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},hn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},hn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ot("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===w(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),n.lang=Y("moment.lang is deprecated. Use moment.locale instead.",ot),n.langData=Y("moment.langData is deprecated. Use moment.localeData instead.",dt);var _n=Math.abs;function yn(e,t,n,s){var i=It(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function Mn(e){return 4800*e/146097}function pn(e){return 146097*e/4800}function vn(e){return function(){return this.as(e)}}var wn=vn("ms"),Sn=vn("s"),Dn=vn("m"),Yn=vn("h"),kn=vn("d"),On=vn("w"),Tn=vn("M"),xn=vn("y");function bn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Pn=bn("milliseconds"),Wn=bn("seconds"),Hn=bn("minutes"),Ln=bn("hours"),Fn=bn("days"),Rn=bn("months"),Cn=bn("years");var Un=Math.round,Nn={ss:44,s:45,m:45,h:22,d:26,M:11};var Gn=Math.abs;function Vn(e){return(e>0)-(e<0)||+e}function En(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Gn(this._milliseconds)/1e3,s=Gn(this._days),i=Gn(this._months);t=v((e=v(n/60))/60),n%=60,e%=60;var r=v(i/12),a=i%=12,o=s,u=t,d=e,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Vn(this._months)!==Vn(h)?"-":"",m=Vn(this._days)!==Vn(h)?"-":"",_=Vn(this._milliseconds)!==Vn(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||d||l?"T":"")+(u?_+u+"H":"")+(d?_+d+"M":"")+(l?_+l+"S":"")}var An=Ht.prototype;function In(e,t,n,s){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?i[n][0]:i[n][1]}return An.isValid=function(){return this._isValid},An.abs=function(){var e=this._data;return this._milliseconds=_n(this._milliseconds),this._days=_n(this._days),this._months=_n(this._months),e.milliseconds=_n(e.milliseconds),e.seconds=_n(e.seconds),e.minutes=_n(e.minutes),e.hours=_n(e.hours),e.months=_n(e.months),e.years=_n(e.years),this},An.add=function(e,t){return yn(this,e,t,1)},An.subtract=function(e,t){return yn(this,e,t,-1)},An.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=L(e))||"year"===e)return t=this._days+s/864e5,n=this._months+Mn(t),"month"===e?n:n/12;switch(t=this._days+Math.round(pn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},An.asMilliseconds=wn,An.asSeconds=Sn,An.asMinutes=Dn,An.asHours=Yn,An.asDays=kn,An.asWeeks=On,An.asMonths=Tn,An.asYears=xn,An.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},An._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*gn(pn(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=v(r/1e3),u.seconds=e%60,t=v(e/60),u.minutes=t%60,n=v(t/60),u.hours=n%24,o+=i=v(Mn(a+=v(n/24))),a-=gn(pn(i)),s=v(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},An.clone=function(){return It(this)},An.get=function(e){return e=L(e),this.isValid()?this[e+"s"]():NaN},An.milliseconds=Pn,An.seconds=Wn,An.minutes=Hn,An.hours=Ln,An.days=Fn,An.weeks=function(){return v(this.days()/7)},An.months=Rn,An.years=Cn,An.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t,n,s,i,r,a,o,u,d,l,h,c=this.localeData(),f=(n=!e,s=c,i=It(t=this).abs(),r=Un(i.as("s")),a=Un(i.as("m")),o=Un(i.as("h")),u=Un(i.as("d")),d=Un(i.as("M")),l=Un(i.as("y")),(h=r<=Nn.ss&&["s",r]||r<Nn.s&&["ss",r]||a<=1&&["m"]||a<Nn.m&&["mm",a]||o<=1&&["h"]||o<Nn.h&&["hh",o]||u<=1&&["d"]||u<Nn.d&&["dd",u]||d<=1&&["M"]||d<Nn.M&&["MM",d]||l<=1&&["y"]||["yy",l])[2]=n,h[3]=+t>0,h[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,h));return e&&(f=c.pastFuture(+this,f)),c.postformat(f)},An.toISOString=En,An.toString=En,An.toJSON=En,An.locale=Qt,An.localeData=Kt,An.toIsoString=Y("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",En),An.lang=Xt,A("X",0,0,"unix"),A("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(w(e))}),n.version="2.20.1",e=Tt,n.fn=dn,n.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},n.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=h,n.unix=function(e){return Tt(1e3*e)},n.months=function(e,t){return fn(e,t,"months")},n.isDate=o,n.locale=ot,n.invalid=m,n.duration=It,n.isMoment=p,n.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},n.parseZone=function(){return Tt.apply(null,arguments).parseZone()},n.localeData=dt,n.isDuration=Lt,n.monthsShort=function(e,t){return fn(e,t,"monthsShort")},n.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},n.defineLocale=ut,n.updateLocale=function(e,t){if(null!=t){var n,s,i=nt;null!=(s=at(e))&&(i=s._config),(n=new P(t=b(i,t))).parentLocale=st[e],st[e]=n,ot(e)}else null!=st[e]&&(null!=st[e].parentLocale?st[e]=st[e].parentLocale:null!=st[e]&&delete st[e]);return st[e]},n.locales=function(){return k(st)},n.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},n.normalizeUnits=L,n.relativeTimeRounding=function(e){return void 0===e?Un:"function"==typeof e&&(Un=e,!0)},n.relativeTimeThreshold=function(e,t){return void 0!==Nn[e]&&(void 0===t?Nn[e]:(Nn[e]=t,"s"===e&&(Nn.ss=t-1),!0))},n.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=dn,n.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},n.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:In,mm:"%d Minuten",h:In,hh:"%d Stunden",d:In,dd:In,M:In,MM:In,y:In,yy:In},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),n.locale("en"),n});
99//Locale Spanish
100!function(e,o){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?o(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],o):o(e.moment)}(this,function(e){"use strict";var o="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:o[e.month()]:o},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%
100d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4},invalidDate:"Fecha invalida"})});
101
102
103  $(document).ready(function() {
104    /*!
105 * Bootstrap v3.2.0 (http://getbootstrap.com)
106 * Copyright 2011-2014 Twitter, Inc.
107 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
108 */
109    if(!$(".com_elixir_stacks_foundry_stack").length) {
110      
vendor: 31,650 bytes, line 110
110if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
110
111    }
112
113/*! version : 4.7.14
114 =========================================================
115 bootstrap-datetimejs
116 https://github.com/Eonasdan/bootstrap-datetimepicker
117 Copyright (c) 2015 Jonathan Peterson
118 =========================================================
119 */
120/*
121 The MIT License (MIT)
122
123 Copyright (c) 2015 Jonathan Peterson
124
125 Permission is hereby granted, free of charge, to any person obtaining a copy
126 of this software and associated documentation files (the "Software"), to deal
127 in the Software without restriction, including without limitation the rights
128 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
129 copies of the Software, and to permit persons to whom the Software is
130 furnished to do so, subject to the following conditions:
131
132 The above copyright notice and this permission notice shall be included in
133 all copies or substantial portions of the Software.
134
135 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
136 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
137 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
138 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
139 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
140 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
141 THE SOFTWARE.
142 */
143/*global define:false */
144/*global exports:false */
145/*global require:false */
146/*global jQuery:false */
147/*global moment:false */
148(function (factory) {
149  'use strict';
150  if (typeof define === 'function' && define.amd) {
151    // AMD is used - Register as an anonymous module.
152    define(['jquery', 'moment'], factory);
153  } else if (typeof exports === 'object') {
154    factory(require('jquery'), require('moment'));
155  } else {
156    // Neither AMD nor CommonJS used. Use global variables.
157    if (typeof jQuery === 'undefined') {
158      throw 'bootstrap-datetimepicker requires jQuery to be loaded first';
159    }
160    if (typeof moment === 'undefined') {
161      throw 'bootstrap-datetimepicker requires Moment.js to be loaded first';
162    }
163    factory(jQuery, moment);
164  }
165}(function ($, moment) {
166  'use strict';
167  if (!moment) {
168    throw new Error('bootstrap-datetimepicker requires Moment.js to be loaded first');
169  }
170
171  var dateTimePicker = function (element, options) {
172    var picker = {},
173        date = moment().startOf('d'),
174        viewDate = date.clone(),
175        unset = true,
176        input,
177        component = false,
178        widget = false,
179        use24Hours,
180        minViewModeNumber = 0,
181        actualFormat,
182        parseFormats,
183        currentViewMode,
184        datePickerModes = [
185          {
186            clsName: 'days',
187            navFnc: 'M',
188            navStep: 1
189          },
190          {
191            clsName: 'months',
192            navFnc: 'y',
193            navStep: 1
194          },
195          {
196            clsName: 'years',
197            navFnc: 'y',
198            navStep: 10
199          }
200        ],
201        viewModes = ['days', 'months', 'years'],
202        verticalModes = ['top', 'bottom', 'auto'],
203        horizontalModes = ['left', 'right', 'auto'],
204        toolbarPlacements = ['default', 'top', 'bottom'],
205        keyMap = {
206          'up': 38,
207          38: 'up',
208          'down': 40,
209          40: 'down',
210          'left': 37,
211          37: 'left',
212          'right': 39,
213          39: 'right',
214          'tab': 9,
215          9: 'tab',
216          'escape': 27,
217          27: 'escape',
218          'enter': 13,
219          13: 'enter',
220          'pageUp': 33,
221          33: 'pageUp',
222          'pageDown': 34,
223          34: 'pageDown',
224          'shift': 16,
225          16: 'shift',
226          'control': 17,
227          17: 'control',
228          'space': 32,
229          32: 'space',
230          't': 84,
231          84: 't',
232          'delete': 46,
233          46: 'delete'
234        },
235        keyState = {},
236
237        /********************************************************************************
238             *
239             * Private functions
240             *
241             ********************************************************************************/
242        isEnabled = function (granularity) {
243          if (typeof granularity !== 'string' || granularity.length > 1) {
244            throw new TypeError('isEnabled expects a single character string parameter');
245          }
246          switch (granularity) {
247            case 'y':
248              return actualFormat.indexOf('Y') !== -1;
249            case 'M':
250              return actualFormat.indexOf('M') !== -1;
251            case 'd':
252              return actualFormat.toLowerCase().indexOf('d') !== -1;
253            case 'h':
254            case 'H':
255              return actualFormat.toLowerCase().indexOf('h') !== -1;
256            case 'm':
257              return actualFormat.indexOf('m') !== -1;
258            case 's':
259              return actualFormat.indexOf('s') !== -1;
260            default:
261              return false;
262                             }
263        },
264
265        hasTime = function () {
266          return (isEnabled('h') || isEnabled('m') || isEnabled('s'));
267        },
268
269        hasDate = function () {
270          return (isEnabled('y') || isEnabled('M') || isEnabled('d'));
271        },
272
273        getDatePickerTemplate = function () {
274          var headTemplate = $('<thead>')
275          .append($('<tr>')
276                  .append($('<th>').addClass('prev').attr('data-action', 'previous')
277                          .html('&lt;')//.addClass(options.icons.previous))
278                         )
279                  .append($('<th>').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', (options.calendarWeeks ? '6' : '5')))
280                  .append($('<th>').addClass('next').attr('data-action', 'next')
281                          .html('&gt;')//.addClass(options.icons.next))
282                         )
283                 ),
284              contTemplate = $('<tbody>')
285          .append($('<tr>')
286                  .append($('<td>').attr('colspan', (options.calendarWeeks ? '8' : '7')))
287                 );
288
289          return [
290            $('<div>').addClass('datepicker-days')
291            .append($('<table>').addClass('table-condensed')
292                    .append(headTemplate)
293                    .append($('<tbody>'))
294                   ),
295            $('<div>').addClass('datepicker-months')
296            .append($('<table>').addClass('table-condensed')
297                    .append(headTemplate.clone())
298                    .append(contTemplate.clone())
299                   ),
300            $('<div>').addClass('datepicker-years')
301            .append($('<table>').addClass('table-condensed')
302                    .append(headTemplate.clone())
303                    .append(contTemplate.clone())
304                   )
305          ];
306        },
307
308        getTimePickerMainTemplate = function () {
309          var topRow = $('<tr>'),
310              middleRow = $('<tr>'),
311              bottomRow = $('<tr>');
312
313          if (isEnabled('h')) {
314            topRow.append($('<td>')
315                          .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'incrementHours')
316                                  .html('+')));//.addClass(options.icons.up))));
317            middleRow.append($('<td>')
318                             .append($('<span>').addClass('timepicker-hour').attr('data-time-component', 'hours').attr('data-action', 'showHours')));
319            bottomRow.append($('<td>')
320                             .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'decrementHours')
321                                     .html('-')));//.addClass(options.icons.down))));
322          }
323          if (isEnabled('m')) {
324            if (isEnabled('h')) {
325              topRow.append($('<td>').addClass('separator'));
326              middleRow.append($('<td>').addClass('separator').html(':'));
327              bottomRow.append($('<td>').addClass('separator'));
328            }
329            topRow.append($('<td>')
330                          .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'incrementMinutes')
331                                  .html('+')));//.addClass(options.icons.up))));
332            middleRow.append($('<td>')
333                             .append($('<span>').addClass('timepicker-minute').attr('data-time-component', 'minutes').attr('data-action', 'showMinutes')));
334            bottomRow.append($('<td>')
335                             .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'decrementMinutes')
336                                     .html('-')));//.addClass(options.icons.down))))
337          }
338          if (isEnabled('s')) {
339            if (isEnabled('m')) {
340              topRow.append($('<td>').addClass('separator'));
341              middleRow.append($('<td>').addClass('separator').html(':'));
342              bottomRow.append($('<td>').addClass('separator'));
343            }
344            topRow.append($('<td>')
345                          .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'incrementSeconds')
346                                  .html('+')));//.addClass(options.icons.up))));
347            middleRow.append($('<td>')
348                             .append($('<span>').addClass('timepicker-second').attr('data-time-component', 'seconds').attr('data-action', 'showSeconds')));
349            bottomRow.append($('<td>')
350                             .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'decrementSeconds')
351                                     .html('-')));//.addClass(options.icons.down))))
352          }
353
354          if (!use24Hours) {
355            topRow.append($('<td>').addClass('separator'));
356            middleRow.append($('<td>')
357                             .append($('<button>').addClass('btn btn-primary').attr('data-action', 'togglePeriod')));
358            bottomRow.append($('<td>').addClass('separator'));
359          }
360
361          return $('<div>').addClass('timepicker-picker')
362            .append($('<table>').addClass('table-condensed')
363                    .append([topRow, middleRow, bottomRow]));
364        },
365
366        getTimePickerTemplate = function () {
367          var hoursView = $('<div>').addClass('timepicker-hours')
368          .append($('<table>').addClass('table-condensed')),
369              minutesView = $('<div>').addClass('timepicker-minutes')
370          .append($('<table>').addClass('table-condensed')),
371              secondsView = $('<div>').addClass('timepicker-seconds')
372          .append($('<table>').addClass('table-condensed')),
373              ret = [getTimePickerMainTemplate()];
374
375          if (isEnabled('h')) {
376            ret.push(hoursView);
377          }
378          if (isEnabled('m')) {
379            ret.push(minutesView);
380          }
381          if (isEnabled('s')) {
382            ret.push(secondsView);
383          }
384
385          return ret;
386        },
387
388        getToolbar = function () {
389          var row = [];
390          if (options.showTodayButton) {
391            row.push($('<td>').append($('<a>').attr('data-action', 'today').html('<span>today</span>')))//.addClass(options.icons.today))));
392          }
393          if (!options.sideBySide && hasDate() && hasTime()) {
394            row.push($('<td>').append($('<a>').attr('data-action', 'togglePicker').html('<span>Time</span>')))//.addClass(options.icons.time))));
395          }
396          if (options.showClear) {
397            row.push($('<td>').append($('<a>').attr('data-action', 'clear').html('<span>Clear</span>')))//.addClass(options.icons.clear))));
398          }
399          if (options.showClose) {
400            row.push($('<td>').append($('<a>').attr('data-action', 'close').html('<span>X</span>')))//.addClass(options.icons.close))));
401          }
402          return $('<table>').addClass('table-condensed').append($('<tbody>').append($('<tr>').append(row)));
403        },
404
405        getTemplate = function () {
406          var template = $('<div>').addClass('bootstrap-datetimepicker-widget dropdown-menu'),
407              dateView = $('<div>').addClass('datepicker').append(getDatePickerTemplate()),
408              timeView = $('<div>').addClass('timepicker').append(getTimePickerTemplate()),
409              content = $('<ul>').addClass('list-unstyled'),
410              toolbar = $('<li>').addClass('picker-switch' + (options.collapse ? ' accordion-toggle' : '')).append(getToolbar());
411
412          if (options.inline) {
413            template.removeClass('dropdown-menu');
414          }
415
416          if (use24Hours) {
417            template.addClass('usetwentyfour');
418          }
419          if (options.sideBySide && hasDate() && hasTime()) {
420            template.addClass('timepicker-sbs');
421            template.append(
422              $('<div>').addClass('row')
423              .append(dateView.addClass('col-sm-6'))
424              .append(timeView.addClass('col-sm-6'))
425            );
426            template.append(toolbar);
427            return template;
428          }
429
430          if (options.toolbarPlacement === 'top') {
431            content.append(toolbar);
432          }
433          if (hasDate()) {
434            content.append($('<li>').addClass((options.collapse && hasTime() ? 'collapse in' : '')).append(dateView));
435          }
436          if (options.toolbarPlacement === 'default') {
437            content.append(toolbar);
438          }
439          if (hasTime()) {
440            content.append($('<li>').addClass((options.collapse && hasDate() ? 'collapse' : '')).append(timeView));
441          }
442          if (options.toolbarPlacement === 'bottom') {
443            content.append(toolbar);
444          }
445          return template.append(content);
446        },
447
448        dataToOptions = function () {
449          var eData,
450              dataOptions = {};
451
452          if (element.is('input') || options.inline) {
453            eData = element.data();
454          } else {
455            eData = element.find('input').data();
456          }
457
458          if (eData.dateOptions && eData.dateOptions instanceof Object) {
459            dataOptions = $.extend(true, dataOptions, eData.dateOptions);
460          }
461
462          $.each(options, function (key) {
463            var attributeName = 'date' + key.charAt(0).toUpperCase() + key.slice(1);
464            if (eData[attributeName] !== undefined) {
465              dataOptions[key] = eData[attributeName];
466            }
467          });
468          return dataOptions;
469        },
470
471        place = function () {
472          var position = (component || element).position(),
473              offset = (component || element).offset(),
474              vertical = options.widgetPositioning.vertical,
475              horizontal = options.widgetPositioning.horizontal,
476              parent;
477
478          if (options.widgetParent) {
479            parent = options.widgetParent.append(widget);
480          } else if (element.is('input')) {
481            parent = element.parent().append(widget);
482          } else if (options.inline) {
483            parent = element.append(widget);
484            return;
485          } else {
486            parent = element;
487            element.children().first().after(widget);
488          }
489
490          // Top and bottom logic
491          if (vertical === 'auto') {
492            if (offset.top + widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() &&
493                widget.height() + element.outerHeight() < offset.top) {
494              vertical = 'top';
495            } else {
496              vertical = 'bottom';
497            }
498          }
499
500          // Left and right logic
501          if (horizontal === 'auto') {
502            if (parent.width() < offset.left + widget.outerWidth() / 2 &&
503                offset.left + widget.outerWidth() > $(window).width()) {
504              horizontal = 'right';
505            } else {
506              horizontal = 'left';
507            }
508          }
509
510          if (vertical === 'top') {
511            widget.addClass('top').removeClass('bottom');
512          } else {
513            widget.addClass('bottom').removeClass('top');
514          }
515
516          if (horizontal === 'right') {
517            widget.addClass('pull-right');
518          } else {
519            widget.removeClass('pull-right');
520          }
521
522          // find the first parent element that has a relative css positioning
523          if (parent.css('position') !== 'relative') {
524            parent = parent.parents().filter(function () {
525              return $(this).css('position') === 'relative';
526            }).first();
527          }
528
529          if (parent.length === 0) {
530            throw new Error('datetimepicker component should be placed within a relative positioned container');
531          }
532
533          widget.css({
534            top: vertical === 'top' ? 'auto' : position.top + element.outerHeight(),
535            bottom: vertical === 'top' ? position.top + element.outerHeight() : 'auto',
536            left: horizontal === 'left' ? parent.css('padding-left') : 'auto',
537            right: horizontal === 'left' ? 'auto' : parent.width() - element.outerWidth()
538          });
539        },
540
541        notifyEvent = function (e) {
542          if (e.type === 'dp.change' && ((e.date && e.date.isSame(e.oldDate)) || (!e.date && !e.oldDate))) {
543            return;
544          }
545          element.trigger(e);
546        },
547
548        showMode = function (dir) {
549          if (!widget) {
550            return;
551          }
552          if (dir) {
553            currentViewMode = Math.max(minViewModeNumber, Math.min(2, currentViewMode + dir));
554          }
555          widget.find('.datepicker > div').hide().filter('.datepicker-' + datePickerModes[currentViewMode].clsName).show();
556        },
557
558        fillDow = function () {
559          var row = $('<tr>'),
560              currentDate = viewDate.clone().startOf('w');
561
562          if (options.calendarWeeks === true) {
563            row.append($('<th>').addClass('cw').text('#'));
564          }
565
566          while (currentDate.isBefore(viewDate.clone().endOf('w'))) {
567            row.append($('<th>').addClass('dow').text(currentDate.format('dd')));
568            currentDate.add(1, 'd');
569          }
570          widget.find('.datepicker-days thead').append(row);
571        },
572
573        isInDisabledDates = function (testDate) {
574          return options.disabledDates[testDate.format('YYYY-MM-DD')] === true;
575        },
576
577        isInEnabledDates = function (testDate) {
578          return options.enabledDates[testDate.format('YYYY-MM-DD')] === true;
579        },
580
581        isValid = function (targetMoment, granularity) {
582          if (!targetMoment.isValid()) {
583            return false;
584          }
585          if (options.disabledDates && isInDisabledDates(targetMoment) && granularity !== 'M') {
586            return false;
587          }
588          if (options.enabledDates && !isInEnabledDates(targetMoment) && granularity !== 'M') {
589            return false;
590          }
591          if (options.minDate && targetMoment.isBefore(options.minDate, granularity)) {
592            return false;
593          }
594          if (options.maxDate && targetMoment.isAfter(options.maxDate, granularity)) {
595            return false;
596          }
597          if (granularity === 'd' && options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1) { //widget && widget.find('.datepicker-days').length > 0
598            return false;
599          }
600          return true;
601        },
602
603        fillMonths = function () {
604          var spans = [],
605              monthsShort = viewDate.clone().startOf('y').hour(12); // hour is changed to avoid DST issues in some browsers
606          while (monthsShort.isSame(viewDate, 'y')) {
607            spans.push($('<span>').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM')));
608            monthsShort.add(1, 'M');
609          }
610          widget.find('.datepicker-months td').empty().append(spans);
611        },
612
613        updateMonths = function () {
614          var monthsView = widget.find('.datepicker-months'),
615              monthsViewHeader = monthsView.find('th'),
616              months = monthsView.find('tbody').find('span');
617
618          monthsView.find('.disabled').removeClass('disabled');
619
620          if (!isValid(viewDate.clone().subtract(1, 'y'), 'y')) {
621            monthsViewHeader.eq(0).addClass('disabled');
622          }
623
624          monthsViewHeader.eq(1).text(viewDate.year());
625
626          if (!isValid(viewDate.clone().add(1, 'y'), 'y')) {
627            monthsViewHeader.eq(2).addClass('disabled');
628          }
629
630          months.removeClass('active');
631          if (date.isSame(viewDate, 'y')) {
632            months.eq(date.month()).addClass('active');
633          }
634
635          months.each(function (index) {
636            if (!isValid(viewDate.clone().month(index), 'M')) {
637              $(this).addClass('disabled');
638            }
639          });
640        },
641
642        updateYears = function () {
643          var yearsView = widget.find('.datepicker-years'),
644              yearsViewHeader = yearsView.find('th'),
645              startYear = viewDate.clone().subtract(5, 'y'),
646              endYear = viewDate.clone().add(6, 'y'),
647              html = '';
648
649          yearsView.find('.disabled').removeClass('disabled');
650
651          if (options.minDate && options.minDate.isAfter(startYear, 'y')) {
652            yearsViewHeader.eq(0).addClass('disabled');
653          }
654
655          yearsViewHeader.eq(1).text(startYear.year() + '-' + endYear.year());
656
657          if (options.maxDate && options.maxDate.isBefore(endYear, 'y')) {
658            yearsViewHeader.eq(2).addClass('disabled');
659          }
660
661          while (!startYear.isAfter(endYear, 'y')) {
662            html += '<span data-action="selectYear" class="year' + (startYear.isSame(date, 'y') ? ' active' : '') + (!isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>';
663            startYear.add(1, 'y');
664          }
665
666          yearsView.find('td').html(html);
667        },
668
669        fillDate = function () {
670          var daysView = widget.find('.datepicker-days'),
671              daysViewHeader = daysView.find('th'),
672              currentDate,
673              html = [],
674              row,
675              clsName;
676
677          if (!hasDate()) {
678            return;
679          }
680
681          daysView.find('.disabled').removeClass('disabled');
682          daysViewHeader.eq(1).text(viewDate.format(options.dayViewHeaderFormat));
683
684          if (!isValid(viewDate.clone().subtract(1, 'M'), 'M')) {
685            daysViewHeader.eq(0).addClass('disabled');
686          }
687          if (!isValid(viewDate.clone().add(1, 'M'), 'M')) {
688            daysViewHeader.eq(2).addClass('disabled');
689          }
690
691          currentDate = viewDate.clone().startOf('M').startOf('week');
692
693          while (!viewDate.clone().endOf('M').endOf('w').isBefore(currentDate, 'd')) {
694            if (currentDate.weekday() === 0) {
695              row = $('<tr>');
696              if (options.calendarWeeks) {
697                row.append('<td class="cw">' + currentDate.week() + '</td>');
698              }
699              html.push(row);
700            }
701            clsName = '';
702            if (currentDate.isBefore(viewDate, 'M')) {
703              clsName += ' old';
704            }
705            if (currentDate.isAfter(viewDate, 'M')) {
706              clsName += ' new';
707            }
708            if (currentDate.isSame(date, 'd') && !unset) {
709              clsName += ' active';
710            }
711            if (!isValid(currentDate, 'd')) {
712              clsName += ' disabled';
713            }
714            if (currentDate.isSame(moment(), 'd')) {
715              clsName += ' today';
716            }
717            if (currentDate.day() === 0 || currentDate.day() === 6) {
718              clsName += ' weekend';
719            }
720            row.append('<td data-action="selectDay" class="day' + clsName + '">' + currentDate.date() + '</td>');
721            currentDate.add(1, 'd');
722          }
723
724          daysView.find('tbody').empty().append(html);
725
726          updateMonths();
727
728          updateYears();
729        },
730
731        fillHours = function () {
732          var table = widget.find('.timepicker-hours table'),
733              currentHour = viewDate.clone().startOf('d'),
734              html = [],
735              row = $('<tr>');
736
737          if (viewDate.hour() > 11 && !use24Hours) {
738            currentHour.hour(12);
739          }
740          while (currentHour.isSame(viewDate, 'd') && (use24Hours || (viewDate.hour() < 12 && currentHour.hour() < 12) || viewDate.hour() > 11)) {
741            if (currentHour.hour() % 4 === 0) {
742              row = $('<tr>');
743              html.push(row);
744            }
745            row.append('<td data-action="selectHour" class="hour' + (!isValid(currentHour, 'h') ? ' disabled' : '') + '">' + currentHour.format(use24Hours ? 'HH' : 'hh') + '</td>');
746            currentHour.add(1, 'h');
747          }
748          table.empty().append(html);
749        },
750
751        fillMinutes = function () {
752          var table = widget.find('.timepicker-minutes table'),
753              currentMinute = viewDate.clone().startOf('h'),
754              html = [],
755              row = $('<tr>'),
756              step = options.stepping === 1 ? 5 : options.stepping;
757
758          while (viewDate.isSame(currentMinute, 'h')) {
759            if (currentMinute.minute() % (step * 4) === 0) {
760              row = $('<tr>');
761              html.push(row);
762            }
763            row.append('<td data-action="selectMinute" class="minute' + (!isValid(currentMinute, 'm') ? ' disabled' : '') + '">' + currentMinute.format('mm') + '</td>');
764            currentMinute.add(step, 'm');
765          }
766          table.empty().append(html);
767        },
768
769        fillSeconds = function () {
770          var table = widget.find('.timepicker-seconds table'),
771              currentSecond = viewDate.clone().startOf('m'),
772              html = [],
773              row = $('<tr>');
774
775          while (viewDate.isSame(currentSecond, 'm')) {
776            if (currentSecond.second() % 20 === 0) {
777              row = $('<tr>');
778              html.push(row);
779            }
780            row.append('<td data-action="selectSecond" class="second' + (!isValid(currentSecond, 's') ? ' disabled' : '') + '">' + currentSecond.format('ss') + '</td>');
781            currentSecond.add(5, 's');
782          }
783
784          table.empty().append(html);
785        },
786
787        fillTime = function () {
788          var timeComponents = widget.find('.timepicker span[data-time-component]');
789          if (!use24Hours) {
790            widget.find('.timepicker [data-action=togglePeriod]').text(date.format('A'));
791          }
792          timeComponents.filter('[data-time-component=hours]').text(date.format(use24Hours ? 'HH' : 'hh'));
793          timeComponents.filter('[data-time-component=minutes]').text(date.format('mm'));
794          timeComponents.filter('[data-time-component=seconds]').text(date.format('ss'));
795
796          fillHours();
797          fillMinutes();
798          fillSeconds();
799        },
800
801        update = function () {
802          if (!widget) {
803            return;
804          }
805          fillDate();
806          fillTime();
807        },
808
809        setValue = function (targetMoment) {
810          var oldDate = unset ? null : date;
811
812          // case of calling setValue(null or false)
813          if (!targetMoment) {
814            unset = true;
815            input.val('');
816            element.data('date', '');
817            notifyEvent({
818              type: 'dp.change',
819              date: null,
820              oldDate: oldDate
821            });
822            update();
823            return;
824          }
825
826          targetMoment = targetMoment.clone().locale(options.locale);
827
828          if (options.stepping !== 1) {
829            targetMoment.minutes((Math.round(targetMoment.minutes() / options.stepping) * options.stepping) % 60).seconds(0);
830          }
831
832          if (isValid(targetMoment)) {
833            date = targetMoment;
834            viewDate = date.clone();
835            input.val(date.format(actualFormat));
836            element.data('date', date.format(actualFormat));
837            update();
838            unset = false;
839            notifyEvent({
840              type: 'dp.change',
841              date: date.clone(),
842              oldDate: oldDate
843            });
844          } else {
845            if (!options.keepInvalid) {
846              input.val(unset ? '' : date.format(actualFormat));
847            }
848            notifyEvent({
849              type: 'dp.error',
850              date: targetMoment
851            });
852          }
853        },
854
855        hide = function () {
856          var transitioning = false;
857          if (!widget) {
858            return picker;
859          }
860          // Ignore event if in the middle of a picker transition
861          widget.find('.collapse').each(function () {
862            var collapseData = $(this).data('collapse');
863            if (collapseData && collapseData.transitioning) {
864              transitioning = true;
865              return false;
866            }
867            return true;
868          });
869          if (transitioning) {
870            return picker;
871          }
872          if (component && component.hasClass('btn')) {
873            component.toggleClass('active');
874          }
875          widget.hide();
876
877          $(window).off('resize', place);
878          widget.off('click', '[data-action]');
879          widget.off('mousedown', false);
880
881          widget.remove();
882          widget = false;
883
884          notifyEvent({
885            type: 'dp.hide',
886            date: date.clone()
887          });
888          return picker;
889        },
890
891        clear = function () {
892          setValue(null);
893        },
894
895        /********************************************************************************
896             *
897             * Widget UI interaction functions
898             *
899             ********************************************************************************/
900        actions = {
901          next: function () {
902            viewDate.add(datePickerModes[currentViewMode].navStep, datePickerModes[currentViewMode].navFnc);
903            fillDate();
904          },
905
906          previous: function () {
907            viewDate.subtract(datePickerModes[currentViewMode].navStep, datePickerModes[currentViewMode].navFnc);
908            fillDate();
909          },
910
911          pickerSwitch: function () {
912            showMode(1);
913          },
914
915          selectMonth: function (e) {
916            var month = $(e.target).closest('tbody').find('span').index($(e.target));
917            viewDate.month(month);
918            if (currentViewMode === minViewModeNumber) {
919              setValue(date.clone().year(viewDate.year()).month(viewDate.month()));
920              if (!options.inline) {
921                hide();
922              }
923            } else {
924              showMode(-1);
925              fillDate();
926            }
927          },
928
929          selectYear: function (e) {
930            var year = parseInt($(e.target).text(), 10) || 0;
931            viewDate.year(year);
932            if (currentViewMode === minViewModeNumber) {
933              setValue(date.clone().year(viewDate.year()));
934              if (!options.inline) {
935                hide();
936              }
937            } else {
938              showMode(-1);
939              fillDate();
940            }
941          },
942
943          selectDay: function (e) {
944            var day = viewDate.clone();
945            if ($(e.target).is('.old')) {
946              day.subtract(1, 'M');
947            }
948            if ($(e.target).is('.new')) {
949              day.add(1, 'M');
950            }
951            setValue(day.date(parseInt($(e.target).text(), 10)));
952            if (!hasTime() && !options.keepOpen && !options.inline) {
953              hide();
954            }
955          },
956
957          incrementHours: function () {
958            setValue(date.clone().add(1, 'h'));
959          },
960
961          incrementMinutes: function () {
962            setValue(date.clone().add(options.stepping, 'm'));
963          },
964
965          incrementSeconds: function () {
966            setValue(date.clone().add(1, 's'));
967          },
968
969          decrementHours: function () {
970            setValue(date.clone().subtract(1, 'h'));
971          },
972
973          decrementMinutes: function () {
974            setValue(date.clone().subtract(options.stepping, 'm'));
975          },
976
977          decrementSeconds: function () {
978            setValue(date.clone().subtract(1, 's'));
979          },
980
981          togglePeriod: function () {
982            setValue(date.clone().add((date.hours() >= 12) ? -12 : 12, 'h'));
983          },
984
985          togglePicker: function (e) {
986            var $this = $(e.target),
987                $parent = $this.closest('ul'),
988                expanded = $parent.find('.in'),
989                closed = $parent.find('.collapse:not(.in)'),
990                collapseData;
991
992            if (expanded && expanded.length) {
993              collapseData = expanded.data('collapse');
994              if (collapseData && collapseData.transitioning) {
995                return;
996              }
997              if (expanded.collapse) { // if collapse plugin is available through bootstrap.js then use it
998                expanded.collapse('hide');
999                closed.collapse('show');
1000              } else { // otherwise just toggle in class on the two views
1001                expanded.removeClass('in');
1002                closed.addClass('in');
1003              }
1004              if ($this.is('span')) {
1005                if($this.html() == options.timeText) {
1006                  $this.html(options.dateText);
1007                } else {
1008                  $this.html(options.timeText);
1009                }
1010                //.toggleClass(options.icons.time + ' ' + options.icons.date);
1011              } else {
1012                if($this.find('span').html() == options.timeText) {
1013                  $this.find('span').html(options.dateText);
1014                } else {
1015                  $this.find('span').html(options.timeText);
1016                }
1017                //$this.find('span').html(options.timeText);//.toggleClass(options.icons.time + ' ' + options.icons.date);
1018              }
1019
1020              // NOTE: uncomment if toggled state will be restored in show()
1021              //if (component) {
1022              //    component.find('span').toggleClass(options.icons.time + ' ' + options.icons.date);
1023              //}
1024            }
1025          },
1026
1027          showPicker: function () {
1028            widget.find('.timepicker > div:not(.timepicker-picker)').hide();
1029            widget.find('.timepicker .timepicker-picker').show();
1030          },
1031
1032          showHours: function () {
1033            widget.find('.timepicker .timepicker-picker').hide();
1034            widget.find('.timepicker .timepicker-hours').show();
1035          },
1036
1037          showMinutes: function () {
1038            widget.find('.timepicker .timepicker-picker').hide();
1039            widget.find('.timepicker .timepicker-minutes').show();
1040          },
1041
1042          showSeconds: function () {
1043            widget.find('.timepicker .timepicker-picker').hide();
1044            widget.find('.timepicker .timepicker-seconds').show();
1045          },
1046
1047          selectHour: function (e) {
1048            var hour = parseInt($(e.target).text(), 10);
1049
1050            if (!use24Hours) {
1051              if (date.hours() >= 12) {
1052                if (hour !== 12) {
1053                  hour += 12;
1054                }
1055              } else {
1056                if (hour === 12) {
1057                  hour = 0;
1058                }
1059              }
1060            }
1061            setValue(date.clone().hours(hour));
1062            actions.showPicker.call(picker);
1063          },
1064
1065          selectMinute: function (e) {
1066            setValue(date.clone().minutes(parseInt($(e.target).text(), 10)));
1067            actions.showPicker.call(picker);
1068          },
1069
1070          selectSecond: function (e) {
1071            setValue(date.clone().seconds(parseInt($(e.target).text(), 10)));
1072            actions.showPicker.call(picker);
1073          },
1074
1075          clear: clear,
1076
1077          today: function () {
1078            setValue(moment());
1079          },
1080
1081          close: hide
1082        },
1083
1084        doAction = function (e) {
1085          if ($(e.currentTarget).is('.disabled')) {
1086            return false;
1087          }
1088          actions[$(e.currentTarget).data('action')].apply(picker, arguments);
1089          return false;
1090        },
1091
1092        show = function () {
1093          var currentMoment,
1094              useCurrentGranularity = {
1095                'year': function (m) {
1096                  return m.month(0).date(1).hours(0).seconds(0).minutes(0);
1097                },
1098                'month': function (m) {
1099                  return m.date(1).hours(0).seconds(0).minutes(0);
1100                },
1101                'day': function (m) {
1102                  return m.hours(0).seconds(0).minutes(0);
1103                },
1104                'hour': function (m) {
1105                  return m.seconds(0).minutes(0);
1106                },
1107                'minute': function (m) {
1108                  return m.seconds(0);
1109                }
1110              };
1111
1112          if (input.prop('disabled') || (!options.ignoreReadonly && input.prop('readonly')) || widget) {
1113            return picker;
1114          }
1115          if (options.useCurrent && unset && ((input.is('input') && input.val().trim().length === 0) || options.inline)) {
1116            currentMoment = moment();
1117            if (typeof options.useCurrent === 'string') {
1118              currentMoment = useCurrentGranularity[options.useCurrent](currentMoment);
1119            }
1120            setValue(currentMoment);
1121          }
1122
1123          widget = getTemplate();
1124
1125          fillDow();
1126          fillMonths();
1127
1128          widget.find('.timepicker-hours').hide();
1129          widget.find('.timepicker-minutes').hide();
1130          widget.find('.timepicker-seconds').hide();
1131
1132          update();
1133          showMode();
1134
1135          $(window).on('resize', place);
1136          widget.on('click', '[data-action]', doAction); // this handles clicks on the widget
1137          widget.on('mousedown', false);
1138
1139          if (component && component.hasClass('btn')) {
1140            component.toggleClass('active');
1141          }
1142          widget.show();
1143          place();
1144
1145          if (!input.is(':focus')) {
1146            input.focus();
1147          }
1148
1149          notifyEvent({
1150            type: 'dp.show'
1151          });
1152          return picker;
1153        },
1154
1155        toggle = function () {
1156          return (widget ? hide() : show());
1157        },
1158
1159        parseInputDate = function (inputDate) {
1160          if (moment.isMoment(inputDate) || inputDate instanceof Date) {
1161            inputDate = moment(inputDate);
1162          } else {
1163            inputDate = moment(inputDate, parseFormats, options.useStrict);
1164          }
1165          inputDate.locale(options.locale);
1166          return inputDate;
1167        },
1168
1169        keydown = function (e) {
1170          //if (e.keyCode === 27 && widget) { // allow escape to hide picker
1171          //    hide();
1172          //    return false;
1173          //}
1174          //if (e.keyCode === 40 && !widget) { // allow down to show picker
1175          //    show();
1176          //    e.preventDefault();
1177          //}
1178          //return true;
1179
1180          var handler = null,
1181              index,
1182              index2,
1183              pressedKeys = [],
1184              pressedModifiers = {},
1185              currentKey = e.which,
1186              keyBindKeys,
1187              allModifiersPressed,
1188              pressed = 'p';
1189
1190          keyState[currentKey] = pressed;
1191
1192          for (index in keyState) {
1193            if (keyState.hasOwnProperty(index) && keyState[index] === pressed) {
1194              pressedKeys.push(index);
1195              if (parseInt(index, 10) !== currentKey) {
1196                pressedModifiers[index] = true;
1197              }
1198            }
1199          }
1200
1201          for (index in options.keyBinds) {
1202            if (options.keyBinds.hasOwnProperty(index) && typeof (options.keyBinds[index]) === 'function') {
1203              keyBindKeys = index.split(' ');
1204              if (keyBindKeys.length === pressedKeys.length && keyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1]) {
1205                allModifiersPressed = true;
1206                for (index2 = keyBindKeys.length - 2; index2 >= 0; index2--) {
1207                  if (!(keyMap[keyBindKeys[index2]] in pressedModifiers)) {
1208                    allModifiersPressed = false;
1209                    break;
1210                  }
1211                }
1212                if (allModifiersPressed) {
1213                  handler = options.keyBinds[index];
1214                  break;
1215                }
1216              }
1217            }
1218          }
1219
1220          if (handler) {
1221            handler.call(picker, widget);
1222            e.stopPropagation();
1223            e.preventDefault();
1224          }
1225        },
1226
1227        keyup = function (e) {
1228          keyState[e.which] = 'r';
1229          e.stopPropagation();
1230          e.preventDefault();
1231        },
1232
1233        change = function (e) {
1234          var val = $(e.target).val().trim(),
1235              parsedDate = val ? parseInputDate(val) : null;
1236          setValue(parsedDate);
1237          e.stopImmediatePropagation();
1238          return false;
1239        },
1240
1241        attachDatePickerElementEvents = function () {
1242          input.on({
1243            'change': change,
1244            'blur': options.debug ? '' : hide,
1245            'keydown': keydown,
1246            'keyup': keyup
1247          });
1248
1249          if (element.is('input')) {
1250            input.on({
1251              'focus': show
1252            });
1253          } else if (component) {
1254            component.on('click', toggle);
1255            component.on('mousedown', false);
1256          }
1257        },
1258
1259        detachDatePickerElementEvents = function () {
1260          input.off({
1261            'change': change,
1262            'blur': hide,
1263            'keydown': keydown,
1264            'keyup': keyup
1265          });
1266
1267          if (element.is('input')) {
1268            input.off({
1269              'focus': show
1270            });
1271          } else if (component) {
1272            component.off('click', toggle);
1273            component.off('mousedown', false);
1274          }
1275        },
1276
1277        indexGivenDates = function (givenDatesArray) {
1278          // Store given enabledDates and disabledDates as keys.
1279          // This way we can check their existence in O(1) time instead of looping through whole array.
1280          // (for example: options.enabledDates['2014-02-27'] === true)
1281          var givenDatesIndexed = {};
1282          $.each(givenDatesArray, function () {
1283            var dDate = parseInputDate(this);
1284            if (dDate.isValid()) {
1285              givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true;
1286            }
1287          });
1288          return (Object.keys(givenDatesIndexed).length) ? givenDatesIndexed : false;
1289        },
1290
1291        initFormatting = function () {
1292          var format = options.format || 'L LT';
1293
1294          actualFormat = format.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput) {
1295            var newinput = date.localeData().longDateFormat(formatInput) || formatInput;
1296            return newinput.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput2) { //temp fix for #740
1297              return date.localeData().longDateFormat(formatInput2) || formatInput2;
1298            });
1299          });
1300
1301
1302          parseFormats = options.extraFormats ? options.extraFormats.slice() : [];
1303          if (parseFormats.indexOf(format) < 0 && parseFormats.indexOf(actualFormat) < 0) {
1304            parseFormats.push(actualFormat);
1305          }
1306
1307          use24Hours = (actualFormat.toLowerCase().indexOf('a') < 1 && actualFormat.indexOf('h') < 1);
1308
1309          if (isEnabled('y')) {
1310            minViewModeNumber = 2;
1311          }
1312          if (isEnabled('M')) {
1313            minViewModeNumber = 1;
1314          }
1315          if (isEnabled('d')) {
1316            minViewModeNumber = 0;
1317          }
1318
1319          currentViewMode = Math.max(minViewModeNumber, currentViewMode);
1320
1321          if (!unset) {
1322            setValue(date);
1323          }
1324        };
1325
1326    /********************************************************************************
1327         *
1328         * Public API functions
1329         * =====================
1330         *
1331         * Important: Do not expose direct references to private objects or the options
1332         * object to the outer world. Always return a clone when returning values or make
1333         * a clone when setting a private variable.
1334         *
1335         ********************************************************************************/
1336    picker.destroy = function () {
1337      hide();
1338      detachDatePickerElementEvents();
1339      element.removeData('DateTimePicker');
1340      element.removeData('date');
1341    };
1342
1343    picker.toggle = toggle;
1344
1345    picker.show = show;
1346
1347    picker.hide = hide;
1348
1349    picker.disable = function () {
1350      hide();
1351      if (component && component.hasClass('btn')) {
1352        component.addClass('disabled');
1353      }
1354      input.prop('disabled', true);
1355      return picker;
1356    };
1357
1358    picker.enable = function () {
1359      if (component && component.hasClass('btn')) {
1360        component.removeClass('disabled');
1361      }
1362      input.prop('disabled', false);
1363      return picker;
1364    };
1365
1366    picker.ignoreReadonly = function (ignoreReadonly) {
1367      if (arguments.length === 0) {
1368        return options.ignoreReadonly;
1369      }
1370      if (typeof ignoreReadonly !== 'boolean') {
1371        throw new TypeError('ignoreReadonly () expects a boolean parameter');
1372      }
1373      options.ignoreReadonly = ignoreReadonly;
1374      return picker;
1375    };
1376
1377    picker.options = function (newOptions) {
1378      if (arguments.length === 0) {
1379        return $.extend(true, {}, options);
1380      }
1381
1382      if (!(newOptions instanceof Object)) {
1383        throw new TypeError('options() options parameter should be an object');
1384      }
1385      $.extend(true, options, newOptions);
1386      $.each(options, function (key, value) {
1387        if (picker[key] !== undefined) {
1388          picker[key](value);
1389        } else {
1390          throw new TypeError('option ' + key + ' is not recognized!');
1391        }
1392      });
1393      return picker;
1394    };
1395
1396    picker.date = function (newDate) {
1397      if (arguments.length === 0) {
1398        if (unset) {
1399          return null;
1400        }
1401        return date.clone();
1402      }
1403
1404      if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) {
1405        throw new TypeError('date() parameter must be one of [null, string, moment or Date]');
1406      }
1407
1408      setValue(newDate === null ? null : parseInputDate(newDate));
1409      return picker;
1410    };
1411
1412    picker.format = function (newFormat) {
1413      if (arguments.length === 0) {
1414        return options.format;
1415      }
1416
1417      if ((typeof newFormat !== 'string') && ((typeof newFormat !== 'boolean') || (newFormat !== false))) {
1418        throw new TypeError('format() expects a sting or boolean:false parameter ' + newFormat);
1419      }
1420
1421      options.format = newFormat;
1422      if (actualFormat) {
1423        initFormatting(); // reinit formatting
1424      }
1425      return picker;
1426    };
1427
1428    picker.dayViewHeaderFormat = function (newFormat) {
1429      if (arguments.length === 0) {
1430        return options.dayViewHeaderFormat;
1431      }
1432
1433      if (typeof newFormat !== 'string') {
1434        throw new TypeError('dayViewHeaderFormat() expects a string parameter');
1435      }
1436
1437      options.dayViewHeaderFormat = newFormat;
1438      return picker;
1439    };
1440
1441    picker.extraFormats = function (formats) {
1442      if (arguments.length === 0) {
1443        return options.extraFormats;
1444      }
1445
1446      if (formats !== false && !(formats instanceof Array)) {
1447        throw new TypeError('extraFormats() expects an array or false parameter');
1448      }
1449
1450      options.extraFormats = formats;
1451      if (parseFormats) {
1452        initFormatting(); // reinit formatting
1453      }
1454      return picker;
1455    };
1456
1457    picker.disabledDates = function (dates) {
1458      if (arguments.length === 0) {
1459        return (options.disabledDates ? $.extend({}, options.disabledDates) : options.disabledDates);
1460      }
1461
1462      if (!dates) {
1463        options.disabledDates = false;
1464        update();
1465        return picker;
1466      }
1467      if (!(dates instanceof Array)) {
1468        throw new TypeError('disabledDates() expects an array parameter');
1469      }
1470      options.disabledDates = indexGivenDates(dates);
1471      options.enabledDates = false;
1472      update();
1473      return picker;
1474    };
1475
1476    picker.enabledDates = function (dates) {
1477      if (arguments.length === 0) {
1478        return (options.enabledDates ? $.extend({}, options.enabledDates) : options.enabledDates);
1479      }
1480
1481      if (!dates) {
1482        options.enabledDates = false;
1483        update();
1484        return picker;
1485      }
1486      if (!(dates instanceof Array)) {
1487        throw new TypeError('enabledDates() expects an array parameter');
1488      }
1489      options.enabledDates = indexGivenDates(dates);
1490      options.disabledDates = false;
1491      update();
1492      return picker;
1493    };
1494
1495    picker.daysOfWeekDisabled = function (daysOfWeekDisabled) {
1496      if (arguments.length === 0) {
1497        return options.daysOfWeekDisabled.splice(0);
1498      }
1499
1500      if (!(daysOfWeekDisabled instanceof Array)) {
1501        throw new TypeError('daysOfWeekDisabled() expects an array parameter');
1502      }
1503      options.daysOfWeekDisabled = daysOfWeekDisabled.reduce(function (previousValue, currentValue) {
1504        currentValue = parseInt(currentValue, 10);
1505        if (currentValue > 6 || currentValue < 0 || isNaN(currentValue)) {
1506          return previousValue;
1507        }
1508        if (previousValue.indexOf(currentValue) === -1) {
1509          previousValue.push(currentValue);
1510        }
1511        return previousValue;
1512      }, []).sort();
1513      update();
1514      return picker;
1515    };
1516
1517    picker.maxDate = function (maxDate) {
1518      if (arguments.length === 0) {
1519        return options.maxDate ? options.maxDate.clone() : options.maxDate;
1520      }
1521
1522      if ((typeof maxDate === 'boolean') && maxDate === false) {
1523        options.maxDate = false;
1524        update();
1525        return picker;
1526      }
1527
1528      if (typeof maxDate === 'string') {
1529        if (maxDate === 'now' || maxDate === 'moment') {
1530          maxDate = moment();
1531        }
1532      }
1533
1534      var parsedDate = parseInputDate(maxDate);
1535
1536      if (!parsedDate.isValid()) {
1537        throw new TypeError('maxDate() Could not parse date parameter: ' + maxDate);
1538      }
1539      if (options.minDate && parsedDate.isBefore(options.minDate)) {
1540        throw new TypeError('maxDate() date parameter is before options.minDate: ' + parsedDate.format(actualFormat));
1541      }
1542      options.maxDate = parsedDate;
1543      if (options.maxDate.isBefore(maxDate)) {
1544        setValue(options.maxDate);
1545      }
1546      if (viewDate.isAfter(parsedDate)) {
1547        viewDate = parsedDate.clone();
1548      }
1549      update();
1550      return picker;
1551    };
1552
1553    picker.minDate = function (minDate) {
1554      if (arguments.length === 0) {
1555        return options.minDate ? options.minDate.clone() : options.minDate;
1556      }
1557
1558      if ((typeof minDate === 'boolean') && minDate === false) {
1559        options.minDate = false;
1560        update();
1561        return picker;
1562      }
1563
1564      if (typeof minDate === 'string') {
1565        if (minDate === 'now' || minDate === 'moment') {
1566          minDate = moment();
1567        }
1568      }
1569
1570      var parsedDate = parseInputDate(minDate);
1571
1572      if (!parsedDate.isValid()) {
1573        throw new TypeError('minDate() Could not parse date parameter: ' + minDate);
1574      }
1575      if (options.maxDate && parsedDate.isAfter(options.maxDate)) {
1576        throw new TypeError('minDate() date parameter is after options.maxDate: ' + parsedDate.format(actualFormat));
1577      }
1578      options.minDate = parsedDate;
1579      if (options.minDate.isAfter(minDate)) {
1580        setValue(options.minDate);
1581      }
1582      if (viewDate.isBefore(parsedDate)) {
1583        viewDate = parsedDate.clone();
1584      }
1585      update();
1586      return picker;
1587    };
1588
1589    picker.defaultDate = function (defaultDate) {
1590      if (arguments.length === 0) {
1591        return options.defaultDate ? options.defaultDate.clone() : options.defaultDate;
1592      }
1593      if (!defaultDate) {
1594        options.defaultDate = false;
1595        return picker;
1596      }
1597
1598      if (typeof defaultDate === 'string') {
1599        if (defaultDate === 'now' || defaultDate === 'moment') {
1600          defaultDate = moment();
1601        }
1602      }
1603
1604      var parsedDate = parseInputDate(defaultDate);
1605      if (!parsedDate.isValid()) {
1606        throw new TypeError('defaultDate() Could not parse date parameter: ' + defaultDate);
1607      }
1608      if (!isValid(parsedDate)) {
1609        throw new TypeError('defaultDate() date passed is invali
1609d according to component setup validations');
1610      }
1611
1612      options.defaultDate = parsedDate;
1613
1614      if (options.defaultDate && input.val().trim() === '' && input.attr('placeholder') === undefined) {
1615        setValue(options.defaultDate);
1616      }
1617      return picker;
1618    };
1619
1620    picker.locale = function (locale) {
1621      if (arguments.length === 0) {
1622        return options.locale;
1623      }
1624
1625      if (!moment.localeData(locale)) {
1626        throw new TypeError('locale() locale ' + locale + ' is not loaded from moment locales!');
1627      }
1628
1629      options.locale = locale;
1630      date.locale(options.locale);
1631      viewDate.locale(options.locale);
1632
1633      if (actualFormat) {
1634        initFormatting(); // reinit formatting
1635      }
1636      if (widget) {
1637        hide();
1638        show();
1639      }
1640      return picker;
1641    };
1642
1643    picker.stepping = function (stepping) {
1644      if (arguments.length === 0) {
1645        return options.stepping;
1646      }
1647
1648      stepping = parseInt(stepping, 10);
1649      if (isNaN(stepping) || stepping < 1) {
1650        stepping = 1;
1651      }
1652      options.stepping = stepping;
1653      return picker;
1654    };
1655
1656    picker.useCurrent = function (useCurrent) {
1657      var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute'];
1658      if (arguments.length === 0) {
1659        return options.useCurrent;
1660      }
1661
1662      if ((typeof useCurrent !== 'boolean') && (typeof useCurrent !== 'string')) {
1663        throw new TypeError('useCurrent() expects a boolean or string parameter');
1664      }
1665      if (typeof useCurrent === 'string' && useCurrentOptions.indexOf(useCurrent.toLowerCase()) === -1) {
1666        throw new TypeError('useCurrent() expects a string parameter of ' + useCurrentOptions.join(', '));
1667      }
1668      options.useCurrent = useCurrent;
1669      return picker;
1670    };
1671
1672    picker.collapse = function (collapse) {
1673      if (arguments.length === 0) {
1674        return options.collapse;
1675      }
1676
1677      if (typeof collapse !== 'boolean') {
1678        throw new TypeError('collapse() expects a boolean parameter');
1679      }
1680      if (options.collapse === collapse) {
1681        return picker;
1682      }
1683      options.collapse = collapse;
1684      if (widget) {
1685        hide();
1686        show();
1687      }
1688      return picker;
1689    };
1690
1691    picker.icons = function (icons) {
1692      if (arguments.length === 0) {
1693        return $.extend({}, options.icons);
1694      }
1695
1696      if (!(icons instanceof Object)) {
1697        throw new TypeError('icons() expects parameter to be an Object');
1698      }
1699      $.extend(options.icons, icons);
1700      if (widget) {
1701        hide();
1702        show();
1703      }
1704      return picker;
1705    };
1706
1707    picker.useStrict = function (useStrict) {
1708      if (arguments.length === 0) {
1709        return options.useStrict;
1710      }
1711
1712      if (typeof useStrict !== 'boolean') {
1713        throw new TypeError('useStrict() expects a boolean parameter');
1714      }
1715      options.useStrict = useStrict;
1716      return picker;
1717    };
1718
1719    picker.sideBySide = function (sideBySide) {
1720      if (arguments.length === 0) {
1721        return options.sideBySide;
1722      }
1723
1724      if (typeof sideBySide !== 'boolean') {
1725        throw new TypeError('sideBySide() expects a boolean parameter');
1726      }
1727      options.sideBySide = sideBySide;
1728      if (widget) {
1729        hide();
1730        show();
1731      }
1732      return picker;
1733    };
1734
1735    picker.viewMode = function (viewMode) {
1736      if (arguments.length === 0) {
1737        return options.viewMode;
1738      }
1739
1740      if (typeof viewMode !== 'string') {
1741        throw new TypeError('viewMode() expects a string parameter');
1742      }
1743
1744      if (viewModes.indexOf(viewMode) === -1) {
1745        throw new TypeError('viewMode() parameter must be one of (' + viewModes.join(', ') + ') value');
1746      }
1747
1748      options.viewMode = viewMode;
1749      currentViewMode = Math.max(viewModes.indexOf(viewMode), minViewModeNumber);
1750
1751      showMode();
1752      return picker;
1753    };
1754
1755    picker.toolbarPlacement = function (toolbarPlacement) {
1756      if (arguments.length === 0) {
1757        return options.toolbarPlacement;
1758      }
1759
1760      if (typeof toolbarPlacement !== 'string') {
1761        throw new TypeError('toolbarPlacement() expects a string parameter');
1762      }
1763      if (toolbarPlacements.indexOf(toolbarPlacement) === -1) {
1764        throw new TypeError('toolbarPlacement() parameter must be one of (' + toolbarPlacements.join(', ') + ') value');
1765      }
1766      options.toolbarPlacement = toolbarPlacement;
1767
1768      if (widget) {
1769        hide();
1770        show();
1771      }
1772      return picker;
1773    };
1774
1775    picker.widgetPositioning = function (widgetPositioning) {
1776      if (arguments.length === 0) {
1777        return $.extend({}, options.widgetPositioning);
1778      }
1779
1780      if (({}).toString.call(widgetPositioning) !== '[object Object]') {
1781        throw new TypeError('widgetPositioning() expects an object variable');
1782      }
1783      if (widgetPositioning.horizontal) {
1784        if (typeof widgetPositioning.horizontal !== 'string') {
1785          throw new TypeError('widgetPositioning() horizontal variable must be a string');
1786        }
1787        widgetPositioning.horizontal = widgetPositioning.horizontal.toLowerCase();
1788        if (horizontalModes.indexOf(widgetPositioning.horizontal) === -1) {
1789          throw new TypeError('widgetPositioning() expects horizontal parameter to be one of (' + horizontalModes.join(', ') + ')');
1790        }
1791        options.widgetPositioning.horizontal = widgetPositioning.horizontal;
1792      }
1793      if (widgetPositioning.vertical) {
1794        if (typeof widgetPositioning.vertical !== 'string') {
1795          throw new TypeError('widgetPositioning() vertical variable must be a string');
1796        }
1797        widgetPositioning.vertical = widgetPositioning.vertical.toLowerCase();
1798        if (verticalModes.indexOf(widgetPositioning.vertical) === -1) {
1799          throw new TypeError('widgetPositioning() expects vertical parameter to be one of (' + verticalModes.join(', ') + ')');
1800        }
1801        options.widgetPositioning.vertical = widgetPositioning.vertical;
1802      }
1803      update();
1804      return picker;
1805    };
1806
1807    picker.calendarWeeks = function (calendarWeeks) {
1808      if (arguments.length === 0) {
1809        return options.calendarWeeks;
1810      }
1811
1812      if (typeof calendarWeeks !== 'boolean') {
1813        throw new TypeError('calendarWeeks() expects parameter to be a boolean value');
1814      }
1815
1816      options.calendarWeeks = calendarWeeks;
1817      update();
1818      return picker;
1819    };
1820
1821    picker.showTodayButton = function (showTodayButton) {
1822      if (arguments.length === 0) {
1823        return options.showTodayButton;
1824      }
1825
1826      if (typeof showTodayButton !== 'boolean') {
1827        throw new TypeError('showTodayButton() expects a boolean parameter');
1828      }
1829
1830      options.showTodayButton = showTodayButton;
1831      if (widget) {
1832        hide();
1833        show();
1834      }
1835      return picker;
1836    };
1837
1838    picker.showClear = function (showClear) {
1839      if (arguments.length === 0) {
1840        return options.showClear;
1841      }
1842
1843      if (typeof showClear !== 'boolean') {
1844        throw new TypeError('showClear() expects a boolean parameter');
1845      }
1846
1847      options.showClear = showClear;
1848      if (widget) {
1849        hide();
1850        show();
1851      }
1852      return picker;
1853    };
1854
1855    picker.widgetParent = function (widgetParent) {
1856      if (arguments.length === 0) {
1857        return options.widgetParent;
1858      }
1859
1860      if (typeof widgetParent === 'string') {
1861        widgetParent = $(widgetParent);
1862      }
1863
1864      if (widgetParent !== null && (typeof widgetParent !== 'string' && !(widgetParent instanceof $))) {
1865        throw new TypeError('widgetParent() expects a string or a jQuery object parameter');
1866      }
1867
1868      options.widgetParent = widgetParent;
1869      if (widget) {
1870        hide();
1871        show();
1872      }
1873      return picker;
1874    };
1875
1876    picker.keepOpen = function (keepOpen) {
1877      if (arguments.length === 0) {
1878        return options.keepOpen;
1879      }
1880
1881      if (typeof keepOpen !== 'boolean') {
1882        throw new TypeError('keepOpen() expects a boolean parameter');
1883      }
1884
1885      options.keepOpen = keepOpen;
1886      return picker;
1887    };
1888
1889    picker.inline = function (inline) {
1890      if (arguments.length === 0) {
1891        return options.inline;
1892      }
1893
1894      if (typeof inline !== 'boolean') {
1895        throw new TypeError('inline() expects a boolean parameter');
1896      }
1897
1898      options.inline = inline;
1899      return picker;
1900    };
1901
1902    picker.clear = function () {
1903      clear();
1904      return picker;
1905    };
1906
1907    picker.keyBinds = function (keyBinds) {
1908      options.keyBinds = keyBinds;
1909      return picker;
1910    };
1911
1912    picker.dateText = function (dateText) {
1913      options.dateText = dateText;
1914      return picker;
1915    };
1916
1917    picker.timeText = function (timeText) {
1918      options.timeText = timeText;
1919      return picker;
1920    };
1921
1922    picker.debug = function (debug) {
1923      if (typeof debug !== 'boolean') {
1924        throw new TypeError('debug() expects a boolean parameter');
1925      }
1926
1927      options.debug = debug;
1928      return picker;
1929    };
1930
1931    picker.showClose = function (showClose) {
1932      if (arguments.length === 0) {
1933        return options.showClose;
1934      }
1935
1936      if (typeof showClose !== 'boolean') {
1937        throw new TypeError('showClose() expects a boolean parameter');
1938      }
1939
1940      options.showClose = showClose;
1941      return picker;
1942    };
1943
1944    picker.keepInvalid = function (keepInvalid) {
1945      if (arguments.length === 0) {
1946        return options.keepInvalid;
1947      }
1948
1949      if (typeof keepInvalid !== 'boolean') {
1950        throw new TypeError('keepInvalid() expects a boolean parameter');
1951      }
1952      options.keepInvalid = keepInvalid;
1953      return picker;
1954    };
1955
1956    picker.datepickerInput = function (datepickerInput) {
1957      if (arguments.length === 0) {
1958        return options.datepickerInput;
1959      }
1960
1961      if (typeof datepickerInput !== 'string') {
1962        throw new TypeError('datepickerInput() expects a string parameter');
1963      }
1964
1965      options.datepickerInput = datepickerInput;
1966      return picker;
1967    };
1968
1969    // initializing element and component attributes
1970    if (element.is('input')) {
1971      input = element;
1972    } else {
1973      input = element.find(options.datepickerInput);
1974      if (input.size() === 0) {
1975        input = element.find('input');
1976      } else if (!input.is('input')) {
1977        throw new Error('CSS class "' + options.datepickerInput + '" cannot be applied to non input element');
1978      }
1979    }
1980
1981    if (element.hasClass('input-group')) {
1982      // in case there is more then one 'input-group-addon' Issue #48
1983      if (element.find('.datepickerbutton').size() === 0) {
1984        component = element.find('[class^="input-group-"]');
1985      } else {
1986        component = element.find('.datepickerbutton');
1987      }
1988    }
1989
1990    if (!options.inline && !input.is('input')) {
1991      throw new Error('Could not initialize DateTimePicker without an input element');
1992    }
1993
1994    $.extend(true, options, dataToOptions());
1995
1996    picker.options(options);
1997
1998    initFormatting();
1999
2000    attachDatePickerElementEvents();
2001
2002    if (input.prop('disabled')) {
2003      picker.disable();
2004    }
2005    if (input.is('input') && input.val().trim().length !== 0) {
2006      setValue(parseInputDate(input.val().trim()));
2007    }
2008    else if (options.defaultDate && input.attr('placeholder') === undefined) {
2009      setValue(options.defaultDate);
2010    }
2011    if (options.inline) {
2012      show();
2013    }
2014    return picker;
2015  };
2016
2017  /********************************************************************************
2018     *
2019     * jQuery plugin constructor and defaults object
2020     *
2021     ********************************************************************************/
2022
2023  $.fn.datetimepicker = function (options) {
2024    return this.each(function () {
2025      var $this = $(this);
2026      if (!$this.data('DateTimePicker')) {
2027        // create a private copy of the defaults object
2028        options = $.extend(true, {}, $.fn.datetimepicker.defaults, options);
2029        $this.data('DateTimePicker', dateTimePicker($this, options));
2030      }
2031    });
2032  };
2033
2034  $.fn.datetimepicker.defaults = {
2035    format: false,
2036    dayViewHeaderFormat: 'MMMM YYYY',
2037    extraFormats: false,
2038    stepping: 1,
2039    minDate: false,
2040    maxDate: false,
2041    useCurrent: true,
2042    collapse: true,
2043    locale: moment.locale(),
2044    defaultDate: false,
2045    disabledDates: false,
2046    enabledDates: false,
2047    icons: {
2048      time: 'glyphicon glyphicon-time',
2049      date: 'glyphicon glyphicon-calendar',
2050      up: 'glyphicon glyphicon-chevron-up',
2051      down: 'glyphicon glyphicon-chevron-down',
2052      previous: 'glyphicon glyphicon-chevron-left',
2053      next: 'glyphicon glyphicon-chevron-right',
2054      today: 'glyphicon glyphicon-screenshot',
2055      clear: 'glyphicon glyphicon-trash',
2056      close: 'glyphicon glyphicon-remove'
2057    },
2058    useStrict: false,
2059    sideBySide: false,
2060    daysOfWeekDisabled: [],
2061    calendarWeeks: false,
2062    viewMode: 'days',
2063    toolbarPlacement: 'default',
2064    showTodayButton: false,
2065    showClear: false,
2066    showClose: false,
2067    widgetPositioning: {
2068      horizontal: 'auto',
2069      vertical: 'auto'
2070    },
2071    widgetParent: null,
2072    ignoreReadonly: false,
2073    keepOpen: false,
2074    inline: false,
2075    keepInvalid: false,
2076    datepickerInput: '.datepickerinput',
2077    keyBinds: {
2078      up: function (widget) {
2079        if (!widget) {
2080          return;
2081        }
2082        var d = this.date() || moment();
2083        if (widget.find('.datepicker').is(':visible')) {
2084          this.date(d.clone().subtract(7, 'd'));
2085        } else {
2086          this.date(d.clone().add(1, 'm'));
2087        }
2088      },
2089      down: function (widget) {
2090        if (!widget) {
2091          this.show();
2092          return;
2093        }
2094        var d = this.date() || moment();
2095        if (widget.find('.datepicker').is(':visible')) {
2096          this.date(d.clone().add(7, 'd'));
2097        } else {
2098          this.date(d.clone().subtract(1, 'm'));
2099        }
2100      },
2101      'control up': function (widget) {
2102        if (!widget) {
2103          return;
2104        }
2105        var d = this.date() || moment();
2106        if (widget.find('.datepicker').is(':visible')) {
2107          this.date(d.clone().subtract(1, 'y'));
2108        } else {
2109          this.date(d.clone().add(1, 'h'));
2110        }
2111      },
2112      'control down': function (widget) {
2113        if (!widget) {
2114          return;
2115        }
2116        var d = this.date() || moment();
2117        if (widget.find('.datepicker').is(':visible')) {
2118          this.date(d.clone().add(1, 'y'));
2119        } else {
2120          this.date(d.clone().subtract(1, 'h'));
2121        }
2122      },
2123      left: function (widget) {
2124        if (!widget) {
2125          return;
2126        }
2127        var d = this.date() || moment();
2128        if (widget.find('.datepicker').is(':visible')) {
2129          this.date(d.clone().subtract(1, 'd'));
2130        }
2131      },
2132      right: function (widget) {
2133        if (!widget) {
2134          return;
2135        }
2136        var d = this.date() || moment();
2137        if (widget.find('.datepicker').is(':visible')) {
2138          this.date(d.clone().add(1, 'd'));
2139        }
2140      },
2141      pageUp: function (widget) {
2142        if (!widget) {
2143          return;
2144        }
2145        var d = this.date() || moment();
2146        if (widget.find('.datepicker').is(':visible')) {
2147          this.date(d.clone().subtract(1, 'M'));
2148        }
2149      },
2150      pageDown: function (widget) {
2151        if (!widget) {
2152          return;
2153        }
2154        var d = this.date() || moment();
2155        if (widget.find('.datepicker').is(':visible')) {
2156          this.date(d.clone().add(1, 'M'));
2157        }
2158      },
2159      enter: function () {
2160        this.hide();
2161      },
2162      escape: function () {
2163        this.hide();
2164      },
2165      //tab: function (widget) { //this break the flow of the form. disabling for now
2166      //    var toggle = widget.find('.picker-switch a[data-action="togglePicker"]');
2167      //    if(toggle.length > 0) toggle.click();
2168      //},
2169      'control space': function (widget) {
2170        if (widget.find('.timepicker').is(':visible')) {
2171          widget.find('.btn[data-action="togglePeriod"]').click();
2172        }
2173      },
2174      t: function () {
2175        this.date(moment());
2176      },
2177      'delete': function () {
2178        this.clear();
2179      }
2180    },
2181    debug: false
2182  };
2183}));
2184    $("#stacks_in_7060 button").prop("type", "submit");
2185    floatLabel(".floatLabel");
2186    setTimeout(function(){
2187      $(".submitMessage").remove();
2188    }, 5000);
2189    //fix for checkbox validation
2190    $(".com_onelittledesigner_stacks_Super_Forms_Checkbox_stack").click(function() {
2191      $("input:checkbox",this).removeClass("hasError");
2192    });
2193    $(".upload").click(function() {
2194      $(this).removeClass("hasError");
2195    });
2196    //
2197    //
2198    //
2199    //
2200  });
2201})(jQuery);
2202
2203return stack;})(stacks.stacks_in_7060);
2204stacks.stacks_in_7068 = {};
2205stacks.stacks_in_7068 = (function(stack) {
2206var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
2207  $("#stacks_in_7068").parent().css({
2208    "overflow" : "visible"
2209  });
2210  //
2211  $("#input-stacks_in_7068").blur(function() {
2212    if(!$("#input-stacks_in_7068").val()) {
2213      $("#input-stacks_in_7068").addClass("hasError");
2214    } else {
2215      $("#input-stacks_in_7068").removeClass("hasError");
2216    }
2217  });
2218  //
2219  //
2220});
2221
2222return stack;})(stacks.stacks_in_7068);
2223stacks.stacks_in_7069 = {};
2224stacks.stacks_in_7069 = (function(stack) {
2225var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
2226  $("#stacks_in_7069").parent().css({
2227    "overflow" : "visible"
2228  });
2229  
2230  $("#email-stacks_in_7069").blur(function() {
2231    if(($("#email-stacks_in_7069").val().indexOf("@") == -1) || ($("#email-stacks_in_7069").val().indexOf(".") == -1)) {
2232      $("#email-stacks_in_7069").addClass("hasError");
2233    } else {
2234      $("#email-stacks_in_7069").removeClass("hasError");
2235    }
2236  });
2237  
2238});
2239
2240return stack;})(stacks.stacks_in_7069);
2241stacks.stacks_in_7070 = {};
2242stacks.stacks_in_7070 = (function(stack) {
2243var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
2244  $("#stacks_in_7070").parent().css({
2245    "overflow" : "visible"
2246  });
2247  //
2248  $("#input-stacks_in_7070").blur(function() {
2249    if(!$("#input-stacks_in_7070").val()) {
2250      $("#input-stacks_in_7070").addClass("hasError");
2251    } else {
2252      $("#input-stacks_in_7070").removeClass("hasError");
2253    }
2254  });
2255  //
2256  //
2257});
2258
2259return stack;})(stacks.stacks_in_7070);
2260stacks.stacks_in_7071 = {};
2261stacks.stacks_in_7071 = (function(stack) {
2262var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
2263  $("#stacks_in_7071").parent().css({
2264    "overflow" : "visible"
2265  });
2266  
2267  $("#textarea-stacks_in_7071").blur(function() {
2268    if(!$("#textarea-stacks_in_7071").val()) {
2269      $("#textarea-stacks_in_7071").addClass("hasError");
2270    } else {
2271      $("#textarea-stacks_in_7071").removeClass("hasError");
2272    }
2273  });
2274  
2275});
2276
2277return stack;})(stacks.stacks_in_7071);
2278stacks.stacks_in_7072 = {};
2279stacks.stacks_in_7072 = (function(stack) {
2280var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
2281  $("#stacks_in_7072").parent().css({
2282    "overflow" : "visible"
2283  });
2284});
2285
2286return stack;})(stacks.stacks_in_7072);
2287stacks.stacks_in_7094 = {};
2288stacks.stacks_in_7094 = (function(stack) {
2289var jQuery = stacks.jQuery;var $ = jQuery;
2290
2291return stack;})(stacks.stacks_in_7094);
2292stacks.stacks_in_5868 = {};
2293stacks.stacks_in_5868 = (function(stack) {
2294var jQuery = stacks.jQuery;var $ = jQuery;
2295
2296return stack;})(stacks.stacks_in_5868);
2297stacks.stacks_in_6994 = {};
2298stacks.stacks_in_6994 = (function(stack) {
2299var jQuery = stacks.jQuery;var $ = jQuery;;(function(){'use strict';var ScrollScope=function(options){var self=this;self.mainContainer=null;self.selector=null;self.settings=$.extend({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'},(options&&(options.elements||options.forcedElements||options.events)?options:{}));self.getTargetedElements=function(){return self.mainContainer.find(self.selector)};self.getSelector=function(selectors){var legits=[];for(var i=0;i<selectors.length;i++){if(selectors[i]&&selectors[i].length){legits.push(selectors[i])}}return legits.length?legits.join(', '):null};self.normalizeJqueryObject=function(container){if(container){return(container instanceof jQuery)?container:$(container)}return null};self.killScrolling=function(event,force){if(force||(event.type!=='touchmove'&&event.type!=='touchstart')){event.preventDefault();event.stopPropagation();event.returnValue=false;return false}};self.onScroll=function(event){if(event.isLegitScroll){return true}var element=$(this);var force=(self.settings.forcedElements&&element.is(self.settings.forcedElements));var scrollHeight=this.scrollHeight;var apparentHeight=element.outerHeight();var scrollingLeft=scrollHeight-apparentHeight-this.scrollTop;if(scrollHeight<=apparentHeight){if(force&&event.type!=='touchstart'){return self.killScrolling(event,force)}return true}var delta=event.originalEvent.wheelDelta;if(force&&typeof delta==='undefined'&&(event.type==='touchstart')){if(this.scrollTop<=0){element.scrollTop(1)}else if(scrollingLeft<=0){element.scrollTop(scrollHeight-apparentHeight-1)}}var goingUp=delta>0;if(!goingUp&&-delta>scrollingLeft){element.scrollTop(this.scrollHeight);return self.killScrolling(event,force)}else if(goingUp&&delta>this.scrollTop){element.scrollTop(0);return self.killScrolling(event,force)}event.isLegitScroll=true;return true};self.unbind=function(){if(self.mainContainer){self.mainContainer.off(self.settings.events,self.selector,self.onScroll)}return self};self.bind=function(container){container=self.normalizeJqueryObject(container);if(container){self.unbind()}self.mainContainer=container;self.mainContainer.on(self.settings.events,self.selector,self.onScroll);return self};self.settings.elements=self.getSelector([self.settings.elements]);self.settings.forcedElements=self.getSelector([self.settings.forcedElements]);self.selector=self.getSelector([self.settings.elements,self.settings.forcedElements])};if(typeof define==='function'&&typeof define.amd==='object'&&define.amd){define(function(){return ScrollScope})}else if(typeof module!=='undefined'&&module.exports){module.exports=ScrollScope}else{window.ScrollScope=ScrollScope;if(jQuery){(function($){$.fn.scrollScope=function(options){var obj=new ScrollScope(options);obj.bind(this);return obj.mainContainer}}
2299(jQuery))}}}());$(document).scrollScope({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'});
2300return stack;})(stacks.stacks_in_6994);
2301stacks.stacks_in_5877 = {};
2302stacks.stacks_in_5877 = (function(stack) {
2303var jQuery = stacks.jQuery;var $ = jQuery;
2304
2305return stack;})(stacks.stacks_in_5877);
2306stacks.stacks_in_7040 = {};
2307stacks.stacks_in_7040 = (function(stack) {
2308var jQuery = stacks.jQuery;var $ = jQuery;;(function(){'use strict';var ScrollScope=function(options){var self=this;self.mainContainer=null;self.selector=null;self.settings=$.extend({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'},(options&&(options.elements||options.forcedElements||options.events)?options:{}));self.getTargetedElements=function(){return self.mainContainer.find(self.selector)};self.getSelector=function(selectors){var legits=[];for(var i=0;i<selectors.length;i++){if(selectors[i]&&selectors[i].length){legits.push(selectors[i])}}return legits.length?legits.join(', '):null};self.normalizeJqueryObject=function(container){if(container){return(container instanceof jQuery)?container:$(container)}return null};self.killScrolling=function(event,force){if(force||(event.type!=='touchmove'&&event.type!=='touchstart')){event.preventDefault();event.stopPropagation();event.returnValue=false;return false}};self.onScroll=function(event){if(event.isLegitScroll){return true}var element=$(this);var force=(self.settings.forcedElements&&element.is(self.settings.forcedElements));var scrollHeight=this.scrollHeight;var apparentHeight=element.outerHeight();var scrollingLeft=scrollHeight-apparentHeight-this.scrollTop;if(scrollHeight<=apparentHeight){if(force&&event.type!=='touchstart'){return self.killScrolling(event,force)}return true}var delta=event.originalEvent.wheelDelta;if(force&&typeof delta==='undefined'&&(event.type==='touchstart')){if(this.scrollTop<=0){element.scrollTop(1)}else if(scrollingLeft<=0){element.scrollTop(scrollHeight-apparentHeight-1)}}var goingUp=delta>0;if(!goingUp&&-delta>scrollingLeft){element.scrollTop(this.scrollHeight);return self.killScrolling(event,force)}else if(goingUp&&delta>this.scrollTop){element.scrollTop(0);return self.killScrolling(event,force)}event.isLegitScroll=true;return true};self.unbind=function(){if(self.mainContainer){self.mainContainer.off(self.settings.events,self.selector,self.onScroll)}return self};self.bind=function(container){container=self.normalizeJqueryObject(container);if(container){self.unbind()}self.mainContainer=container;self.mainContainer.on(self.settings.events,self.selector,self.onScroll);return self};self.settings.elements=self.getSelector([self.settings.elements]);self.settings.forcedElements=self.getSelector([self.settings.forcedElements]);self.selector=self.getSelector([self.settings.elements,self.settings.forcedElements])};if(typeof define==='function'&&typeof define.amd==='object'&&define.amd){define(function(){return ScrollScope})}else if(typeof module!=='undefined'&&module.exports){module.exports=ScrollScope}else{window.ScrollScope=ScrollScope;if(jQuery){(function($){$.fn.scrollScope=function(options){var obj=new ScrollScope(options);obj.bind(this);return obj.mainContainer}}(jQuery))}}}());$(document).scrollScope({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'});
2309return stack;})(stacks.stacks_in_7040);
2310stacks.stacks_in_5887 = {};
2311stacks.stacks_in_5887 = (function(stack) {
2312var jQuery = stacks.jQuery;var $ = jQuery; $(document).ready(function(){var stack=$('#stacks_in_5887');$('.breadcrumbs li',stack).last().addClass('current');$('.breadcrumbs a header',stack).unwrap().parent().addClass('unavailable');});
2313
2314return stack;})(stacks.stacks_in_5887);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.