function SmartUnLoading(){$(".divMessageBox").fadeOut(300,function(){$(this).remove()});$(".LoadingBoxContainer").fadeOut(300,function(){$(this).remove()})}function getInternetExplorerVersion(){var n=-1,t,i;return navigator.appName=="Microsoft Internet Explorer"&&(t=navigator.userAgent,i=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})"),i.exec(t)!=null&&(n=parseFloat(RegExp.$1))),n}function checkVersion(){var n="You're not using Windows Internet Explorer.",t=getInternetExplorerVersion();t>-1&&(n=t>=8?"You're using a recent copy of Windows Internet Explorer.":"You should upgrade your copy of Windows Internet Explorer.");alert(n)}function isIE8orlower(){var n="0",t=getInternetExplorerVersion();return t>-1&&(n=t>=9?0:1),n}function allocCString(n,t){for(var r=t.length,u=new Array(r),i=0;i<r;i++)u[i]=t.charCodeAt(i);return n.allocate(u,"i8",n.allocate.ALLOC_STATIC)&4294967295}function emCharArray(n,t){return n.allocate(t,"i8",n.allocate.ALLOC_STATIC)&4294967295}function emDoubleArray(n,t){return n.allocate(t,"double",n.allocate.ALLOC_STATIC)&4294967295}function emExtractArray(n,t,i,r){var e=[],f=1,u;switch(r){case"i8":f=1;break;case"double":f=8}for(u=0;u<i;u++)e.push(n.getValue(t+u*f,r));return e}function postArgMessage(n,t,i){var r={type:t};arguments.length>1&&(r.arg0=i);n.postMessage(r)}var BigBoxes;if(!function(n){function i(n,t){for(var i=window,r=(n||"").split(".");i&&r.length;)i=i[r.shift()];return"function"==typeof i?i:(t.push(n),Function.constructor.apply(null,t))}function u(n){return"GET"===n||"POST"===n}function e(n,t){u(t)||n.setRequestHeader("X-HTTP-Method-Override",t)}function o(t,i,r){var u;r.indexOf("application/x-javascript")===-1&&(u=(t.getAttribute("data-ajax-mode")||"").toUpperCase(),n(t.getAttribute("data-ajax-update")).each(function(t,r){switch(u){case"BEFORE":n(r).prepend(i);break;case"AFTER":n(r).append(i);break;case"REPLACE-WITH":n(r).replaceWith(i);break;default:n(r).html(i)}}))}function f(t,r){var c,l,f,a,s,h;(c=t.getAttribute("data-ajax-confirm"),!c||window.confirm(c))&&(l=n(t.getAttribute("data-ajax-loading")),a=parseInt(t.getAttribute("data-ajax-loading-duration"),10)||0,n.extend(r,{type:t.getAttribute("data-ajax-method")||void 0,url:t.getAttribute("data-ajax-url")||void 0,cache:"true"===(t.getAttribute("data-ajax-cache")||"").toLowerCase(),beforeSend:function(n){var r;return e(n,f),r=i(t.getAttribute("data-ajax-begin"),["xhr"]).apply(t,arguments),r!==!1&&l.show(a),r},complete:function(){l.hide(a);i(t.getAttribute("data-ajax-complete"),["xhr","status"]).apply(t,arguments)},success:function(n,r,u){o(t,n,u.getResponseHeader("Content-Type")||"text/html");i(t.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(t,arguments)},error:function(){i(t.getAttribute("data-ajax-failure"),["xhr","status","error"]).apply(t,arguments)}}),r.data.push({name:"X-Requested-With",value:"XMLHttpRequest"}),f=r.type.toUpperCase(),u(f)||(r.type="POST",r.data.push({name:"X-HTTP-Method-Override",value:f})),s=n(t),s.is("form")&&"multipart/form-data"==s.attr("enctype")&&(h=new FormData,n.each(r.data,function(n,t){h.append(t.name,t.value)}),n("input[type=file]",s).each(function(){var t=this;n.each(t.files,function(n,i){h.append(t.name,i)})}),n.extend(r,{processData:!1,contentType:!1,data:h})),n.ajax(r))}function s(t){var i=n(t).data(h);return!i||!i.validate||i.validate()}var t="unobtrusiveAjaxClick",r="unobtrusiveAjaxClickTarget",h="unobtrusiveValidation";n(document).on("click","a[data-ajax=true]",function(n){n.preventDefault();f(this,{url:this.href,type:"GET",data:[]})});n(document).on("click","form[data-ajax=true] input[type=image]",function(i){var r=i.target.name,u=n(i.target),f=n(u.parents("form")[0]),e=u.offset();f.data(t,[{name:r+".x",value:Math.round(i.pageX-e.left)},{name:r+".y",value:Math.round(i.pageY-e.top)}]);setTimeout(function(){f.removeData(t)},0)});n(document).on("click","form[data-ajax=true] :submit",function(i){var f=i.currentTarget.name,e=n(i.target),u=n(e.parents("form")[0]);u.data(t,f?[{name:f,value:i.currentTarget.value}]:[]);u.data(r,e);setTimeout(function(){u.removeData(t);u.removeData(r)},0)});n(document).on("submit","form[data-ajax=true]",function(i){var e=n(this).data(t)||[],u=n(this).data(r),o=u&&(u.hasClass("cancel")||void 0!==u.attr("formnovalidate"));i.preventDefault();(o||s(this))&&f(this,{url:this.action,type:this.method||"GET",data:e.concat(n(this).serializeArray())})})}(jQuery),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(n){"use strict";var t=n.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1==t[0]&&9==t[1]&&t[2]<1||t[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4");}(jQuery);+function(n){"use strict";function t(){var i=document.createElement("bootstrap"),n={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var t in n)if(void 0!==i.style[t])return{end:n[t]};return!1}n.fn.emulateTransitionEnd=function(t){var i=!1,u=this,r;n(this).one("bsTransitionEnd",function(){i=!0});return r=function(){i||n(u).trigger(n.support.transition.end)},setTimeout(r,t),this};n(function(){n.support.transition=t();n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery);+function(n){"use strict";function u(i){return this.each(function(){var r=n(this),u=r.data("bs.alert");u||r.data("bs.alert",u=new t(this));"string"==typeof i&&u[i].call(r)})}var i='[data-dismiss="alert"]',t=function(t){n(t).on("click",i,this.close)},r;t.VERSION="3.3.7";t.TRANSITION_DURATION=150;t.prototype.close=function(i){function e(){r.detach().trigger("closed.bs.alert").remove()}var f=n(this),u=f.attr("data-target"),r;u||(u=f.attr("href"),u=u&&u.replace(/.*(?=#[^\s]*$)/,""));r=n("#"===u?[]:u);i&&i.preventDefault();r.length||(r=f.closest(".alert"));r.trigger(i=n.Event("close.bs.alert"));i.isDefaultPrevented()||(r.removeClass("in"),n.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",e).emulateTransitionEnd(t.TRANSITION_DURATION):e())};r=n.fn.alert;n.fn.alert=u;n.fn.alert.Constructor=t;n.fn.alert.noConflict=function(){return n.fn.alert=r,this};n(document).on("click.bs.alert.data-api",i,t.prototype.close)}(jQuery);+function(n){"use strict";function i(i){return this.each(function(){var u=n(this),r=u.data("bs.button"),f="object"==typeof i&&i;r||u.data("bs.button",r=new t(this,f));"toggle"==i?r.toggle():i&&r.setState(i)})}var t=function(i,r){this.$element=n(i);this.options=n.extend({},t.DEFAULTS,r);this.isLoading=!1},r;t.VERSION="3.3.7";t.DEFAULTS={loadingText:"loading..."};t.prototype.setState=function(t){var i="disabled",r=this.$element,f=r.is("input")?"val":"html",u=r.data();t+="Text";null==u.resetText&&r.data("resetText",r[f]());setTimeout(n.proxy(function(){r[f](null==u[t]?this.options[t]:u[t]);"loadingText"==t?(this.isLoading=!0,r.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,r.removeClass(i).removeAttr(i).prop(i,!1))},this),0)};t.prototype.toggle=function(){var t=!0,i=this.$element.closest('[data-toggle="buttons"]'),n;i.length?(n=this.$element.find("input"),"radio"==n.prop("type")?(n.prop("checked")&&(t=!1),i.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")):(this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active"))};r=n.fn.button;n.fn.button=i;n.fn.button.Constructor=t;n.fn.button.noConflict=function(){return n.fn.button=r,this};n(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var r=n(t.target).closest(".btn");i.call(r,"toggle");n(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),r.is("input,button")?r.trigger("focus"):r.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){n(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery);+function(n){"use strict";function i(i){return this.each(function(){var u=n(this),r=u.data("bs.carousel"),f=n.extend({},t.DEFAULTS,u.data(),"object"==typeof i&&i),e="string"==typeof i?i:f.slide;r||u.data("bs.carousel",r=new t(this,f));"number"==typeof i?r.to(i):e?r[e]():f.interval&&r.pause().cycle()})}var t=function(t,i){this.$element=n(t);this.$indicators=this.$element.find(".carousel-indicators");this.options=i;this.paused=null;this.sliding=null;this.interval=null;this.$active=null;this.$items=null;this.options.keyboard&&this.$element.on("keydown.bs.carousel",n.proxy(this.keydown,this));"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",n.proxy(this.pause,this)).on("mouseleave.bs.carousel",n.proxy(this.cycle,this))},u,r;t.VERSION="3.3.7";t.TRANSITION_DURATION=600;t.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0};t.prototype.keydown=function(n){if(!/input|textarea/i.test(n.target.tagName)){switch(n.which){case 37:this.prev();break;case 39:this.next();break;default:return}n.preventDefault()}};t.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(n.proxy(this.next,this),this.options.interval)),this};t.prototype.getItemIndex=function(n){return this.$items=n.parent().children(".item"),this.$items.index(n||this.$active)};t.prototype.getItemForDirection=function(n,t){var i=this.getItemIndex(t),f="prev"==n&&0===i||"next"==n&&i==this.$items.length-1,r,u;return f&&!this.options.wrap?t:(r="prev"==n?-1:1,u=(i+r)%this.$items.length,this.$items.eq(u))};t.prototype.to=function(n){var i=this,t=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(n>this.$items.length-1||n<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){i.to(n)}):t==n?this.pause().cycle():this.slide(n>t?"next":"prev",this.$items.eq(n))};t.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&n.support.transition&&(this.$element.trigger(n.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this};t.prototype.next=function(){if(!this.sliding)return this.slide("next")};t.prototype.prev=function(){if(!this.sliding)return this.slide("prev")};t.prototype.slide=function(i,r){var e=this.$element.find(".item.active"),u=r||this.getItemForDirection(i,e),l=this.interval,f="next"==i?"left":"right",a=this,o,s,h,c;return u.hasClass("active")?this.sliding=!1:(o=u[0],s=n.Event("slide.bs.carousel",{relatedTarget:o,direction:f}),(this.$element.trigger(s),!s.isDefaultPrevented())?((this.sliding=!0,l&&this.pause(),this.$indicators.length)&&(this.$indicators.find(".active").removeClass("active"),h=n(this.$indicators.children()[this.getItemIndex(u)]),h&&h.addClass("active")),c=n.Event("slid.bs.carousel",{relatedTarget:o,direction:f}),n.support.transition&&this.$element.hasClass("slide")?(u.addClass(i),u[0].offsetWidth,e.addClass(f),u.addClass(f),e.one("bsTransitionEnd",function(){u.removeClass([i,f].join(" ")).addClass("active");e.removeClass(["active",f].join(" "));a.sliding=!1;setTimeout(function(){a.$element.trigger(c)},0)}).emulateTransitionEnd(t.TRANSITION_DURATION)):(e.removeClass("active"),u.addClass("active"),this.sliding=!1,this.$element.trigger(c)),l&&this.cycle(),this):void 0)};u=n.fn.carousel;n.fn.carousel=i;n.fn.carousel.Constructor=t;n.fn.carousel.noConflict=function(){return n.fn.carousel=u,this};r=function(t){var o,r=n(this),u=n(r.attr("data-target")||(o=r.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,"")),e,f;u.hasClass("carousel")&&(e=n.extend({},u.data(),r.data()),f=r.attr("data-slide-to"),f&&(e.interval=!1),i.call(u,e),f&&u.data("bs.carousel").to(f),t.preventDefault())};n(document).on("click.bs.carousel.data-api","[data-slide]",r).on("click.bs.carousel.data-api","[data-slide-to]",r);n(window).on("load",function(){n('[data-ride="carousel"]').each(function(){var t=n(this);i.call(t,t.data())})})}(jQuery);+function(n){"use strict";function r(t){var i,r=t.attr("data-target")||(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return n(r)}function i(i){return this.each(function(){var u=n(this),r=u.data("bs.collapse"),f=n.extend({},t.DEFAULTS,u.data(),"object"==typeof i&&i);!r&&f.toggle&&/show|hide/.test(i)&&(f.toggle=!1);r||u.data("bs.collapse",r=new t(this,f));"string"==typeof i&&r[i]()})}var t=function(i,r){this.$element=n(i);this.options=n.extend({},t.DEFAULTS,r);this.$trigger=n('[data-toggle="collapse"][href="#'+i.id+'"],[data-toggle="collapse"][data-target="#'+i.id+'"]');this.transitioning=null;this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger);this.options.toggle&&this.toggle()},u;t.VERSION="3.3.7";t.TRANSITION_DURATION=350;t.DEFAULTS={toggle:!0};t.prototype.dimension=function(){var n=this.$element.hasClass("width");return n?"width":"height"};t.prototype.show=function(){var f,r,e,u,o,s;if(!this.transitioning&&!this.$element.hasClass("in")&&(r=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing"),!(r&&r.length&&(f=r.data("bs.collapse"),f&&f.transitioning))&&(e=n.Event("show.bs.collapse"),this.$element.trigger(e),!e.isDefaultPrevented()))){if(r&&r.length&&(i.call(r,"hide"),f||r.data("bs.collapse",null)),u=this.dimension(),this.$element.removeClass("collapse").addClass("collapsing")[u](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1,o=function(){this.$element.removeClass("collapsing").addClass("collapse in")[u]("");this.transitioning=0;this.$element.trigger("shown.bs.collapse")},!n.support.transition)return o.call(this);s=n.camelCase(["scroll",u].join("-"));this.$element.one("bsTransitionEnd",n.proxy(o,this)).emulateTransitionEnd(t.TRANSITION_DURATION)[u](this.$element[0][s])}};t.prototype.hide=function(){var r,i,u;if(!this.transitioning&&this.$element.hasClass("in")&&(r=n.Event("hide.bs.collapse"),this.$element.trigger(r),!r.isDefaultPrevented()))return i=this.dimension(),this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1,u=function(){this.transitioning=0;this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")},n.support.transition?void this.$element[i](0).one("bsTransitionEnd",n.proxy(u,this)).emulateTransitionEnd(t.TRANSITION_DURATION):u.call(this)};t.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};t.prototype.getParent=function(){return n(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(n.proxy(function(t,i){var u=n(i);this.addAriaAndCollapsedClass(r(u),u)},this)).end()};t.prototype.addAriaAndCollapsedClass=function(n,t){var i=n.hasClass("in");n.attr("aria-expanded",i);t.toggleClass("collapsed",!i).attr("aria-expanded",i)};u=n.fn.collapse;n.fn.collapse=i;n.fn.collapse.Constructor=t;n.fn.collapse.noConflict=function(){return n.fn.collapse=u,this};n(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var u=n(this);u.attr("data-target")||t.preventDefault();var f=r(u),e=f.data("bs.collapse"),o=e?"toggle":u.data();i.call(f,o)})}(jQuery);+function(n){"use strict";function r(t){var i=t.attr("data-target"),r;return i||(i=t.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,"")),r=i&&n(i),r&&r.length?r:t.parent()}function u(t){t&&3===t.which||(n(o).remove(),n(i).each(function(){var u=n(this),i=r(u),f={relatedTarget:this};i.hasClass("open")&&(t&&"click"==t.type&&/input|textarea/i.test(t.target.tagName)&&n.contains(i[0],t.target)||(i.trigger(t=n.Event("hide.bs.dropdown",f)),t.isDefaultPrevented()||(u.attr("aria-expanded","false"),i.removeClass("open").trigger(n.Event("hidden.bs.dropdown",f)))))}))}function e(i){return this.each(function(){var r=n(this),u=r.data("bs.dropdown");u||r.data("bs.dropdown",u=new t(this));"string"==typeof i&&u[i].call(r)})}var o=".dropdown-backdrop",i='[data-toggle="dropdown"]',t=function(t){n(t).on("click.bs.dropdown",this.toggle)},f;t.VERSION="3.3.7";t.prototype.toggle=function(t){var f=n(this),i,o,e;if(!f.is(".disabled, :disabled")){if(i=r(f),o=i.hasClass("open"),u(),!o){if("ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&n(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(n(this)).on("click",u),e={relatedTarget:this},i.trigger(t=n.Event("show.bs.dropdown",e)),t.isDefaultPrevented())return;f.trigger("focus").attr("aria-expanded","true");i.toggleClass("open").trigger(n.Event("shown.bs.dropdown",e))}return!1}};t.prototype.keydown=function(t){var e,o,s,h,f,u;if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)&&(e=n(this),t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled"))){if(o=r(e),s=o.hasClass("open"),!s&&27!=t.which||s&&27==t.which)return 27==t.which&&o.find(i).trigger("focus"),e.trigger("click");h=" li:not(.disabled):visible a";f=o.find(".dropdown-menu"+h);f.length&&(u=f.index(t.target),38==t.which&&u>0&&u--,40==t.which&&u<f.length-1&&u++,~u||(u=0),f.eq(u).trigger("focus"))}};f=n.fn.dropdown;n.fn.dropdown=e;n.fn.dropdown.Constructor=t;n.fn.dropdown.noConflict=function(){return n.fn.dropdown=f,this};n(document).on("click.bs.dropdown.data-api",u).on("click.bs.dropdown.data-api",".dropdown form",function(n){n.stopPropagation()}).on("click.bs.dropdown.data-api",i,t.prototype.toggle).on("keydown.bs.dropdown.data-api",i,t.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",t.prototype.keydown)}(jQuery);+function(n){"use strict";function i(i,r){return this.each(function(){var f=n(this),u=f.data("bs.modal"),e=n.extend({},t.DEFAULTS,f.data(),"object"==typeof i&&i);u||f.data("bs.modal",u=new t(this,e));"string"==typeof i?u[i](r):e.show&&u.show(r)})}var t=function(t,i){this.options=i;this.$body=n(document.body);this.$element=n(t);this.$dialog=this.$element.find(".modal-dialog");this.$backdrop=null;this.isShown=null;this.originalBodyPad=null;this.scrollbarWidth=0;this.ignoreBackdropClick=!1;this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,n.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))},r;t.VERSION="3.3.7";t.TRANSITION_DURATION=300;t.BACKDROP_TRANSITION_DURATION=150;t.DEFAULTS={backdrop:!0,keyboard:!0,show:!0};t.prototype.toggle=function(n){return this.isShown?this.hide():this.show(n)};t.prototype.show=function(i){var r=this,u=n.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(u);this.isShown||u.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',n.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){r.$element.one("mouseup.dismiss.bs.modal",function(t){n(t.target).is(r.$element)&&(r.ignoreBackdropClick=!0)})}),this.backdrop(function(){var f=n.support.transition&&r.$element.hasClass("fade"),u;r.$element.parent().length||r.$element.appendTo(r.$body);r.$element.show().scrollTop(0);r.adjustDialog();f&&r.$element[0].offsetWidth;r.$element.addClass("in");r.enforceFocus();u=n.Event("shown.bs.modal",{relatedTarget:i});f?r.$dialog.one("bsTransitionEnd",function(){r.$element.trigger("focus").trigger(u)}).emulateTransitionEnd(t.TRANSITION_DURATION):r.$element.trigger("focus").trigger(u)}))};t.prototype.hide=function(i){i&&i.preventDefault();i=n.Event("hide.bs.modal");this.$element.trigger(i);this.isShown&&!i.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),n(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),n.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",n.proxy(this.hideModal,this)).emulateTransitionEnd(t.TRANSITION_DURATION):this.hideModal())};t.prototype.enforceFocus=function(){n(document).off("focusin.bs.modal").on("focusin.bs.modal",n.proxy(function(n){document===n.target||this.$element[0]===n.target||this.$element.has(n.target).length||this.$element.trigger("focus")},this))};t.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",n.proxy(function(n){27==n.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")};t.prototype.resize=function(){this.isShown?n(window).on("resize.bs.modal",n.proxy(this.handleUpdate,this)):n(window).off("resize.bs.modal")};t.prototype.hideModal=function(){var n=this;this.$element.hide();this.backdrop(function(){n.$body.removeClass("modal-open");n.resetAdjustments();n.resetScrollbar();n.$element.trigger("hidden.bs.modal")})};t.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove();this.$backdrop=null};t.prototype.backdrop=function(i){var e=this,f=this.$element.hasClass("fade")?"fade":"",r,u;if(this.isShown&&this.options.backdrop){if(r=n.support.transition&&f,this.$backdrop=n(document.createElement("div")).addClass("modal-backdrop "+f).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",n.proxy(function(n){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(n.target===n.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),r&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!i)return;r?this.$backdrop.one("bsTransitionEnd",i).emulateTransitionEnd(t.BACKDROP_TRANSITION_DURATION):i()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),u=function(){e.removeBackdrop();i&&i()},n.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",u).emulateTransitionEnd(t.BACKDROP_TRANSITION_DURATION):u()):i&&i()};t.prototype.handleUpdate=function(){this.adjustDialog()};t.prototype.adjustDialog=function(){var n=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&n?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!n?this.scrollbarWidth:""})};t.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})};t.prototype.checkScrollbar=function(){var n=window.innerWidth,t;n||(t=document.documentElement.getBoundingClientRect(),n=t.right-Math.abs(t.left));this.bodyIsOverflowing=document.body.clientWidth<n;this.scrollbarWidth=this.measureScrollbar()};t.prototype.setScrollbar=function(){var n=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";this.bodyIsOverflowing&&this.$body.css("padding-right",n+this.scrollbarWidth)};t.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)};t.prototype.measureScrollbar=function(){var n=document.createElement("div"),t;return n.className="modal-scrollbar-measure",this.$body.append(n),t=n.offsetWidth-n.clientWidth,this.$body[0].removeChild(n),t};r=n.fn.modal;n.fn.modal=i;n.fn.modal.Constructor=t;n.fn.modal.noConflict=function(){return n.fn.modal=r,this};n(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var r=n(this),f=r.attr("href"),u=n(r.attr("data-target")||f&&f.replace(/.*(?=#[^\s]+$)/,"")),e=u.data("bs.modal")?"toggle":n.extend({remote:!/#/.test(f)&&f},u.data(),r.data());r.is("a")&&t.preventDefault();u.one("show.bs.modal",function(n){n.isDefaultPrevented()||u.one("hidden.bs.modal",function(){r.is(":visible")&&r.trigger("focus")})});i.call(u,e,this)})}(jQuery);+function(n){"use strict";function r(i){return this.each(function(){var u=n(this),r=u.data("bs.tooltip"),f="object"==typeof i&&i;!r&&/destroy|hide/.test(i)||(r||u.data("bs.tooltip",r=new t(this,f)),"string"==typeof i&&r[i]())})}var t=function(n,t){this.type=null;this.options=null;this.enabled=null;this.timeout=null;this.hoverState=null;this.$element=null;this.inState=null;this.init("tooltip",n,t)},i;t.VERSION="3.3.7";t.TRANSITION_DURATION=150;t.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}};t.prototype.init=function(t,i,r){var f,e,u,o,s;if(this.enabled=!0,this.type=t,this.$element=n(i),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&n(n.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(f=this.options.trigger.split(" "),e=f.length;e--;)if(u=f[e],"click"==u)this.$element.on("click."+this.type,this.options.selector,n.proxy(this.toggle,this));else"manual"!=u&&(o="hover"==u?"mouseenter":"focusin",s="hover"==u?"mouseleave":"focusout",this.$element.on(o+"."+this.type,this.options.selector,n.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,n.proxy(this.leave,this)));this.options.selector?this._options=n.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()};t.prototype.getDefaults=function(){return t.DEFAULTS};t.prototype.getOptions=function(t){return t=n.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t};t.prototype.getDelegateOptions=function(){var t={},i=this.getDefaults();return this._options&&n.each(this._options,function(n,r){i[n]!=r&&(t[n]=r)}),t};t.prototype.enter=function(t){var i=t instanceof this.constructor?t:n(t.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(t.currentTarget,this.getDelegateOptions()),n(t.currentTarget).data("bs."+this.type,i)),t instanceof n.Event&&(i.inState["focusin"==t.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())};t.prototype.isInStateTrue=function(){for(var n in this.inState)if(this.inState[n])return!0;return!1};t.prototype.leave=function(t){var i=t instanceof this.constructor?t:n(t.currentTarget).data("bs."+this.type);if(i||(i=new this.constructor(t.currentTarget,this.getDelegateOptions()),n(t.currentTarget).data("bs."+this.type,i)),t instanceof n.Event&&(i.inState["focusout"==t.type?"focus":"hover"]=!1),!i.isInStateTrue())return clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide()};t.prototype.show=function(){var c=n.Event("show.bs."+this.type),l,p,e,w,h;if(this.hasContent()&&this.enabled){if(this.$element.trigger(c),l=n.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]),c.isDefaultPrevented()||!l)return;var u=this,r=this.tip(),a=this.getUID(this.type);this.setContent();r.attr("id",a);this.$element.attr("aria-describedby",a);this.options.animation&&r.addClass("fade");var i="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,v=/\s?auto?\s?/i,y=v.test(i);y&&(i=i.replace(v,"")||"top");r.detach().css({top:0,left:0,display:"block"}).addClass(i).data("bs."+this.type,this);this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element);this.$element.trigger("inserted.bs."+this.type);var f=this.getPosition(),o=r[0].offsetWidth,s=r[0].offsetHeight;y&&(p=i,e=this.getPosition(this.$viewport),i="bottom"==i&&f.bottom+s>e.bottom?"top":"top"==i&&f.top-s<e.top?"bottom":"right"==i&&f.right+o>e.width?"left":"left"==i&&f.left-o<e.left?"right":i,r.removeClass(p).addClass(i));w=this.getCalculatedOffset(i,f,o,s);this.applyPlacement(w,i);h=function(){var n=u.hoverState;u.$element.trigger("shown.bs."+u.type);u.hoverState=null;"out"==n&&u.leave(u)};n.support.transition&&this.$tip.hasClass("fade")?r.one("bsTransitionEnd",h).emulateTransitionEnd(t.TRANSITION_DURATION):h()}};t.prototype.applyPlacement=function(t,i){var r=this.tip(),l=r[0].offsetWidth,e=r[0].offsetHeight,o=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10),h,f,u;isNaN(o)&&(o=0);isNaN(s)&&(s=0);t.top+=o;t.left+=s;n.offset.setOffset(r[0],n.extend({using:function(n){r.css({top:Math.round(n.top),left:Math.round(n.left)})}},t),0);r.addClass("in");h=r[0].offsetWidth;f=r[0].offsetHeight;"top"==i&&f!=e&&(t.top=t.top+e-f);u=this.getViewportAdjustedDelta(i,t,h,f);u.left?t.left+=u.left:t.top+=u.top;var c=/top|bottom/.test(i),a=c?2*u.left-l+h:2*u.top-e+f,v=c?"offsetWidth":"offsetHeight";r.offset(t);this.replaceArrow(a,r[0][v],c)};t.prototype.replaceArrow=function(n,t,i){this.arrow().css(i?"left":"top",50*(1-n/t)+"%").css(i?"top":"left","")};t.prototype.setContent=function(){var n=this.tip(),t=this.getTitle();n.find(".tooltip-inner")[this.options.html?"html":"text"](t);n.removeClass("fade in top bottom left right")};t.prototype.hide=function(i){function f(){"in"!=r.hoverState&&u.detach();r.$element&&r.$element.removeAttr("aria-describedby").trigger("hidden.bs."+r.type);i&&i()}var r=this,u=n(this.$tip),e=n.Event("hide.bs."+this.type);if(this.$element.trigger(e),!e.isDefaultPrevented())return u.removeClass("in"),n.support.transition&&u.hasClass("fade")?u.one("bsTransitionEnd",f).emulateTransitionEnd(t.TRANSITION_DURATION):f(),this.hoverState=null,this};t.prototype.fixTitle=function(){var n=this.$element;(n.attr("title")||"string"!=typeof n.attr("data-original-title"))&&n.attr("data-original-title",n.attr("title")||"").attr("title","")};t.prototype.hasContent=function(){return this.getTitle()};t.prototype.getPosition=function(t){t=t||this.$element;var r=t[0],u="BODY"==r.tagName,i=r.getBoundingClientRect();null==i.width&&(i=n.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var f=window.SVGElement&&r instanceof window.SVGElement,e=u?{top:0,left:0}:f?null:t.offset(),o={scroll:u?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},s=u?{width:n(window).width(),height:n(window).height()}:null;return n.extend({},i,o,s,e)};t.prototype.getCalculatedOffset=function(n,t,i,r){return"bottom"==n?{top:t.top+t.height,left:t.left+t.width/2-i/2}:"top"==n?{top:t.top-r,left:t.left+t.width/2-i/2}:"left"==n?{top:t.top+t.height/2-r/2,left:t.left-i}:{top:t.top+t.height/2-r/2,left:t.left+t.width}};t.prototype.getViewportAdjustedDelta=function(n,t,i,r){var f={top:0,left:0},e,u,o,s,h,c;return this.$viewport?(e=this.options.viewport&&this.options.viewport.padding||0,u=this.getPosition(this.$viewport),/right|left/.test(n)?(o=t.top-e-u.scroll,s=t.top+e-u.scroll+r,o<u.top?f.top=u.top-o:s>u.top+u.height&&(f.top=u.top+u.height-s)):(h=t.left-e,c=t.left+e+i,h<u.left?f.left=u.left-h:c>u.right&&(f.left=u.left+u.width-c)),f):f};t.prototype.getTitle=function(){var t=this.$element,n=this.options;return t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)};t.prototype.getUID=function(n){do n+=~~(1e6*Math.random());while(document.getElementById(n));return n};t.prototype.tip=function(){if(!this.$tip&&(this.$tip=n(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip};t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")};t.prototype.enable=function(){this.enabled=!0};t.prototype.disable=function(){this.enabled=!1};t.prototype.toggleEnabled=function(){this.enabled=!this.enabled};t.prototype.toggle=function(t){var i=this;t&&(i=n(t.currentTarget).data("bs."+this.type),i||(i=new this.constructor(t.currentTarget,this.getDelegateOptions()),n(t.currentTarget).data("bs."+this.type,i)));t?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)};t.prototype.destroy=function(){var n=this;clearTimeout(this.timeout);this.hide(function(){n.$element.off("."+n.type).removeData("bs."+n.type);n.$tip&&n.$tip.detach();n.$tip=null;n.$arrow=null;n.$viewport=null;n.$element=null})};i=n.fn.tooltip;n.fn.tooltip=r;n.fn.tooltip.Constructor=t;n.fn.tooltip.noConflict=function(){return n.fn.tooltip=i,this}}(jQuery);+function(n){"use strict";function r(i){return this.each(function(){var u=n(this),r=u.data("bs.popover"),f="object"==typeof i&&i;!r&&/destroy|hide/.test(i)||(r||u.data("bs.popover",r=new t(this,f)),"string"==typeof i&&r[i]())})}var t=function(n,t){this.init("popover",n,t)},i;if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");t.VERSION="3.3.7";t.DEFAULTS=n.extend({},n.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>'});t.prototype=n.extend({},n.fn.tooltip.Constructor.prototype);t.prototype.constructor=t;t.prototype.getDefaults=function(){return t.DEFAULTS};t.prototype.setContent=function(){var n=this.tip(),i=this.getTitle(),t=this.getContent();n.find(".popover-title")[this.options.html?"html":"text"](i);n.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof t?"html":"append":"text"](t);n.removeClass("fade top bottom left right in");n.find(".popover-title").html()||n.find(".popover-title").hide()};t.prototype.hasContent=function(){return this.getTitle()||this.getContent()};t.prototype.getContent=function(){var t=this.$element,n=this.options;return t.attr("data-content")||("function"==typeof n.content?n.content.call(t[0]):n.content)};t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};i=n.fn.popover;n.fn.popover=r;n.fn.popover.Constructor=t;n.fn.popover.noConflict=function(){return n.fn.popover=i,this}}(jQuery);+function(n){"use strict";function t(i,r){this.$body=n(document.body);this.$scrollElement=n(n(i).is(document.body)?window:i);this.options=n.extend({},t.DEFAULTS,r);this.selector=(this.options.target||"")+" .nav li > a";this.offsets=[];this.targets=[];this.activeTarget=null;this.scrollHeight=0;this.$scrollElement.on("scroll.bs.scrollspy",n.proxy(this.process,this));this.refresh();this.process()}function i(i){return this.each(function(){var u=n(this),r=u.data("bs.scrollspy"),f="object"==typeof i&&i;r||u.data("bs.scrollspy",r=new t(this,f));"string"==typeof i&&r[i]()})}t.VERSION="3.3.7";t.DEFAULTS={offset:10};t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)};t.prototype.refresh=function(){var t=this,i="offset",r=0;this.offsets=[];this.targets=[];this.scrollHeight=this.getScrollHeight();n.isWindow(this.$scrollElement[0])||(i="position",r=this.$scrollElement.scrollTop());this.$body.find(this.selector).map(function(){var f=n(this),u=f.data("target")||f.attr("href"),t=/^#./.test(u)&&n(u);return t&&t.length&&t.is(":visible")&&[[t[i]().top+r,u]]||null}).sort(function(n,t){return n[0]-t[0]}).each(function(){t.offsets.push(this[0]);t.targets.push(this[1])})};t.prototype.process=function(){var n,i=this.$scrollElement.scrollTop()+this.options.offset,f=this.getScrollHeight(),e=this.options.offset+f-this.$scrollElement.height(),t=this.offsets,r=this.targets,u=this.activeTarget;if(this.scrollHeight!=f&&this.refresh(),i>=e)return u!=(n=r[r.length-1])&&this.activate(n);if(u&&i<t[0])return this.activeTarget=null,this.clear();for(n=t.length;n--;)u!=r[n]&&i>=t[n]&&(void 0===t[n+1]||i<t[n+1])&&this.activate(r[n])};t.prototype.activate=function(t){this.activeTarget=t;this.clear();var r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=n(r).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active"));i.trigger("activate.bs.scrollspy")};t.prototype.clear=function(){n(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var r=n.fn.scrollspy;n.fn.scrollspy=i;n.fn.scrollspy.Constructor=t;n.fn.scrollspy.noConflict=function(){return n.fn.scrollspy=r,this};n(window).on("load.bs.scrollspy.data-api",function(){n('[data-spy="scroll"]').each(function(){var t=n(this);i.call(t,t.data())})})}(jQuery);+function(n){"use strict";function r(i){return this.each(function(){var u=n(this),r=u.data("bs.tab");r||u.data("bs.tab",r=new t(this));"string"==typeof i&&r[i]()})}var t=function(t){this.element=n(t)},u,i;t.VERSION="3.3.7";t.TRANSITION_DURATION=150;t.prototype.show=function(){var t=this.element,f=t.closest("ul:not(.dropdown-menu)"),i=t.data("target"),u;if(i||(i=t.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var r=f.find(".active:last a"),e=n.Event("hide.bs.tab",{relatedTarget:t[0]}),o=n.Event("show.bs.tab",{relatedTarget:r[0]});(r.trigger(e),t.trigger(o),o.isDefaultPrevented()||e.isDefaultPrevented())||(u=n(i),this.activate(t.closest("li"),f),this.activate(u,u.parent(),function(){r.trigger({type:"hidden.bs.tab",relatedTarget:t[0]});t.trigger({type:"shown.bs.tab",relatedTarget:r[0]})}))}};t.prototype.activate=function(i,r,u){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1);i.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0);o?(i[0].offsetWidth,i.addClass("in")):i.removeClass("fade");i.parent(".dropdown-menu").length&&i.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0);u&&u()}var f=r.find("> .active"),o=u&&n.support.transition&&(f.length&&f.hasClass("fade")||!!r.find("> .fade").length);f.length&&o?f.one("bsTransitionEnd",e).emulateTransitionEnd(t.TRANSITION_DURATION):e();f.removeClass("in")};u=n.fn.tab;n.fn.tab=r;n.fn.tab.Constructor=t;n.fn.tab.noConflict=function(){return n.fn.tab=u,this};i=function(t){t.preventDefault();r.call(n(this),"show")};n(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery);+function(n){"use strict";function i(i){return this.each(function(){var u=n(this),r=u.data("bs.affix"),f="object"==typeof i&&i;r||u.data("bs.affix",r=new t(this,f));"string"==typeof i&&r[i]()})}var t=function(i,r){this.options=n.extend({},t.DEFAULTS,r);this.$target=n(this.options.target).on("scroll.bs.affix.data-api",n.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",n.proxy(this.checkPositionWithEventLoop,this));this.$element=n(i);this.affixed=null;this.unpin=null;this.pinnedOffset=null;this.checkPosition()},r;t.VERSION="3.3.7";t.RESET="affix affix-top affix-bottom";t.DEFAULTS={offset:0,target:window};t.prototype.getState=function(n,t,i,r){var u=this.$target.scrollTop(),f=this.$element.offset(),e=this.$target.height();if(null!=i&&"top"==this.affixed)return u<i&&"top";if("bottom"==this.affixed)return null!=i?!(u+this.unpin<=f.top)&&"bottom":!(u+e<=n-r)&&"bottom";var o=null==this.affixed,s=o?u:f.top,h=o?e:t;return null!=i&&u<=i?"top":null!=r&&s+h>=n-r&&"bottom"};t.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(t.RESET).addClass("affix");var n=this.$target.scrollTop(),i=this.$element.offset();return this.pinnedOffset=i.top-n};t.prototype.checkPositionWithEventLoop=function(){setTimeout(n.proxy(this.checkPosition,this),1)};t.prototype.checkPosition=function(){var i,e,o;if(this.$element.is(":visible")){var s=this.$element.height(),r=this.options.offset,f=r.top,u=r.bottom,h=Math.max(n(document).height(),n(document.body).height());if("object"!=typeof r&&(u=f=r),"function"==typeof f&&(f=r.top(this.$element)),"function"==typeof u&&(u=r.bottom(this.$element)),i=this.getState(h,s,f,u),this.affixed!=i){if(null!=this.unpin&&this.$element.css("top",""),e="affix"+(i?"-"+i:""),o=n.Event(e+".bs.affix"),this.$element.trigger(o),o.isDefaultPrevented())return;this.affixed=i;this.unpin="bottom"==i?this.getPinnedOffset():null;this.$element.removeClass(t.RESET).addClass(e).trigger(e.replace("affix","affixed")+".bs.affix")}"bottom"==i&&this.$element.offset({top:h-s-u})}};r=n.fn.affix;n.fn.affix=i;n.fn.affix.Constructor=t;n.fn.affix.noConflict=function(){return n.fn.affix=r,this};n(window).on("load",function(){n('[data-spy="affix"]').each(function(){var r=n(this),t=r.data();t.offset=t.offset||{};null!=t.offsetBottom&&(t.offset.bottom=t.offsetBottom);null!=t.offsetTop&&(t.offset.top=t.offsetTop);i.call(r,t)})})}(jQuery);!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):n("object"==typeof exports?require("jquery"):jQuery)}(function(n,t){function f(){return new Date(Date.UTC.apply(Date,arguments))}function s(){var n=new Date;return f(n.getFullYear(),n.getMonth(),n.getDate())}function l(n,t){return n.getUTCFullYear()===t.getUTCFullYear()&&n.getUTCMonth()===t.getUTCMonth()&&n.getUTCDate()===t.getUTCDate()}function h(i,r){return function(){return r!==t&&n.fn.datepicker.deprecated(r),this[i].apply(this,arguments)}}function p(n){return n&&!isNaN(n.getTime())}function w(t,i){function o(n,t){return t.toLowerCase()}var u,f=n(t).data(),e={},s=new RegExp("^"+i.toLowerCase()+"([A-Z])"),r;i=new RegExp("^"+i.toLowerCase());for(r in f)i.test(r)&&(u=r.replace(s,o),e[u]=f[r]);return e}function b(t){var u={},i;if(r[t]||(t=t.split("-")[0],r[t]))return i=r[t],n.each(y,function(n,t){t in i&&(u[t]=i[t])}),u}var a=function(){var t={get:function(n){return this.slice(n)[0]},contains:function(n){for(var i=n&&n.valueOf(),t=0,r=this.length;t<r;t++)if(0<=this[t].valueOf()-i&&this[t].valueOf()-i<864e5)return t;return-1},remove:function(n){this.splice(n,1)},replace:function(t){t&&(n.isArray(t)||(t=[t]),this.clear(),this.push.apply(this,t))},clear:function(){this.length=0},copy:function(){var n=new a;return n.replace(this),n}};return function(){var i=[];return i.push.apply(i,arguments),n.extend(i,t),i}}(),u=function(t,r){n.data(t,"datepicker",this);this._process_options(r);this.dates=new a;this.viewDate=this.o.defaultViewDate;this.focusDate=null;this.element=n(t);this.isInput=this.element.is("input");this.inputField=this.isInput?this.element:this.element.find("input");this.component=!!this.element.hasClass("date")&&this.element.find(".add-on, .input-group-addon, .btn");this.component&&0===this.component.length&&(this.component=!1);this.isInline=!this.component&&this.element.is("div");this.picker=n(i.template);this._check_template(this.o.templates.leftArrow)&&this.picker.find(".prev").html(this.o.templates.leftArrow);this._check_template(this.o.templates.rightArrow)&&this.picker.find(".next").html(this.o.templates.rightArrow);this._buildEvents();this._attachEvents();this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu");this.o.rtl&&this.picker.addClass("datepicker-rtl");this.o.calendarWeeks&&this.picker.find(".datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear").attr("colspan",function(n,t){return Number(t)+1});this._process_options({startDate:this._o.startDate,endDate:this._o.endDate,daysOfWeekDisabled:this.o.daysOfWeekDisabled,daysOfWeekHighlighted:this.o.daysOfWeekHighlighted,datesDisabled:this.o.datesDisabled});this._allow_update=!1;this.setViewMode(this.o.startView);this._allow_update=!0;this.fillDow();this.fillMonths();this.update();this.isInline&&this.show()},c,v,o,e,y,r,i;u.prototype={constructor:u,_resolveViewName:function(t){return n.each(i.viewModes,function(i,r){if(t===i||n.inArray(t,r.names)!==-1)return t=i,!1}),t},_resolveDaysOfWeek:function(t){return n.isArray(t)||(t=t.split(/[,\s]*/)),n.map(t,Number)},_check_template:function(i){try{if(i===t||""===i)return!1;if((i.match(/[<>]/g)||[]).length<=0)return!0;var r=n(i);return r.length>0}catch(n){return!1}},_process_options:function(t){var u,h,l,o,c;if(this._o=n.extend({},this._o,t),u=this.o=n.extend({},this._o),h=u.language,r[h]||(h=h.split("-")[0],r[h]||(h=e.language)),u.language=h,u.startView=this._resolveViewName(u.startView),u.minViewMode=this._resolveViewName(u.minViewMode),u.maxViewMode=this._resolveViewName(u.maxViewMode),u.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,u.startView)),u.multidate!==!0&&(u.multidate=Number(u.multidate)||!1,u.multidate!==!1&&(u.multidate=Math.max(0,u.multidate))),u.multidateSeparator=String(u.multidateSeparator),u.weekStart%=7,u.weekEnd=(u.weekStart+6)%7,l=i.parseFormat(u.format),u.startDate!==-(1/0)&&(u.startDate=u.startDate?u.startDate instanceof Date?this._local_to_utc(this._zero_time(u.startDate)):i.parseDate(u.startDate,l,u.language,u.assumeNearbyYear):-(1/0)),u.endDate!==1/0&&(u.endDate=u.endDate?u.endDate instanceof Date?this._local_to_utc(this._zero_time(u.endDate)):i.parseDate(u.endDate,l,u.language,u.assumeNearbyYear):1/0),u.daysOfWeekDisabled=this._resolveDaysOfWeek(u.daysOfWeekDisabled||[]),u.daysOfWeekHighlighted=this._resolveDaysOfWeek(u.daysOfWeekHighlighted||[]),u.datesDisabled=u.datesDisabled||[],n.isArray(u.datesDisabled)||(u.datesDisabled=u.datesDisabled.split(",")),u.datesDisabled=n.map(u.datesDisabled,function(n){return i.parseDate(n,l,u.language,u.assumeNearbyYear)}),o=String(u.orientation).toLowerCase().split(/\s+/g),c=u.orientation.toLowerCase(),o=n.grep(o,function(n){return/^auto|left|right|top|bottom$/.test(n)}),u.orientation={x:"auto",y:"auto"},c&&"auto"!==c)if(1===o.length)switch(o[0]){case"top":case"bottom":u.orientation.y=o[0];break;case"left":case"right":u.orientation.x=o[0]}else c=n.grep(o,function(n){return/^left|right$/.test(n)}),u.orientation.x=c[0]||"auto",c=n.grep(o,function(n){return/^top|bottom$/.test(n)}),u.orientation.y=c[0]||"auto";if(u.defaultViewDate instanceof Date||"string"==typeof u.defaultViewDate)u.defaultViewDate=i.parseDate(u.defaultViewDate,l,u.language,u.assumeNearbyYear);else if(u.defaultViewDate){var a=u.defaultViewDate.year||(new Date).getFullYear(),v=u.defaultViewDate.month||0,y=u.defaultViewDate.day||1;u.defaultViewDate=f(a,v,y)}else u.defaultViewDate=s()},_events:[],_secondaryEvents:[],_applyEvents:function(n){for(var f,r,u,i=0;i<n.length;i++)f=n[i][0],2===n[i].length?(r=t,u=n[i][1]):3===n[i].length&&(r=n[i][1],u=n[i][2]),f.on(u,r)},_unapplyEvents:function(n){for(var f,r,u,i=0;i<n.length;i++)f=n[i][0],2===n[i].length?(u=t,r=n[i][1]):3===n[i].length&&(u=n[i][1],r=n[i][2]),f.off(r,u)},_buildEvents:function(){var t={keyup:n.proxy(function(t){n.inArray(t.keyCode,[27,37,39,38,40,32,13,9])===-1&&this.update()},this),keydown:n.proxy(this.keydown,this),paste:n.proxy(this.paste,this)};this.o.showOnFocus===!0&&(t.focus=n.proxy(this.show,this));this._events=this.isInput?[[this.element,t]]:this.component&&this.inputField.length?[[this.inputField,t],[this.component,{click:n.proxy(this.show,this)}]]:[[this.element,{click:n.proxy(this.show,this),keydown:n.proxy(this.keydown,this)}]];this._events.push([this.element,"*",{blur:n.proxy(function(n){this._focused_from=n.target},this)}],[this.element,{blur:n.proxy(function(n){this._focused_from=n.target},this)}]);this.o.immediateUpdates&&this._events.push([this.element,{"changeYear changeMonth":n.proxy(function(n){this.update(n.date)},this)}]);this._secondaryEvents=[[this.picker,{click:n.proxy(this.click,this)}],[this.picker,".prev, .next",{click:n.proxy(this.navArrowsClick,this)}],[this.picker,".day:not(.disabled)",{click:n.proxy(this.dayCellClick,this)}],[n(window),{resize:n.proxy(this.place,this)}],[n(document),{"mousedown touchstart":n.proxy(function(n){this.element.is(n.target)||this.element.find(n.target).length||this.picker.is(n.target)||this.picker.find(n.target).length||this.isInline||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents();this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents();this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(t,r){var u=r||this.dates.get(-1),f=this._utc_to_local(u);this.element.trigger({type:t,date:f,viewMode:this.viewMode,dates:n.map(this.dates,this._utc_to_local),format:n.proxy(function(n,t){0===arguments.length?(n=this.dates.length-1,t=this.o.format):"string"==typeof n&&(t=n,n=this.dates.length-1);t=t||this.o.format;var r=this.dates.get(n);return i.formatDate(r,t,this.o.language)},this)})},show:function(){if(!(this.inputField.prop("disabled")||this.inputField.prop("readonly")&&this.o.enableOnReadonly===!1))return this.isInline||this.picker.appendTo(this.o.container),this.place(),this.picker.show(),this._attachSecondaryEvents(),this._trigger("show"),(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&this.o.disableTouchKeyboard&&n(this.element).blur(),this},hide:function(){return this.isInline||!this.picker.is(":visible")?this:(this.focusDate=null,this.picker.hide().detach(),this._detachSecondaryEvents(),this.setViewMode(this.o.startView),this.o.forceParse&&this.inputField.val()&&this.setValue(),this._trigger("hide"),this)},destroy:function(){return this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete this.element.data().datepicker,this.isInput||delete this.element.data().date,this},paste:function(t){var i;if(t.originalEvent.clipboardData&&t.originalEvent.clipboardData.types&&n.inArray("text/plain",t.originalEvent.clipboardData.types)!==-1)i=t.originalEvent.clipboardData.getData("text/plain");else{if(!window.clipboardData)return;i=window.clipboardData.getData("Text")}this.setDate(i);this.update();t.preventDefault()},_utc_to_local:function(n){if(!n)return n;var t=new Date(n.getTime()+6e4*n.getTimezoneOffset());return t.getTimezoneOffset()!==n.getTimezoneOffset()&&(t=new Date(n.getTime()+6e4*t.getTimezoneOffset())),t},_local_to_utc:function(n){return n&&new Date(n.getTime()-6e4*n.getTimezoneOffset())},_zero_time:function(n){return n&&new Date(n.getFullYear(),n.getMonth(),n.getDate())},_zero_utc_time:function(n){return n&&f(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate())},getDates:function(){return n.map(this.dates,this._utc_to_local)},getUTCDates:function(){return n.map(this.dates,function(n){return new Date(n)})},getDate:function(){return this._utc_to_local(this.getUTCDate())},getUTCDate:function(){var n=this.dates.get(-1);return n!==t?new Date(n):null},clearDates:function(){this.inputField.val("");this.update();this._trigger("changeDate");this.o.autoclose&&this.hide()},setDates:function(){var t=n.isArray(arguments[0])?arguments[0]:arguments;return this.update.apply(this,t),this._trigger("changeDate"),this.setValue(),this},setUTCDates:function(){var t=n.isArray(arguments[0])?arguments[0]:arguments;return this.setDates.apply(this,n.map(t,this._utc_to_local)),this},setDate:h("setDates"),setUTCDate:h("setUTCDates"),remove:h("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead"),setValue:function(){var n=this.getFormattedDate();return this.inputField.val(n),this},getFormattedDate:function(r){r===t&&(r=this.o.format);var u=this.o.language;return n.map(this.dates,function(n){return i.formatDate(n,r,u)}).join(this.o.multidateSeparator)},getStartDate:function(){return this.o.startDate},setStartDate:function(n){return this._process_options({startDate:n}),this.update(),this.updateNavArrows(),this},getEndDate:function(){return this.o.endDate},setEndDate:function(n){return this._process_options({endDate:n}),this.update(),this.updateNavArrows(),this},setDaysOfWeekDisabled:function(n){return this._process_options({daysOfWeekDisabled:n}),this.update(),this},setDaysOfWeekHighlighted:function(n){return this._process_options({daysOfWeekHighlighted:n}),this.update(),this},setDatesDisabled:function(n){return this._process_options({datesDisabled:n}),this.update(),this},place:function(){var y,r,p;if(this.isInline)return this;var f=this.picker.outerWidth(),s=this.picker.outerHeight(),e=n(this.o.container),h=e.width(),c="body"===this.o.container?n(document).scrollTop():e.scrollTop(),l=e.offset(),a=[0];this.element.parents().each(function(){var t=n(this).css("z-index");"auto"!==t&&0!==Number(t)&&a.push(Number(t))});var v=Math.max.apply(Math,a)+this.o.zIndexOffset,u=this.component?this.component.parent().offset():this.element.offset(),w=this.component?this.component.outerHeight(!0):this.element.outerHeight(!1),o=this.component?this.component.outerWidth(!0):this.element.outerWidth(!1),t=u.left-l.left,i=u.top-l.top;return"body"!==this.o.container&&(i+=c),this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"),"auto"!==this.o.orientation.x?(this.picker.addClass("datepicker-orient-"+this.o.orientation.x),"right"===this.o.orientation.x&&(t-=f-o)):u.left<0?(this.picker.addClass("datepicker-orient-left"),t-=u.left-10):t+f>h?(this.picker.addClass("datepicker-orient-right"),t+=o-f):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left"),r=this.o.orientation.y,("auto"===r&&(y=-c+i-s,r=y<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+r),"top"===r?i-=s+parseInt(this.picker.css("padding-top")):i+=w,this.o.rtl)?(p=h-(t+o),this.picker.css({top:i,right:p,zIndex:v})):this.picker.css({top:i,left:t,zIndex:v}),this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var u=this.dates.copy(),t=[],r=!1;return arguments.length?(n.each(arguments,n.proxy(function(n,i){i instanceof Date&&(i=this._local_to_utc(i));t.push(i)},this)),r=!0):(t=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),t=t&&this.o.multidate?t.split(this.o.multidateSeparator):[t],delete this.element.data().date),t=n.map(t,n.proxy(function(n){return i.parseDate(n,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),t=n.grep(t,n.proxy(function(n){return!this.dateWithinRange(n)||!n},this),!0),this.dates.replace(t),this.o.updateViewDate&&(this.viewDate=this.dates.length?new Date(this.dates.get(-1)):this.viewDate<this.o.startDate?new Date(this.o.startDate):this.viewDate>this.o.endDate?new Date(this.o.endDate):this.o.defaultViewDate),r?(this.setValue(),this.element.change()):this.dates.length&&String(u)!==String(this.dates)&&r&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&u.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var i=this.o.weekStart,t="<tr>";for(this.o.calendarWeeks&&(t+='<th class="cw">&#160;<\/th>');i<this.o.weekStart+7;)t+='<th class="dow',n.inArray(i,this.o.daysOfWeekDisabled)!==-1&&(t+=" disabled"),t+='">'+r[this.o.language].daysMin[i++%7]+"<\/th>";t+="<\/tr>";this.picker.find(".datepicker-days thead").append(t)}},fillMonths:function(){for(var t,i=this._utc_to_local(this.viewDate),u="",n=0;n<12;n++)t=i&&i.getMonth()===n?" focused":"",u+='<span class="month'+t+'">'+r[this.o.language].monthsShort[n]+"<\/span>";this.picker.find(".datepicker-months td").html(u)},setRange:function(t){t&&t.length?this.range=n.map(t,function(n){return n.valueOf()}):delete this.range;this.fill()},getClassNames:function(t){var i=[],r=this.viewDate.getUTCFullYear(),u=this.viewDate.getUTCMonth(),f=s();return t.getUTCFullYear()<r||t.getUTCFullYear()===r&&t.getUTCMonth()<u?i.push("old"):(t.getUTCFullYear()>r||t.getUTCFullYear()===r&&t.getUTCMonth()>u)&&i.push("new"),this.focusDate&&t.valueOf()===this.focusDate.valueOf()&&i.push("focused"),this.o.todayHighlight&&l(t,f)&&i.push("today"),this.dates.contains(t)!==-1&&i.push("active"),this.dateWithinRange(t)||i.push("disabled"),this.dateIsDisabled(t)&&i.push("disabled","disabled-date"),n.inArray(t.getUTCDay(),this.o.daysOfWeekHighlighted)!==-1&&i.push("highlighted"),this.range&&(t>this.range[0]&&t<this.range[this.range.length-1]&&i.push("range"),n.inArray(t.valueOf(),this.range)!==-1&&i.push("selected"),t.valueOf()===this.range[0]&&i.push("range-start"),t.valueOf()===this.range[this.range.length-1]&&i.push("range-end")),i},_fill_yearsView:function(i,r,u,f,e,o,s){for(var c,v,h,w="",l=u/10,b=this.picker.find(i),y=Math.floor(f/u)*u,p=y+9*l,k=Math.floor(this.viewDate.getFullYear()/l)*l,d=n.map(this.dates,function(n){return Math.floor(n.getUTCFullYear()/l)*l}),a=y-l;a<=p+l;a+=l)c=[r],v=null,a===y-l?c.push("old"):a===p+l&&c.push("new"),n.inArray(a,d)!==-1&&c.push("active"),(a<e||a>o)&&c.push("disabled"),a===k&&c.push("focused"),s!==n.noop&&(h=s(new Date(a,0,1)),h===t?h={}:"boolean"==typeof h?h={enabled:h}:"string"==typeof h&&(h={classes:h}),h.enabled===!1&&c.push("disabled"),h.classes&&(c=c.concat(h.classes.split(/\s+/))),h.tooltip&&(v=h.tooltip)),w+='<span class="'+c.join(" ")+'"'+(v?' title="'+v+'"':"")+">"+a+"<\/span>";b.find(".datepicker-switch").text(y+"-"+p);b.find("td").html(w)},fill:function(){var y,u,w=new Date(this.viewDate),o=w.getUTCFullYear(),d=w.getUTCMonth(),a=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),ut=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),v=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,ft=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,et=r[this.o.language].today||r.en.today||"",ot=r[this.o.language].clear||r.en.clear||"",st=r[this.o.language].titleFormat||r.en.titleFormat,e,g,h,p,s,c,k,it,l,rt;if(!isNaN(o)&&!isNaN(d)){for(this.picker.find(".datepicker-days .datepicker-switch").text(i.formatDate(w,st,this.o.language)),this.picker.find("tfoot .today").text(et).css("display",this.o.todayBtn===!0||"linked"===this.o.todayBtn?"table-cell":"none"),this.picker.find("tfoot .clear").text(ot).css("display",this.o.clearBtn===!0?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths(),e=f(o,d,0),g=e.getUTCDate(),e.setUTCDate(g-(e.getUTCDay()-this.o.weekStart+7)%7),h=new Date(e),e.getUTCFullYear()<100&&h.setUTCFullYear(e.getUTCFullYear()),h.setUTCDate(h.getUTCDate()+42),h=h.valueOf(),c=[];e.valueOf()<h;){if(p=e.getUTCDay(),p===this.o.weekStart&&(c.push("<tr>"),this.o.calendarWeeks)){var nt=new Date(+e+(this.o.weekStart-p-7)%7*864e5),tt=new Date(Number(nt)+(11-nt.getUTCDay())%7*864e5),b=new Date(Number(b=f(tt.getUTCFullYear(),0,1))+(11-b.getUTCDay())%7*864e5),ht=(tt-b)/6048e5+1;c.push('<td class="cw">'+ht+"<\/td>")}s=this.getClassNames(e);s.push("day");k=e.getUTCDate();this.o.beforeShowDay!==n.noop&&(u=this.o.beforeShowDay(this._utc_to_local(e)),u===t?u={}:"boolean"==typeof u?u={enabled:u}:"string"==typeof u&&(u={classes:u}),u.enabled===!1&&s.push("disabled"),u.classes&&(s=s.concat(u.classes.split(/\s+/))),u.tooltip&&(y=u.tooltip),u.content&&(k=u.content));s=n.isFunction(n.uniqueSort)?n.uniqueSort(s):n.unique(s);c.push('<td class="'+s.join(" ")+'"'+(y?' title="'+y+'"':"")+' data-date="'+e.getTime().toString()+'">'+k+"<\/td>");y=null;p===this.o.weekEnd&&c.push("<\/tr>");e.setUTCDate(e.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(c.join(""));it=r[this.o.language].monthsTitle||r.en.monthsTitle||"Months";l=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?it:o).end().find("tbody span").removeClass("active");(n.each(this.dates,function(n,t){t.getUTCFullYear()===o&&l.eq(t.getUTCMonth()).addClass("active")}),(o<a||o>v)&&l.addClass("disabled"),o===a&&l.slice(0,ut).addClass("disabled"),o===v&&l.slice(ft+1).addClass("disabled"),this.o.beforeShowMonth!==n.noop)&&(rt=this,n.each(l,function(i,r){var f=new Date(o,i,1),u=rt.o.beforeShowMonth(f);u===t?u={}:"boolean"==typeof u?u={enabled:u}:"string"==typeof u&&(u={classes:u});u.enabled!==!1||n(r).hasClass("disabled")||n(r).addClass("disabled");u.classes&&n(r).addClass(u.classes);u.tooltip&&n(r).prop("title",u.tooltip)}));this._fill_yearsView(".datepicker-years","year",10,o,a,v,this.o.beforeShowYear);this._fill_yearsView(".datepicker-decades","decade",100,o,a,v,this.o.beforeShowDecade);this._fill_yearsView(".datepicker-centuries","century",1e3,o,a,v,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var i,r,u=new Date(this.viewDate),t=u.getUTCFullYear(),f=u.getUTCMonth(),e=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),s=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),o=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=1;switch(this.viewMode){case 0:i=t<=e&&f<=s;r=t>=o&&f>=h;break;case 4:n*=10;case 3:n*=10;case 2:n*=10;case 1:i=Math.floor(t/n)*n<=e;r=Math.floor(t/n)*n+n>=o}this.picker.find(".prev").toggleClass("disabled",i);this.picker.find(".next").toggleClass("disabled",r)}},click:function(t){t.preventDefault();t.stopPropagation();var r,o,u,e;r=n(t.target);r.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1);r.hasClass("today")&&!r.hasClass("day")&&(this.setViewMode(0),this._setDate(s(),"linked"===this.o.todayBtn?null:"view"));r.hasClass("clear")&&this.clearDates();r.hasClass("disabled")||(r.hasClass("month")||r.hasClass("year")||r.hasClass("decade")||r.hasClass("century"))&&(this.viewDate.setUTCDate(1),o=1,1===this.viewMode?(e=r.parent().find("span").index(r),u=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(e)):(e=0,u=Number(r.text()),this.viewDate.setUTCFullYear(u)),this._trigger(i.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(f(u,e,o)):(this.setViewMode(this.viewMode-1),this.fill()));this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus();delete this._focused_from},dayCellClick:function(t){var r=n(t.currentTarget),u=r.data("date"),i=new Date(u);this.o.updateViewDate&&(i.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),i.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate));this._setDate(i)},navArrowsClick:function(t){var u=n(t.currentTarget),r=u.hasClass("prev")?-1:1;0!==this.viewMode&&(r*=12*i.viewModes[this.viewMode].navStep);this.viewDate=this.moveMonth(this.viewDate,r);this._trigger(i.viewModes[this.viewMode].e,this.viewDate);this.fill()},_toggle_multidate:function(n){var t=this.dates.contains(n);if(n||this.dates.clear(),t!==-1?(this.o.multidate===!0||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(t):this.o.multidate===!1?(this.dates.clear(),this.dates.push(n)):this.dates.push(n),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(n,t){t&&"date"!==t||this._toggle_multidate(n&&new Date(n));(!t&&this.o.updateViewDate||"view"===t)&&(this.viewDate=n&&new Date(n));this.fill();this.setValue();t&&"view"===t||this._trigger("changeDate");this.inputField.trigger("change");!this.o.autoclose||t&&"date"!==t||this.hide()},moveDay:function(n,t){var i=new Date(n);return i.setUTCDate(n.getUTCDate()+t),i},moveWeek:function(n,t){return this.moveDay(n,7*t)},moveMonth:function(n,t){var f;if(!p(n))return this.o.defaultViewDate;if(!t)return n;var r,u,i=new Date(n.valueOf()),e=i.getUTCDate(),o=i.getUTCMonth(),s=Math.abs(t);if(t=t>0?1:-1,1===s)u=t===-1?function(){return i.getUTCMonth()===o}:function(){return i.getUTCMonth()!==r},r=o+t,i.setUTCMonth(r),r=(r+12)%12;else{for(f=0;f<s;f++)i=this.moveMonth(i,t);r=i.getUTCMonth();i.setUTCDate(e);u=function(){return r!==i.getUTCMonth()}}for(;u();)i.setUTCDate(--e),i.setUTCMonth(r);return i},moveYear:function(n,t){return this.moveMonth(n,12*t)},moveAvailableDate:function(n,t,i){do{if(n=this[i](n,t),!this.dateWithinRange(n))return!1;i="moveDay"}while(this.dateIsDisabled(n));return n},weekOfDateIsDisabled:function(t){return n.inArray(t.getUTCDay(),this.o.daysOfWeekDisabled)!==-1},dateIsDisabled:function(t){return this.weekOfDateIsDisabled(t)||n.grep(this.o.datesDisabled,function(n){return l(t,n)}).length>0},dateWithinRange:function(n){return n>=this.o.startDate&&n<=this.o.endDate},keydown:function(n){if(!this.picker.is(":visible"))return void(40!==n.keyCode&&27!==n.keyCode||(this.show(),n.stopPropagation()));var i,t,u=!1,r=this.focusDate||this.viewDate;switch(n.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide();n.preventDefault();n.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;i=37===n.keyCode||38===n.keyCode?-1:1;0===this.viewMode?n.ctrlKey?(t=this.moveAvailableDate(r,i,"moveYear"),t&&this._trigger("changeYear",this.viewDate)):n.shiftKey?(t=this.moveAvailableDate(r,i,"moveMonth"),t&&this._trigger("changeMonth",this.viewDate)):37===n.keyCode||39===n.keyCode?t=this.moveAvailableDate(r,i,"moveDay"):this.weekOfDateIsDisabled(r)||(t=this.moveAvailableDate(r,i,"moveWeek")):1===this.viewMode?(38!==n.keyCode&&40!==n.keyCode||(i*=4),t=this.moveAvailableDate(r,i,"moveMonth")):2===this.viewMode&&(38!==n.keyCode&&40!==n.keyCode||(i*=4),t=this.moveAvailableDate(r,i,"moveYear"));t&&(this.focusDate=this.viewDate=t,this.setValue(),this.fill(),n.preventDefault());break;case 13:if(!this.o.forceParse)break;r=this.focusDate||this.dates.get(-1)||this.viewDate;this.o.keyboardNavigation&&(this._toggle_multidate(r),u=!0);this.focusDate=null;this.viewDate=this.dates.get(-1)||this.viewDate;this.setValue();this.fill();this.picker.is(":visible")&&(n.preventDefault(),n.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null;this.viewDate=this.dates.get(-1)||this.viewDate;this.fill();this.hide()}u&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(n){this.viewMode=n;this.picker.children("div").hide().filter(".datepicker-"+i.viewModes[this.viewMode].clsName).show();this.updateNavArrows();this._trigger("changeViewMode",new Date(this.viewDate))}};c=function(t,i){n.data(t,"datepicker",this);this.element=n(t);this.inputs=n.map(i.inputs,function(n){return n.jquery?n[0]:n});delete i.inputs;this.keepEmptyValues=i.keepEmptyValues;delete i.keepEmptyValues;o.call(n(this.inputs),i).on("changeDate",n.proxy(this.dateUpdated,this));this.pickers=n.map(this.inputs,function(t){return n.data(t,"datepicker")});this.updateDates()};c.prototype={updateDates:function(){this.dates=n.map(this.pickers,function(n){return n.getUTCDate()});this.updateRanges()},updateRanges:function(){var t=n.map(this.dates,function(n){return n.valueOf()});n.each(this.pickers,function(n,i){i.setRange(t)})},dateUpdated:function(i){var u;if(!this.updating&&(this.updating=!0,u=n.data(i.target,"datepicker"),u!==t)){var r=u.getUTCDate(),s=this.keepEmptyValues,o=n.inArray(i.target,this.inputs),f=o-1,e=o+1,h=this.inputs.length;if(o!==-1){if(n.each(this.pickers,function(n,t){t.getUTCDate()||t!==u&&s||t.setUTCDate(r)}),r<this.dates[f])for(;f>=0&&r<this.dates[f];)this.pickers[f--].setUTCDate(r);else if(r>this.dates[e])for(;e<h&&r>this.dates[e];)this.pickers[e++].setUTCDate(r);this.updateDates();delete this.updating}}},destroy:function(){n.map(this.pickers,function(n){n.destroy()});n(this.inputs).off("changeDate",this.dateUpdated);delete this.element.data().datepicker},remove:h("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};v=n.fn.datepicker;o=function(i){var f=Array.apply(null,arguments),r;if(f.shift(),this.each(function(){var s=n(this),t=s.data("datepicker"),h="object"==typeof i&&i;if(!t){var l=w(this,"date"),a=n.extend({},e,l,h),v=b(a.language),o=n.extend({},e,v,l,h);s.hasClass("input-daterange")||o.inputs?(n.extend(o,{inputs:o.inputs||s.find("input").toArray()}),t=new c(this,o)):t=new u(this,o);s.data("datepicker",t)}"string"==typeof i&&"function"==typeof t[i]&&(r=t[i].apply(t,f))}),r===t||r instanceof u||r instanceof c)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+i+" function)");return r};n.fn.datepicker=o;e=n.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:n.noop,beforeShowMonth:n.noop,beforeShowYear:n.noop,beforeShowDecade:n.noop,beforeShowCentury:n.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"&#x00AB;",rightArrow:"&#x00BB;"},showWeekDays:!0};y=n.fn.datepicker.locale_opts=["format","rtl","weekStart"];n.fn.datepicker.Constructor=u;r=n.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}};i={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(n){if("function"==typeof n.toValue&&"function"==typeof n.toDisplay)return n;var t=n.replace(this.validParts,"\0").split("\0"),i=n.match(this.validParts);if(!t||!t.length||!i||0===i.length)throw new Error("Invalid date format.");return{separators:t,parts:i}},parseDate:function(f,e,o,h){function et(n,t){return t===!0&&(t=10),n<100&&(n+=2e3,n>(new Date).getFullYear()+t&&(n-=100)),n}function tt(){var n=this.slice(0,l[c].length),t=l[c].slice(0,n.length);return n.toLowerCase()===t.toLowerCase()}var l,y,it,c,rt,ut,g,v,ft,d,w;if(!f)return t;if(f instanceof Date)return f;if("string"==typeof e&&(e=i.parseFormat(e)),e.toValue)return e.toValue(f,e,o);if(ut={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},g={yesterday:"-1d",today:"+0d",tomorrow:"+1d"},f in g&&(f=g[f]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(f)){for(l=f.match(/([\-+]\d+)([dmwy])/gi),f=new Date,c=0;c<l.length;c++)y=l[c].match(/([\-+]\d+)([dmwy])/i),it=Number(y[1]),rt=ut[y[2].toLowerCase()],f=u.prototype[rt](f,it);return u.prototype._zero_utc_time(f)}l=f&&f.match(this.nonpunctuation)||[];var p,b,k={},nt=["yyyy","yy","M","MM","m","mm","d","dd"],a={yyyy:function(n,t){return n.setUTCFullYear(h?et(t,h):t)},m:function(n,t){if(isNaN(n))return n;for(t-=1;t<0;)t+=12;for(t%=12,n.setUTCMonth(t);n.getUTCMonth()!==t;)n.setUTCDate(n.getUTCDate()-1);return n},d:function(n,t){return n.setUTCDate(t)}};if(a.yy=a.yyyy,a.M=a.MM=a.mm=a.m,a.dd=a.d,f=s(),v=e.parts.slice(),l.length!==v.length&&(v=n(v).filter(function(t,i){return n.inArray(i,nt)!==-1}).toArray()),l.length===v.length){for(c=0,ft=v.length;c<ft;c++){if(p=parseInt(l[c],10),y=v[c],isNaN(p))switch(y){case"MM":b=n(r[o].months).filter(tt);p=n.inArray(b[0],r[o].months)+1;break;case"M":b=n(r[o].monthsShort).filter(tt);p=n.inArray(b[0],r[o].monthsShort)+1}k[y]=p}for(c=0;c<nt.length;c++)w=nt[c],w in k&&!isNaN(k[w])&&(d=new Date(f),a[w](d,k[w]),isNaN(d)||(f=d))}return f},formatDate:function(t,u,f){var e;if(!t)return"";if("string"==typeof u&&(u=i.parseFormat(u)),u.toDisplay)return u.toDisplay(t,u,f);e={d:t.getUTCDate(),D:r[f].daysShort[t.getUTCDay()],DD:r[f].days[t.getUTCDay()],m:t.getUTCMonth()+1,M:r[f].monthsShort[t.getUTCMonth()],MM:r[f].months[t.getUTCMonth()],yy:t.getUTCFullYear().toString().substring(2),yyyy:t.getUTCFullYear()};e.dd=(e.d<10?"0":"")+e.d;e.mm=(e.m<10?"0":"")+e.m;t=[];for(var s=n.extend([],u.separators),o=0,h=u.parts.length;o<=h;o++)s.length&&t.push(s.shift()),t.push(e[u.parts[o]]);return t.join("")},headTemplate:'<thead><tr><th colspan="7" class="datepicker-title"><\/th><\/tr><tr><th class="prev">'+e.templates.leftArrow+'<\/th><th colspan="5" class="datepicker-switch"><\/th><th class="next">'+e.templates.rightArrow+"<\/th><\/tr><\/thead>",contTemplate:'<tbody><tr><td colspan="7"><\/td><\/tr><\/tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"><\/th><\/tr><tr><th colspan="7" class="clear"><\/th><\/tr><\/tfoot>'};i.template='<div class="datepicker"><div class="datepicker-days"><table class="table-condensed">'+i.headTemplate+"<tbody><\/tbody>"+i.footTemplate+'<\/table><\/div><div class="datepicker-months"><table class="table-condensed">'+i.headTemplate+i.contTemplate+i.footTemplate+'<\/table><\/div><div class="datepicker-years"><table class="table-condensed">'+i.headTemplate+i.contTemplate+i.footTemplate+'<\/table><\/div><div class="datepicker-decades"><table class="table-condensed">'+i.headTemplate+i.contTemplate+i.footTemplate+'<\/table><\/div><div class="datepicker-centuries"><table class="table-condensed">'+i.headTemplate+i.contTemplate+i.footTemplate+"<\/table><\/div><\/div>";n.fn.datepicker.DPGlobal=i;n.fn.datepicker.noConflict=function(){return n.fn.datepicker=v,this};n.fn.datepicker.version="1.7.1";n.fn.datepicker.deprecated=function(n){var t=window.console;t&&t.warn&&t.warn("DEPRECATED: "+n)};n(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(t){var i=n(this);i.data("datepicker")||(t.preventDefault(),o.call(i,"show"))});n(function(){o.call(n('[data-provide="datepicker-inline"]'))})}),function(n,t,i){var r=function(r){var u=function(f){function gt(n,f){var e=u.defaults.columns,o=n.aoColumns.length,e=r.extend({},u.models.oColumn,e,{sSortingClass:n.oClasses.sSortable,sSortingClassJUI:n.oClasses.sSortJUI,nTh:f?f:t.createElement("th"),sTitle:e.sTitle?e.sTitle:f?f.innerHTML:"",aDataSort:e.aDataSort?e.aDataSort:[o],mData:e.mData?e.oDefaults:o});n.aoColumns.push(e);n.aoPreSearchCols[o]===i||null===n.aoPreSearchCols[o]?n.aoPreSearchCols[o]=r.extend({},u.models.oSearch):(e=n.aoPreSearchCols[o],e.bRegex===i&&(e.bRegex=!0),e.bSmart===i&&(e.bSmart=!0),e.bCaseInsensitive===i)&&(e.bCaseInsensitive=!0);ni(n,o,null)}function ni(n,t,u){var f=n.aoColumns[t],o,s;u!==i&&null!==u&&(u.mDataProp&&!u.mData&&(u.mData=u.mDataProp),u.sType!==i&&(f.sType=u.sType,f._bAutoType=!1),r.extend(f,u),e(f,u,"sWidth","sWidthOrig"),u.iDataSort!==i&&(f.aDataSort=[u.iDataSort]),e(f,u,"aDataSort"));o=f.mRender?et(f.mRender):null;s=et(f.mData);f.fnGetData=function(n,t){var i=s(n,t);return f.mRender&&t&&""!==t?o(i,t,n):i};f.fnSetData=ir(f.mData);n.oFeatures.bSort||(f.bSortable=!1);!f.bSortable||-1==r.inArray("asc",f.asSorting)&&-1==r.inArray("desc",f.asSorting)?(f.sSortingClass=n.oClasses.sSortableNone,f.sSortingClassJUI=""):-1==r.inArray("asc",f.asSorting)&&-1==r.inArray("desc",f.asSorting)?(f.sSortingClass=n.oClasses.sSortable,f.sSortingClassJUI=n.oClasses.sSortJUI):-1!=r.inArray("asc",f.asSorting)&&-1==r.inArray("desc",f.asSorting)?(f.sSortingClass=n.oClasses.sSortableAsc,f.sSortingClassJUI=n.oClasses.sSortJUIAscAllowed):-1==r.inArray("asc",f.asSorting)&&-1!=r.inArray("desc",f.asSorting)&&(f.sSortingClass=n.oClasses.sSortableDesc,f.sSortingClassJUI=n.oClasses.sSortJUIDescAllowed)}function vt(n){if(!1===n.oFeatures.bAutoWidth)return!1;wi(n);for(var t=0,i=n.aoColumns.length;t<i;t++)n.aoColumns[t].nTh.style.width=n.aoColumns[t].sWidth}function di(n,t){var i=k(n,"bVisible");return"number"==typeof i[t]?i[t]:null}function ti(n,t){var i=k(n,"bVisible"),i=r.inArray(t,i);return-1!==i?i:null}function ft(n){return k(n,"bVisible").length}function k(n,t){var i=[];return r.map(n.aoColumns,function(n,r){n[t]&&i.push(r)}),i}function ii(n){for(var i,r=u.ext.aTypes,f=r.length,t=0;t<f;t++)if(i=r[t](n),null!==i)return i;return"string"}function gi(n,t){for(var i,e=t.split(","),u=[],r=0,f=n.aoColumns.length;r<f;r++)for(i=0;i<f;i++)if(n.aoColumns[r].sName==e[i]){u.push(i);break}return u}function ri(n){for(var t="",i=0,r=n.aoColumns.length;i<r;i++)t+=n.aoColumns[i].sName+",";return t.length==r?"":t.slice(0,-1)}function nr(n,t,i,u){var o,e,h,s,c,f;if(t)for(o=t.length-1;0<=o;o--)for(f=t[o].aTargets,r.isArray(f)||w(n,1,"aTargets must be an array of targets, not a "+typeof f),e=0,h=f.length;e<h;e++)if("number"==typeof f[e]&&0<=f[e]){for(;n.aoColumns.length<=f[e];)gt(n);u(f[e],t[o])}else if("number"==typeof f[e]&&0>f[e])u(n.aoColumns.length+f[e],t[o]);else if("string"==typeof f[e])for(s=0,c=n.aoColumns.length;s<c;s++)("_all"==f[e]||r(n.aoColumns[s].nTh).hasClass(f[e]))&&u(s,t[o]);if(i)for(o=0,n=i.length;o<n;o++)u(o,i[o])}function d(n,t){var i,e,o,f,s;for(i=r.isArray(t)?t.slice():r.extend(!0,{},t),e=n.aoData.length,f=r.extend(!0,{},u.models.oRow),f._aData=i,n.aoData.push(f),f=0,s=n.aoColumns.length;f<s;f++)i=n.aoColumns[f],"function"==typeof i.fnRender&&i.bUseRendered&&null!==i.mData?b(n,e,f,ot(n,e,f)):b(n,e,f,h(n,e,f)),i._bAutoType&&"string"!=i.sType&&(o=h(n,e,f,"type"),null!==o&&""!==o&&(o=ii(o),null===i.sType?i.sType=o:i.sType!=o&&"html"!=i.sType&&(i.sType="string")));return n.aiDisplayMaster.push(e),n.oFeatures.bDeferRender||oi(n,e),e}function tr(n){var f,t,l,a,e,o,i;if(n.bDeferLoading||null===n.sAjaxSource)for(f=n.nTBody.firstChild;f;){if("TR"==f.nodeName.toUpperCase())for(t=n.aoData.length,f._DT_RowIndex=t,n.aoData.push(r.extend(!0,{},u.models.oRow,{nTr:f})),n.aiDisplayMaster.push(t),e=f.firstChild,l=0;e;)o=e.nodeName.toUpperCase(),("TD"==o||"TH"==o)&&(b(n,t,l,r.trim(e.innerHTML)),l++),e=e.nextSibling;f=f.nextSibling}for(a=ct(n),l=[],f=0,t=a.length;f<t;f++)for(e=a[f].firstChild;e;)o=e.nodeName.toUpperCase(),("TD"==o||"TH"==o)&&l.push(e),e=e.nextSibling;for(t=0,a=n.aoColumns.length;t<a;t++){i=n.aoColumns[t];null===i.sTitle&&(i.sTitle=i.nTh.innerHTML);var y=i._bAutoType,p="function"==typeof i.fnRender,w=null!==i.sClass,k=i.bVisible,s,c;if(y||p||w||!k)for(o=0,f=n.aoData.length;o<f;o++)e=n.aoData[o],s=l[o*a+t],y&&"string"!=i.sType&&(c=h(n,o,t,"type"),""!==c&&(c=ii(c),null===i.sType?i.sType=c:i.sType!=c&&"html"!=i.sType&&(i.sType="string"))),i.mRender?s.innerHTML=h(n,o,t,"display"):i.mData!==t&&(s.innerHTML=h(n,o,t,"display")),p&&(c=ot(n,o,t),s.innerHTML=c,i.bUseRendered&&b(n,o,t,c)),w&&(s.className+=" "+i.sClass),k?e._anHidden[t]=null:(e._anHidden[t]=s,s.parentNode.removeChild(s)),i.fnCreatedCell&&i.fnCreatedCell.call(n.oInstance,s,h(n,o,t,"display"),e._aData,o,t)}if(0!==n.aoRowCreatedCallback.length)for(f=0,t=n.aoData.length;f<t;f++)e=n.aoData[f],v(n,"aoRowCreatedCallback",null,[e.nTr,e._aData,f])}function g(n,t){return t._DT_RowIndex!==i?t._DT_RowIndex:null}function ui(n,t,i){for(var t=tt(n,t),r=0,n=n.aoColumns.length;r<n;r++)if(t[r]===i)return r;return-1}function yt(n,t,i,r){for(var f=[],u=0,e=r.length;u<e;u++)f.push(h(n,t,r[u],i));return f}function h(n,t,r,u){var f=n.aoColumns[r];if((r=f.fnGetData(n.aoData[t]._aData,u))===i)return n.iDrawError!=n.iDraw&&null===f.sDefaultContent&&(w(n,0,"Requested unknown parameter "+("function"==typeof f.mData?"{mData function}":"'"+f.mData+"'")+" from the data source for row "+t),n.iDrawError=n.iDraw),f.sDefaultContent;if(null===r&&null!==f.sDefaultContent)r=f.sDefaultContent;else if("function"==typeof r)return r();return"display"==u&&null===r?"":r}function b(n,t,i,r){n.aoColumns[i].fnSetData(n.aoData[t]._aData,r)}function et(n){if(null===n)return function(){return null};if("function"==typeof n)return function(t,i,r){return n(t,i,r)};if("string"==typeof n&&(-1!==n.indexOf(".")||-1!==n.indexOf("["))){var t=function(n,r,u){var e=u.split("."),o,f;if(""!==u)for(f=0,o=e.length;f<o;f++){if(u=e[f].match(lt)){e[f]=e[f].replace(lt,"");""!==e[f]&&(n=n[e[f]]);o=[];e.splice(0,f+1);for(var e=e.join("."),f=0,s=n.length;f<s;f++)o.push(t(n[f],r,e));n=u[0].substring(1,u[0].length-1);n=""===n?o:o.join(n);break}if(null===n||n[e[f]]===i)return i;n=n[e[f]]}return n};return function(i,r){return t(i,r,n)}}return function(t){return t[n]}}function ir(n){if(null===n)return function(){};if("function"==typeof n)return function(t,i){n(t,"set",i)};if("string"==typeof n&&(-1!==n.indexOf(".")||-1!==n.indexOf("["))){var t=function(n,r,u){for(var u=u.split("."),e,f=0,s,h,o=u.length-1;f<o;f++){if(e=u[f].match(lt)){for(u[f]=u[f].replace(lt,""),n[u[f]]=[],e=u.slice(),e.splice(0,f+1),o=e.join("."),s=0,h=r.length;s<h;s++)e={},t(e,r[s],o),n[u[f]].push(e);return}(null===n[u[f]]||n[u[f]]===i)&&(n[u[f]]={});n=n[u[f]]}n[u[u.length-1].replace(lt,"")]=r};return function(i,r){return t(i,r,n)}}return function(t,i){t[n]=i}}function pt(n){for(var i=[],r=n.aoData.length,t=0;t<r;t++)i.push(n.aoData[t]._aData);return i}function fi(n){n.aoData.splice(0,n.aoData.length);n.aiDisplayMaster.splice(0,n.aiDisplayMaster.length);n.aiDisplay.splice(0,n.aiDisplay.length);l(n)}function ei(n,t){for(var r=-1,i=0,u=n.length;i<u;i++)n[i]==t?r=i:n[i]>t&&n[i]--;-1!=r&&n.splice(r,1)}function ot(n,t,i){var r=n.aoColumns[i];return r.fnRender({iDataRow:t,iDataColumn:i,oSettings:n,aData:n.aoData[t]._aData,mDataProp:r.mData},h(n,t,i,"display"))}function oi(n,i){var r=n.aoData[i],e,u,o,f;if(null===r.nTr){for(r.nTr=t.createElement("tr"),r.nTr._DT_RowIndex=i,r._aData.DT_RowId&&(r.nTr.id=r._aData.DT_RowId),r._aData.DT_RowClass&&(r.nTr.className=r._aData.DT_RowClass),u=0,o=n.aoColumns.length;u<o;u++)f=n.aoColumns[u],e=t.createElement(f.sCellType),e.innerHTML="function"==typeof f.fnRender&&(!f.bUseRendered||null===f.mData)?ot(n,i,u):h(n,i,u,"display"),null!==f.sClass&&(e.className=f.sClass),f.bVisible?(r.nTr.appendChild(e),r._anHidden[u]=null):r._anHidden[u]=e,f.fnCreatedCell&&f.fnCreatedCell.call(n.oInstance,e,h(n,i,u,"display"),r._aData,i,u);v(n,"aoRowCreatedCallback",null,[r.nTr,r._aData,i])}}function rr(n){var i,u,f,e,o;if(0!==r("th, td",n.nTHead).length)for(i=0,f=n.aoColumns.length;i<f;i++)(u=n.aoColumns[i].nTh,u.setAttribute("role","columnheader"),n.aoColumns[i].bSortable&&(u.setAttribute("tabindex",n.iTabIndex),u.setAttribute("aria-controls",n.sTableId)),null!==n.aoColumns[i].sClass&&r(u).addClass(n.aoColumns[i].sClass),n.aoColumns[i].sTitle!=u.innerHTML)&&(u.innerHTML=n.aoColumns[i].sTitle);else{for(e=t.createElement("tr"),i=0,f=n.aoColumns.length;i<f;i++)u=n.aoColumns[i].nTh,u.innerHTML=n.aoColumns[i].sTitle,u.setAttribute("tabindex","0"),null!==n.aoColumns[i].sClass&&r(u).addClass(n.aoColumns[i].sClass),e.appendChild(u);r(n.nTHead).html("")[0].appendChild(e);ht(n.aoHeader,n.nTHead)}if(r(n.nTHead).children("tr").attr("role","row"),n.bJUI)for(i=0,f=n.aoColumns.length;i<f;i++)u=n.aoColumns[i].nTh,e=t.createElement("div"),e.className=n.oClasses.sSortJUIWrapper,r(u).contents().appendTo(e),o=t.createElement("span"),o.className=n.oClasses.sSortIcon,e.appendChild(o),u.appendChild(e);if(n.oFeatures.bSort)for(i=0;i<n.aoColumns.length;i++)!1!==n.aoColumns[i].bSortable?bi(n,n.aoColumns[i].nTh,i):r(n.aoColumns[i].nTh).addClass(n.oClasses.sSortableNone);if(""!==n.oClasses.sFooterTH&&r(n.nTFoot).children("tr").children("th").addClass(n.oClasses.sFooterTH),null!==n.nTFoot)for(u=it(n,null,n.aoFooter),i=0,f=n.aoColumns.length;i<f;i++)u[i]&&(n.aoColumns[i].nTf=u[i],n.aoColumns[i].sClass&&r(u[i]).addClass(n.aoColumns[i].sClass))}function st(n,t,r){var u,c,f,e=[],h=[],o=n.aoColumns.length,s;for(r===i&&(r=!1),u=0,c=t.length;u<c;u++){for(e[u]=t[u].slice(),e[u].nTr=t[u].nTr,f=o-1;0<=f;f--)n.aoColumns[f].bVisible||r||e[u].splice(f,1);h.push([])}for(u=0,c=e.length;u<c;u++){if(n=e[u].nTr)for(;f=n.firstChild;)n.removeChild(f);for(f=0,t=e[u].length;f<t;f++)if(s=o=1,h[u][f]===i){for(n.appendChild(e[u][f].cell),h[u][f]=1;e[u+o]!==i&&e[u][f].cell==e[u+o][f].cell;)h[u+o][f]=1,o++;for(;e[u][f+s]!==i&&e[u][f].cell==e[u][f+s].cell;){for(r=0;r<o;r++)h[u+r][f+s]=1;s++}e[u][f].cell.rowSpan=o;e[u][f].cell.colSpan=s}}}function c(n){var o=v(n,"aoPreDrawCallback","preDraw",[n]),s,f,a,y;if(-1!==r.inArray(!1,o))p(n,!1);else{var u,c,o=[],h=0,e=n.asStripeClasses.length;if(u=n.aoOpenRows.length,n.bDrawing=!0,n.iInitDisplayStart!==i&&-1!=n.iInitDisplayStart&&(n._iDisplayStart=n.oFeatures.bServerSide?n.iInitDisplayStart:n.iInitDisplayStart>=n.fnRecordsDisplay()?0:n.iInitDisplayStart,n.iInitDisplayStart=-1,l(n)),n.bDeferLoading)n.bDeferLoading=!1,n.iDraw++;else if(n.oFeatures.bServerSide){if(!n.bDestroying&&!fr(n))return}else n.iDraw++;if(0!==n.aiDisplay.length){for(s=n._iDisplayStart,c=n._iDisplayEnd,n.oFeatures.bServerSide&&(s=0,c=n.aoData.length);s<c;s++)if(f=n.aoData[n.aiDisplay[s]],null===f.nTr&&oi(n,n.aiDisplay[s]),a=f.nTr,0!==e&&(y=n.asStripeClasses[h%e],f._sRowStripe!=y&&(r(a).removeClass(f._sRowStripe).addClass(y),f._sRowStripe=y)),v(n,"aoRowCallback",null,[a,n.aoData[n.aiDisplay[s]]._aData,h,s]),o.push(a),h++,0!==u)for(f=0;f<u;f++)if(a==n.aoOpenRows[f].nParent){o.push(n.aoOpenRows[f].nTr);break}}else o[0]=t.createElement("tr"),n.asStripeClasses[0]&&(o[0].className=n.asStripeClasses[0]),u=n.oLanguage,e=u.sZeroRecords,1==n.iDraw&&null!==n.sAjaxSource&&!n.oFeatures.bServerSide?e=u.sLoadingRecords:u.sEmptyTable&&0===n.fnRecordsTotal()&&(e=u.sEmptyTable),u=t.createElement("td"),u.setAttribute("valign","top"),u.colSpan=ft(n),u.className=n.oClasses.sRowEmpty,u.innerHTML=vi(n,e),o[h].appendChild(u);if(v(n,"aoHeaderCallback","header",[r(n.nTHead).children("tr")[0],pt(n),n._iDisplayStart,n.fnDisplayEnd(),n.aiDisplay]),v(n,"aoFooterCallback","footer",[r(n.nTFoot).children("tr")[0],pt(n),n._iDisplayStart,n.fnDisplayEnd(),n.aiDisplay]),h=t.createDocumentFragment(),u=t.createDocumentFragment(),n.nTBody){if(e=n.nTBody.parentNode,u.appendChild(n.nTBody),!n.oScroll.bInfinite||!n._bInitComplete||n.bSorted||n.bFiltered)for(;u=n.nTBody.firstChild;)n.nTBody.removeChild(u);for(u=0,c=o.length;u<c;u++)h.appendChild(o[u]);n.nTBody.appendChild(h);null!==e&&e.appendChild(n.nTBody)}v(n,"aoDrawCallback","draw",[n]);n.bSorted=!1;n.bFiltered=!1;n.bDrawing=!1;n.oFeatures.bServerSide&&(p(n,!1),n._bInitComplete||kt(n))}}function wt(n){n.oFeatures.bSort?rt(n,n.oPreviousSearch):n.oFeatures.bFilter?nt(n,n.oPreviousSearch):(l(n),c(n))}function ur(n){var v=r("<div><\/div>")[0];n.nTable.parentNode.insertBefore(v,n.nTable);n.nTableWrapper=r('<div id="'+n.sTableId+'_wrapper" class="'+n.oClasses.sWrapper+'" role="grid"><\/div>')[0];n.nTableReinsertBefore=n.nTable.nextSibling;for(var l=n.nTableWrapper,a=n.sDom.split(""),e,h,t,f,o,i,s,c=0;c<a.length;c++){if(h=0,t=a[c],"<"==t){if(f=r("<div><\/div>")[0],o=a[c+1],"'"==o||'"'==o){for(i="",s=2;a[c+s]!=o;)i+=a[c+s],s++;"H"==i?i=n.oClasses.sJUIHeader:"F"==i&&(i=n.oClasses.sJUIFooter);-1!=i.indexOf(".")?(o=i.split("."),f.id=o[0].substr(1,o[0].length-1),f.className=o[1]):"#"==i.charAt(0)?f.id=i.substr(1,i.length-1):f.className=i;c+=s}l.appendChild(f);l=f}else if(">"==t)l=l.parentNode;else if("l"==t&&n.oFeatures.bPaginate&&n.oFeatures.bLengthChange)e=pr(n),h=1;else if("f"==t&&n.oFeatures.bFilter)e=sr(n),h=1;else if("r"==t&&n.oFeatures.bProcessing)e=br(n),h=1;else if("t"==t)e=kr(n),h=1;else if("i"==t&&n.oFeatures.bInfo)e=vr(n),h=1;else if("p"==t&&n.oFeatures.bPaginate)e=wr(n),h=1;else if(0!==u.ext.aoFeatures.length)for(f=u.ext.aoFeatures,s=0,o=f.length;s<o;s++)if(t==f[s].cFeature){(e=f[s].fnInit(n))&&(h=1);break}1==h&&null!==e&&("object"!=typeof n.aanFeatures[t]&&(n.aanFeatures[t]=[]),n.aanFeatures[t].push(e),l.appendChild(e))}v.parentNode.replaceChild(n.nTableWrapper,v)}function ht(n,t){var c=r(t).children("tr"),l,u,i,f,s,h,a,e,o,v;for(n.splice(0,n.length),i=0,h=c.length;i<h;i++)n.push([]);for(i=0,h=c.length;i<h;i++)for(l=c[i],u=l.firstChild;u;){if("TD"==u.nodeName.toUpperCase()||"TH"==u.nodeName.toUpperCase()){for(e=1*u.getAttribute("colspan"),o=1*u.getAttribute("rowspan"),e=!e||0===e||1===e?1:e,o=!o||0===o||1===o?1:o,f=0,s=n[i];s[f];)f++;for(a=f,v=1===e?!0:!1,s=0;s<e;s++)for(f=0;f<o;f++)n[i+f][a+s]={cell:u,unique:v},n[i+f].nTr=l}u=u.nextSibling}}function it(n,t,i){var u=[],t,f,r,e;for(i||(i=n.aoHeader,t&&(i=[],ht(i,t))),t=0,f=i.length;t<f;t++)for(r=0,e=i[t].length;r<e;r++)!i[t][r].unique||u[r]&&n.bSortCellsTop||(u[r]=i[t][r].cell);return u}function fr(n){if(n.bAjaxDataGet){n.iDraw++;p(n,!0);var t=er(n);return si(n,t),n.fnServerData.call(n.oInstance,n.sAjaxSource,t,function(t){or(n,t)},n),!1}return!0}function er(n){var f=n.aoColumns.length,i=[],r,o,t,e,u;for(i.push({name:"sEcho",value:n.iDraw}),i.push({name:"iColumns",value:f}),i.push({name:"sColumns",value:ri(n)}),i.push({name:"iDisplayStart",value:n._iDisplayStart}),i.push({name:"iDisplayLength",value:!1!==n.oFeatures.bPaginate?n._iDisplayLength:-1}),t=0;t<f;t++)r=n.aoColumns[t].mData,i.push({name:"mDataProp_"+t,value:"function"==typeof r?"function":r});if(!1!==n.oFeatures.bFilter)for(i.push({name:"sSearch",value:n.oPreviousSearch.sSearch}),i.push({name:"bRegex",value:n.oPreviousSearch.bRegex}),t=0;t<f;t++)i.push({name:"sSearch_"+t,value:n.aoPreSearchCols[t].sSearch}),i.push({name:"bRegex_"+t,value:n.aoPreSearchCols[t].bRegex}),i.push({name:"bSearchable_"+t,value:n.aoColumns[t].bSearchable});if(!1!==n.oFeatures.bSort){for(u=0,r=null!==n.aaSortingFixed?n.aaSortingFixed.concat(n.aaSorting):n.aaSorting.slice(),t=0;t<r.length;t++)for(o=n.aoColumns[r[t][0]].aDataSort,e=0;e<o.length;e++)i.push({name:"iSortCol_"+u,value:o[e]}),i.push({name:"sSortDir_"+u,value:r[t][1]}),u++;for(i.push({name:"iSortingCols",value:u}),t=0;t<f;t++)i.push({name:"bSortable_"+t,value:n.aoColumns[t].bSortable})}return i}function si(n,t){v(n,"aoServerParams","serverParams",[t])}function or(n,t){var r,o;if(t.sEcho!==i){if(1*t.sEcho<n.iDraw)return;n.iDraw=1*t.sEcho}(!n.oScroll.bInfinite||n.oScroll.bInfinite&&(n.bSorted||n.bFiltered))&&fi(n);n._iRecordsTotal=parseInt(t.iTotalRecords,10);n._iRecordsDisplay=parseInt(t.iTotalDisplayRecords,10);r=ri(n);r=t.sColumns!==i&&""!==r&&t.sColumns!=r;r&&(o=gi(n,t.sColumns));for(var f=et(n.sAjaxDataProp)(t),u=0,h=f.length;u<h;u++)if(r){for(var s=[],e=0,l=n.aoColumns.length;e<l;e++)s.push(f[u][o[e]]);d(n,s)}else d(n,f[u]);n.aiDisplay=n.aiDisplayMaster.slice();n.bAjaxDataGet=!1;c(n);n.bAjaxDataGet=!0;p(n,!1)}function sr(n){var f=n.oPreviousSearch,i=n.oLanguage.sSearch,i=-1!==i.indexOf("_INPUT_")?i.replace("_INPUT_",'<input type="text" />'):""===i?'<input type="text" />':i+' <input type="text" />',u=t.createElement("div");return u.className=n.oClasses.sFilter,u.innerHTML="<label>"+i+"<\/label>",n.aanFeatures.f||(u.id=n.sTableId+"_filter"),i=r('input[type="text"]',u),u._DT_Input=i[0],i.val(f.sSearch.replace('"',"&quot;")),i.bind("keyup.DT",function(){for(var i=n.aanFeatures.f,u=this.value===""?"":this.value,t=0,e=i.length;t<e;t++)i[t]!=r(this).parents("div.dataTables_filter")[0]&&r(i[t]._DT_Input).val(u);u!=f.sSearch&&nt(n,{sSearch:u,bRegex:f.bRegex,bSmart:f.bSmart,bCaseInsensitive:f.bCaseInsensitive})}),i.attr("aria-controls",n.sTableId).bind("keypress.DT",function(n){if(n.keyCode==13)return!1}),u}function nt(n,t,i){var u=n.oPreviousSearch,f=n.aoPreSearchCols,e=function(n){u.sSearch=n.sSearch;u.bRegex=n.bRegex;u.bSmart=n.bSmart;u.bCaseInsensitive=n.bCaseInsensitive};if(n.oFeatures.bServerSide)e(t);else{for(lr(n,t.sSearch,i,t.bRegex,t.bSmart,t.bCaseInsensitive),e(t),t=0;t<n.aoPreSearchCols.length;t++)cr(n,f[t].sSearch,t,f[t].bRegex,f[t].bSmart,f[t].bCaseInsensitive);hr(n)}n.bFiltered=!0;r(n.oInstance).trigger("filter",n);n._iDisplayStart=0;l(n);c(n);hi(n,0)}function hr(n){for(var f,e=u.ext.afnFiltering,o=k(n,"bSearchable"),i=0,s=e.length;i<s;i++)for(var r=0,t=0,h=n.aiDisplay.length;t<h;t++)f=n.aiDisplay[t-r],e[i](n,yt(n,f,"filter",o),f)||(n.aiDisplay.splice(t-r,1),r++)}function cr(n,t,i,r,u,f){if(""!==t)for(var e=0,t=li(t,r,u,f),r=n.aiDisplay.length-1;0<=r;r--)u=ar(h(n,n.aiDisplay[r],i,"filter"),n.aoColumns[i].sType),t.test(u)||(n.aiDisplay.splice(r,1),e++)}function lr(n,t,i,r,f,e){if(r=li(t,r,f,e),f=n.oPreviousSearch,i||(i=0),0!==u.ext.afnFiltering.length&&(i=1),0>=t.length)n.aiDisplay.splice(0,n.aiDisplay.length),n.aiDisplay=n.aiDisplayMaster.slice();else if(n.aiDisplay.length==n.aiDisplayMaster.length||f.sSearch.length>t.length||1==i||0!==t.indexOf(f.sSearch))for(n.aiDisplay.splice(0,n.aiDisplay.length),hi(n,1),t=0;t<n.aiDisplayMaster.length;t++)r.test(n.asDataSearch[t])&&n.aiDisplay.push(n.aiDisplayMaster[t]);else for(t=i=0;t<n.asDataSearch.length;t++)r.test(n.asDataSearch[t])||(n.aiDisplay.splice(t-i,1),i++)}function hi(n,t){if(!n.oFeatures.bServerSide){n.asDataSearch=[];for(var u=k(n,"bSearchable"),r=1===t?n.aiDisplayMaster:n.aiDisplay,i=0,f=r.length;i<f;i++)n.asDataSearch[i]=ci(n,yt(n,r[i],"filter",u))}}function ci(n,t){var i=t.join("  ");return-1!==i.indexOf("&")&&(i=r("<div>").html(i).text()),i.replace(/[\n\r]/g," ")}function li(n,t,i,r){return i?(n=t?n.split(" "):ai(n).split(" "),n="^(?=.*?"+n.join(")(?=.*?")+").*$",RegExp(n,r?"i":"")):(n=t?n:ai(n),RegExp(n,r?"i":""))}function ar(n,t){return"function"==typeof u.ext.ofnSearch[t]?u.ext.ofnSearch[t](n):null===n?"":"html"==t?n.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"==typeof n?n.replace(/[\r\n]/g," "):n}function ai(n){return n.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),"\\$1")}function vr(n){var i=t.createElement("div");return i.className=n.oClasses.sInfo,n.aanFeatures.i||(n.aoDrawCallback.push({fn:yr,sName:"information"}),i.id=n.sTableId+"_info"),n.nTable.setAttribute("aria-describedby",n.sTableId+"_info"),i}function yr(n){if(n.oFeatures.bInfo&&0!==n.aanFeatures.i.length){var t=n.oLanguage,u=n._iDisplayStart+1,o=n.fnDisplayEnd(),e=n.fnRecordsTotal(),f=n.fnRecordsDisplay(),i;for(i=0===f?t.sInfoEmpty:t.sInfo,f!=e&&(i+=" "+t.sInfoFiltered),i+=t.sInfoPostFix,i=vi(n,i),null!==t.fnInfoCallback&&(i=t.fnInfoCallback.call(n.oInstance,n,u,o,e,f,i)),n=n.aanFeatures.i,t=0,u=n.length;t<u;t++)r(n[t]).html(i)}}function vi(n,t){var i=n.fnFormatNumber(n._iDisplayStart+1),r=n.fnDisplayEnd(),r=n.fnFormatNumber(r),u=n.fnRecordsDisplay(),u=n.fnFormatNumber(u),f=n.fnRecordsTotal(),f=n.fnFormatNumber(f);return n.oScroll.bInfinite&&(i=n.fnFormatNumber(1)),t.replace(/_START_/g,i).replace(/_END_/g,r).replace(/_TOTAL_/g,u).replace(/_MAX_/g,f)}function bt(n){var t,i,r=n.iInitDisplayStart;if(!1===n.bInitialised)setTimeout(function(){bt(n)},200);else{for(ur(n),rr(n),st(n,n.aoHeader),n.nTFoot&&st(n,n.aoFooter),p(n,!0),n.oFeatures.bAutoWidth&&wi(n),t=0,i=n.aoColumns.length;t<i;t++)null!==n.aoColumns[t].sWidth&&(n.aoColumns[t].nTh.style.width=o(n.aoColumns[t].sWidth));n.oFeatures.bSort?rt(n):n.oFeatures.bFilter?nt(n,n.oPreviousSearch):(n.aiDisplay=n.aiDisplayMaster.slice(),l(n),c(n));null!==n.sAjaxSource&&!n.oFeatures.bServerSide?(i=[],si(n,i),n.fnServerData.call(n.oInstance,n.sAjaxSource,i,function(i){var u=n.sAjaxDataProp!==""?et(n.sAjaxDataProp)(i):i;for(t=0;t<u.length;t++)d(n,u[t]);n.iInitDisplayStart=r;n.oFeatures.bSort?rt(n):(n.aiDisplay=n.aiDisplayMaster.slice(),l(n),c(n));p(n,!1);kt(n,i)},n)):n.oFeatures.bServerSide||(p(n,!1),kt(n))}}function kt(n,t){n._bInitComplete=!0;v(n,"aoInitComplete","init",[n,t])}function yi(n){var t=u.defaults.oLanguage;!n.sEmptyTable&&n.sZeroRecords&&"No data available in table"===t.sEmptyTable&&e(n,n,"sZeroRecords","sEmptyTable");!n.sLoadingRecords&&n.sZeroRecords&&"Loading..."===t.sLoadingRecords&&e(n,n,"sZeroRecords","sLoadingRecords")}function pr(n){if(n.oScroll.bInfinite)return null;var e='<select size="1" '+('name="'+n.sTableId+'_length"')+">",u,f,i=n.aLengthMenu;if(2==i.length&&"object"==typeof i[0]&&"object"==typeof i[1])for(u=0,f=i[0].length;u<f;u++)e+='<option value="'+i[0][u]+'">'+i[1][u]+"<\/option>";else for(u=0,f=i.length;u<f;u++)e+='<option value="'+i[u]+'">'+i[u]+"<\/option>";return e+="<\/select>",i=t.createElement("div"),n.aanFeatures.l||(i.id=n.sTableId+"_length"),i.className=n.oClasses.sLength,i.innerHTML="<label>"+n.oLanguage.sLengthMenu.replace("_MENU_",e)+"<\/label>",r('select option[value="'+n._iDisplayLength+'"]',i).attr("selected",!0),r("select",i).bind("change.DT",function(){var i=r(this).val(),t=n.aanFeatures.l;for(u=0,f=t.length;u<f;u++)t[u]!=this.parentNode&&r("select",t[u]).val(i);n._iDisplayLength=parseInt(i,10);l(n);n.fnDisplayEnd()==n.fnRecordsDisplay()&&(n._iDisplayStart=n.fnDisplayEnd()-n._iDisplayLength,n._iDisplayStart<0&&(n._iDisplayStart=0));n._iDisplayLength==-1&&(n._iDisplayStart=0);c(n)}),r("select",i).attr("aria-controls",n.sTableId),i}function l(n){n._iDisplayEnd=!1===n.oFeatures.bPaginate?n.aiDisplay.length:n._iDisplayStart+n._iDisplayLength>n.aiDisplay.length||-1==n._iDisplayLength?n.aiDisplay.length:n._iDisplayStart+n._iDisplayLength}function wr(n){if(n.oScroll.bInfinite)return null;var i=t.createElement("div");return i.className=n.oClasses.sPaging+n.sPaginationType,u.ext.oPagination[n.sPaginationType].fnInit(n,i,function(n){l(n);c(n)}),n.aanFeatures.p||n.aoDrawCallback.push({fn:function(n){u.ext.oPagination[n.sPaginationType].fnUpdate(n,function(n){l(n);c(n)})},sName:"pagination"}),i}function pi(n,t){var u=n._iDisplayStart,i;return"number"==typeof t?(n._iDisplayStart=t*n._iDisplayLength,n._iDisplayStart>n.fnRecordsDisplay()&&(n._iDisplayStart=0)):"first"==t?n._iDisplayStart=0:"previous"==t?(n._iDisplayStart=0<=n._iDisplayLength?n._iDisplayStart-n._iDisplayLength:0,0>n._iDisplayStart&&(n._iDisplayStart=0)):"next"==t?0<=n._iDisplayLength?n._iDisplayStart+n._iDisplayLength<n.fnRecordsDisplay()&&(n._iDisplayStart+=n._iDisplayLength):n._iDisplayStart=0:"last"==t?0<=n._iDisplayLength?(i=parseInt((n.fnRecordsDisplay()-1)/n._iDisplayLength,10)+1,n._iDisplayStart=(i-1)*n._iDisplayLength):n._iDisplayStart=0:w(n,0,"Unknown paging action: "+t),r(n.oInstance).trigger("page",n),u!=n._iDisplayStart}function br(n){var i=t.createElement("div");return n.aanFeatures.r||(i.id=n.sTableId+"_processing"),i.innerHTML=n.oLanguage.sProcessing,i.className=n.oClasses.sProcessing,n.nTable.parentNode.insertBefore(i,n.nTable),i}function p(n,t){if(n.oFeatures.bProcessing)for(var u=n.aanFeatures.r,i=0,f=u.length;i<f;i++)u[i].style.visibility=t?"visible":"hidden";r(n.oInstance).trigger("processing",[n,t])}function kr(n){if(""===n.oScroll.sX&&""===n.oScroll.sY)return n.nTable;var a=t.createElement("div"),u=t.createElement("div"),i=t.createElement("div"),f=t.createElement("div"),e=t.createElement("div"),p=t.createElement("div"),v=n.nTable.cloneNode(!1),y=n.nTable.cloneNode(!1),w=n.nTable.getElementsByTagName("thead")[0],s=0===n.nTable.getElementsByTagName("tfoot").length?null:n.nTable.getElementsByTagName("tfoot")[0],h=n.oClasses;return u.appendChild(i),e.appendChild(p),f.appendChild(n.nTable),a.appendChild(u),a.appendChild(f),i.appendChild(v),v.appendChild(w),null!==s&&(a.appendChild(e),p.appendChild(y),y.appendChild(s)),a.className=h.sScrollWrapper,u.className=h.sScrollHead,i.className=h.sScrollHeadInner,f.className=h.sScrollBody,e.className=h.sScrollFoot,p.className=h.sScrollFootInner,n.oScroll.bAutoCss&&(u.style.overflow="hidden",u.style.position="relative",e.style.overflow="hidden",f.style.overflow="auto"),u.style.border="0",u.style.width="100%",e.style.border="0",i.style.width=""!==n.oScroll.sXInner?n.oScroll.sXInner:"100%",v.removeAttribute("id"),v.style.marginLeft="0",n.nTable.style.marginLeft="0",null!==s&&(y.removeAttribute("id"),y.style.marginLeft="0"),i=r(n.nTable).children("caption"),0<i.length&&(i=i[0],"top"===i._captionSide?v.appendChild(i):"bottom"===i._captionSide&&s&&y.appendChild(i)),""!==n.oScroll.sX&&(u.style.width=o(n.oScroll.sX),f.style.width=o(n.oScroll.sX),null!==s&&(e.style.width=o(n.oScroll.sX)),r(f).scroll(function(){u.scrollLeft=this.scrollLeft;s!==null&&(e.scrollLeft=this.scrollLeft)})),""!==n.oScroll.sY&&(f.style.height=o(n.oScroll.sY)),n.aoDrawCallback.push({fn:dr,sName:"scrolling"}),n.oScroll.bInfinite&&r(f).scroll(function(){!n.bDrawing&&r(this).scrollTop()!==0&&r(this).scrollTop()+r(this).height()>r(n.nTable).height()-n.oScroll.iLoadGap&&n.fnDisplayEnd()<n.fnRecordsDisplay()&&(pi(n,"next"),l(n),c(n))}),n.nScrollHead=u,n.nScrollFoot=e,a}function dr(n){var c=n.nScrollHead.getElementsByTagName("div")[0],l=c.getElementsByTagName("table")[0],t=n.nTable.parentNode,i,k,e,h,f,d,s,g,a=[],v=[],p=null!==n.nTFoot?n.nScrollFoot.getElementsByTagName("div")[0]:null,tt=null!==n.nTFoot?p.getElementsByTagName("table")[0]:null,u=n.oBrowser.bScrollOversize,nt=function(n){s=n.style;s.paddingTop="0";s.paddingBottom="0";s.borderTopWidth="0";s.borderBottomWidth="0";s.height=0},b;for(r(n.nTable).children("thead, tfoot").remove(),i=r(n.nTHead).clone()[0],n.nTable.insertBefore(i,n.nTable.childNodes[0]),e=n.nTHead.getElementsByTagName("tr"),h=i.getElementsByTagName("tr"),null!==n.nTFoot&&(f=r(n.nTFoot).clone()[0],n.nTable.insertBefore(f,n.nTable.childNodes[1]),d=n.nTFoot.getElementsByTagName("tr"),f=f.getElementsByTagName("tr")),""===n.oScroll.sX&&(t.style.width="100%",c.parentNode.style.width="100%"),b=it(n,i),i=0,k=b.length;i<k;i++)g=di(n,i),b[i].style.width=n.aoColumns[g].sWidth;null!==n.nTFoot&&y(function(n){n.style.width=""},f);n.oScroll.bCollapse&&""!==n.oScroll.sY&&(t.style.height=t.offsetHeight+n.nTHead.offsetHeight+"px");i=r(n.nTable).outerWidth();""===n.oScroll.sX?(n.nTable.style.width="100%",u&&(r("tbody",t).height()>t.offsetHeight||"scroll"==r(t).css("overflow-y")))&&(n.nTable.style.width=o(r(n.nTable).outerWidth()-n.oScroll.iBarWidth)):""!==n.oScroll.sXInner?n.nTable.style.width=o(n.oScroll.sXInner):i==r(t).width()&&r(t).height()<r(n.nTable).height()?(n.nTable.style.width=o(i-n.oScroll.iBarWidth),r(n.nTable).outerWidth()>i-n.oScroll.iBarWidth&&(n.nTable.style.width=o(i))):n.nTable.style.width=o(i);i=r(n.nTable).outerWidth();y(nt,h);y(function(n){a.push(o(r(n).width()))},h);y(function(n,t){n.style.width=a[t]},e);r(h).height(0);null!==n.nTFoot&&(y(nt,f),y(function(n){v.push(o(r(n).width()))},f),y(function(n,t){n.style.width=v[t]},d),r(f).height(0));y(function(n,t){n.innerHTML="";n.style.width=a[t]},h);null!==n.nTFoot&&y(function(n,t){n.innerHTML="";n.style.width=v[t]},f);r(n.nTable).outerWidth()<i?(e=t.scrollHeight>t.offsetHeight||"scroll"==r(t).css("overflow-y")?i+n.oScroll.iBarWidth:i,u&&(t.scrollHeight>t.offsetHeight||"scroll"==r(t).css("overflow-y"))&&(n.nTable.style.width=o(e-n.oScroll.iBarWidth)),t.style.width=o(e),n.nScrollHead.style.width=o(e),null!==n.nTFoot&&(n.nScrollFoot.style.width=o(e)),""===n.oScroll.sX?w(n,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."):""!==n.oScroll.sXInner&&w(n,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")):(t.style.width=o("100%"),n.nScrollHead.style.width=o("100%"),null!==n.nTFoot&&(n.nScrollFoot.style.width=o("100%")));""===n.oScroll.sY&&u&&(t.style.height=o(n.nTable.offsetHeight+n.oScroll.iBarWidth));""!==n.oScroll.sY&&n.oScroll.bCollapse&&(t.style.height=o(n.oScroll.sY),u=""!==n.oScroll.sX&&n.nTable.offsetWidth>t.offsetWidth?n.oScroll.iBarWidth:0,n.nTable.offsetHeight<t.offsetHeight&&(t.style.height=o(n.nTable.offsetHeight+u)));u=r(n.nTable).outerWidth();l.style.width=o(u);c.style.width=o(u);l=r(n.nTable).height()>t.clientHeight||"scroll"==r(t).css("overflow-y");c.style.paddingRight=l?n.oScroll.iBarWidth+"px":"0px";null!==n.nTFoot&&(tt.style.width=o(u),p.style.width=o(u),p.style.paddingRight=l?n.oScroll.iBarWidth+"px":"0px");r(t).scroll();(n.bSorted||n.bFiltered)&&(t.scrollTop=0)}function y(n,t,i){for(var e=0,u=0,o=t.length,r,f;u<o;){for(r=t[u].firstChild,f=i?i[u].firstChild:null;r;)1===r.nodeType&&(i?n(r,f,e):n(r,e),e++),r=r.nextSibling,f=i?f.nextSibling:null;u++}}function gr(n,i){if(!n||null===n||""===n)return 0;i||(i=t.body);var u,r=t.createElement("div");return r.style.width=o(n),i.appendChild(r),u=r.offsetWidth,i.removeChild(r),u}function wi(n){for(var u=0,h,f=0,s=n.aoColumns.length,l=r("th",n.nTHead),a=n.nTable.getAttribute("width"),c,e=n.nTable.parentNode,i=0;i<s;i++)n.aoColumns[i].bVisible&&(f++,null!==n.aoColumns[i].sWidth&&(h=gr(n.aoColumns[i].sWidthOrig,e),null!==h&&(n.aoColumns[i].sWidth=o(h)),u++));if(s==l.length&&0===u&&f==s&&""===n.oScroll.sX&&""===n.oScroll.sY)for(i=0;i<n.aoColumns.length;i++)h=r(l[i]).width(),null!==h&&(n.aoColumns[i].sWidth=o(h));else{for(u=n.nTable.cloneNode(!1),i=n.nTHead.cloneNode(!0),f=t.createElement("tbody"),h=t.createElement("tr"),u.removeAttribute("id"),u.appendChild(i),null!==n.nTFoot&&(u.appendChild(n.nTFoot.cloneNode(!0)),y(function(n){n.style.width=""},u.getElementsByTagName("tr"))),u.appendChild(f),f.appendChild(h),f=r("thead th",u),0===f.length&&(f=r("tbody tr:eq(0)>td",u)),l=it(n,i),i=f=0;i<s;i++)c=n.aoColumns[i],c.bVisible&&null!==c.sWidthOrig&&""!==c.sWidthOrig?l[i-f].style.width=o(c.sWidthOrig):c.bVisible?l[i-f].style.width="":f++;for(i=0;i<s;i++)n.aoColumns[i].bVisible&&(f=tu(n,i),null!==f&&(f=f.cloneNode(!0),""!==n.aoColumns[i].sContentPadding&&(f.innerHTML+=n.aoColumns[i].sContentPadding),h.appendChild(f)));if(e.appendChild(u),""!==n.oScroll.sX&&""!==n.oScroll.sXInner?u.style.width=o(n.oScroll.sXInner):""!==n.oScroll.sX?(u.style.width="",r(u).width()<e.offsetWidth&&(u.style.width=o(e.offsetWidth))):""!==n.oScroll.sY?u.style.width=o(e.offsetWidth):a&&(u.style.width=o(a)),u.style.visibility="hidden",nu(n,u),s=r("tbody tr:eq(0)",u).children(),0===s.length&&(s=it(n,r("thead",u)[0])),""!==n.oScroll.sX){for(i=f=e=0;i<n.aoColumns.length;i++)n.aoColumns[i].bVisible&&(e=null===n.aoColumns[i].sWidthOrig?e+r(s[f]).outerWidth():e+(parseInt(n.aoColumns[i].sWidth.replace("px",""),10)+(r(s[f]).outerWidth()-r(s[f]).width())),f++);u.style.width=o(e);n.nTable.style.width=o(e)}for(i=f=0;i<n.aoColumns.length;i++)n.aoColumns[i].bVisible&&(e=r(s[f]).width(),null!==e&&0<e&&(n.aoColumns[i].sWidth=o(e)),f++);s=r(u).css("width");n.nTable.style.width=-1!==s.indexOf("%")?s:o(r(u).outerWidth());u.parentNode.removeChild(u)}a&&(n.nTable.style.width=o(a))}function nu(n,t){""===n.oScroll.sX&&""!==n.oScroll.sY?(r(t).width(),t.style.width=o(r(t).outerWidth()-n.oScroll.iBarWidth)):""!==n.oScroll.sX&&(t.style.width=o(r(t).outerWidth()))}function tu(n,i){var r=iu(n,i),u;return 0>r?null:null===n.aoData[r].nTr?(u=t.createElement("td"),u.innerHTML=h(n,r,i,""),u):tt(n,r)[i]}function iu(n,t){for(var i,u=-1,f=-1,r=0;r<n.aoData.length;r++)i=h(n,r,t,"display")+"",i=i.replace(/<.*?>/g,""),i.length>u&&(u=i.length,f=r);return f}function o(n){if(null===n)return"0px";if("number"==typeof n)return 0>n?"0px":n+"px";var t=n.charCodeAt(n.length-1);return 48>t||57<t?n:n+"px"}function ru(){var i=t.createElement("p"),n=i.style,r;return n.width="100%",n.height="200px",n.padding="0px",r=t.createElement("div"),n=r.style,n.position="absolute",n.top="0px",n.left="0px",n.visibility="hidden",n.width="200px",n.height="150px",n.padding="0px",n.overflow="hidden",r.appendChild(i),t.body.appendChild(r),n=i.offsetWidth,r.style.overflow="scroll",i=i.offsetWidth,n==i&&(i=r.clientWidth),t.body.removeChild(r),n-i}function rt(n,t){var f,s,e,o,y,rt,a=[],g=[],tt=u.ext.oSort,p=n.aoData,v=n.aoColumns,d=n.oLanguage.oAria,it,k;if(!n.oFeatures.bServerSide&&(0!==n.aaSorting.length||null!==n.aaSortingFixed)){for(a=null!==n.aaSortingFixed?n.aaSortingFixed.concat(n.aaSorting):n.aaSorting.slice(),f=0;f<a.length;f++)if(s=a[f][0],e=ti(n,s),o=n.aoColumns[s].sSortDataType,u.ext.afnSortData[o])if(y=u.ext.afnSortData[o].call(n.oInstance,n,s,e),y.length===p.length)for(e=0,o=p.length;e<o;e++)b(n,e,s,y[e]);else w(n,0,"Returned data sort array (col "+s+") is the wrong length");for(f=0,s=n.aiDisplayMaster.length;f<s;f++)g[n.aiDisplayMaster[f]]=f;for(it=a.length,f=0,s=p.length;f<s;f++)for(e=0;e<it;e++)for(k=v[a[e][0]].aDataSort,y=0,rt=k.length;y<rt;y++)o=v[k[y]].sType,o=tt[(o?o:"string")+"-pre"],p[f]._aSortData[k[y]]=o?o(h(n,f,k[y],"sort")):h(n,f,k[y],"sort");n.aiDisplayMaster.sort(function(n,t){for(var i,e,r,f,u=0;u<it;u++)for(f=v[a[u][0]].aDataSort,i=0,e=f.length;i<e;i++)if(r=v[f[i]].sType,r=tt[(r?r:"string")+"-"+a[u][1]](p[n]._aSortData[f[i]],p[t]._aSortData[f[i]]),0!==r)return r;return tt["numeric-asc"](g[n],g[t])})}for((t===i||t)&&!n.oFeatures.bDeferRender&&ut(n),f=0,s=n.aoColumns.length;f<s;f++)o=v[f].sTitle.replace(/<.*?>/g,""),e=v[f].nTh,e.removeAttribute("aria-sort"),e.removeAttribute("aria-label"),v[f].bSortable?0<a.length&&a[0][0]==f?(e.setAttribute("aria-sort","asc"==a[0][1]?"ascending":"descending"),e.setAttribute("aria-label",o+("asc"==(v[f].asSorting[a[0][2]+1]?v[f].asSorting[a[0][2]+1]:v[f].asSorting[0])?d.sSortAscending:d.sSortDescending))):e.setAttribute("aria-label",o+("asc"==v[f].asSorting[0]?d.sSortAscending:d.sSortDescending)):e.setAttribute("aria-label",o);n.bSorted=!0;r(n.oInstance).trigger("sort",n);n.oFeatures.bFilter?nt(n,n.oPreviousSearch,1):(n.aiDisplay=n.aiDisplayMaster.slice(),n._iDisplayStart=0,l(n),c(n))}function bi(n,t,i,r){eu(t,{},function(t){if(!1!==n.aoColumns[i].bSortable){var u=function(){var f,r,e,u;if(t.shiftKey){for(e=!1,u=0;u<n.aaSorting.length;u++)if(n.aaSorting[u][0]==i){e=!0;f=n.aaSorting[u][0];r=n.aaSorting[u][2]+1;n.aoColumns[f].asSorting[r]?(n.aaSorting[u][1]=n.aoColumns[f].asSorting[r],n.aaSorting[u][2]=r):n.aaSorting.splice(u,1);break}!1===e&&n.aaSorting.push([i,n.aoColumns[i].asSorting[0],0])}else 1==n.aaSorting.length&&n.aaSorting[0][0]==i?(f=n.aaSorting[0][0],r=n.aaSorting[0][2]+1,n.aoColumns[f].asSorting[r]||(r=0),n.aaSorting[0][1]=n.aoColumns[f].asSorting[r],n.aaSorting[0][2]=r):(n.aaSorting.splice(0,n.aaSorting.length),n.aaSorting.push([i,n.aoColumns[i].asSorting[0],0]));rt(n)};n.oFeatures.bProcessing?(p(n,!0),setTimeout(function(){u();n.oFeatures.bServerSide||p(n,!1)},0)):u();"function"==typeof r&&r(n)}})}function ut(n){for(var e,u,o,f,h=n.aoColumns.length,i=n.oClasses,s,t=0;t<h;t++)n.aoColumns[t].bSortable&&r(n.aoColumns[t].nTh).removeClass(i.sSortAsc+" "+i.sSortDesc+" "+n.aoColumns[t].sSortingClass);for(e=null!==n.aaSortingFixed?n.aaSortingFixed.concat(n.aaSorting):n.aaSorting.slice(),t=0;t<n.aoColumns.length;t++)if(n.aoColumns[t].bSortable){for(f=n.aoColumns[t].sSortingClass,o=-1,u=0;u<e.length;u++)if(e[u][0]==t){f="asc"==e[u][1]?i.sSortAsc:i.sSortDesc;o=u;break}r(n.aoColumns[t].nTh).addClass(f);n.bJUI&&(f=r("span."+i.sSortIcon,n.aoColumns[t].nTh),f.removeClass(i.sSortJUIAsc+" "+i.sSortJUIDesc+" "+i.sSortJUI+" "+i.sSortJUIAscAllowed+" "+i.sSortJUIDescAllowed),f.addClass(-1==o?n.aoColumns[t].sSortingClassJUI:"asc"==e[o][1]?i.sSortJUIAsc:i.sSortJUIDesc))}else r(n.aoColumns[t].nTh).addClass(n.aoColumns[t].sSortingClass);if(f=i.sSortColumn,n.oFeatures.bSort&&n.oFeatures.bSortClasses){for(n=tt(n),o=[],t=0;t<h;t++)o.push("");for(t=0,u=1;t<e.length;t++)i=parseInt(e[t][0],10),o[i]=f+u,3>u&&u++;for(f=RegExp(f+"[123]"),t=0,e=n.length;t<e;t++)i=t%h,u=n[t].className,s=o[i],i=u.replace(f,s),i!=u?n[t].className=r.trim(i):0<s.length&&-1==u.indexOf(s)&&(n[t].className=u+" "+s)}}function ki(n){var t,u,i;if(n.oFeatures.bStateSave&&!n.bDestroying){for(t=n.oScroll.bInfinite,i={iCreate:(new Date).getTime(),iStart:t?0:n._iDisplayStart,iEnd:t?n._iDisplayLength:n._iDisplayEnd,iLength:n._iDisplayLength,aaSorting:r.extend(!0,[],n.aaSorting),oSearch:r.extend(!0,{},n.oPreviousSearch),aoSearchCols:r.extend(!0,[],n.aoPreSearchCols),abVisCols:[]},t=0,u=n.aoColumns.length;t<u;t++)i.abVisCols.push(n.aoColumns[t].bVisible);v(n,"aoStateSaveParams","stateSaveParams",[n,i]);n.fnStateSave.call(n.oInstance,n,i)}}function uu(n,t){var i,u;if(n.oFeatures.bStateSave&&(i=n.fnStateLoad.call(n.oInstance,n),i&&(u=v(n,"aoStateLoadParams","stateLoadParams",[n,i]),-1===r.inArray(!1,u)))){for(n.oLoadedState=r.extend(!0,{},i),n._iDisplayStart=i.iStart,n.iInitDisplayStart=i.iStart,n._iDisplayEnd=i.iEnd,n._iDisplayLength=i.iLength,n.aaSorting=i.aaSorting.slice(),n.saved_aaSorting=i.aaSorting.slice(),r.extend(n.oPreviousSearch,i.oSearch),r.extend(!0,n.aoPreSearchCols,i.aoSearchCols),t.saved_aoColumns=[],u=0;u<i.abVisCols.length;u++)t.saved_aoColumns[u]={},t.saved_aoColumns[u].bVisible=i.abVisCols[u];v(n,"aoStateLoaded","stateLoaded",[n,i])}}function s(n){for(var t=0;t<u.settings.length;t++)if(u.settings[t].nTable===n)return u.settings[t];return null}function ct(n){for(var i=[],n=n.aoData,t=0,r=n.length;t<r;t++)null!==n[t].nTr&&i.push(n[t].nTr);return i}function tt(n,t){var s=[],r,f,e,u,c,o,h;for(f=0,h=n.aoData.length,t!==i&&(f=t,h=t+1),e=f;e<h;e++)if(o=n.aoData[e],null!==o.nTr){for(f=[],r=o.nTr.firstChild;r;)u=r.nodeName.toLowerCase(),("td"==u||"th"==u)&&f.push(r),r=r.nextSibling;for(u=r=0,c=n.aoColumns.length;u<c;u++)n.aoColumns[u].bVisible?s.push(f[u-r]):(s.push(o._anHidden[u]),r++)}return s}function w(t,i,r){if(t=null===t?"DataTables warning: "+r:"DataTables warning (table id = '"+t.sTableId+"'): "+r,0===i)if("alert"==u.ext.sErrMode)console.log(t);else throw Error(t);else n.console&&console.log&&console.log(t)}function e(n,t,r,u){u===i&&(u=r);t[r]!==i&&(n[u]=t[r])}function fu(n,t){var i;for(var u in t)t.hasOwnProperty(u)&&(i=t[u],"object"==typeof f[u]&&null!==i&&!1===r.isArray(i)?r.extend(!0,n[u],i):n[u]=i);return n}function eu(n,t,i){r(n).bind("click.DT",t,function(t){n.blur();i(t)}).bind("keypress.DT",t,function(n){13===n.which&&i(n)}).bind("selectstart.DT",function(){return!1})}function a(n,t,i,r){i&&n[t].push({fn:i,sName:r})}function v(n,t,i,u){for(var t=n[t],e=[],f=t.length-1;0<=f;f--)e.push(t[f].fn.apply(n.oInstance,u));return null!==i&&r(n.oInstance).trigger(i,u),e}function ou(n){var i=r('<div style="position:absolute; top:0; left:0; height:1px; width:1px; overflow:hidden"><div style="position:absolute; top:1px; left:1px; width:100px; overflow:scroll;"><div id="DT_BrowserTest" style="width:100%; height:10px;"><\/div><\/div><\/div>')[0];t.body.appendChild(i);n.oBrowser.bScrollOversize=100===r("#DT_BrowserTest",i)[0].offsetWidth?!0:!1;t.body.removeChild(i)}function su(n){return function(){var t=[s(this[u.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return u.ext.oApi[n].apply(this,t)}}var lt=/\[.*?\]$/,hu=n.JSON?JSON.stringify:function(n){var i=typeof n,f,t,e,u;if("object"!==i||null===n)return"string"===i&&(n='"'+n+'"'),n+"";e=[];u=r.isArray(n);for(f in n)t=n[f],i=typeof t,"string"===i?t='"'+t+'"':"object"===i&&null!==t&&(t=hu(t)),e.push((u?"":'"'+f+'":')+t);return(u?"[":"{")+e+(u?"]":"}")},dt,at;this.$=function(n,t){var i,f,e=[],o;f=s(this[u.ext.iApiIndex]);var h=f.aoData,c=f.aiDisplay,l=f.aiDisplayMaster;if(t||(t={}),t=r.extend({},{filter:"none",order:"current",page:"all"},t),"current"==t.page)for(i=f._iDisplayStart,f=f.fnDisplayEnd();i<f;i++)(o=h[c[i]].nTr)&&e.push(o);else if("current"==t.order&&"none"==t.filter)for(i=0,f=l.length;i<f;i++)(o=h[l[i]].nTr)&&e.push(o);else if("current"==t.order&&"applied"==t.filter)for(i=0,f=c.length;i<f;i++)(o=h[c[i]].nTr)&&e.push(o);else if("original"==t.order&&"none"==t.filter)for(i=0,f=h.length;i<f;i++)(o=h[i].nTr)&&e.push(o);else if("original"==t.order&&"applied"==t.filter)for(i=0,f=h.length;i<f;i++)o=h[i].nTr,-1!==r.inArray(i,c)&&o&&e.push(o);else w(f,1,"Unknown selection options");return e=r(e),i=e.filter(n),e=e.find(n),r([].concat(r.makeArray(i),r.makeArray(e)))};this._=function(n,t){for(var r=[],f=this.$(n,t),i=0,u=f.length;i<u;i++)r.push(this.fnGetData(f[i]));return r};this.fnAddData=function(n,t){var r,f,e,o;if(0===n.length)return[];if(r=[],e=s(this[u.ext.iApiIndex]),"object"==typeof n[0]&&null!==n[0])for(o=0;o<n.length;o++){if(f=d(e,n[o]),-1==f)return r;r.push(f)}else{if(f=d(e,n),-1==f)return r;r.push(f)}return e.aiDisplay=e.aiDisplayMaster.slice(),(t===i||t)&&wt(e),r};this.fnAdjustColumnSizing=function(n){var t=s(this[u.ext.iApiIndex]);vt(t);n===i||n?this.fnDraw(!1):(""!==t.oScroll.sX||""!==t.oScroll.sY)&&this.oApi._fnScrollDraw(t)};this.fnClearTable=function(n){var t=s(this[u.ext.iApiIndex]);fi(t);(n===i||n)&&c(t)};this.fnClose=function(n){for(var i=s(this[u.ext.iApiIndex]),t=0;t<i.aoOpenRows.length;t++)if(i.aoOpenRows[t].nParent==n)return(n=i.aoOpenRows[t].nTr.parentNode)&&n.removeChild(i.aoOpenRows[t].nTr),i.aoOpenRows.splice(t,1),0;return 1};this.fnDeleteRow=function(n,t,f){for(var e=s(this[u.ext.iApiIndex]),n="object"==typeof n?g(e,n):n,a=e.aoData.splice(n,1),o=0,h=e.aoData.length;o<h;o++)null!==e.aoData[o].nTr&&(e.aoData[o].nTr._DT_RowIndex=o);return o=r.inArray(n,e.aiDisplay),e.asDataSearch.splice(o,1),ei(e.aiDisplayMaster,n),ei(e.aiDisplay,n),"function"==typeof t&&t.call(this,e,a),e._iDisplayStart>=e.fnRecordsDisplay()&&(e._iDisplayStart-=e._iDisplayLength,0>e._iDisplayStart&&(e._iDisplayStart=0)),(f===i||f)&&(l(e),c(e)),a};this.fnDestroy=function(n){var t=s(this[u.ext.iApiIndex]),c=t.nTableWrapper.parentNode,l=t.nTBody,e,h,n=n===i?!1:n;if(t.bDestroying=!0,v(t,"aoDestroyCallback","destroy",[t]),!n)for(e=0,h=t.aoColumns.length;e<h;e++)!1===t.aoColumns[e].bVisible&&this.fnSetColumnVis(e,!0);for(r(t.nTableWrapper).find("*").addBack().unbind(".DT"),r("tbody>tr>td."+t.oClasses.sRowEmpty,t.nTable).parent().remove(),t.nTable!=t.nTHead.parentNode&&(r(t.nTable).children("thead").remove(),t.nTable.appendChild(t.nTHead)),t.nTFoot&&t.nTable!=t.nTFoot.parentNode&&(r(t.nTable).children("tfoot").remove(),t.nTable.appendChild(t.nTFoot)),t.nTable.parentNode.removeChild(t.nTable),r(t.nTableWrapper).remove(),t.aaSorting=[],t.aaSortingFixed=[],ut(t),r(ct(t)).removeClass(t.asStripeClasses.join(" ")),r("th, td",t.nTHead).removeClass([t.oClasses.sSortable,t.oClasses.sSortableAsc,t.oClasses.sSortableDesc,t.oClasses.sSortableNone].join(" ")),t.bJUI&&(r("th span."+t.oClasses.sSortIcon+", td span."+t.oClasses.sSortIcon,t.nTHead).remove(),r("th, td",t.nTHead).each(function(){var n=r("div."+t.oClasses.sSortJUIWrapper,this),i=n.contents();r(this).append(i);n.remove()})),!n&&t.nTableReinsertBefore?c.insertBefore(t.nTable,t.nTableReinsertBefore):n||c.appendChild(t.nTable),e=0,h=t.aoData.length;e<h;e++)null!==t.aoData[e].nTr&&l.appendChild(t.aoData[e].nTr);if(!0===t.oFeatures.bAutoWidth&&(t.nTable.style.width=o(t.sDestroyWidth)),h=t.asDestroyStripes.length)for(n=r(l).children("tr"),e=0;e<h;e++)n.filter(":nth-child("+h+"n + "+e+")").addClass(t.asDestroyStripes[e]);for(e=0,h=u.settings.length;e<h;e++)u.settings[e]==t&&u.settings.splice(e,1);f=t=null};this.fnDraw=function(n){var t=s(this[u.ext.iApiIndex]);!1===n?(l(t),c(t)):wt(t)};this.fnFilter=function(n,f,e,o,h,c){var l=s(this[u.ext.iApiIndex]);if(l.oFeatures.bFilter)if((e===i||null===e)&&(e=!1),(o===i||null===o)&&(o=!0),(h===i||null===h)&&(h=!0),(c===i||null===c)&&(c=!0),f===i||null===f){if(nt(l,{sSearch:n+"",bRegex:e,bSmart:o,bCaseInsensitive:c},1),h&&l.aanFeatures.f)for(f=l.aanFeatures.f,e=0,o=f.length;e<o;e++)try{f[e]._DT_Input!=t.activeElement&&r(f[e]._DT_Input).val(n)}catch(a){r(f[e]._DT_Input).val(n)}}else r.extend(l.aoPreSearchCols[f],{sSearch:n+"",bRegex:e,bSmart:o,bCaseInsensitive:c}),nt(l,l.oPreviousSearch,1)};this.fnGetData=function(n,t){var r=s(this[u.ext.iApiIndex]),f,e;return n!==i?(f=n,"object"==typeof n&&(e=n.nodeName.toLowerCase(),"tr"===e?f=g(r,n):"td"===e&&(f=g(r,n.parentNode),t=ui(r,f,n))),t!==i?h(r,f,t,""):r.aoData[f]!==i?r.aoData[f]._aData:null):pt(r)};this.fnGetNodes=function(n){var t=s(this[u.ext.iApiIndex]);return n!==i?t.aoData[n]!==i?t.aoData[n].nTr:null:ct(t)};this.fnGetPosition=function(n){var i=s(this[u.ext.iApiIndex]),t=n.nodeName.toUpperCase();return"TR"==t?g(i,n):"TD"==t||"TH"==t?(t=g(i,n.parentNode),n=ui(i,t,n),[t,ti(i,n),n]):null};this.fnIsOpen=function(n){for(var i=s(this[u.ext.iApiIndex]),t=0;t<i.aoOpenRows.length;t++)if(i.aoOpenRows[t].nParent==n)return!0;return!1};this.fnOpen=function(n,i,f){var h=s(this[u.ext.iApiIndex]),e=ct(h),o;if(-1!==r.inArray(n,e))return this.fnClose(n),e=t.createElement("tr"),o=t.createElement("td"),e.appendChild(o),o.className=f,o.colSpan=ft(h),"string"==typeof i?o.innerHTML=i:r(o).html(i),i=r("tr",h.nTBody),-1!=r.inArray(n,i)&&r(e).insertAfter(n),h.aoOpenRows.push({nTr:e,nParent:n}),e};this.fnPageChange=function(n,t){var r=s(this[u.ext.iApiIndex]);pi(r,n);l(r);(t===i||t)&&c(r)};this.fnSetColumnVis=function(n,t,r){var e=s(this[u.ext.iApiIndex]),f,o,a=e.aoColumns,h=e.aoData,l,v;if(a[n].bVisible!=t){if(t){for(f=o=0;f<n;f++)a[f].bVisible&&o++;if(v=o>=ft(e),!v)for(f=n;f<a.length;f++)if(a[f].bVisible){l=f;break}for(f=0,o=h.length;f<o;f++)null!==h[f].nTr&&(v?h[f].nTr.appendChild(h[f]._anHidden[n]):h[f].nTr.insertBefore(h[f]._anHidden[n],tt(e,f)[l]))}else for(f=0,o=h.length;f<o;f++)null!==h[f].nTr&&(l=tt(e,f)[n],h[f]._anHidden[n]=l,l.parentNode.removeChild(l));for(a[n].bVisible=t,st(e,e.aoHeader),e.nTFoot&&st(e,e.aoFooter),f=0,o=e.aoOpenRows.length;f<o;f++)e.aoOpenRows[f].nTr.colSpan=ft(e);(r===i||r)&&(vt(e),c(e));ki(e)}};this.fnSettings=function(){return s(this[u.ext.iApiIndex])};this.fnSort=function(n){var t=s(this[u.ext.iApiIndex]);t.aaSorting=n;rt(t)};this.fnSortListener=function(n,t,i){bi(s(this[u.ext.iApiIndex]),n,t,i)};this.fnUpdate=function(n,t,f,e,o){var c=s(this[u.ext.iApiIndex]),t="object"==typeof t?g(c,t):t,n,l;if(r.isArray(n)&&f===i)for(c.aoData[t]._aData=n.slice(),f=0;f<c.aoColumns.length;f++)this.fnUpdate(h(c,t,f),t,f,!1,!1);else if(r.isPlainObject(n)&&f===i)for(c.aoData[t]._aData=r.extend(!0,{},n),f=0;f<c.aoColumns.length;f++)this.fnUpdate(h(c,t,f),t,f,!1,!1);else b(c,t,f,n),n=h(c,t,f,"display"),l=c.aoColumns[f],null!==l.fnRender&&(n=ot(c,t,f),l.bUseRendered&&b(c,t,f,n)),null!==c.aoData[t].nTr&&(tt(c,t)[f].innerHTML=n);return f=r.inArray(t,c.aiDisplay),c.asDataSearch[f]=ci(c,yt(c,t,"filter",k(c,"bSearchable"))),(o===i||o)&&vt(c),(e===i||e)&&wt(c),0};this.fnVersionCheck=u.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:su,_fnInitialise:bt,_fnInitComplete:kt,_fnLanguageCompat:yi,_fnAddColumn:gt,_fnColumnOptions:ni,_fnAddData:d,_fnCreateTr:oi,_fnGatherData:tr,_fnBuildHead:rr,_fnDrawHead:st,_fnDraw:c,_fnReDraw:wt,_fnAjaxUpdate:fr,_fnAjaxParameters:er,_fnAjaxUpdateDraw:or,_fnServerParams:si,_fnAddOptionsHtml:ur,_fnFeatureHtmlTable:kr,_fnScrollDraw:dr,_fnAdjustColumnSizing:vt,_fnFeatureHtmlFilter:sr,_fnFilterComplete:nt,_fnFilterCustom:hr,_fnFilterColumn:cr,_fnFilter:lr,_fnBuildSearchArray:hi,_fnBuildSearchRow:ci,_fnFilterCreateSearch:li,_fnDataToSearch:ar,_fnSort:rt,_fnSortAttachListener:bi,_fnSortingClasses:ut,_fnFeatureHtmlPaginate:wr,_fnPageChange:pi,_fnFeatureHtmlInfo:vr,_fnUpdateInfo:yr,_fnFeatureHtmlLength:pr,_fnFeatureHtmlProcessing:br,_fnProcessingDisplay:p,_fnVisibleToColumnIndex:di,_fnColumnIndexToVisible:ti,_fnNodeToDataIndex:g,_fnVisbleColumns:ft,_fnCalculateEnd:l,_fnConvertToWidth:gr,_fnCalculateColumnWidths:wi,_fnScrollingWidthAdjust:nu,_fnGetWidestNode:tu,_fnGetMaxLenString:iu,_fnStringToCss:o,_fnDetectType:ii,_fnSettingsFromNode:s,_fnGetDataMaster:pt,_fnGetTrNodes:ct,_fnGetTdNodes:tt,_fnEscapeRegex:ai,_fnDeleteIndex:ei,_fnReOrderIndex:gi,_fnColumnOrdering:ri,_fnLog:w,_fnClearTable:fi,_fnSaveState:ki,_fnLoadState:uu,_fnCreateCookie:function(a,b,c,d,e){var f=new Date,c,a,g,j,o,k;if(f.setTime(f.getTime()+1e3*c),c=n.location.pathname.split("/"),a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase(),null!==e?(g="function"==typeof r.parseJSON?r.parseJSON(b):eval("("+b+")"),b=e(a,g,f.toGMTString(),c.join("/")+"/")):b=a+"="+encodeURIComponent(b)+"; expires="+f.toGMTString()+"; path="+c.join("/")+"/",a=t.cookie.split(";"),e=b.split(";")[0].length,f=[],4096<e+t.cookie.length+10){for(j=0,o=a.length;j<o;j++)if(-1!=a[j].indexOf(d)){k=a[j].split("=");try{(g=eval("("+decodeURIComponent(k[1])+")"))&&g.iCreate&&f.push({name:k[0],time:g.iCreate})}catch(m){}}for(f.sort(function(n,t){return t.time-n.time});4096<e+t.cookie.length+10;){if(0===f.length)return;d=f.pop();t.cookie=d.name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}}t.cookie=b},_fnReadCookie:function(i){for(var r,u=n.location.pathname.split("/"),i=i+"_"+u[u.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",u=t.cookie.split(";"),f=0;f<u.length;f++){for(r=u[f];" "==r.charAt(0);)r=r.substring(1,r.length);if(0===r.indexOf(i))return decodeURIComponent(r.substring(i.length,r.length))}return null},_fnDetectHeader:ht,_fnGetUniqueThs:it,_fnScrollBarWidth:ru,_fnApplyToChildren:y,_fnMap:e,_fnGetRowData:yt,_fnGetCellData:h,_fnSetCellData:b,_fnGetObjectDataFn:et,_fnSetObjectDataFn:ir,_fnApplyColumnDefs:nr,_fnBindAction:eu,_fnExtend:fu,_fnCallbackReg:a,_fnCallbackFire:v,_fnJsonString:hu,_fnRender:ot,_fnNodeToColumnIndex:ui,_fnInfoMacros:vi,_fnBrowserDetect:ou,_fnGetColumns:k};r.extend(u.ext.oApi,this.oApi);for(dt in u.ext.oApi)dt&&(this[dt]=su(dt));return at=this,this.each(function(){var o=0,s,h,c,v,y,n,l;if(h=this.getAttribute("id"),v=!1,y=!1,"table"!=this.nodeName.toLowerCase())w(null,0,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);else{for(o=0,s=u.settings.length;o<s;o++){if(u.settings[o].nTable==this){if(f===i||f.bRetrieve)return u.settings[o].oInstance;if(f.bDestroy){u.settings[o].oInstance.fnDestroy();break}else{w(u.settings[o],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(u.settings[o].sTableId==this.id){u.settings.splice(o,1);break}}if((null===h||""===h)&&(this.id=h="DataTables_Table_"+u.ext._oExternConfig.iNextUnique++),n=r.extend(!0,{},u.models.oSettings,{nTable:this,oApi:at.oApi,oInit:f,sDestroyWidth:r(this).width(),sInstance:h,sTableId:h}),u.settings.push(n),n.oInstance=1===at.length?at:r(this).dataTable(),f||(f={}),f.oLanguage&&yi(f.oLanguage),f=fu(r.extend(!0,{},u.defaults),f),e(n.oFeatures,f,"bPaginate"),e(n.oFeatures,f,"bLengthChange"),e(n.oFeatures,f,"bFilter"),e(n.oFeatures,f,"bSort"),e(n.oFeatures,f,"bInfo"),e(n.oFeatures,f,"bProcessing"),e(n.oFeatures,f,"bAutoWidth"),e(n.oFeatures,f,"bSortClasses"),e(n.oFeatures,f,"bServerSide"),e(n.oFeatures,f,"bDeferRender"),e(n.oScroll,f,"sScrollX","sX"),e(n.oScroll,f,"sScrollXInner","sXInner"),e(n.oScroll,f,"sScrollY","sY"),e(n.oScroll,f,"bScrollCollapse","bCollapse"),e(n.oScroll,f,"bScrollInfinite","bInfinite"),e(n.oScroll,f,"iScrollLoadGap","iLoadGap"),e(n.oScroll,f,"bScrollAutoCss","bAutoCss"),e(n,f,"asStripeClasses"),e(n,f,"asStripClasses","asStripeClasses"),e(n,f,"fnServerData"),e(n,f,"fnFormatNumber"),e(n,f,"sServerMethod"),e(n,f,"aaSorting"),e(n,f,"aaSortingFixed"),e(n,f,"aLengthMenu"),e(n,f,"sPaginationType"),e(n,f,"sAjaxSource"),e(n,f,"sAjaxDataProp"),e(n,f,"iCookieDuration"),e(n,f,"sCookiePrefix"),e(n,f,"sDom"),e(n,f,"bSortCellsTop"),e(n,f,"iTabIndex"),e(n,f,"oSearch","oPreviousSearch"),e(n,f,"aoSearchCols","aoPreSearchCols"),e(n,f,"iDisplayLength","_iDisplayLength"),e(n,f,"bJQueryUI","bJUI"),e(n,f,"fnCookieCallback"),e(n,f,"fnStateLoad"),e(n,f,"fnStateSave"),e(n.oLanguage,f,"fnInfoCallback"),a(n,"aoDrawCallback",f.fnDrawCallback,"user"),a(n,"aoServerParams",f.fnServerParams,"user"),a(n,"aoStateSaveParams",f.fnStateSaveParams,"user"),a(n,"aoStateLoadParams",f.fnStateLoadParams,"user"),a(n,"aoStateLoaded",f.fnStateLoaded,"user"),a(n,"aoRowCallback",f.fnRowCallback,"user"),a(n,"aoRowCreatedCallback",f.fnCreatedRow,"user"),a(n,"aoHeaderCallback",f.fnHeaderCallback,"user"),a(n,"aoFooterCallback",f.fnFooterCallback,"user"),a(n,"aoInitComplete",f.fnInitComplete,"user"),a(n,"aoPreDrawCallback",f.fnPreDrawCallback,"user"),n.oFeatures.bServerSide&&n.oFeatures.bSort&&n.oFeatures.bSortClasses?a(n,"aoDrawCallback",ut,"server_side_sort_classes"):n.oFeatures.bDeferRender&&a(n,"aoDrawCallback",ut,"defer_sort_classes"),f.bJQueryUI?(r.extend(n.oClasses,u.ext.oJUIClasses),f.sDom===u.defaults.sDom&&"lfrtip"===u.defaults.sDom&&(n.sDom='<"H"lfr>t<"F"ip>')):r.extend(n.oClasses,u.ext.oStdClasses),r(this).addClass(n.oClasses.sTable),(""!==n.oScroll.sX||""!==n.oScroll.sY)&&(n.oScroll.iBarWidth=ru()),n.iInitDisplayStart===i&&(n.iInitDisplayStart=f.iDisplayStart,n._iDisplayStart=f.iDisplayStart),f.bStateSave&&(n.oFeatures.bStateSave=!0,uu(n,f),a(n,"aoDrawCallback",ki,"state_save")),null!==f.iDeferLoading&&(n.bDeferLoading=!0,o=r.isArray(f.iDeferLoading),n._iRecordsDisplay=o?f.iDeferLoading[0]:f.iDeferLoading,n._iRecordsTotal=o?f.iDeferLoading[1]:f.iDeferLoading),null!==f.aaData&&(y=!0),""!==f.oLanguage.sUrl?(n.oLanguage.sUrl=f.oLanguage.sUrl,r.getJSON(n.oLanguage.sUrl,null,function(t){yi(t);r.extend(!0,n.oLanguage,f.oLanguage,t);bt(n)}),v=!0):r.extend(!0,n.oLanguage,f.oLanguage),null===f.asStripeClasses&&(n.asStripeClasses=[n.oClasses.sStripeOdd,n.oClasses.sStripeEven]),s=n.asStripeClasses.length,n.asDestroyStripes=[],s){for(h=!1,c=r(this).children("tbody").children("tr:lt("+s+")"),o=0;o<s;o++)c.hasClass(n.asStripeClasses[o])&&(h=!0,n.asDestroyStripes.push(n.asStripeClasses[o]));h&&c.removeClass(n.asStripeClasses.join(" "))}if(h=[],o=this.getElementsByTagName("thead"),0!==o.length&&(ht(n.aoHeader,o[0]),h=it(n)),null===f.aoColumns)for(c=[],o=0,s=h.length;o<s;o++)c.push(null);else c=f.aoColumns;for(o=0,s=c.length;o<s;o++)f.saved_aoColumns!==i&&f.saved_aoColumns.length==s&&(null===c[o]&&(c[o]={}),c[o].bVisible=f.saved_aoColumns[o].bVisible),gt(n,h?h[o]:null);for(nr(n,f.aoColumnDefs,c,function(t,i){ni(n,t,i)}),o=0,s=n.aaSorting.length;o<s;o++)for(n.aaSorting[o][0]>=n.aoColumns.length&&(n.aaSorting[o][0]=0),l=n.aoColumns[n.aaSorting[o][0]],n.aaSorting[o][2]===i&&(n.aaSorting[o][2]=0),f.aaSorting===i&&n.saved_aaSorting===i&&(n.aaSorting[o][1]=l.asSorting[0]),h=0,c=l.asSorting.length;h<c;h++)if(n.aaSorting[o][1]==l.asSorting[h]){n.aaSorting[o][2]=h;break}if(ut(n),ou(n),o=r(this).children("caption").each(function(){this._captionSide=r(this).css("caption-side")}),s=r(this).children("thead"),0===s.length&&(s=[t.createElement("thead")],this.appendChild(s[0])),n.nTHead=s[0],s=r(this).children("tbody"),0===s.length&&(s=[t.createElement("tbody")],this.appendChild(s[0])),n.nTBody=s[0],n.nTBody.setAttribute("role","alert"),n.nTBody.setAttribute("aria-live","polite"),n.nTBody.setAttribute("aria-relevant","all"),s=r(this).children("tfoot"),0===s.length&&0<o.length&&(""!==n.oScroll.sX||""!==n.oScroll.sY)&&(s=[t.createElement("tfoot")],this.appendChild(s[0])),0<s.length&&(n.nTFoot=s[0],ht(n.aoFooter,n.nTFoot)),y)for(o=0;o<f.aaData.length;o++)d(n,f.aaData[o]);else tr(n);n.aiDisplay=n.aiDisplayMaster.slice();n.bInitialised=!0;!1===v&&bt(n)}}),at=null,this};u.fnVersionCheck=function(n){for(var i=function(n,t){for(;n.length<t;)n+="0";return n},e=u.ext.sVersion.split("."),n=n.split("."),r="",f="",t=0,o=n.length;t<o;t++)r+=i(e[t],3),f+=i(n[t],3);return parseInt(r,10)>=parseInt(f,10)};u.fnIsDataTable=function(n){for(var i=u.settings,t=0;t<i.length;t++)if(i[t].nTable===n||i[t].nScrollHead===n||i[t].nScrollFoot===n)return!0;return!1};u.fnTables=function(n){var t=[];return jQuery.each(u.settings,function(i,u){(!n||!0===n&&r(u.nTable).is(":visible"))&&t.push(u.nTable)}),t};u.version="1.9.4";u.settings=[];u.models={};u.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[],aTypes:[],fnVersionCheck:u.fnVersionCheck,iApiIndex:0,ofnSearch:{},oApi:{},oStdClasses:{},oJUIClasses:{},oPagination:{},oSort:{},sVersion:u.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};u.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};u.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};u.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null,fnRender:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};u.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(n){if(1e3>n)return n;for(var r=n+"",n=r.split(""),t="",r=r.length,i=0;i<r;i++)0==i%3&&0!==i&&(t=this.oLanguage.sInfoThousands+t),t=n[r-i-1]+t;return t},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:function(n,t,i,u){u.jqXHR=r.ajax({url:n,data:t,success:function(n){n.sError&&u.oApi._fnLog(u,0,n.sError);r(u.oInstance).trigger("xhr",[u,n]);i(n)},dataType:"json",cache:!1,type:u.sServerMethod,error:function(n,t){"parsererror"==t&&u.oApi._fnLog(u,0,"DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(e){var e=this.oApi._fnReadCookie(e.sCookiePrefix+e.sInstance),j;try{j="function"==typeof r.parseJSON?r.parseJSON(e):eval("("+e+")")}catch(m){j=null}return j},fnStateLoadParams:null,fnStateLoaded:null,fnStateSave:function(n,t){this.oApi._fnCreateCookie(n.sCookiePrefix+n.sInstance,this.oApi._fnJsonString(t),n.iCookieDuration,n.sCookiePrefix,n.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:r.extend({},u.models.oSearch),sAjaxDataProp:"aaData",sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};u.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};u.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null,asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[],oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length},fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?!1===this.oFeatures.bPaginate||-1==this._iDisplayLength?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null};u.ext=r.extend(!0,{},u.models.ext);r.extend(u.ext.oStdClasses,{sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"",sJUIHeader:"",sJUIFooter:""});r.extend(u.ext.oJUIClasses,u.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default",sJUIHeader:"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix",sJUIFooter:"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"});r.extend(u.ext.oPagination,{two_button:{fnInit:function(n,t,i){var u=n.oLanguage.oPaginate,e=function(t){n.oApi._fnPageChange(n,t.data.action)&&i(n)},u=n.bJUI?'<a class="'+n.oClasses.sPagePrevDisabled+'" tabindex="'+n.iTabIndex+'" role="button"><span class="'+n.oClasses.sPageJUIPrev+'"><\/span><\/a><a class="'+n.oClasses.sPageNextDisabled+'" tabindex="'+n.iTabIndex+'" role="button"><span class="'+n.oClasses.sPageJUINext+'"><\/span><\/a>':'<a class="'+n.oClasses.sPagePrevDisabled+'" tabindex="'+n.iTabIndex+'" role="button">'+u.sPrevious+'<\/a><a class="'+n.oClasses.sPageNextDisabled+'" tabindex="'+n.iTabIndex+'" role="button">'+u.sNext+"<\/a>";r(t).append(u);var f=r("a",t),u=f[0],f=f[1];n.oApi._fnBindAction(u,{action:"previous"},e);n.oApi._fnBindAction(f,{action:"next"},e);n.aanFeatures.p||(t.id=n.sTableId+"_paginate",u.id=n.sTableId+"_previous",f.id=n.sTableId+"_next",u.setAttribute("aria-controls",n.sTableId),f.setAttribute("aria-controls",n.sTableId))},fnUpdate:function(n){if(n.aanFeatures.p)for(var i=n.oClasses,u=n.aanFeatures.p,t,r=0,f=u.length;r<f;r++)(t=u[r].firstChild)&&(t.className=0===n._iDisplayStart?i.sPagePrevDisabled:i.sPagePrevEnabled,t=t.nextSibling,t.className=n.fnDisplayEnd()==n.fnRecordsDisplay()?i.sPageNextDisabled:i.sPageNextEnabled)}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(n,t,i){var f=n.oLanguage.oPaginate,u=n.oClasses,o=function(t){n.oApi._fnPageChange(n,t.data.action)&&i(n)};r(t).append('<a  tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPageFirst+'">'+f.sFirst+'<\/a><a  tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPagePrevious+'">'+f.sPrevious+'<\/a><span><\/span><a tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPageNext+'">'+f.sNext+'<\/a><a tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPageLast+'">'+f.sLast+"<\/a>");var e=r("a",t),f=e[0],u=e[1],s=e[2],e=e[3];n.oApi._fnBindAction(f,{action:"first"},o);n.oApi._fnBindAction(u,{action:"previous"},o);n.oApi._fnBindAction(s,{action:"next"},o);n.oApi._fnBindAction(e,{action:"last"},o);n.aanFeatures.p||(t.id=n.sTableId+"_paginate",f.id=n.sTableId+"_first",u.id=n.sTableId+"_previous",s.id=n.sTableId+"_next",e.id=n.sTableId+"_last")},fnUpdate:function(n,t){if(n.aanFeatures.p){var f=u.ext.oPagination.iFullNumbersShowPages,e=Math.floor(f/2),h=Math.ceil(n.fnRecordsDisplay()/n._iDisplayLength),c=Math.ceil(n._iDisplayStart/n._iDisplayLength)+1,l="",s,o=n.oClasses,i,a=n.aanFeatures.p,v=function(i){n.oApi._fnBindAction(this,{page:i+s-1},function(i){n.oApi._fnPageChange(n,i.data.page);t(n);i.preventDefault()})};for(-1===n._iDisplayLength?c=e=s=1:h<f?(s=1,e=h):c<=e?(s=1,e=f):c>=h-e?(s=h-f+1,e=h):(s=c-Math.ceil(f/2)+1,e=s+f-1),f=s;f<=e;f++)l+=c!==f?'<a tabindex="'+n.iTabIndex+'" class="'+o.sPageButton+'">'+n.fnFormatNumber(f)+"<\/a>":'<a tabindex="'+n.iTabIndex+'" class="'+o.sPageButtonActive+'">'+n.fnFormatNumber(f)+"<\/a>";for(f=0,e=a.length;f<e;f++)i=a[f],i.hasChildNodes()&&(r("span:eq(0)",i).html(l).children("a").each(v),i=i.getElementsByTagName("a"),i=[i[0],i[1],i[i.length-2],i[i.length-1]],r(i).removeClass(o.sPageButton+" "+o.sPageButtonActive+" "+o.sPageButtonStaticDisabled),r([i[0],i[1]]).addClass(1==c?o.sPageButtonStaticDisabled:o.sPageButton),r([i[2],i[3]]).addClass(0===h||c===h||-1===n._iDisplayLength?o.sPageButtonStaticDisabled:o.sPageButton))}}}});r.extend(u.ext.oSort,{"string-pre":function(n){return"string"!=typeof n&&(n=null!==n&&n.toString?n.toString():""),n.toLowerCase()},"string-asc":function(n,t){return n<t?-1:n>t?1:0},"string-desc":function(n,t){return n<t?1:n>t?-1:0},"html-pre":function(n){return n.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(n,t){return n<t?-1:n>t?1:0},"html-desc":function(n,t){return n<t?1:n>t?-1:0},"date-pre":function(n){return n=Date.parse(n),(isNaN(n)||""===n)&&(n=Date.parse("01/01/1970 00:00:00")),n},"date-asc":function(n,t){return n-t},"date-desc":function(n,t){return t-n},"numeric-pre":function(n){return"-"==n||""===n?0:1*n},"numeric-asc":function(n,t){return n-t},"numeric-desc":function(n,t){return t-n}});r.extend(u.ext.aTypes,[function(n){var t,r,i;if("number"==typeof n)return"numeric";if("string"!=typeof n||(r=!1,t=n.charAt(0),-1=="0123456789-".indexOf(t)))return null;for(i=1;i<n.length;i++){if(t=n.charAt(i),-1=="0123456789.".indexOf(t))return null;if("."==t){if(r)return null;r=!0}}return"numeric"},function(n){var t=Date.parse(n);return null!==t&&!isNaN(t)||"string"==typeof n&&0===n.length?"date":null},function(n){return"string"==typeof n&&-1!=n.indexOf("<")&&-1!=n.indexOf(">")?"html":null}]);r.fn.DataTable=u;r.fn.dataTable=u;r.fn.dataTableSettings=u.settings;r.fn.dataTableExt=u.ext};"function"==typeof define&&define.amd?define(["jquery"],r):jQuery&&!jQuery.fn.dataTable&&r(jQuery)}(window,document),function(n,t,i){(function(n){typeof define=="function"&&define.amd?define(["jquery"],n):jQuery&&!jQuery.fn.dataTable&&n(jQuery)})(function(r){var u=function(f){function gt(n,f){var e=u.defaults.columns,o=n.aoColumns.length,h=r.extend({},u.models.oColumn,e,{sSortingClass:n.oClasses.sSortable,sSortingClassJUI:n.oClasses.sSortJUI,nTh:f?f:t.createElement("th"),sTitle:e.sTitle?e.sTitle:f?f.innerHTML:"",aDataSort:e.aDataSort?e.aDataSort:[o],mData:e.mData?e.oDefaults:o}),s;n.aoColumns.push(h);n.aoPreSearchCols[o]===i||n.aoPreSearchCols[o]===null?n.aoPreSearchCols[o]=r.extend({},u.models.oSearch):(s=n.aoPreSearchCols[o],s.bRegex===i&&(s.bRegex=!0),s.bSmart===i&&(s.bSmart=!0),s.bCaseInsensitive===i&&(s.bCaseInsensitive=!0));ni(n,o,null)}function ni(n,t,u){var f=n.aoColumns[t],o,s;u!==i&&u!==null&&(u.mDataProp&&!u.mData&&(u.mData=u.mDataProp),u.sType!==i&&(f.sType=u.sType,f._bAutoType=!1),r.extend(f,u),e(f,u,"sWidth","sWidthOrig"),u.iDataSort!==i&&(f.aDataSort=[u.iDataSort]),e(f,u,"aDataSort"));o=f.mRender?ot(f.mRender):null;s=ot(f.mData);f.fnGetData=function(n,t){var i=s(n,t);return f.mRender&&t&&t!==""?o(i,t,n):i};f.fnSetData=ir(f.mData);n.oFeatures.bSort||(f.bSortable=!1);f.bSortable&&(r.inArray("asc",f.asSorting)!=-1||r.inArray("desc",f.asSorting)!=-1)?r.inArray("asc",f.asSorting)==-1&&r.inArray("desc",f.asSorting)==-1?(f.sSortingClass=n.oClasses.sSortable,f.sSortingClassJUI=n.oClasses.sSortJUI):r.inArray("asc",f.asSorting)!=-1&&r.inArray("desc",f.asSorting)==-1?(f.sSortingClass=n.oClasses.sSortableAsc,f.sSortingClassJUI=n.oClasses.sSortJUIAscAllowed):r.inArray("asc",f.asSorting)==-1&&r.inArray("desc",f.asSorting)!=-1&&(f.sSortingClass=n.oClasses.sSortableDesc,f.sSortingClassJUI=n.oClasses.sSortJUIDescAllowed):(f.sSortingClass=n.oClasses.sSortableNone,f.sSortingClassJUI="")}function vt(n){if(n.oFeatures.bAutoWidth===!1)return!1;wi(n);for(var t=0,i=n.aoColumns.length;t<i;t++)n.aoColumns[t].nTh.style.width=n.aoColumns[t].sWidth}function di(n,t){var i=k(n,"bVisible");return typeof i[t]=="number"?i[t]:null}function ti(n,t){var u=k(n,"bVisible"),i=r.inArray(t,u);return i!==-1?i:null}function ft(n){return k(n,"bVisible").length}function k(n,t){var i=[];return r.map(n.aoColumns,function(n,r){n[t]&&i.push(r)}),i}function ii(n){for(var i,r=u.ext.aTypes,f=r.length,t=0;t<f;t++)if(i=r[t](n),i!==null)return i;return"string"}function gi(n,t){for(var i,e=t.split(","),u=[],r=0,f=n.aoColumns.length;r<f;r++)for(i=0;i<f;i++)if(n.aoColumns[r].sName==e[i]){u.push(i);break}return u}function ri(n){for(var t="",i=0,r=n.aoColumns.length;i<r;i++)t+=n.aoColumns[i].sName+",";return t.length==r?"":t.slice(0,-1)}function nr(n,t,i,u){var o,h,e,c,s,l,f;if(t)for(o=t.length-1;o>=0;o--)for(f=t[o].aTargets,r.isArray(f)||w(n,1,"aTargets must be an array of targets, not a "+typeof f),e=0,c=f.length;e<c;e++)if(typeof f[e]=="number"&&f[e]>=0){while(n.aoColumns.length<=f[e])gt(n);u(f[e],t[o])}else if(typeof f[e]=="number"&&f[e]<0)u(n.aoColumns.length+f[e],t[o]);else if(typeof f[e]=="string")for(s=0,l=n.aoColumns.length;s<l;s++)(f[e]=="_all"||r(n.aoColumns[s].nTh).hasClass(f[e]))&&u(s,t[o]);if(i)for(o=0,h=i.length;o<h;o++)u(o,i[o])}function d(n,t){var i,a=r.isArray(t)?t.slice():r.extend(!0,{},t),e=n.aoData.length,c=r.extend(!0,{},u.models.oRow),s,f,l,o;for(c._aData=a,n.aoData.push(c),f=0,l=n.aoColumns.length;f<l;f++)i=n.aoColumns[f],typeof i.fnRender=="function"&&i.bUseRendered&&i.mData!==null?b(n,e,f,st(n,e,f)):b(n,e,f,h(n,e,f)),i._bAutoType&&i.sType!="string"&&(o=h(n,e,f,"type"),o!==null&&o!==""&&(s=ii(o),i.sType===null?i.sType=s:i.sType!=s&&i.sType!="html"&&(i.sType="string")));return n.aiDisplayMaster.push(e),n.oFeatures.bDeferRender||oi(n,e),e}function tr(n){var o,y,w,k,d,f,c,p,e,rt,i,g,a,t,l;if(n.bDeferLoading||n.sAjaxSource===null)for(c=n.nTBody.firstChild;c;){if(c.nodeName.toUpperCase()=="TR")for(p=n.aoData.length,c._DT_RowIndex=p,n.aoData.push(r.extend(!0,{},u.models.oRow,{nTr:c})),n.aiDisplayMaster.push(p),f=c.firstChild,w=0;f;)a=f.nodeName.toUpperCase(),(a=="TD"||a=="TH")&&(b(n,p,w,r.trim(f.innerHTML)),w++),f=f.nextSibling;c=c.nextSibling}for(d=lt(n),k=[],o=0,y=d.length;o<y;o++)for(f=d[o].firstChild;f;)a=f.nodeName.toUpperCase(),(a=="TD"||a=="TH")&&k.push(f),f=f.nextSibling;for(i=0,g=n.aoColumns.length;i<g;i++){t=n.aoColumns[i];t.sTitle===null&&(t.sTitle=t.nTh.innerHTML);var ut=t._bAutoType,ft=typeof t.fnRender=="function",et=t.sClass!==null,ot=t.bVisible,s,nt,tt,it;if(ut||ft||et||!ot)for(e=0,rt=n.aoData.length;e<rt;e++)l=n.aoData[e],s=k[e*g+i],ut&&t.sType!="string"&&(it=h(n,e,i,"type"),it!==""&&(nt=ii(it),t.sType===null?t.sType=nt:t.sType!=nt&&t.sType!="html"&&(t.sType="string"))),t.mRender?s.innerHTML=h(n,e,i,"display"):t.mData!==i&&(s.innerHTML=h(n,e,i,"display")),ft&&(tt=st(n,e,i),s.innerHTML=tt,t.bUseRendered&&b(n,e,i,tt)),et&&(s.className+=" "+t.sClass),ot?l._anHidden[i]=null:(l._anHidden[i]=s,s.parentNode.removeChild(s)),t.fnCreatedCell&&t.fnCreatedCell.call(n.oInstance,s,h(n,e,i,"display"),l._aData,e,i)}if(n.aoRowCreatedCallback.length!==0)for(o=0,y=n.aoData.length;o<y;o++)l=n.aoData[o],v(n,"aoRowCreatedCallback",null,[l.nTr,l._aData,o])}function g(n,t){return t._DT_RowIndex!==i?t._DT_RowIndex:null}function ui(n,t,i){for(var u=tt(n,t),r=0,f=n.aoColumns.length;r<f;r++)if(u[r]===i)return r;return-1}function yt(n,t,i,r){for(var f=[],u=0,e=r.length;u<e;u++)f.push(h(n,t,r[u],i));return f}function h(n,t,r,u){var f,e=n.aoColumns[r],o=n.aoData[t]._aData;if((f=e.fnGetData(o,u))===i)return n.iDrawError!=n.iDraw&&e.sDefaultContent===null&&(w(n,0,"Requested unknown parameter "+(typeof e.mData=="function"?"{mData function}":"'"+e.mData+"'")+" from the data source for row "+t),n.iDrawError=n.iDraw),e.sDefaultContent;if(f===null&&e.sDefaultContent!==null)f=e.sDefaultContent;else if(typeof f=="function")return f();return u=="display"&&f===null?"":f}function b(n,t,i,r){var u=n.aoColumns[i],f=n.aoData[t]._aData;u.fnSetData(f,r)}function ot(n){if(n===null)return function(){return null};if(typeof n=="function")return function(t,i,r){return n(t,i,r)};if(typeof n=="string"&&(n.indexOf(".")!==-1||n.indexOf("[")!==-1)){var t=function(n,r,u){var e=u.split("."),o,s,l,f,a,h,v,c;if(u!=="")for(f=0,a=e.length;f<a;f++){if(o=e[f].match(et),o){for(e[f]=e[f].replace(et,""),e[f]!==""&&(n=n[e[f]]),s=[],e.splice(0,f+1),l=e.join("."),h=0,v=n.length;h<v;h++)s.push(t(n[h],r,l));c=o[0].substring(1,o[0].length-1);n=c===""?s:s.join(c);break}if(n===null||n[e[f]]===i)return i;n=n[e[f]]}return n};return function(i,r){return t(i,r,n)}}return function(t){return t[n]}}function ir(n){if(n===null)return function(){};if(typeof n=="function")return function(t,i){n(t,"set",i)};if(typeof n=="string"&&(n.indexOf(".")!==-1||n.indexOf("[")!==-1)){var t=function(n,r,u){for(var o,a,f=u.split("."),s,c,h,l,e=0,v=f.length-1;e<v;e++){if(c=f[e].match(et),c){for(f[e]=f[e].replace(et,""),n[f[e]]=[],s=f.slice(),s.splice(0,e+1),l=s.join("."),o=0,a=r.length;o<a;o++)h={},t(h,r[o],l),n[f[e]].push(h);return}(n[f[e]]===null||n[f[e]]===i)&&(n[f[e]]={});n=n[f[e]]}n[f[f.length-1].replace(et,"")]=r};return function(i,r){return t(i,r,n)}}return function(t,i){t[n]=i}}function pt(n){for(var i=[],r=n.aoData.length,t=0;t<r;t++)i.push(n.aoData[t]._aData);return i}function fi(n){n.aoData.splice(0,n.aoData.length);n.aiDisplayMaster.splice(0,n.aiDisplayMaster.length);n.aiDisplay.splice(0,n.aiDisplay.length);l(n)}function ei(n,t){for(var r=-1,i=0,u=n.length;i<u;i++)n[i]==t?r=i:n[i]>t&&n[i]--;r!=-1&&n.splice(r,1)}function st(n,t,i){var r=n.aoColumns[i];return r.fnRender({iDataRow:t,iDataColumn:i,oSettings:n,aData:n.aoData[t]._aData,mDataProp:r.mData},h(n,t,i,"display"))}function oi(n,i){var r=n.aoData[i],e,u,o,f;if(r.nTr===null){for(r.nTr=t.createElement("tr"),r.nTr._DT_RowIndex=i,r._aData.DT_RowId&&(r.nTr.id=r._aData.DT_RowId),r._aData.DT_RowClass&&(r.nTr.className=r._aData.DT_RowClass),u=0,o=n.aoColumns.length;u<o;u++)f=n.aoColumns[u],e=t.createElement(f.sCellType),e.innerHTML=typeof f.fnRender=="function"&&(!f.bUseRendered||f.mData===null)?st(n,i,u):h(n,i,u,"display"),f.sClass!==null&&(e.className=f.sClass),f.bVisible?(r.nTr.appendChild(e),r._anHidden[u]=null):r._anHidden[u]=e,f.fnCreatedCell&&f.fnCreatedCell.call(n.oInstance,e,h(n,i,u,"display"),r._aData,i,u);v(n,"aoRowCreatedCallback",null,[r.nTr,r._aData,i])}}function rr(n){var i,u,f,c=r("th, td",n.nTHead).length,s,e,h,o;if(c!==0)for(i=0,f=n.aoColumns.length;i<f;i++)u=n.aoColumns[i].nTh,u.setAttribute("role","columnheader"),n.aoColumns[i].bSortable&&(u.setAttribute("tabindex",n.iTabIndex),u.setAttribute("aria-controls",n.sTableId)),n.aoColumns[i].sClass!==null&&r(u).addClass(n.aoColumns[i].sClass),n.aoColumns[i].sTitle!=u.innerHTML&&(u.innerHTML=n.aoColumns[i].sTitle);else{for(s=t.createElement("tr"),i=0,f=n.aoColumns.length;i<f;i++)u=n.aoColumns[i].nTh,u.innerHTML=n.aoColumns[i].sTitle,u.setAttribute("tabindex","0"),n.aoColumns[i].sClass!==null&&r(u).addClass(n.aoColumns[i].sClass),s.appendChild(u);r(n.nTHead).html("")[0].appendChild(s);ct(n.aoHeader,n.nTHead)}if(r(n.nTHead).children("tr").attr("role","row"),n.bJUI)for(i=0,f=n.aoColumns.length;i<f;i++)u=n.aoColumns[i].nTh,e=t.createElement("div"),e.className=n.oClasses.sSortJUIWrapper,r(u).contents().appendTo(e),h=t.createElement("span"),h.className=n.oClasses.sSortIcon,e.appendChild(h),u.appendChild(e);if(n.oFeatures.bSort)for(i=0;i<n.aoColumns.length;i++)n.aoColumns[i].bSortable!==!1?bi(n,n.aoColumns[i].nTh,i):r(n.aoColumns[i].nTh).addClass(n.oClasses.sSortableNone);if(n.oClasses.sFooterTH!==""&&r(n.nTFoot).children("tr").children("th").addClass(n.oClasses.sFooterTH),n.nTFoot!==null)for(o=it(n,null,n.aoFooter),i=0,f=n.aoColumns.length;i<f;i++)o[i]&&(n.aoColumns[i].nTf=o[i],n.aoColumns[i].sClass&&r(o[i]).addClass(n.aoColumns[i].sClass))}function ht(n,t,r){var u,l,f,v,a,y,h,e=[],c=[],p=n.aoColumns.length,o,s;for(r===i&&(r=!1),u=0,l=t.length;u<l;u++){for(e[u]=t[u].slice(),e[u].nTr=t[u].nTr,f=p-1;f>=0;f--)n.aoColumns[f].bVisible||r||e[u].splice(f,1);c.push([])}for(u=0,l=e.length;u<l;u++){if(h=e[u].nTr,h)while(y=h.firstChild)h.removeChild(y);for(f=0,v=e[u].length;f<v;f++)if(o=1,s=1,c[u][f]===i){for(h.appendChild(e[u][f].cell),c[u][f]=1;e[u+o]!==i&&e[u][f].cell==e[u+o][f].cell;)c[u+o][f]=1,o++;while(e[u][f+s]!==i&&e[u][f].cell==e[u][f+s].cell){for(a=0;a<o;a++)c[u+a][f+s]=1;s++}e[u][f].cell.rowSpan=o;e[u][f].cell.colSpan=s}}}function c(n){var ot=v(n,"aoPreDrawCallback","preDraw",[n]),k,d,f,e,s,w,h,c,b,o,g,et,nt;if(r.inArray(!1,ot)!==-1){p(n,!1);return}var a,tt,it,u=[],y=0,rt=n.asStripeClasses.length,ut=n.aoOpenRows.length;if(n.bDrawing=!0,n.iInitDisplayStart!==i&&n.iInitDisplayStart!=-1&&(n._iDisplayStart=n.oFeatures.bServerSide?n.iInitDisplayStart:n.iInitDisplayStart>=n.fnRecordsDisplay()?0:n.iInitDisplayStart,n.iInitDisplayStart=-1,l(n)),n.bDeferLoading)n.bDeferLoading=!1,n.iDraw++;else if(n.oFeatures.bServerSide){if(!n.bDestroying&&!fr(n))return}else n.iDraw++;if(n.aiDisplay.length!==0){for(k=n._iDisplayStart,d=n._iDisplayEnd,n.oFeatures.bServerSide&&(k=0,d=n.aoData.length),f=k;f<d;f++)if(e=n.aoData[n.aiDisplay[f]],e.nTr===null&&oi(n,n.aiDisplay[f]),s=e.nTr,rt!==0&&(w=n.asStripeClasses[y%rt],e._sRowStripe!=w&&(r(s).removeClass(e._sRowStripe).addClass(w),e._sRowStripe=w)),v(n,"aoRowCallback",null,[s,n.aoData[n.aiDisplay[f]]._aData,y,f]),u.push(s),y++,ut!==0)for(h=0;h<ut;h++)if(s==n.aoOpenRows[h].nParent){u.push(n.aoOpenRows[h].nTr);break}}else u[0]=t.createElement("tr"),n.asStripeClasses[0]&&(u[0].className=n.asStripeClasses[0]),c=n.oLanguage,b=c.sZeroRecords,n.iDraw!=1||n.sAjaxSource===null||n.oFeatures.bServerSide?c.sEmptyTable&&n.fnRecordsTotal()===0&&(b=c.sEmptyTable):b=c.sLoadingRecords,o=t.createElement("td"),o.setAttribute("valign","top"),o.colSpan=ft(n),o.className=n.oClasses.sRowEmpty,o.innerHTML=vi(n,b),u[y].appendChild(o);if(v(n,"aoHeaderCallback","header",[r(n.nTHead).children("tr")[0],pt(n),n._iDisplayStart,n.fnDisplayEnd(),n.aiDisplay]),v(n,"aoFooterCallback","footer",[r(n.nTFoot).children("tr")[0],pt(n),n._iDisplayStart,n.fnDisplayEnd(),n.aiDisplay]),g=t.createDocumentFragment(),et=t.createDocumentFragment(),n.nTBody){if(nt=n.nTBody.parentNode,et.appendChild(n.nTBody),!n.oScroll.bInfinite||!n._bInitComplete||n.bSorted||n.bFiltered)while(it=n.nTBody.firstChild)n.nTBody.removeChild(it);for(a=0,tt=u.length;a<tt;a++)g.appendChild(u[a]);n.nTBody.appendChild(g);nt!==null&&nt.appendChild(n.nTBody)}v(n,"aoDrawCallback","draw",[n]);n.bSorted=!1;n.bFiltered=!1;n.bDrawing=!1;n.oFeatures.bServerSide&&(p(n,!1),n._bInitComplete||kt(n))}function wt(n){n.oFeatures.bSort?rt(n,n.oPreviousSearch):n.oFeatures.bFilter?nt(n,n.oPreviousSearch):(l(n),c(n))}function ur(n){var w=r("<div><\/div>")[0],h,c,f,e,t,s,v,i,l,o,y,p,a,b;for(n.nTable.parentNode.insertBefore(w,n.nTable),n.nTableWrapper=r('<div id="'+n.sTableId+'_wrapper" class="'+n.oClasses.sWrapper+'" role="grid"><\/div>')[0],n.nTableReinsertBefore=n.nTable.nextSibling,h=n.nTableWrapper,c=n.sDom.split(""),o=0;o<c.length;o++){if(e=0,t=c[o],t=="<"){if(s=r("<div><\/div>")[0],v=c[o+1],v=="'"||v=='"'){for(i="",l=2;c[o+l]!=v;)i+=c[o+l],l++;i=="H"?i=n.oClasses.sJUIHeader:i=="F"&&(i=n.oClasses.sJUIFooter);i.indexOf(".")!=-1?(y=i.split("."),s.id=y[0].substr(1,y[0].length-1),s.className=y[1]):i.charAt(0)=="#"?s.id=i.substr(1,i.length-1):s.className=i;o+=l}h.appendChild(s);h=s}else if(t==">")h=h.parentNode;else if(t=="l"&&n.oFeatures.bPaginate&&n.oFeatures.bLengthChange)f=pr(n),e=1;else if(t=="f"&&n.oFeatures.bFilter)f=sr(n),e=1;else if(t=="r"&&n.oFeatures.bProcessing)f=br(n),e=1;else if(t=="t")f=kr(n),e=1;else if(t=="i"&&n.oFeatures.bInfo)f=vr(n),e=1;else if(t=="p"&&n.oFeatures.bPaginate)f=wr(n),e=1;else if(u.ext.aoFeatures.length!==0)for(p=u.ext.aoFeatures,a=0,b=p.length;a<b;a++)if(t==p[a].cFeature){f=p[a].fnInit(n);f&&(e=1);break}e==1&&f!==null&&(typeof n.aanFeatures[t]!="object"&&(n.aanFeatures[t]=[]),n.aanFeatures[t].push(f),h.appendChild(f))}w.parentNode.replaceChild(n.nTableWrapper,w)}function ct(n,t){var c=r(t).children("tr"),l,u,i,o,s,h,a,v,f,e,y,p=function(n,t,i){for(var r=n[t];r[i];)i++;return i};for(n.splice(0,n.length),i=0,h=c.length;i<h;i++)n.push([]);for(i=0,h=c.length;i<h;i++)for(l=c[i],v=0,u=l.firstChild;u;){if(u.nodeName.toUpperCase()=="TD"||u.nodeName.toUpperCase()=="TH")for(f=u.getAttribute("colspan")*1,e=u.getAttribute("rowspan")*1,f=!f||f===0||f===1?1:f,e=!e||e===0||e===1?1:e,a=p(n,i,v),y=f===1?!0:!1,s=0;s<f;s++)for(o=0;o<e;o++)n[i+o][a+s]={cell:u,unique:y},n[i+o].nTr=l;u=u.nextSibling}}function it(n,t,i){var f=[],u,e,r,o;for(i||(i=n.aoHeader,t&&(i=[],ct(i,t))),u=0,e=i.length;u<e;u++)for(r=0,o=i[u].length;r<o;r++)!i[u][r].unique||f[r]&&n.bSortCellsTop||(f[r]=i[u][r].cell);return f}function fr(n){if(n.bAjaxDataGet){n.iDraw++;p(n,!0);var i=n.aoColumns.length,t=er(n);return si(n,t),n.fnServerData.call(n.oInstance,n.sAjaxSource,t,function(t){or(n,t)},n),!1}return!0}function er(n){var u=n.aoColumns.length,i=[],o,f,s,t,e,r;for(i.push({name:"sEcho",value:n.iDraw}),i.push({name:"iColumns",value:u}),i.push({name:"sColumns",value:ri(n)}),i.push({name:"iDisplayStart",value:n._iDisplayStart}),i.push({name:"iDisplayLength",value:n.oFeatures.bPaginate!==!1?n._iDisplayLength:-1}),t=0;t<u;t++)o=n.aoColumns[t].mData,i.push({name:"mDataProp_"+t,value:typeof o=="function"?"function":o});if(n.oFeatures.bFilter!==!1)for(i.push({name:"sSearch",value:n.oPreviousSearch.sSearch}),i.push({name:"bRegex",value:n.oPreviousSearch.bRegex}),t=0;t<u;t++)i.push({name:"sSearch_"+t,value:n.aoPreSearchCols[t].sSearch}),i.push({name:"bRegex_"+t,value:n.aoPreSearchCols[t].bRegex}),i.push({name:"bSearchable_"+t,value:n.aoColumns[t].bSearchable});if(n.oFeatures.bSort!==!1){for(r=0,f=n.aaSortingFixed!==null?n.aaSortingFixed.concat(n.aaSorting):n.aaSorting.slice(),t=0;t<f.length;t++)for(s=n.aoColumns[f[t][0]].aDataSort,e=0;e<s.length;e++)i.push({name:"iSortCol_"+r,value:s[e]}),i.push({name:"sSortDir_"+r,value:f[t][1]}),r++;for(i.push({name:"iSortingCols",value:r}),t=0;t<u;t++)i.push({name:"bSortable_"+t,value:n.aoColumns[t].bSortable})}return i}function si(n,t){v(n,"aoServerParams","serverParams",[t])}function or(n,t){var e,o,h,u,r,l,s,f,a;if(t.sEcho!==i){if(t.sEcho*1<n.iDraw)return;n.iDraw=t.sEcho*1}for((!n.oScroll.bInfinite||n.oScroll.bInfinite&&(n.bSorted||n.bFiltered))&&fi(n),n._iRecordsTotal=parseInt(t.iTotalRecords,10),n._iRecordsDisplay=parseInt(t.iTotalDisplayRecords,10),e=ri(n),o=t.sColumns!==i&&e!==""&&t.sColumns!=e,o&&(h=gi(n,t.sColumns)),u=ot(n.sAjaxDataProp)(t),r=0,l=u.length;r<l;r++)if(o){for(s=[],f=0,a=n.aoColumns.length;f<a;f++)s.push(u[r][h[f]]);d(n,s)}else d(n,u[r]);n.aiDisplay=n.aiDisplayMaster.slice();n.bAjaxDataGet=!1;c(n);n.bAjaxDataGet=!0;p(n,!1)}function sr(n){var f=n.oPreviousSearch,u=n.oLanguage.sSearch,i,e;return u=u.indexOf("_INPUT_")!==-1?u.replace("_INPUT_",'<input class="form-control"  placeholder="Filter" type="text">'):u===""?'<input type="text" />':u+' <input type="text" />',i=t.createElement("div"),i.className=n.oClasses.sFilter,i.innerHTML='<div class="input-group"><span class="input-group-addon"><i class="fa fa-search"><\/i><\/span>'+u+"<\/div>",n.aanFeatures.f||(i.id=n.sTableId+"_filter"),e=r('input[type="text"]',i),i._DT_Input=e[0],e.val(f.sSearch.replace('"',"&quot;")),e.bind("keyup.DT",function(){for(var i=n.aanFeatures.f,u=this.value===""?"":this.value,t=0,e=i.length;t<e;t++)i[t]!=r(this).parents("div.dataTables_filter")[0]&&r(i[t]._DT_Input).val(u);u!=f.sSearch&&nt(n,{sSearch:u,bRegex:f.bRegex,bSmart:f.bSmart,bCaseInsensitive:f.bCaseInsensitive})}),e.attr("aria-controls",n.sTableId).bind("keypress.DT",function(n){if(n.keyCode==13)return!1}),i}function nt(n,t,i){var f=n.oPreviousSearch,e=n.aoPreSearchCols,o=function(n){f.sSearch=n.sSearch;f.bRegex=n.bRegex;f.bSmart=n.bSmart;f.bCaseInsensitive=n.bCaseInsensitive},u;if(n.oFeatures.bServerSide)o(t);else{for(lr(n,t.sSearch,i,t.bRegex,t.bSmart,t.bCaseInsensitive),o(t),u=0;u<n.aoPreSearchCols.length;u++)cr(n,e[u].sSearch,u,e[u].bRegex,e[u].bSmart,e[u].bCaseInsensitive);hr(n)}n.bFiltered=!0;r(n.oInstance).trigger("filter",n);n._iDisplayStart=0;l(n);c(n);hi(n,0)}function hr(n){for(var i,t,o,f,s,e=u.ext.afnFiltering,h=k(n,"bSearchable"),r=0,c=e.length;r<c;r++)for(i=0,t=0,o=n.aiDisplay.length;t<o;t++)f=n.aiDisplay[t-i],s=e[r](n,yt(n,f,"filter",h),f),s||(n.aiDisplay.splice(t-i,1),i++)}function cr(n,t,i,r,u,f){var o,s,e,c;if(t!=="")for(o=0,s=li(t,r,u,f),e=n.aiDisplay.length-1;e>=0;e--)c=ar(h(n,n.aiDisplay[e],i,"filter"),n.aoColumns[i].sType),s.test(c)||(n.aiDisplay.splice(e,1),o++)}function lr(n,t,i,r,f,e){var o,h=li(t,r,f,e),c=n.oPreviousSearch,s;if(i||(i=0),u.ext.afnFiltering.length!==0&&(i=1),t.length<=0)n.aiDisplay.splice(0,n.aiDisplay.length),n.aiDisplay=n.aiDisplayMaster.slice();else if(n.aiDisplay.length==n.aiDisplayMaster.length||c.sSearch.length>t.length||i==1||t.indexOf(c.sSearch)!==0)for(n.aiDisplay.splice(0,n.aiDisplay.length),hi(n,1),o=0;o<n.aiDisplayMaster.length;o++)h.test(n.asDataSearch[o])&&n.aiDisplay.push(n.aiDisplayMaster[o]);else for(s=0,o=0;o<n.asDataSearch.length;o++)h.test(n.asDataSearch[o])||(n.aiDisplay.splice(o-s,1),s++)}function hi(n,t){var u,r,i,f;if(!n.oFeatures.bServerSide)for(n.asDataSearch=[],u=k(n,"bSearchable"),r=t===1?n.aiDisplayMaster:n.aiDisplay,i=0,f=r.length;i<f;i++)n.asDataSearch[i]=ci(n,yt(n,r[i],"filter",u))}function ci(n,t){var i=t.join("  ");return i.indexOf("&")!==-1&&(i=r("<div>").html(i).text()),i.replace(/[\n\r]/g," ")}function li(n,t,i,r){var u,f;return i?(u=t?n.split(" "):ai(n).split(" "),f="^(?=.*?"+u.join(")(?=.*?")+").*$",new RegExp(f,r?"i":"")):(n=t?n:ai(n),new RegExp(n,r?"i":""))}function ar(n,t){return typeof u.ext.ofnSearch[t]=="function"?u.ext.ofnSearch[t](n):n===null?"":t=="html"?n.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):typeof n=="string"?n.replace(/[\r\n]/g," "):n}function ai(n){var t=new RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g");return n.replace(t,"\\$1")}function vr(n){var i=t.createElement("div");return i.className=n.oClasses.sInfo,n.aanFeatures.i||(n.aoDrawCallback.push({fn:yr,sName:"information"}),i.id=n.sTableId+"_info"),n.nTable.setAttribute("aria-describedby",n.sTableId+"_info"),i}function yr(n){var e,u,s;if(n.oFeatures.bInfo&&n.aanFeatures.i.length!==0){var i=n.oLanguage,h=n._iDisplayStart+1,c=n.fnDisplayEnd(),o=n.fnRecordsTotal(),f=n.fnRecordsDisplay(),t;for(t=f===0?i.sInfoEmpty:i.sInfo,f!=o&&(t+=" "+i.sInfoFiltered),t+=i.sInfoPostFix,t=vi(n,t),i.fnInfoCallback!==null&&(t=i.fnInfoCallback.call(n.oInstance,n,h,c,o,f,t)),e=n.aanFeatures.i,u=0,s=e.length;u<s;u++)r(e[u]).html(t)}}function vi(n,t){var r=n._iDisplayStart+1,i=n.fnFormatNumber(r),u=n.fnDisplayEnd(),f=n.fnFormatNumber(u),e=n.fnRecordsDisplay(),o=n.fnFormatNumber(e),s=n.fnRecordsTotal(),h=n.fnFormatNumber(s);return n.oScroll.bInfinite&&(i=n.fnFormatNumber(1)),t.replace(/_START_/g,i).replace(/_END_/g,f).replace(/_TOTAL_/g,o).replace(/_MAX_/g,h)}function bt(n){var t,r,u=n.iInitDisplayStart,i;if(n.bInitialised===!1){setTimeout(function(){bt(n)},200);return}for(ur(n),rr(n),ht(n,n.aoHeader),n.nTFoot&&ht(n,n.aoFooter),p(n,!0),n.oFeatures.bAutoWidth&&wi(n),t=0,r=n.aoColumns.length;t<r;t++)n.aoColumns[t].sWidth!==null&&(n.aoColumns[t].nTh.style.width=o(n.aoColumns[t].sWidth));if(n.oFeatures.bSort?rt(n):n.oFeatures.bFilter?nt(n,n.oPreviousSearch):(n.aiDisplay=n.aiDisplayMaster.slice(),l(n),c(n)),n.sAjaxSource!==null&&!n.oFeatures.bServerSide){i=[];si(n,i);n.fnServerData.call(n.oInstance,n.sAjaxSource,i,function(i){var r=n.sAjaxDataProp!==""?ot(n.sAjaxDataProp)(i):i;for(t=0;t<r.length;t++)d(n,r[t]);n.iInitDisplayStart=u;n.oFeatures.bSort?rt(n):(n.aiDisplay=n.aiDisplayMaster.slice(),l(n),c(n));p(n,!1);kt(n,i)},n);return}n.oFeatures.bServerSide||(p(n,!1),kt(n))}function kt(n,t){n._bInitComplete=!0;v(n,"aoInitComplete","init",[n,t])}function yi(n){var t=u.defaults.oLanguage;!n.sEmptyTable&&n.sZeroRecords&&t.sEmptyTable==="No data available in table"&&e(n,n,"sZeroRecords","sEmptyTable");!n.sLoadingRecords&&n.sZeroRecords&&t.sLoadingRecords==="Loading..."&&e(n,n,"sZeroRecords","sLoadingRecords")}function pr(n){var f;if(n.oScroll.bInfinite)return null;var s='name="'+n.sTableId+'_length"',o='<select size="1" '+s+">",i,e,u=n.aLengthMenu;if(u.length==2&&typeof u[0]=="object"&&typeof u[1]=="object")for(i=0,e=u[0].length;i<e;i++)o+='<option value="'+u[0][i]+'">'+u[1][i]+"<\/option>";else for(i=0,e=u.length;i<e;i++)o+='<option value="'+u[i]+'">'+u[i]+"<\/option>";return o+="<\/select>",f=t.createElement("div"),n.aanFeatures.l||(f.id=n.sTableId+"_length"),f.className=n.oClasses.sLength,f.innerHTML='<span class="smart-form"><label class="select" style="width:60px">'+n.oLanguage.sLengthMenu.replace("_MENU_",o)+"<i><\/i><\/label><\/span>",r('select option[value="'+n._iDisplayLength+'"]',f).attr("selected",!0),r("select",f).bind("change.DT",function(){var u=r(this).val(),t=n.aanFeatures.l;for(i=0,e=t.length;i<e;i++)t[i]!=this.parentNode&&r("select",t[i]).val(u);n._iDisplayLength=parseInt(u,10);l(n);n.fnDisplayEnd()==n.fnRecordsDisplay()&&(n._iDisplayStart=n.fnDisplayEnd()-n._iDisplayLength,n._iDisplayStart<0&&(n._iDisplayStart=0));n._iDisplayLength==-1&&(n._iDisplayStart=0);c(n)}),r("select",f).attr("aria-controls",n.sTableId),f}function l(n){n._iDisplayEnd=n.oFeatures.bPaginate===!1?n.aiDisplay.length:n._iDisplayStart+n._iDisplayLength>n.aiDisplay.length||n._iDisplayLength==-1?n.aiDisplay.length:n._iDisplayStart+n._iDisplayLength}function wr(n){if(n.oScroll.bInfinite)return null;var i=t.createElement("div");return i.className=n.oClasses.sPaging+n.sPaginationType,u.ext.oPagination[n.sPaginationType].fnInit(n,i,function(n){l(n);c(n)}),n.aanFeatures.p||n.aoDrawCallback.push({fn:function(n){u.ext.oPagination[n.sPaginationType].fnUpdate(n,function(n){l(n);c(n)})},sName:"pagination"}),i}function pi(n,t){var u=n._iDisplayStart,i;return typeof t=="number"?(n._iDisplayStart=t*n._iDisplayLength,n._iDisplayStart>n.fnRecordsDisplay()&&(n._iDisplayStart=0)):t=="first"?n._iDisplayStart=0:t=="previous"?(n._iDisplayStart=n._iDisplayLength>=0?n._iDisplayStart-n._iDisplayLength:0,n._iDisplayStart<0&&(n._iDisplayStart=0)):t=="next"?n._iDisplayLength>=0?n._iDisplayStart+n._iDisplayLength<n.fnRecordsDisplay()&&(n._iDisplayStart+=n._iDisplayLength):n._iDisplayStart=0:t=="last"?n._iDisplayLength>=0?(i=parseInt((n.fnRecordsDisplay()-1)/n._iDisplayLength,10)+1,n._iDisplayStart=(i-1)*n._iDisplayLength):n._iDisplayStart=0:w(n,0,"Unknown paging action: "+t),r(n.oInstance).trigger("page",n),u!=n._iDisplayStart}function br(n){var i=t.createElement("div");return n.aanFeatures.r||(i.id=n.sTableId+"_processing"),i.innerHTML=n.oLanguage.sProcessing,i.className=n.oClasses.sProcessing,n.nTable.parentNode.insertBefore(i,n.nTable),i}function p(n,t){var u,i,f;if(n.oFeatures.bProcessing)for(u=n.aanFeatures.r,i=0,f=u.length;i<f;i++)u[i].style.visibility=t?"visible":"hidden";r(n.oInstance).trigger("processing",[n,t])}function kr(n){var e;if(n.oScroll.sX===""&&n.oScroll.sY==="")return n.nTable;var a=t.createElement("div"),i=t.createElement("div"),p=t.createElement("div"),u=t.createElement("div"),f=t.createElement("div"),w=t.createElement("div"),v=n.nTable.cloneNode(!1),y=n.nTable.cloneNode(!1),b=n.nTable.getElementsByTagName("thead")[0],s=n.nTable.getElementsByTagName("tfoot").length===0?null:n.nTable.getElementsByTagName("tfoot")[0],h=n.oClasses;return i.appendChild(p),f.appendChild(w),u.appendChild(n.nTable),a.appendChild(i),a.appendChild(u),p.appendChild(v),v.appendChild(b),s!==null&&(a.appendChild(f),w.appendChild(y),y.appendChild(s)),a.className=h.sScrollWrapper,i.className=h.sScrollHead,p.className=h.sScrollHeadInner,u.className=h.sScrollBody,f.className=h.sScrollFoot,w.className=h.sScrollFootInner,n.oScroll.bAutoCss&&(i.style.overflow="hidden",i.style.position="relative",f.style.overflow="hidden",u.style.overflow="auto"),i.style.border="0",i.style.width="100%",f.style.border="0",p.style.width=n.oScroll.sXInner!==""?n.oScroll.sXInner:"100%",v.removeAttribute("id"),v.style.marginLeft="0",n.nTable.style.marginLeft="0",s!==null&&(y.removeAttribute("id"),y.style.marginLeft="0"),e=r(n.nTable).children("caption"),e.length>0&&(e=e[0],e._captionSide==="top"?v.appendChild(e):e._captionSide==="bottom"&&s&&y.appendChild(e)),n.oScroll.sX!==""&&(i.style.width=o(n.oScroll.sX),u.style.width=o(n.oScroll.sX),s!==null&&(f.style.width=o(n.oScroll.sX)),r(u).scroll(function(){i.scrollLeft=this.scrollLeft;s!==null&&(f.scrollLeft=this.scrollLeft)})),n.oScroll.sY!==""&&(u.style.height=o(n.oScroll.sY)),n.aoDrawCallback.push({fn:dr,sName:"scrolling"}),n.oScroll.bInfinite&&r(u).scroll(function(){n.bDrawing||r(this).scrollTop()===0||r(this).scrollTop()+r(this).height()>r(n.nTable).height()-n.oScroll.iLoadGap&&n.fnDisplayEnd()<n.fnRecordsDisplay()&&(pi(n,"next"),l(n),c(n))}),n.nScrollHead=i,n.nScrollFoot=f,a}function dr(n){var l=n.nScrollHead.getElementsByTagName("div")[0],st=l.getElementsByTagName("table")[0],t=n.nTable.parentNode,e,tt,rt,s,u,ut,f,ft,a,v,p=[],b=[],i,k=n.nTFoot!==null?n.nScrollFoot.getElementsByTagName("div")[0]:null,ht=n.nTFoot!==null?k.getElementsByTagName("table")[0]:null,d=n.oBrowser.bScrollOversize,et=function(n){f=n.style;f.paddingTop="0";f.paddingBottom="0";f.borderTopWidth="0";f.borderBottomWidth="0";f.height=0},g,h,ot,c,nt;for(r(n.nTable).children("thead, tfoot").remove(),a=r(n.nTHead).clone()[0],n.nTable.insertBefore(a,n.nTable.childNodes[0]),rt=n.nTHead.getElementsByTagName("tr"),s=a.getElementsByTagName("tr"),n.nTFoot!==null&&(v=r(n.nTFoot).clone()[0],n.nTable.insertBefore(v,n.nTable.childNodes[1]),ut=n.nTFoot.getElementsByTagName("tr"),u=v.getElementsByTagName("tr")),n.oScroll.sX===""&&(t.style.width="100%",l.parentNode.style.width="100%"),g=it(n,a),e=0,tt=g.length;e<tt;e++)ft=di(n,e),g[e].style.width=n.aoColumns[ft].sWidth;n.nTFoot!==null&&y(function(n){n.style.width=""},u);n.oScroll.bCollapse&&n.oScroll.sY!==""&&(t.style.height=t.offsetHeight+n.nTHead.offsetHeight+"px");i=r(n.nTable).outerWidth();n.oScroll.sX===""?(n.nTable.style.width="100%",d&&(r("tbody",t).height()>t.offsetHeight||r(t).css("overflow-y")=="scroll")&&(n.nTable.style.width=o(r(n.nTable).outerWidth()-n.oScroll.iBarWidth))):n.oScroll.sXInner!==""?n.nTable.style.width=o(n.oScroll.sXInner):i==r(t).width()&&r(t).height()<r(n.nTable).height()?(n.nTable.style.width=o(i-n.oScroll.iBarWidth),r(n.nTable).outerWidth()>i-n.oScroll.iBarWidth&&(n.nTable.style.width=o(i))):n.nTable.style.width=o(i);i=r(n.nTable).outerWidth();y(et,s);y(function(n){p.push(o(r(n).width()))},s);y(function(n,t){n.style.width=p[t]},rt);r(s).height(0);n.nTFoot!==null&&(y(et,u),y(function(n){b.push(o(r(n).width()))},u),y(function(n,t){n.style.width=b[t]},ut),r(u).height(0));y(function(n,t){n.innerHTML="";n.style.width=p[t]},s);n.nTFoot!==null&&y(function(n,t){n.innerHTML="";n.style.width=b[t]},u);r(n.nTable).outerWidth()<i?(h=t.scrollHeight>t.offsetHeight||r(t).css("overflow-y")=="scroll"?i+n.oScroll.iBarWidth:i,d&&(t.scrollHeight>t.offsetHeight||r(t).css("overflow-y")=="scroll")&&(n.nTable.style.width=o(h-n.oScroll.iBarWidth)),t.style.width=o(h),n.nScrollHead.style.width=o(h),n.nTFoot!==null&&(n.nScrollFoot.style.width=o(h)),n.oScroll.sX===""?w(n,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."):n.oScroll.sXInner!==""&&w(n,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")):(t.style.width=o("100%"),n.nScrollHead.style.width=o("100%"),n.nTFoot!==null&&(n.nScrollFoot.style.width=o("100%")));n.oScroll.sY===""&&d&&(t.style.height=o(n.nTable.offsetHeight+n.oScroll.iBarWidth));n.oScroll.sY!==""&&n.oScroll.bCollapse&&(t.style.height=o(n.oScroll.sY),ot=n.oScroll.sX!==""&&n.nTable.offsetWidth>t.offsetWidth?n.oScroll.iBarWidth:0,n.nTable.offsetHeight<t.offsetHeight&&(t.style.height=o(n.nTable.offsetHeight+ot)));c=r(n.nTable).outerWidth();st.style.width=o(c);l.style.width=o(c);nt=r(n.nTable).height()>t.clientHeight||r(t).css("overflow-y")=="scroll";l.style.paddingRight=nt?n.oScroll.iBarWidth+"px":"0px";n.nTFoot!==null&&(ht.style.width=o(c),k.style.width=o(c),k.style.paddingRight=nt?n.oScroll.iBarWidth+"px":"0px");r(t).scroll();(n.bSorted||n.bFiltered)&&(t.scrollTop=0)}function y(n,t,i){for(var e=0,u=0,o=t.length,r,f;u<o;){for(r=t[u].firstChild,f=i?i[u].firstChild:null;r;)r.nodeType===1&&(i?n(r,f,e):n(r,e),e++),r=r.nextSibling,f=i?f.nextSibling:null;u++}}function gr(n,i){if(!n||n===null||n==="")return 0;i||(i=t.body);var u,r=t.createElement("div");return r.style.width=o(n),i.appendChild(r),u=r.offsetWidth,i.removeChild(r),u}function wi(n){for(var et=n.nTable.offsetWidth,g=0,s,nt=0,l=n.aoColumns.length,f,v,tt=r("th",n.nTHead),p=n.nTable.getAttribute("width"),a=n.nTable.parentNode,b,k,h,c,e,w,d,i=0;i<l;i++)n.aoColumns[i].bVisible&&(nt++,n.aoColumns[i].sWidth!==null&&(s=gr(n.aoColumns[i].sWidthOrig,a),s!==null&&(n.aoColumns[i].sWidth=o(s)),g++));if(l==tt.length&&g===0&&nt==l&&n.oScroll.sX===""&&n.oScroll.sY==="")for(i=0;i<n.aoColumns.length;i++)s=r(tt[i]).width(),s!==null&&(n.aoColumns[i].sWidth=o(s));else{var u=n.nTable.cloneNode(!1),rt=n.nTHead.cloneNode(!0),ut=t.createElement("tbody"),ft=t.createElement("tr");for(u.removeAttribute("id"),u.appendChild(rt),n.nTFoot!==null&&(u.appendChild(n.nTFoot.cloneNode(!0)),y(function(n){n.style.width=""},u.getElementsByTagName("tr"))),u.appendChild(ut),ut.appendChild(ft),b=r("thead th",u),b.length===0&&(b=r("tbody tr:eq(0)>td",u)),k=it(n,rt),f=0,i=0;i<l;i++)h=n.aoColumns[i],h.bVisible&&h.sWidthOrig!==null&&h.sWidthOrig!==""?k[i-f].style.width=o(h.sWidthOrig):h.bVisible?k[i-f].style.width="":f++;for(i=0;i<l;i++)n.aoColumns[i].bVisible&&(c=tu(n,i),c!==null&&(c=c.cloneNode(!0),n.aoColumns[i].sContentPadding!==""&&(c.innerHTML+=n.aoColumns[i].sContentPadding),ft.appendChild(c)));if(a.appendChild(u),n.oScroll.sX!==""&&n.oScroll.sXInner!==""?u.style.width=o(n.oScroll.sXInner):n.oScroll.sX!==""?(u.style.width="",r(u).width()<a.offsetWidth&&(u.style.width=o(a.offsetWidth))):n.oScroll.sY!==""?u.style.width=o(a.offsetWidth):p&&(u.style.width=o(p)),u.style.visibility="hidden",nu(n,u),e=r("tbody tr:eq(0)",u).children(),e.length===0&&(e=it(n,r("thead",u)[0])),n.oScroll.sX!==""){for(w=0,f=0,i=0;i<n.aoColumns.length;i++)n.aoColumns[i].bVisible&&(w+=n.aoColumns[i].sWidthOrig===null?r(e[f]).outerWidth():parseInt(n.aoColumns[i].sWidth.replace("px",""),10)+(r(e[f]).outerWidth()-r(e[f]).width()),f++);u.style.width=o(w);n.nTable.style.width=o(w)}for(f=0,i=0;i<n.aoColumns.length;i++)n.aoColumns[i].bVisible&&(v=r(e[f]).width(),v!==null&&v>0&&(n.aoColumns[i].sWidth=o(v)),f++);d=r(u).css("width");n.nTable.style.width=d.indexOf("%")!==-1?d:o(r(u).outerWidth());u.parentNode.removeChild(u)}p&&(n.nTable.style.width=o(p))}function nu(n,t){if(n.oScroll.sX===""&&n.oScroll.sY!==""){var i=r(t).width();t.style.width=o(r(t).outerWidth()-n.oScroll.iBarWidth)}else n.oScroll.sX!==""&&(t.style.width=o(r(t).outerWidth()))}function tu(n,i){var r=iu(n,i),u;return r<0?null:n.aoData[r].nTr===null?(u=t.createElement("td"),u.innerHTML=h(n,r,i,""),u):tt(n,r)[i]}function iu(n,t){for(var i,u=-1,f=-1,r=0;r<n.aoData.length;r++)i=h(n,r,t,"display")+"",i=i.replace(/<.*?>/g,""),i.length>u&&(u=i.length,f=r);return f}function o(n){if(n===null)return"0px";if(typeof n=="number")return n<0?"0px":n+"px";var t=n.charCodeAt(n.length-1);return t<48||t>57?n:n+"px"}function ru(){var r=t.createElement("p"),n=r.style,i,f,u;return n.width="100%",n.height="200px",n.padding="0px",i=t.createElement("div"),n=i.style,n.position="absolute",n.top="0px",n.left="0px",n.visibility="hidden",n.width="200px",n.height="150px",n.padding="0px",n.overflow="hidden",i.appendChild(r),t.body.appendChild(i),f=r.offsetWidth,i.style.overflow="scroll",u=r.offsetWidth,f==u&&(u=i.clientWidth),t.body.removeChild(i),f-u}function rt(n,t){var f,y,s,ht,a,ct,p,v,e=[],rt=[],ft=u.ext.oSort,k=n.aoData,o=n.aoColumns,tt=n.oLanguage.oAria,d,lt,et,ot,st,g,it,at;if(!n.oFeatures.bServerSide&&(n.aaSorting.length!==0||n.aaSortingFixed!==null)){for(e=n.aaSortingFixed!==null?n.aaSortingFixed.concat(n.aaSorting):n.aaSorting.slice(),f=0;f<e.length;f++)if(d=e[f][0],lt=ti(n,d),p=n.aoColumns[d].sSortDataType,u.ext.afnSortData[p])if(et=u.ext.afnSortData[p].call(n.oInstance,n,d,lt),et.length===k.length)for(s=0,ht=k.length;s<ht;s++)b(n,s,d,et[s]);else w(n,0,"Returned data sort array (col "+d+") is the wrong length");for(f=0,y=n.aiDisplayMaster.length;f<y;f++)rt[n.aiDisplayMaster[f]]=f;for(ot=e.length,f=0,y=k.length;f<y;f++)for(s=0;s<ot;s++)for(g=o[e[s][0]].aDataSort,a=0,ct=g.length;a<ct;a++)p=o[g[a]].sType,st=ft[(p?p:"string")+"-pre"],k[f]._aSortData[g[a]]=st?st(h(n,f,g[a],"sort")):h(n,f,g[a],"sort");n.aiDisplayMaster.sort(function(n,t){for(var i,h,f,u,s,r=0;r<ot;r++)for(u=o[e[r][0]].aDataSort,i=0,h=u.length;i<h;i++)if(s=o[u[i]].sType,f=ft[(s?s:"string")+"-"+e[r][1]](k[n]._aSortData[u[i]],k[t]._aSortData[u[i]]),f!==0)return f;return ft["numeric-asc"](rt[n],rt[t])})}for((t===i||t)&&!n.oFeatures.bDeferRender&&ut(n),f=0,y=n.aoColumns.length;f<y;f++)it=o[f].sTitle.replace(/<.*?>/g,""),v=o[f].nTh,v.removeAttribute("aria-sort"),v.removeAttribute("aria-label"),o[f].bSortable?e.length>0&&e[0][0]==f?(v.setAttribute("aria-sort",e[0][1]=="asc"?"ascending":"descending"),at=o[f].asSorting[e[0][2]+1]?o[f].asSorting[e[0][2]+1]:o[f].asSorting[0],v.setAttribute("aria-label",it+(at=="asc"?tt.sSortAscending:tt.sSortDescending))):v.setAttribute("aria-label",it+(o[f].asSorting[0]=="asc"?tt.sSortAscending:tt.sSortDescending)):v.setAttribute("aria-label",it);n.bSorted=!0;r(n.oInstance).trigger("sort",n);n.oFeatures.bFilter?nt(n,n.oPreviousSearch,1):(n.aiDisplay=n.aiDisplayMaster.slice(),n._iDisplayStart=0,l(n),c(n))}function bi(n,t,i,r){eu(t,{},function(t){if(n.aoColumns[i].bSortable!==!1){var u=function(){var f,r,e,u;if(t.shiftKey){for(e=!1,u=0;u<n.aaSorting.length;u++)if(n.aaSorting[u][0]==i){e=!0;f=n.aaSorting[u][0];r=n.aaSorting[u][2]+1;n.aoColumns[f].asSorting[r]?(n.aaSorting[u][1]=n.aoColumns[f].asSorting[r],n.aaSorting[u][2]=r):n.aaSorting.splice(u,1);break}e===!1&&n.aaSorting.push([i,n.aoColumns[i].asSorting[0],0])}else n.aaSorting.length==1&&n.aaSorting[0][0]==i?(f=n.aaSorting[0][0],r=n.aaSorting[0][2]+1,n.aoColumns[f].asSorting[r]||(r=0),n.aaSorting[0][1]=n.aoColumns[f].asSorting[r],n.aaSorting[0][2]=r):(n.aaSorting.splice(0,n.aaSorting.length),n.aaSorting.push([i,n.aoColumns[i].asSorting[0],0]));rt(n)};n.oFeatures.bProcessing?(p(n,!0),setTimeout(function(){u();n.oFeatures.bServerSide||p(n,!1)},0)):u();typeof r=="function"&&r(n)}})}function ut(n){for(var b,f,c,u,e,y=n.aoColumns.length,i=n.oClasses,p,k,o,l,a,v,d,w,s,h,t=0;t<y;t++)n.aoColumns[t].bSortable&&r(n.aoColumns[t].nTh).removeClass(i.sSortAsc+" "+i.sSortDesc+" "+n.aoColumns[t].sSortingClass);for(u=n.aaSortingFixed!==null?n.aaSortingFixed.concat(n.aaSorting):n.aaSorting.slice(),t=0;t<n.aoColumns.length;t++)if(n.aoColumns[t].bSortable){for(e=n.aoColumns[t].sSortingClass,c=-1,f=0;f<u.length;f++)if(u[f][0]==t){e=u[f][1]=="asc"?i.sSortAsc:i.sSortDesc;c=f;break}r(n.aoColumns[t].nTh).addClass(e);n.bJUI&&(p=r("span."+i.sSortIcon,n.aoColumns[t].nTh),p.removeClass(i.sSortJUIAsc+" "+i.sSortJUIDesc+" "+i.sSortJUI+" "+i.sSortJUIAscAllowed+" "+i.sSortJUIDescAllowed),k=c==-1?n.aoColumns[t].sSortingClassJUI:u[c][1]=="asc"?i.sSortJUIAsc:i.sSortJUIDesc,p.addClass(k))}else r(n.aoColumns[t].nTh).addClass(n.aoColumns[t].sSortingClass);if(e=i.sSortColumn,n.oFeatures.bSort&&n.oFeatures.bSortClasses){for(o=tt(n),v=[],t=0;t<y;t++)v.push("");for(t=0,l=1;t<u.length;t++)a=parseInt(u[t][0],10),v[a]=e+l,l<3&&l++;for(d=new RegExp(e+"[123]"),t=0,b=o.length;t<b;t++)a=t%y,s=o[t].className,h=v[a],w=s.replace(d,h),w!=s?o[t].className=r.trim(w):h.length>0&&s.indexOf(h)==-1&&(o[t].className=s+" "+h)}}function ki(n){if(n.oFeatures.bStateSave&&!n.bDestroying){for(var f=n.oScroll.bInfinite,i={iCreate:(new Date).getTime(),iStart:f?0:n._iDisplayStart,iEnd:f?n._iDisplayLength:n._iDisplayEnd,iLength:n._iDisplayLength,aaSorting:r.extend(!0,[],n.aaSorting),oSearch:r.extend(!0,{},n.oPreviousSearch),aoSearchCols:r.extend(!0,[],n.aoPreSearchCols),abVisCols:[]},t=0,u=n.aoColumns.length;t<u;t++)i.abVisCols.push(n.aoColumns[t].bVisible);v(n,"aoStateSaveParams","stateSaveParams",[n,i]);n.fnStateSave.call(n.oInstance,n,i)}}function uu(n,t){var i,f,u;if(n.oFeatures.bStateSave&&(i=n.fnStateLoad.call(n.oInstance,n),i)&&(f=v(n,"aoStateLoadParams","stateLoadParams",[n,i]),r.inArray(!1,f)===-1)){for(n.oLoadedState=r.extend(!0,{},i),n._iDisplayStart=i.iStart,n.iInitDisplayStart=i.iStart,n._iDisplayEnd=i.iEnd,n._iDisplayLength=i.iLength,n.aaSorting=i.aaSorting.slice(),n.saved_aaSorting=i.aaSorting.slice(),r.extend(n.oPreviousSearch,i.oSearch),r.extend(!0,n.aoPreSearchCols,i.aoSearchCols),t.saved_aoColumns=[],u=0;u<i.abVisCols.length;u++)t.saved_aoColumns[u]={},t.saved_aoColumns[u].bVisible=i.abVisCols[u];v(n,"aoStateLoaded","stateLoaded",[n,i])}}function cu(sName,sValue,iSecs,sBaseName,fnCallback){var date=new Date,aParts,sNameFile,sFullCookie,oData,i,iLen,aSplitCookie,old;date.setTime(date.getTime()+iSecs*1e3);aParts=n.location.pathname.split("/");sNameFile=sName+"_"+aParts.pop().replace(/[\/:]/g,"").toLowerCase();fnCallback!==null?(oData=typeof r.parseJSON=="function"?r.parseJSON(sValue):eval("("+sValue+")"),sFullCookie=fnCallback(sNameFile,oData,date.toGMTString(),aParts.join("/")+"/")):sFullCookie=sNameFile+"="+encodeURIComponent(sValue)+"; expires="+date.toGMTString()+"; path="+aParts.join("/")+"/";var aCookies=t.cookie.split(";"),iNewCookieLen=sFullCookie.split(";")[0].length,aOldCookies=[];if(iNewCookieLen+t.cookie.length+10>4096){for(i=0,iLen=aCookies.length;i<iLen;i++)if(aCookies[i].indexOf(sBaseName)!=-1){aSplitCookie=aCookies[i].split("=");try{oData=eval("("+decodeURIComponent(aSplitCookie[1])+")");oData&&oData.iCreate&&aOldCookies.push({name:aSplitCookie[0],time:oData.iCreate})}catch(e){}}for(aOldCookies.sort(function(n,t){return t.time-n.time});iNewCookieLen+t.cookie.length+10>4096;){if(aOldCookies.length===0)return;old=aOldCookies.pop();t.cookie=old.name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+aParts.join("/")+"/"}}t.cookie=sFullCookie}function lu(i){for(var r,f=n.location.pathname.split("/"),e=i+"_"+f[f.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",o=t.cookie.split(";"),u=0;u<o.length;u++){for(r=o[u];r.charAt(0)==" ";)r=r.substring(1,r.length);if(r.indexOf(e)===0)return decodeURIComponent(r.substring(e.length,r.length))}return null}function s(n){for(var t=0;t<u.settings.length;t++)if(u.settings[t].nTable===n)return u.settings[t];return null}function lt(n){for(var r=[],i=n.aoData,t=0,u=i.length;t<u;t++)i[t].nTr!==null&&r.push(i[t].nTr);return r}function tt(n,t){var o=[],s,h,r,f,y=n.aoData.length,u,l,e,c,a=0,v=y;for(t!==i&&(a=t,v=t+1),f=a;f<v;f++)if(e=n.aoData[f],e.nTr!==null){for(h=[],r=e.nTr.firstChild;r;)c=r.nodeName.toLowerCase(),(c=="td"||c=="th")&&h.push(r),r=r.nextSibling;for(s=0,u=0,l=n.aoColumns.length;u<l;u++)n.aoColumns[u].bVisible?o.push(h[u-s]):(o.push(e._anHidden[u]),s++)}return o}function w(t,i,r){var f=t===null?"DataTables warning: "+r:"DataTables warning (table id = '"+t.sTableId+"'): "+r;if(i===0){if(u.ext.sErrMode=="alert")alert(f);else throw new Error(f);return}n.console&&console.log&&console.log(f)}function e(n,t,r,u){u===i&&(u=r);t[r]!==i&&(n[u]=t[r])}function fu(n,t){var i;for(var u in t)t.hasOwnProperty(u)&&(i=t[u],typeof f[u]=="object"&&i!==null&&r.isArray(i)===!1?r.extend(!0,n[u],i):n[u]=i);return n}function eu(n,t,i){r(n).bind("click.DT",t,function(t){n.blur();i(t)}).bind("keypress.DT",t,function(n){n.which===13&&i(n)}).bind("selectstart.DT",function(){return!1})}function a(n,t,i,r){i&&n[t].push({fn:i,sName:r})}function v(n,t,i,u){for(var e=n[t],o=[],f=e.length-1;f>=0;f--)o.push(e[f].fn.apply(n.oInstance,u));return i!==null&&r(n.oInstance).trigger(i,u),o}function su(n){var i=r('<div style="position:absolute; top:0; left:0; height:1px; width:1px; overflow:hidden"><div style="position:absolute; top:1px; left:1px; width:100px; overflow:scroll;"><div id="DT_BrowserTest" style="width:100%; height:10px;"><\/div><\/div><\/div>')[0];t.body.appendChild(i);n.oBrowser.bScrollOversize=r("#DT_BrowserTest",i)[0].offsetWidth===100?!0:!1;t.body.removeChild(i)}function hu(n){return function(){var t=[s(this[u.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return u.ext.oApi[n].apply(this,t)}}var et=/\[.*?\]$/,ou=n.JSON?JSON.stringify:function(n){var i=typeof n,f,t,e,u;if(i!=="object"||n===null)return i==="string"&&(n='"'+n+'"'),n+"";e=[];u=r.isArray(n);for(f in n)t=n[f],i=typeof t,i==="string"?t='"'+t+'"':i==="object"&&t!==null&&(t=ou(t)),e.push((u?"":'"'+f+'":')+t);return(u?"[":"{")+e+(u?"]":"}")},dt,at;this.$=function(n,t){var i,e,h=[],f,c=s(this[u.ext.iApiIndex]),o=c.aoData,l=c.aiDisplay,a=c.aiDisplayMaster;if(t||(t={}),t=r.extend({},{filter:"none",order:"current",page:"all"},t),t.page=="current")for(i=c._iDisplayStart,e=c.fnDisplayEnd();i<e;i++)f=o[l[i]].nTr,f&&h.push(f);else if(t.order=="current"&&t.filter=="none")for(i=0,e=a.length;i<e;i++)f=o[a[i]].nTr,f&&h.push(f);else if(t.order=="current"&&t.filter=="applied")for(i=0,e=l.length;i<e;i++)f=o[l[i]].nTr,f&&h.push(f);else if(t.order=="original"&&t.filter=="none")for(i=0,e=o.length;i<e;i++)f=o[i].nTr,f&&h.push(f);else if(t.order=="original"&&t.filter=="applied")for(i=0,e=o.length;i<e;i++)f=o[i].nTr,r.inArray(i,l)!==-1&&f&&h.push(f);else w(c,1,"Unknown selection options");var v=r(h),y=v.filter(n),p=v.find(n);return r([].concat(r.makeArray(y),r.makeArray(p)))};this._=function(n,t){for(var r=[],f=this.$(n,t),i=0,u=f.length;i<u;i++)r.push(this.fnGetData(f[i]));return r};this.fnAddData=function(n,t){var r,f,e,o;if(n.length===0)return[];if(r=[],e=s(this[u.ext.iApiIndex]),typeof n[0]=="object"&&n[0]!==null)for(o=0;o<n.length;o++){if(f=d(e,n[o]),f==-1)return r;r.push(f)}else{if(f=d(e,n),f==-1)return r;r.push(f)}return e.aiDisplay=e.aiDisplayMaster.slice(),(t===i||t)&&wt(e),r};this.fnAdjustColumnSizing=function(n){var t=s(this[u.ext.iApiIndex]);vt(t);n===i||n?this.fnDraw(!1):(t.oScroll.sX!==""||t.oScroll.sY!=="")&&this.oApi._fnScrollDraw(t)};this.fnClearTable=function(n){var t=s(this[u.ext.iApiIndex]);fi(t);(n===i||n)&&c(t)};this.fnClose=function(n){for(var r,i=s(this[u.ext.iApiIndex]),t=0;t<i.aoOpenRows.length;t++)if(i.aoOpenRows[t].nParent==n)return r=i.aoOpenRows[t].nTr.parentNode,r&&r.removeChild(i.aoOpenRows[t].nTr),i.aoOpenRows.splice(t,1),0;return 1};this.fnDeleteRow=function(n,t,f){var e=s(this[u.ext.iApiIndex]),o,v,h,a,y;for(h=typeof n=="object"?g(e,n):n,a=e.aoData.splice(h,1),o=0,v=e.aoData.length;o<v;o++)e.aoData[o].nTr!==null&&(e.aoData[o].nTr._DT_RowIndex=o);return y=r.inArray(h,e.aiDisplay),e.asDataSearch.splice(y,1),ei(e.aiDisplayMaster,h),ei(e.aiDisplay,h),typeof t=="function"&&t.call(this,e,a),e._iDisplayStart>=e.fnRecordsDisplay()&&(e._iDisplayStart-=e._iDisplayLength,e._iDisplayStart<0&&(e._iDisplayStart=0)),(f===i||f)&&(l(e),c(e)),a};this.fnDestroy=function(n){var t=s(this[u.ext.iApiIndex]),c=t.nTableWrapper.parentNode,l=t.nTBody,e,h,a;if(n=n===i?!1:n,t.bDestroying=!0,v(t,"aoDestroyCallback","destroy",[t]),!n)for(e=0,h=t.aoColumns.length;e<h;e++)t.aoColumns[e].bVisible===!1&&this.fnSetColumnVis(e,!0);for(r(t.nTableWrapper).find("*").andSelf().unbind(".DT"),r("tbody>tr>td."+t.oClasses.sRowEmpty,t.nTable).parent().remove(),t.nTable!=t.nTHead.parentNode&&(r(t.nTable).children("thead").remove(),t.nTable.appendChild(t.nTHead)),t.nTFoot&&t.nTable!=t.nTFoot.parentNode&&(r(t.nTable).children("tfoot").remove(),t.nTable.appendChild(t.nTFoot)),t.nTable.parentNode.removeChild(t.nTable),r(t.nTableWrapper).remove(),t.aaSorting=[],t.aaSortingFixed=[],ut(t),r(lt(t)).removeClass(t.asStripeClasses.join(" ")),r("th, td",t.nTHead).removeClass([t.oClasses.sSortable,t.oClasses.sSortableAsc,t.oClasses.sSortableDesc,t.oClasses.sSortableNone].join(" ")),t.bJUI&&(r("th span."+t.oClasses.sSortIcon+", td span."+t.oClasses.sSortIcon,t.nTHead).remove(),r("th, td",t.nTHead).each(function(){var n=r("div."+t.oClasses.sSortJUIWrapper,this),i=n.contents();r(this).append(i);n.remove()})),!n&&t.nTableReinsertBefore?c.insertBefore(t.nTable,t.nTableReinsertBefore):n||c.appendChild(t.nTable),e=0,h=t.aoData.length;e<h;e++)t.aoData[e].nTr!==null&&l.appendChild(t.aoData[e].nTr);if(t.oFeatures.bAutoWidth===!0&&(t.nTable.style.width=o(t.sDestroyWidth)),h=t.asDestroyStripes.length,h)for(a=r(l).children("tr"),e=0;e<h;e++)a.filter(":nth-child("+h+"n + "+e+")").addClass(t.asDestroyStripes[e]);for(e=0,h=u.settings.length;e<h;e++)u.settings[e]==t&&u.settings.splice(e,1);t=null;f=null};this.fnDraw=function(n){var t=s(this[u.ext.iApiIndex]);n===!1?(l(t),c(t)):wt(t)};this.fnFilter=function(n,f,e,o,h,c){var l=s(this[u.ext.iApiIndex]),v,a,y;if(l.oFeatures.bFilter)if((e===i||e===null)&&(e=!1),(o===i||o===null)&&(o=!0),(h===i||h===null)&&(h=!0),(c===i||c===null)&&(c=!0),f===i||f===null){if(nt(l,{sSearch:n+"",bRegex:e,bSmart:o,bCaseInsensitive:c},1),h&&l.aanFeatures.f)for(v=l.aanFeatures.f,a=0,y=v.length;a<y;a++)try{v[a]._DT_Input!=t.activeElement&&r(v[a]._DT_Input).val(n)}catch(p){r(v[a]._DT_Input).val(n)}}else r.extend(l.aoPreSearchCols[f],{sSearch:n+"",bRegex:e,bSmart:o,bCaseInsensitive:c}),nt(l,l.oPreviousSearch,1)};this.fnGetData=function(n,t){var r=s(this[u.ext.iApiIndex]),f,e;return n!==i?(f=n,typeof n=="object"&&(e=n.nodeName.toLowerCase(),e==="tr"?f=g(r,n):e==="td"&&(f=g(r,n.parentNode),t=ui(r,f,n))),t!==i)?h(r,f,t,""):r.aoData[f]!==i?r.aoData[f]._aData:null:pt(r)};this.fnGetNodes=function(n){var t=s(this[u.ext.iApiIndex]);return n!==i?t.aoData[n]!==i?t.aoData[n].nTr:null:lt(t)};this.fnGetPosition=function(n){var t=s(this[u.ext.iApiIndex]),i=n.nodeName.toUpperCase(),r,f;return i=="TR"?g(t,n):i=="TD"||i=="TH"?(r=g(t,n.parentNode),f=ui(t,r,n),[r,ti(t,f),f]):null};this.fnIsOpen=function(n){for(var t=s(this[u.ext.iApiIndex]),r=t.aoOpenRows,i=0;i<t.aoOpenRows.length;i++)if(t.aoOpenRows[i].nParent==n)return!0;return!1};this.fnOpen=function(n,i,f){var h=s(this[u.ext.iApiIndex]),l=lt(h),o,e,c;if(r.inArray(n,l)!==-1)return this.fnClose(n),o=t.createElement("tr"),e=t.createElement("td"),o.appendChild(e),e.className=f,e.colSpan=ft(h),typeof i=="string"?e.innerHTML=i:r(e).html(i),c=r("tr",h.nTBody),r.inArray(n,c)!=-1&&r(o).insertAfter(n),h.aoOpenRows.push({nTr:o,nParent:n}),o};this.fnPageChange=function(n,t){var r=s(this[u.ext.iApiIndex]);pi(r,n);l(r);(t===i||t)&&c(r)};this.fnSetColumnVis=function(n,t,r){var e=s(this[u.ext.iApiIndex]),f,h,l=e.aoColumns,o=e.aoData,a,v,p,y;if(l[n].bVisible!=t){if(t){for(y=0,f=0;f<n;f++)l[f].bVisible&&y++;if(v=y>=ft(e),!v)for(f=n;f<l.length;f++)if(l[f].bVisible){p=f;break}for(f=0,h=o.length;f<h;f++)o[f].nTr!==null&&(v?o[f].nTr.appendChild(o[f]._anHidden[n]):o[f].nTr.insertBefore(o[f]._anHidden[n],tt(e,f)[p]))}else for(f=0,h=o.length;f<h;f++)o[f].nTr!==null&&(a=tt(e,f)[n],o[f]._anHidden[n]=a,a.parentNode.removeChild(a));for(l[n].bVisible=t,ht(e,e.aoHeader),e.nTFoot&&ht(e,e.aoFooter),f=0,h=e.aoOpenRows.length;f<h;f++)e.aoOpenRows[f].nTr.colSpan=ft(e);(r===i||r)&&(vt(e),c(e));ki(e)}};this.fnSettings=function(){return s(this[u.ext.iApiIndex])};this.fnSort=function(n){var t=s(this[u.ext.iApiIndex]);t.aaSorting=n;rt(t)};this.fnSortListener=function(n,t,i){bi(s(this[u.ext.iApiIndex]),n,t,i)};this.fnUpdate=function(n,t,f,e,o){var c=s(this[u.ext.iApiIndex]),a,v,l=typeof t=="object"?g(c,t):t,y,p;if(r.isArray(n)&&f===i)for(c.aoData[l]._aData=n.slice(),a=0;a<c.aoColumns.length;a++)this.fnUpdate(h(c,l,a),l,a,!1,!1);else if(r.isPlainObject(n)&&f===i)for(c.aoData[l]._aData=r.extend(!0,{},n),a=0;a<c.aoColumns.length;a++)this.fnUpdate(h(c,l,a),l,a,!1,!1);else b(c,l,f,n),v=h(c,l,f,"display"),y=c.aoColumns[f],y.fnRender!==null&&(v=st(c,l,f),y.bUseRendered&&b(c,l,f,v)),c.aoData[l].nTr!==null&&(tt(c,l)[f].innerHTML=v);return p=r.inArray(l,c.aiDisplay),c.asDataSearch[p]=ci(c,yt(c,l,"filter",k(c,"bSearchable"))),(o===i||o)&&vt(c),(e===i||e)&&wt(c),0};this.fnVersionCheck=u.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:hu,_fnInitialise:bt,_fnInitComplete:kt,_fnLanguageCompat:yi,_fnAddColumn:gt,_fnColumnOptions:ni,_fnAddData:d,_fnCreateTr:oi,_fnGatherData:tr,_fnBuildHead:rr,_fnDrawHead:ht,_fnDraw:c,_fnReDraw:wt,_fnAjaxUpdate:fr,_fnAjaxParameters:er,_fnAjaxUpdateDraw:or,_fnServerParams:si,_fnAddOptionsHtml:ur,_fnFeatureHtmlTable:kr,_fnScrollDraw:dr,_fnAdjustColumnSizing:vt,_fnFeatureHtmlFilter:sr,_fnFilterComplete:nt,_fnFilterCustom:hr,_fnFilterColumn:cr,_fnFilter:lr,_fnBuildSearchArray:hi,_fnBuildSearchRow:ci,_fnFilterCreateSearch:li,_fnDataToSearch:ar,_fnSort:rt,_fnSortAttachListener:bi,_fnSortingClasses:ut,_fnFeatureHtmlPaginate:wr,_fnPageChange:pi,_fnFeatureHtmlInfo:vr,_fnUpdateInfo:yr,_fnFeatureHtmlLength:pr,_fnFeatureHtmlProcessing:br,_fnProcessingDisplay:p,_fnVisibleToColumnIndex:di,_fnColumnIndexToVisible:ti,_fnNodeToDataIndex:g,_fnVisbleColumns:ft,_fnCalculateEnd:l,_fnConvertToWidth:gr,_fnCalculateColumnWidths:wi,_fnScrollingWidthAdjust:nu,_fnGetWidestNode:tu,_fnGetMaxLenString:iu,_fnStringToCss:o,_fnDetectType:ii,_fnSettingsFromNode:s,_fnGetDataMaster:pt,_fnGetTrNodes:lt,_fnGetTdNodes:tt,_fnEscapeRegex:ai,_fnDeleteIndex:ei,_fnReOrderIndex:gi,_fnColumnOrdering:ri,_fnLog:w,_fnClearTable:fi,_fnSaveState:ki,_fnLoadState:uu,_fnCreateCookie:cu,_fnReadCookie:lu,_fnDetectHeader:ct,_fnGetUniqueThs:it,_fnScrollBarWidth:ru,_fnApplyToChildren:y,_fnMap:e,_fnGetRowData:yt,_fnGetCellData:h,_fnSetCellData:b,_fnGetObjectDataFn:ot,_fnSetObjectDataFn:ir,_fnApplyColumnDefs:nr,_fnBindAction:eu,_fnExtend:fu,_fnCallbackReg:a,_fnCallbackFire:v,_fnJsonString:ou,_fnRender:st,_fnNodeToColumnIndex:ui,_fnInfoMacros:vi,_fnBrowserDetect:su,_fnGetColumns:k};r.extend(u.ext.oApi,this.oApi);for(dt in u.ext.oApi)dt&&(this[dt]=hu(dt));return at=this,this.each(function(){var o=0,s,v,ft,c=this.getAttribute("id"),et=!1,ot=!1,n,g,nt,tt,y,h,rt,k,st,p,b,l;if(this.nodeName.toLowerCase()!="table"){w(null,0,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);return}for(o=0,s=u.settings.length;o<s;o++){if(u.settings[o].nTable==this){if(f===i||f.bRetrieve)return u.settings[o].oInstance;if(f.bDestroy){u.settings[o].oInstance.fnDestroy();break}else{w(u.settings[o],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(u.settings[o].sTableId==this.id){u.settings.splice(o,1);break}}if((c===null||c==="")&&(c="DataTables_Table_"+u.ext._oExternConfig.iNextUnique++,this.id=c),n=r.extend(!0,{},u.models.oSettings,{nTable:this,oApi:at.oApi,oInit:f,sDestroyWidth:r(this).width(),sInstance:c,sTableId:c}),u.settings.push(n),n.oInstance=at.length===1?at:r(this).dataTable(),f||(f={}),f.oLanguage&&yi(f.oLanguage),f=fu(r.extend(!0,{},u.defaults),f),e(n.oFeatures,f,"bPaginate"),e(n.oFeatures,f,"bLengthChange"),e(n.oFeatures,f,"bFilter"),e(n.oFeatures,f,"bSort"),e(n.oFeatures,f,"bInfo"),e(n.oFeatures,f,"bProcessing"),e(n.oFeatures,f,"bAutoWidth"),e(n.oFeatures,f,"bSortClasses"),e(n.oFeatures,f,"bServerSide"),e(n.oFeatures,f,"bDeferRender"),e(n.oScroll,f,"sScrollX","sX"),e(n.oScroll,f,"sScrollXInner","sXInner"),e(n.oScroll,f,"sScrollY","sY"),e(n.oScroll,f,"bScrollCollapse","bCollapse"),e(n.oScroll,f,"bScrollInfinite","bInfinite"),e(n.oScroll,f,"iScrollLoadGap","iLoadGap"),e(n.oScroll,f,"bScrollAutoCss","bAutoCss"),e(n,f,"asStripeClasses"),e(n,f,"asStripClasses","asStripeClasses"),e(n,f,"fnServerData"),e(n,f,"fnFormatNumber"),e(n,f,"sServerMethod"),e(n,f,"aaSorting"),e(n,f,"aaSortingFixed"),e(n,f,"aLengthMenu"),e(n,f,"sPaginationType"),e(n,f,"sAjaxSource"),e(n,f,"sAjaxDataProp"),e(n,f,"iCookieDuration"),e(n,f,"sCookiePrefix"),e(n,f,"sDom"),e(n,f,"bSortCellsTop"),e(n,f,"iTabIndex"),e(n,f,"oSearch","oPreviousSearch"),e(n,f,"aoSearchCols","aoPreSearchCols"),e(n,f,"iDisplayLength","_iDisplayLength"),e(n,f,"bJQueryUI","bJUI"),e(n,f,"fnCookieCallback"),e(n,f,"fnStateLoad"),e(n,f,"fnStateSave"),e(n.oLanguage,f,"fnInfoCallback"),a(n,"aoDrawCallback",f.fnDrawCallback,"user"),a(n,"aoServerParams",f.fnServerParams,"user"),a(n,"aoStateSaveParams",f.fnStateSaveParams,"user"),a(n,"aoStateLoadParams",f.fnStateLoadParams,"user"),a(n,"aoStateLoaded",f.fnStateLoaded,"user"),a(n,"aoRowCallback",f.fnRowCallback,"user"),a(n,"aoRowCreatedCallback",f.fnCreatedRow,"user"),a(n,"aoHeaderCallback",f.fnHeaderCallback,"user"),a(n,"aoFooterCallback",f.fnFooterCallback,"user"),a(n,"aoInitComplete",f.fnInitComplete,"user"),a(n,"aoPreDrawCallback",f.fnPreDrawCallback,"user"),n.oFeatures.bServerSide&&n.oFeatures.bSort&&n.oFeatures.bSortClasses?a(n,"aoDrawCallback",ut,"server_side_sort_classes"):n.oFeatures.bDeferRender&&a(n,"aoDrawCallback",ut,"defer_sort_classes"),f.bJQueryUI?(r.extend(n.oClasses,u.ext.oJUIClasses),f.sDom===u.defaults.sDom&&u.defaults.sDom==="lfrtip"&&(n.sDom='<"H"lfr>t<"F"ip>')):r.extend(n.oClasses,u.ext.oStdClasses),r(this).addClass(n.oClasses.sTable),(n.oScroll.sX!==""||n.oScroll.sY!=="")&&(n.oScroll.iBarWidth=ru()),n.iInitDisplayStart===i&&(n.iInitDisplayStart=f.iDisplayStart,n._iDisplayStart=f.iDisplayStart),f.bStateSave&&(n.oFeatures.bStateSave=!0,uu(n,f),a(n,"aoDrawCallback",ki,"state_save")),f.iDeferLoading!==null&&(n.bDeferLoading=!0,g=r.isArray(f.iDeferLoading),n._iRecordsDisplay=g?f.iDeferLoading[0]:f.iDeferLoading,n._iRecordsTotal=g?f.iDeferLoading[1]:f.iDeferLoading),f.aaData!==null&&(ot=!0),f.oLanguage.sUrl!==""?(n.oLanguage.sUrl=f.oLanguage.sUrl,r.getJSON(n.oLanguage.sUrl,null,function(t){yi(t);r.extend(!0,n.oLanguage,f.oLanguage,t);bt(n)}),et=!0):r.extend(!0,n.oLanguage,f.oLanguage),f.asStripeClasses===null&&(n.asStripeClasses=[n.oClasses.sStripeOdd,n.oClasses.sStripeEven]),s=n.asStripeClasses.length,n.asDestroyStripes=[],s){for(nt=!1,tt=r(this).children("tbody").children("tr:lt("+s+")"),o=0;o<s;o++)tt.hasClass(n.asStripeClasses[o])&&(nt=!0,n.asDestroyStripes.push(n.asStripeClasses[o]));nt&&tt.removeClass(n.asStripeClasses.join(" "))}if(y=[],rt=this.getElementsByTagName("thead"),rt.length!==0&&(ct(n.aoHeader,rt[0]),y=it(n)),f.aoColumns===null)for(h=[],o=0,s=y.length;o<s;o++)h.push(null);else h=f.aoColumns;for(o=0,s=h.length;o<s;o++)f.saved_aoColumns!==i&&f.saved_aoColumns.length==s&&(h[o]===null&&(h[o]={}),h[o].bVisible=f.saved_aoColumns[o].bVisible),gt(n,y?y[o]:null);for(nr(n,f.aoColumnDefs,h,function(t,i){ni(n,t,i)}),o=0,s=n.aaSorting.length;o<s;o++)for(n.aaSorting[o][0]>=n.aoColumns.length&&(n.aaSorting[o][0]=0),k=n.aoColumns[n.aaSorting[o][0]],n.aaSorting[o][2]===i&&(n.aaSorting[o][2]=0),f.aaSorting===i&&n.saved_aaSorting===i&&(n.aaSorting[o][1]=k.asSorting[0]),v=0,ft=k.asSorting.length;v<ft;v++)if(n.aaSorting[o][1]==k.asSorting[v]){n.aaSorting[o][2]=v;break}if(ut(n),su(n),st=r(this).children("caption").each(function(){this._captionSide=r(this).css("caption-side")}),p=r(this).children("thead"),p.length===0&&(p=[t.createElement("thead")],this.appendChild(p[0])),n.nTHead=p[0],b=r(this).children("tbody"),b.length===0&&(b=[t.createElement("tbody")],this.appendChild(b[0])),n.nTBody=b[0],n.nTBody.setAttribute("role","alert"),n.nTBody.setAttribute("aria-live","polite"),n.nTBody.setAttribute("aria-relevant","all"),l=r(this).children("tfoot"),l.length===0&&st.length>0&&(n.oScroll.sX!==""||n.oScroll.sY!=="")&&(l=[t.createElement("tfoot")],this.appendChild(l[0])),l.length>0&&(n.nTFoot=l[0],ct(n.aoFooter,n.nTFoot)),ot)for(o=0;o<f.aaData.length;o++)d(n,f.aaData[o]);else tr(n);n.aiDisplay=n.aiDisplayMaster.slice();n.bInitialised=!0;et===!1&&bt(n)}),at=null,this};u.fnVersionCheck=function(n){for(var i=function(n,t){while(n.length<t)n+="0";return n},o=u.ext.sVersion.split("."),r=n.split("."),f="",e="",t=0,s=r.length;t<s;t++)f+=i(o[t],3),e+=i(r[t],3);return parseInt(f,10)>=parseInt(e,10)};u.fnIsDataTable=function(n){for(var i=u.settings,t=0;t<i.length;t++)if(i[t].nTable===n||i[t].nScrollHead===n||i[t].nScrollFoot===n)return!0;return!1};u.fnTables=function(n){var t=[];return jQuery.each(u.settings,function(i,u){(!n||n===!0&&r(u.nTable).is(":visible"))&&t.push(u.nTable)}),t};u.version="1.9.4";u.settings=[];u.models={};u.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[],aTypes:[],fnVersionCheck:u.fnVersionCheck,iApiIndex:0,ofnSearch:{},oApi:{},oStdClasses:{},oJUIClasses:{},oPagination:{},oSort:{},sVersion:u.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};u.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};u.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};u.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null,fnRender:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};u.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(n){var t;if(n<1e3)return n;var r=n+"",f=r.split(""),i="",u=r.length;for(t=0;t<u;t++)t%3==0&&t!==0&&(i=this.oLanguage.sInfoThousands+i),i=f[u-t-1]+i;return i},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:function(n,t,i,u){u.jqXHR=r.ajax({url:n,data:t,success:function(n){n.sError&&u.oApi._fnLog(u,0,n.sError);r(u.oInstance).trigger("xhr",[u,n]);i(n)},dataType:"json",cache:!1,type:u.sServerMethod,error:function(n,t){t=="parsererror"&&u.oApi._fnLog(u,0,"DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(oSettings){var sData=this.oApi._fnReadCookie(oSettings.sCookiePrefix+oSettings.sInstance),oData;try{oData=typeof r.parseJSON=="function"?r.parseJSON(sData):eval("("+sData+")")}catch(e){oData=null}return oData},fnStateLoadParams:null,fnStateLoaded:null,fnStateSave:function(n,t){this.oApi._fnCreateCookie(n.sCookiePrefix+n.sInstance,this.oApi._fnJsonString(t),n.iCookieDuration,n.sCookiePrefix,n.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"<i class='fa fa-warning text-warning'><\/i> No matching records found"},oSearch:r.extend({},u.models.oSearch),sAjaxDataProp:"aaData",sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};u.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};u.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null,asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[],oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length},fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===!1||this._iDisplayLength==-1?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null};u.ext=r.extend(!0,{},u.models.ext);r.extend(u.ext.oStdClasses,{sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"",sJUIHeader:"",sJUIFooter:""});r.extend(u.ext.oJUIClasses,u.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default",sJUIHeader:"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix",sJUIFooter:"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"});r.extend(u.ext.oPagination,{two_button:{fnInit:function(n,t,i){var e=n.oLanguage.oPaginate,c=n.oClasses,o=function(t){n.oApi._fnPageChange(n,t.data.action)&&i(n)},h=n.bJUI?'<a class="'+n.oClasses.sPagePrevDisabled+'" tabindex="'+n.iTabIndex+'" role="button"><span class="'+n.oClasses.sPageJUIPrev+'"><\/span><\/a><a class="'+n.oClasses.sPageNextDisabled+'" tabindex="'+n.iTabIndex+'" role="button"><span class="'+n.oClasses.sPageJUINext+'"><\/span><\/a>':'<a class="'+n.oClasses.sPagePrevDisabled+'" tabindex="'+n.iTabIndex+'" role="button">'+e.sPrevious+'<\/a><a class="'+n.oClasses.sPageNextDisabled+'" tabindex="'+n.iTabIndex+'" role="button">'+e.sNext+"<\/a>";r(t).append(h);var s=r("a",t),u=s[0],f=s[1];n.oApi._fnBindAction(u,{action:"previous"},o);n.oApi._fnBindAction(f,{action:"next"},o);n.aanFeatures.p||(t.id=n.sTableId+"_paginate",u.id=n.sTableId+"_previous",f.id=n.sTableId+"_next",u.setAttribute("aria-controls",n.sTableId),f.setAttribute("aria-controls",n.sTableId))},fnUpdate:function(n){var i,u,t,r,f;if(n.aanFeatures.p)for(i=n.oClasses,u=n.aanFeatures.p,r=0,f=u.length;r<f;r++)t=u[r].firstChild,t&&(t.className=n._iDisplayStart===0?i.sPagePrevDisabled:i.sPagePrevEnabled,t=t.nextSibling,t.className=n.fnDisplayEnd()==n.fnRecordsDisplay()?i.sPageNextDisabled:i.sPageNextEnabled)}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(n,t,i){var f=n.oLanguage.oPaginate,u=n.oClasses,e=function(t){n.oApi._fnPageChange(n,t.data.action)&&i(n)};r(t).append('<a  tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPageFirst+'">'+f.sFirst+'<\/a><a  tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPagePrevious+'">'+f.sPrevious+'<\/a><span><\/span><a tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPageNext+'">'+f.sNext+'<\/a><a tabindex="'+n.iTabIndex+'" class="'+u.sPageButton+" "+u.sPageLast+'">'+f.sLast+"<\/a>");var o=r("a",t),s=o[0],h=o[1],c=o[2],l=o[3];n.oApi._fnBindAction(s,{action:"first"},e);n.oApi._fnBindAction(h,{action:"previous"},e);n.oApi._fnBindAction(c,{action:"next"},e);n.oApi._fnBindAction(l,{action:"last"},e);n.aanFeatures.p||(t.id=n.sTableId+"_paginate",s.id=n.sTableId+"_first",h.id=n.sTableId+"_previous",c.id=n.sTableId+"_next",l.id=n.sTableId+"_last")},fnUpdate:function(n,t){if(n.aanFeatures.p){var c=u.ext.oPagination.iFullNumbersShowPages,y=Math.floor(c/2),o=Math.ceil(n.fnRecordsDisplay()/n._iDisplayLength),s=Math.ceil(n._iDisplayStart/n._iDisplayLength)+1,p="",e,l,i,w,f=n.oClasses,h,a,v,b=n.aanFeatures.p,k=function(i){n.oApi._fnBindAction(this,{page:i+e-1},function(i){n.oApi._fnPageChange(n,i.data.page);t(n);i.preventDefault()})};for(n._iDisplayLength===-1?(e=1,l=1,s=1):o<c?(e=1,l=o):s<=y?(e=1,l=c):s>=o-y?(e=o-c+1,l=o):(e=s-Math.ceil(c/2)+1,l=e+c-1),i=e;i<=l;i++)p+=s!==i?'<a tabindex="'+n.iTabIndex+'" class="'+f.sPageButton+'">'+n.fnFormatNumber(i)+"<\/a>":'<a tabindex="'+n.iTabIndex+'" class="'+f.sPageButtonActive+'">'+n.fnFormatNumber(i)+"<\/a>";for(i=0,w=b.length;i<w;i++)(v=b[i],v.hasChildNodes())&&(r("span:eq(0)",v).html(p).children("a").each(k),h=v.getElementsByTagName("a"),a=[h[0],h[1],h[h.length-2],h[h.length-1]],r(a).removeClass(f.sPageButton+" "+f.sPageButtonActive+" "+f.sPageButtonStaticDisabled),r([a[0],a[1]]).addClass(s==1?f.sPageButtonStaticDisabled:f.sPageButton),r([a[2],a[3]]).addClass(o===0||s===o||n._iDisplayLength===-1?f.sPageButtonStaticDisabled:f.sPageButton))}}}});r.extend(u.ext.oSort,{"string-pre":function(n){return typeof n!="string"&&(n=n!==null&&n.toString?n.toString():""),n.toLowerCase()},"string-asc":function(n,t){return n<t?-1:n>t?1:0},"string-desc":function(n,t){return n<t?1:n>t?-1:0},"html-pre":function(n){return n.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(n,t){return n<t?-1:n>t?1:0},"html-desc":function(n,t){return n<t?1:n>t?-1:0},"date-pre":function(n){var t=Date.parse(n);return(isNaN(t)||t==="")&&(t=Date.parse("01/01/1970 00:00:00")),t},"date-asc":function(n,t){return n-t},"date-desc":function(n,t){return t-n},"numeric-pre":function(n){return n=="-"||n===""?0:n*1},"numeric-asc":function(n,t){return n-t},"numeric-desc":function(n,t){return t-n}});r.extend(u.ext.aTypes,[function(n){var i;if(typeof n=="number")return"numeric";if(typeof n!="string")return null;var t,r=!1;if(t=n.charAt(0),"0123456789-".indexOf(t)==-1)return null;for(i=1;i<n.length;i++){if(t=n.charAt(i),"0123456789.".indexOf(t)==-1)return null;if(t=="."){if(r)return null;r=!0}}return"numeric"},function(n){var t=Date.parse(n);return t!==null&&!isNaN(t)||typeof n=="string"&&n.length===0?"date":null},function(n){return typeof n=="string"&&n.indexOf("<")!=-1&&n.indexOf(">")!=-1?"html":null}]);r.fn.DataTable=u;r.fn.dataTable=u;r.fn.dataTableSettings=u.settings;r.fn.dataTableExt=u.ext})}(window,document);$.extend(!0,$.fn.dataTable.defaults,{sDom:"<'dt-top-row'lf>r<'dt-wrapper't><'dt-row dt-bottom-row'<'row'<'col-sm-6'i><'col-sm-6 text-right'p>",sPaginationType:"bootstrap",oLanguage:{sLengthMenu:"_MENU_",sSearch:"_INPUT_"}});$.extend($.fn.dataTableExt.oStdClasses,{sWrapper:"dataTables_wrapper form-inline"});$.fn.dataTableExt.oApi.fnPagingInfo=function(n){return{iStart:n._iDisplayStart,iEnd:n.fnDisplayEnd(),iLength:n._iDisplayLength,iTotal:n.fnRecordsTotal(),iFilteredTotal:n.fnRecordsDisplay(),iPage:n._iDisplayLength===-1?0:Math.ceil(n._iDisplayStart/n._iDisplayLength),iTotalPages:n._iDisplayLength===-1?0:Math.ceil(n.fnRecordsDisplay()/n._iDisplayLength)}};$.extend($.fn.dataTableExt.oPagination,{bootstrap:{fnInit:function(n,t,i){var u=n.oLanguage.oPaginate,f=function(t){t.preventDefault();n.oApi._fnPageChange(n,t.data.action)&&i(n)},r;$(t).append('<ul class="pagination"><li class="prev disabled"><a href="#">'+u.sPrevious+'<\/a><\/li><li class="next disabled"><a href="#">'+u.sNext+"<\/a><\/li><\/ul>");r=$("a",t);$(r[0]).bind("click.DT",{action:"previous"},f);$(r[1]).bind("click.DT",{action:"next"},f)},fnUpdate:function(n,t){var e=5,i=n.oInstance.fnPagingInfo(),u=n.aanFeatures.p,r,c,o,l,f,s,h=Math.floor(e/2);for(i.iTotalPages<e?(f=1,s=i.iTotalPages):i.iPage<=h?(f=1,s=e):i.iPage>=i.iTotalPages-h?(f=i.iTotalPages-e+1,s=i.iTotalPages):(f=i.iPage-h+1,s=f+e-1),r=0,c=u.length;r<c;r++){for($("li:gt(0)",u[r]).filter(":not(:last)").remove(),o=f;o<=s;o++)l=o==i.iPage+1?'class="active"':"",$("<li "+l+'><a href="#">'+o+"<\/a><\/li>").insertBefore($("li:last",u[r])[0]).bind("click",function(r){r.preventDefault();n._iDisplayStart=(parseInt($("a",this).text(),10)-1)*i.iLength;t(n)});i.iPage===0?$("li:first",u[r]).addClass("disabled"):$("li:first",u[r]).removeClass("disabled");i.iPage===i.iTotalPages-1||i.iTotalPages===0?$("li:last",u[r]).addClass("disabled"):$("li:last",u[r]).removeClass("disabled")}}}});$.extend($.fn.dataTableExt.oPagination,{bootstrap_full:{fnInit:function(n,t,i){var u=n.oLanguage.oPaginate,f=function(t){t.preventDefault();n.oApi._fnPageChange(n,t.data.action)&&i(n)},r;$(t).append('<ul class="pagination"><li class="first disabled"><a href="#">'+u.sFirst+'<\/a><\/li><li class="prev disabled"><a href="#">'+u.sPrevious+'<\/a><\/li><li class="next disabled"><a href="#">'+u.sNext+'<\/a><\/li><li class="last disabled"><a href="#">'+u.sLast+"<\/a><\/li><\/ul>");r=$("a",t);$(r[0]).bind("click.DT",{action:"first"},f);$(r[1]).bind("click.DT",{action:"previous"},f);$(r[2]).bind("click.DT",{action:"next"},f);$(r[3]).bind("click.DT",{action:"last"},f)},fnUpdate:function(n,t){var e=5,i=n.oInstance.fnPagingInfo(),u=n.aanFeatures.p,r,o,c,f,s,h=Math.floor(e/2);for(i.iTotalPages<e?(f=1,s=i.iTotalPages):i.iPage<=h?(f=1,s=e):i.iPage>=i.iTotalPages-h?(f=i.iTotalPages-e+1,s=i.iTotalPages):(f=i.iPage-h+1,s=f+e-1),r=0,iLen=u.length;r<iLen;r++){for($("li",u[r]).filter(":not(.first)").filter(":not(.last)").filter(":not(.prev)").filter(":not(.next)").remove(),o=f;o<=s;o++)c=o==i.iPage+1?'class="active"':"",$("<li "+c+'><a href="#">'+o+"<\/a><\/li>").insertBefore($("li.next",u[r])[0]).bind("click",function(r){r.preventDefault();n._iDisplayStart=(parseInt($("a",this).text(),10)-1)*i.iLength;t(n)});i.iPage===0?($("li.first",u[r]).addClass("disabled"),$("li.prev",u[r]).addClass("disabled")):($("li.prev",u[r]).removeClass("disabled"),$("li.first",u[r]).removeClass("disabled"));i.iPage===i.iTotalPages-1||i.iTotalPages===0?($("li.last",u[r]).addClass("disabled"),$("li.next",u[r]).addClass("disabled")):($("li.next",u[r]).removeClass("disabled"),$("li.last",u[r]).removeClass("disabled"))}}}});$.fn.DataTable.TableTools&&($.extend(!0,$.fn.DataTable.TableTools.classes,{container:"DTTT btn-group",buttons:{normal:"btn btn-default btn-sm",disabled:"disabled"},collection:{container:"DTTT_dropdown dropdown-menu",buttons:{normal:"",disabled:"disabled"}},print:{info:"DTTT_print_info modal"},select:{row:"active"}}),$.extend(!0,$.fn.DataTable.TableTools.DEFAULTS.oTags,{collection:{container:"ul",button:"li",liner:"a"}})),function(n,t,i){var r=function(n){"use strict";var r=function(t,i){this.CLASS&&this.CLASS=="ColVis"||alert("Warning: ColVis must be initialised with the keyword 'new'");typeof i=="undefined"&&(i={});var u=n.fn.dataTable.camelToHungarian;return u&&(u(r.defaults,r.defaults,!0),u(r.defaults,i)),this.s={dt:null,oInit:i,hidden:!0,abOriginal:[]},this.dom={wrapper:null,wrapperParent:null,button:null,collection:null,headerRow:null,divider:null,background:null,catcher:null,buttons:[],subMenus:[],groupButtons:[],restore:null},r.aInstances.push(this),this.s.dt=n.fn.dataTable.Api?new n.fn.dataTable.Api(t).settings()[0]:t,this._fnConstruct(i),this};return r.prototype={button:function(){return this.dom.wrapper},fnRebuild:function(){this.rebuild()},rebuild:function(){this.dom.collection.removeChild(this.dom.headerRow[0]);this.dom.collection.removeChild(this.dom.divider[0]);for(var t=this.dom.subMenus.length-1;t>=0;t--)this.dom.collection.removeChild(this.dom.subMenus[t][0]);this.dom.buttons.splice(0,this.dom.buttons.length);this.dom.subMenus.splice(0,this.dom.subMenus.length);this.dom.restore&&this.dom.restore.parentNode(this.dom.restore);this.dom.headerRow=this._fnHeaderRow();n(this.dom.collection).append(this.dom.headerRow);this.dom.divider=n('<li class="divider hidden-xs">');n(this.dom.collection).append(this.dom.divider);this._fnAddButtons();this._fnDrawCallback()},_fnConstruct:function(i){var r,u,e,f;for(this._fnApplyCustomisation(i),r=this,this.dom.wrapper=t.createElement("div"),this.dom.wrapper.className="ColVis dropdown",this.dom.button=n("<button />",{"class":this.s.dt.bJUI?"ColVis_Button ColVis_MasterButton ui-button ui-state-default dropdown-toggle":"ColVis_Button ColVis_MasterButton dropdown-toggle","data-toggle":"dropdown"}).append("<span>"+this.s.buttonText+"<\/span>").appendTo(this.dom.wrapper)[0],this.dom.collection=this._fnDomCollection(),this.dom.wrapper.append(this.dom.collection),f=n(this.dom.wrapper),this.dom.headerRow=this._fnHeaderRow(),n(this.dom.collection).append(this.dom.headerRow),this.dom.divider=n('<li class="divider  hidden-xs">'),n(this.dom.collection).append(this.dom.divider),this._fnAddButtons(),u=0,e=this.s.dt.aoColumns.length;u<e;u++)this.s.abOriginal.push(this.s.dt.aoColumns[u].bVisible);this.s.dt.aoDrawCallback.push({fn:function(){r._fnDrawCallback.call(r)},sName:"ColVis"});n(this.s.dt.oInstance).bind("column-reorder.dt",function(n,t,i){for(u=0,e=r.s.aiExclude.length;u<e;u++)r.s.aiExclude[u]=i.aiInvertMapping[r.s.aiExclude[u]];var f=r.s.abOriginal.splice(i.iFrom,1)[0];r.s.abOriginal.splice(i.iTo,0,f);r.fnRebuild()});n(this.s.dt.oInstance).bind("destroy.dt",function(){n(r.dom.wrapper).remove()});this._fnDrawCallback();f.on("click",".dropdown-clickmenu",function(t){var e,u,f;t.stopPropagation();e=n(this).hasClass("open");u=n(this).closest("ul.dropdown-menu");u.find(".dropdown-clickmenu").removeClass("open");n(this).parents(".dropdown-clickmenu").addClass("open");n(this).toggleClass("open",!e);var i=n(this).children("ul.dropdown-menu"),r=400,o=n("#main").height()+n("#main").offset().top;r+i.offset().top+30>o&&(r=o-(i.offset().top+30),r<150&&(r=150,f=i.offset().top+140-(u.height()+u.offset().top),f>0&&i.animate({top:"-="+f+"px"},300)));i.css("max-height",r+"px")});n(f).on("hide.bs.dropdown",function(){var t=n(f).find(".select2-container");return t.length===0||!t.hasClass("select2-dropdown-open")});n(f).on("shown.bs.dropdown",function(){var t=n(f).children("ul.dropdown-menu"),i=n("#main").height()+n("#main").offset().top,r;t.offset().top+t.height()+30>i&&(r=t.offset().top+t.height()+30-i,t.animate({top:"-="+r+"px"},300))})},_fnApplyCustomisation:function(t){var u,f,i,e;if(n.extend(!0,this.s,r.defaults,t),!this.s.showAll&&this.s.bShowAll&&(this.s.showAll=this.s.sShowAll),!this.s.restore&&this.s.bRestore&&(this.s.restore=this.s.sRestore),u=this.s.groups,f=this.s.aoGroups,u)for(i=0,e=u.length;i<e;i++)u[i].title&&(f[i].sTitle=u[i].title),u[i].columns&&(f[i].aiColumns=u[i].columns)},_fnDrawCallback:function(){for(var s,h,t,c,u=this.s.dt.aoColumns,o=this.dom.buttons,f=this.s.aoGroups,r,e=0,l=o.length;e<l;e++)r=o[e],r.__columnIdx!==i&&n("input",r).prop("checked",u[r.__columnIdx].bVisible);for(s=function(n){for(var t=0,i=n.length;t<i;t++)if(u[n[t]].bVisible===!1)return!1;return!0},h=function(n){for(var t=0,i=n.length;t<i;t++)if(u[n[t]].bVisible===!0)return!1;return!0},t=0,c=f.length;t<c;t++)s(f[t].aiColumns)?(n("input",this.dom.groupButtons[t]).prop("checked",!0),n("input",this.dom.groupButtons[t]).prop("indeterminate",!1)):h(f[t].aiColumns)?(n("input",this.dom.groupButtons[t]).prop("checked",!1),n("input",this.dom.groupButtons[t]).prop("indeterminate",!1)):n("input",this.dom.groupButtons[t]).prop("indeterminate",!0)},_fnAddButtons:function(){var e,l=this.s.dt.aoColumns,t,u,a,v,i,f,y,s,r,p,h,w,o,b,c,k;if(n.inArray("all",this.s.aiExclude)===-1){for(t=[],u=0,a=l.length;u<a;u++)if(n.inArray(u,this.s.aiExclude)===-1){if(v=this.s.dt.aoColumns[u],i=v.subMenuGroup,(i==null||i==="undefined")&&(i="Other"),i==="Ignore")continue;n.inArray(i,t)===-1&&t.push(i)}for(t.sort(function(n,t){return n>t?1:n<t?-1:0}),f=0,y=t.length;f<y;f++)s=this._fnSubMenuItem(t[f]),s.__menuTitle=t[f],this.dom.subMenus.push(s);for(r=0,p=l.length;r<p;r++)n.inArray(r,this.s.aiExclude)===-1&&(h=this.s.dt.aoColumns[r],h.sTitle&&(w=h.subMenuGroup,e=this._fnDomColumnButton(r),e.__columnIdx=r,this.dom.buttons.push(e),this._addToSubMenu(w,e)))}for(o=0,b=this.dom.subMenus.length;o<b;o++)c=this.dom.subMenus[o].children("ul.dropdown-menu"),k=c.children("li").detach().sort(function(t,i){return n(t).text()<n(i).text()?-1:n(t).text()>n(i).text()?1:0}),c.append(k);n(this.dom.collection).append(this.dom.subMenus)},_fnDomColumnButton:function(t){var i=this,u=this.s.dt.aoColumns[t],r=this.s.dt,f=this.s.fnLabel===null?u.sTitle:this.s.fnLabel(t,u.sTitle,u.nTh);return n("<li "+(r.bJUI?'class="ui-button ui-state-default"':"")+'><label><input type="checkbox"> '+f+"<\/label><\/li>").on("click",function(u){var f=!n("input",this).is(":checked"),e;u.target.nodeName.toLowerCase()!=="li"&&(u.target.nodeName.toLowerCase()=="input"||i.s.fnStateChange===null)&&(f=!f);e=n.fn.dataTableExt.iApiIndex;n.fn.dataTableExt.iApiIndex=i._fnDataTablesApiIndex.call(i);r.oFeatures.bServerSide?(i.s.dt.oInstance.fnSetColumnVis(t,f,!1),i.s.dt.oInstance.fnAdjustColumnSizing(!1),(r.oScroll.sX!==""||r.oScroll.sY!=="")&&i.s.dt.oInstance.oApi._fnScrollDraw(i.s.dt),i._fnDrawCallback()):i.s.dt.oInstance.fnSetColumnVis(t,f);n.fn.dataTableExt.iApiIndex=e;i.s.fnStateChange!==null&&(u.target.nodeName.toLowerCase()=="span"&&u.preventDefault(),i.s.fnStateChange.call(i,t,f))})[0]},_fnSubMenuItem:function(t){var i=n('<li class="dropdown-clickmenu hidden-xs">');return i.append(n('<a tabindex="-1" href="javascript:void(0)">').text(t)),i.append(n('<ul class="dropdown-menu checkbox-menu allow-focus">')),i},_addToSubMenu:function(n,t){for(var u,i=0,r=this.dom.subMenus.length;i<r;i++)this.dom.subMenus[i].__menuTitle===n&&(u=this.dom.subMenus[i].children("ul"),u.append(t))},_fnDataTablesApiIndex:function(){for(var n=0,t=this.s.dt.oInstance.length;n<t;n++)if(this.s.dt.oInstance[n]==this.s.dt.nTable)return n;return 0},_fnDomCollection:function(){return n("<ul />",{"class":this.s.dt.bJUI?"ColVis_collection ui-buttonset ui-buttonset-multi dropdown-menu":"dropdown-menu"}).css({})[0]},_fnHeaderRow:function(){var f=this.s.dt.aoColumns,t=this,s=this.s.dt,r=n('<select class="input-sm">').css({width:"100%"}),o,u,c,l,h;r.on("select2-selecting",function(u){var o=parseInt(n(u.object.element[0]).data("column-id")),h,c;return o!==i&&(h=!f[o].bVisible,c=n.fn.dataTableExt.iApiIndex,n.fn.dataTableExt.iApiIndex=t._fnDataTablesApiIndex.call(t),s.oFeatures.bServerSide?(t.s.dt.oInstance.fnSetColumnVis(o,h,!1),t.s.dt.oInstance.fnAdjustColumnSizing(!1),(s.oScroll.sX!==""||s.oScroll.sY!=="")&&t.s.dt.oInstance.oApi._fnScrollDraw(t.s.dt),t._fnDrawCallback()):t.s.dt.oInstance.fnSetColumnVis(o,h),n.fn.dataTableExt.iApiIndex=c,t.s.fnStateChange!==null&&(e.target.nodeName.toLowerCase()==="span"&&e.preventDefault(),t.s.fnStateChange.call(t,o,h))),r.select2("close"),u.preventDefault(),!1});r.on("select2-opening",function(t){n(t.currentTarget).closest("ul.dropdown-menu").find(".dropdown-clickmenu").removeClass("open")});for(o=[],u=0,c=f.length;u<c;u++)n.inArray(u,this.s.aiExclude)===-1&&(l=n("<option>").data("column-id",u).text(f[u].sTitle),o.push(l));return o.sort(function(n,t){return n.text()>t.text()?1:n.text()<t.text()?-1:0}),r.append(o),h=n("<li>"),h.append(r),r.select2({placeholder:"Search for field",formatResult:function(t){var e=t.element,r=parseInt(n(e).data("column-id")),u="";return r!==i&&f[r].bVisible&&(u="checked"),'<label><input data-column-id="'+r+'" type="checkbox" '+u+" />&nbsp;"+t.text+"<\/label>"}}),h},_fnAdjustOpenRows:function(){for(var t=this.s.dt.aoOpenRows,i=this.s.dt.oApi._fnVisbleColumns(this.s.dt),n=0,r=t.length;n<r;n++)t[n].nTr.getElementsByTagName("td")[0].colSpan=i}},r.fnRebuild=function(t){var u=null,i,f;for(typeof t!="undefined"&&(u=n.fn.dataTable.Api?new n.fn.dataTable.Api(t).table().node():t.fnSettings().nTable),i=0,f=r.aInstances.length;i<f;i++)(typeof t=="undefined"||u==r.aInstances[i].s.dt.nTable)&&r.aInstances[i].fnRebuild()},r.defaults={active:"click",buttonText:"Show / hide columns",aiExclude:[],bRestore:!1,sRestore:"Restore original",bShowAll:!1,sShowAll:"Show All",sAlign:"left",fnStateChange:null,iOverlayFade:500,fnLabel:null,bCssPosition:!1,aoGroups:[],order:"column"},r.aInstances=[],r.prototype.CLASS="ColVis",r.VERSION="1.1.2",r.prototype.VERSION=r.VERSION,typeof n.fn.dataTable=="function"&&typeof n.fn.dataTableExt.fnVersionCheck=="function"&&n.fn.dataTableExt.fnVersionCheck("1.7.0")?n.fn.dataTableExt.aoFeatures.push({fnInit:function(n){var t=n.oInit,i=new r(n,t.colVis||t.oColVis||{});return i.button()},cFeature:"C",sFeature:"ColVis"}):alert("Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download"),n.fn.dataTable.ColVis=r,n.fn.DataTable.ColVis=r,r};typeof define=="function"&&define.amd?define(["jquery","datatables"],r):typeof exports=="object"?r(require("jquery"),require("datatables")):jQuery&&!jQuery.fn.dataTable.ColVis&&r(jQuery,jQuery.fn.dataTable)}(window,document),function(n,t,i){function u(n){for(var i=[],t=0,r=n.length;t<r;t++)i[n[t]]=t;return i}function r(n,t,i){t=n.splice(t,1)[0];n.splice(i,0,t)}function f(n,t,i){for(var u=[],r=0,f=n.childNodes.length;r<f;r++)1==n.childNodes[r].nodeType&&u.push(n.childNodes[r]);t=u[t];null!==i?n.insertBefore(t,u[i]):n.appendChild(t)}n.fn.dataTableExt.oApi.fnColReorder=function(t,i,e){var o,s,c,v,a=t.aoColumns.length,h,l;if(i!=e)if(0>i||i>=a)this.oApi._fnLog(t,1,"ColReorder 'from' index is out of bounds: "+i);else if(0>e||e>=a)this.oApi._fnLog(t,1,"ColReorder 'to' index is out of bounds: "+e);else{for(l=[],o=0,s=a;o<s;o++)l[o]=o;for(r(l,i,e),l=u(l),o=0,s=t.aaSorting.length;o<s;o++)t.aaSorting[o][0]=l[t.aaSorting[o][0]];if(null!==t.aaSortingFixed)for(o=0,s=t.aaSortingFixed.length;o<s;o++)t.aaSortingFixed[o][0]=l[t.aaSortingFixed[o][0]];for(o=0,s=a;o<s;o++)for(h=t.aoColumns[o],c=0,v=h.aDataSort.length;c<v;c++)h.aDataSort[c]=l[h.aDataSort[c]];for(o=0,s=a;o<s;o++)h=t.aoColumns[o],"number"==typeof h.mData&&(h.mData=l[h.mData],h.fnGetData=t.oApi._fnGetObjectDataFn(h.mData),h.fnSetData=t.oApi._fnSetObjectDataFn(h.mData));if(t.aoColumns[i].bVisible){for(v=this.oApi._fnColumnIndexToVisible(t,i),h=null,o=e<i?e:e+1;null===h&&o<a;)h=this.oApi._fnColumnIndexToVisible(t,o),o++;for(c=t.nTHead.getElementsByTagName("tr"),o=0,s=c.length;o<s;o++)f(c[o],v,h);if(null!==t.nTFoot)for(c=t.nTFoot.getElementsByTagName("tr"),o=0,s=c.length;o<s;o++)f(c[o],v,h);for(o=0,s=t.aoData.length;o<s;o++)null!==t.aoData[o].nTr&&f(t.aoData[o].nTr,v,h)}for(r(t.aoColumns,i,e),r(t.aoPreSearchCols,i,e),o=0,s=t.aoData.length;o<s;o++)n.isArray(t.aoData[o]._aData)&&r(t.aoData[o]._aData,i,e),r(t.aoData[o]._anHidden,i,e);for(o=0,s=t.aoHeader.length;o<s;o++)r(t.aoHeader[o],i,e);if(null!==t.aoFooter)for(o=0,s=t.aoFooter.length;o<s;o++)r(t.aoFooter[o],i,e);for(o=0,s=a;o<s;o++)n(t.aoColumns[o].nTh).unbind("click"),this.oApi._fnSortAttachListener(t,t.aoColumns[o].nTh,o);n(t.oInstance).trigger("column-reorder",[t,{iFrom:i,iTo:e,aiInvertMapping:l}]);"undefined"!=typeof t.oInstance._oPluginFixedHeader&&t.oInstance._oPluginFixedHeader.fnUpdate()}};ColReorder=function(n,t){return this.CLASS&&"ColReorder"==this.CLASS||alert("Warning: ColReorder must be initialised with the keyword 'new'"),"undefined"==typeof t&&(t={}),this.s={dt:null,init:t,fixed:0,dropCallback:null,mouse:{startX:-1,startY:-1,offsetX:-1,offsetY:-1,target:-1,targetIndex:-1,fromIndex:-1},aoTargets:[]},this.dom={drag:null,pointer:null},this.s.dt=n.oInstance.fnSettings(),this._fnConstruct(),n.oApi._fnCallbackReg(n,"aoDestroyCallback",jQuery.proxy(this._fnDestroy,this),"ColReorder"),ColReorder.aoInstances.push(this),this};ColReorder.prototype={fnReset:function(){for(var t=[],n=0,i=this.s.dt.aoColumns.length;n<i;n++)t.push(this.s.dt.aoColumns[n]._ColReorder_iOrigCol);this._fnOrderColumns(t)},_fnConstruct:function(){var t=this,n,f,i,r;for("undefined"!=typeof this.s.init.iFixedColumns&&(this.s.fixed=this.s.init.iFixedColumns),"undefined"!=typeof this.s.init.fnReorderCallback&&(this.s.dropCallback=this.s.init.fnReorderCallback),n=0,f=this.s.dt.aoColumns.length;n<f;n++)n>this.s.fixed-1&&this._fnMouseListener(n,this.s.dt.aoColumns[n].nTh),this.s.dt.aoColumns[n]._ColReorder_iOrigCol=n;this.s.dt.oApi._fnCallbackReg(this.s.dt,"aoStateSaveParams",function(n,i){t._fnStateSave.call(t,i)},"ColReorder_State");i=null;"undefined"!=typeof this.s.init.aiOrder&&(i=this.s.init.aiOrder.slice());this.s.dt.oLoadedState&&"undefined"!=typeof this.s.dt.oLoadedState.ColReorder&&this.s.dt.oLoadedState.ColReorder.length==this.s.dt.aoColumns.length&&(i=this.s.dt.oLoadedState.ColReorder);i&&(t.s.dt._bInitComplete?(n=u(i),t._fnOrderColumns.call(t,n)):(r=!1,this.s.dt.aoDrawCallback.push({fn:function(){if(!t.s.dt._bInitComplete&&!r){r=!0;var n=u(i);t._fnOrderColumns.call(t,n)}},sName:"ColReorder_Pre"})))},_fnOrderColumns:function(t){var i,f,u;if(t.length!=this.s.dt.aoColumns.length)this.s.dt.oInstance.oApi._fnLog(this.s.dt,1,"ColReorder - array reorder does not match known number of columns. Skipping.");else{for(i=0,f=t.length;i<f;i++)u=n.inArray(i,t),i!=u&&(r(t,u,i),this.s.dt.oInstance.fnColReorder(u,i));(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing();this.s.dt.oInstance.oApi._fnSaveState(this.s.dt)}},_fnStateSave:function(t){for(var f,r,u=this.s.dt,i=0;i<t.aaSorting.length;i++)t.aaSorting[i][0]=u.aoColumns[t.aaSorting[i][0]]._ColReorder_iOrigCol;for(aSearchCopy=n.extend(!0,[],t.aoSearchCols),t.ColReorder=[],i=0,f=u.aoColumns.length;i<f;i++)r=u.aoColumns[i]._ColReorder_iOrigCol,t.aoSearchCols[r]=aSearchCopy[i],t.abVisCols[r]=u.aoColumns[i].bVisible,t.ColReorder.push(r)},_fnMouseListener:function(t,i){var r=this;n(i).bind("mousedown.ColReorder",function(n){n.preventDefault();r._fnMouseDown.call(r,n,i)})},_fnMouseDown:function(t,r){var e=this,o=this.s.dt.aoColumns,f="TH"==t.target.nodeName?t.target:n(t.target).parents("TH")[0],f=n(f).offset(),u,s;for(this.s.mouse.startX=t.pageX,this.s.mouse.startY=t.pageY,this.s.mouse.offsetX=t.pageX-f.left,this.s.mouse.offsetY=t.pageY-f.top,this.s.mouse.target=r,this.s.mouse.targetIndex=n("th",r.parentNode).index(r),this.s.mouse.fromIndex=this.s.dt.oInstance.oApi._fnVisibleToColumnIndex(this.s.dt,this.s.mouse.targetIndex),this.s.aoTargets.splice(0,this.s.aoTargets.length),this.s.aoTargets.push({x:n(this.s.dt.nTable).offset().left,to:0}),u=f=0,s=o.length;u<s;u++)u!=this.s.mouse.fromIndex&&f++,o[u].bVisible&&this.s.aoTargets.push({x:n(o[u].nTh).offset().left+n(o[u].nTh).outerWidth(),to:f});0!==this.s.fixed&&this.s.aoTargets.splice(0,this.s.fixed);n(i).bind("mousemove.ColReorder",function(n){e._fnMouseMove.call(e,n)});n(i).bind("mouseup.ColReorder",function(n){e._fnMouseUp.call(e,n)})},_fnMouseMove:function(n){if(null===this.dom.drag){if(5>Math.pow(Math.pow(n.pageX-this.s.mouse.startX,2)+Math.pow(n.pageY-this.s.mouse.startY,2),.5))return;this._fnCreateDragNode()}this.dom.drag.style.left=n.pageX-this.s.mouse.offsetX+"px";this.dom.drag.style.top=n.pageY-this.s.mouse.offsetY+"px";for(var i=!1,t=1,r=this.s.aoTargets.length;t<r;t++)if(n.pageX<this.s.aoTargets[t-1].x+(this.s.aoTargets[t].x-this.s.aoTargets[t-1].x)/2){this.dom.pointer.style.left=this.s.aoTargets[t-1].x+"px";this.s.mouse.toIndex=this.s.aoTargets[t-1].to;i=!0;break}i||(this.dom.pointer.style.left=this.s.aoTargets[this.s.aoTargets.length-1].x+"px",this.s.mouse.toIndex=this.s.aoTargets[this.s.aoTargets.length-1].to)},_fnMouseUp:function(){n(i).unbind("mousemove.ColReorder");n(i).unbind("mouseup.ColReorder");null!==this.dom.drag&&(i.body.removeChild(this.dom.drag),i.body.removeChild(this.dom.pointer),this.dom.drag=null,this.dom.pointer=null,this.s.dt.oInstance.fnColReorder(this.s.mouse.fromIndex,this.s.mouse.toIndex),(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing(),null!==this.s.dropCallback&&this.s.dropCallback.call(this),this.s.dt.oInstance.oApi._fnSaveState(this.s.dt))},_fnCreateDragNode:function(){var t=this;for(this.dom.drag=n(this.s.dt.nTHead.parentNode).clone(!0)[0],this.dom.drag.className+=" DTCR_clonedTable";0<this.dom.drag.getElementsByTagName("caption").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("caption")[0]);for(;0<this.dom.drag.getElementsByTagName("tbody").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tbody")[0]);for(;0<this.dom.drag.getElementsByTagName("tfoot").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tfoot")[0]);n("thead tr:eq(0)",this.dom.drag).each(function(){n("th",this).eq(t.s.mouse.targetIndex).siblings().remove()});n("tr",this.dom.drag).height(n("tr:eq(0)",t.s.dt.nTHead).height());n("thead tr:gt(0)",this.dom.drag).remove();n("thead th:eq(0)",this.dom.drag).each(function(){this.style.width=n("th:eq("+t.s.mouse.targetIndex+")",t.s.dt.nTHead).width()+"px"});this.dom.drag.style.position="absolute";this.dom.drag.style.top="0px";this.dom.drag.style.left="0px";this.dom.drag.style.width=n("th:eq("+t.s.mouse.targetIndex+")",t.s.dt.nTHead).outerWidth()+"px";this.dom.pointer=i.createElement("div");this.dom.pointer.className="DTCR_pointer";this.dom.pointer.style.position="absolute";""===this.s.dt.oScroll.sX&&""===this.s.dt.oScroll.sY?(this.dom.pointer.style.top=n(this.s.dt.nTable).offset().top+"px",this.dom.pointer.style.height=n(this.s.dt.nTable).height()+"px"):(this.dom.pointer.style.top=n("div.dataTables_scroll",this.s.dt.nTableWrapper).offset().top+"px",this.dom.pointer.style.height=n("div.dataTables_scroll",this.s.dt.nTableWrapper).height()+"px");i.body.appendChild(this.dom.pointer);i.body.appendChild(this.dom.drag)},_fnDestroy:function(){}};ColReorder.aoInstances=[];ColReorder.fnReset=function(n){for(var t=0,i=ColReorder.aoInstances.length;t<i;t++)ColReorder.aoInstances[t].s.dt.oInstance==n&&ColReorder.aoInstances[t].fnReset()};ColReorder.prototype.CLASS="ColReorder";ColReorder.VERSION="1.0.8";ColReorder.prototype.VERSION=ColReorder.VERSION;"function"==typeof n.fn.dataTable&&"function"==typeof n.fn.dataTableExt.fnVersionCheck&&n.fn.dataTableExt.fnVersionCheck("1.9.3")?n.fn.dataTableExt.aoFeatures.push({fnInit:function(n){var t=n.oInstance;return"undefined"==typeof t._oPluginColReorder?t._oPluginColReorder=new ColReorder(n,"undefined"!=typeof n.oInit.oColReorder?n.oInit.oColReorder:{}):t.oApi._fnLog(n,1,"ColReorder attempted to initialise twice. Ignoring second"),null},cFeature:"R",sFeature:"ColReorder"}):alert("Warning: ColReorder requires DataTables 1.9.3 or greater - www.datatables.net/download")}(jQuery,window,document),function(n){n.fn.editable=function(t,i){if("disable"==t){n(this).data("disabled.editable",!0);return}if("enable"==t){n(this).data("disabled.editable",!1);return}if("destroy"==t){n(this).unbind(n(this).data("event.editable")).removeData("disabled.editable").removeData("event.editable");return}var r=n.extend({},n.fn.editable.defaults,{target:t},i),o=n.editable.types[r.type].plugin||function(){},s=n.editable.types[r.type].submit||function(){},h=n.editable.types[r.type].buttons||n.editable.types.defaults.buttons,f=n.editable.types[r.type].content||n.editable.types.defaults.content,c=n.editable.types[r.type].element||n.editable.types.defaults.element,u=n.editable.types[r.type].reset||n.editable.types.defaults.reset,e=r.callback||function(){},l=r.onedit||function(){},a=r.onsubmit||function(){},v=r.onreset||function(){},y=r.onerror||u;return r.tooltip&&n(this).attr("title",r.tooltip),r.autowidth="auto"==r.width,r.autoheight="auto"==r.height,this.each(function(){var t=this,i=n(t).width(),p=n(t).height();n(this).data("event.editable",r.event);n.trim(n(this).html())||n(this).html(r.placeholder);n(this).bind(r.event,function(v){var w,b,d,g,k;!0!==n(this).data("disabled.editable")&&(t.editing||!1!==l.apply(this,[r,t])&&(v.preventDefault(),v.stopPropagation(),r.tooltip&&n(t).removeAttr("title"),0==n(t).width()?(r.width=i,r.height=p):(r.width!="none"&&(r.width=r.autowidth?n(t).width():r.width),r.height!="none"&&(r.height=r.autoheight?n(t).height():r.height)),n(this).html().toLowerCase().replace(/(;|")/g,"")==r.placeholder.toLowerCase().replace(/(;|")/g,"")&&n(this).html(""),t.editing=!0,t.revert=n(t).html(),n(t).html(""),w=n("<form />"),r.cssclass&&("inherit"==r.cssclass?w.attr("class",n(t).attr("class")):w.attr("class",r.cssclass)),r.style&&("inherit"==r.style?(w.attr("style",n(t).attr("style")),w.css("display",n(t).css("display"))):w.attr("style",r.style)),b=c.apply(w,[r,t]),r.loadurl?(k=setTimeout(function(){b.disabled=!0;f.apply(w,[r.loadtext,r,t])},100),g={},g[r.id]=t.id,n.isFunction(r.loaddata)?n.extend(g,r.loaddata.apply(t,[t.revert,r])):n.extend(g,r.loaddata),n.ajax({type:r.loadtype,url:r.loadurl,data:g,async:!1,success:function(n){window.clearTimeout(k);d=n;b.disabled=!1}})):r.data?(d=r.data,n.isFunction(r.data)&&(d=r.data.apply(t,[t.revert,r]))):d=t.revert,f.apply(w,[d,r,t]),b.attr("name",r.name),h.apply(w,[r,t]),n(t).append(w),o.apply(w,[r,t]),n(":input:visible:enabled:first",w).focus(),r.select&&b.select(),b.keydown(function(n){n.keyCode==27&&(n.preventDefault(),u.apply(w,[r,t]))}),"cancel"==r.onblur?b.blur(function(){k=setTimeout(function(){u.apply(w,[r,t])},500)}):"submit"==r.onblur?b.blur(function(){k=setTimeout(function(){w.submit()},200)}):n.isFunction(r.onblur)?b.blur(function(){r.onblur.apply(t,[b.val(),r])}):b.blur(function(){}),w.submit(function(i){var o,u,f;return k&&clearTimeout(k),i.preventDefault(),!1!==a.apply(w,[r,t])&&!1!==s.apply(w,[r,t])&&(n.isFunction(r.target)?(o=r.target.apply(t,[b.val(),r]),n(t).html(o),t.editing=!1,e.apply(t,[t.innerHTML,r]),n.trim(n(t).html())||n(t).html(r.placeholder)):(u={},u[r.name]=b.val(),u[r.id]=t.id,n.isFunction(r.submitdata)?n.extend(u,r.submitdata.apply(t,[t.revert,r])):n.extend(u,r.submitdata),"PUT"==r.method&&(u._method="put"),n(t).html(r.indicator),f={type:"POST",data:u,dataType:"html",url:r.target,success:function(i){f.dataType=="html"&&n(t).html(i);t.editing=!1;e.apply(t,[i,r]);n.trim(n(t).html())||n(t).html(r.placeholder)},error:function(n){y.apply(w,[r,t,n])}},n.extend(f,r.ajaxoptions),n.ajax(f))),n(t).attr("title",r.tooltip),!1})))});this.reset=function(i){this.editing&&!1!==v.apply(i,[r,t])&&(n(t).html(t.revert),t.editing=!1,n.trim(n(t).html())||n(t).html(r.placeholder),r.tooltip&&n(t).attr("title",r.tooltip))}})};n.editable={types:{defaults:{element:function(){var t=n('<input type="hidden"><\/input>');return n(this).append(t),t},content:function(t){n(":input:first",this).val(t)},reset:function(n,t){t.reset(this)},buttons:function(t,i){var f=this,r,u;t.submit&&(t.submit.match(/>$/)?r=n(t.submit).click(function(){r.attr("type")!="submit"&&f.submit()}):(r=n('<button type="submit" />'),r.html(t.submit)),n(this).append(r));t.cancel&&(t.cancel.match(/>$/)?u=n(t.cancel):(u=n('<button type="cancel" />'),u.html(t.cancel)),n(this).append(u),n(u).click(function(){var r;return r=n.isFunction(n.editable.types[t.type].reset)?n.editable.types[t.type].reset:n.editable.types.defaults.reset,r.apply(f,[t,i]),!1}))}},text:{element:function(t){var i=n("<input />");return t.width!="none"&&i.width(t.width),t.height!="none"&&i.height(t.height),i.attr("autocomplete","off"),n(this).append(i),i}},textarea:{element:function(t){var i=n("<textarea />");return t.rows?i.attr("rows",t.rows):t.height!="none"&&i.height(t.height),t.cols?i.attr("cols",t.cols):t.width!="none"&&i.width(t.width),n(this).append(i),i}},select:{element:function(){var t=n("<select />");return n(this).append(t),t},content:function(data,settings,original){var json,key,option;String==data.constructor?eval("var json = "+data):json=data;for(key in json)json.hasOwnProperty(key)&&"selected"!=key&&(option=n("<option />").val(key).append(json[key]),n("select",this).append(option));n("select",this).children().each(function(){(n(this).val()==json.selected||n(this).text()==n.trim(original.revert))&&n(this).attr("selected","selected")})}}},addInputType:function(t,i){n.editable.types[t]=i}};n.fn.editable.defaults={name:"value",id:"id",type:"text",width:"auto",height:"auto",event:"click.editable",onblur:"cancel",loadtype:"GET",loadtext:"Loading...",placeholder:"Click to edit",loaddata:{},submitdata:{},ajaxoptions:{}}}(jQuery);$(document).ready(function(){$("body").append("<div id='divSmallBoxes'><\/div>");$("body").append("<div id='divMiniIcons'><\/div><div id='divbigBoxes'><\/div>")});var ExistMsg=0,SmartMSGboxCount=0,PrevTop=0;(function(n){n.SmartMessageBox=function(t,i){var h,u,c,e,s,f,o,r;if(t=n.extend({title:"",content:"",NormalButton:undefined,ActiveButton:undefined,buttons:undefined,input:undefined,placeholder:"",options:undefined},t),c=0,c=1,SmartMSGboxCount=SmartMSGboxCount+1,ExistMsg==0&&(ExistMsg=1,h="<div class='divMessageBox animated fadeIn fast' id='MsgBoxBack'><\/div>",n("body").append(h),isIE8orlower()==1&&n("#MsgBoxBack").addClass("MessageIE")),e="",s=0,t.input!=undefined){s=1;t.input=t.input.toLowerCase();switch(t.input){case"text":e="<input class='form-control' type='"+t.input+"' id='txt"+SmartMSGboxCount+"' placeholder='"+t.placeholder+"'/><br/><br/>";break;case"password":e="<input class='form-control' type='"+t.input+"' id='txt"+SmartMSGboxCount+"' placeholder='"+t.placeholder+"'/><br/><br/>";break;case"select":if(t.options==undefined)alert("For this type of input, the options parameter is required.");else{for(e="<select class='form-control' id='txt"+SmartMSGboxCount+"'>",r=0;r<=t.options.length-1;r++)t.options[r]=="["?f="":t.options[r]=="]"?(o=o+1,f="<option>"+f+"<\/option>",e+=f):f+=t.options[r];e+="<\/select>"}break;default:alert("That type of input is not handled yet")}}for(u="<div class='MessageBoxContainer animated fadeIn fast' id='Msg"+SmartMSGboxCount+"'>",u+="<div class='MessageBoxMiddle'>",u+="<span class='MsgTitle'>"+t.title+"<\/span class='MsgTitle'>",u+="<p class='pText'>"+t.content+"<\/p>",u+=e,u+="<div class='MessageBoxButtonSection'>",t.buttons==undefined&&(t.buttons="[Accept]"),t.buttons=n.trim(t.buttons),t.buttons=t.buttons.split(""),f="",o=0,t.NormalButton==undefined&&(t.NormalButton="#232323"),t.ActiveButton==undefined&&(t.ActiveButton="#ed145b"),r=0;r<=t.buttons.length-1;r++)t.buttons[r]=="["?f="":t.buttons[r]=="]"?(o=o+1,f="<button id='bot"+o+"-Msg"+SmartMSGboxCount+"' class='btn btn-default btn-sm botTempo'> "+f+"<\/button>",u+=f):f+=t.buttons[r];u+="<\/div>";u+="<\/div>";u+="<\/div>";SmartMSGboxCount>1&&(n(".MessageBoxContainer").hide(),n(".MessageBoxContainer").css("z-index",99999));n(".divMessageBox").append(u);s==1&&n("#txt"+SmartMSGboxCount).focus();n(".botTempo").hover(function(){var t=n(this).attr("id")},function(){var t=n(this).attr("id")});n(".botTempo").click(function(){var t=n(this).attr("id"),r=t.substr(t.indexOf("-")+1),u=n.trim(n(this).text()),f,e;s==1?typeof i=="function"&&(f=r.replace("Msg",""),e=n("#txt"+f).val(),i&&i(u,e)):typeof i=="function"&&i&&i(u);n("#"+r).addClass("animated fadeOut fast");SmartMSGboxCount=SmartMSGboxCount-1;SmartMSGboxCount==0&&n("#MsgBoxBack").removeClass("fadeIn").addClass("fadeOut").delay(300).queue(function(){ExistMsg=0;n(this).remove()})})}})(jQuery);BigBoxes=0,function(n){n.bigBox=function(t,i){var r,u,e;t=n.extend({title:"",content:"",icon:undefined,number:undefined,color:undefined,sound:!0,timeout:undefined,colortime:1500,colors:undefined},t);t.sound===!0&&isIE8orlower()==0&&(u=document.createElement("audio"),navigator.userAgent.match("Firefox/")?u.setAttribute("src","sound/bigbox.ogg"):u.setAttribute("src","sound/bigbox.mp3"),n.get(),u.addEventListener("load",function(){u.play()},!0),u.pause(),u.play());BigBoxes=BigBoxes+1;r="<div id='bigBox"+BigBoxes+"' class='bigBox animated fadeIn fast'><div id='bigBoxColor"+BigBoxes+"'><i class='botClose fa fa-times' id='botClose"+BigBoxes+"'><\/i>";r+="<span>"+t.title+"<\/span>";r+="<p>"+t.content+"<\/p>";r+="<div class='bigboxicon'>";t.icon==undefined&&(t.icon="fa fa-cloud");r+="<i class='"+t.icon+"'><\/i>";r+="<\/div>";r+="<div class='bigboxnumber'>";t.number!=undefined&&(r+=t.number);r+="<\/div><\/div>";r+="<\/div>";n("#divbigBoxes").append(r);t.color==undefined&&(t.color="#004d60");n("#bigBox"+BigBoxes).css("background-color",t.color);n("#divMiniIcons").append("<div id='miniIcon"+BigBoxes+"' class='cajita animated fadeIn' style='background-color: "+t.color+";'><i class='"+t.icon+"'/><\/i><\/div>");n("#miniIcon"+BigBoxes).bind("click",function(){var t=n(this).attr("id"),i=t.replace("miniIcon","bigBox"),r=t.replace("miniIcon","bigBoxColor");n(".cajita").each(function(){var t=n(this).attr("id"),i=t.replace("miniIcon","bigBox");n("#"+i).css("z-index",9998)});n("#"+i).css("z-index",9999);n("#"+r).removeClass("animated fadeIn").delay(1).queue(function(){n(this).show();n(this).addClass("animated fadeIn");n(this).clearQueue()})});var f=n("#botClose"+BigBoxes),s=n("#bigBox"+BigBoxes),h=n("#miniIcon"+BigBoxes),o;t.colors!=undefined&&t.colors.length>0&&(f.attr("colorcount","0"),o=setInterval(function(){var n=f.attr("colorcount");f.animate({backgroundColor:t.colors[n].color});s.animate({backgroundColor:t.colors[n].color});h.animate({backgroundColor:t.colors[n].color});n<t.colors.length-1?f.attr("colorcount",n*1+1):f.attr("colorcount",0)},t.colortime));f.bind("click",function(){clearInterval(o);typeof i=="function"&&i&&i();var t=n(this).attr("id"),r=t.replace("botClose","bigBox"),u=t.replace("botClose","miniIcon");n("#"+r).removeClass("fadeIn fast");n("#"+r).addClass("fadeOut fast").delay(300).queue(function(){n(this).clearQueue();n(this).remove()});n("#"+u).removeClass("fadeIn fast");n("#"+u).addClass("fadeOut fast").delay(300).queue(function(){n(this).clearQueue();n(this).remove()})});t.timeout!=undefined&&(e=BigBoxes,setTimeout(function(){clearInterval(o);n("#bigBox"+e).removeClass("fadeIn fast");n("#bigBox"+e).addClass("fadeOut fast").delay(300).queue(function(){n(this).clearQueue();n(this).remove()});n("#miniIcon"+e).removeClass("fadeIn fast");n("#miniIcon"+e).addClass("fadeOut fast").delay(300).queue(function(){n(this).clearQueue();n(this).remove()})},t.timeout))}}(jQuery);var SmallBoxes=0,SmallCount=0,SmallBoxesAnchos=0;(function(n){n.smallBox=function(t,i){var e,u,o,f,h,r,s;t=n.extend({title:"",content:"",icon:undefined,iconSmall:undefined,sound:!0,color:undefined,timeout:undefined,colortime:1500,colors:undefined},t);t.sound===!0&&isIE8orlower()==0&&(u=document.createElement("audio"),navigator.userAgent.match("Firefox/")?u.setAttribute("src","sound/smallbox.ogg"):u.setAttribute("src","sound/smallbox.mp3"),n.get(),u.addEventListener("load",function(){u.play()},!0),u.pause(),u.play());SmallBoxes=SmallBoxes+1;e="";o="";f="smallbox"+SmallBoxes;o=t.iconSmall==undefined?"<div class='miniIcono'><\/div>":"<div class='miniIcono'><i class='miniPic "+t.iconSmall+"'><\/i><\/div>";e=t.icon==undefined?"<div id='smallbox"+SmallBoxes+"' class='SmallBox animated fadeInRight fast'><div class='textoFull'><span>"+t.title+"<\/span><p>"+t.content+"<\/p><\/div>"+o+"<\/div>":"<div id='smallbox"+SmallBoxes+"' class='SmallBox animated fadeInRight fast'><div class='foto'><i class='"+t.icon+"'><\/i><\/div><div class='textoFoto'><span>"+t.title+"<\/span><p>"+t.content+"<\/p><\/div>"+o+"<\/div>";SmallBoxes==1?(n("#divSmallBoxes").append(e),SmallBoxesAnchos=n("#smallbox"+SmallBoxes).height()+40):(h=n(".SmallBox").length(),h==0?(n("#divSmallBoxes").append(e),SmallBoxesAnchos=n("#smallbox"+SmallBoxes).height()+40):(n("#divSmallBoxes").append(e),n("#smallbox"+SmallBoxes).css("top",SmallBoxesAnchos),SmallBoxesAnchos=SmallBoxesAnchos+n("#smallbox"+SmallBoxes).height()+20,n(".SmallBox").each(function(t){t==0?(n(this).css("top",20),heightPrev=n(this).height()+40,SmallBoxesAnchos=n(this).height()+40):(n(this).css("top",heightPrev),heightPrev=heightPrev+n(this).height()+20,SmallBoxesAnchos=SmallBoxesAnchos+n(this).height()+20)})));r=n("#smallbox"+SmallBoxes);t.color==undefined?r.css("background-color","#004d60"):r.css("background-color",t.color);t.colors!=undefined&&t.colors.length>0&&(r.attr("colorcount","0"),s=setInterval(function(){var n=r.attr("colorcount");r.animate({backgroundColor:t.colors[n].color});n<t.colors.length-1?r.attr("colorcount",n*1+1):r.attr("colorcount",0)},t.colortime));t.timeout!=undefined&&setTimeout(function(){clearInterval(s);var t=n(this).height()+20,r=f,u=n("#"+f).css("top");if(n("#"+f+":hover").length!=0)n("#"+f).on("mouseleave",function(){SmallBoxesAnchos=SmallBoxesAnchos-t;n("#"+f).remove();typeof i=="function"&&i&&i();var r=0;n(".SmallBox").each(function(t){t==0?(n(this).animate({top:20},300),r=n(this).height()+40,SmallBoxesAnchos=n(this).height()+40):(n(this).animate({top:r},350),r=r+n(this).height()+20,SmallBoxesAnchos=SmallBoxesAnchos+n(this).height()+20)})});else clearInterval(s),SmallBoxesAnchos=SmallBoxesAnchos-t,typeof i=="function"&&i&&i(),n("#"+f).removeClass().addClass("SmallBox").animate({opacity:0},300,function(){n(this).remove();var t=0;n(".SmallBox").each(function(i){i==0?(n(this).animate({top:20},300),t=n(this).height()+40,SmallBoxesAnchos=n(this).height()+40):(n(this).animate({top:t}),t=t+n(this).height()+20,SmallBoxesAnchos=SmallBoxesAnchos+n(this).height()+20)})})},t.timeout);n("#smallbox"+SmallBoxes).bind("click",function(){clearInterval(s);typeof i=="function"&&i&&i();var t=n(this).height()+20,r=n(this).attr("id"),u=n(this).css("top");SmallBoxesAnchos=SmallBoxesAnchos-t;n(this).removeClass().addClass("SmallBox").animate({opacity:0},300,function(){n(this).remove();var t=0;n(".SmallBox").each(function(i){i==0?(n(this).animate({top:20},300),t=n(this).height()+40,SmallBoxesAnchos=n(this).height()+40):(n(this).animate({top:t},350),t=t+n(this).height()+20,SmallBoxesAnchos=SmallBoxesAnchos+n(this).height()+20)})})})}})(jQuery);var PROGRESS_UNKNOWN=0,PROGRESS_AFTER_RANK=1,PROGRESS_BEFORE_MX=2,PROGRESS_WHILE_MX=3,PROGRESS_AFTER_MX=4,PROGRESS_AFTER_POSITION=6,PROGRESS_LAYOUT_FINISH=9;!function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(n){return 0==n?0:n>0?1:-1});var n={subtract:function(n,t){return{x:n.x-t.x,y:n.y-t.y}},dotProduct:function(n,t){return n.x*t.x+n.y*t.y},square:function(n){return Math.sqrt(n.x*n.x+n.y*n.y)},scale:function(n,t){return{x:n.x*t,y:n.y*t}}},e=64,l=Math.pow(2,-e-1),o=function(t,i){for(var f,h=[],a=v(t,i),c=i.length-1,y=2*c-1,p=r(a,y,h,0),e=n.subtract(t,i[0]),o=n.square(e),l=0,s=0;p>s;s++)e=n.subtract(t,u(i,c,h[s],null,null)),f=n.square(e),o>f&&(o=f,l=h[s]);return e=n.subtract(t,i[c]),f=n.square(e),o>f&&(o=f,l=1),{location:l,distance:o}},a=function(n,t){var i=o(n,t);return{point:u(t,t.length-1,i.location,null,null),location:i.location}},v=function(t,i){for(var f,o,p,w,u=i.length-1,l=2*u-1,a=[],h=[],c=[],e=[],b=[[1,.6,.3,.1],[.4,.6,.6,.4],[.1,.3,.6,1]],r=0;u>=r;r++)a[r]=n.subtract(i[r],t);for(r=0;u-1>=r;r++)h[r]=n.subtract(i[r+1],i[r]),h[r]=n.scale(h[r],3);for(f=0;u-1>=f;f++)for(o=0;u>=o;o++)c[f]||(c[f]=[]),c[f][o]=n.dotProduct(h[f],a[o]);for(r=0;l>=r;r++)e[r]||(e[r]=[]),e[r].y=0,e[r].x=parseFloat(r)/l;for(var v=u,y=u-1,s=0;v+y>=s;s++)for(p=Math.max(0,s-y),w=Math.min(s,v),r=p;w>=r;r++)j=s-r,e[r+j].y+=c[j][r]*b[j][r];return e},r=function(n,t,i,f){var s,h,c=[],l=[],a=[],v=[],o;switch(y(n,t)){case 0:return 0;case 1:if(f>=e)return i[0]=(n[0].x+n[t].x)/2,1;if(p(n,t))return i[0]=w(n,t),1}for(u(n,t,.5,c,l),s=r(c,t,a,f+1),h=r(l,t,v,f+1),o=0;s>o;o++)i[o]=a[o];for(o=0;h>o;o++)i[o+s]=v[o];return s+h},y=function(n,t){for(var u,f=0,i=u=Math.sgn(n[0].y),r=1;t>=r;r++)i=Math.sgn(n[r].y),i!=u&&f++,u=i;return f},p=function(n,t){var d,p,w,g,nt,e,o,s,h,c,b,r,k,a,i,v,y,u,f;for(e=n[0].y-n[t].y,o=n[t].x-n[0].x,s=n[0].x*n[t].y-n[t].x*n[0].y,y=max_distance_below=0,u=1;t>u;u++)f=e*n[u].x+o*n[u].y+s,f>y?y=f:max_distance_below>f&&(max_distance_below=f);return b=0,r=1,k=0,a=e,i=o,v=s-y,h=b*i-a*r,c=1/h,p=(r*v-i*k)*c,a=e,i=o,v=s-max_distance_below,h=b*i-a*r,c=1/h,w=(r*v-i*k)*c,g=Math.min(p,w),nt=Math.max(p,w),d=nt-g,l>d?1:0},w=function(n,t){var i=1,r=n[t].x-n[0].x,u=n[t].y-n[0].y,f=n[0].x-0,e=n[0].y-0,o=r*0-u*i,s=1/o,h=(r*e-u*f)*s;return 0+i*h},u=function(n,t,i,r,u){for(var o,e=[[]],f=0;t>=f;f++)e[0][f]=n[f];for(o=1;t>=o;o++)for(f=0;t-o>=f;f++)e[o]||(e[o]=[]),e[o][f]||(e[o][f]={}),e[o][f].x=(1-i)*e[o-1][f].x+i*e[o-1][f+1].x,e[o][f].y=(1-i)*e[o-1][f].y+i*e[o-1][f+1].y;if(null!=r)for(f=0;t>=f;f++)r[f]=e[f][0];if(null!=u)for(f=0;t>=f;f++)u[f]=e[t-f][f];return e[t][0]},s={},b=function(n){var t=s[n],r,u,i;if(!t){t=[];var f=function(){return function(t){return Math.pow(t,n)}},e=function(){return function(t){return Math.pow(1-t,n)}},o=function(n){return function(){return n}},h=function(){return function(n){return n}},c=function(){return function(n){return 1-n}},l=function(n){return function(t){for(var r=1,i=0;i<n.length;i++)r*=n[i](t);return r}};for(t.push(new f),r=1;n>r;r++){for(u=[new o(n)],i=0;n-r>i;i++)u.push(new h);for(i=0;r>i;i++)u.push(new c);t.push(new l(u))}t.push(new e);s[n]=t}return t},t=function(n,t){for(var r=b(n.length-1),u=0,f=0,i=0;i<n.length;i++)u+=n[i].x*r[i](t),f+=n[i].y*r[i](t);return{x:u,y:f}},h=function(n,t){return Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2))},c=function(n){return n[0].x==n[1].x&&n[0].y==n[1].y},i=function(n,i,r){if(c(n))return{point:n[0],location:i};for(var e=t(n,i),o=0,f=i,s=r>0?1:-1,u=null;o<Math.abs(r);)f+=.005*s,u=t(n,f),o+=h(u,e),e=u;return{point:u,location:f}},k=function(n){if(c(n))return 0;for(var u=t(n,0),f=0,i=0,r=null;1>i;)i+=.005*1,r=t(n,i),f+=h(r,u),u=r;return f},d=function(n,t,r){return i(n,t,r).point},g=function(n,t,r){return i(n,t,r).location},f=function(n,i){var r=t(n,i),u=t(n.slice(0,n.length-1),i),f=u.y-r.y,e=u.x-r.x;return 0==f?1/0:Math.atan(f/e)},nt=function(n,t,r){var u=i(n,t,r);return u.location>1&&(u.location=1),u.location<0&&(u.location=0),f(n,u.location)},tt=function(n,t,r,u){u=null==u?0:u;var e=i(n,t,u),c=f(n,e.location),o=Math.atan(-1/c),s=r/2*Math.sin(o),h=r/2*Math.cos(o);return[{x:e.point.x+h,y:e.point.y+s},{x:e.point.x-h,y:e.point.y-s}]};window.jsBezier={distanceFromCurve:o,gradientAtPoint:f,gradientAtPointAlongCurveFrom:nt,nearestPointOnCurve:a,pointOnCurve:t,pointAlongCurveFrom:d,perpendicularToCurveAt:tt,locationAlongCurveFrom:g,getLength:k}}(),function(){"use strict";var n,f=this;n="undefined"!=typeof exports?exports:f.jsPlumbGeom={};var r=function(n){return"[object Array]"===Object.prototype.toString.call(n)},t=function(n,t,i){return n=r(n)?n:[n.x,n.y],t=r(t)?t:[t.x,t.y],i(n,t)},i=n.gradient=function(n,i){return t(n,i,function(n,t){return t[0]==n[0]?t[1]>n[1]?1/0:-1/0:t[1]==n[1]?t[0]>n[0]?0:-0:(t[1]-n[1])/(t[0]-n[0])})},u=(n.normal=function(n,t){return-1/i(n,t)},n.lineLength=function(n,i){return t(n,i,function(n,t){return Math.sqrt(Math.pow(t[1]-n[1],2)+Math.pow(t[0]-n[0],2))})},n.quadrant=function(n,i){return t(n,i,function(n,t){return t[0]>n[0]?t[1]>n[1]?2:1:t[0]==n[0]?t[1]>n[1]?2:1:t[1]>n[1]?3:4})}),e=(n.theta=function(n,r){return t(n,r,function(n,t){var e=i(n,t),r=Math.atan(e),f=u(n,t);return(4==f||3==f)&&(r+=Math.PI),0>r&&(r+=2*Math.PI),r})},n.intersects=function(n,t){var i=n.x,s=n.x+n.w,u=n.y,f=n.y+n.h,r=t.x,h=t.x+t.w,e=t.y,o=t.y+t.h;return r>=i&&s>=r&&e>=u&&f>=e||h>=i&&s>=h&&e>=u&&f>=e||r>=i&&s>=r&&o>=u&&f>=o||h>=i&&s>=r&&o>=u&&f>=o||i>=r&&h>=i&&u>=e&&o>=u||s>=r&&h>=s&&u>=e&&o>=u||i>=r&&h>=i&&f>=e&&o>=f||s>=r&&h>=i&&f>=e&&o>=f},[null,[1,-1],[1,1],[-1,1],[-1,-1]]),o=[null,[-1,-1],[-1,1],[1,1],[1,-1]];n.pointOnLine=function(n,t,r){var c=i(n,t),f=u(n,t),s=r>0?e[f]:o[f],h=Math.atan(c),l=Math.abs(r*Math.sin(h))*s[1],a=Math.abs(r*Math.cos(h))*s[0];return{x:n.x+a,y:n.y+l}};n.perpendicularLineTo=function(n,t,r){var o=i(n,t),u=Math.atan(-1/o),f=r/2*Math.sin(u),e=r/2*Math.cos(u);return[{x:t.x+e,y:t.y+f},{x:t.x-e,y:t.y-f}]}}.call(this),function(){var n=function(n){return"[object Array]"===Object.prototype.toString.call(n)},e=function(n){return"[object Number]"===Object.prototype.toString.call(n)},i=function(n){return"string"==typeof n},r=function(n){return"boolean"==typeof n},o=function(n){return null==n},t=function(n){return null==n?!1:"[object Object]"===Object.prototype.toString.call(n)},u=function(n){return"[object Date]"===Object.prototype.toString.call(n)},f=function(n){return"[object Function]"===Object.prototype.toString.call(n)},s=function(n){for(var t in n)if(n.hasOwnProperty(t))return!1;return!0};jsPlumbUtil={isArray:n,isString:i,isBoolean:r,isNull:o,isObject:t,isDate:u,isFunction:f,isEmpty:s,isNumber:e,clone:function(e){var s,o,h,c;if(i(e))return""+e;if(r(e))return!!e;if(u(e))return new Date(e.getTime());if(f(e))return e;if(n(e)){for(s=[],o=0;o<e.length;o++)s.push(this.clone(e[o]));return s}if(t(e)){h={};for(c in e)h[c]=this.clone(e[c]);return h}return e},merge:function(u,f){var o=this.clone(u),e,s,h;for(e in f)if(null==o[e]||i(f[e])||r(f[e]))o[e]=f[e];else if(n(f[e]))s=[],n(o[e])&&s.push.apply(s,o[e]),s.push.apply(s,f[e]),o[e]=s;else if(t(f[e])){t(o[e])||(o[e]={});for(h in f[e])o[e][h]=f[e][h]}return o},copyValues:function(n,t,i){for(var r=0;r<n.length;r++)i[n[r]]=t[n[r]]},functionChain:function(n,t,i){for(var u,r=0;r<i.length;r++)if(u=i[r][0][i[r][1]].apply(i[r][0],i[r][2]),u===t)return u;return n},populate:function(r,u){var e=function(n){var i=n.match(/(\${.*?})/g),t,r;if(null!=i)for(t=0;t<i.length;t++)r=u[i[t].substring(2,i[t].length-1)],null!=r&&(n=n.replace(i[t],r));return n},f=function(r){var o,u,s,h;if(null!=r){if(i(r))return e(r);if(n(r)){for(o=[],u=0;u<r.length;u++)o.push(f(r[u]));return o}if(t(r)){s={};for(h in r)s[h]=f(r[h]);return s}return r}};return f(r)},convertStyle:function(n,t){var i;if("transparent"===n)return n;var u=n,e=function(n){return 1==n.length?"0"+n:n},r=function(n){return e(Number(n).toString(16))},f=/(rgb[a]?\()(.*)(\))/;return n.match(f)&&(i=n.match(f)[2].split(","),u="#"+r(i[0])+r(i[1])+r(i[2]),t||4!=i.length||(u+=r(i[3]))),u},findWithFunction:function(n,t){if(n)for(var i=0;i<n.length;i++)if(t(n[i]))return i;return-1},clampToGrid:function(n,t,i,r,u){var f=function(n,t){var i=n%t,r=Math.floor(n/t),u=i>=t/2?1:0;return(r+u)*t};return[r||null==i?n:f(n,i[0]),u||null==i?t:f(t,i[1])]},indexOf:function(n,t){return jsPlumbUtil.findWithFunction(n,function(n){return n==t})},removeWithFunction:function(n,t){var i=jsPlumbUtil.findWithFunction(n,t);return i>-1&&n.splice(i,1),-1!=i},remove:function(n,t){var i=jsPlumbUtil.indexOf(n,t);return i>-1&&n.splice(i,1),-1!=i},addWithFunction:function(n,t,i){-1==jsPlumbUtil.findWithFunction(n,i)&&n.push(t)},addToList:function(n,t,i,r){var u=n[t];return null==u&&(u=[],n[t]=u),u[r?"unshift":"push"](i),u},extend:function(t,i,r,u){var f,e,s,o;for(r=r||{},u=u||{},i=n(i)?i:[i],f=0;f<i.length;f++)for(e in i[f].prototype)i[f].prototype.hasOwnProperty(e)&&(t.prototype[e]=i[f].prototype[e]);s=function(n){return function(){for(var t=0;t<i.length;t++)i[t].prototype[n]&&i[t].prototype[n].apply(this,arguments);return r[n].apply(this,arguments)}};for(o in r)t.prototype[o]=s(o);return t},uuid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=0|16*Math.random(),i="x"==n?t:8|3&t;return i.toString(16)})},logEnabled:!0,log:function(){if(jsPlumbUtil.logEnabled&&"undefined"!=typeof console)try{var n=arguments[arguments.length-1];console.log(n)}catch(t){}},group:function(n){jsPlumbUtil.logEnabled&&"undefined"!=typeof console&&console.group(n)},groupEnd:function(n){jsPlumbUtil.logEnabled&&"undefined"!=typeof console&&console.groupEnd(n)},time:function(n){jsPlumbUtil.logEnabled&&"undefined"!=typeof console&&console.time(n)},timeEnd:function(n){jsPlumbUtil.logEnabled&&"undefined"!=typeof console&&console.timeEnd(n)},removeElement:function(n){null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n)},removeElements:function(n){for(var t=0;t<n.length;t++)jsPlumbUtil.removeElement(n[t])},sizeElement:function(n,t,i,r,u){n&&(n.style.height=u+"px",n.height=u,n.style.width=r+"px",n.width=r,n.style.left=t+"px",n.style.top=i+"px")},wrap:function(n,t,i){return n=n||function(){},t=t||function(){},function(){var r=null;try{r=t.apply(this,arguments)}catch(u){jsPlumbUtil.log("jsPlumb function failed : "+u)}if(null==i||r!==i)try{r=n.apply(this,arguments)}catch(u){jsPlumbUtil.log("wrapped function failed : "+u)}return r}}};jsPlumbUtil.EventGenerator=function(){var n={},t=!1,i=["ready"];this.bind=function(t,i,r){return jsPlumbUtil.addToList(n,t,i,r),this};this.fire=function(r,u,f){if(!t&&n[r]){var h=n[r].length,e=0,o=!1,s=null;if(!this.shouldFireEvent||this.shouldFireEvent(r,u,f))for(;!o&&h>e&&s!==!1;){if(-1!=jsPlumbUtil.findWithFunction(i,function(n){return n===r}))n[r][e](u,f);else try{s=n[r][e](u,f)}catch(c){jsPlumbUtil.log("jsPlumb: fire failed for event "+r+" : "+c)}e++;(null==n||null==n[r])&&(o=!0)}}return this};this.unbind=function(t){return t?delete n[t]:n={},this};this.getListener=function(t){return n[t]};this.setSuspendEvents=function(n){t=n};this.isSuspendEvents=function(){return t};this.cleanupListeners=function(){for(var t in n)n[t].splice(0),delete n[t]}};jsPlumbUtil.EventGenerator.prototype={cleanup:function(){this.cleanupListeners()}};Function.prototype.bind||(Function.prototype.bind=function(n){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var r=Array.prototype.slice.call(arguments,1),u=this,t=function(){},i=function(){return u.apply(this instanceof t&&n?this:n,r.concat(Array.prototype.slice.call(arguments)))};return t.prototype=this.prototype,i.prototype=new t,i})}(),function(){var t=!!document.createElement("canvas").getContext,i=!!window.SVGAngle||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),n=function(){var i,t;return void 0===n.vml&&(i=document.body.appendChild(document.createElement("div")),i.innerHTML='<v:shape id="vml_flag1" adj="1" />',t=i.firstChild,null!=t&&null!=t.style?(t.style.behavior="url(#default#VML)",n.vml=t?"object"==typeof t.adj:!0):n.vml=!1,i.parentNode.removeChild(i)),n.vml},r=function(n){var u={},f=[],t={},r={},i={};this.register=function(e){var s=jsPlumb.CurrentLibrary,l=s.getElementObject(e),o=n.getId(e),c=s.getOffset(l),h;u[o]||(u[o]=e,f.push(e),t[o]={});h=function(u){var f,a,e,l;if(u)for(f=0;f<u.childNodes.length;f++)3!=u.childNodes[f].nodeType&&8!=u.childNodes[f].nodeType&&(a=s.getElementObject(u.childNodes[f]),e=n.getId(u.childNodes[f],null,!0),e&&r[e]&&r[e]>0&&(l=s.getOffset(a),t[o][e]={id:e,offset:{left:l.left-c.left,top:l.top-c.top}},i[e]=o),h(u.childNodes[f]))};h(e)};this.updateOffsets=function(r){var u=jsPlumb.CurrentLibrary,s=u.getElementObject(r),a=u.getDOMElement(s),e=n.getId(a),h=t[e],c=u.getOffset(s),f,l,o;if(h)for(f in h)l=u.getElementObject(f),o=u.getOffset(l),t[e][f]={id:f,offset:{left:o.left-c.left,top:o.top-c.top}},i[f]=e};this.endpointAdded=function(f){var h=jsPlumb.CurrentLibrary,v=document.body,e=n.getId(f),y=h.getElementObject(f),l=jsPlumb.CurrentLibrary.getOffset(y),o=f.parentNode,s,a,c;for(r[e]=r[e]?r[e]+1:1;null!=o&&o!=v;){if(s=n.getId(o,null,!0),s&&u[s]){a=h.getElementObject(o);c=h.getOffset(a);null==t[s][e]&&(t[s][e]={id:e,offset:{left:l.left-c.left,top:l.top-c.top}},i[e]=s);break}o=o.parentNode}};this.endpointDeleted=function(n){if(r[n.elementId]&&(r[n.elementId]--,r[n.elementId]<=0))for(var u in t)t[u]&&(delete t[u][n.elementId],delete i[n.elementId])};this.changeId=function(n,r){t[r]=t[n];t[n]={};i[r]=i[n];i[n]=null};this.getElementsForDraggable=function(n){return t[n]};this.elementRemoved=function(n){var r=i[n];r&&(delete t[r][n],delete i[n])};this.reset=function(){u={};f=[];t={};r={}};this.dragEnded=function(t){var u=n.getId(t),r=i[u];r&&this.updateOffsets(r)};this.setParent=function(n,r,u,f){var e=i[r],o,s;e&&(t[f]||(t[f]={}),t[f][r]=t[e][r],delete t[e][r],o=jsPlumb.CurrentLibrary.getOffset(u),s=jsPlumb.CurrentLibrary.getOffset(n),t[f][r].offset={left:s.left-o.left,top:s.top-o.top},i[r]=f)}};window.console||(window.console={time:function(){},timeEnd:function(){},group:function(){},groupEnd:function(){},log:function(){}});window.jsPlumbAdapter={headless:!1,getAttribute:function(n,t){return n.getAttribute(t)},setAttribute:function(n,t,i){n.setAttribute(t,i)},appendToRoot:function(n){document.body.appendChild(n)},getRenderModes:function(){return["canvas","svg","vml"]},isRenderModeAvailable:function(r){return{canvas:t,svg:i,vml:n()}[r]},getDragManager:function(n){return new r(n)},setRenderMode:function(n){var t;if(n){n=n.toLowerCase();var i=this.isRenderModeAvailable("canvas"),u=this.isRenderModeAvailable("svg"),r=this.isRenderModeAvailable("vml");"svg"===n?u?t="svg":i?t="canvas":r&&(t="vml"):"canvas"===n&&i?t="canvas":r&&(t="vml")}return t}}}(),function(){var t=jsPlumbUtil,v=function(t,i){n.CurrentLibrary.addClass(r(t),i)},y=function(t,i){n.CurrentLibrary.removeClass(r(t),i)},r=function(t){return n.CurrentLibrary.getElementObject(t)},i=function(t){return n.CurrentLibrary.getDOMElement(t)},o=function(t,i){var u=n.CurrentLibrary.getOffset(r(t)),f;return null!=i?(f=i.getZoom(),{left:u.left/f,top:u.top/f}):u},s=function(t){return n.CurrentLibrary.getSize(r(t))},u=function(){return""+(new Date).getTime()},p=function(t){if(t._jsPlumb.paintStyle&&t._jsPlumb.hoverPaintStyle){var i={};n.extend(i,t._jsPlumb.paintStyle);n.extend(i,t._jsPlumb.hoverPaintStyle);delete t._jsPlumb.hoverPaintStyle;i.gradient&&t._jsPlumb.paintStyle.fillStyle&&delete i.gradient;t._jsPlumb.hoverPaintStyle=i}},h=["click","dblclick","mouseenter","mouseout","mousemove","mousedown","mouseup","contextmenu"],w={mouseout:"mouseexit"},nt=function(n,t,i,r){var f=n.getAttachedElements(),u,e;if(f)for(u=0,e=f.length;e>u;u++)r&&r==f[u]||f[u].setHover(t,!0,i)},c=function(n){return null==n?null:n.split(" ")},f=function(n,i,r){if(n.getDefaultType){for(var e=n.getTypeDescriptor(),u=t.merge({},n.getDefaultType()),f=0,o=n._jsPlumb.types.length;o>f;f++)u=t.merge(u,n._jsPlumb.instance.getType(n._jsPlumb.types[f],e));i&&(u=t.populate(u,i));n.applyType(u,r);r||n.repaint()}},e=window.jsPlumbUIComponent=function(i){var e;jsPlumbUtil.EventGenerator.apply(this,arguments);var o=this,l=arguments,a=o.idPrefix,v=a+(new Date).getTime(),s=n.CurrentLibrary;if(this._jsPlumb={instance:i._jsPlumb,parameters:i.parameters||{},paintStyle:null,hoverPaintStyle:null,paintStyleInUse:null,hover:!1,beforeDetach:i.beforeDetach,beforeDrop:i.beforeDrop,overlayPlacements:[],hoverClass:i.hoverClass||i._jsPlumb.Defaults.HoverClass||n.Defaults.HoverClass,types:[]},this.getId=function(){return v},i.events)for(e in i.events)o.bind(e,i.events[e]);this.clone=function(){var n={};return this.constructor.apply(n,l),n}.bind(this);this.isDetachAllowed=function(n){var i=!0;if(this._jsPlumb.beforeDetach)try{i=this._jsPlumb.beforeDetach(n)}catch(r){t.log("jsPlumb: beforeDetach callback failed",r)}return i};this.isDropAllowed=function(n,i,r,u,f){var e=this._jsPlumb.instance.checkCondition("beforeDrop",{sourceId:n,targetId:i,scope:r,connection:u,dropEndpoint:f});if(this._jsPlumb.beforeDrop)try{e=this._jsPlumb.beforeDrop({sourceId:n,targetId:i,scope:r,connection:u,dropEndpoint:f})}catch(o){t.log("jsPlumb: beforeDrop callback failed",o)}return e};var f=[],r=function(n,t,i){f.push([n,t,i]);n.bind(t,i)},u=[],y=function(n,t,i){var f=w[i]||i,r=function(n){t.fire(f,t,n)};u.push([n,i,r]);s.bind(n,i,r)},c=function(n,t,i){w[t]||t;s.unbind(n,t,i)};this.bindListeners=function(n,t,i){r(n,"click",function(n,i){t.fire("click",t,i)});r(n,"dblclick",function(n,i){t.fire("dblclick",t,i)});r(n,"contextmenu",function(n,i){t.fire("contextmenu",t,i)});r(n,"mouseenter",function(n,r){t.isHover()||(i(!0),t.fire("mouseenter",t,r))});r(n,"mouseexit",function(n,r){t.isHover()&&(i(!1),t.fire("mouseexit",t,r))});r(n,"mousedown",function(n,i){t.fire("mousedown",t,i)});r(n,"mouseup",function(n,i){t.fire("mouseup",t,i)})};this.unbindListeners=function(){for(var t,n=0;n<f.length;n++)t=f[n],t[0].unbind(t[1],t[2]);f=null};this.attachListeners=function(n,t){for(var i=0,r=h.length;r>i;i++)y(n,t,h[i])};this.detachListeners=function(){for(var n=0;n<u.length;n++)c(u[n][0],u[n][1],u[n][2]);u=null};this.reattachListenersForElement=function(n){if(arguments.length>1){for(var t=0,i=h.length;i>t;t++)c(n,h[t]);for(t=1,i=arguments.length;i>t;t++)this.attachListeners(n,arguments[t])}}},n;jsPlumbUtil.extend(e,jsPlumbUtil.EventGenerator,{getParameter:function(n){return this._jsPlumb.parameters[n]},setParameter:function(n,t){this._jsPlumb.parameters[n]=t},getParameters:function(){return this._jsPlumb.parameters},setParameters:function(n){this._jsPlumb.parameters=n},addClass:function(n){null!=this.canvas&&v(this.canvas,n)},removeClass:function(n){null!=this.canvas&&y(this.canvas,n)},setType:function(n,t,i){this._jsPlumb.types=c(n)||[];f(this,t,i)},getType:function(){return this._jsPlumb.types},reapplyTypes:function(n,t){f(this,n,t)},hasType:function(n){return-1!=jsPlumbUtil.indexOf(this._jsPlumb.types,n)},addType:function(n,t,i){var u=c(n),e=!1,r,o;if(null!=u){for(r=0,o=u.length;o>r;r++)this.hasType(u[r])||(this._jsPlumb.types.push(u[r]),e=!0);e&&f(this,t,i)}},removeType:function(n,i){var u=c(n),e=!1,s=function(n){var i=t.indexOf(this._jsPlumb.types,n);return-1!=i?(this._jsPlumb.types.splice(i,1),!0):!1}.bind(this),r,o;if(null!=u){for(r=0,o=u.length;o>r;r++)e=s(u[r])||e;e&&f(this,null,i)}},toggleType:function(n,t,i){var u=c(n),r,o,e;if(null!=u){for(r=0,o=u.length;o>r;r++)e=jsPlumbUtil.indexOf(this._jsPlumb.types,u[r]),-1!=e?this._jsPlumb.types.splice(e,1):this._jsPlumb.types.push(u[r]);f(this,t,i)}},applyType:function(n,t){if(this.setPaintStyle(n.paintStyle,t),this.setHoverPaintStyle(n.hoverPaintStyle,t),n.parameters)for(var i in n.parameters)this.setParameter(i,n.parameters[i])},setPaintStyle:function(n,t){this._jsPlumb.paintStyle=n;this._jsPlumb.paintStyleInUse=this._jsPlumb.paintStyle;p(this);t||this.repaint()},getPaintStyle:function(){return this._jsPlumb.paintStyle},setHoverPaintStyle:function(n,t){this._jsPlumb.hoverPaintStyle=n;p(this);t||this.repaint()},getHoverPaintStyle:function(){return this._jsPlumb.hoverPaintStyle},cleanup:function(){this.unbindListeners();this.detachListeners()},destroy:function(){this.cleanupListeners();this.clone=null;this._jsPlumb=null},isHover:function(){return this._jsPlumb.hover},setHover:function(t,i,r){var f=n.CurrentLibrary;!this._jsPlumb||this._jsPlumb.instance.currentlyDragging||this._jsPlumb.instance.isHoverSuspended()||(this._jsPlumb.hover=t,null!=this.canvas&&null!=this._jsPlumb.instance.hoverClass&&f[t?"addClass":"removeClass"](this.canvas,this._jsPlumb.instance.hoverClass),null!=this._jsPlumb.hoverPaintStyle&&(this._jsPlumb.paintStyleInUse=t?this._jsPlumb.hoverPaintStyle:this._jsPlumb.paintStyle,this._jsPlumb.instance.isSuspendDrawing()||(r=r||u(),this.repaint({timestamp:r,recalc:!1}))),this.getAttachedElements&&!i&&nt(this,t,u(),this))}});var l="__label",b=function(n,t){for(var r=-1,i=0,u=n._jsPlumb.overlays.length;u>i;i++)if(t===n._jsPlumb.overlays[i].id){r=i;break}return r},k=function(t,i){var r={cssClass:i.cssClass,labelStyle:t.labelStyle,id:l,component:t,_jsPlumb:t._jsPlumb.instance},u=n.extend(r,i);return new n.Overlays[t._jsPlumb.instance.getRenderMode()].Label(u)},d=function(i,r){var u=null,e,f;t.isArray(r)?(e=r[0],f=n.extend({component:i,_jsPlumb:i._jsPlumb.instance},r[1]),3==r.length&&n.extend(f,r[2]),u=new n.Overlays[i._jsPlumb.instance.getRenderMode()][e](f)):u=r.constructor==String?new n.Overlays[i._jsPlumb.instance.getRenderMode()][r]({component:i,_jsPlumb:i._jsPlumb.instance}):r;i._jsPlumb.overlays.push(u)},tt=function(t,i){var f=t.defaultOverlayKeys||[],r=i.overlays,o=function(i){return t._jsPlumb.instance.Defaults[i]||n.Defaults[i]||[]},u,e;for(r||(r=[]),u=0,e=f.length;e>u;u++)r.unshift.apply(r,o(f[u]));return r},it=window.OverlayCapableJsPlumbUIComponent=function(t){var i,r,u,f,o;if(e.apply(this,arguments),this._jsPlumb.overlays=[],i=tt(this,t),i)for(r=0,u=i.length;u>r;r++)d(this,i[r]);t.label&&(f=t.labelLocation||this.defaultLabelLocation||.5,o=t.labelStyle||this._jsPlumb.instance.Defaults.LabelStyle||n.Defaults.LabelStyle,this._jsPlumb.overlays.push(k(this,{label:t.label,location:f,labelStyle:o})))};jsPlumbUtil.extend(it,e,{applyType:function(n,t){if(this.removeAllOverlays(t),n.overlays)for(var i=0,r=n.overlays.length;r>i;i++)this.addOverlay(n.overlays[i],!0)},setHover:function(n){if(this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged())for(var t=0,i=this._jsPlumb.overlays.length;i>t;t++)this._jsPlumb.overlays[t][n?"addClass":"removeClass"](this._jsPlumb.instance.hoverClass)},addOverlay:function(n,t){d(this,n);t||this.repaint()},getOverlay:function(n){var t=b(this,n);return t>=0?this._jsPlumb.overlays[t]:null},getOverlays:function(){return this._jsPlumb.overlays},hideOverlay:function(n){var t=this.getOverlay(n);t&&t.hide()},hideOverlays:function(){for(var n=0,t=this._jsPlumb.overlays.length;t>n;n++)this._jsPlumb.overlays[n].hide()},showOverlay:function(n){var t=this.getOverlay(n);t&&t.show()},showOverlays:function(){for(var n=0,t=this._jsPlumb.overlays.length;t>n;n++)this._jsPlumb.overlays[n].show()},removeAllOverlays:function(n){for(var t=0,i=this._jsPlumb.overlays.length;i>t;t++)this._jsPlumb.overlays[t].cleanup&&this._jsPlumb.overlays[t].cleanup();this._jsPlumb.overlays.splice(0,this._jsPlumb.overlays.length);this._jsPlumb.overlayPositions=null;n||this.repaint()},removeOverlay:function(n){var t=b(this,n),i;-1!=t&&(i=this._jsPlumb.overlays[t],i.cleanup&&i.cleanup(),this._jsPlumb.overlays.splice(t,1),this._jsPlumb.overlayPositions&&delete this._jsPlumb.overlayPositions[n])},removeOverlays:function(){for(var n=0,t=arguments.length;t>n;n++)this.removeOverlay(arguments[n])},getLabel:function(){var n=this.getOverlay(l);return null!=n?n.getLabel():null},getLabelOverlay:function(){return this.getOverlay(l)},setLabel:function(n){var t=this.getOverlay(l),i;t?n.constructor==String||n.constructor==Function?t.setLabel(n):(n.label&&t.setLabel(n.label),n.location&&t.setLocation(n.location)):(i=n.constructor==String||n.constructor==Function?{label:n}:n,t=k(this,i),this._jsPlumb.overlays.push(t));this._jsPlumb.instance.isSuspendDrawing()||this.repaint()},cleanup:function(){for(var n=0;n<this._jsPlumb.overlays.length;n++)this._jsPlumb.overlays[n].cleanup(),this._jsPlumb.overlays[n].destroy();this._jsPlumb.overlays.splice(0);this._jsPlumb.overlayPositions=null},setVisible:function(n){this[n?"showOverlays":"hideOverlays"]()},setAbsoluteOverlayPosition:function(n,t){this._jsPlumb.overlayPositions=this._jsPlumb.overlayPositions||{};this._jsPlumb.overlayPositions[n.id]=t},getAbsoluteOverlayPosition:function(n){return this._jsPlumb.overlayPositions?this._jsPlumb.overlayPositions[n.id]:null}});var g=0,rt=function(){var n=g+1;return g++,n},a=window.jsPlumbInstance=function(f){var hi,ki,hr,di,oi,wt,gi,ii,ut,ar;this.Defaults={Anchor:"BottomCenter",Anchors:[null,null],ConnectionsDetachable:!0,ConnectionOverlays:[],Connector:"Bezier",Container:null,DoNotThrowErrors:!1,DragOptions:{},DropOptions:{},Endpoint:"Dot",EndpointOverlays:[],Endpoints:[null,null],EndpointStyle:{fillStyle:"#456"},EndpointStyles:[null,null],EndpointHoverStyle:null,EndpointHoverStyles:[null,null],HoverPaintStyle:null,LabelStyle:{color:"black"},LogEnabled:!1,Overlays:[],MaxConnections:1,PaintStyle:{lineWidth:8,strokeStyle:"#456"},ReattachConnections:!1,RenderMode:"svg",Scope:"jsPlumb_DefaultScope"};f&&n.extend(this.Defaults,f);this.logEnabled=this.Defaults.LogEnabled;this._connectionTypes={};this._endpointTypes={};jsPlumbUtil.EventGenerator.apply(this);var h=this,tr=rt(),vr=h.bind,ir={},rr=1,a=function(n){var t=i(n);return{el:t,id:jsPlumbUtil.isString(n)&&null==t?n:w(t)}};this.getInstanceIndex=function(){return tr};this.setZoom=function(n,t){rr=n;t&&h.repaintEverything()};this.getZoom=function(){return rr};for(hi in this.Defaults)ir[hi]=this.Defaults[hi];this.bind=function(n,t){"ready"===n&&ci?t():vr.apply(h,[n,t])};h.importDefaults=function(n){for(var t in n)h.Defaults[t]=n[t];return h};h.restoreDefaults=function(){return h.Defaults=n.extend({},ir),h};var ur=null,ci=!1,b=[],c={},ft={},l={},li={},ai={},et={},fr=!1,p=[],nt=!1,ot=null,vi=this.Defaults.Scope,at=null,yr=1,vt=function(){return""+yr++},pr=function(t,i){h.Defaults.Container?n.CurrentLibrary.appendElement(t,h.Defaults.Container):i?n.CurrentLibrary.appendElement(t,i):jsPlumbAdapter.appendToRoot(t)},ri=function(n){return n._nodes?n._nodes:n},st=function(n,t,i,r){var e,f,s,o,c;if(!jsPlumbAdapter.headless&&!nt){if(e=w(n),f=h.dragManager.getElementsForDraggable(e),null==i&&(i=u()),s=k({elId:e,offset:t,recalc:!1,timestamp:i}),f)for(o in f)k({elId:f[o].id,offset:{left:s.o.left+f[o].offset.left,top:s.o.top+f[o].offset.top},recalc:!1,timestamp:i});if(h.anchorManager.redraw(e,t,i,null,r),f)for(c in f)h.anchorManager.redraw(f[c].id,t,i,f[c].offset,r,!0)}},er=function(n,i){var u,f,e=null,o,s;if(t.isArray(n))for(e=[],o=0,s=n.length;s>o;o++)u=r(n[o]),f=h.getAttribute(u,"id"),e.push(i(u,f));else u=r(n),f=h.getAttribute(u,"id"),e=i(u,f);return e},yt=function(n){return ft[n]},yi=function(i,r,u){var c,e,f,o,s;if(!jsPlumbAdapter.headless&&(c=null==r?!1:r,e=n.CurrentLibrary,c&&e.isDragSupported(i)&&!e.isAlreadyDraggable(i))){f=u||h.Defaults.DragOptions||n.Defaults.DragOptions;f=n.extend({},f);var l=e.dragEvents.drag,a=e.dragEvents.stop,p=e.dragEvents.start;f[p]=t.wrap(f[p],function(){h.setHoverSuspended(!0);h.select({source:i}).addClass(h.elementDraggingClass+" "+h.sourceElementDraggingClass,!0);h.select({target:i}).addClass(h.elementDraggingClass+" "+h.targetElementDraggingClass,!0);h.setConnectionBeingDragged(!0)});f[l]=t.wrap(f[l],function(){var n=e.getUIPosition(arguments,h.getZoom());st(i,n,null,!0);v(i,"jsPlumb_dragged")});f[a]=t.wrap(f[a],function(){var n=e.getUIPosition(arguments,h.getZoom());st(i,n);y(i,"jsPlumb_dragged");h.setHoverSuspended(!1);h.select({source:i}).removeClass(h.elementDraggingClass+" "+h.sourceElementDraggingClass,!0);h.select({target:i}).removeClass(h.elementDraggingClass+" "+h.targetElementDraggingClass,!0);h.setConnectionBeingDragged(!1);h.dragManager.dragEnded(i)});o=w(i);et[o]=!0;s=et[o];f.disabled=null==s?!1:!s;e.initDraggable(i,f,!1,h);h.dragManager.register(i)}},wr=function(r,u){var f=n.extend({},r),l,a,e,s,c,o;if(u&&n.extend(f,u),f.source&&(f.source.endpoint?f.sourceEndpoint=f.source:f.source=i(f.source)),f.target&&(f.target.endpoint?f.targetEndpoint=f.target:f.target=i(f.target)),r.uuids&&(f.sourceEndpoint=yt(r.uuids[0]),f.targetEndpoint=yt(r.uuids[1])),f.sourceEndpoint&&f.sourceEndpoint.isFull())return t.log(h,"could not add connection; source endpoint is full"),void 0;if(f.targetEndpoint&&f.targetEndpoint.isFull())return t.log(h,"could not add connection; target endpoint is full"),void 0;if(!f.type&&f.sourceEndpoint&&(f.type=f.sourceEndpoint.connectionType),f.sourceEndpoint&&f.sourceEndpoint.connectorOverlays)for(f.overlays=f.overlays||[],l=0,a=f.sourceEndpoint.connectorOverlays.length;a>l;l++)f.overlays.push(f.sourceEndpoint.connectorOverlays[l]);if(!f["pointer-events"]&&f.sourceEndpoint&&f.sourceEndpoint.connectorPointerEvents&&(f["pointer-events"]=f.sourceEndpoint.connectorPointerEvents),f.target&&!f.target.endpoint&&!f.targetEndpoint&&!f.newConnection&&(e=w(f.target),s=bt[e],c=kt[e],s)){if(!g[e])return;s.isTarget=!0;o=null!=c?c:h.addEndpoint(f.target,s);dt[e]&&(kt[e]=o);f.targetEndpoint=o;o._doNotDeleteOnDetach=!1;o._deleteOnDetach=!0}if(f.source&&!f.source.endpoint&&!f.sourceEndpoint&&!f.newConnection&&(e=w(f.source),s=gt[e],c=nr[e],s)){if(!d[e])return;o=null!=c?c:h.addEndpoint(f.source,s);ni[e]&&(nr[e]=o);f.sourceEndpoint=o;o._doNotDeleteOnDetach=!1;o._deleteOnDetach=!0}return f},pi=function(t){var r=h.Defaults.ConnectionType||h.getDefaultConnectionType(),u=h.Defaults.EndpointType||n.Endpoint,f=n.CurrentLibrary.getParent,i;return t.parent=t.container?t.container:t.sourceEndpoint?t.sourceEndpoint.parent:t.source.constructor==u?t.source.parent:f(t.source),t._jsPlumb=h,t.newConnection=pi,t.newEndpoint=wi,t.endpointsByUUID=ft,t.endpointsByElement=c,t.finaliseConnection=ui,i=new r(t),i.id="con_"+vt(),ht("click","click",i),ht("dblclick","dblclick",i),ht("contextmenu","contextmenu",i),i.isDetachable()&&(i.endpoints[0].initDraggable(),i.endpoints[1].initDraggable()),i},ui=function(n,t,i,r){if(t=t||{},n.suspendedEndpoint||b.push(n),(null==n.suspendedEndpoint||r)&&h.anchorManager.newConnection(n),st(n.source),!t.doNotFireConnectionEvent&&t.fireEvent!==!1){var u={connection:n,source:n.source,target:n.target,sourceId:n.sourceId,targetId:n.targetId,sourceEndpoint:n.endpoints[0],targetEndpoint:n.endpoints[1]};h.fire("connection",u,i)}},ht=function(n,t,i){i.bind(n,function(n,r){h.fire(t,i,r)})},or=function(t){if(t.container)return t.container;var i=n.CurrentLibrary.getTagName(t.source),r=n.CurrentLibrary.getParent(t.source);return i&&"td"===i.toLowerCase()?n.CurrentLibrary.getParent(r):r},wi=function(t){var u=h.Defaults.EndpointType||n.Endpoint,i=n.extend({},t),r;return i.parent=or(i),i._jsPlumb=h,i.newConnection=pi,i.newEndpoint=wi,i.endpointsByUUID=ft,i.endpointsByElement=c,i.finaliseConnection=ui,i.fireDetachEvent=ki,i.fireMoveEvent=hr,i.floatingConnections=ai,i.getParentFromParams=or,i.elementId=w(i.source),r=new u(i),r.id="ep_"+vt(),ht("click","endpointClick",r),ht("dblclick","endpointDblClick",r),ht("contextmenu","contextmenu",r),jsPlumbAdapter.headless||h.dragManager.endpointAdded(i.source),r},bi=function(n,t,i){var r=c[n],u,e,f,o,s;if(r&&r.length)for(u=0,e=r.length;e>u;u++){for(f=0,o=r[u].connections.length;o>f;f++)if(s=t(r[u].connections[f]),s)return;i&&i(r[u])}},br=function(t,i){return er(t,function(t,r){et[r]=i;n.CurrentLibrary.isDragSupported(t)&&n.CurrentLibrary.setDraggable(t,i)})},sr=function(n,t,i){var r,u;t="block"===t;r=null;i&&(r=t?function(n){n.setVisible(!0,!0,!0)}:function(n){n.setVisible(!1,!0,!0)});u=a(n);bi(u.id,function(n){if(t&&i){var r=n.sourceId===u.id?1:0;n.endpoints[r].isVisible()&&n.setVisible(!0)}else n.setVisible(t)},r)},kr=function(t){return er(t,function(t,i){var r=null==et[i]?!1:et[i];return r=!r,et[i]=r,n.CurrentLibrary.setDraggable(t,r),r})},dr=function(n,t){var i=null;t&&(i=function(n){var t=n.isVisible();n.setVisible(!t)});bi(n,function(n){var t=n.isVisible();n.setVisible(!t)},i)},k=function(n){var i,u=n.timestamp,f=n.recalc,e=n.offset,t=n.elId;return nt&&!u&&(u=ot),!f&&u&&u===li[t]?{o:n.offset||l[t],s:p[t]}:(f||!e?(i=r(t),null!=i&&(p[t]=s(i),l[t]=o(i,h),li[t]=u)):(l[t]=e,null==p[t]&&(i=r(t),null!=i&&(p[t]=s(i))),li[t]=u),l[t]&&!l[t].right&&(l[t].right=l[t].left+p[t][0],l[t].bottom=l[t].top+p[t][1],l[t].width=p[t][0],l[t].height=p[t][1],l[t].centerx=l[t].left+l[t].width/2,l[t].centery=l[t].top+l[t].height/2),{o:l[t],s:p[t]})},gr=function(n){var t=l[n];return t?{o:t,s:p[n]}:k({elId:n})},w=function(n,t,i){if(jsPlumbUtil.isString(n))return n;if(null==n)return null;var r=jsPlumbAdapter.getAttribute(n,"id");return r&&"undefined"!==r||(2==arguments.length&&void 0!==arguments[1]?r=t:(1==arguments.length||3==arguments.length&&!arguments[2])&&(r="jsPlumb_"+tr+"_"+vt()),i||jsPlumbAdapter.setAttribute(n,"id",r)),r};this.setConnectionBeingDragged=function(n){fr=n};this.isConnectionBeingDragged=function(){return fr};this.connectorClass="_jsPlumb_connector";this.hoverClass="_jsPlumb_hover";this.endpointClass="_jsPlumb_endpoint";this.endpointConnectedClass="_jsPlumb_endpoint_connected";this.endpointFullClass="_jsPlumb_endpoint_full";this.endpointDropAllowedClass="_jsPlumb_endpoint_drop_allowed";this.endpointDropForbiddenClass="_jsPlumb_endpoint_drop_forbidden";this.overlayClass="_jsPlumb_overlay";this.draggingClass="_jsPlumb_dragging";this.elementDraggingClass="_jsPlumb_element_dragging";this.sourceElementDraggingClass="_jsPlumb_source_element_dragging";this.targetElementDraggingClass="_jsPlumb_target_element_dragging";this.endpointAnchorClassPrefix="_jsPlumb_endpoint_anchor";this.hoverSourceClass="_jsPlumb_source_hover";this.hoverTargetClass="_jsPlumb_target_hover";this.dragSelectClass="_jsPlumb_drag_select";this.Anchors={};this.Connectors={canvas:{},svg:{},vml:{}};this.Endpoints={canvas:{},svg:{},vml:{}};this.Overlays={canvas:{},svg:{},vml:{}};this.ConnectorRenderers={};this.SVG="svg";this.CANVAS="canvas";this.VML="vml";this.addEndpoint=function(r,u,f){var e,y,s,o;f=f||{};e=n.extend({},f);n.extend(e,u);e.endpoint=e.endpoint||h.Defaults.Endpoint||n.Defaults.Endpoint;e.paintStyle=e.paintStyle||h.Defaults.EndpointStyle||n.Defaults.EndpointStyle;r=ri(r);for(var a=[],b=t.isArray(r)||null!=r.length&&!t.isString(r)?r:[r],v=0,tt=b.length;tt>v;v++){y=i(b[v]);s=w(y);e.source=y;k({elId:s,timestamp:ot});o=wi(e);e.parentAnchor&&(o.parentAnchor=e.parentAnchor);t.addToList(c,s,o);var d=l[s],it=p[s],rt=o.anchor.compute({xy:[d.left,d.top],wh:it,element:o,timestamp:ot}),g={anchorLoc:rt,timestamp:ot};nt&&(g.recalc=!1);nt||o.paint(g);a.push(o);o._doNotDeleteOnDetach=!0}return 1==a.length?a[0]:a};this.addEndpoints=function(n,i,r){for(var u,f=[],e=0,o=i.length;o>e;e++)u=h.addEndpoint(n,i[e],r),t.isArray(u)?Array.prototype.push.apply(f,u):f.push(u);return f};this.animate=function(i,u,f){f=f||{};var c=r(i),e=w(i),o=n.CurrentLibrary.dragEvents.step,s=n.CurrentLibrary.dragEvents.complete;f[o]=t.wrap(f[o],function(){h.repaint(e)});f[s]=t.wrap(f[s],function(){h.repaint(e)});n.CurrentLibrary.animate(c,u,f)};this.checkCondition=function(n,i){var r=h.getListener(n),f=!0,u,e;if(r&&r.length>0)try{for(u=0,e=r.length;e>u;u++)f=f&&r[u](i)}catch(o){t.log(h,"cannot check condition ["+n+"]"+o)}return f};this.checkASyncCondition=function(n,i,r,u){var f=h.getListener(n);if(f&&f.length>0)try{f[0](i,r,u)}catch(e){t.log(h,"cannot asynchronously check condition ["+n+"]"+e)}};this.connect=function(n,t){var i,r=wr(n,t);return r&&(i=pi(r),ui(i,r)),i};this.deleteEndpoint=function(n,t){var r=h.setSuspendDrawing(!0),i="string"==typeof n?ft[n]:n;return i&&h.deleteObject({endpoint:i}),r||h.setSuspendDrawing(!1,t),h};this.deleteEveryEndpoint=function(){var u=h.setSuspendDrawing(!0),i,n,t,r;for(i in c)if(n=c[i],n&&n.length)for(t=0,r=n.length;r>t;t++)h.deleteEndpoint(n[t],!0);return c={},ft={},h.anchorManager.reset(),h.dragManager.reset(),u||h.setSuspendDrawing(!1),h};ki=function(n,t,i){var u=h.Defaults.ConnectionType||h.getDefaultConnectionType(),f=n.constructor==u,r=f?{connection:n,source:n.source,target:n.target,sourceId:n.sourceId,targetId:n.targetId,sourceEndpoint:n.endpoints[0],targetEndpoint:n.endpoints[1]}:n;t&&h.fire("connectionDetached",r,i);h.anchorManager.connectionDetached(r)};hr=function(n,t){h.fire("connectionMoved",n,t)};this.unregisterEndpoint=function(n){var t,i;n._jsPlumb.uuid&&(ft[n._jsPlumb.uuid]=null);h.anchorManager.deleteEndpoint(n);for(t in c){if(i=c[t],i){for(var u=[],r=0,f=i.length;f>r;r++)i[r]!=n&&u.push(i[r]);c[t]=u}c[t].length<1&&delete c[t]}};this.detach=function(){var r,f,o;if(0!==arguments.length){var c=h.Defaults.ConnectionType||h.getDefaultConnectionType(),s=arguments[0].constructor==c,u=2==arguments.length?s?arguments[1]||{}:arguments[0]:arguments[0],e=u.fireEvent!==!1,l=u.forceDetach,t=s?arguments[0]:u.connection;t?(l||jsPlumbUtil.functionChain(!0,!1,[[t.endpoints[0],"isDetachAllowed",[t]],[t.endpoints[1],"isDetachAllowed",[t]],[t,"isDetachAllowed",[t]],[h,"checkCondition",["beforeDetach",t]]]))&&t.endpoints[0].detach(t,!1,!0,e):(r=n.extend({},u),r.uuids?yt(r.uuids[0]).detachFrom(yt(r.uuids[1]),e):r.sourceEndpoint&&r.targetEndpoint?r.sourceEndpoint.detachFrom(r.targetEndpoint):(f=w(i(r.source)),o=w(i(r.target)),bi(f,function(n){(n.sourceId==f&&n.targetId==o||n.targetId==f&&n.sourceId==o)&&h.checkCondition("beforeDetach",n)&&n.endpoints[0].detach(n,!1,!0,e)})))}};this.detachAllConnections=function(n,t){var f,r,u,e;if(t=t||{},n=i(n),f=w(n),r=c[f],r&&r.length)for(u=0,e=r.length;e>u;u++)r[u].detachAll(t.fireEvent!==!1);return h};this.detachEveryConnection=function(n){return n=n||{},h.doWhileSuspended(function(){var r,t,i,u;for(r in c)if(t=c[r],t&&t.length)for(i=0,u=t.length;u>i;i++)t[i].detachAll(n.fireEvent!==!1);b.splice(0)}),h};this.deleteObject=function(n){var t={endpoints:{},connections:{},endpointCount:0,connectionCount:0},c=n.fireEvent!==!1,u=n.deleteAttachedObjects!==!1,f=function(n){if(null!=n&&null==t.connections[n.id]&&(null!=n._jsPlumb&&n.setHover(!1),t.connections[n.id]=n,t.connectionCount++,u))for(var i=0;i<n.endpoints.length;i++)n.endpoints[i]._deleteOnDetach&&e(n.endpoints[i])},e=function(n){var i,r;if(null!=n&&null==t.endpoints[n.id]&&(null!=n._jsPlumb&&n.setHover(!1),t.endpoints[n.id]=n,t.endpointCount++,u))for(i=0;i<n.connections.length;i++)r=n.connections[i],f(r)},o,i,s,r;n.connection?f(n.connection):e(n.endpoint);for(o in t.connections)i=t.connections[o],i.endpoints[0].detachFromConnection(i),i.endpoints[1].detachFromConnection(i),jsPlumbUtil.removeWithFunction(b,function(n){return i.id==n.id}),ki(i,c,n.originalEvent),i.cleanup(),i.destroy();for(s in t.endpoints)r=t.endpoints[s],h.unregisterEndpoint(r),r.cleanup(),r.destroy();return t};this.draggable=function(n,t){var u,f,r;if("object"==typeof n&&n.length)for(u=0,f=n.length;f>u;u++)r=i(n[u]),r&&yi(r,!0,t);else if(n._nodes)for(u=0,f=n._nodes.length;f>u;u++)r=i(n._nodes[u]),r&&yi(r,!0,t);else r=i(n),r&&yi(r,!0,t);return h};this.extend=function(t,i){return n.CurrentLibrary.extend(t,i)};var nu=function(n,t,i,r){for(var u=0,f=n.length;f>u;u++)n[u][t].apply(n[u],i);return r(n)},tu=function(n,t,i){for(var u=[],r=0,f=n.length;f>r;r++)u.push([n[r][t].apply(n[r],i),n[r]]);return u},ct=function(n,t,i){return function(){return nu(n,t,arguments,i)}},fi=function(n,t){return function(){return tu(n,t,arguments)}},tt=function(n,t){var i=[],u,f;if(n)if("string"==typeof n){if("*"===n)return n;i.push(n)}else if(n=r(n),t)i=n;else for(u=0,f=n.length;f>u;u++)i.push(a(n[u]).id);return i},it=function(n,t,i){return"*"===n?!0:n.length>0?-1!=jsPlumbUtil.indexOf(n,t):!i};this.getConnections=function(n,t){var i;n?n.constructor==String&&(n={scope:n}):n={};for(var e=n.scope||h.getDefaultScope(),u=tt(e,!0),o=tt(n.source),s=tt(n.target),r=!t&&u.length>1?{}:[],c=function(n,i){if(!t&&u.length>1){var f=r[n];null==f&&(f=r[n]=[]);f.push(i)}else r.push(i)},f=0,l=b.length;l>f;f++)i=b[f],it(u,i.scope)&&it(o,i.sourceId)&&it(s,i.targetId)&&c(i.scope,i);return r};var iu=function(n,t){return function(i){for(var r=0,u=n.length;u>r;r++)i(n[r]);return t(n)}},ru=function(n){return function(t){return n[t]}},cr=function(n,t){for(var u={length:n.length,each:iu(n,t),get:ru(n)},f=["setHover","removeAllOverlays","setLabel","addClass","addOverlay","removeOverlay","removeOverlays","showOverlay","hideOverlay","showOverlays","hideOverlays","setPaintStyle","setHoverPaintStyle","setSuspendEvents","setParameter","setParameters","setVisible","repaint","addType","toggleType","removeType","removeClass","setType","bind","unbind"],e=["getLabel","getOverlay","isHover","getParameter","getParameters","getPaintStyle","getHoverPaintStyle","isVisible","hasType","getType","isSuspendEvents"],i=0,r=f.length;r>i;i++)u[f[i]]=ct(n,f[i],t);for(i=0,r=e.length;r>i;i++)u[e[i]]=fi(n,e[i]);return u},pt=function(t){var i=cr(t,pt);return n.CurrentLibrary.extend(i,{setDetachable:ct(t,"setDetachable",pt),setReattach:ct(t,"setReattach",pt),setConnector:ct(t,"setConnector",pt),detach:function(){for(var n=0,i=t.length;i>n;n++)h.detach(t[n])},isDetachable:fi(t,"isDetachable"),isReattach:fi(t,"isReattach")})},ei=function(t){var i=cr(t,ei);return n.CurrentLibrary.extend(i,{setEnabled:ct(t,"setEnabled",ei),setAnchor:ct(t,"setAnchor",ei),isEnabled:fi(t,"isEnabled"),detachAll:function(){for(var n=0,i=t.length;i>n;n++)t[n].detachAll()},remove:function(){for(var n=0,i=t.length;i>n;n++)h.deleteObject({endpoint:t[n]})}})};this.select=function(n){return n=n||{},n.scope=n.scope||"*",pt(n.connections||h.getConnections(n,!0))};this.selectEndpoints=function(n){var t,r,s,i,h,l;n=n||{};n.scope=n.scope||"*";var u=!n.element&&!n.source&&!n.target,a=u?"*":tt(n.element),f=u?"*":tt(n.source),e=u?"*":tt(n.target),v=tt(n.scope,!0),o=[];for(t in c){var y=it(a,t,!0),p=it(f,t,!0),w="*"!=f,b=it(e,t,!0),k="*"!=e;if(y||p||b)n:for(r=0,s=c[t].length;s>r;r++)if(i=c[t][r],it(v,i.scope,!0)){if(h=w&&f.length>0&&!i.isSource,l=k&&e.length>0&&!i.isTarget,h||l)continue n;o.push(i)}}return ei(o)};this.getAllConnections=function(){return b};this.getDefaultScope=function(){return vi};this.getEndpoint=yt;this.getEndpoints=function(n){return c[a(n).id]};this.getDefaultEndpointType=function(){return n.Endpoint};this.getDefaultConnectionType=function(){return n.Connection};this.getId=w;this.getOffset=function(n){return l[n],k({elId:n})};this.getSelector=function(){return n.CurrentLibrary.getSelector.apply(null,arguments)};this.getSize=function(n){var t=p[n];return t||k({elId:n}),p[n]};this.appendElement=pr;di=!1;this.isHoverSuspended=function(){return di};this.setHoverSuspended=function(n){di=n};oi=function(n){return function(){return jsPlumbAdapter.isRenderModeAvailable(n)}};this.isCanvasAvailable=oi("canvas");this.isSVGAvailable=oi("svg");this.isVMLAvailable=oi("vml");this.hide=function(n,t){return sr(n,"none",t),h};this.idstamp=vt;this.connectorsInitialized=!1;wt=[];gi=["canvas","svg","vml"];this.registerConnectorType=function(n,t){wt.push([n,t])};this.init=function(){var r=function(t,i,r){n.Connectors[t][i]=function(){r.apply(this,arguments);n.ConnectorRenderers[t].apply(this,arguments)};jsPlumbUtil.extend(n.Connectors[t][i],[r,n.ConnectorRenderers[t]])},t,i;if(!n.connectorsInitialized){for(t=0;t<wt.length;t++)for(i=0;i<gi.length;i++)r(gi[i],wt[t][1],wt[t][0]);n.connectorsInitialized=!0}ci||(h.anchorManager=new n.AnchorManager({jsPlumbInstance:h}),h.setRenderMode(h.Defaults.RenderMode),ci=!0,h.fire("ready",h))}.bind(this);this.log=ur;this.jsPlumbUIComponent=e;this.makeAnchor=function(){var f,o=function(t,i){if(n.Anchors[t])return new n.Anchors[t](i);if(!h.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown anchor type '"+t+"'"};},e;if(0===arguments.length)return null;var i=arguments[0],u=arguments[1],s=arguments[2],r=null;return i.compute&&i.getOrientation?i:("string"==typeof i?r=o(arguments[0],{elementId:u,jsPlumbInstance:h}):t.isArray(i)&&(t.isArray(i[0])||t.isString(i[0])?2==i.length&&t.isObject(i[1])?t.isString(i[0])?(f=n.extend({elementId:u,jsPlumbInstance:h},i[1]),r=o(i[0],f)):(f=n.extend({elementId:u,jsPlumbInstance:h,anchors:i[0]},i[1]),r=new n.DynamicAnchor(f)):r=new n.DynamicAnchor({anchors:i,selector:null,elementId:u,jsPlumbInstance:s}):(e={x:i[0],y:i[1],orientation:i.length>=4?[i[2],i[3]]:[0,0],offsets:i.length>=6?[i[4],i[5]]:[0,0],elementId:u,jsPlumbInstance:s,cssClass:7==i.length?i[6]:null},r=new n.Anchor(e),r.clone=function(){return new n.Anchor(e)})),r.id||(r.id="anchor_"+vt()),r)};this.makeAnchors=function(i,r,u){for(var e=[],f=0,o=i.length;o>f;f++)"string"==typeof i[f]?e.push(n.Anchors[i[f]]({elementId:r,jsPlumbInstance:u})):t.isArray(i[f])&&e.push(h.makeAnchor(i[f],r,u));return e};this.makeDynamicAnchor=function(t,i){return new n.DynamicAnchor({anchors:t,selector:i,elementId:null,jsPlumbInstance:h})};var bt={},kt={},dt={},lt={},lr=function(t,i){t.paintStyle=t.paintStyle||h.Defaults.EndpointStyles[i]||h.Defaults.EndpointStyle||n.Defaults.EndpointStyles[i]||n.Defaults.EndpointStyle;t.hoverPaintStyle=t.hoverPaintStyle||h.Defaults.EndpointHoverStyles[i]||h.Defaults.EndpointHoverStyle||n.Defaults.EndpointHoverStyles[i]||n.Defaults.EndpointHoverStyle;t.anchor=t.anchor||h.Defaults.Anchors[i]||h.Defaults.Anchor||n.Defaults.Anchors[i]||n.Defaults.Anchor;t.endpoint=t.endpoint||h.Defaults.Endpoints[i]||h.Defaults.Endpoint||n.Defaults.Endpoints[i]||n.Defaults.Endpoint},gt={},nr={},ni={},d={},si={},ti={},g={},uu=function(n,t,i){for(var e=n.target||n.srcElement,u=!1,f=h.getSelector(t,i),r=0;r<f.length;r++)if(f[r]==e){u=!0;break}return u};this.makeTarget=function(i,u,f){var c=n.extend({_jsPlumb:h},f);n.extend(c,u);lr(c,1);var l=n.CurrentLibrary,w=c.scope||h.Defaults.Scope,b=!(c.deleteEndpointsOnDetach===!1),k=c.maxConnections||-1,y=c.onMaxConnections,d=function(i){var v=a(i),u=v.id,nt=new e(c),f=n.extend({},c.dropOptions||{}),d,p;bt[u]=c;dt[u]=c.uniqueEndpoint;lt[u]=k;g[u]=!0;d=function(){var d,e,i;h.currentlyDragging=!1;var a=n.CurrentLibrary.getDropEvent(arguments),it=h.select({target:u}).length,p=r(l.getDragObject(arguments)),rt=h.getAttribute(p,"dragId"),k=h.getAttribute(p,"originalScope"),t=ai[rt],f=t.endpoints[0].isFloating()?0:1,w=t.endpoints[0];if(c.endpoint?n.extend({},c.endpoint):{},!g[u]||lt[u]>0&&it>=lt[u])return y&&y({element:v.el,connection:t},a),!1;if(w.anchor.locked=!1,k&&l.setDragScope(p,k),null==t.suspendedEndpoint&&!t.pending)return!1;if(d=nt.isDropAllowed(0===f?u:t.sourceId,0===f?t.targetId:u,t.scope,t,null),t.suspendedEndpoint&&(t[f?"targetId":"sourceId"]=t.suspendedEndpoint.elementId,t[f?"target":"source"]=t.suspendedEndpoint.element,t.endpoints[f]=t.suspendedEndpoint),d){if(e=l.getElementObject(v.el),i=kt[u],(null==i||null==i._jsPlumb)&&(i=h.addEndpoint(e,c)),c.uniqueEndpoint&&(kt[u]=i),i._doNotDeleteOnDetach=!1,i._deleteOnDetach=!0,null!=i.anchor.positionFinder){var ut=l.getUIPosition(arguments,h.getZoom()),ft=o(e,h),et=s(e),tt=i.anchor.positionFinder(ut,ft,et,i.anchor.constructorParams);i.anchor.x=tt[0];i.anchor.y=tt[1]}t[f?"target":"source"]=i.element;t[f?"targetId":"sourceId"]=i.elementId;t.endpoints[f].detachFromConnection(t);t.endpoints[f]._deleteOnDetach&&(t.endpoints[f].deleteAfterDragStop=!0);i.addConnection(t);t.endpoints[f]=i;t.deleteEndpointsOnDetach=b;1==f?h.anchorManager.updateOtherEndpoint(t.sourceId,t.suspendedElementId,t.targetId,t):h.anchorManager.sourceChanged(t.suspendedEndpoint.elementId,t.sourceId,t);ui(t,null,a);t.pending=!1}else t.suspendedEndpoint&&(t.isReattach()?(t.setHover(!1),t.floatingAnchorIndex=null,t.suspendedEndpoint.addConnection(t),h.repaint(w.elementId)):w.detach(t,!1,!0,!0,a))};p=l.dragEvents.drop;f.scope=f.scope||w;f[p]=t.wrap(f[p],d);l.initDroppable(r(v.el),f,!0)};i=ri(i);for(var p=i.length&&i.constructor!=String?i:[i],v=0,nt=p.length;nt>v;v++)d(p[v]);return h};this.unmakeTarget=function(t,i){var r=a(t);return n.CurrentLibrary.destroyDroppable(r.el),i||(delete bt[r.id],delete dt[r.id],delete lt[r.id],delete g[r.id]),h};this.makeSource=function(u,f,e){var c=n.extend({},e);n.extend(c,f);lr(c,0);var l=n.CurrentLibrary,y=c.maxConnections||-1,p=c.onMaxConnections,g=function(u){var b=u.id,v=r(u.el),g=function(){return null==c.parent?null:"parent"===c.parent?u.el.parentNode:i(c.parent)},a=null!=c.parent?h.getId(g()):b,tt;gt[a]=c;ni[a]=c.uniqueEndpoint;d[a]=!0;var it=l.dragEvents.stop,rt=l.dragEvents.drag,e=n.extend({},c.dragOptions||{}),ut=e.drag,ft=e.stop,f=null,nt=!1;ti[a]=y;e.scope=e.scope||c.scope;e[rt]=t.wrap(e[rt],function(){ut&&ut.apply(this,arguments);nt=!1});e[it]=t.wrap(e[it],function(){var u,y;if(ft&&ft.apply(this,arguments),h.currentlyDragging=!1,null!=f._jsPlumb){l.unbind(f.canvas,"mousedown");var p=c.anchor||h.Defaults.Anchor,e=f.anchor,w=f.connections[0],t=h.makeAnchor(p,b,h),a=f.element;if(null!=t.positionFinder){var i=o(a,h),r=s(a),k={left:i.left+e.x*r[0],top:i.top+e.y*r[1]},v=t.positionFinder(k,i,r,t.constructorParams);t.x=v[0];t.y=v[1]}(f.setAnchor(t,!0),c.parent)&&(u=g(),u&&(y=c.container||h.Defaults.Container||n.Defaults.Container,f.setElement(u,y)));f.repaint();h.repaint(f.elementId);h.repaint(w.targetId)}});tt=function(t){var u,tt,it,st,ht,r,o,s;if(d[a]){if(c.filter&&(u=l.getOriginalEvent(t),tt=jsPlumbUtil.isString(c.filter)?uu(u,v,c.filter):c.filter(u,v),tt===!1))return;if(it=h.select({source:a}).length,ti[a]>=0&&it>=ti[a])return p&&p({element:v,maxConnections:y},t),!1;var i=k({elId:b}).o,rt=h.getZoom(),ut=((t.pageX||t.page.x)/rt-i.left)/i.width,ft=((t.pageY||t.page.y)/rt-i.top)/i.height,et=ut,ot=ft;c.parent&&(st=g(),ht=w(st),i=k({elId:ht}).o,et=((t.pageX||t.page.x)-i.left)/i.width,ot=((t.pageY||t.page.y)-i.top)/i.height);r={};(n.extend(r,c),r.isSource=!0,r.anchor=[ut,ft,0,0],r.parentAnchor=[et,ot,0,0],r.dragOptions=e,c.parent)&&(o=r.container||h.Defaults.Container||n.Defaults.Container,r.container=o?o:n.CurrentLibrary.getParent(g()));f=h.addEndpoint(b,r);nt=!0;f.endpointWillMoveAfterConnection=null!=c.parent;f.endpointWillMoveTo=c.parent?g():null;f._doNotDeleteOnDetach=!1;f._deleteOnDetach=!0;s=function(){nt&&(nt=!1,h.deleteEndpoint(f))};h.registerListener(f.canvas,"mouseup",s);h.registerListener(v,"mouseup",s);l.trigger(f.canvas,"mousedown",t)}};h.registerListener(v,"mousedown",tt);si[b]=tt;c.filter&&jsPlumbUtil.isString(c.filter)&&l.setDragFilter(v,c.filter)};u=ri(u);for(var b=u.length&&u.constructor!=String?u:[u],v=0,nt=b.length;nt>v;v++)g(a(b[v]));return h};this.unmakeSource=function(n,t){var i=a(n),r=si[i.id];return r&&h.unregisterListener(i.el,"mousedown",r),t||(delete gt[i.id],delete ni[i.id],delete d[i.id],delete si[i.id],delete ti[i.id]),h};this.unmakeEverySource=function(){for(var n in d)h.unmakeSource(n,!0);gt={};ni={};d={};si={}};this.unmakeEveryTarget=function(){for(var n in g)h.unmakeTarget(n,!0);return bt={},dt={},lt={},g={},h};ii=function(n,i,r,u){var f="source"==n?d:g,e,s,o;if(i=ri(i),t.isString(i))f[i]=u?!f[i]:r;else if(i.length)for(e=0,s=i.length;s>e;e++)o=a(i[e]),f[o.id]=u?!f[o.id]:r;return h};this.toggleSourceEnabled=function(n){return ii("source",n,null,!0),h.isSourceEnabled(n)};this.setSourceEnabled=function(n,t){return ii("source",n,t)};this.isSource=function(n){return null!=d[a(n).id]};this.isSourceEnabled=function(n){return d[a(n).id]===!0};this.toggleTargetEnabled=function(n){return ii("target",n,null,!0),h.isTargetEnabled(n)};this.isTarget=function(n){return null!=g[a(n).id]};this.isTargetEnabled=function(n){return g[a(n).id]===!0};this.setTargetEnabled=function(n,t){return ii("target",n,t)};this.ready=function(n){h.bind("ready",n)};this.repaint=function(n,t,i){if("object"==typeof n&&n.length)for(var r=0,u=n.length;u>r;r++)st(n[r],t,i);else st(n,t,i);return h};this.repaintEverything=function(n){var t=u();for(var i in c)st(i,null,t,n);return h};this.removeAllEndpoints=function(n,t){var i=function(n){var r,f,u=a(n),e=c[u.id];if(e)for(r=0,f=e.length;f>r;r++)h.deleteEndpoint(e[r]);if(delete c[u.id],t&&u.el&&3!=u.el.nodeType&&8!=u.el.nodeType)for(r=0,f=u.el.childNodes.length;f>r;r++)i(u.el.childNodes[r])};return i(n),h};this.remove=function(t,i){var r=a(t);h.doWhileSuspended(function(){h.removeAllEndpoints(r.id,!0);h.dragManager.elementRemoved(r.id);delete ai[r.id];h.anchorManager.clearFor(r.id);h.anchorManager.removeFloatingConnection(r.id)},i===!1);r.el&&n.CurrentLibrary.removeElement(r.el)};ut={};ar=function(){var r,t,u,i;for(r in ut)for(t=0,u=ut[r].length;u>t;t++)i=ut[r][t],n.CurrentLibrary.unbind(i.el,i.event,i.listener);ut={}};this.registerListener=function(t,i,r){n.CurrentLibrary.bind(t,i,r);jsPlumbUtil.addToList(ut,i,{el:t,event:i,listener:r})};this.unregisterListener=function(t,i,r){n.CurrentLibrary.unbind(t,i,r);jsPlumbUtil.removeWithFunction(ut,function(n){return n.type==i&&n.listener==r})};this.reset=function(){h.deleteEveryEndpoint();h.unbind();bt={};kt={};dt={};lt={};gt={};nr={};ni={};ti={};b.splice(0);ar();h.anchorManager.reset();jsPlumbAdapter.headless||h.dragManager.reset()};this.setDefaultScope=function(n){return vi=n,h};this.setDraggable=br;this.setId=function(n,t,r){var u,o,s,f,l,e;for(jsPlumbUtil.isString(n)?u=n:(n=i(n),u=h.getId(n)),o=h.getConnections({source:u,scope:"*"},!0),s=h.getConnections({target:u,scope:"*"},!0),t=""+t,r?n=i(t):(n=i(u),jsPlumbAdapter.setAttribute(n,"id",t)),c[t]=c[u]||[],f=0,l=c[t].length;l>f;f++)c[t][f].setElementId(t),c[t][f].setReferenceElement(n);delete c[u];h.anchorManager.changeId(u,t);jsPlumbAdapter.headless||h.dragManager.changeId(u,t);e=function(i,r,u){for(var f=0,e=i.length;e>f;f++)i[f].endpoints[r].setElementId(t),i[f].endpoints[r].setReferenceElement(n),i[f][u+"Id"]=t,i[f][u]=n};e(o,0,"source");e(s,1,"target");h.repaint(t)};this.setDebugLog=function(n){ur=n};this.setSuspendDrawing=function(n,t){var i=nt;return nt=n,ot=n?(new Date).getTime():null,t&&h.repaintEverything(),i};this.isSuspendDrawing=function(){return nt};this.getSuspendedAt=function(){return ot};this.doWhileSuspended=function(n,i){var r=h.isSuspendDrawing();r||h.setSuspendDrawing(!0);try{n()}catch(u){t.log("Function run while suspended failed",u)}r||h.setSuspendDrawing(!1,!i)};this.updateOffset=k;this.getOffset=function(n){return l[n]};this.getSize=function(n){return p[n]};this.getCachedData=gr;this.timestamp=u;this.setRenderMode=function(t){var i,u,r;return at=jsPlumbAdapter.setRenderMode(t),at==n.CANVAS&&(r=function(t){n.CurrentLibrary.bind(document,t,function(r){var e,o,f;if(!h.currentlyDragging&&at==n.CANVAS){for(i=0,u=b.length;u>i;i++)if(e=b[i].getConnector()[t](r),e)return;for(o in c)for(f=c[o],i=0,u=f.length;u>i;i++)if(f[i].endpoint[t]&&f[i].endpoint[t](r))return}})},r("click"),r("dblclick"),r("mousemove"),r("mousedown"),r("mouseup"),r("contextmenu")),at};this.getRenderMode=function(){return at};this.show=function(n,t){return sr(n,"block",t),h};this.getTestHarness=function(){return{endpointsByElement:c,endpointCount:function(n){var t=c[n];return t?t.length:0},connectionCount:function(n){n=n||vi;var t=h.getConnections({scope:n});return t?t.length:0},getId:w,makeAnchor:self.makeAnchor,makeDynamicAnchor:self.makeDynamicAnchor}};this.toggleVisible=dr;this.toggleDraggable=kr;this.addListener=this.bind;this.adjustForParentOffsetAndScroll=function(n,t){var i=null,r=n,u,f;return("svg"===t.tagName.toLowerCase()&&t.parentNode?i=t.parentNode:t.offsetParent&&(i=t.offsetParent),null!=i)&&(u="body"===i.tagName.toLowerCase()?{left:0,top:0}:o(i,h),f="body"===i.tagName.toLowerCase()?{left:0,top:0}:{left:i.scrollLeft,top:i.scrollTop},r[0]=n[0]-u.left+f.left,r[1]=n[1]-u.top+f.top),r};jsPlumbAdapter.headless||(h.dragManager=jsPlumbAdapter.getDragManager(h),h.recalculateOffsets=h.dragManager.updateOffsets)};jsPlumbUtil.extend(a,jsPlumbUtil.EventGenerator,{setAttribute:function(n,t,i){jsPlumbAdapter.setAttribute(n,t,i)},getAttribute:function(t,i){return jsPlumbAdapter.getAttribute(n.CurrentLibrary.getDOMElement(t),i)},registerConnectionType:function(t,i){this._connectionTypes[t]=n.extend({},i)},registerConnectionTypes:function(t){for(var i in t)this._connectionTypes[i]=n.extend({},t[i])},registerEndpointType:function(t,i){this._endpointTypes[t]=n.extend({},i)},registerEndpointTypes:function(t){for(var i in t)this._endpointTypes[i]=n.extend({},t[i])},getType:function(n,t){return"connection"===t?this._connectionTypes[n]:this._endpointTypes[n]},setIdChanged:function(n,t){this.setId(n,t,!0)},setParent:function(t,i){var r=n.CurrentLibrary,f=r.getElementObject(t),u=r.getDOMElement(f),s=this.getId(u),e=r.getElementObject(i),o=r.getDOMElement(e),h=this.getId(o);u.parentNode.removeChild(u);o.appendChild(u);this.dragManager.setParent(f,s,e,h)}});n=new a;"undefined"!=typeof window&&(window.jsPlumb=n);n.getInstance=function(n){var t=new a(n);return t.init(),t};"function"==typeof define&&(define("jsplumb",[],function(){return n}),define("jsplumbinstance",[],function(){return n.getInstance()}));"undefined"!=typeof exports&&(exports.jsPlumb=n)}(),function(){var i=function(n,t){var i=!1;return{drag:function(){if(i)return i=!1,!0;var r=jsPlumb.CurrentLibrary.getUIPosition(arguments,t.getZoom());n.element&&(jsPlumb.CurrentLibrary.setOffset(n.element,r),t.repaint(n.element,r))},stopDrag:function(){i=!0}}},r=function(n,t,i){var r=document.createElement("div"),u;r.style.position="absolute";jsPlumb.CurrentLibrary.getElementObject(r);jsPlumb.CurrentLibrary.appendElement(r,t);u=i.getId(r);i.updateOffset({elId:u});n.id=u;n.element=r},u=function(n,t,i,r,u,f,e){var o=new jsPlumb.FloatingAnchor({reference:t,referenceCanvas:r,jsPlumbInstance:f});return e({paintStyle:n,endpoint:i,anchor:o,source:u,scope:"__floating"})},n=["connectorStyle","connectorHoverStyle","connectorOverlays","connector","connectionType","connectorClass","connectorHoverClass"],f=function(n,t){var r=0,i;if(null!=t)for(i=0;i<n.connections.length;i++)if(n.connections[i].sourceId==t||n.connections[i].targetId==t){r=i;break}return n.connections[r]},t=function(n,t){return jsPlumbUtil.findWithFunction(t.connections,function(t){return t.id==n.id})};jsPlumb.Endpoint=function(e){var o=e._jsPlumb,s=jsPlumb.CurrentLibrary,l=(jsPlumbAdapter.getAttribute,s.getElementObject),w=s.getDOMElement,h=jsPlumbUtil,g=e.newConnection,b=e.newEndpoint,nt=e.finaliseConnection,tt=(e.fireDetachEvent,e.fireMoveEvent),a=e.floatingConnections,c,v,k,d,y,p;return this.idPrefix="_jsplumb_e_",this.defaultLabelLocation=[.5,.5],this.defaultOverlayKeys=["Overlays","EndpointOverlays"],this.parent=e.parent,OverlayCapableJsPlumbUIComponent.apply(this,arguments),this.getDefaultType=function(){return{parameters:{},scope:null,maxConnections:this._jsPlumb.instance.Defaults.MaxConnections,paintStyle:this._jsPlumb.instance.Defaults.EndpointStyle||jsPlumb.Defaults.EndpointStyle,endpoint:this._jsPlumb.instance.Defaults.Endpoint||jsPlumb.Defaults.Endpoint,hoverPaintStyle:this._jsPlumb.instance.Defaults.EndpointHoverStyle||jsPlumb.Defaults.EndpointHoverStyle,overlays:this._jsPlumb.instance.Defaults.EndpointOverlays||jsPlumb.Defaults.EndpointOverlays,connectorStyle:e.connectorStyle,connectorHoverStyle:e.connectorHoverStyle,connectorClass:e.connectorClass,connectorHoverClass:e.connectorHoverClass,connectorOverlays:e.connectorOverlays,connector:e.connector,connectorTooltip:e.connectorTooltip}},this._jsPlumb.enabled=!(e.enabled===!1),this._jsPlumb.visible=!0,this.element=w(e.source),this._jsPlumb.uuid=e.uuid,this._jsPlumb.floatingEndpoint=null,c=null,this._jsPlumb.uuid&&(e.endpointsByUUID[this._jsPlumb.uuid]=this),this.elementId=e.elementId,this._jsPlumb.connectionCost=e.connectionCost,this._jsPlumb.connectionsDirected=e.connectionsDirected,this._jsPlumb.currentAnchorClass="",this._jsPlumb.events={},v=function(){s.removeClass(this.element,o.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass);this.removeClass(o.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass);this._jsPlumb.currentAnchorClass=this.anchor.getCssClass();this.addClass(o.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass);s.addClass(this.element,o.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass)}.bind(this),this.setAnchor=function(n,t){return this._jsPlumb.instance.continuousAnchorFactory.clear(this.elementId),this.anchor=this._jsPlumb.instance.makeAnchor(n,this.elementId,o),v(),this.anchor.bind("anchorChanged",function(n){this.fire("anchorChanged",{endpoint:this,anchor:n});v()}.bind(this)),t||this._jsPlumb.instance.repaint(this.elementId),this},k=e.anchor?e.anchor:e.anchors?e.anchors:o.Defaults.Anchor||"Top",this.setAnchor(k,!0),d=function(n){this.connections.length>0?this.connections[0].setHover(n,!1):this.setHover(n)}.bind(this),e._transient||this._jsPlumb.instance.anchorManager.add(this,this.elementId),this.setEndpoint=function(n){null!=this.endpoint&&(this.endpoint.cleanup(),this.endpoint.destroy());var i=function(n,t){var i=o.getRenderMode();if(jsPlumb.Endpoints[i][n])return new jsPlumb.Endpoints[i][n](t);if(!o.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown endpoint type '"+n+"'"};},t={_jsPlumb:this._jsPlumb.instance,cssClass:e.cssClass,parent:e.parent,container:e.container,tooltip:e.tooltip,connectorTooltip:e.connectorTooltip,endpoint:this};h.isString(n)?this.endpoint=i(n,t):h.isArray(n)?(t=h.merge(n[1],t),this.endpoint=i(n[0],t)):this.endpoint=n.clone();jsPlumb.extend({},t);this.endpoint.clone=function(){return h.isString(n)?i(n,t):h.isArray(n)?(t=h.merge(n[1],t),i(n[0],t)):void 0}.bind(this);this.type=this.endpoint.type;this.bindListeners(this.endpoint,this,d)},this.setEndpoint(e.endpoint||o.Defaults.Endpoint||jsPlumb.Defaults.Endpoint||"Dot"),this.setPaintStyle(e.paintStyle||e.style||o.Defaults.EndpointStyle||jsPlumb.Defaults.EndpointStyle,!0),this.setHoverPaintStyle(e.hoverPaintStyle||o.Defaults.EndpointHoverStyle||jsPlumb.Defaults.EndpointHoverStyle,!0),this._jsPlumb.paintStyleInUse=this.getPaintStyle(),h.copyValues(n,e,this),this.isSource=e.isSource||!1,this.isTarget=e.isTarget||!1,this._jsPlumb.maxConnections=e.maxConnections||o.Defaults.MaxConnections,this.canvas=this.endpoint.canvas,this.addClass(o.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass),s.addClass(this.element,o.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass),this.connections=e.connections||[],this.connectorPointerEvents=e["connector-pointer-events"],this.scope=e.scope||o.getDefaultScope(),this.timestamp=null,this.reattachConnections=e.reattach||o.Defaults.ReattachConnections,this.connectionsDetachable=o.Defaults.ConnectionsDetachable,(e.connectionsDetachable===!1||e.detachable===!1)&&(this.connectionsDetachable=!1),this.dragAllowedWhenFull=e.dragAllowedWhenFull||!0,e.onMaxConnections&&this.bind("maxConnections",e.onMaxConnections),this.addConnection=function(n){this.connections.push(n);this[(this.connections.length>0?"add":"remove")+"Class"](o.endpointConnectedClass);this[(this.isFull()?"add":"remove")+"Class"](o.endpointFullClass)},this.detachFromConnection=function(n,i){i=null==i?t(n,this):i;i>=0&&(this.connections.splice(i,1),this[(this.connections.length>0?"add":"remove")+"Class"](o.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](o.endpointFullClass))},this.detach=function(n,i,r,u,f,e,s){var c=null==s?t(n,this):s,h=!1;return u=u!==!1,c>=0&&(r||n._forceDetach||n.isDetachable()&&n.isDetachAllowed(n)&&this.isDetachAllowed(n))&&(o.deleteObject({connection:n,fireEvent:!i&&u,originalEvent:f}),h=!0),h},this.detachAll=function(n,t){for(;this.connections.length>0;)this.detach(this.connections[0],!1,!0,n!==!1,t,this,0);return this},this.detachFrom=function(n,t,i){for(var f,u=[],r=0;r<this.connections.length;r++)(this.connections[r].endpoints[1]==n||this.connections[r].endpoints[0]==n)&&u.push(this.connections[r]);for(f=0;f<u.length;f++)this.detach(u[f],!1,!0,t,i);return this},this.getElement=function(){return this.element},this.setElement=function(n){var t=this._jsPlumb.instance.getId(n),i=this.elementId;return h.removeWithFunction(e.endpointsByElement[this.elementId],function(n){return n.id==this.id}.bind(this)),this.element=w(n),this.elementId=o.getId(this.element),o.anchorManager.rehomeEndpoint(this,i,this.element),o.dragManager.endpointAdded(this.element),h.addToList(e.endpointsByElement,t,this),this},this.makeInPlaceCopy=function(){var n=this.anchor.getCurrentLocation({element:this}),t=this.anchor.getOrientation(this),i=this.anchor.getCssClass(),r={bind:function(){},compute:function(){return[n[0],n[1]]},getCurrentLocation:function(){return[n[0],n[1]]},getOrientation:function(){return t},getCssClass:function(){return i}};return b({anchor:r,source:this.element,paintStyle:this.getPaintStyle(),endpoint:e.hideOnDrag?"Blank":this.endpoint,_transient:!0,scope:this.scope})},this.isFloating=function(){return null!=this.anchor&&this.anchor.isFloating},this.connectorSelector=function(){var n=this.connections[0];return this.isTarget&&n?n:this.connections.length<this._jsPlumb.maxConnections||-1==this._jsPlumb.maxConnections?null:n},this.setStyle=this.setPaintStyle,this.paint=function(n){var t,l,c,u,e,a,v,r,i,h;if(n=n||{},t=n.timestamp,l=!(n.recalc===!1),(!t||this.timestamp!==t)&&(c=o.updateOffset({elId:this.elementId,timestamp:t}),u=n.offset?n.offset.o:c.o,null!=u)){if(e=n.anchorPoint,a=n.connectorPaintStyle,null==e){if(v=n.dimensions||c.s,r={xy:[u.left,u.top],wh:v,element:this,timestamp:t},l&&this.anchor.isDynamic&&this.connections.length>0){var s=f(this,n.elementWithPrecedence),y=s.endpoints[0]==this?1:0,b=0===y?s.sourceId:s.targetId,p=o.getCachedData(b),w=p.o,k=p.s;r.txy=[w.left,w.top];r.twh=k;r.tElement=s.endpoints[y]}e=this.anchor.compute(r)}for(this.endpoint.compute(e,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,a||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=t,i=0;i<this._jsPlumb.overlays.length;i++)h=this._jsPlumb.overlays[i],h.isVisible()&&(this._jsPlumb.overlayPlacements[i]=h.draw(this.endpoint,this._jsPlumb.paintStyleInUse),h.paint(this._jsPlumb.overlayPlacements[i]))}},this.repaint=this.paint,y=!1,this.initDraggable=function(){var it;if(!y&&s.isDragSupported(this.element)){var t={id:null,element:null},n=null,w=!1,v=null,k=i(t,o),rt=function(){var f,d,i,nt,ut;if(n=this.connectorSelector(),f=!0,this.isEnabled()||(f=!1),null!=n||this.isSource||(f=!1),this.isSource&&this.isFull()&&!this.dragAllowedWhenFull&&(f=!1),null==n||n.isDetachable()||(f=!1),f===!1)return s.stopDrag&&s.stopDrag(),k.stopDrag(),!1;for(d=0;d<this.connections.length;d++)this.connections[d].setHover(!1);this.addClass("endpointDrag");o.setConnectionBeingDragged(!0);n&&!this.isFull()&&this.isSource&&(n=null);o.updateOffset({elId:this.elementId});c=this.makeInPlaceCopy();c.referenceEndpoint=this;c.paint();r(t,this.parent,o);var tt=l(c.canvas),it=jsPlumb.CurrentLibrary.getOffset(tt,o),rt=o.adjustForParentOffsetAndScroll([it.left,it.top],c.canvas),y=l(this.canvas);(s.setOffset(t.element,{left:rt[0],top:rt[1]}),this.parentAnchor&&(this.anchor=o.makeAnchor(this.parentAnchor,this.elementId,o)),o.setAttribute(this.canvas,"dragId",t.id),o.setAttribute(this.canvas,"elId",this.elementId),this._jsPlumb.floatingEndpoint=u(this.getPaintStyle(),this.anchor,this.endpoint,this.canvas,t.element,o,b),this.canvas.style.visibility="hidden",null==n)?(this.anchor.locked=!0,this.setHover(!1,!1),n=g({sourceEndpoint:this,targetEndpoint:this._jsPlumb.floatingEndpoint,source:this.endpointWillMoveTo||this.element,target:t.element,anchors:[this.anchor,this._jsPlumb.floatingEndpoint.anchor],paintStyle:e.connectorStyle,hoverPaintStyle:e.connectorHoverStyle,connector:e.connector,overlays:e.connectorOverlays,type:this.connectionType,cssClass:this.connectorClass,hoverClass:this.connectorHoverClass}),n.pending=!0,n.addClass(o.draggingClass),this._jsPlumb.floatingEndpoint.addClass(o.draggingClass),o.fire("connectionDrag",n)):(w=!0,n.setHover(!1),p(tt,!1,!0),i=n.endpoints[0].id==this.id?0:1,n.floatingAnchorIndex=i,this.detachFromConnection(n),nt=jsPlumb.CurrentLibrary.getDragScope(y),o.setAttribute(this.canvas,"originalScope",nt),ut=s.getDropScope(y),s.setDragScope(y,ut),o.fire("connectionDrag",n),0===i?(v=[n.source,n.sourceId,y,nt],n.source=t.element,n.sourceId=t.id):(v=[n.target,n.targetId,y,nt],n.target=t.element,n.targetId=t.id),n.endpoints[0===i?1:0].anchor.locked=!0,n.suspendedEndpoint=n.endpoints[i],n.suspendedElement=n.endpoints[i].getElement(),n.suspendedElementId=n.endpoints[i].elementId,n.suspendedElementType=0===i?"source":"target",n.suspendedEndpoint.setHover(!1),this._jsPlumb.floatingEndpoint.referenceEndpoint=n.suspendedEndpoint,n.endpoints[i]=this._jsPlumb.floatingEndpoint,n.addClass(o.draggingClass),this._jsPlumb.floatingEndpoint.addClass(o.draggingClass));a[t.id]=n;o.anchorManager.addFloatingConnection(t.id,n);h.addToList(e.endpointsByElement,t.id,this._jsPlumb.floatingEndpoint);o.currentlyDragging=!0}.bind(this),f=e.dragOptions||{},ut=jsPlumb.extend({},s.defaultDragOptions),d=s.dragEvents.start,nt=s.dragEvents.stop,tt=s.dragEvents.drag;f=jsPlumb.extend(ut,f);f.scope=f.scope||this.scope;f[d]=h.wrap(f[d],rt,!1);f[tt]=h.wrap(f[tt],k.drag);f[nt]=h.wrap(f[nt],function(){if(o.setConnectionBeingDragged(!1),null!=n.endpoints){var r=s.getDropEvent(arguments),i=null==n.floatingAnchorIndex?1:n.floatingAnchorIndex;n.endpoints[0===i?1:0].anchor.locked=!1;n.removeClass(o.draggingClass);n.endpoints[i]==this._jsPlumb.floatingEndpoint&&w&&n.suspendedEndpoint&&(0===i?(n.source=v[0],n.sourceId=v[1]):(n.target=v[0],n.targetId=v[1]),s.setDragScope(v[2],v[3]),n.endpoints[i]=n.suspendedEndpoint,(n.isReattach()||n._forceReattach||n._forceDetach||!n.endpoints[0===i?1:0].detach(n,!1,!1,!0,r))&&(n.setHover(!1),n.floatingAnchorIndex=null,n._forceDetach=null,n._forceReattach=null,this._jsPlumb.floatingEndpoint.detachFromConnection(n),n.suspendedEndpoint.addConnection(n),o.repaint(v[1])))}o.remove(t.element,!1);o.remove(c.canvas,!1);this.deleteAfterDragStop?o.deleteObject({endpoint:this}):this._jsPlumb&&(this._jsPlumb.floatingEndpoint=null,this.canvas.style.visibility="visible",this.anchor.locked=!1,this.paint({recalc:!1}));o.fire("connectionDragStop",n,r);o.currentlyDragging=!1;n=null}.bind(this));it=l(this.canvas);s.initDraggable(it,f,!0,o);y=!0}},(this.isSource||this.isTarget)&&this.initDraggable(),p=function(n,t,i,r){var u;if((this.isTarget||t)&&s.isDropSupported(this.element)){u=e.dropOptions||o.Defaults.DropOptions||jsPlumb.Defaults.DropOptions;u=jsPlumb.extend({},u);u.scope=u.scope||this.scope;var f=s.dragEvents.drop,c=s.dragEvents.over,v=s.dragEvents.out,y=function(){var t,h,i;this.removeClass(o.endpointDropAllowedClass);this.removeClass(o.endpointDropForbiddenClass);var f=s.getDropEvent(arguments),u=l(s.getDragObject(arguments)),v=o.getAttribute(u,"dragId"),e=(o.getAttribute(u,"elId"),o.getAttribute(u,"originalScope")),n=a[v],y=n.suspendedEndpoint&&(n.suspendedEndpoint.id==this.id||this.referenceEndpoint&&n.suspendedEndpoint.id==this.referenceEndpoint.id);if(y)return n._forceReattach=!0,void 0;if(null!=n){if(t=null==n.floatingAnchorIndex?1:n.floatingAnchorIndex,e&&jsPlumb.CurrentLibrary.setDragScope(u,e),h=null!=r?r.isEnabled():!0,this.isFull()&&this.fire("maxConnections",{endpoint:this,connection:n,maxConnections:this._jsPlumb.maxConnections},f),!this.isFull()&&(0!==t||this.isSource)&&(1!=t||this.isTarget)&&h){i=!0;n.suspendedEndpoint&&n.suspendedEndpoint.id!=this.id&&(0===t?(n.source=n.suspendedEndpoint.element,n.sourceId=n.suspendedEndpoint.elementId):(n.target=n.suspendedEndpoint.element,n.targetId=n.suspendedEndpoint.elementId),n.isDetachAllowed(n)&&n.endpoints[t].isDetachAllowed(n)&&n.suspendedEndpoint.isDetachAllowed(n)&&o.checkCondition("beforeDetach",n)||(i=!1));0===t?(n.source=this.element,n.sourceId=this.elementId):(n.target=this.element,n.targetId=this.elementId);var c=function(){n.floatingAnchorIndex=null},p=function(){var i,r,u;n.pending=!1;n.endpoints[t].detachFromConnection(n);n.suspendedEndpoint&&n.suspendedEndpoint.detachFromConnection(n);n.endpoints[t]=this;this.addConnection(n);i=this.getParameters();for(r in i)n.setParameter(r,i[r]);n.suspendedEndpoint?(u=(n.suspendedEndpoint.getElement(),n.suspendedEndpoint.elementId),tt({index:t,originalSourceId:0===t?u:n.sourceId,newSourceId:0===t?this.elementId:n.sourceId,originalTargetId:1==t?u:n.targetId,newTargetId:1==t?this.elementId:n.targetId,originalSourceEndpoint:0===t?n.suspendedEndpoint:n.endpoints[0],newSourceEndpoint:0===t?this:n.endpoints[0],originalTargetEndpoint:1==t?n.suspendedEndpoint:n.endpoints[1],newTargetEndpoint:1==t?this:n.endpoints[1],connection:n},f)):i.draggable&&jsPlumb.CurrentLibrary.initDraggable(this.element,dragOptions,!0,o);1==t?o.anchorManager.updateOtherEndpoint(n.sourceId,n.suspendedElementId,n.targetId,n):o.anchorManager.sourceChanged(n.suspendedEndpoint.elementId,n.sourceId,n);nt(n,null,f);c()}.bind(this),w=function(){n.suspendedEndpoint&&(n.endpoints[t]=n.suspendedEndpoint,n.setHover(!1),n._forceDetach=!0,0===t?(n.source=n.suspendedEndpoint.element,n.sourceId=n.suspendedEndpoint.elementId):(n.target=n.suspendedEndpoint.element,n.targetId=n.suspendedEndpoint.elementId),n.suspendedEndpoint.addConnection(n),n.endpoints[0].repaint(),n.repaint(),o.repaint(n.sourceId),n._forceDetach=!1);c()};i=i&&this.isDropAllowed(n.sourceId,n.targetId,n.scope,n,this);i?p():w()}o.currentlyDragging=!1}}.bind(this);u[f]=h.wrap(u[f],y);u[c]=h.wrap(u[c],function(){var u=s.getDragObject(arguments),f=o.getAttribute(u,"dragId"),n=a[f],t,r,i;null!=n&&(t=null==n.floatingAnchorIndex?1:n.floatingAnchorIndex,r=this.isTarget&&0!==n.floatingAnchorIndex||n.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id==n.suspendedEndpoint.id,r&&(i=o.checkCondition("checkDropAllowed",{sourceEndpoint:n.endpoints[t],targetEndpoint:this,connection:n}),this[(i?"add":"remove")+"Class"](o.endpointDropAllowedClass),this[(i?"remove":"add")+"Class"](o.endpointDropForbiddenClass),n.endpoints[t].anchor.over(this.anchor,this)))}.bind(this));u[v]=h.wrap(u[v],function(){var r=s.getDragObject(arguments),u=o.getAttribute(r,"dragId"),n=a[u],t,i;null!=n&&(t=null==n.floatingAnchorIndex?1:n.floatingAnchorIndex,i=this.isTarget&&0!==n.floatingAnchorIndex||n.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id==n.suspendedEndpoint.id,i&&(this.removeClass(o.endpointDropAllowedClass),this.removeClass(o.endpointDropForbiddenClass),n.endpoints[t].anchor.out()))}.bind(this));s.initDroppable(n,u,!0,i)}}.bind(this),p(l(this.canvas),!0,!(e._transient||this.anchor.isFloating),this),e.type&&this.addType(e.type,e.data,o.isSuspendDrawing()),this};jsPlumbUtil.extend(jsPlumb.Endpoint,OverlayCapableJsPlumbUIComponent,{getTypeDescriptor:function(){return"endpoint"},isVisible:function(){return this._jsPlumb.visible},setVisible:function(n,t,i){var r,u;if(this._jsPlumb.visible=n,this.canvas&&(this.canvas.style.display=n?"block":"none"),this[n?"showOverlays":"hideOverlays"](),!t)for(r=0;r<this.connections.length;r++)(this.connections[r].setVisible(n),i)||(u=this===this.connections[r].endpoints[0]?1:0,1==this.connections[r].endpoints[u].connections.length&&this.connections[r].endpoints[u].setVisible(n,!0,!0))},getAttachedElements:function(){return this.connections},applyType:function(t){null!=t.maxConnections&&(this._jsPlumb.maxConnections=t.maxConnections);t.scope&&(this.scope=t.scope);jsPlumbUtil.copyValues(n,t,this);t.anchor&&(this.anchor=this._jsPlumb.instance.makeAnchor(t.anchor))},isEnabled:function(){return this._jsPlumb.enabled},setEnabled:function(n){this._jsPlumb.enabled=n},cleanup:function(){jsPlumb.CurrentLibrary.removeClass(this.element,this._jsPlumb.instance.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass);this.anchor=null;this.endpoint.cleanup();this.endpoint.destroy();this.endpoint=null;var n=jsPlumb.CurrentLibrary.getElementObject(this.canvas);jsPlumb.CurrentLibrary.destroyDraggable(n);jsPlumb.CurrentLibrary.destroyDroppable(n)},setHover:function(n){this.endpoint&&this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged()&&this.endpoint.setHover(n)},isFull:function(){return!(this.isFloating()||this._jsPlumb.maxConnections<1||this.connections.length<this._jsPlumb.maxConnections)},getConnectionCost:function(){return this._jsPlumb.connectionCost},setConnectionCost:function(n){this._jsPlumb.connectionCost=n},areConnectionsDirected:function(){return this._jsPlumb.connectionsDirected},setConnectionsDirected:function(n){this._jsPlumb.connectionsDirected=n},setElementId:function(n){this.elementId=n;this.anchor.elementId=n},setReferenceElement:function(n){this.element=jsPlumb.CurrentLibrary.getDOMElement(n)},setDragAllowedWhenFull:function(n){this.dragAllowedWhenFull=n},equals:function(n){return this.anchor.equals(n.anchor)},getUuid:function(){return this._jsPlumb.uuid},computeAnchor:function(n){return this.anchor.compute(n)}})}(),function(){var t=function(n,t,i,r){if(!n.Defaults.DoNotThrowErrors&&null==jsPlumb.Connectors[t][i])throw{msg:"jsPlumb: unknown connector type '"+i+"'"};return new jsPlumb.Connectors[t][i](r)},n=function(n,t,i){return n?i.makeAnchor(n,t,i):null},i=function(t,i,r,u,f,e,o,s,h,c){var v,y,l,a,p,w;return u?(r.endpoints[f]=u,u.addConnection(r)):(e.endpoints||(e.endpoints=[null,null]),y=e.endpoints[f]||e.endpoint||t.Defaults.Endpoints[f]||jsPlumb.Defaults.Endpoints[f]||t.Defaults.Endpoint||jsPlumb.Defaults.Endpoint,e.endpointStyles||(e.endpointStyles=[null,null]),e.endpointHoverStyles||(e.endpointHoverStyles=[null,null]),l=e.endpointStyles[f]||e.endpointStyle||t.Defaults.EndpointStyles[f]||jsPlumb.Defaults.EndpointStyles[f]||t.Defaults.EndpointStyle||jsPlumb.Defaults.EndpointStyle,null==l.fillStyle&&null!=h&&(l.fillStyle=h.strokeStyle),null==l.outlineColor&&null!=h&&(l.outlineColor=h.outlineColor),null==l.outlineWidth&&null!=h&&(l.outlineWidth=h.outlineWidth),a=e.endpointHoverStyles[f]||e.endpointHoverStyle||t.Defaults.EndpointHoverStyles[f]||jsPlumb.Defaults.EndpointHoverStyles[f]||t.Defaults.EndpointHoverStyle||jsPlumb.Defaults.EndpointHoverStyle,null!=c&&(null==a&&(a={}),null==a.fillStyle&&(a.fillStyle=c.strokeStyle)),p=e.anchors?e.anchors[f]:e.anchor?e.anchor:n(t.Defaults.Anchors[f],s,t)||n(jsPlumb.Defaults.Anchors[f],s,t)||n(t.Defaults.Anchor,s,t)||n(jsPlumb.Defaults.Anchor,s,t),w=e.uuids?e.uuids[f]:null,v=i({paintStyle:l,hoverPaintStyle:a,endpoint:y,connections:[r],uuid:w,anchor:p,source:o,scope:e.scope,container:e.container,reattach:e.reattach||t.Defaults.ReattachConnections,detachable:e.detachable||t.Defaults.ConnectionsDetachable}),r.endpoints[f]=v,e.drawEndpoints===!1&&v.setVisible(!1,!0,!0)),v};jsPlumb.Connection=function(n){var v=(n.newConnection,n.newEndpoint),r=jsPlumb.CurrentLibrary,y=(r.getAttribute,r.getElementObject,r.getDOMElement),p=jsPlumbUtil,t,h,c,u,s,a;if(r.getOffset,this.connector=null,this.idPrefix="_jsplumb_c_",this.defaultLabelLocation=.5,this.defaultOverlayKeys=["Overlays","ConnectionOverlays"],this.parent=n.parent,this.previousConnection=n.previousConnection,this.source=y(n.source),this.target=y(n.target),n.sourceEndpoint&&(this.source=n.sourceEndpoint.endpointWillMoveTo||n.sourceEndpoint.getElement()),n.targetEndpoint&&(this.target=n.targetEndpoint.getElement()),OverlayCapableJsPlumbUIComponent.apply(this,arguments),this.sourceId=this._jsPlumb.instance.getId(this.source),this.targetId=this._jsPlumb.instance.getId(this.target),this.scope=n.scope,this.endpoints=[],this.endpointStyles=[],t=this._jsPlumb.instance,this._jsPlumb.visible=!0,this._jsPlumb.editable=n.editable===!0,this._jsPlumb.params={parent:n.parent,cssClass:n.cssClass,container:n.container,"pointer-events":n["pointer-events"],editorParams:n.editorParams},this._jsPlumb.lastPaintedAt=null,this.getDefaultType=function(){return{parameters:{},scope:null,detachable:this._jsPlumb.instance.Defaults.ConnectionsDetachable,rettach:this._jsPlumb.instance.Defaults.ReattachConnections,paintStyle:this._jsPlumb.instance.Defaults.PaintStyle||jsPlumb.Defaults.PaintStyle,connector:this._jsPlumb.instance.Defaults.Connector||jsPlumb.Defaults.Connector,hoverPaintStyle:this._jsPlumb.instance.Defaults.HoverPaintStyle||jsPlumb.Defaults.HoverPaintStyle,overlays:this._jsPlumb.instance.Defaults.ConnectorOverlays||jsPlumb.Defaults.ConnectorOverlays}},h=i(t,v,this,n.sourceEndpoint,0,n,this.source,this.sourceId,n.paintStyle,n.hoverPaintStyle),h&&p.addToList(n.endpointsByElement,this.sourceId,h),c=i(t,v,this,n.targetEndpoint,1,n,this.target,this.targetId,n.paintStyle,n.hoverPaintStyle),c&&p.addToList(n.endpointsByElement,this.targetId,c),this.scope||(this.scope=this.endpoints[0].scope),null!=n.deleteEndpointsOnDetach?(this.endpoints[0]._deleteOnDetach=n.deleteEndpointsOnDetach,this.endpoints[1]._deleteOnDetach=n.deleteEndpointsOnDetach):(this.endpoints[0]._doNotDeleteOnDetach||(this.endpoints[0]._deleteOnDetach=!0),this.endpoints[1]._doNotDeleteOnDetach||(this.endpoints[1]._deleteOnDetach=!0)),this.setConnector(this.endpoints[0].connector||this.endpoints[1].connector||n.connector||t.Defaults.Connector||jsPlumb.Defaults.Connector,!0),n.path&&this.connector.setPath(n.path),this.setPaintStyle(this.endpoints[0].connectorStyle||this.endpoints[1].connectorStyle||n.paintStyle||t.Defaults.PaintStyle||jsPlumb.Defaults.PaintStyle,!0),this.setHoverPaintStyle(this.endpoints[0].connectorHoverStyle||this.endpoints[1].connectorHoverStyle||n.hoverPaintStyle||t.Defaults.HoverPaintStyle||jsPlumb.Defaults.HoverPaintStyle,!0),this._jsPlumb.paintStyleInUse=this.getPaintStyle(),u=t.getSuspendedAt(),t.updateOffset({elId:this.sourceId,timestamp:u}),t.updateOffset({elId:this.targetId,timestamp:u}),!t.isSuspendDrawing()){var w=t.getCachedData(this.sourceId),f=w.o,b=w.s,k=t.getCachedData(this.targetId),e=k.o,d=k.s,o=u||t.timestamp(),l=this.endpoints[0].anchor.compute({xy:[f.left,f.top],wh:b,element:this.endpoints[0],elementId:this.endpoints[0].elementId,txy:[e.left,e.top],twh:d,tElement:this.endpoints[1],timestamp:o});this.endpoints[0].paint({anchorLoc:l,timestamp:o});l=this.endpoints[1].anchor.compute({xy:[e.left,e.top],wh:d,element:this.endpoints[1],elementId:this.endpoints[1].elementId,txy:[f.left,f.top],twh:b,tElement:this.endpoints[0],timestamp:o});this.endpoints[1].paint({anchorLoc:l,timestamp:o})}this._jsPlumb.detachable=t.Defaults.ConnectionsDetachable;n.detachable===!1&&(this._jsPlumb.detachable=!1);this.endpoints[0].connectionsDetachable===!1&&(this._jsPlumb.detachable=!1);this.endpoints[1].connectionsDetachable===!1&&(this._jsPlumb.detachable=!1);this._jsPlumb.reattach=n.reattach||this.endpoints[0].reattachConnections||this.endpoints[1].reattachConnections||t.Defaults.ReattachConnections;this._jsPlumb.cost=n.cost||this.endpoints[0].getConnectionCost();this._jsPlumb.directed=n.directed;null==n.directed&&(this._jsPlumb.directed=this.endpoints[0].areConnectionsDirected());s=jsPlumb.extend({},this.endpoints[1].getParameters());jsPlumb.extend(s,this.endpoints[0].getParameters());jsPlumb.extend(s,this.getParameters());this.setParameters(s);a=[n.type,this.endpoints[0].connectionType,this.endpoints[1].connectionType].join(" ");/[a-zA-Z]/.test(a)&&this.addType(a,n.data,!0)};jsPlumbUtil.extend(jsPlumb.Connection,OverlayCapableJsPlumbUIComponent,{applyType:function(n,t){null!=n.detachable&&this.setDetachable(n.detachable);null!=n.reattach&&this.setReattach(n.reattach);n.scope&&(this.scope=n.scope);this.setConnector(n.connector,t)},getTypeDescriptor:function(){return"connection"},getAttachedElements:function(){return this.endpoints},addClass:function(n,t){t&&(this.endpoints[0].addClass(n),this.endpoints[1].addClass(n),this.suspendedEndpoint&&this.suspendedEndpoint.addClass(n));this.connector&&this.connector.addClass(n)},removeClass:function(n,t){t&&(this.endpoints[0].removeClass(n),this.endpoints[1].removeClass(n),this.suspendedEndpoint&&this.suspendedEndpoint.removeClass(n));this.connector&&this.connector.removeClass(n)},isVisible:function(){return this._jsPlumb.visible},setVisible:function(n){this._jsPlumb.visible=n;this.connector&&this.connector.setVisible(n);this.repaint()},cleanup:function(){this.endpoints=null;this.source=null;this.target=null;null!=this.connector&&(this.connector.cleanup(),this.connector.destroy());this.connector=null},isDetachable:function(){return this._jsPlumb.detachable===!0},setDetachable:function(n){this._jsPlumb.detachable=n===!0},isReattach:function(){return this._jsPlumb.reattach===!0},setReattach:function(n){this._jsPlumb.reattach=n===!0},setHover:function(n){this.connector&&this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged()&&(this.connector.setHover(n),jsPlumb.CurrentLibrary[n?"addClass":"removeClass"](this.source,this._jsPlumb.instance.hoverSourceClass),jsPlumb.CurrentLibrary[n?"addClass":"removeClass"](this.target,this._jsPlumb.instance.hoverTargetClass))},getCost:function(){return this._jsPlumb.cost},setCost:function(n){this._jsPlumb.cost=n},isDirected:function(){return this._jsPlumb.directed===!0},moveParent:function(n){var i=jsPlumb.CurrentLibrary,t;for(i.getParent(this.connector.canvas),this.connector.bgCanvas&&(i.removeElement(this.connector.bgCanvas),i.appendElement(this.connector.bgCanvas,n)),i.removeElement(this.connector.canvas),i.appendElement(this.connector.canvas,n),t=0;t<this._jsPlumb.overlays.length;t++)this._jsPlumb.overlays[t].isAppendedAtTopLevel&&(i.removeElement(this._jsPlumb.overlays[t].canvas),i.appendElement(this._jsPlumb.overlays[t].canvas,n),this._jsPlumb.overlays[t].reattachListeners&&this._jsPlumb.overlays[t].reattachListeners(this.connector));this.connector.reattachListeners&&this.connector.reattachListeners()},getConnector:function(){return this.connector},setConnector:function(n,i){var f=jsPlumbUtil,r,u;null!=this.connector&&(this.connector.cleanup(),this.connector.destroy());r={_jsPlumb:this._jsPlumb.instance,parent:this._jsPlumb.params.parent,cssClass:this._jsPlumb.params.cssClass,container:this._jsPlumb.params.container,"pointer-events":this._jsPlumb.params["pointer-events"]};u=this._jsPlumb.instance.getRenderMode();f.isString(n)?this.connector=t(this._jsPlumb.instance,u,n,r):f.isArray(n)&&(this.connector=1==n.length?t(this._jsPlumb.instance,u,n[0],r):t(this._jsPlumb.instance,u,n[0],f.merge(n[1],r)));this.bindListeners(this.connector,this,function(n){this.setHover(n,!1)}.bind(this));this.canvas=this.connector.canvas;this._jsPlumb.editable&&null!=jsPlumb.ConnectorEditors&&jsPlumb.ConnectorEditors[this.connector.type]&&this.connector.isEditable()?new jsPlumb.ConnectorEditors[this.connector.type]({connector:this.connector,connection:this,params:this._jsPlumb.params.editorParams||{}}):this._jsPlumb.editable=!1;i||this.repaint()},paint:function(n){var w,b,t,i,s,e,v;if(!this._jsPlumb.instance.isSuspendDrawing()&&this._jsPlumb.visible){n=n||{};var d=(n.elId,n.ui),g=n.recalc,r=n.timestamp,o=!1,nt=o?this.sourceId:this.targetId,tt=o?this.targetId:this.sourceId,y=o?0:1,p=o?1:0;if(null==r||r!=this._jsPlumb.lastPaintedAt){var u=this._jsPlumb.instance.updateOffset({elId:tt,offset:d,recalc:g,timestamp:r}).o,f=this._jsPlumb.instance.updateOffset({elId:nt,timestamp:r}).o,l=this.endpoints[p],a=this.endpoints[y];for(n.clearEdits&&(this._jsPlumb.overlayPositions=null,l.anchor.clearUserDefinedLocation(),a.anchor.clearUserDefinedLocation(),this.connector.setEdited(!1)),w=l.anchor.getCurrentLocation({xy:[u.left,u.top],wh:[u.width,u.height],element:l,timestamp:r}),b=a.anchor.getCurrentLocation({xy:[f.left,f.top],wh:[f.width,f.height],element:a,timestamp:r}),this.connector.resetBounds(),this.connector.compute({sourcePos:w,targetPos:b,sourceEndpoint:this.endpoints[p],targetEndpoint:this.endpoints[y],lineWidth:this._jsPlumb.paintStyleInUse.lineWidth,sourceInfo:u,targetInfo:f,clearEdits:n.clearEdits===!0}),t={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0},i=0;i<this._jsPlumb.overlays.length;i++)s=this._jsPlumb.overlays[i],s.isVisible()&&(this._jsPlumb.overlayPlacements[i]=s.draw(this.connector,this._jsPlumb.paintStyleInUse,this.getAbsoluteOverlayPosition(s)),t.minX=Math.min(t.minX,this._jsPlumb.overlayPlacements[i].minX),t.maxX=Math.max(t.maxX,this._jsPlumb.overlayPlacements[i].maxX),t.minY=Math.min(t.minY,this._jsPlumb.overlayPlacements[i].minY),t.maxY=Math.max(t.maxY,this._jsPlumb.overlayPlacements[i].maxY));var h=parseFloat(this._jsPlumb.paintStyleInUse.lineWidth||1)/2,c=parseFloat(this._jsPlumb.paintStyleInUse.lineWidth||0),k={xmin:Math.min(this.connector.bounds.minX-(h+c),t.minX),ymin:Math.min(this.connector.bounds.minY-(h+c),t.minY),xmax:Math.max(this.connector.bounds.maxX+(h+c),t.maxX),ymax:Math.max(this.connector.bounds.maxY+(h+c),t.maxY)};for(this.connector.paint(this._jsPlumb.paintStyleInUse,null,k),e=0;e<this._jsPlumb.overlays.length;e++)v=this._jsPlumb.overlays[e],v.isVisible()&&v.paint(this._jsPlumb.overlayPlacements[e],k)}this._jsPlumb.lastPaintedAt=r}},repaint:function(n){n=n||{};this.paint({elId:this.sourceId,recalc:!(n.recalc===!1),timestamp:n.timestamp,clearEdits:n.clearEdits})}})}(),function(){var i,n,t;jsPlumb.AnchorManager=function(n){var u={},c={},l={},o={},v={},s={HORIZONTAL:"horizontal",VERTICAL:"vertical",DIAGONAL:"diagonal",IDENTITY:"identity"},t={},f=this,i={},r=n.jsPlumbInstance,w=jsPlumb.CurrentLibrary,a={},b=function(n,t,i,r,u,f){if(n===t)return{orientation:s.IDENTITY,a:["top","top"]};var h=Math.atan2(r.centery-i.centery,r.centerx-i.centerx),c=Math.atan2(i.centery-r.centery,i.centerx-r.centerx),o=i.left<=r.left&&i.right>=r.left||i.left<=r.right&&i.right>=r.right||i.left<=r.left&&i.right>=r.right||r.left<=i.left&&r.right>=i.right,l=i.top<=r.top&&i.bottom>=r.top||i.top<=r.bottom&&i.bottom>=r.bottom||i.top<=r.top&&i.bottom>=r.bottom||r.top<=i.top&&r.bottom>=i.bottom,a=function(n){return[u.isContinuous?u.verifyEdge(n[0]):n[0],f.isContinuous?f.verifyEdge(n[1]):n[1]]},e={orientation:s.DIAGONAL,theta:h,theta2:c};return o||l?o?(e.orientation=s.HORIZONTAL,e.a=i.top<r.top?["bottom","top"]:["top","bottom"]):(e.orientation=s.VERTICAL,e.a=i.left<r.left?["right","left"]:["left","right"]):r.left>i.left&&r.top>i.top?e.a=["right","top"]:r.left>i.left&&i.top>r.top?e.a=["top","left"]:r.left<i.left&&r.top<i.top?e.a=["top","right"]:r.left<i.left&&r.top>i.top&&(e.a=["left","top"]),e.a=a(e.a),e},k=function(n,t,i,r,u,f,e){for(var s,h,c=[],v=t[u?0:1]/(r.length+1),o=0;o<r.length;o++){s=(o+1)*v;h=f*t[u?1:0];e&&(s=t[u?0:1]-s);var l=u?s:h,y=i[0]+l,p=l/t[0],a=u?h:s,w=i[1]+a,b=a/t[1];c.push([y,w,p,b,r[o][1],r[o][2]])}return c},y=function(n){return function(t,i){var r=!0;return r=n?t[0][0]<i[0][0]:t[0][0]>i[0][0],r===!1?-1:1}},d=function(n,t){var i=n[0][0]<0?-Math.PI-n[0][0]:Math.PI-n[0][0],r=t[0][0]<0?-Math.PI-t[0][0]:Math.PI-t[0][0];return i>r?1:n[0][1]>t[0][1]?1:-1},g={top:function(n,t){return n[0]>t[0]?1:-1},right:y(!0),bottom:y(!0),left:d},nt=function(n,t){return n.sort(t)},tt=function(n,t){var e=r.getCachedData(n),u=e.s,i=e.o,f=function(t,i,u,f,e,o,s){if(f.length>0)for(var p=nt(f,g[t]),w="right"===t||"top"===t,c=k(t,i,u,p,e,o,w),y=function(n,t){var i=r.adjustForParentOffsetAndScroll([t[0],t[1]],n.canvas);l[n.id]=[i[0],i[1],t[2],t[3]];v[n.id]=s},h=0;h<c.length;h++){var a=c[h][4],b=a.endpoints[0].elementId===n,d=a.endpoints[1].elementId===n;b?y(a.endpoints[0],c[h]):d&&y(a.endpoints[1],c[h])}};f("bottom",u,[i.left,i.top],t.bottom,!0,1,[0,1]);f("top",u,[i.left,i.top],t.top,!0,0,[0,-1]);f("left",u,[i.left,i.top],t.left,!1,0,[-1,0]);f("right",u,[i.left,i.top],t.right,!1,1,[1,0])},h,e,p;this.reset=function(){u={};t={};i={}};this.addFloatingConnection=function(n,t){a[n]=t};this.removeFloatingConnection=function(n){delete a[n]};this.newConnection=function(n){var r=n.sourceId,u=n.targetId,i=n.endpoints,f=!0,e=function(n,e,o,s,h){r==u&&o.isContinuous&&(w.removeElement(i[1].canvas),f=!1);jsPlumbUtil.addToList(t,s,[h,e,o.constructor==jsPlumb.DynamicAnchor])};e(0,i[0],i[0].anchor,u,n);f&&e(1,i[1],i[1].anchor,r,n)};h=function(n){!function(n,t){if(n){var i=function(n){return n[4]==t};jsPlumbUtil.removeWithFunction(n.top,i);jsPlumbUtil.removeWithFunction(n.left,i);jsPlumbUtil.removeWithFunction(n.bottom,i);jsPlumbUtil.removeWithFunction(n.right,i)}}(i[n.elementId],n.id)};this.connectionDetached=function(n){var i=n.connection||n,e=n.sourceId,o=n.targetId,r=i.endpoints,u=function(n,i,r,u,f){null!=r&&r.constructor==jsPlumb.FloatingAnchor||jsPlumbUtil.removeWithFunction(t[u],function(n){return n[0].id==f.id})};u(1,r[1],r[1].anchor,e,i);u(0,r[0],r[0].anchor,o,i);h(i.endpoints[0]);h(i.endpoints[1]);f.redraw(i.sourceId);f.redraw(i.targetId)};this.add=function(n,t){jsPlumbUtil.addToList(u,t,n)};this.changeId=function(n,i){t[i]=t[n];u[i]=u[n];delete t[n];delete u[n]};this.getConnectionsFor=function(n){return t[n]||[]};this.getEndpointsFor=function(n){return u[n]||[]};this.deleteEndpoint=function(n){jsPlumbUtil.removeWithFunction(u[n.elementId],function(t){return t.id==n.id});h(n)};this.clearFor=function(n){delete u[n];u[n]=[]};e=function(t,i,r,u,f,e,o,s,h,c,l,a){var g=-1,w=-1,b=u.endpoints[o],nt=b.id,k=[1,0][o],tt=[[i,r],u,f,e,nt],y=t[h],p=b._continuousAnchorEdge?t[b._continuousAnchorEdge]:null,d,v,it;if(p&&(d=jsPlumbUtil.findWithFunction(p,function(n){return n[4]==nt}),-1!=d))for(p.splice(d,1),v=0;v<p.length;v++)jsPlumbUtil.addWithFunction(l,p[v][1],function(n){return n.id==p[v][1].id}),jsPlumbUtil.addWithFunction(a,p[v][1].endpoints[o],function(n){return n.id==p[v][1].endpoints[o].id}),jsPlumbUtil.addWithFunction(a,p[v][1].endpoints[k],function(n){return n.id==p[v][1].endpoints[k].id});for(v=0;v<y.length;v++)1==n.idx&&y[v][3]===e&&-1==w&&(w=v),jsPlumbUtil.addWithFunction(l,y[v][1],function(n){return n.id==y[v][1].id}),jsPlumbUtil.addWithFunction(a,y[v][1].endpoints[o],function(n){return n.id==y[v][1].endpoints[o].id}),jsPlumbUtil.addWithFunction(a,y[v][1].endpoints[k],function(n){return n.id==y[v][1].endpoints[k].id});-1!=g?y[g]=tt:(it=s?-1!=w?w:0:y.length,y.splice(it,0,tt));b._continuousAnchorEdge=h};this.updateOtherEndpoint=function(n,i,r,u){var f=jsPlumbUtil.findWithFunction(t[n],function(n){return n[0].id===u.id}),e=jsPlumbUtil.findWithFunction(t[i],function(n){return n[0].id===u.id});-1!=f&&(t[n][f][0]=u,t[n][f][1]=u.endpoints[1],t[n][f][2]=u.endpoints[1].anchor.constructor==jsPlumb.DynamicAnchor);e>-1&&(t[i].splice(e,1),jsPlumbUtil.addToList(t,r,[u,u.endpoints[0],u.endpoints[0].anchor.constructor==jsPlumb.DynamicAnchor]))};this.sourceChanged=function(n,i,r){jsPlumbUtil.removeWithFunction(t[n],function(n){return n[0].id===r.id});var u=jsPlumbUtil.findWithFunction(t[r.targetId],function(n){return n[0].id===r.id});u>-1&&(t[r.targetId][u][0]=r,t[r.targetId][u][1]=r.endpoints[0],t[r.targetId][u][2]=r.endpoints[0].anchor.constructor==jsPlumb.DynamicAnchor);jsPlumbUtil.addToList(t,i,[r,r.endpoints[1],r.endpoints[1].anchor.constructor==jsPlumb.DynamicAnchor])};this.rehomeEndpoint=function(n,t,i){var s=u[t]||[],h=r.getId(i),o,c,e;for(h!==t&&(o=jsPlumbUtil.indexOf(s,n),o>-1&&(c=s.splice(o,1)[0],f.add(c,h))),e=0;e<n.connections.length;e++)n.connections[e].sourceId==t?(n.connections[e].sourceId=n.elementId,n.connections[e].source=n.element,f.sourceChanged(t,n.elementId,n.connections[e])):n.connections[e].targetId==t&&(n.connections[e].targetId=n.elementId,n.connections[e].target=n.element,f.updateOtherEndpoint(n.connections[e].sourceId,t,n.elementId,n.connections[e]))};this.redraw=function(n,f,o,s,h,c){var vt,yt,st,g,et,ht,pt;if(!r.isSuspendDrawing()){var nt=u[n]||[],k=t[n]||[],w=[],d=[],rt=[];o=o||r.timestamp();s=s||{left:0,top:0};f&&(f={left:f.left+s.left,top:f.top+s.top});for(var ct=r.updateOffset({elId:n,offset:f,recalc:!1,timestamp:o}),lt={},l=0;l<k.length;l++){var y=k[l][0],v=y.sourceId,p=y.targetId,ut=y.endpoints[0].anchor.isContinuous,ft=y.endpoints[1].anchor.isContinuous;if(ut||ft){var at=v+"_"+p,it=lt[at],ot=y.sourceId==n?1:0;ut&&!i[v]&&(i[v]={top:[],right:[],bottom:[],left:[]});ft&&!i[p]&&(i[p]={top:[],right:[],bottom:[],left:[]});n!=p&&r.updateOffset({elId:p,timestamp:o});n!=v&&r.updateOffset({elId:v,timestamp:o});vt=r.getCachedData(p);yt=r.getCachedData(v);p==v&&(ut||ft)?e(i[v],-Math.PI/2,0,y,!1,p,0,!1,"top",v,w,d):(it||(it=b(v,p,yt.o,vt.o,y.endpoints[0].anchor,y.endpoints[1].anchor),lt[at]=it),ut&&e(i[v],it.theta,0,y,!1,p,0,!1,it.a[0],v,w,d),ft&&e(i[p],it.theta2,-1,y,!0,v,1,!0,it.a[1],p,w,d));ut&&jsPlumbUtil.addWithFunction(rt,v,function(n){return n===v});ft&&jsPlumbUtil.addWithFunction(rt,p,function(n){return n===p});jsPlumbUtil.addWithFunction(w,y,function(n){return n.id==y.id});(ut&&0===ot||ft&&1===ot)&&jsPlumbUtil.addWithFunction(d,y.endpoints[ot],function(n){return n.id==y.endpoints[ot].id})}}for(l=0;l<nt.length;l++)0===nt[l].connections.length&&nt[l].anchor.isContinuous&&(i[n]||(i[n]={top:[],right:[],bottom:[],left:[]}),e(i[n],-Math.PI/2,0,{endpoints:[nt[l],nt[l]],paint:function(){}},!1,n,0,!1,"top",n,w,d),jsPlumbUtil.addWithFunction(rt,n,function(t){return t===n}));for(l=0;l<rt.length;l++)tt(rt[l],i[rt[l]]);for(l=0;l<nt.length;l++)nt[l].paint({timestamp:o,offset:ct,dimensions:ct.s,recalc:c!==!0});for(l=0;l<d.length;l++)st=r.getCachedData(d[l].elementId),d[l].paint({timestamp:o,offset:st,dimensions:st.s});for(l=0;l<k.length;l++)if(g=k[l][1],g.anchor.constructor==jsPlumb.DynamicAnchor)for(g.paint({elementWithPrecedence:n,timestamp:o}),jsPlumbUtil.addWithFunction(w,k[l][0],function(n){return n.id==k[l][0].id}),et=0;et<g.connections.length;et++)g.connections[et]!==k[l][0]&&jsPlumbUtil.addWithFunction(w,g.connections[et],function(n){return n.id==g.connections[et].id});else g.anchor.constructor==jsPlumb.Anchor&&jsPlumbUtil.addWithFunction(w,k[l][0],function(n){return n.id==k[l][0].id});for(ht=a[n],ht&&ht.paint({timestamp:o,recalc:!1,elId:n}),l=0;l<w.length;l++)pt=o,w[l].paint({elId:n,timestamp:pt,recalc:!1,clearEdits:h})}};p=function(n){jsPlumbUtil.EventGenerator.apply(this);this.type="Continuous";this.isDynamic=!0;this.isContinuous=!0;for(var r=n.faces||["top","right","bottom","left"],u=!(n.clockwise===!1),t={},f={top:"bottom",right:"left",left:"right",bottom:"top"},e={top:"right",right:"bottom",left:"top",bottom:"left"},s={top:"left",right:"top",left:"bottom",bottom:"right"},h=u?e:s,c=u?s:e,a=n.cssClass||"",i=0;i<r.length;i++)t[r[i]]=!0;this.verifyEdge=function(n){return t[n]?n:t[f[n]]?f[n]:t[h[n]]?h[n]:t[c[n]]?c[n]:n};this.compute=function(n){return o[n.element.id]||l[n.element.id]||[0,0]};this.getCurrentLocation=function(n){return o[n.element.id]||l[n.element.id]||[0,0]};this.getOrientation=function(n){return v[n.id]||[0,0]};this.clearUserDefinedLocation=function(){delete o[n.elementId]};this.setUserDefinedLocation=function(t){o[n.elementId]=t};this.getCssClass=function(){return a};this.setCssClass=function(n){a=n}};r.continuousAnchorFactory={get:function(n){var t=c[n.elementId];return t||(t=new p(n),c[n.elementId]=t),t},clear:function(n){delete c[n]}}};jsPlumb.Anchor=function(n){this.x=n.x||0;this.y=n.y||0;this.elementId=n.elementId;this.cssClass=n.cssClass||"";this.userDefinedLocation=null;this.orientation=n.orientation||[0,0];jsPlumbUtil.EventGenerator.apply(this);var t=n.jsPlumbInstance;this.lastReturnValue=null;this.offsets=n.offsets||[0,0];this.timestamp=null;this.compute=function(n){var r=n.xy,u=n.wh,f=n.element,i=n.timestamp;return n.clearUserDefinedLocation&&(this.userDefinedLocation=null),i&&i===self.timestamp?this.lastReturnValue:(null!=this.userDefinedLocation?this.lastReturnValue=this.userDefinedLocation:(this.lastReturnValue=[r[0]+this.x*u[0]+this.offsets[0],r[1]+this.y*u[1]+this.offsets[1]],this.lastReturnValue=t.adjustForParentOffsetAndScroll(this.lastReturnValue,f.canvas)),this.timestamp=i,this.lastReturnValue)};this.getCurrentLocation=function(n){return null==this.lastReturnValue||null!=n.timestamp&&this.timestamp!=n.timestamp?this.compute(n):this.lastReturnValue}};jsPlumbUtil.extend(jsPlumb.Anchor,jsPlumbUtil.EventGenerator,{equals:function(n){if(!n)return!1;var t=n.getOrientation(),i=this.getOrientation();return this.x==n.x&&this.y==n.y&&this.offsets[0]==n.offsets[0]&&this.offsets[1]==n.offsets[1]&&i[0]==t[0]&&i[1]==t[1]},getUserDefinedLocation:function(){return this.userDefinedLocation},setUserDefinedLocation:function(n){this.userDefinedLocation=n},clearUserDefinedLocation:function(){this.userDefinedLocation=null},getOrientation:function(){return this.orientation},getCssClass:function(){return this.cssClass}});jsPlumb.FloatingAnchor=function(n){jsPlumb.Anchor.apply(this,arguments);var f=n.reference,r=jsPlumb.CurrentLibrary,e=n.jsPlumbInstance,o=n.referenceCanvas,u=r.getSize(r.getElementObject(o)),s=0,h=0,t=null,i=null;this.orientation=null;this.x=0;this.y=0;this.isFloating=!0;this.compute=function(n){var r=n.xy,f=n.element,t=[r[0]+u[0]/2,r[1]+u[1]/2];return t=e.adjustForParentOffsetAndScroll(t,f.canvas),i=t,t};this.getOrientation=function(n){if(t)return t;var i=f.getOrientation(n);return[-1*Math.abs(i[0])*s,-1*Math.abs(i[1])*h]};this.over=function(n,i){t=n.getOrientation(i)};this.out=function(){t=null};this.getCurrentLocation=function(n){return null==i?this.compute(n):i}};jsPlumbUtil.extend(jsPlumb.FloatingAnchor,jsPlumb.Anchor);i=function(n,t,i){return n.constructor==jsPlumb.Anchor?n:t.makeAnchor(n,i,t)};jsPlumb.DynamicAnchor=function(n){var r;for(jsPlumb.Anchor.apply(this,arguments),this.isSelective=!0,this.isDynamic=!0,this.anchors=[],this.elementId=n.elementId,this.jsPlumbInstance=n.jsPlumbInstance,r=0;r<n.anchors.length;r++)this.anchors[r]=i(n.anchors[r],this.jsPlumbInstance,this.elementId);this.addAnchor=function(n){this.anchors.push(i(n,this.jsPlumbInstance,this.elementId))};this.getAnchors=function(){return this.anchors};this.locked=!1;var t=this.anchors.length>0?this.anchors[0]:null,u=(this.anchors.length>0?0:-1,t),f=this,e=function(n,t,i,r,u){var f=r[0]+n.x*u[0],e=r[1]+n.y*u[1],o=r[0]+u[0]/2,s=r[1]+u[1]/2;return Math.sqrt(Math.pow(t-f,2)+Math.pow(i-e,2))+Math.sqrt(Math.pow(o-f,2)+Math.pow(s-e,2))},o=n.selector||function(n,t,i,r,u){for(var o,c=i[0]+r[0]/2,l=i[1]+r[1]/2,s=-1,h=1/0,f=0;f<u.length;f++)o=e(u[f],c,l,n,t),h>o&&(s=f+0,h=o);return u[s]};this.compute=function(n){var s=n.xy,h=n.wh,c=n.timestamp,r=n.txy,e=n.twh,i;return n.clearUserDefinedLocation&&(userDefinedLocation=null),this.timestamp=c,i=f.getUserDefinedLocation(),null!=i?i:this.locked||null==r||null==e?t.compute(n):(n.timestamp=null,t=o(s,h,r,e,this.anchors),this.x=t.x,this.y=t.y,t!=u&&this.fire("anchorChanged",t),u=t,t.compute(n))};this.getCurrentLocation=function(n){return this.getUserDefinedLocation()||(null!=t?t.getCurrentLocation(n):null)};this.getOrientation=function(n){return null!=t?t.getOrientation(n):[0,0]};this.over=function(n,i){null!=t&&t.over(n,i)};this.out=function(){null!=t&&t.out()};this.getCssClass=function(){return t&&t.getCssClass()||""}};jsPlumbUtil.extend(jsPlumb.DynamicAnchor,jsPlumb.Anchor);n=function(n,t,i,r,u,f){jsPlumb.Anchors[u]=function(e){var o=e.jsPlumbInstance.makeAnchor([n,t,i,r,0,0],e.elementId,e.jsPlumbInstance);return o.type=u,f&&f(o,e),o}};n(.5,0,0,-1,"TopCenter");n(.5,1,0,1,"BottomCenter");n(0,.5,-1,0,"LeftMiddle");n(1,.5,1,0,"RightMiddle");n(.5,0,0,-1,"Top");n(.5,1,0,1,"Bottom");n(0,.5,-1,0,"Left");n(1,.5,1,0,"Right");n(.5,.5,0,0,"Center");n(1,0,0,-1,"TopRight");n(1,1,0,1,"BottomRight");n(0,0,0,-1,"TopLeft");n(0,1,0,1,"BottomLeft");jsPlumb.Defaults.DynamicAnchors=function(n){return n.jsPlumbInstance.makeAnchors(["TopCenter","RightMiddle","BottomCenter","LeftMiddle"],n.elementId,n.jsPlumbInstance)};jsPlumb.Anchors.AutoDefault=function(n){var t=n.jsPlumbInstance.makeDynamicAnchor(jsPlumb.Defaults.DynamicAnchors(n));return t.type="AutoDefault",t};t=function(n,t){jsPlumb.Anchors[n]=function(i){var r=i.jsPlumbInstance.makeAnchor(["Continuous",{faces:t}],i.elementId,i.jsPlumbInstance);return r.type=n,r}};jsPlumb.Anchors.Continuous=function(n){return n.jsPlumbInstance.continuousAnchorFactory.get(n)};t("ContinuousLeft",["left"]);t("ContinuousTop",["top"]);t("ContinuousBottom",["bottom"]);t("ContinuousRight",["right"]);n(0,0,0,0,"Assign",function(n,t){var i=t.position||"Fixed";n.positionFinder=i.constructor==String?t.jsPlumbInstance.AnchorPositionFinders[i]:i;n.constructorParams=t});jsPlumbInstance.prototype.AnchorPositionFinders={Fixed:function(n,t,i){return[(n.left-t.left)/i[0],(n.top-t.top)/i[1]]},Grid:function(n,t,i,r){var e=n.left-t.left,o=n.top-t.top,u=i[0]/r.grid[0],f=i[1]/r.grid[1],s=Math.floor(e/u),h=Math.floor(o/f);return[(s*u+u/2)/i[0],(h*f+f/2)/i[1]]}};jsPlumb.Anchors.Perimeter=function(n){var t,i,r,f;if(n=n||{},t=n.anchorCount||60,i=n.shape,!i)throw new Error("no shape supplied to Perimeter Anchor type");var e=function(){for(var f,e,n=.5,o=2*Math.PI/t,i=0,r=[],u=0;t>u;u++)f=n+n*Math.sin(i),e=n+n*Math.cos(i),r.push([f,e,0,0]),i+=o;return r},o=function(n){for(var i=t/n.length,u=[],f=function(n,r,f,e,o){i=t*o;for(var h=(f-n)/i,c=(e-r)/i,s=0;i>s;s++)u.push([n+h*s,r+c*s,0,0])},r=0;r<n.length;r++)f.apply(null,n[r]);return u},u=function(n){for(var i=[],t=0;t<n.length;t++)i.push([n[t][0],n[t][1],n[t][2],n[t][3],1/n.length]);return o(i)},s=function(){return u([[0,0,1,0],[1,0,1,1],[1,1,0,1],[0,1,0,0]])},h={Circle:e,Ellipse:e,Diamond:function(){return u([[.5,0,1,.5],[1,.5,.5,1],[.5,1,0,.5],[0,.5,.5,0]])},Rectangle:s,Square:s,Triangle:function(){return u([[.5,0,1,1],[1,1,0,1],[0,1,.5,0]])},Path:function(n){for(var f,u,i=n.points,r=[],e=0,t=0;t<i.length-1;t++)f=Math.sqrt(Math.pow(i[t][2]-i[t][0])+Math.pow(i[t][3]-i[t][1])),e+=f,r.push([i[t][0],i[t][1],i[t+1][0],i[t+1][1],f]);for(u=0;u<r.length;u++)r[u][4]=r[u][4]/e;return o(r)}},c=function(n,t){for(var u,f,e=[],r=t/180*Math.PI,i=0;i<n.length;i++)u=n[i][0]-.5,f=n[i][1]-.5,e.push([.5+(u*Math.cos(r)-f*Math.sin(r)),.5+(u*Math.sin(r)+f*Math.cos(r)),n[i][2],n[i][3]]);return e};if(!h[i])throw new Error("Shape ["+i+"] is unknown by Perimeter Anchor type");return r=h[i](n),n.rotation&&(r=c(r,n.rotation)),f=n.jsPlumbInstance.makeDynamicAnchor(r),f.type="Perimeter",f}}(),function(){var i,e,u,t,n,f,r;jsPlumb.DOMElementComponent=jsPlumbUtil.extend(jsPlumb.jsPlumbUIComponent,function(){this.mousemove=this.dblclick=this.click=this.mousedown=this.mouseup=function(){}});jsPlumb.Segments={AbstractSegment:function(n){this.params=n;this.findClosestPointOnPath=function(){return{d:1/0,x:null,y:null,l:null}};this.getBounds=function(){return{minX:Math.min(n.x1,n.x2),minY:Math.min(n.y1,n.y2),maxX:Math.max(n.x1,n.x2),maxY:Math.max(n.y1,n.y2)}}},Straight:function(n){var e,f,h,t,r,i,u,c=(jsPlumb.Segments.AbstractSegment.apply(this,arguments),function(){e=Math.sqrt(Math.pow(r-t,2)+Math.pow(u-i,2));f=jsPlumbGeom.gradient({x:t,y:i},{x:r,y:u});h=-1/f}),o,s;this.type="Straight";this.getLength=function(){return e};this.getGradient=function(){return f};this.getCoordinates=function(){return{x1:t,y1:i,x2:r,y2:u}};this.setCoordinates=function(n){t=n.x1;i=n.y1;r=n.x2;u=n.y2;c()};this.setCoordinates({x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2});this.getBounds=function(){return{minX:Math.min(t,r),minY:Math.min(i,u),maxX:Math.max(t,r),maxY:Math.max(i,u)}};this.pointOnPath=function(n,f){if(0!==n||f){if(1!=n||f){var o=f?n>0?n:e+n:n*e;return jsPlumbGeom.pointOnLine({x:t,y:i},{x:r,y:u},o)}return{x:r,y:u}}return{x:t,y:i}};this.gradientAtPoint=function(){return f};this.pointAlongPathFrom=function(n,f,e){var o=this.pointOnPath(n,e),s=0>=f?{x:t,y:i}:{x:r,y:u};return 0>=f&&Math.abs(f)>1&&(f*=-1),jsPlumbGeom.pointOnLine(o,s,f)};o=function(n,t,i){return i>=Math.min(n,t)&&i<=Math.max(n,t)};s=function(n,t,i){return Math.abs(i-n)<Math.abs(i-t)?n:t};this.findClosestPointOnPath=function(n,c){var l={d:1/0,x:null,y:null,l:null,x1:t,x2:r,y1:i,y2:u},p;if(0===f)l.y=i,l.x=o(t,r,n)?n:s(t,r,n);else if(1/0==f||f==-1/0)l.x=t,l.y=o(i,u,c)?c:s(i,u,c);else{var y=i-f*t,w=c-h*n,a=(w-y)/(f-h),v=f*a+y;l.x=o(t,r,a)?a:s(t,r,a);l.y=o(i,u,v)?v:s(i,u,v)}return p=jsPlumbGeom.lineLength([l.x,l.y],[t,i]),l.d=jsPlumbGeom.lineLength([n,c],[l.x,l.y]),l.l=p/e,l}},Arc:function(n){var u=(jsPlumb.Segments.AbstractSegment.apply(this,arguments),function(t,i){return jsPlumbGeom.theta([n.cx,n.cy],[t,i])}),s=function(n,i){var r,u,f,e;return n.anticlockwise?(r=n.startAngle<n.endAngle?n.startAngle+t:n.startAngle,u=Math.abs(r-n.endAngle),r-u*i):(f=n.endAngle<n.startAngle?n.endAngle+t:n.endAngle,e=Math.abs(f-n.startAngle),n.startAngle+e*i)},t=2*Math.PI,f,i,r;this.radius=n.r;this.anticlockwise=n.ac;this.type="Arc";n.startAngle&&n.endAngle?(this.startAngle=n.startAngle,this.endAngle=n.endAngle,this.x1=n.cx+this.radius*Math.cos(n.startAngle),this.y1=n.cy+this.radius*Math.sin(n.startAngle),this.x2=n.cx+this.radius*Math.cos(n.endAngle),this.y2=n.cy+this.radius*Math.sin(n.endAngle)):(this.startAngle=u(n.x1,n.y1),this.endAngle=u(n.x2,n.y2),this.x1=n.x1,this.y1=n.y1,this.x2=n.x2,this.y2=n.y2);this.endAngle<0&&(this.endAngle+=t);this.startAngle<0&&(this.startAngle+=t);this.segment=jsPlumbGeom.quadrant([this.x1,this.y1],[this.x2,this.y2]);f=this.endAngle<this.startAngle?this.endAngle+t:this.endAngle;this.sweep=Math.abs(f-this.startAngle);this.anticlockwise&&(this.sweep=t-this.sweep);var e=2*Math.PI*this.radius,h=this.sweep/t,o=e*h;this.getLength=function(){return o};this.getBounds=function(){return{minX:n.cx-n.r,maxX:n.cx+n.r,minY:n.cy-n.r,maxY:n.cy+n.r}};i=1e-10;r=function(n){var t=Math.floor(n),r=Math.ceil(n);return i>n-t?t:i>r-n?r:n};this.pointOnPath=function(t,i){if(0===t)return{x:this.x1,y:this.y1,theta:this.startAngle};if(1==t)return{x:this.x2,y:this.y2,theta:this.endAngle};i&&(t/=o);var u=s(this,t),f=n.cx+n.r*Math.cos(u),e=n.cy+n.r*Math.sin(u);return{x:r(f),y:r(e),theta:u}};this.gradientAtPoint=function(t,i){var u=this.pointOnPath(t,i),r=jsPlumbGeom.normal([n.cx,n.cy],[u.x,u.y]);return this.anticlockwise||1/0!=r&&r!=-1/0||(r*=-1),r};this.pointAlongPathFrom=function(t,i,r){var f=this.pointOnPath(t,r),o=2*(i/e)*Math.PI,s=this.anticlockwise?-1:1,u=f.theta+s*o,h=n.cx+this.radius*Math.cos(u),c=n.cy+this.radius*Math.sin(u);return{x:h,y:c}}},Bezier:function(n){var t=(jsPlumb.Segments.AbstractSegment.apply(this,arguments),[{x:n.x1,y:n.y1},{x:n.cp1x,y:n.cp1y},{x:n.cp2x,y:n.cp2y},{x:n.x2,y:n.y2}]),r={minX:Math.min(n.x1,n.x2,n.cp1x,n.cp2x),minY:Math.min(n.y1,n.y2,n.cp1y,n.cp2y),maxX:Math.max(n.x1,n.x2,n.cp1x,n.cp2x),maxY:Math.max(n.y1,n.y2,n.cp1y,n.cp2y)},i;this.type="Bezier";i=function(n,t,i){return i&&(t=jsBezier.locationAlongCurveFrom(n,t>0?0:1,t)),t};this.pointOnPath=function(n,r){return n=i(t,n,r),jsBezier.pointOnCurve(t,n)};this.gradientAtPoint=function(n,r){return n=i(t,n,r),jsBezier.gradientAtPoint(t,n)};this.pointAlongPathFrom=function(n,r,u){return n=i(t,n,u),jsBezier.pointAlongCurveFrom(t,n,r)};this.getLength=function(){return jsBezier.getLength(t)};this.getBounds=function(){return r}}};i=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}};this.resetBounds()};jsPlumb.Connectors.AbstractConnector=function(n){var y;i.apply(this,arguments);var t=[],r=0,u=[],a=[],e=n.stub||0,o=jsPlumbUtil.isArray(e)?e[0]:e,s=jsPlumbUtil.isArray(e)?e[1]:e,h=n.gap||0,c=jsPlumbUtil.isArray(h)?h[0]:h,l=jsPlumbUtil.isArray(h)?h[1]:h,p=null,w=!1,f=null;this.isEditable=function(){return!1};this.setEdited=function(n){w=n};this.getPath=function(){};this.setPath=function(){};this.findSegmentForPoint=function(n,i){for(var u,r={d:1/0,s:null,x:null,y:null,l:null},f=0;f<t.length;f++)u=t[f].findClosestPointOnPath(n,i),u.d<r.d&&(r.d=u.d,r.l=u.l,r.x=u.x,r.y=u.y,r.s=t[f],r.x1=u.x1,r.x2=u.x2,r.y1=u.y1,r.y2=u.y2,r.index=f);return r};var b=function(){for(var f,i=0,n=0;n<t.length;n++)f=t[n].getLength(),a[n]=f/r,u[n]=[i,i+=f/r]},v=function(n,i){i&&(n=n>0?n/r:(r+n)/r);for(var e=u.length-1,o=1,f=0;f<u.length;f++)if(u[f][1]>=n){e=f;o=1==n?1:0===n?0:(n-u[f][0])/a[f];break}return{segment:t[e],proportion:o,index:e}},k=function(n,i,u){if(u.x1!=u.x2||u.y1!=u.y2){var f=new jsPlumb.Segments[i](u);t.push(f);r+=f.getLength();n.updateBounds(f)}},d=function(){r=0;t.splice(0,t.length);u.splice(0,u.length);a.splice(0,a.length)};return this.setSegments=function(n){p=[];r=0;for(var t=0;t<n.length;t++)p.push(n[t]),r+=n[t].getLength()},y=function(n){var r,b;this.lineWidth=n.lineWidth;var nt=jsPlumbGeom.quadrant(n.sourcePos,n.targetPos),p=n.targetPos[0]<n.sourcePos[0],w=n.targetPos[1]<n.sourcePos[1],tt=n.lineWidth||1,t=n.sourceEndpoint.anchor.getOrientation(n.sourceEndpoint),i=n.targetEndpoint.anchor.getOrientation(n.targetEndpoint),d=p?n.targetPos[0]:n.sourcePos[0],g=w?n.targetPos[1]:n.sourcePos[1],a=Math.abs(n.targetPos[0]-n.sourcePos[0]),v=Math.abs(n.targetPos[1]-n.sourcePos[1]);(0===t[0]&&0===t[1]||0===i[0]&&0===i[1])&&(r=a>v?0:1,b=[1,0][r],t=[],i=[],t[r]=n.sourcePos[r]>n.targetPos[r]?-1:1,i[r]=n.sourcePos[r]>n.targetPos[r]?1:-1,t[b]=0,i[b]=0);var u=p?a+c*t[0]:c*t[0],f=w?v+c*t[1]:c*t[1],e=p?l*i[0]:a+l*i[0],h=w?l*i[1]:v+l*i[1],k=t[0]*i[0]+t[1]*i[1],y={sx:u,sy:f,tx:e,ty:h,lw:tt,xSpan:Math.abs(e-u),ySpan:Math.abs(h-f),mx:(u+e)/2,my:(f+h)/2,so:t,to:i,x:d,y:g,w:a,h:v,segment:nt,startStubX:u+t[0]*o,startStubY:f+t[1]*o,endStubX:e+i[0]*s,endStubY:h+i[1]*s,isXGreaterThanStubTimes2:Math.abs(u-e)>o+s,isYGreaterThanStubTimes2:Math.abs(f-h)>o+s,opposite:-1==k,perpendicular:0===k,orthogonal:1==k,sourceAxis:0===t[0]?"y":"x",points:[d,g,a,v,u,f,e,h]};return y.anchorOrientation=y.opposite?"opposite":y.orthogonal?"orthogonal":"perpendicular",y},this.getSegments=function(){return t},this.updateBounds=function(n){var t=n.getBounds();this.bounds.minX=Math.min(this.bounds.minX,t.minX);this.bounds.maxX=Math.max(this.bounds.maxX,t.maxX);this.bounds.minY=Math.min(this.bounds.minY,t.minY);this.bounds.maxY=Math.max(this.bounds.maxY,t.maxY)},this.pointOnPath=function(n,t){var i=v(n,t);return i.segment&&i.segment.pointOnPath(i.proportion,t)||[0,0]},this.gradientAtPoint=function(n){var t=v(n,absolute);return t.segment&&t.segment.gradientAtPoint(t.proportion,absolute)||0},this.pointAlongPathFrom=function(n,t,i){var r=v(n,i);return r.segment&&r.segment.pointAlongPathFrom(r.proportion,t,!1)||[0,0]},this.compute=function(n){w||(f=y.call(this,n));d();this._compute(f,n);this.x=f.points[0];this.y=f.points[1];this.w=f.points[2];this.h=f.points[3];this.segment=f.segment;b()},{addSegment:k,prepareCompute:y,sourceStub:o,targetStub:s,maxStub:Math.max(o,s),sourceGap:c,targetGap:l,maxGap:Math.max(c,l)}};jsPlumbUtil.extend(jsPlumb.Connectors.AbstractConnector,i);e=jsPlumb.Connectors.Straight=function(){this.type="Straight";var n=jsPlumb.Connectors.AbstractConnector.apply(this,arguments);this._compute=function(t){n.addSegment(this,"Straight",{x1:t.sx,y1:t.sy,x2:t.startStubX,y2:t.startStubY});n.addSegment(this,"Straight",{x1:t.startStubX,y1:t.startStubY,x2:t.endStubX,y2:t.endStubY});n.addSegment(this,"Straight",{x1:t.endStubX,y1:t.endStubY,x2:t.tx,y2:t.ty})}};jsPlumbUtil.extend(jsPlumb.Connectors.Straight,jsPlumb.Connectors.AbstractConnector);jsPlumb.registerConnectorType(e,"Straight");u=function(n){n=n||{};var r=jsPlumb.Connectors.AbstractConnector.apply(this,arguments),i=(n.stub||50,n.curviness||150),t=10;this.type="Bezier";this.getCurviness=function(){return i};this._findControlPoint=function(n,r,u,f,e){var s=f.anchor.getOrientation(f),h=e.anchor.getOrientation(e),c=s[0]!=h[0]||s[1]==h[1],o=[];return c?(0===h[0]?o.push(u[0]<r[0]?n[0]+t:n[0]-t):o.push(n[0]+i*h[0]),0===h[1]?o.push(u[1]<r[1]?n[1]+t:n[1]-t):o.push(n[1]+i*s[1])):(0===s[0]?o.push(r[0]<u[0]?n[0]+t:n[0]-t):o.push(n[0]-i*s[0]),0===s[1]?o.push(r[1]<u[1]?n[1]+t:n[1]-t):o.push(n[1]+i*h[1])),o};this._compute=function(n,t){var i=t.sourcePos,u=t.targetPos,f=Math.abs(i[0]-u[0]),e=Math.abs(i[1]-u[1]),o=i[0]<u[0]?f:0,s=i[1]<u[1]?e:0,h=i[0]<u[0]?0:f,c=i[1]<u[1]?0:e,l=this._findControlPoint([o,s],i,u,t.sourceEndpoint,t.targetEndpoint),a=this._findControlPoint([h,c],u,i,t.targetEndpoint,t.sourceEndpoint);r.addSegment(this,"Bezier",{x1:o,y1:s,x2:h,y2:c,cp1x:l[0],cp1y:l[1],cp2x:a[0],cp2y:a[1]})}};jsPlumbUtil.extend(u,jsPlumb.Connectors.AbstractConnector);jsPlumb.registerConnectorType(u,"Bezier");jsPlumb.Endpoints.AbstractEndpoint=function(n){i.apply(this,arguments);var t=this.compute=function(){var n=this._compute.apply(this,arguments);return this.x=n[0],this.y=n[1],this.w=n[2],this.h=n[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,n};return{compute:t,cssClass:n.cssClass}};jsPlumbUtil.extend(jsPlumb.Endpoints.AbstractEndpoint,i);jsPlumb.Endpoints.Dot=function(n){this.type="Dot";jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments);n=n||{};this.radius=n.radius||10;this.defaultOffset=.5*this.radius;this.defaultInnerRadius=this.radius/3;this._compute=function(n,t,i){var r;this.radius=i.radius||this.radius;var u=n[0]-this.radius,f=n[1]-this.radius,e=2*this.radius,o=2*this.radius;return i.strokeStyle&&(r=i.lineWidth||1,u-=r,f-=r,e+=2*r,o+=2*r),[u,f,e,o,this.radius]}};jsPlumbUtil.extend(jsPlumb.Endpoints.Dot,jsPlumb.Endpoints.AbstractEndpoint);jsPlumb.Endpoints.Rectangle=function(n){this.type="Rectangle";jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments);n=n||{};this.width=n.width||20;this.height=n.height||20;this._compute=function(n,t,i){var r=i.width||this.width,u=i.height||this.height,f=n[0]-r/2,e=n[1]-u/2;return[f,e,r,u]}};jsPlumbUtil.extend(jsPlumb.Endpoints.Rectangle,jsPlumb.Endpoints.AbstractEndpoint);t=function(){jsPlumb.DOMElementComponent.apply(this,arguments);this._jsPlumb.displayElements=[]};jsPlumbUtil.extend(t,jsPlumb.DOMElementComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(n){this._jsPlumb.displayElements.push(n)}});jsPlumb.Endpoints.Image=function(n){this.type="Image";t.apply(this,arguments);jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments);var i=n.onload,r=n.src||n.url,u=n.parent,f=n.cssClass?" "+n.cssClass:"";this._jsPlumb.img=new Image;this._jsPlumb.ready=!1;this._jsPlumb.initialized=!1;this._jsPlumb.deleted=!1;this._jsPlumb.widthToUse=n.width;this._jsPlumb.heightToUse=n.height;this._jsPlumb.endpoint=n.endpoint;this._jsPlumb.img.onload=function(){null!=this._jsPlumb&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,i&&i(this))}.bind(this);this._jsPlumb.endpoint.setImage=function(n,t){var r=n.constructor==String?n:n.src;i=t;this._jsPlumb.img.src=r;null!=this.canvas&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this);this._jsPlumb.endpoint.setImage(r,i);this._compute=function(n){return this.anchorPoint=n,this._jsPlumb.ready?[n[0]-this._jsPlumb.widthToUse/2,n[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]};this.canvas=document.createElement("img");this.canvas.style.margin=0;this.canvas.style.padding=0;this.canvas.style.outline=0;this.canvas.style.position="absolute";this.canvas.className=this._jsPlumb.instance.endpointClass+f;this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse);this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse);this._jsPlumb.instance.appendElement(this.canvas,u);this.attachListeners(this.canvas,this);this.actuallyPaint=function(){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var n=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,t=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;jsPlumbUtil.sizeElement(this.canvas,n,t,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}};this.paint=function(n,t){null!=this._jsPlumb&&(this._jsPlumb.ready?this.actuallyPaint(n,t):window.setTimeout(function(){this.paint(n,t)}.bind(this),200))}};jsPlumbUtil.extend(jsPlumb.Endpoints.Image,[t,jsPlumb.Endpoints.AbstractEndpoint],{cleanup:function(){this._jsPlumb.deleted=!0;jsPlumbUtil.removeElement(this.canvas);this.canvas=null}});jsPlumb.Endpoints.Blank=function(n){jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments);this.type="Blank";t.apply(this,arguments);this._compute=function(n){return[n[0],n[1],10,0]};this.canvas=document.createElement("div");this.canvas.style.display="block";this.canvas.style.width="1px";this.canvas.style.height="1px";this.canvas.style.background="transparent";this.canvas.style.position="absolute";this.canvas.className=this._jsPlumb.endpointClass;jsPlumb.appendElement(this.canvas,n.parent);this.paint=function(){jsPlumbUtil.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}};jsPlumbUtil.extend(jsPlumb.Endpoints.Blank,[jsPlumb.Endpoints.AbstractEndpoint,t],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}});jsPlumb.Endpoints.Triangle=function(n){this.type="Triangle";jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments);n=n||{};n.width=n.width||55;n.height=n.height||55;this.width=n.width;this.height=n.height;this._compute=function(n,t,i){var r=i.width||self.width,u=i.height||self.height,f=n[0]-r/2,e=n[1]-u/2;return[f,e,r,u]}};n=jsPlumb.Overlays.AbstractOverlay=function(n){this.visible=!0;this.isAppendedAtTopLevel=!0;this.component=n.component;this.loc=null==n.location?.5:n.location;this.endpointLoc=null==n.endpointLocation?[.5,.5]:n.endpointLocation};n.prototype={cleanup:function(){this.component=null;this.canvas=null;this.endpointLoc=null},setVisible:function(n){this.visible=n},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(n){this.loc+=n;this.component.repaint()},setLocation:function(n){this.loc=n;this.component.repaint()},getLocation:function(){return this.loc}};jsPlumb.Overlays.Arrow=function(t){var f,i;this.type="Arrow";n.apply(this,arguments);this.isAppendedAtTopLevel=!1;t=t||{};f=jsPlumbUtil;i=jsPlumbGeom;this.length=t.length||20;this.width=t.width||20;this.id=t.id;var r=(t.direction||1)<0?-1:1,u=t.paintStyle||{lineWidth:1},e=t.foldback||.623;this.computeMaxSize=function(){return 1.5*self.width};this.draw=function(n,t){var o,c,s,h,v,l,a,y,p;if(n.pointAlongPathFrom){f.isString(this.loc)||this.loc>1||this.loc<0?(l=parseInt(this.loc,10),a=this.loc<0?1:0,o=n.pointAlongPathFrom(a,l,!1),c=n.pointAlongPathFrom(a,l-r*this.length/2,!1),s=i.pointOnLine(o,c,this.length)):1==this.loc?(o=n.pointOnPath(this.loc),c=n.pointAlongPathFrom(this.loc,-this.length),s=i.pointOnLine(o,c,this.length),-1==r)&&(y=s,s=o,o=y):0===this.loc?(s=n.pointOnPath(this.loc),c=n.pointAlongPathFrom(this.loc,this.length),o=i.pointOnLine(s,c,this.length),-1==r)&&(p=s,s=o,o=p):(o=n.pointAlongPathFrom(this.loc,r*this.length/2),c=n.pointOnPath(this.loc),s=i.pointOnLine(o,c,this.length));h=i.perpendicularLineTo(o,s,this.width);v=i.pointOnLine(o,s,e*this.length);var w={hxy:o,tail:h,cxy:v},b=u.strokeStyle||t.strokeStyle,k=u.fillStyle||t.strokeStyle,d=u.lineWidth||t.lineWidth;return{component:n,d:w,lineWidth:d,strokeStyle:b,fillStyle:k,minX:Math.min(o.x,h[0].x,h[1].x),maxX:Math.max(o.x,h[0].x,h[1].x),minY:Math.min(o.y,h[0].y,h[1].y),maxY:Math.max(o.y,h[0].y,h[1].y)}}return{component:n,minX:0,maxX:0,minY:0,maxY:0}}};jsPlumbUtil.extend(jsPlumb.Overlays.Arrow,n);jsPlumb.Overlays.PlainArrow=function(n){n=n||{};var t=jsPlumb.extend(n,{foldback:1});jsPlumb.Overlays.Arrow.call(this,t);this.type="PlainArrow"};jsPlumbUtil.extend(jsPlumb.Overlays.PlainArrow,jsPlumb.Overlays.Arrow);jsPlumb.Overlays.Diamond=function(n){n=n||{};var t=n.length||40,i=jsPlumb.extend(n,{length:t/2,foldback:2});jsPlumb.Overlays.Arrow.call(this,i);this.type="Diamond"};jsPlumbUtil.extend(jsPlumb.Overlays.Diamond,jsPlumb.Overlays.Arrow);f=function(n){return null==n._jsPlumb.cachedDimensions&&(n._jsPlumb.cachedDimensions=n.getDimensions()),n._jsPlumb.cachedDimensions};r=function(t){jsPlumb.DOMElementComponent.apply(this,arguments);n.apply(this,arguments);var i=jsPlumb.CurrentLibrary;this.id=t.id;this._jsPlumb.div=null;this._jsPlumb.initialised=!1;this._jsPlumb.component=t.component;this._jsPlumb.cachedDimensions=null;this._jsPlumb.create=t.create;this.getElement=function(){var n,r;return null==this._jsPlumb.div&&(n=this._jsPlumb.div=i.getDOMElement(this._jsPlumb.create(this._jsPlumb.component)),n.style.position="absolute",r=t._jsPlumb.overlayClass+" "+(this.cssClass?this.cssClass:t.cssClass?t.cssClass:""),n.className=r,this._jsPlumb.instance.appendElement(n,this._jsPlumb.component.parent),this._jsPlumb.instance.getId(n),this.attachListeners(n,this),this.canvas=n),this._jsPlumb.div};this.draw=function(n,t,i){var r=f(this),u,s,h,c,e,o;return null!=r&&2==r.length?(u={x:0,y:0},i?u={x:i[0],y:i[1]}:n.pointOnPath?(s=this.loc,h=!1,(jsPlumbUtil.isString(this.loc)||this.loc<0||this.loc>1)&&(s=parseInt(this.loc,10),h=!0),u=n.pointOnPath(s,h)):(c=this.loc.constructor==Array?this.loc:this.endpointLoc,u={x:c[0]*n.w,y:c[1]*n.h}),e=u.x-r[0]/2,o=u.y-r[1]/2,{component:n,d:{minx:e,miny:o,td:r,cxy:u},minX:e,maxX:e+r[0],minY:o,maxY:o+r[1]}):{minX:0,maxX:0,minY:0,maxY:0}}};jsPlumbUtil.extend(r,[jsPlumb.DOMElementComponent,n],{getDimensions:function(){return jsPlumb.CurrentLibrary.getSize(jsPlumb.CurrentLibrary.getElementObject(this.getElement()))},setVisible:function(n){this._jsPlumb.div.style.display=n?"block":"none"},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(){null!=this._jsPlumb.div&&jsPlumb.CurrentLibrary.removeElement(this._jsPlumb.div)},computeMaxSize:function(){var n=f(this);return Math.max(n[0],n[1])},reattachListeners:function(n){this._jsPlumb.div&&this.reattachListenersForElement(this._jsPlumb.div,this,n)},paint:function(n){this._jsPlumb.initialised||(this.getElement(),n.component.appendDisplayElement(this._jsPlumb.div),this.attachListeners(this._jsPlumb.div,n.component),this._jsPlumb.initialised=!0);this._jsPlumb.div.style.left=n.component.x+n.d.minx+"px";this._jsPlumb.div.style.top=n.component.y+n.d.miny+"px"}});jsPlumb.Overlays.Custom=function(){this.type="Custom";r.apply(this,arguments)};jsPlumbUtil.extend(jsPlumb.Overlays.Custom,r);jsPlumb.Overlays.GuideLines=function(){var t=this;t.length=50;t.lineWidth=5;this.type="GuideLines";n.apply(this,arguments);jsPlumb.jsPlumbUIComponent.apply(this,arguments);this.draw=function(n){var r=n.pointAlongPathFrom(t.loc,t.length/2),f=n.pointOnPath(t.loc),u=jsPlumbGeom.pointOnLine(r,f,t.length),e=jsPlumbGeom.perpendicularLineTo(r,u,40),i=jsPlumbGeom.perpendicularLineTo(u,r,20);return{connector:n,head:r,tail:u,headLine:i,tailLine:e,minX:Math.min(r.x,u.x,i[0].x,i[1].x),minY:Math.min(r.y,u.y,i[0].y,i[1].y),maxX:Math.max(r.x,u.x,i[0].x,i[1].x),maxY:Math.max(r.y,u.y,i[0].y,i[1].y)}}};jsPlumb.Overlays.Label=function(n){var i,t,r;this.labelStyle=n.labelStyle;this.cssClass=null!=this.labelStyle?this.labelStyle.cssClass:null;i=jsPlumb.extend({create:function(){return document.createElement("div")}},n);(jsPlumb.Overlays.Custom.call(this,i),this.type="Label",this.label=n.label||"",this.labelText=null,this.labelStyle)&&(t=this.getElement(),(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",t.style.font=this.labelStyle.font,t.style.color=this.labelStyle.color||"black",this.labelStyle.fillStyle&&(t.style.background=this.labelStyle.fillStyle),this.labelStyle.borderWidth>0)&&(r=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black",t.style.border=this.labelStyle.borderWidth+"px solid "+r),this.labelStyle.padding&&(t.style.padding=this.labelStyle.padding))};jsPlumbUtil.extend(jsPlumb.Overlays.Label,jsPlumb.Overlays.Custom,{cleanup:function(){this.div=null;this.label=null;this.labelText=null;this.cssClass=null;this.labelStyle=null},getLabel:function(){return this.label},setLabel:function(n){this.label=n;this.labelText=null;this.clearCachedDimensions();this.update();this.component.repaint()},getDimensions:function(){return this.update(),r.prototype.getDimensions.apply(this,arguments)},update:function(){if("function"==typeof this.label){var n=this.label(this);this.getElement().innerHTML=n.replace(/\r\n/g,"<br/>")}else null==this.labelText&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"<br/>"))}})}(),function(){var n=function(n){this.type="Flowchart";n=n||{};n.stub=null==n.stub?30:n.stub;var v,r=jsPlumb.Connectors.AbstractConnector.apply(this,arguments),s=null==n.midpoint?.5:n.midpoint,t=[],y=(n.grid,n.alwaysRespectStubs),i=null,u=null,f=null,h=null!=n.cornerRadius?n.cornerRadius:0,e=function(n){return 0>n?-1:0===n?0:1},o=function(n,t,i,r){if(u!=t||f!=i){var o=null==u?r.sx:u,s=null==f?r.sy:f,h=o==t?"v":"h",c=e(t-o),l=e(i-s);u=t;f=i;n.push([o,s,t,i,h,c,l])}},c=function(n){return Math.sqrt(Math.pow(n[0]-n[2],2)+Math.pow(n[1]-n[3],2))},l=function(n){var t=[];return t.push.apply(t,n),t},a=function(n,t,i){for(var u,f,e,v,y,o=0;o<t.length-1;o++){if(u=u||l(t[o]),f=l(t[o+1]),h>0&&u[4]!=f[4]){e=Math.min(h,c(u),c(f));u[2]-=u[5]*e;u[3]-=u[6]*e;f[0]+=f[5]*e;f[1]+=f[6]*e;var s=u[6]==f[5]&&1==f[5]||u[6]==f[5]&&0===f[5]&&u[5]!=f[6]||u[6]==f[5]&&-1==f[5],p=f[1]>u[3]?1:-1,w=f[0]>u[2]?1:-1,a=p==w,b=a&&s||!a&&!s?f[0]:u[2],k=a&&s||!a&&!s?u[3]:f[1];r.addSegment(n,"Straight",{x1:u[0],y1:u[1],x2:u[2],y2:u[3]});r.addSegment(n,"Arc",{r:e,x1:u[2],y1:u[3],x2:f[0],y2:f[1],cx:b,cy:k,ac:s})}else v=u[2]==u[0]?0:u[2]>u[0]?i.lw/2:-(i.lw/2),y=u[3]==u[1]?0:u[3]>u[1]?i.lw/2:-(i.lw/2),r.addSegment(n,"Straight",{x1:u[0]-v,y1:u[1]-y,x2:u[2]+v,y2:u[3]+y});u=f}r.addSegment(n,"Straight",{x1:f[0],y1:f[1],x2:f[2],y2:f[3]})};this.setSegments=function(n){i=n};this.isEditable=function(){return!0};this.getOriginalSegments=function(){return i||t};this._compute=function(n,e){var w,b;if(e.clearEdits&&(i=null),null!=i)return a(this,i,n),void 0;t=[];u=null;f=null;v=null;var h=n.startStubX+(n.endStubX-n.startStubX)*s,c=n.startStubY+(n.endStubY-n.startStubY)*s,k={x:[0,1],y:[1,0]},d=function(){return[n.startStubX,n.startStubY,n.endStubX,n.endStubY]},nt={perpendicular:d,orthogonal:d,opposite:function(t){var i=n,r="x"==t?0:1,u={x:function(){return 1==i.so[r]&&(i.startStubX>i.endStubX&&i.tx>i.startStubX||i.sx>i.endStubX&&i.tx>i.sx)||-1==i.so[r]&&(i.startStubX<i.endStubX&&i.tx<i.startStubX||i.sx<i.endStubX&&i.tx<i.sx)},y:function(){return 1==i.so[r]&&(i.startStubY>i.endStubY&&i.ty>i.startStubY||i.sy>i.endStubY&&i.ty>i.sy)||-1==i.so[r]&&(i.startStubY<i.endStubY&&i.ty<i.startStubY||i.sy<i.endStubY&&i.ty<i.sy)}};return!y&&u[t]()?{x:[(n.sx+n.tx)/2,n.startStubY,(n.sx+n.tx)/2,n.endStubY],y:[n.startStubX,(n.sy+n.ty)/2,n.endStubX,(n.sy+n.ty)/2]}[t]:[n.startStubX,n.startStubY,n.endStubX,n.endStubY]}},tt={perpendicular:function(t){var i=n,s={x:[[i.startStubX,i.endStubX],null,[i.endStubX,i.startStubX]],y:[[i.startStubY,i.endStubY],null,[i.endStubY,i.startStubY]]},v={x:[[h,i.startStubY],[h,i.endStubY]],y:[[i.startStubX,c],[i.endStubX,c]]},y={x:[[i.endStubX,i.startStubY]],y:[[i.startStubX,i.endStubY]]},p={x:[[i.startStubX,i.endStubY],[i.endStubX,i.endStubY]],y:[[i.endStubX,i.startStubY],[i.endStubX,i.endStubY]]},w={x:[[i.startStubX,c],[i.endStubX,c],[i.endStubX,i.endStubY]],y:[[h,i.startStubY],[h,i.endStubY],[i.endStubX,i.endStubY]]},u={x:[i.startStubY,i.endStubY],y:[i.startStubX,i.endStubX]},b=k[t][0],f=k[t][1],e=i.so[b]+1,d=i.to[f]+1,o=-1==i.to[f]&&u[t][1]<u[t][0]||1==i.to[f]&&u[t][1]>u[t][0],l=s[t][e][0],a=s[t][e][1],r={x:[[[1,2,3,4],null,[2,1,4,3]],null,[[4,3,2,1],null,[3,4,1,2]]],y:[[[3,2,1,4],null,[2,3,4,1]],null,[[4,1,2,3],null,[1,4,3,2]]]}[t][e][d];return i.segment==r[3]||i.segment==r[2]&&o?v[t]:i.segment==r[2]&&l>a?y[t]:i.segment==r[2]&&a>=l||i.segment==r[1]&&!o?w[t]:i.segment==r[0]||i.segment==r[1]&&o?p[t]:void 0},orthogonal:function(t,i,r,u,f){var o=n,e={x:-1==o.so[0]?Math.min(i,u):Math.max(i,u),y:-1==o.so[1]?Math.min(i,u):Math.max(i,u)}[t];return{x:[[e,r],[e,f],[u,f]],y:[[r,e],[f,e],[f,u]]}[t]},opposite:function(t,i,u,f){var o=n,l={x:"y",y:"x"}[t],a={x:"height",y:"width"}[t],v=o["is"+t.toUpperCase()+"GreaterThanStubTimes2"],s;return e.sourceEndpoint.elementId==e.targetEndpoint.elementId?(s=u+(1-e.sourceEndpoint.anchor[l])*e.sourceInfo[a]+r.maxStub,{x:[[i,s],[f,s]],y:[[s,i],[s,f]]}[t]):!v||1==o.so[p]&&i>f||-1==o.so[p]&&f>i?{x:[[i,c],[f,c]],y:[[h,i],[h,f]]}[t]:1==o.so[p]&&f>i||-1==o.so[p]&&i>f?{x:[[h,o.sy],[h,o.ty]],y:[[o.sx,c],[o.tx,c]]}[t]:void 0}},l=nt[n.anchorOrientation](n.sourceAxis),p="x"==n.sourceAxis?0:1,g="x"==n.sourceAxis?1:0,it=l[p],rt=l[g],ut=l[p+2],ft=l[g+2];if(o(t,l[0],l[1],n),w=tt[n.anchorOrientation](n.sourceAxis,it,rt,ut,ft),w)for(b=0;b<w.length;b++)o(t,w[b][0],w[b][1],n);o(t,l[2],l[3],n);o(t,n.tx,n.ty,n);a(this,t,n)};this.getPath=function(){for(var r=null,f=null,e=[],o=i||t,u=0;u<o.length;u++){var n=o[u],s=n[4],h="v"==s?3:2;null!=r&&f===s?r[h]=n[h]:(n[0]!=n[2]||n[1]!=n[3])&&(e.push({start:[n[0],n[1]],end:[n[2],n[3]]}),r=n,f=n[4])}return e};this.setPath=function(n){var t;for(i=[],t=0;t<n.length;t++){var r=n[t].start[0],f=n[t].start[1],u=n[t].end[0],o=n[t].end[1],s=r==u?"v":"h",h=e(u-r),c=e(o-f);i.push([r,f,u,o,s,h,c])}}};jsPlumbUtil.extend(n,jsPlumb.Connectors.AbstractConnector);jsPlumb.registerConnectorType(n,"Flowchart")}(),function(){var n=function(n,t,i,r){return i>=n&&t>=r?1:i>=n&&r>=t?2:n>=i&&r>=t?3:4},t=function(n,t,i,r,u,f,e,o,s){return s>=o?[n,t]:1===i?r[3]<=0&&u[3]>=1?[n+(r[2]<.5?-1*f:f),t]:r[2]>=1&&u[2]<=0?[n,t+(r[3]<.5?-1*e:e)]:[n+-1*f,t+-1*e]:2===i?r[3]>=1&&u[3]<=0?[n+(r[2]<.5?-1*f:f),t]:r[2]>=1&&u[2]<=0?[n,t+(r[3]<.5?-1*e:e)]:[n+1*f,t+-1*e]:3===i?r[3]>=1&&u[3]<=0?[n+(r[2]<.5?-1*f:f),t]:r[2]<=0&&u[2]>=1?[n,t+(r[3]<.5?-1*e:e)]:[n+-1*f,t+-1*e]:4===i?r[3]<=0&&u[3]>=1?[n+(r[2]<.5?-1*f:f),t]:r[2]<=0&&u[2]>=1?[n,t+(r[3]<.5?-1*e:e)]:[n+1*f,t+-1*e]:void 0},i=function(i){i=i||{};this.type="StateMachine";var e=jsPlumb.Connectors.AbstractConnector.apply(this,arguments),f=i.curviness||10,r=i.margin||5,o=i.proximityLimit||80,s=i.orientation&&"clockwise"===i.orientation,u=i.loopbackRadius||25,h=i.showLoopback!==!1;this._compute=function(i,c){var nt=Math.abs(c.sourcePos[0]-c.targetPos[0]),tt=Math.abs(c.sourcePos[1]-c.targetPos[1]);if(Math.min(c.sourcePos[0],c.targetPos[0]),Math.min(c.sourcePos[1],c.targetPos[1]),h&&c.sourceEndpoint.elementId===c.targetEndpoint.elementId){var d=c.sourcePos[0],g=(c.sourcePos[0],c.sourcePos[1]-r),it=(c.sourcePos[1]-r,d),rt=g-u,ot=2*u,st=2*u,w=it-u,b=rt-u;i.points[0]=w;i.points[1]=b;i.points[2]=ot;i.points[3]=st;e.addSegment(this,"Arc",{loopback:!0,x1:d-w+4,y1:g-b,startAngle:0,endAngle:2*Math.PI,r:u,ac:!s,x2:d-w-4,y2:g-b,cx:it-w,cy:rt-b})}else{var l=c.sourcePos[0]<c.targetPos[0]?0:nt,a=c.sourcePos[1]<c.targetPos[1]?0:tt,v=c.sourcePos[0]<c.targetPos[0]?nt:0,y=c.sourcePos[1]<c.targetPos[1]?tt:0;0===c.sourcePos[2]&&(l-=r);1===c.sourcePos[2]&&(l+=r);0===c.sourcePos[3]&&(a-=r);1===c.sourcePos[3]&&(a+=r);0===c.targetPos[2]&&(v-=r);1===c.targetPos[2]&&(v+=r);0===c.targetPos[3]&&(y-=r);1===c.targetPos[3]&&(y+=r);var ut=(l+v)/2,ft=(a+y)/2,p=-1*ut/ft,et=Math.atan(p),ht=(1/0==p||p==-1/0?0:Math.abs(f/2*Math.sin(et)),1/0==p||p==-1/0?0:Math.abs(f/2*Math.cos(et)),n(l,a,v,y)),ct=Math.sqrt(Math.pow(v-l,2)+Math.pow(y-a,2)),k=t(ut,ft,ht,c.sourcePos,c.targetPos,f,f,ct,o);e.addSegment(this,"Bezier",{x1:v,y1:y,x2:l,y2:a,cp1x:k[0],cp1y:k[1],cp2x:k[0],cp2y:k[1]})}}};jsPlumb.registerConnectorType(i,"StateMachine")}(),function(){var n=function(n){n=n||{};var r=this,u=jsPlumb.Connectors.AbstractConnector.apply(this,arguments),i=(n.stub||50,n.curviness||150),t=10;this.type="Bezier";this.getCurviness=function(){return i};this._findControlPoint=function(n,r,u,f,e){var s=f.anchor.getOrientation(f),h=e.anchor.getOrientation(e),c=s[0]!=h[0]||s[1]==h[1],o=[];return c?(0===h[0]?o.push(u[0]<r[0]?n[0]+t:n[0]-t):o.push(n[0]+i*h[0]),0===h[1]?o.push(u[1]<r[1]?n[1]+t:n[1]-t):o.push(n[1]+i*s[1])):(0===s[0]?o.push(r[0]<u[0]?n[0]+t:n[0]-t):o.push(n[0]-i*s[0]),0===s[1]?o.push(r[1]<u[1]?n[1]+t:n[1]-t):o.push(n[1]+i*h[1])),o};this._compute=function(n,t){var i=t.sourcePos,f=t.targetPos,e=Math.abs(i[0]-f[0]),o=Math.abs(i[1]-f[1]),s=i[0]<f[0]?e:0,h=i[1]<f[1]?o:0,c=i[0]<f[0]?0:e,l=i[1]<f[1]?0:o,a=r._findControlPoint([s,h],i,f,t.sourceEndpoint,t.targetEndpoint),v=r._findControlPoint([c,l],f,i,t.targetEndpoint,t.sourceEndpoint);u.addSegment(this,"Bezier",{x1:s,y1:h,x2:c,y2:l,cp1x:a[0],cp1y:a[1],cp2x:v[0],cp2y:v[1]})}};jsPlumb.registerConnectorType(n,"Bezier")}(),function(){var c=null,l=function(n,t){return jsPlumb.CurrentLibrary.hasClass(r(n),t)},r=function(n){return jsPlumb.CurrentLibrary.getElementObject(n)},o=function(n){return jsPlumb.CurrentLibrary.getOffset(r(n))},s=function(n){return jsPlumb.CurrentLibrary.getPageXY(n)},a=function(n){return jsPlumb.CurrentLibrary.getClientXY(n)},f=window.CanvasMouseAdapter=function(){var n=this;this.overlayPlacements=[];jsPlumb.jsPlumbUIComponent.apply(this,arguments);jsPlumbUtil.EventGenerator.apply(this,arguments);this._over=function(t){var c=o(r(n.canvas)),l=s(t),u=l[0]-c.left,f=l[1]-c.top,h,i,e;if(u>0&&f>0&&u<n.canvas.width&&f<n.canvas.height){for(h=0;h<n.overlayPlacements.length;h++)if(i=n.overlayPlacements[h],i&&i[0]<=u&&i[1]>=u&&i[2]<=f&&i[3]>=f)return!0;return e=n.canvas.getContext("2d").getImageData(parseInt(u,10),parseInt(f,10),1,1),0!==e.data[0]||0!==e.data[1]||0!==e.data[2]||0!==e.data[3]}return!1};var t=!1,u=!1,e=null,i=!1,f=function(n,t){return null!==n&&l(n,t)};this.mousemove=function(i){var u=(s(i),a(i)),r=document.elementFromPoint(u[0],u[1]),o=f(r,"_jsPlumb_overlay"),e=null===c&&(f(r,"_jsPlumb_endpoint")||f(r,"_jsPlumb_connector"));return!t&&e&&n._over(i)?(t=!0,n.fire("mouseenter",n,i),!0):(!t||n._over(i)&&e||o||(t=!1,n.fire("mouseexit",n,i)),n.fire("mousemove",n,i),void 0)};this.click=function(r){t&&n._over(r)&&!i&&n.fire("click",n,r);i=!1};this.dblclick=function(r){t&&n._over(r)&&!i&&n.fire("dblclick",n,r);i=!1};this.mousedown=function(t){n._over(t)&&!u&&(u=!0,e=o(r(n.canvas)),n.fire("mousedown",n,t))};this.mouseup=function(t){u=!1;n.fire("mouseup",n,t)};this.contextmenu=function(r){t&&n._over(r)&&!i&&n.fire("contextmenu",n,r);i=!1}},e,t,n,i,u;jsPlumbUtil.extend(f,[jsPlumb.jsPlumbUIComponent,jsPlumbUtil.EventGenerator]);e=function(n){var t=document.createElement("canvas");return n._jsPlumb.instance.appendElement(t,n.parent),t.style.position="absolute",n["class"]&&(t.className=n["class"]),n._jsPlumb.instance.getId(t,n.uuid),n.tooltip&&t.setAttribute("title",n.tooltip),t};t=window.CanvasComponent=function(){f.apply(this,arguments);var n=[];this.getDisplayElements=function(){return n};this.appendDisplayElement=function(t){n.push(t)}};jsPlumbUtil.extend(t,f,{setVisible:function(n){this.canvas.style.display=n?"block":"none"}});var v=[null,[1,-1],[1,1],[-1,1],[-1,-1]],h=function(n,t,i){if(t.gradient){for(var u=i(),r=0;r<t.gradient.stops.length;r++)u.addColorStop(t.gradient.stops[r][0],t.gradient.stops[r][1]);n.strokeStyle=u}},y=function(n,t,i,r,u){({Straight:function(n,t,i,r,u){var f=n.params,s;if(t.save(),h(t,i,function(){return t.createLinearGradient(f.x1,f.y1,f.x2,f.y2)}),t.beginPath(),t.translate(r,u),i.dashstyle&&2===i.dashstyle.split(" ").length){s=i.dashstyle.split(" ");2!==s.length&&(s=[2,2]);for(var o=[s[0]*i.lineWidth,s[1]*i.lineWidth],y=(f.x2-f.x1)/(f.y2-f.y1),p=jsPlumbUtil.segment([f.x1,f.y1],[f.x2,f.y2]),c=v[p],l=Math.atan(y),w=Math.sqrt(Math.pow(f.x2-f.x1,2)+Math.pow(f.y2-f.y1,2)),b=Math.floor(w/(o[0]+o[1])),e=[f.x1,f.y1],a=0;b>a;a++){t.moveTo(e[0],e[1]);var k=e[0]+Math.abs(Math.sin(l)*o[0])*c[0],d=e[1]+Math.abs(Math.cos(l)*o[0])*c[1],g=e[0]+Math.abs(Math.sin(l)*(o[0]+o[1]))*c[0],nt=e[1]+Math.abs(Math.cos(l)*(o[0]+o[1]))*c[1];t.lineTo(k,d);e=[g,nt]}t.moveTo(e[0],e[1]);t.lineTo(f.x2,f.y2)}else t.moveTo(f.x1,f.y1),t.lineTo(f.x2,f.y2);t.stroke();t.restore()},Bezier:function(n,t,i,r,u){var f=n.params;t.save();h(t,i,function(){return t.createLinearGradient(f.x2+r,f.y2+u,f.x1+r,f.y1+u)});t.beginPath();t.translate(r,u);t.moveTo(f.x1,f.y1);t.bezierCurveTo(f.cp1x,f.cp1y,f.cp2x,f.cp2y,f.x2,f.y2);t.stroke();t.restore()},Arc:function(n,t,i,r,u){var f=n.params;t.save();t.beginPath();t.translate(r,u);t.arc(f.cx,f.cy,f.r,n.startAngle,n.endAngle,f.ac);t.stroke();t.restore()}})[n.type](n,t,i,r,u)},p=jsPlumb.ConnectorRenderers.canvas=function(n){t.apply(this,arguments);var i=function(n,t,i){this.ctx.save();jsPlumb.extend(this.ctx,n);for(var u=this.getSegments(),r=0;r<u.length;r++)y(u[r],this.ctx,n,t,i);this.ctx.restore()}.bind(this),r=this._jsPlumb.instance.connectorClass+" "+(n.cssClass||"");this.canvas=e({"class":r,_jsPlumb:this._jsPlumb,parent:n.parent});this.ctx=this.canvas.getContext("2d");this.appendDisplayElement(this.canvas);this.paint=function(n,t,r){if(null!=n){var u=[this.x,this.y],f=[this.w,this.h],e=0,o=0;if(null!=r&&(r.xmin<0&&(u[0]+=r.xmin,e=-r.xmin),r.ymin<0&&(u[1]+=r.ymin,o=-r.ymin),f[0]=r.xmax+(r.xmin<0?-r.xmin:0),f[1]=r.ymax+(r.ymin<0?-r.ymin:0)),this.translateX=e,this.translateY=o,jsPlumbUtil.sizeElement(this.canvas,u[0],u[1],f[0],f[1]),null!=n.outlineColor){var s=n.outlineWidth||1,h=n.lineWidth+2*s,c={strokeStyle:n.outlineColor,lineWidth:h};i(c,e,o)}i(n,e,o)}}};jsPlumbUtil.extend(p,t);n=function(n){t.apply(this,arguments);var i=this._jsPlumb.instance.endpointClass+" "+(n.cssClass||""),r={"class":i,_jsPlumb:this._jsPlumb,parent:n.parent,tooltip:self.tooltip};this.canvas=e(r);this.ctx=this.canvas.getContext("2d");this.appendDisplayElement(this.canvas);this.paint=function(n){if(jsPlumbUtil.sizeElement(this.canvas,this.x,this.y,this.w,this.h),null!=n.outlineColor){var t=n.outlineWidth||1,i=n.lineWidth+2*t;({strokeStyle:n.outlineColor,lineWidth:i})}this._paint.apply(this,arguments)}};jsPlumbUtil.extend(n,t);jsPlumb.Endpoints.canvas.Dot=function(t){jsPlumb.Endpoints.Dot.apply(this,arguments);n.apply(this,arguments);var i=this,r=function(n){try{return parseInt(n,10)}catch(t){if("%"==n.substring(n.length-1))return parseInt(n.substring(0,n-1),10)}},u=function(n){var t=i.defaultOffset,u=i.defaultInnerRadius;return n.offset&&(t=r(n.offset)),n.innerRadius&&(u=r(n.innerRadius)),[t,u]};this._paint=function(n){var r,o;if(null!=n){if(r=i.canvas.getContext("2d"),o=t.endpoint.anchor.getOrientation(t.endpoint),jsPlumb.extend(r,n),n.gradient){for(var f=u(n.gradient),h=1==o[1]?-1*f[0]:f[0],c=1==o[0]?-1*f[0]:f[0],s=r.createRadialGradient(i.radius,i.radius,i.radius,i.radius+c,i.radius+h,f[1]),e=0;e<n.gradient.stops.length;e++)s.addColorStop(n.gradient.stops[e][0],n.gradient.stops[e][1]);r.fillStyle=s}r.beginPath();r.arc(i.radius,i.radius,i.radius,0,2*Math.PI,!0);r.closePath();(n.fillStyle||n.gradient)&&r.fill();n.strokeStyle&&r.stroke()}}};jsPlumbUtil.extend(jsPlumb.Endpoints.canvas.Dot,[jsPlumb.Endpoints.Dot,n]);jsPlumb.Endpoints.canvas.Rectangle=function(t){var i=this;jsPlumb.Endpoints.Rectangle.apply(this,arguments);n.apply(this,arguments);this._paint=function(n){var r=i.canvas.getContext("2d"),u=t.endpoint.anchor.getOrientation(t.endpoint);if(jsPlumb.extend(r,n),n.gradient){for(var o=1==u[1]?i.h:0===u[1]?i.h/2:0,s=-1==u[1]?i.h:0===u[1]?i.h/2:0,h=1==u[0]?i.w:0===u[0]?i.w/2:0,c=-1==u[0]?i.w:0===u[0]?i.w/2:0,e=r.createLinearGradient(h,o,c,s),f=0;f<n.gradient.stops.length;f++)e.addColorStop(n.gradient.stops[f][0],n.gradient.stops[f][1]);r.fillStyle=e}r.beginPath();r.rect(0,0,i.w,i.h);r.closePath();(n.fillStyle||n.gradient)&&r.fill();n.strokeStyle&&r.stroke()}};jsPlumbUtil.extend(jsPlumb.Endpoints.canvas.Rectangle,[jsPlumb.Endpoints.Rectangle,n]);jsPlumb.Endpoints.canvas.Triangle=function(t){var i=this;jsPlumb.Endpoints.Triangle.apply(this,arguments);n.apply(this,arguments);this._paint=function(n){var r=i.canvas.getContext("2d"),f=0,e=0,u=0,o=t.endpoint.anchor.getOrientation(t.endpoint);1==o[0]&&(f=i.width,e=i.height,u=180);-1==o[1]&&(f=i.width,u=90);1==o[1]&&(e=i.height,u=-90);r.fillStyle=n.fillStyle;r.translate(f,e);r.rotate(u*Math.PI/180);r.beginPath();r.moveTo(0,0);r.lineTo(i.width/2,i.height/2);r.lineTo(0,i.height);r.closePath();(n.fillStyle||n.gradient)&&r.fill();n.strokeStyle&&r.stroke()}};jsPlumbUtil.extend(jsPlumb.Endpoints.canvas.Triangle,[jsPlumb.Endpoints.Triangle,n]);jsPlumb.Endpoints.canvas.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.canvas.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Overlays.canvas.Label=jsPlumb.Overlays.Label;jsPlumb.Overlays.canvas.Custom=jsPlumb.Overlays.Custom;i=function(){jsPlumb.jsPlumbUIComponent.apply(this,arguments)};jsPlumbUtil.extend(i,jsPlumb.jsPlumbUIComponent,{setVisible:function(n){this.visible=n;this.component.repaint()}});u=function(n,t){n.apply(this,t);i.apply(this,t);this.paint=function(n){var t=n.component.ctx,i=n.d;i&&(t.save(),t.lineWidth=n.lineWidth,t.beginPath(),t.translate(n.component.translateX,n.component.translateY),t.moveTo(i.hxy.x,i.hxy.y),t.lineTo(i.tail[0].x,i.tail[0].y),t.lineTo(i.cxy.x,i.cxy.y),t.lineTo(i.tail[1].x,i.tail[1].y),t.lineTo(i.hxy.x,i.hxy.y),t.closePath(),n.strokeStyle&&(t.strokeStyle=n.strokeStyle,t.stroke()),n.fillStyle&&(t.fillStyle=n.fillStyle,t.fill()),t.restore())}};jsPlumb.Overlays.canvas.Arrow=function(){u.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.canvas.Arrow,[jsPlumb.Overlays.Arrow,i]);jsPlumb.Overlays.canvas.PlainArrow=function(){u.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.canvas.PlainArrow,[jsPlumb.Overlays.PlainArrow,i]);jsPlumb.Overlays.canvas.Diamond=function(){u.apply(this,[jsPlumb.Overlays.Diamond,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.canvas.Diamond,[jsPlumb.Overlays.Diamond,i])}(),function(){var h={joinstyle:"stroke-linejoin","stroke-linejoin":"stroke-linejoin","stroke-dashoffset":"stroke-dashoffset","stroke-linecap":"stroke-linecap"},f="stroke-dasharray",o="dashstyle",c="linearGradient",l="radialGradient",a="fill",g="stop",v="stroke",nt="stroke-width",y="style",p="none",tt="jsplumb_gradient_",it="lineWidth",w={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml"},t=function(n,t){for(var i in t)n.setAttribute(i,""+t[i])},n=function(n,i){var r=document.createElementNS(w.svg,n);return i=i||{},i.version="1.1",i.xmlns=w.xhtml,t(r,i),r},e=function(n){return"position:absolute;left:"+n[0]+"px;top:"+n[1]+"px"},b=function(n){for(var t=0;t<n.childNodes.length;t++)(n.childNodes[t].tagName==c||n.childNodes[t].tagName==l)&&n.removeChild(n.childNodes[t])},rt=function(t,i,r,u,f){var o=tt+f._jsPlumb.instance.idstamp(),s,e,h;for(b(t),s=r.gradient.offset?n(l,{id:o}):n(c,{id:o,gradientUnits:"userSpaceOnUse"}),t.appendChild(s),e=0;e<r.gradient.stops.length;e++){var p=1==f.segment||2==f.segment?e:r.gradient.stops.length-1-e,w=jsPlumbUtil.convertStyle(r.gradient.stops[p][1],!0),k=n(g,{offset:Math.floor(100*r.gradient.stops[e][0])+"%","stop-color":w});s.appendChild(k)}h=r.strokeStyle?v:a;i.setAttribute(y,h+":url("+document.location.toString()+"#"+o+")")},s=function(n,t,i,r,u){var e;if(i.gradient?rt(n,t,i,r,u):(b(n),t.setAttribute(y,"")),t.setAttribute(a,i.fillStyle?jsPlumbUtil.convertStyle(i.fillStyle,!0):p),t.setAttribute(v,i.strokeStyle?jsPlumbUtil.convertStyle(i.strokeStyle,!0):p),i.lineWidth&&t.setAttribute(nt,i.lineWidth),i[o]&&i[it]&&!i[f]){var s=-1==i[o].indexOf(",")?" ":",",l=i[o].split(s),c="";l.forEach(function(n){c+=Math.floor(n*i.lineWidth)+s});t.setAttribute(f,c)}else i[f]&&t.setAttribute(f,i[f]);for(e in h)i[e]&&t.setAttribute(h[e],i[e])},k=function(n,t,i){for(var e,f=i.split(" "),o=n.className,r=o.baseVal.split(" "),u=0;u<f.length;u++)t?-1==r.indexOf(f[u])&&r.push(f[u]):(e=r.indexOf(f[u]),-1!=e&&r.splice(e,1));n.className.baseVal=r.join(" ")},ut=function(n,t){k(n,!0,t)},ft=function(n,t){k(n,!1,t)},d=function(n,t,i){n.childNodes.length>i?n.insertBefore(t,n.childNodes[i]):n.appendChild(t)},r,u,i;jsPlumbUtil.svg={addClass:ut,removeClass:ft,node:n,attr:t,pos:e};r=function(i){var s=i.pointerEventsSpec||"all",f={},r,o,u;return jsPlumb.jsPlumbUIComponent.apply(this,i.originalArgs),this.canvas=null,this.path=null,this.svg=null,r=i.cssClass+" "+(i.originalArgs[0].cssClass||""),o={style:"",width:0,height:0,"pointer-events":s,position:"absolute"},this.svg=n("svg",o),i.useDivWrapper?(this.canvas=document.createElement("div"),this.canvas.style.position="absolute",jsPlumbUtil.sizeElement(this.canvas,0,0,1,1),this.canvas.className=r):(t(this.svg,{"class":r}),this.canvas=this.svg),i._jsPlumb.appendElement(this.canvas,i.originalArgs[0].parent),i.useDivWrapper&&this.canvas.appendChild(this.svg),u=[this.canvas],this.getDisplayElements=function(){return u},this.appendDisplayElement=function(n){u.push(n)},this.paint=function(n,r,u){if(null!=n){var h,o=[this.x,this.y],s=[this.w,this.h];null!=u&&(u.xmin<0&&(o[0]+=u.xmin),u.ymin<0&&(o[1]+=u.ymin),s[0]=u.xmax+(u.xmin<0?-u.xmin:0),s[1]=u.ymax+(u.ymin<0?-u.ymin:0));i.useDivWrapper?(jsPlumbUtil.sizeElement(this.canvas,o[0],o[1],s[0],s[1]),o[0]=0,o[1]=0,h=e([0,0])):h=e([o[0],o[1]]);f.paint.apply(this,arguments);t(this.svg,{style:h,width:s[0],height:s[1]})}},{renderer:f}};jsPlumbUtil.extend(r,jsPlumb.jsPlumbUIComponent,{cleanup:function(){jsPlumbUtil.removeElement(this.canvas);this.svg=null;this.canvas=null;this.path=null},setVisible:function(n){this.canvas&&(this.canvas.style.display=n?"block":"none");this.bgCanvas&&(this.bgCanvas.style.display=n?"block":"none")}});jsPlumb.ConnectorRenderers.svg=function(i){var u=this,f=r.apply(this,[{cssClass:i._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:i._jsPlumb}]);f.renderer.paint=function(r,f,e){var v=u.getSegments(),a="",o=[0,0],h,p,w;for(e.xmin<0&&(o[0]=-e.xmin),e.ymin<0&&(o[1]=-e.ymin),h=0;h<v.length;h++)a+=jsPlumb.Segments.svg.SegmentRenderer.getPath(v[h]),a+=" ";var c={d:a,transform:"translate("+o[0]+","+o[1]+")","pointer-events":i["pointer-events"]||"visibleStroke"},l=null,y=[u.x,u.y,u.w,u.h];r.outlineColor&&(p=r.outlineWidth||1,w=r.lineWidth+2*p,l=jsPlumb.CurrentLibrary.extend({},r),l.strokeStyle=jsPlumbUtil.convertStyle(r.outlineColor),l.lineWidth=w,null==u.bgPath?(u.bgPath=n("path",c),d(u.svg,u.bgPath,0),u.attachListeners(u.bgPath,u)):t(u.bgPath,c),s(u.svg,u.bgPath,l,y,u));null==u.path?(u.path=n("path",c),d(u.svg,u.path,r.outlineColor?1:0),u.attachListeners(u.path,u)):t(u.path,c);s(u.svg,u.path,r,y,u)};this.reattachListeners=function(){this.bgPath&&this.reattachListenersForElement(this.bgPath,this);this.path&&this.reattachListenersForElement(this.path,this)}};jsPlumbUtil.extend(jsPlumb.ConnectorRenderers.svg,r);jsPlumb.Segments.svg={SegmentRenderer:{getPath:function(n){return{Straight:function(){var t=n.getCoordinates();return"M "+t.x1+" "+t.y1+" L "+t.x2+" "+t.y2},Bezier:function(){var t=n.params;return"M "+t.x1+" "+t.y1+" C "+t.cp1x+" "+t.cp1y+" "+t.cp2x+" "+t.cp2y+" "+t.x2+" "+t.y2},Arc:function(){var t=n.params,i=n.sweep>Math.PI?1:0,r=n.anticlockwise?0:1;return"M"+n.x1+" "+n.y1+" A "+n.radius+" "+t.r+" 0 "+i+","+r+" "+n.x2+" "+n.y2}}[n.type]()}}};u=window.SvgEndpoint=function(n){var t=r.apply(this,[{cssClass:n._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:n._jsPlumb}]);t.renderer.paint=function(n){var t=jsPlumb.extend({},n);t.outlineColor&&(t.strokeWidth=t.outlineWidth,t.strokeStyle=jsPlumbUtil.convertStyle(t.outlineColor,!0));null==this.node?(this.node=this.makeNode(t),this.svg.appendChild(this.node),this.attachListeners(this.node,this)):null!=this.updateNode&&this.updateNode(this.node);s(this.svg,this.node,t,[this.x,this.y,this.w,this.h],this);e(this.node,[this.x,this.y])}.bind(this)};jsPlumbUtil.extend(u,r,{reattachListeners:function(){this.node&&this.reattachListenersForElement(this.node,this)}});jsPlumb.Endpoints.svg.Dot=function(){jsPlumb.Endpoints.Dot.apply(this,arguments);u.apply(this,arguments);this.makeNode=function(){return n("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})};this.updateNode=function(n){t(n,{cx:this.w/2,cy:this.h/2,r:this.radius})}};jsPlumbUtil.extend(jsPlumb.Endpoints.svg.Dot,[jsPlumb.Endpoints.Dot,u]);jsPlumb.Endpoints.svg.Rectangle=function(){jsPlumb.Endpoints.Rectangle.apply(this,arguments);u.apply(this,arguments);this.makeNode=function(){return n("rect",{width:this.w,height:this.h})};this.updateNode=function(n){t(n,{width:this.w,height:this.h})}};jsPlumbUtil.extend(jsPlumb.Endpoints.svg.Rectangle,[jsPlumb.Endpoints.Rectangle,u]);jsPlumb.Endpoints.svg.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.svg.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Overlays.svg.Label=jsPlumb.Overlays.Label;jsPlumb.Overlays.svg.Custom=jsPlumb.Overlays.Custom;i=function(i,r){i.apply(this,r);jsPlumb.jsPlumbUIComponent.apply(this,r);this.isAppendedAtTopLevel=!1;this.path=null;this.paint=function(i,f){if(i.component.svg&&f){null==this.path&&(this.path=n("path",{"pointer-events":"all"}),i.component.svg.appendChild(this.path),this.attachListeners(this.path,i.component),this.attachListeners(this.path,this));var o=r&&1==r.length?r[0].cssClass||"":"",e=[0,0];f.xmin<0&&(e[0]=-f.xmin);f.ymin<0&&(e[1]=-f.ymin);t(this.path,{d:u(i.d),"class":o,stroke:i.strokeStyle?i.strokeStyle:null,fill:i.fillStyle?i.fillStyle:null,transform:"translate("+e[0]+","+e[1]+")"})}};var u=function(n){return"M"+n.hxy.x+","+n.hxy.y+" L"+n.tail[0].x+","+n.tail[0].y+" L"+n.cxy.x+","+n.cxy.y+" L"+n.tail[1].x+","+n.tail[1].y+" L"+n.hxy.x+","+n.hxy.y};this.reattachListeners=function(){this.path&&this.reattachListenersForElement(this.path,this)}};jsPlumbUtil.extend(i,[jsPlumb.jsPlumbUIComponent,jsPlumb.Overlays.AbstractOverlay],{cleanup:function(){null!=this.path&&jsPlumb.CurrentLibrary.removeElement(this.path)},setVisible:function(n){null!=this.path&&(this.path.style.display=n?"block":"none")}});jsPlumb.Overlays.svg.Arrow=function(){i.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.svg.Arrow,[jsPlumb.Overlays.Arrow,i]);jsPlumb.Overlays.svg.PlainArrow=function(){i.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.svg.PlainArrow,[jsPlumb.Overlays.PlainArrow,i]);jsPlumb.Overlays.svg.Diamond=function(){i.apply(this,[jsPlumb.Overlays.Diamond,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.svg.Diamond,[jsPlumb.Overlays.Diamond,i]);jsPlumb.Overlays.svg.GuideLines=function(){var u,f,r=null,i=this,e;jsPlumb.Overlays.GuideLines.apply(this,arguments);this.paint=function(o,s){null==r&&(r=n("path"),o.connector.svg.appendChild(r),i.attachListeners(r,o.connector),i.attachListeners(r,i),u=n("path"),o.connector.svg.appendChild(u),i.attachListeners(u,o.connector),i.attachListeners(u,i),f=n("path"),o.connector.svg.appendChild(f),i.attachListeners(f,o.connector),i.attachListeners(f,i));var h=[0,0];s.xmin<0&&(h[0]=-s.xmin);s.ymin<0&&(h[1]=-s.ymin);t(r,{d:e(o.head,o.tail),stroke:"red",fill:null,transform:"translate("+h[0]+","+h[1]+")"});t(u,{d:e(o.tailLine[0],o.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+h[0]+","+h[1]+")"});t(f,{d:e(o.headLine[0],o.headLine[1]),stroke:"green",fill:null,transform:"translate("+h[0]+","+h[1]+")"})};e=function(n,t){return"M "+n.x+","+n.y+" L"+t.x+","+t.y}};jsPlumbUtil.extend(jsPlumb.Overlays.svg.GuideLines,jsPlumb.Overlays.GuideLines)}(),function(){var p={"stroke-linejoin":"joinstyle",joinstyle:"joinstyle",endcap:"endcap",miterlimit:"miterlimit"},l=null,h,a,s,y,o,r;if(document.createStyleSheet&&document.namespaces){for(h=[".jsplumb_vml","jsplumb\\:textbox","jsplumb\\:oval","jsplumb\\:rect","jsplumb\\:stroke","jsplumb\\:shape","jsplumb\\:group"],a="behavior:url(#default#VML);position:absolute;",l=document.createStyleSheet(),s=0;s<h.length;s++)l.addRule(h[s],a);document.namespaces.add("jsplumb","urn:schemas-microsoft-com:vml")}jsPlumb.vml={};var t=1e3,f=function(n,t){for(var i in t)n[i]=t[i]},i=function(n,t,i,r,u,o){i=i||{};var s=document.createElement("jsplumb:"+n);return o?u.appendElement(s,r):jsPlumb.CurrentLibrary.appendElement(s,r),s.className=(i["class"]?i["class"]+" ":"")+"jsplumb_vml",e(s,t),f(s,i),s},e=function(n,t,i){n.style.left=t[0]+"px";n.style.top=t[1]+"px";n.style.width=t[2]+"px";n.style.height=t[3]+"px";n.style.position="absolute";i&&(n.style.zIndex=i)},n=jsPlumb.vml.convertValue=function(n){return Math.floor(n*t)},v=function(n,t,i,r){"transparent"===t?r.setOpacity(i,"0.0"):r.setOpacity(i,"1.0")},c=function(n,t,r,u){var e={},o,s;if(t.strokeStyle?(e.stroked="true",o=jsPlumbUtil.convertStyle(t.strokeStyle,!0),e.strokecolor=o,v(e,o,"stroke",r),e.strokeweight=t.lineWidth+"px"):e.stroked="false",t.fillStyle?(e.filled="true",s=jsPlumbUtil.convertStyle(t.fillStyle,!0),e.fillcolor=s,v(e,s,"fill",r)):e.filled="false",t.dashstyle)null==r.strokeNode?r.strokeNode=i("stroke",[0,0,0,0],{dashstyle:t.dashstyle},n,u):r.strokeNode.dashstyle=t.dashstyle;else if(t["stroke-dasharray"]&&t.lineWidth){for(var l=-1==t["stroke-dasharray"].indexOf(",")?" ":",",a=t["stroke-dasharray"].split(l),h="",c=0;c<a.length;c++)h+=Math.floor(a[c]/t.lineWidth)+l;null==r.strokeNode?r.strokeNode=i("stroke",[0,0,0,0],{dashstyle:h},n,u):r.strokeNode.dashstyle=h}f(n,e)},u=function(){var n=this,t;jsPlumb.jsPlumbUIComponent.apply(this,arguments);this.opacityNodes={stroke:null,fill:null};this.initOpacityNodes=function(t){n.opacityNodes.stroke=i("stroke",[0,0,1,1],{opacity:"0.0"},t,n._jsPlumb.instance);n.opacityNodes.fill=i("fill",[0,0,1,1],{opacity:"0.0"},t,n._jsPlumb.instance)};this.setOpacity=function(t,i){var r=n.opacityNodes[t];r&&(r.opacity=""+i)};t=[];this.getDisplayElements=function(){return t};this.appendDisplayElement=function(i,r){r||n.canvas.parentNode.appendChild(i);t.push(i)}};jsPlumbUtil.extend(u,jsPlumb.jsPlumbUIComponent,{cleanup:function(){this.bgCanvas&&jsPlumbUtil.removeElement(this.bgCanvas);jsPlumbUtil.removeElement(this.canvas)}});y=jsPlumb.ConnectorRenderers.vml=function(n){this.strokeNode=null;this.canvas=null;u.apply(this,arguments);var r=this._jsPlumb.instance.connectorClass+(n.cssClass?" "+n.cssClass:"");this.paint=function(u){var l;if(null!==u){this.w=Math.max(this.w,1);this.h=Math.max(this.h,1);for(var a=this.getSegments(),s={path:""},o=[this.x,this.y,this.w,this.h],h=0;h<a.length;h++)s.path+=jsPlumb.Segments.vml.SegmentRenderer.getPath(a[h]),s.path+=" ";if(u.outlineColor){var y=u.outlineWidth||1,w=u.lineWidth+2*y,v={strokeStyle:jsPlumbUtil.convertStyle(u.outlineColor),lineWidth:w};for(l in p)v[l]=u[l];null==this.bgCanvas?(s["class"]=r,s.coordsize=o[2]*t+","+o[3]*t,this.bgCanvas=i("shape",o,s,n.parent,this._jsPlumb.instance,!0),e(this.bgCanvas,o),this.appendDisplayElement(this.bgCanvas,!0),this.attachListeners(this.bgCanvas,this),this.initOpacityNodes(this.bgCanvas,["stroke"])):(s.coordsize=o[2]*t+","+o[3]*t,e(this.bgCanvas,o),f(this.bgCanvas,s));c(this.bgCanvas,v,this)}null==this.canvas?(s["class"]=r,s.coordsize=o[2]*t+","+o[3]*t,this.canvas=i("shape",o,s,n.parent,this._jsPlumb.instance,!0),this.appendDisplayElement(this.canvas,!0),this.attachListeners(this.canvas,this),this.initOpacityNodes(this.canvas,["stroke"])):(s.coordsize=o[2]*t+","+o[3]*t,e(this.canvas,o),f(this.canvas,s));c(this.canvas,u,this,this._jsPlumb.instance)}}};jsPlumbUtil.extend(y,u,{reattachListeners:function(){this.canvas&&this.reattachListenersForElement(this.canvas,this)},setVisible:function(n){this.canvas&&(this.canvas.style.display=n?"block":"none");this.bgCanvas&&(this.bgCanvas.style.display=n?"block":"none")}});o=window.VmlEndpoint=function(n){u.apply(this,arguments);this._jsPlumb.vml=null;this.canvas=document.createElement("div");this.canvas.style.position="absolute";this._jsPlumb.clazz=this._jsPlumb.instance.endpointClass+(n.cssClass?" "+n.cssClass:"");n._jsPlumb.appendElement(this.canvas,n.parent);this.paint=function(n,t){var r={},i=this._jsPlumb.vml;jsPlumbUtil.sizeElement(this.canvas,this.x,this.y,this.w,this.h);null==this._jsPlumb.vml?(r["class"]=this._jsPlumb.clazz,i=this._jsPlumb.vml=this.getVml([0,0,this.w,this.h],r,t,this.canvas,this._jsPlumb.instance),this.attachListeners(i,this),this.appendDisplayElement(i,!0),this.appendDisplayElement(this.canvas,!0),this.initOpacityNodes(i,["fill"])):(e(i,[0,0,this.w,this.h]),f(i,r));c(i,n,this)}};jsPlumbUtil.extend(o,u,{reattachListeners:function(){this._jsPlumb.vml&&this.reattachListenersForElement(this._jsPlumb.vml,this)}});jsPlumb.Segments.vml={SegmentRenderer:{getPath:function(t){return{Straight:function(t){var i=t.params;return"m"+n(i.x1)+","+n(i.y1)+" l"+n(i.x2)+","+n(i.y2)+" e"},Bezier:function(t){var i=t.params;return"m"+n(i.x1)+","+n(i.y1)+" c"+n(i.cp1x)+","+n(i.cp1y)+","+n(i.cp2x)+","+n(i.cp2y)+","+n(i.x2)+","+n(i.y2)+" e"},Arc:function(t){var i=t.params,r=Math.min(i.x1,i.x2),u=(Math.max(i.x1,i.x2),Math.min(i.y1,i.y2)),f=(Math.max(i.y1,i.y2),t.anticlockwise?1:0),e=t.anticlockwise?"at ":"wa ",o=function(){if(i.loopback)return"0,0,"+n(2*i.r)+","+n(2*i.r);var e=[null,[function(){return[r,u]},function(){return[r-i.r,u-i.r]}],[function(){return[r-i.r,u]},function(){return[r,u-i.r]}],[function(){return[r-i.r,u-i.r]},function(){return[r,u]}],[function(){return[r,u-i.r]},function(){return[r-i.r,u]}]][t.segment][f]();return n(e[0])+","+n(e[1])+","+n(e[0]+2*i.r)+","+n(e[1]+2*i.r)};return e+" "+o()+","+n(i.x1)+","+n(i.y1)+","+n(i.x2)+","+n(i.y2)+" e"}}[t.type](t)}}};jsPlumb.Endpoints.vml.Dot=function(){jsPlumb.Endpoints.Dot.apply(this,arguments);o.apply(this,arguments);this.getVml=function(n,t,r,u,f){return i("oval",n,t,u,f)}};jsPlumbUtil.extend(jsPlumb.Endpoints.vml.Dot,o);jsPlumb.Endpoints.vml.Rectangle=function(){jsPlumb.Endpoints.Rectangle.apply(this,arguments);o.apply(this,arguments);this.getVml=function(n,t,r,u,f){return i("rect",n,t,u,f)}};jsPlumbUtil.extend(jsPlumb.Endpoints.vml.Rectangle,o);jsPlumb.Endpoints.vml.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.vml.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Overlays.vml.Label=jsPlumb.Overlays.Label;jsPlumb.Overlays.vml.Custom=jsPlumb.Overlays.Custom;r=function(r,o){var s,h;r.apply(this,o);u.apply(this,o);s=this;s.canvas=null;s.isAppendedAtTopLevel=!0;h=function(t){return"m "+n(t.hxy.x)+","+n(t.hxy.y)+" l "+n(t.tail[0].x)+","+n(t.tail[0].y)+" "+n(t.cxy.x)+","+n(t.cxy.y)+" "+n(t.tail[1].x)+","+n(t.tail[1].y)+" x e"};this.paint=function(n,r){var p,w;if(n.component.canvas&&r){var l={},u=n.d,c=n.component;n.strokeStyle&&(l.stroked="true",l.strokecolor=jsPlumbUtil.convertStyle(n.strokeStyle,!0));n.lineWidth&&(l.strokeweight=n.lineWidth+"px");n.fillStyle&&(l.filled="true",l.fillcolor=n.fillStyle);var v=Math.min(u.hxy.x,u.tail[0].x,u.tail[1].x,u.cxy.x),y=Math.min(u.hxy.y,u.tail[0].y,u.tail[1].y,u.cxy.y),b=Math.max(u.hxy.x,u.tail[0].x,u.tail[1].x,u.cxy.x),k=Math.max(u.hxy.y,u.tail[0].y,u.tail[1].y,u.cxy.y),d=Math.abs(b-v),g=Math.abs(k-y),a=[v,y,d,g];(l.path=h(u),l.coordsize=c.w*t+","+c.h*t,a[0]=c.x,a[1]=c.y,a[2]=c.w,a[3]=c.h,null==s.canvas)?(p=c._jsPlumb.overlayClass||"",w=o&&1==o.length?o[0].cssClass||"":"",l["class"]=w+" "+p,s.canvas=i("shape",a,l,c.canvas.parentNode,c._jsPlumb.instance,!0),c.appendDisplayElement(s.canvas,!0),s.attachListeners(s.canvas,c),s.attachListeners(s.canvas,s)):(e(s.canvas,a),f(s.canvas,l))}};this.reattachListeners=function(){s.canvas&&s.reattachListenersForElement(s.canvas,s)};this.cleanup=function(){null!=s.canvas&&jsPlumb.CurrentLibrary.removeElement(s.canvas)}};jsPlumbUtil.extend(r,[u,jsPlumb.Overlays.AbstractOverlay],{setVisible:function(n){this.canvas.style.display=n?"block":"none"}});jsPlumb.Overlays.vml.Arrow=function(){r.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.vml.Arrow,[jsPlumb.Overlays.Arrow,r]);jsPlumb.Overlays.vml.PlainArrow=function(){r.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.vml.PlainArrow,[jsPlumb.Overlays.PlainArrow,r]);jsPlumb.Overlays.vml.Diamond=function(){r.apply(this,[jsPlumb.Overlays.Diamond,arguments])};jsPlumbUtil.extend(jsPlumb.Overlays.vml.Diamond,[jsPlumb.Overlays.Diamond,r])}(),function(n){var t=function(t){return"string"==typeof t?n("#"+t):n(t)};jsPlumb.CurrentLibrary={addClass:function(n,i){n=t(n);try{n[0].className.constructor==SVGAnimatedString&&jsPlumbUtil.svg.addClass(n[0],i)}catch(r){}try{n.addClass(i)}catch(r){}},animate:function(n,t,i){n.animate(t,i)},appendElement:function(n,i){t(i).append(n)},ajax:function(t){t=t||{};t.type=t.type||"get";n.ajax(t)},bind:function(n,i,r){n=t(n);n.bind(i,r)},destroyDraggable:function(t){n(t).data("draggable")&&n(t).draggable("destroy")},destroyDroppable:function(t){n(t).data("droppable")&&n(t).droppable("destroy")},dragEvents:{start:"start",stop:"stop",drag:"drag",step:"step",over:"over",out:"out",drop:"drop",complete:"complete"},extend:function(t,i){return n.extend(t,i)},getClientXY:function(n){return[n.clientX,n.clientY]},getDragObject:function(n){return n[1].draggable||n[1].helper},getDragScope:function(t){return n(t).draggable("option","scope")},getDropEvent:function(n){return n[0]},getDropScope:function(t){return n(t).droppable("option","scope")},getDOMElement:function(n){return null==n?null:"string"==typeof n?document.getElementById(n):n.context||null!=n.length?n[0]:n},getElementObject:t,getOffset:function(n){return n.offset()},getOriginalEvent:function(n){return n.originalEvent},getPageXY:function(n){return[n.pageX,n.pageY]},getParent:function(n){return t(n).parent()},getScrollLeft:function(n){return n.scrollLeft()},getScrollTop:function(n){return n.scrollTop()},getSelector:function(i,r){return 2==arguments.length?t(i).find(r):n(i)},getSize:function(t){return t=n(t),[t.outerWidth(),t.outerHeight()]},getTagName:function(n){var i=t(n);return i.length>0?i[0].tagName:null},getUIPosition:function(n,t){if(t=t||1,1==n.length)ret={left:n[0].pageX,top:n[0].pageY};else{var i=n[1],r=i.offset;ret=r||i.absolutePosition;i.position.left/=t;i.position.top/=t}return{left:ret.left/t,top:ret.top/t}},hasClass:function(n,t){return n.hasClass(t)},initDraggable:function(t,i,r,u){i=i||{};t=n(t);i.start=jsPlumbUtil.wrap(i.start,function(){n("body").addClass(u.dragSelectClass)},!1);i.stop=jsPlumbUtil.wrap(i.stop,function(){n("body").removeClass(u.dragSelectClass)});i.doNotRemoveHelper||(i.helper=null);r&&(i.scope=i.scope||jsPlumb.Defaults.Scope);t.draggable(i)},initDroppable:function(t,i){i.scope=i.scope||jsPlumb.Defaults.Scope;n(t).droppable(i)},isAlreadyDraggable:function(t){return n(t).hasClass("ui-draggable")},isDragSupported:function(t){return n(t).draggable},isDropSupported:function(t){return n(t).droppable},removeClass:function(n,i){n=t(n);try{if(n[0].className.constructor==SVGAnimatedString)return jsPlumbUtil.svg.removeClass(n[0],i),void 0}catch(r){}n.removeClass(i)},removeElement:function(n){t(n).remove()},setDragFilter:function(n,t){jsPlumb.CurrentLibrary.isAlreadyDraggable(n)&&n.draggable("option","cancel",t)},setDraggable:function(n,t){n.draggable("option","disabled",!t)},setDragScope:function(n,t){n.draggable("option","scope",t)},setOffset:function(n,i){t(n).offset(i)},trigger:function(n,i,r){var u=jQuery._data(t(n)[0],"handle");u(r)},unbind:function(n,i,r){n=t(n);n.unbind(i,r)}};n(document).ready(jsPlumb.init)}(jQuery);window.JSViz||(window.JSViz={}),function(n){"use strict";function t(n){this.state=n;this.rankMap={};this.xRange={min:0,max:0};this.useXCoord=!1}function u(n){return i||(i=emCharArray(n,r)),i}function f(n,t){var r,i;for(r in t)i=t[r],i.pTailNode==n.ptr&&n.outgoingEdges.push(i)}function e(n,t){return n-t}t.prototype={registerNodes:function(n,t){var v=r,h=u(t),i,c=[],o,l,f,s,a;for(i in n)c.push(+i);for(i in n){o=n[i];this.rankMap[i]=[];for(l in o)f=o[l],this.rankMap[i].push(f),s=t._getNodeName(f.ptr-0,h,v),s&&(a=emExtractArray(t,h,s,"i8"),f.name=window.JSViz.utf8bytesToString(a),f.outgoingEdges=[])}c.sort(e)},registerEdges:function(n){var i,t,r,u;for(i in this.rankMap){t=this.rankMap[i];for(r in t)u=t[r],f(u,n)}},stringify:function(){return JSON.stringify({rankMap:this.rankMap,state:this.state},null,"  ")}};t.fromJSON=function(n){var i=new t(n.state);return i.rankMap=n.rankMap,i};var i=null,r=256;n.ProgressModel=t}(window.JSViz);window.JSViz||(window.JSViz={}),function(n){"use strict";function t(){var n=this;this.width=256;this.height=256;this.canvas=document.createElement("canvas");this.canvas.style.borderRadius="8px";this.canvas.style.backgroundColor="rgba(0,0,0,0.6)";this.canvas.style.position="absolute";this.canvas.style["z-index"]=1e4;this.canvas.style.zIndex=1e4;this.canvas.setAttribute("class","progress-box-canvas");this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this.g=this.canvas.getContext("2d");this.captionHeight=32;this.sidePadding=24;this.rankMap={};this.nodeMap={};this.edgeMap={};this.rankIndexList=[];this.prevProgress=null;this.currentProgress=null;this.animationT=0;this.prevTime=0;this.callTickAnimation=function(){n.tickAnimation()}}function r(n){return 1-(1-n)*(1-n)}function f(n){return n.pTailNode+":"+n.pHeadNode}function i(n){for(var t in n)delete n[t]}t.prototype={getElement:function(){return this.canvas},clearAll:function(){i(this.rankMap);i(this.nodeMap);i(this.edgeMap);this.rankIndexList.length=0;this.prevProgress=null;this.currentProgress=null},autoFit:function(){var n=$(window),t=this,i=this.canvas.style,r=function(){var r=Math.floor((n.width()-t.width)/2),u=Math.floor((n.height()-t.height)/2);i.left=r+"px";i.top=u+"px"};n.resize(r);r()},setNext:function(n){this.prevProgress=this.currentProgress;this.currentProgress=n;n.state==PROGRESS_AFTER_POSITION&&(n.useXCoord=!0);this.updateRankMap();this.updateNodeMap();this.updateEdgeMap()},updateRankMap:function(){var i=this.currentProgress;for(var n in i.rankMap)this.rankMap[n]||(this.rankIndexList.push(+n),this.rankMap[n]=new t.Rank(n)),this.rankMap[n].newLength=i.rankMap[n].length;this.rankIndexList.sort(function(n,t){return n-t})},updateNodeMap:function(){var r=Infinity,u=-Infinity,t=this.currentProgress,f,e,o,n,i;for(f in t.rankMap){e=t.rankMap[f];for(o in e)n=e[o],i=this.regsterNodeBoxFor(n,+f),i.newIndex=+o,i.willDisappear=!1,i.node.x=n.x,n.x<r&&(r=n.x),n.x>u&&(u=n.x)}t.xRange.min=r;t.xRange.max=u},updateEdgeMap:function(){var i=this.currentProgress,r,n,u,e,t,o;for(r in i.rankMap){n=i.rankMap[r];for(u in n){e=n[u];t=e.outgoingEdges;for(o in t){var s=t[o],h=f(s),c=this.registerEdgeBoxFor(h,s);c.willDisappear=!1}}}},regsterNodeBoxFor:function(n,i){var r=n.ptr;return this.nodeMap[r]||(this.nodeMap[r]=new t.NodeBox(n,i)),this.nodeMap[r]},registerEdgeBoxFor:function(n,i){return this.edgeMap[n]||(this.edgeMap[n]=new t.EdgeBox(n,i)),this.edgeMap[n]},showFrame:function(n){var t,i,r;this.g.clearRect(0,0,this.width,this.height);for(t in this.rankIndexList)i=this.rankIndexList[t],r=this.rankMap[i],this.renderRankBox(this.g,r,n);this.renderNodes(this.g,n);this.renderEdges(this.g,n);this.renderLabel(this.g)},contentWidth:function(){return Math.floor(this.width-this.sidePadding*2)},renderLabel:function(n,t,i){var r=this.currentProgress?this.currentProgress.state:0,f=i||u[r]||u[0];n.fillStyle="#fff";n.font=t?"bold 24px Arial":"bold 14px Arial";n.textAlign="center";n.textBaseline="bottom";n.fillText(f,this.width>>1,t?(this.height>>1)+12:this.captionHeight)},renderRankBox:function(n,t,i){var s=this.rankIndexList.length,h=this.contentWidth(),c=this.sidePadding,e=Math.floor((this.height-this.captionHeight*2)/s),l=e*t.index+this.captionHeight+10,u=1,f,o;t.emerging&&(u=i*2-t.boxData.delay,u<0&&(u=0),u>1&&(u=1),t.boxData.oldHeight=0,t.boxData.oldY=e*s+this.captionHeight+10);f=r(i);o=1-f;t.boxData.newHeight=e-2;t.boxData.newY=l;t.boxData.currentY=t.boxData.newY*f+t.boxData.oldY*o;t.boxData.currentHeight=t.boxData.newHeight*f+t.boxData.oldHeight*o;n.globalAlpha=u;n.lineWidth=1;n.strokeStyle="#fff";n.strokeRect(c,t.boxData.currentY,h,t.boxData.currentHeight);n.globalAlpha=1},renderNodes:function(n,t){for(var i in this.nodeMap)this.renderANode(this.nodeMap[i],n,t)},renderANode:function(n,t,i){var u=i*2,f=r(i),v=1-f,e=this.rankMap[n.rankIndex],c,l;if(e){t.lineWidth=1;t.strokeStyle="#fff";t.fillStyle="#fff";var a=this.contentWidth()-8,w=this.width>>1,y=e.boxData.currentY+Math.floor(e.boxData.currentHeight/2),s=0,h=1,p=a/(e.newLength+1),o=this.sidePadding+p*(n.newIndex+1);this.currentProgress.useXCoord&&(n.positionedX=(n.node.x-this.currentProgress.xRange.min)/(this.currentProgress.xRange.max-this.currentProgress.xRange.min),o=this.sidePadding+4+a*n.positionedX);n.emerging?(n.oldX=o,u-=.3):n.willDisappear?(u=1-u,h=1+f,o=n.oldX):(c=8,n.oldIndex<n.newIndex?s=-Math.sin(Math.PI*f)*c:n.oldIndex>n.newIndex&&(s=Math.sin(Math.PI*f)*c),u=1);u<0&&(u=0);u>1&&(u=1);l=n.node.v;n.currentX=f*o+v*n.oldX;n.currentY=y+s;t.globalAlpha=u;t.beginPath();t.arc(n.currentX,n.currentY,l?2*h:4*h,0,Math.PI*2,!0);l?t.stroke():t.fill();t.globalAlpha=1}},renderEdges:function(n,t){for(var i in this.edgeMap)this.renderAEdge(this.edgeMap[i],n,t)},renderAEdge:function(n,t,i){var u=this.nodeMap[n.edge.pTailNode],f=this.nodeMap[n.edge.pHeadNode],r;u&&f&&(r=1,n.emerging?r=i:n.willDisappear&&(r=1-i),r<0&&(r=0),r>1&&(r=1),t.globalAlpha=r,t.lineWidth=1,t.strokeStyle="#fff",t.beginPath(),t.moveTo(u.currentX,u.currentY),t.lineTo(f.currentX,f.currentY),t.stroke(),t.globalAlpha=1)},startAnimation:function(){this.finishAnimation();this.show();this.prevTime=new Date;this.animationT=.01;this.tickAnimation()},show:function(){var n=this.canvas.style;n.display="inline";setTimeout(function(){n.opacity=1},100)},showLoading:function(){},tickAnimation:function(){var i=new Date,t=!1,n=(i-this.prevTime)/350;n>=1&&(n=1,t=!0);this.showFrame(n);t?this.finishAnimation():setTimeout(this.callTickAnimation,20)},finishAnimation:function(){this.animationT&&(this.markExistingRanks(),this.markExistingNodes(),this.markExistingEdges(),this.animationT=0)},hideWithAnimation:function(){var n=this.canvas.style;n.opacity=0;setTimeout(function(){n.display="none"},400)},markExistingRanks:function(){var t,n;for(t in this.rankMap)n=this.rankMap[t],n.boxData.oldHeight=n.boxData.newHeight,n.boxData.oldY=n.boxData.newY,n.emerging=!1},markExistingNodes:function(){var t,n;for(t in this.nodeMap)n=this.nodeMap[t],n.willDisappear&&delete this.nodeMap[t],n.emerging=!1,n.oldX=n.currentX,n.oldIndex=n.newIndex,n.willDisappear=!0},markExistingEdges:function(){var t,n;for(t in this.edgeMap)n=this.edgeMap[t],n.willDisappear&&delete this.edgeMap[t],n.emerging=!1,n.willDisappear=!0}};t.Rank=function(n){this.index=+n;this.emerging=!0;this.newLength=1;this.boxData={delay:n*.1,currentHeight:0,oldHeight:0,newHeight:0,currentY:0,oldY:0,newY:0}};t.NodeBox=function(n,t){this.node=n;this.rankIndex=t;this.emerging=!0;this.willDisappear=!1;this.oldIndex=0;this.newIndex=1;this.newPositionedX=0;this.oldX=0;this.currentX=0;this.currentY=0};t.EdgeBox=function(n,t){this.edge=t;this.name=n;this.emerging=!0;this.willDisappear=!1};var u={0:"Building ranks...",1:"Building ranks...",2:"Solving mincross...",3:"Solving mincross...",4:"Positioning...",6:"Positioning..."};n.ProgressView=t}(window.JSViz),function(n,t){"use strict";function r(){var n=null;try{n=MozBlobBuilder}catch(t){}if(!n)try{n=WebKitBlobBuilder}catch(t){}return n?new n:null}function u(n,t){var i=new XMLHttpRequest;return i.open("GET",n,!1),i.send(null),i.responseText.indexOf(t)>=0}var i={Worker:function(n,t){var i=this;this.messagePort=n;this.sharedFileURL=null;this.proc=t;this.running=!1;n.addEventListener("message",function(n){if(n.data)switch(n.data.type){case"_stopgo_run":i.running||(i.sharedFileURL=n.data.sharedFileURL,i.running=!0,i.proc(i),i.setStopped())}},!1)},Controller:function(n,t,i){this.targetWorker=n;this.sharedFileWriter=null;this.sharedFileURL=null;this.makeFlagBlobs();this.createSharedFile(t);n.addEventListener("message",function(n){if(n.data)switch(n.data.type){case"_stopgo_complete":i&&i()}},!1)}};i.Worker.prototype={shouldStop:function(){return this.sharedFileURL?u(this.sharedFileURL,"STOP"):!1},setStopped:function(){var n=this;setTimeout(function(){n.running=!1},50)},setCompleted:function(){this.messagePort.postMessage({type:"_stopgo_complete"})}};i.Controller.prototype={makeFlagBlobs:function(){var n=r(),t=r();n?(n.append("RUN "),t.append("STOP"),this.blobRUN=n.getBlob("text/plain"),this.blobSTOP=t.getBlob("text/plain")):(this.blobRUN=new Blob(["RUN "],{type:"text/plain"}),this.blobSTOP=new Blob(["STOP"],{type:"text/plain"}))},run:function(){function t(){n&&(n.onwriteend=null);i.targetWorker.postMessage({type:"_stopgo_run",sharedFileURL:i.sharedFileURL})}var n=this.sharedFileWriter,i=this;this.setFlag(!1);n?n.onwriteend=t:t()},stop:function(){this.setFlag(!0)},setFlag:function(n){this.sharedFileWriter&&(this.sharedFileWriter.seek(0),this.sharedFileWriter.write(n?this.blobSTOP:this.blobRUN))},createSharedFile:function(n){var t=this;if(!window.webkitRequestFileSystem){this.sharedFileWriter=this.sharedFileURL=null;n(null);return}webkitRequestFileSystem(TEMPORARY,64,function(i){i.root.getFile("shared-status.txt",{create:!0},function(i){i.createWriter(function(r){t.sharedFileWriter=r;i.file(function(i){var r=webkitURL||URL;t.sharedFileURL=r.createObjectURL(i);n(t.sharedFileURL)})})})},function(){console.log("FAIL FS");t.sharedFileWriter=t.sharedFileURL=null;n(null)})}};n[t]=i}(this,"WorkerStopGo"),function(){function f(t){postArgMessage(n,"setWorkerSTDIN",t)}function e(t){postArgMessage(n,"setupGVContext",t)}function s(){u.prog=!0;f(document.getElementById("dot-src").value);e(u)}function h(){}function c(){r.run()}function l(){for(var n=0;n<t.length;n++)$("#"+t[n].name).css({left:(t[n].x-i)*80,top:(t[n].y-i)*80});jsPlumb.repaintEverything();(document.getElementById("layout-engine").innerHTML=="fdp"||document.getElementById("layout-engine").innerHTML=="sfdp"||document.getElementById("layout-engine").innerHTML=="neato"||document.getElementById("layout-engine").innerHTML=="twopi"||document.getElementById("layout-engine").innerHTML=="circo")&&o.hideWithAnimation()}function a(){}function v(n){i=Math.min(n.x,n.y,i);var r={name:n.name,x:n.x,y:n.y};t.push(r)}function y(n){n.addEventListener("message",function(n){var i=n.data.type,t=n.data.arg0||null;switch(i){case"afterSetupGVContext":c(JSON.parse(t));break;case"afterRunDotLayout":l(JSON.parse(t));break;case"afterErrorCheck":h(JSON.parse(t));break;case"sendProgress":a(JSON.parse(t));break;case"initializeNodePosition":v(JSON.parse(t));break;case"log":console.log(t)}})}var n=null,o=null,r=null,t=[],i=Number.MAX_VALUE,u={slow:!1,prog:!1};window.w_launch=function(){n=new Worker("/Scripts/Liviz/main.js?v=2");y(n);r=new WorkerStopGo.Controller(n,function(){postArgMessage(n,"init");s()},function(){})}}()