/*!
 * jQuery Validation Plugin v1.15.0
 *
 * http://jqueryvalidation.org/
 *
 * Copyright (c) 2016 Jörn Zaefferer
 * Released under the MIT license
 */
(function(factory){typeof define=="function"&&define.amd?define(["jquery"],factory):typeof module=="object"&&module.exports?module.exports=factory(require("jquery")):factory(jQuery)})(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing.");return}var validator=$.data(this[0],"validator");if(validator)return validator;if(this.attr("novalidate","novalidate"),validator=new $.validator(options,this[0]),$.data(this[0],"validator",validator),validator.settings.onsubmit){this.on("click.validate",":submit",function(event){validator.settings.submitHandler&&(validator.submitButton=event.target);$(this).hasClass("cancel")&&(validator.cancelSubmit=!0);$(this).attr("formnovalidate")!==undefined&&(validator.cancelSubmit=!0)});this.on("submit.validate",function(event){function handle(){var hidden,result;return validator.settings.submitHandler?(validator.submitButton&&(hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val($(validator.submitButton).val()).appendTo(validator.currentForm)),result=validator.settings.submitHandler.call(validator,validator.currentForm,event),validator.submitButton&&hidden.remove(),result!==undefined)?result:!1:!0}return(validator.settings.debug&&event.preventDefault(),validator.cancelSubmit)?(validator.cancelSubmit=!1,handle()):validator.form()?validator.pendingRequest?(validator.formSubmitted=!0,!1):handle():(validator.focusInvalid(),!1)})}return validator},valid:function(){var valid,validator,errorList;return $(this[0]).is("form")?valid=this.validate().form():(errorList=[],valid=!0,validator=$(this[0].form).validate(),this.each(function(){valid=validator.element(this)&&valid;valid||(errorList=errorList.concat(validator.errorList))}),validator.errorList=errorList),valid},rules:function(command,argument){if(this.length){var element=this[0],settings,staticRules,existingRules,data,param,filtered;if(command){settings=$.data(element.form,"validator").settings;staticRules=settings.rules;existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));delete existingRules.messages;staticRules[element.name]=existingRules;argument.messages&&(settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages));break;case"remove":return argument?(filtered={},$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];method==="required"&&$(element).removeAttr("aria-required")}),filtered):(delete staticRules[element.name],existingRules)}}return data=$.validator.normalizeRules($.extend({},$.validator.classRules(element),$.validator.attributeRules(element),$.validator.dataRules(element),$.validator.staticRules(element)),element),data.required&&(param=data.required,delete data.required,data=$.extend({required:param},data),$(element).attr("aria-required","true")),data.remote&&(param=data.remote,delete data.remote,data=$.extend(data,{remote:param})),data}}});$.extend($.expr[":"],{blank:function(a){return!$.trim(""+$(a).val())},filled:function(a){var val=$(a).val();return val!==null&&!!$.trim(""+val)},unchecked:function(a){return!$(a).prop("checked")}});$.validator=function(options,form){this.settings=$.extend(!0,{},$.validator.defaults,options);this.currentForm=form;this.init()};$.validator.format=function(source,params){return arguments.length===1?function(){var args=$.makeArray(arguments);return args.unshift(source),$.validator.format.apply(this,args)}:params===undefined?source:(arguments.length>2&&params.constructor!==Array&&(params=$.makeArray(arguments).slice(1)),params.constructor!==Array&&(params=[params]),$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),function(){return n})}),source)};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(element){this.lastActive=element;this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(element)))},onfocusout:function(element){!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))&&this.element(element)},onkeyup:function(element,event){(event.which!==9||this.elementValue(element)!=="")&&$.inArray(event.keyCode,[16,17,18,20,35,36,37,38,39,40,45,144,225])===-1&&(element.name in this.submitted||element.name in this.invalid)&&this.element(element)},onclick:function(element){element.name in this.submitted?this.element(element):element.parentNode.name in this.submitted&&this.element(element.parentNode)},highlight:function(element,errorClass,validClass){element.type==="radio"?this.findByName(element.name).addClass(errorClass).removeClass(validClass):$(element).addClass(errorClass).removeClass(validClass)},unhighlight:function(element,errorClass,validClass){element.type==="radio"?this.findByName(element.name).removeClass(errorClass).addClass(validClass):$(element).removeClass(errorClass).addClass(validClass)}},setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}."),step:$.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function delegate(event){var validator=$.data(this.form,"validator"),eventType="on"+event.type.replace(/^validate/,""),settings=validator.settings;settings[eventType]&&!$(this).is(settings.ignore)&&settings[eventType].call(validator,this,event)}this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=this.groups={},rules;$.each(this.settings.groups,function(key,value){typeof value=="string"&&(value=value.split(/\s/));$.each(value,function(index,name){groups[name]=key})});rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)});$(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable]",delegate).on("click.validate","select, option, [type='radio'], [type='checkbox']",delegate);if(this.settings.invalidHandler)$(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler);$(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),$.extend(this.submitted,this.errorMap),this.invalid=$.extend({},this.errorMap),this.valid()||$(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=this.currentElements=this.elements();elements[i];i++)this.check(elements[i]);return this.valid()},element:function(element){var cleanElement=this.clean(element),checkElement=this.validationTargetFor(cleanElement),v=this,result=!0,rs,group;return checkElement===undefined?delete this.invalid[cleanElement.name]:(this.prepareElement(checkElement),this.currentElements=$(checkElement),group=this.groups[checkElement.name],group&&$.each(this.groups,function(name,testgroup){testgroup===group&&name!==checkElement.name&&(cleanElement=v.validationTargetFor(v.clean(v.findByName(name))),cleanElement&&cleanElement.name in v.invalid&&(v.currentElements.push(cleanElement),result=result&&v.check(cleanElement)))}),rs=this.check(checkElement)!==!1,result=result&&rs,this.invalid[checkElement.name]=rs?!1:!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),$(element).attr("aria-invalid",!rs)),result},showErrors:function(errors){if(errors){var validator=this;$.extend(this.errorMap,errors);this.errorList=$.map(this.errorMap,function(message,name){return{message:message,element:validator.findByName(name)[0]}});this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){$.fn.resetForm&&$(this.currentForm).resetForm();this.invalid={};this.submitted={};this.prepareForm();this.hideErrors();var elements=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(elements)},resetElements:function(elements){var i;if(this.settings.unhighlight)for(i=0;elements[i];i++)this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,""),this.findByName(elements[i].name).removeClass(this.settings.validClass);else elements.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){var count=0;for(var i in obj)obj[i]&&count++;return count},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(errors){errors.not(this.containers).text("");this.addWrapper(errors).hide()},valid:function(){return this.size()===0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name===lastActive.name}).length===1&&lastActive},elements:function(){var validator=this,rulesCache={};return $(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var name=this.name||$(this).attr("name");return(!name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=$(this).closest("form")[0]),name in rulesCache||!validator.objectLength($(this).rules()))?!1:(rulesCache[name]=!0,!0)})},clean:function(selector){return $(selector)[0]},errors:function(){var errorClass=this.settings.errorClass.split(" ").join(".");return $(this.settings.errorElement+"."+errorClass,this.errorContext)},resetInternals:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([])},reset:function(){this.resetInternals();this.currentElements=$([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element)},elementValue:function(element){var $element=$(element),type=element.type,val,idx;return type==="radio"||type==="checkbox"?this.findByName(element.name).filter(":checked").val():type==="number"&&typeof element.validity!="undefined"?element.validity.badInput?"NaN":$element.val():(val=element.hasAttribute("contenteditable")?$element.text():$element.val(),type==="file")?val.substr(0,12)==="C:\\fakepath\\"?val.substr(12):(idx=val.lastIndexOf("/"),idx>=0)?val.substr(idx+1):(idx=val.lastIndexOf("\\"),idx>=0)?val.substr(idx+1):val:typeof val=="string"?val.replace(/\r/g,""):val},check:function(element){element=this.validationTargetFor(this.clean(element));var rules=$(element).rules(),rulesCount=$.map(rules,function(n,i){return i}).length,dependencyMismatch=!1,val=this.elementValue(element),result,method,rule;if(typeof rules.normalizer=="function"){if(val=rules.normalizer.call(element,val),typeof val!="string")throw new TypeError("The normalizer should return a string value.");delete rules.normalizer}for(method in rules){rule={method:method,parameters:rules[method]};try{if(result=$.validator.methods[method].call(this,val,element,rule.parameters),result==="dependency-mismatch"&&rulesCount===1){dependencyMismatch=!0;continue}if(dependencyMismatch=!1,result==="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return}if(!result)return this.formatAndAdd(element,rule),!1}catch(e){this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+element.id+", check the '"+rule.method+"' method.",e);e instanceof TypeError&&(e.message+=".  Exception occurred when checking element "+element.id+", check the '"+rule.method+"' method.");throw e;}}if(!dependencyMismatch)return this.objectLength(rules)&&this.successList.push(element),!0},customDataMessage:function(element,method){return $(element).data("msg"+method.charAt(0).toUpperCase()+method.substring(1).toLowerCase())||$(element).data("msg")},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor===String?m:m[method])},findDefined:function(){for(var i=0;i<arguments.length;i++)if(arguments[i]!==undefined)return arguments[i];return undefined},defaultMessage:function(element,rule){var message=this.findDefined(this.customMessage(element.name,rule.method),this.customDataMessage(element,rule.method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[rule.method],"<strong>Warning: No message defined for "+element.name+"<\/strong>"),theregex=/\$?\{(\d+)\}/g;return typeof message=="function"?message=message.call(this,rule.parameters,element):theregex.test(message)&&(message=$.validator.format(message.replace(theregex,"{$1}"),rule.parameters)),message},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule);this.errorList.push({message:message,element:element,method:rule.method});this.errorMap[element.name]=message;this.submitted[element.name]=message},addWrapper:function(toToggle){return this.settings.wrapper&&(toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))),toToggle},defaultShowErrors:function(){for(var elements,error,i=0;this.errorList[i];i++)error=this.errorList[i],this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass),this.showLabel(error.element,error.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(i=0;this.successList[i];i++)this.showLabel(this.successList[i]);if(this.settings.unhighlight)for(i=0,elements=this.validElements();elements[i];i++)this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var place,group,errorID,v,error=this.errorsFor(element),elementID=this.idOrName(element),describedBy=$(element).attr("aria-describedby");error.length?(error.removeClass(this.settings.validClass).addClass(this.settings.errorClass),error.html(message)):(error=$("<"+this.settings.errorElement+">").attr("id",elementID+"-error").addClass(this.settings.errorClass).html(message||""),place=error,this.settings.wrapper&&(place=error.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(place):this.settings.errorPlacement?this.settings.errorPlacement(place,$(element)):place.insertAfter(element),error.is("label")?error.attr("for",elementID):error.parents("label[for='"+this.escapeCssMeta(elementID)+"']").length===0&&(errorID=error.attr("id"),describedBy?describedBy.match(new RegExp("\\b"+this.escapeCssMeta(errorID)+"\\b"))||(describedBy+=" "+errorID):describedBy=errorID,$(element).attr("aria-describedby",describedBy),group=this.groups[element.name],group&&(v=this,$.each(v.groups,function(name,testgroup){testgroup===group&&$("[name='"+v.escapeCssMeta(name)+"']",v.currentForm).attr("aria-describedby",error.attr("id"))}))));!message&&this.settings.success&&(error.text(""),typeof this.settings.success=="string"?error.addClass(this.settings.success):this.settings.success(error,element));this.toShow=this.toShow.add(error)},errorsFor:function(element){var name=this.escapeCssMeta(this.idOrName(element)),describer=$(element).attr("aria-describedby"),selector="label[for='"+name+"'], label[for='"+name+"'] *";return describer&&(selector=selector+", #"+this.escapeCssMeta(describer).replace(/\s+/g,", #")),this.errors().filter(selector)},escapeCssMeta:function(string){return string.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},validationTargetFor:function(element){return this.checkable(element)&&(element=this.findByName(element.name)),$(element).not(this.settings.ignore)[0]},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){return $(this.currentForm).find("[name='"+this.escapeCssMeta(name)+"']")},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element))return this.findByName(element.name).filter(":checked").length}return value.length},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):!0},dependTypes:{boolean:function(param){return param},string:function(param,element){return!!$(param,element.form).length},"function":function(param,element){return param(element)}},optional:function(element){var val=this.elementValue(element);return!$.validator.methods.required.call(this,val,element)&&"dependency-mismatch"},startRequest:function(element){this.pending[element.name]||(this.pendingRequest++,$(element).addClass(this.settings.pendingClass),this.pending[element.name]=!0)},stopRequest:function(element,valid){this.pendingRequest--;this.pendingRequest<0&&(this.pendingRequest=0);delete this.pending[element.name];$(element).removeClass(this.settings.pendingClass);valid&&this.pendingRequest===0&&this.formSubmitted&&this.form()?($(this.currentForm).submit(),this.formSubmitted=!1):!valid&&this.pendingRequest===0&&this.formSubmitted&&($(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(element,method){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:!0,message:this.defaultMessage(element,{method:method})})},destroy:function(){this.resetForm();$(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(className,rules){className.constructor===String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className)},classRules:function(element){var rules={},classes=$(element).attr("class");return classes&&$.each(classes.split(" "),function(){this in $.validator.classRuleSettings&&$.extend(rules,$.validator.classRuleSettings[this])}),rules},normalizeAttributeRule:function(rules,type,method,value){/min|max|step/.test(method)&&(type===null||/number|range|text/.test(type))&&(value=Number(value),isNaN(value)&&(value=undefined));value||value===0?rules[method]=value:type===method&&type!=="range"&&(rules[method]=!0)},attributeRules:function(element){var rules={},$element=$(element),type=element.getAttribute("type"),method,value;for(method in $.validator.methods)method==="required"?(value=element.getAttribute(method),value===""&&(value=!0),value=!!value):value=$element.attr(method),this.normalizeAttributeRule(rules,type,method,value);return rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)&&delete rules.maxlength,rules},dataRules:function(element){var rules={},$element=$(element),type=element.getAttribute("type"),method,value;for(method in $.validator.methods)value=$element.data("rule"+method.charAt(0).toUpperCase()+method.substring(1).toLowerCase()),this.normalizeAttributeRule(rules,type,method,value);return rules},staticRules:function(element){var rules={},validator=$.data(element.form,"validator");return validator.settings.rules&&(rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}),rules},normalizeRules:function(rules,element){return $.each(rules,function(prop,val){if(val===!1){delete rules[prop];return}if(val.param||val.depends){var keepRule=!0;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element)}keepRule?rules[prop]=val.param!==undefined?val.param:!0:($.data(element.form,"validator").resetElements($(element)),delete rules[prop])}}),$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)&&rule!=="normalizer"?parameter(element):parameter}),$.each(["minlength","maxlength"],function(){rules[this]&&(rules[this]=Number(rules[this]))}),$.each(["rangelength","range"],function(){var parts;rules[this]&&($.isArray(rules[this])?rules[this]=[Number(rules[this][0]),Number(rules[this][1])]:typeof rules[this]=="string"&&(parts=rules[this].replace(/[\[\]]/g,"").split(/[\s,]+/),rules[this]=[Number(parts[0]),Number(parts[1])]))}),$.validator.autoCreateRanges&&(rules.min!=null&&rules.max!=null&&(rules.range=[rules.min,rules.max],delete rules.min,delete rules.max),rules.minlength!=null&&rules.maxlength!=null&&(rules.rangelength=[rules.minlength,rules.maxlength],delete rules.minlength,delete rules.maxlength)),rules},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=!0});data=transformed}return data},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!==undefined?message:$.validator.messages[name];method.length<3&&$.validator.addClassRules(name,$.validator.normalizeRule(name))},methods:{required:function(value,element,param){if(!this.depend(param,element))return"dependency-mismatch";if(element.nodeName.toLowerCase()==="select"){var val=$(element).val();return val&&val.length>0}return this.checkable(element)?this.getLength(value,element)>0:value.length>0},email:function(value,element){return this.optional(element)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value)},url:function(value,element){return this.optional(element)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(value)},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value).toString())},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)},number:function(value,element){return this.optional(element)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value)},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},minlength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength(value,element);return this.optional(element)||length>=param},maxlength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength(value,element);return this.optional(element)||length<=param},rangelength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength(value,element);return this.optional(element)||length>=param[0]&&length<=param[1]},min:function(value,element,param){return this.optional(element)||value>=param},max:function(value,element,param){return this.optional(element)||value<=param},range:function(value,element,param){return this.optional(element)||value>=param[0]&&value<=param[1]},step:function(value,element,param){var type=$(element).attr("type"),errorMessage="Step attribute on input type "+type+" is not supported.",re=new RegExp("\\b"+type+"\\b"),notSupported=type&&!re.test("text,number,range");if(notSupported)throw new Error(errorMessage);return this.optional(element)||value%param==0},equalTo:function(value,element,param){var target=$(param);if(this.settings.onfocusout&&target.not(".validate-equalTo-blur").length)target.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){$(element).valid()});return value===target.val()},remote:function(value,element,param,method){if(this.optional(element))return"dependency-mismatch";method=typeof method=="string"&&method||"remote";var previous=this.previousValue(element,method),validator,data,optionDataString;return(this.settings.messages[element.name]||(this.settings.messages[element.name]={}),previous.originalMessage=previous.originalMessage||this.settings.messages[element.name][method],this.settings.messages[element.name][method]=previous.message,param=typeof param=="string"&&{url:param}||param,optionDataString=$.param($.extend({data:value},param.data)),previous.old===optionDataString)?previous.valid:(previous.old=optionDataString,validator=this,this.startRequest(element),data={},data[element.name]=value,$.ajax($.extend(!0,{mode:"abort",port:"validate"+element.name,dataType:"json",data:data,context:validator.currentForm,success:function(response){var valid=response===!0||response==="true",errors,message,submitted;validator.settings.messages[element.name][method]=previous.originalMessage;valid?(submitted=validator.formSubmitted,validator.resetInternals(),validator.toHide=validator.errorsFor(element),validator.formSubmitted=submitted,validator.successList.push(element),validator.invalid[element.name]=!1,validator.showErrors()):(errors={},message=response||validator.defaultMessage(element,{method:method,parameters:value}),errors[element.name]=previous.message=message,validator.invalid[element.name]=!0,validator.showErrors(errors));previous.valid=valid;validator.stopRequest(element,valid)}},param)),"pending")}}});var pendingRequests={},ajax;$.ajaxPrefilter?$.ajaxPrefilter(function(settings,_,xhr){var port=settings.port;settings.mode==="abort"&&(pendingRequests[port]&&pendingRequests[port].abort(),pendingRequests[port]=xhr)}):(ajax=$.ajax,$.ajax=function(settings){var mode=("mode"in settings?settings:$.ajaxSettings).mode,port=("port"in settings?settings:$.ajaxSettings).port;return mode==="abort"?(pendingRequests[port]&&pendingRequests[port].abort(),pendingRequests[port]=ajax.apply(this,arguments),pendingRequests[port]):ajax.apply(this,arguments)})});
//# sourceMappingURL=/sb/nmap/bundles_jquery_validate.js.v5a096ba58e64ebd2d32518632a9de40ba4d107e5