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