var Ds=Math.pow;(function(){var Ps={"./web_src/fomantic/build/semantic.js":function(){(function(l,V,oe,s){"use strict";l.isWindow=l.isWindow||function(h){return h!=null&&h===h.window},V=typeof V!="undefined"&&V.Math==Math?V:typeof self!="undefined"&&self.Math==Math?self:Function("return this")(),l.api=l.fn.api=function(h){var p=l.isFunction(this)?l(V):l(this),F=p.selector||"",M=new Date().getTime(),B=[],se=arguments[0],Q=typeof se=="string",ue=[].slice.call(arguments,1),G;return p.each(function(){var b=l.isPlainObject(h)?l.extend(!0,{},l.fn.api.settings,h):l.extend({},l.fn.api.settings),D=b.namespace,he=b.metadata,Ce=b.selector,v=b.error,R=b.className,Te="."+D,ve="module-"+D,ye=l(this),be=ye.closest(Ce.form),_e=b.stateContext?l(b.stateContext):ye,ee,o,X,we,Ae,C=this,T=_e[0],$e=ye.data(ve),E;E={initialize:function(){Q||E.bind.events(),E.instantiate()},instantiate:function(){E.verbose("Storing instance of module",E),$e=E,ye.data(ve,$e)},destroy:function(){E.verbose("Destroying previous module for",C),ye.removeData(ve).off(Te)},bind:{events:function(){var k=E.get.event();k?(E.verbose("Attaching API events to element",k),ye.on(k+Te,E.event.trigger)):b.on=="now"&&(E.debug("Querying API endpoint immediately"),E.query())}},decode:{json:function(k){if(k!==s&&typeof k=="string")try{k=JSON.parse(k)}catch(P){}return k}},read:{cachedResponse:function(k){var P;if(V.Storage===s){E.error(v.noStorage);return}return P=sessionStorage.getItem(k),E.debug("Using cached response",k,P),P=E.decode.json(P),P}},write:{cachedResponse:function(k,P){if(P&&P===""){E.debug("Response empty, not caching",P);return}if(V.Storage===s){E.error(v.noStorage);return}l.isPlainObject(P)&&(P=JSON.stringify(P)),sessionStorage.setItem(k,P),E.verbose("Storing cached response for url",k,P)}},query:function(){if(E.is.disabled()){E.debug("Element is disabled API request aborted");return}if(E.is.loading())if(b.interruptRequests)E.debug("Interrupting previous request"),E.abort();else{E.debug("Cancelling request, previous request is still pending");return}if(b.defaultData&&l.extend(!0,b.urlData,E.get.defaultData()),b.serializeForm&&(b.data=E.add.formData(b.data)),o=E.get.settings(),o===!1){E.cancelled=!0,E.error(v.beforeSend);return}else E.cancelled=!1;if(X=E.get.templatedURL(),!X&&!E.is.mocked()){E.error(v.missingURL);return}if(X=E.add.urlData(X),!(!X&&!E.is.mocked())){if(o.url=b.base+X,ee=l.extend(!0,{},b,{type:b.method||b.type,data:we,url:b.base+X,beforeSend:b.beforeXHR,success:function(){},failure:function(){},complete:function(){}}),E.debug("Querying URL",ee.url),E.verbose("Using AJAX settings",ee),b.cache==="local"&&E.read.cachedResponse(X)){E.debug("Response returned from local cache"),E.request=E.create.request(),E.request.resolveWith(T,[E.read.cachedResponse(X)]);return}b.throttle?!b.throttleFirstRequest&&!E.timer?(E.debug("Sending request",we,ee.method),E.send.request(),E.timer=setTimeout(function(){},b.throttle)):(E.debug("Throttling request",b.throttle),clearTimeout(E.timer),E.timer=setTimeout(function(){E.timer&&delete E.timer,E.debug("Sending throttled request",we,ee.method),E.send.request()},b.throttle)):(E.debug("Sending request",we,ee.method),E.send.request())}},should:{removeError:function(){return b.hideError===!0||b.hideError==="auto"&&!E.is.form()}},is:{disabled:function(){return ye.filter(Ce.disabled).length>0},expectingJSON:function(){return b.dataType==="json"||b.dataType==="jsonp"},form:function(){return ye.is("form")||_e.is("form")},mocked:function(){return b.mockResponse||b.mockResponseAsync||b.response||b.responseAsync},input:function(){return ye.is("input")},loading:function(){return E.request?E.request.state()=="pending":!1},abortedRequest:function(k){return k&&k.readyState!==s&&k.readyState===0?(E.verbose("XHR request determined to be aborted"),!0):(E.verbose("XHR request was not aborted"),!1)},validResponse:function(k){return!E.is.expectingJSON()||!l.isFunction(b.successTest)?(E.verbose("Response is not JSON, skipping validation",b.successTest,k),!0):(E.debug("Checking JSON returned success",b.successTest,k),b.successTest(k)?(E.debug("Response passed success test",k),!0):(E.debug("Response failed success test",k),!1))}},was:{cancelled:function(){return E.cancelled||!1},succesful:function(){return E.verbose('This behavior will be deleted due to typo. Use "was successful" instead.'),E.was.successful()},successful:function(){return E.request&&E.request.state()=="resolved"},failure:function(){return E.request&&E.request.state()=="rejected"},complete:function(){return E.request&&(E.request.state()=="resolved"||E.request.state()=="rejected")}},add:{urlData:function(k,P){var W,ge;return k&&(W=k.match(b.regExp.required),ge=k.match(b.regExp.optional),P=P||b.urlData,W&&(E.debug("Looking for required URL variables",W),l.each(W,function(Re,ne){var N=ne.indexOf("$")!==-1?ne.substr(2,ne.length-3):ne.substr(1,ne.length-2),y=l.isPlainObject(P)&&P[N]!==s?P[N]:ye.data(N)!==s?ye.data(N):_e.data(N)!==s?_e.data(N):P[N];if(y===s)return E.error(v.requiredParameter,N,k),k=!1,!1;E.verbose("Found required variable",N,y),y=b.encodeParameters?E.get.urlEncodedValue(y):y,k=k.replace(ne,y)})),ge&&(E.debug("Looking for optional URL variables",W),l.each(ge,function(Re,ne){var N=ne.indexOf("$")!==-1?ne.substr(3,ne.length-4):ne.substr(2,ne.length-3),y=l.isPlainObject(P)&&P[N]!==s?P[N]:ye.data(N)!==s?ye.data(N):_e.data(N)!==s?_e.data(N):P[N];y!==s?(E.verbose("Optional variable Found",N,y),k=k.replace(ne,y)):(E.verbose("Optional variable not found",N),k.indexOf("/"+ne)!==-1?k=k.replace("/"+ne,""):k=k.replace(ne,""))}))),k},formData:function(k){var P=l.fn.serializeObject!==s,W=P?be.serializeObject():be.serialize(),ge;return k=k||b.data,ge=l.isPlainObject(k),ge?P?(E.debug("Extending existing data with form data",k,W),k=l.extend(!0,{},k,W)):(E.error(v.missingSerialize),E.debug("Cant extend data. Replacing data with form data",k,W),k=W):(E.debug("Adding form data",W),k=W),k}},send:{request:function(){E.set.loading(),E.request=E.create.request(),E.is.mocked()?E.mockedXHR=E.create.mockedXHR():E.xhr=E.create.xhr(),b.onRequest.call(T,E.request,E.xhr)}},event:{trigger:function(k){E.query(),(k.type=="submit"||k.type=="click")&&k.preventDefault()},xhr:{always:function(){},done:function(k,P,W){var ge=this,Re=new Date().getTime()-Ae,ne=b.loadingDuration-Re,N=l.isFunction(b.onResponse)?E.is.expectingJSON()&&!b.rawResponse?b.onResponse.call(ge,l.extend(!0,{},k)):b.onResponse.call(ge,k):!1;ne=ne>0?ne:0,N&&(E.debug("Modified API response in onResponse callback",b.onResponse,N,k),k=N),ne>0&&E.debug("Response completed early delaying state change by",ne),setTimeout(function(){E.is.validResponse(k)?E.request.resolveWith(ge,[k,W]):E.request.rejectWith(ge,[W,"invalid"])},ne)},fail:function(k,P,W){var ge=this,Re=new Date().getTime()-Ae,ne=b.loadingDuration-Re;ne=ne>0?ne:0,ne>0&&E.debug("Response completed early delaying state change by",ne),setTimeout(function(){E.is.abortedRequest(k)?E.request.rejectWith(ge,[k,"aborted",W]):E.request.rejectWith(ge,[k,"error",P,W])},ne)}},request:{done:function(k,P){E.debug("Successful API Response",k),b.cache==="local"&&X&&(E.write.cachedResponse(X,k),E.debug("Saving server response locally",E.cache)),b.onSuccess.call(T,k,ye,P)},complete:function(k,P){var W,ge;E.was.successful()?(ge=k,W=P):(W=k,ge=E.get.responseFromXHR(W)),E.remove.loading(),b.onComplete.call(T,ge,ye,W)},fail:function(k,P,W){var ge=E.get.responseFromXHR(k),Re=E.get.errorFromRequest(ge,P,W);if(P=="aborted")return E.debug("XHR Aborted (Most likely caused by page navigation or CORS Policy)",P,W),b.onAbort.call(T,P,ye,k),!0;P=="invalid"?E.debug("JSON did not pass success test. A server-side error has most likely occurred",ge):P=="error"&&k!==s&&(E.debug("XHR produced a server error",P,W),(k.status<200||k.status>=300)&&W!==s&&W!==""&&E.error(v.statusMessage+W,ee.url),b.onError.call(T,Re,ye,k)),b.errorDuration&&P!=="aborted"&&(E.debug("Adding error state"),E.set.error(),E.should.removeError()&&setTimeout(E.remove.error,b.errorDuration)),E.debug("API Request failed",Re,k),b.onFailure.call(T,ge,ye,k)}}},create:{request:function(){return l.Deferred().always(E.event.request.complete).done(E.event.request.done).fail(E.event.request.fail)},mockedXHR:function(){var k=!1,P=!1,W=!1,ge=b.mockResponse||b.response,Re=b.mockResponseAsync||b.responseAsync,ne,N,y;return y=l.Deferred().always(E.event.xhr.complete).done(E.event.xhr.done).fail(E.event.xhr.fail),ge?(l.isFunction(ge)?(E.debug("Using specified synchronous callback",ge),N=ge.call(T,o)):(E.debug("Using settings specified response",ge),N=ge),y.resolveWith(T,[N,k,{responseText:N}])):l.isFunction(Re)&&(ne=function(K){E.debug("Async callback returned response",K),K?y.resolveWith(T,[K,k,{responseText:K}]):y.rejectWith(T,[{responseText:K},P,W])},E.debug("Using specified async response callback",Re),Re.call(T,o,ne)),y},xhr:function(){var k;return k=l.ajax(ee).always(E.event.xhr.always).done(E.event.xhr.done).fail(E.event.xhr.fail),E.verbose("Created server request",k,ee),k}},set:{error:function(){E.verbose("Adding error state to element",_e),_e.addClass(R.error)},loading:function(){E.verbose("Adding loading state to element",_e),_e.addClass(R.loading),Ae=new Date().getTime()}},remove:{error:function(){E.verbose("Removing error state from element",_e),_e.removeClass(R.error)},loading:function(){E.verbose("Removing loading state from element",_e),_e.removeClass(R.loading)}},get:{responseFromXHR:function(k){return l.isPlainObject(k)?E.is.expectingJSON()?E.decode.json(k.responseText):k.responseText:!1},errorFromRequest:function(k,P,W){return l.isPlainObject(k)&&k.error!==s?k.error:b.error[P]!==s?b.error[P]:W},request:function(){return E.request||!1},xhr:function(){return E.xhr||!1},settings:function(){var k;return k=b.beforeSend.call(ye,b),k&&(k.success!==s&&(E.debug("Legacy success callback detected",k),E.error(v.legacyParameters,k.success),k.onSuccess=k.success),k.failure!==s&&(E.debug("Legacy failure callback detected",k),E.error(v.legacyParameters,k.failure),k.onFailure=k.failure),k.complete!==s&&(E.debug("Legacy complete callback detected",k),E.error(v.legacyParameters,k.complete),k.onComplete=k.complete)),k===s&&E.error(v.noReturnedValue),k===!1?k:k!==s?l.extend(!0,{},k):l.extend(!0,{},b)},urlEncodedValue:function(k){var P=V.decodeURIComponent(k),W=V.encodeURIComponent(k),ge=P!==k;return ge?(E.debug("URL value is already encoded, avoiding double encoding",k),k):(E.verbose("Encoding value using encodeURIComponent",k,W),W)},defaultData:function(){var k={};return l.isWindow(C)||(E.is.input()?k.value=ye.val():E.is.form()||(k.text=ye.text())),k},event:function(){return l.isWindow(C)||b.on=="now"?(E.debug("API called without element, no events attached"),!1):b.on=="auto"?ye.is("input")?C.oninput!==s?"input":C.onpropertychange!==s?"propertychange":"keyup":ye.is("form")?"submit":"click":b.on},templatedURL:function(k){if(k=k||ye.data(he.action)||b.action||!1,X=ye.data(he.url)||b.url||!1,X)return E.debug("Using specified url",X),X;if(k){if(E.debug("Looking up url for action",k,b.api),b.api[k]===s&&!E.is.mocked()){E.error(v.missingAction,b.action,b.api);return}X=b.api[k]}else E.is.form()&&(X=ye.attr("action")||_e.attr("action")||!1,E.debug("No url or action specified, defaulting to form action",X));return X}},abort:function(){var k=E.get.xhr();k&&k.state()!=="resolved"&&(E.debug("Cancelling API request"),k.abort())},reset:function(){E.remove.error(),E.remove.loading()},setting:function(k,P){if(E.debug("Changing setting",k,P),l.isPlainObject(k))l.extend(!0,b,k);else if(P!==s)l.isPlainObject(b[k])?l.extend(!0,b[k],P):b[k]=P;else return b[k]},internal:function(k,P){if(l.isPlainObject(k))l.extend(!0,E,k);else if(P!==s)E[k]=P;else return E[k]},debug:function(){!b.silent&&b.debug&&(b.performance?E.performance.log(arguments):(E.debug=Function.prototype.bind.call(console.info,console,b.name+":"),E.debug.apply(console,arguments)))},verbose:function(){!b.silent&&b.verbose&&b.debug&&(b.performance?E.performance.log(arguments):(E.verbose=Function.prototype.bind.call(console.info,console,b.name+":"),E.verbose.apply(console,arguments)))},error:function(){b.silent||(E.error=Function.prototype.bind.call(console.error,console,b.name+":"),E.error.apply(console,arguments))},performance:{log:function(k){var P,W,ge;b.performance&&(P=new Date().getTime(),ge=M||P,W=P-ge,M=P,B.push({Name:k[0],Arguments:[].slice.call(k,1)||"","Execution Time":W})),clearTimeout(E.performance.timer),E.performance.timer=setTimeout(E.performance.display,500)},display:function(){var k=b.name+":",P=0;M=!1,clearTimeout(E.performance.timer),l.each(B,function(W,ge){P+=ge["Execution Time"]}),k+=" "+P+"ms",F&&(k+=" '"+F+"'"),(console.group!==s||console.table!==s)&&B.length>0&&(console.groupCollapsed(k),console.table?console.table(B):l.each(B,function(W,ge){console.log(ge.Name+": "+ge["Execution Time"]+"ms")}),console.groupEnd()),B=[]}},invoke:function(k,P,W){var ge=$e,Re,ne,N;return P=P||ue,W=C||W,typeof k=="string"&&ge!==s&&(k=k.split(/[\. ]/),Re=k.length-1,l.each(k,function(y,K){var S=y!=Re?K+k[y+1].charAt(0).toUpperCase()+k[y+1].slice(1):k;if(l.isPlainObject(ge[S])&&y!=Re)ge=ge[S];else{if(ge[S]!==s)return ne=ge[S],!1;if(l.isPlainObject(ge[K])&&y!=Re)ge=ge[K];else return ge[K]!==s?(ne=ge[K],!1):(E.error(v.method,k),!1)}})),l.isFunction(ne)?N=ne.apply(W,P):ne!==s&&(N=ne),Array.isArray(G)?G.push(N):G!==s?G=[G,N]:N!==s&&(G=N),ne}},Q?($e===s&&E.initialize(),E.invoke(se)):($e!==s&&$e.invoke("destroy"),E.initialize())}),G!==s?G:this},l.api.settings={name:"API",namespace:"api",debug:!1,verbose:!1,performance:!0,api:{},cache:!0,interruptRequests:!0,on:"auto",stateContext:!1,loadingDuration:0,hideError:"auto",errorDuration:2e3,encodeParameters:!0,action:!1,url:!1,base:"",urlData:{},defaultData:!0,serializeForm:!1,throttle:0,throttleFirstRequest:!0,method:"get",data:{},dataType:"json",mockResponse:!1,mockResponseAsync:!1,response:!1,responseAsync:!1,rawResponse:!1,beforeSend:function(h){return h},beforeXHR:function(h){},onRequest:function(h,p){},onResponse:!1,onSuccess:function(h,p){},onComplete:function(h,p){},onFailure:function(h,p){},onError:function(h,p){},onAbort:function(h,p){},successTest:!1,error:{beforeSend:"The before send function has aborted the request",error:"There was an error with your request",exitConditions:"API Request Aborted. Exit conditions met",JSONParse:"JSON could not be parsed during error handling",legacyParameters:"You are using legacy API success callback names",method:"The method you called is not defined",missingAction:"API action used but no url was defined",missingSerialize:"jquery-serialize-object is required to add form data to an existing data object",missingURL:"No URL specified for api event",noReturnedValue:"The beforeSend callback must return a settings object, beforeSend ignored.",noStorage:"Caching responses locally requires session storage",parseError:"There was an error parsing your request",requiredParameter:"Missing a required URL parameter: ",statusMessage:"Server gave an error: ",timeout:"Your request timed out"},regExp:{required:/\{\$*[A-z0-9]+\}/g,optional:/\{\/\$*[A-z0-9]+\}/g},className:{loading:"loading",error:"error"},selector:{disabled:".disabled",form:"form"},metadata:{action:"action",url:"url"}}})(jQuery,window,document);(function(l,V,oe,s){"use strict";l.isFunction=l.isFunction||function(h){return typeof h=="function"&&typeof h.nodeType!="number"},V=typeof V!="undefined"&&V.Math==Math?V:typeof self!="undefined"&&self.Math==Math?self:Function("return this")(),l.fn.checkbox=function(h){var p=l(this),F=p.selector||"",M=new Date().getTime(),B=[],se=arguments[0],Q=typeof se=="string",ue=[].slice.call(arguments,1),G;return p.each(function(){var b=l.extend(!0,{},l.fn.checkbox.settings,h),D=b.className,he=b.namespace,Ce=b.selector,v=b.error,R="."+he,Te="module-"+he,ve=l(this),ye=l(this).children(Ce.label),be=l(this).children(Ce.input),_e=be[0],ee=!1,o=!1,X=ve.data(Te),we,Ae=this,C;C={initialize:function(){C.verbose("Initializing checkbox",b),C.create.label(),C.bind.events(),C.set.tabbable(),C.hide.input(),C.observeChanges(),C.instantiate(),C.setup()},instantiate:function(){C.verbose("Storing instance of module",C),X=C,ve.data(Te,C)},destroy:function(){C.verbose("Destroying module"),C.unbind.events(),C.show.input(),ve.removeData(Te)},fix:{reference:function(){ve.is(Ce.input)&&(C.debug("Behavior called on adjusting invoked element"),ve=ve.closest(Ce.checkbox),C.refresh())}},setup:function(){C.set.initialLoad(),C.is.indeterminate()?(C.debug("Initial value is indeterminate"),C.indeterminate()):C.is.checked()?(C.debug("Initial value is checked"),C.check()):(C.debug("Initial value is unchecked"),C.uncheck()),C.remove.initialLoad()},refresh:function(){ye=ve.children(Ce.label),be=ve.children(Ce.input),_e=be[0]},hide:{input:function(){C.verbose("Modifying z-index to be unselectable"),be.addClass(D.hidden)}},show:{input:function(){C.verbose("Modifying z-index to be selectable"),be.removeClass(D.hidden)}},observeChanges:function(){"MutationObserver"in V&&(we=new MutationObserver(function(T){C.debug("DOM tree modified, updating selector cache"),C.refresh()}),we.observe(Ae,{childList:!0,subtree:!0}),C.debug("Setting up mutation observer",we))},attachEvents:function(T,$e){var E=l(T);$e=l.isFunction(C[$e])?C[$e]:C.toggle,E.length>0?(C.debug("Attaching checkbox events to element",T,$e),E.on("click"+R,$e)):C.error(v.notFound)},preventDefaultOnInputTarget:function(){typeof event!="undefined"&&event!==null&&l(event.target).is(Ce.input)&&(C.verbose("Preventing default check action after manual check action"),event.preventDefault())},event:{change:function(T){C.should.ignoreCallbacks()||b.onChange.call(_e)},click:function(T){var $e=l(T.target);if($e.is(Ce.input)){C.verbose("Using default check action on initialized checkbox");return}if($e.is(Ce.link)){C.debug("Clicking link inside checkbox, skipping toggle");return}C.toggle(),be.focus(),T.preventDefault()},keydown:function(T){var $e=T.which,E={enter:13,space:32,escape:27,left:37,up:38,right:39,down:40},k=C.get.radios(),P=k.index(ve),W=k.length,ge=!1;if($e==E.left||$e==E.up?ge=(P===0?W:P)-1:($e==E.right||$e==E.down)&&(ge=P===W-1?0:P+1),!C.should.ignoreCallbacks()&&ge!==!1){if(b.beforeUnchecked.apply(_e)===!1)return C.verbose("Option not allowed to be unchecked, cancelling key navigation"),!1;if(b.beforeChecked.apply(l(k[ge]).children(Ce.input)[0])===!1)return C.verbose("Next option should not allow check, cancelling key navigation"),!1}$e==E.escape?(C.verbose("Escape key pressed blurring field"),be.blur(),o=!0):!T.ctrlKey&&($e==E.space||$e==E.enter&&b.enableEnterKey)?(C.verbose("Enter/space key pressed, toggling checkbox"),C.toggle(),o=!0):o=!1},keyup:function(T){o&&T.preventDefault()}},check:function(){!C.should.allowCheck()||(C.debug("Checking checkbox",be),C.set.checked(),C.should.ignoreCallbacks()||(b.onChecked.call(_e),C.trigger.change()),C.preventDefaultOnInputTarget())},uncheck:function(){!C.should.allowUncheck()||(C.debug("Unchecking checkbox"),C.set.unchecked(),C.should.ignoreCallbacks()||(b.onUnchecked.call(_e),C.trigger.change()),C.preventDefaultOnInputTarget())},indeterminate:function(){if(C.should.allowIndeterminate()){C.debug("Checkbox is already indeterminate");return}C.debug("Making checkbox indeterminate"),C.set.indeterminate(),C.should.ignoreCallbacks()||(b.onIndeterminate.call(_e),C.trigger.change())},determinate:function(){if(C.should.allowDeterminate()){C.debug("Checkbox is already determinate");return}C.debug("Making checkbox determinate"),C.set.determinate(),C.should.ignoreCallbacks()||(b.onDeterminate.call(_e),C.trigger.change())},enable:function(){if(C.is.enabled()){C.debug("Checkbox is already enabled");return}C.debug("Enabling checkbox"),C.set.enabled(),C.should.ignoreCallbacks()||(b.onEnable.call(_e),b.onEnabled.call(_e),C.trigger.change())},disable:function(){if(C.is.disabled()){C.debug("Checkbox is already disabled");return}C.debug("Disabling checkbox"),C.set.disabled(),C.should.ignoreCallbacks()||(b.onDisable.call(_e),b.onDisabled.call(_e),C.trigger.change())},get:{radios:function(){var T=C.get.name();return l('input[name="'+T+'"]').closest(Ce.checkbox)},otherRadios:function(){return C.get.radios().not(ve)},name:function(){return be.attr("name")}},is:{initialLoad:function(){return ee},radio:function(){return be.hasClass(D.radio)||be.attr("type")=="radio"},indeterminate:function(){return be.prop("indeterminate")!==s&&be.prop("indeterminate")},checked:function(){return be.prop("checked")!==s&&be.prop("checked")},disabled:function(){return be.prop("disabled")!==s&&be.prop("disabled")},enabled:function(){return!C.is.disabled()},determinate:function(){return!C.is.indeterminate()},unchecked:function(){return!C.is.checked()}},should:{allowCheck:function(){return C.is.determinate()&&C.is.checked()&&!C.is.initialLoad()?(C.debug("Should not allow check, checkbox is already checked"),!1):!C.should.ignoreCallbacks()&&b.beforeChecked.apply(_e)===!1?(C.debug("Should not allow check, beforeChecked cancelled"),!1):!0},allowUncheck:function(){return C.is.determinate()&&C.is.unchecked()&&!C.is.initialLoad()?(C.debug("Should not allow uncheck, checkbox is already unchecked"),!1):!C.should.ignoreCallbacks()&&b.beforeUnchecked.apply(_e)===!1?(C.debug("Should not allow uncheck, beforeUnchecked cancelled"),!1):!0},allowIndeterminate:function(){return C.is.indeterminate()&&!C.is.initialLoad()?(C.debug("Should not allow indeterminate, checkbox is already indeterminate"),!1):!C.should.ignoreCallbacks()&&b.beforeIndeterminate.apply(_e)===!1?(C.debug("Should not allow indeterminate, beforeIndeterminate cancelled"),!1):!0},allowDeterminate:function(){return C.is.determinate()&&!C.is.initialLoad()?(C.debug("Should not allow determinate, checkbox is already determinate"),!1):!C.should.ignoreCallbacks()&&b.beforeDeterminate.apply(_e)===!1?(C.debug("Should not allow determinate, beforeDeterminate cancelled"),!1):!0},ignoreCallbacks:function(){return ee&&!b.fireOnInit}},can:{change:function(){return!(ve.hasClass(D.disabled)||ve.hasClass(D.readOnly)||be.prop("disabled")||be.prop("readonly"))},uncheck:function(){return typeof b.uncheckable=="boolean"?b.uncheckable:!C.is.radio()}},set:{initialLoad:function(){ee=!0},checked:function(){if(C.verbose("Setting class to checked"),ve.removeClass(D.indeterminate).addClass(D.checked),C.is.radio()&&C.uncheckOthers(),!C.is.indeterminate()&&C.is.checked()){C.debug("Input is already checked, skipping input property change");return}C.verbose("Setting state to checked",_e),be.prop("indeterminate",!1).prop("checked",!0)},unchecked:function(){if(C.verbose("Removing checked class"),ve.removeClass(D.indeterminate).removeClass(D.checked),!C.is.indeterminate()&&C.is.unchecked()){C.debug("Input is already unchecked");return}C.debug("Setting state to unchecked"),be.prop("indeterminate",!1).prop("checked",!1)},indeterminate:function(){if(C.verbose("Setting class to indeterminate"),ve.addClass(D.indeterminate),C.is.indeterminate()){C.debug("Input is already indeterminate, skipping input property change");return}C.debug("Setting state to indeterminate"),be.prop("indeterminate",!0)},determinate:function(){if(C.verbose("Removing indeterminate class"),ve.removeClass(D.indeterminate),C.is.determinate()){C.debug("Input is already determinate, skipping input property change");return}C.debug("Setting state to determinate"),be.prop("indeterminate",!1)},disabled:function(){if(C.verbose("Setting class to disabled"),ve.addClass(D.disabled),C.is.disabled()){C.debug("Input is already disabled, skipping input property change");return}C.debug("Setting state to disabled"),be.prop("disabled","disabled")},enabled:function(){if(C.verbose("Removing disabled class"),ve.removeClass(D.disabled),C.is.enabled()){C.debug("Input is already enabled, skipping input property change");return}C.debug("Setting state to enabled"),be.prop("disabled",!1)},tabbable:function(){C.verbose("Adding tabindex to checkbox"),be.attr("tabindex")===s&&be.attr("tabindex",0)}},remove:{initialLoad:function(){ee=!1}},trigger:{change:function(){var T=be[0];if(T){var $e=oe.createEvent("HTMLEvents");C.verbose("Triggering native change event"),$e.initEvent("change",!0,!1),T.dispatchEvent($e)}}},create:{label:function(){be.prevAll(Ce.label).length>0?(be.prev(Ce.label).detach().insertAfter(be),C.debug("Moving existing label",ye)):C.has.label()||(ye=l("