1/* Parsley dist/parsley.min.js build version 1.1.0 http://parsleyjs.org */ 2!function(d){var k=function(a){this.init(a)};k.prototype={constructor:k,messages:{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",urlstrict:"This value should be a valid url.",number:"This value should be a valid number.",digits:"This value should be digits.",dateIso:"This value should be a valid date (YYYY-MM-DD).",alphanum:"This value should be alphanumeric."},notnull:"This value should not be null.",notblank:"This value should not be blank.", 3required:"This value is required.",regexp:"This value seems to be invalid.",min:"This value should be greater than %s.",max:"This value should be lower than %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or less.",rangelength:"This value length is invalid. It should be between %s and %s characters long.",equalto:"This value should be the same."},validators:{notnull:function(a){return 0< 4a.length},notblank:function(a){return""!==a.replace(/^\s+/g,"").replace(/\s+$/g,"")},required:function(a){return"object"===typeof a?0<a.length:this.notnull(a)&&this.notblank(a)},type:function(a,b){var c;switch(b){case "number":c=/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/;break;case "digits":c=/^\d+$/;break;case "alphanum":c=/^\w+$/;break;case "email":c=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i; 5break;case "url":a=/(https?|s?ftp|git)/i.test(a)?a:"http://"+a;case "urlstrict":c=/^(https?|s?ftp|git):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i; 6break;case "dateIso":c=/^(\d{4})\D?(0[1-9]|1[0-2])\D?([12]\d|0[1-9]|3[01])$/;break;default:return!1}return""!==a?c.test(a):!1},regexp:function(a,b){return RegExp(b,"i").test(a)},minlength:function(a,b){return a.length>=b},maxlength:function(a,b){return a.length<=b},rangelength:function(a,b){return this.minlength(a,b[0])&&this.maxlength(a,b[1])},min:function(a,b){return a>=b},max:function(a,b){return a<=b},range:function(a,b){return a>=b[0]&&a<=b[1]},equalto:function(a,b){return a===d(b).val()},remote:function(a, 7b,c){var e={},f={};e[c.$element.attr("name")]=a;"undefined"!==typeof c.options.remoteDatatype&&(f={dataType:c.options.remoteDatatype});var l=function(a){c.updateConstraint("remote","isValid",a);c.manageValidationResult()};d.ajax(d.extend({},{url:b,data:e,async:c.async,method:c.options.remoteMethod||"GET",success:function(a){l
7("1"===a||"true"==a||"object"===typeof a&&"undefined"!==typeof a.success||/success/i.test(a))},error:function(){l(!1)}},f));c.async&&l(null);return null},mincheck:function(a, 8b){return this.minlength(a,b)},maxcheck:function(a,b){return this.maxlength(a,b)},rangecheck:function(a,b){return this.rangelength(a,b)}},init:function(a){var b=a.validators;a=a.messages;for(var c in b)this.addValidator(c,b[c]);for(c in a)this.addMessage(c,a[c])},formatMesssage:function(a,b){if("object"===typeof b){for(var c in b)a=this.formatMesssage(a,b[c]);return a}return a.replace(/%s/i,b)},addValidator:function(a,b){this.validators[a]=b},addMessage:function(a,b){if("type"===a)for(var c in b)this.messages.type[c]= 9b[c];else this.messages[a]=b}};var h=function(a,b,c){this.options=b;this.Validator=new k(b);this.init(a,c||"ParsleyField");return this};h.prototype={constructor:h,init:function(a,b){this.type=b;this.isValid=!0;this.element=a;this.validatedOnce=!1;this.$element=d(a);this.val=this.$element.val();this.isRequired=!1;this.constraints=[];this.isRadioOrCheckbox=!1;this.hash=this.generateHash();this.errorClassHandler=this.options.errors.classHandler(a)||this.$element;if("undefined"!==typeof this.options.required|| 10this.$element.hasClass("required")||"required"===this.$element.attr("required"))this.isRequired=this.options.required=!0;this.addConstraints();this.constraints.length&&this.bindValidationEvents()},addConstraints:function(){for(var a in this.options)"function"===typeof this.Validator.validators[a.toLowerCase()]&&this.constraints.push({name:a,requirements:this.options[a],isValid:null})},bindValidationEvents:function(){this.$element.addClass("parsley-validated");var a=this.options.trigger+(/key/i.test(this.options.trigger)? 11"":" keyup");this.options.remote&&(a+=/change/i.test(a)?"":" change");if(a)this.$element.on(a.split(" ").join("."+this.type+" "),!1,d.proxy(this.eventValidation,this))},generateHash:function(){for(var a="",b=0;5>b;b++)a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".charAt(Math.floor(52*Math.random()));return a},getHash:function(){return this.hash},getVal:function(){return this.$element.val()},eventValidation:function(a){var b=this.getVal();if("keyup"===a.type&&!/keyup/i.test(this.options.trigger)&& 12this.isValid||b.length<this.options.validationMinlength&&!this.validatedOnce)return!0;this.validate(!0,!1)},isFieldValid:function(){return this.validate(!1,!1)},validate:function(a,b){var c=this.getVal(),d=null;if(!this.needsValidation(c))return this.isValid;if(this.options.listeners.onFieldValidate(this.$element)||""===this.val&&!this.isRequired)return this.reset(),null;this.errorBubbling="undefined"!==typeof a?a:!0;this.async="undefined"!==typeof b?b:!0;d=this.applyValidators();this.errorBubbling&& 13this.manageValidationResult();return d},needsValidation:function(a){if(this.val===a&&this.validatedOnce)return!1;this.val=a;return this.validatedOnce=!0},applyValidators:function(){var a=null,b;for(b in this.constraints){var c=this.Validator.validators[this.constraints[b].name](this.val,this.constraints[b].requirements,this);!1===c?(a=!1,this.constraints[b].isValid=a):!0===c&&(this.constraints[b].isValid=!0,a=!1!==a)}return a},updateConstraint:function(a,b,c){for(var d in this.constraints)if(this.constraints[d].name=== 14a){this.constraints[d][b]=c;break}},manageValidationResult:function(){var a=null,b;for(b in this.constraints)!1===this.constraints[b].isValid?(this.addError(this.constraints[b]),this.options.listeners.onFieldError(this.$element,this.constraints[b]),a=!1):!0===this.constraints[b].isValid&&(this.removeError(this.constraints[b].name),a=!1!==a);this.isValid=a;return!0===this.isValid?(this.removeErrors(),this.errorClassHandler.removeClass(this.options.errorClass).addClass(this.options.successClass),!0): 15!1===this.isValid?(this.errorClassHandler.removeClass(this.options.successClass).addClass(this.options.errorClass),!1):a},removeError:function(a){a=this.ulError+" ."+a;this.ulError&&(d(a).remove()&&0===d(this.ulError).children().length)&&d(this.ulError).remove()},removeErrors:function(){!this.ulError||d(this.ulError).remove()},reset:function(){this.isValid=!0;this.removeErrors();this.errorClassHandler.removeClass(this.options.successClass).removeClass(this.options.errorClass)}
15,addError:function(a){if(!this.ulError){var b= 16"parsley-"+this.hash;this.ulError="#"+b;this.ulTemplate=d(this.options.errors.errorsWrapper).attr("id",b).addClass("parsley-error-list")}var c=a.name,b=this.ulError+" ."+c,e=d(this.options.errors.errorElem).addClass(c);a="type"===a.name?this.Validator.messages[c][a.requirements]:"undefined"===typeof this.Validator.messages[c]?this.Validator.messages.defaultMessage:this.Validator.formatMesssage(this.Validator.messages[c],a.requirements);d(this.ulError).length||(this.options.errors.container(this.element, 17this.ulTemplate,this.isRadioOrCheckbox)||!this.isRadioOrCheckbox?this.$element.after(this.ulTemplate):this.$element.parent().after(this.ulTemplate));d(b).length||d(this.ulError).append(d(e).text(a))},addListener:function(a){for(var b in a)this.options.listeners[b]=a[b]}};var m=function(a,b){this.initMultiple(a,b);this.inherit(a,b)};m.prototype={constructor:m,initMultiple:function(a,b){this.element=a;this.$element=d(a);this.hash=this.getName();this.isRadioOrCheckbox=!0;this.isRadio=this.$element.is("input[type=radio]"); 18this.isCheckbox=this.$element.is("input[type=checkbox]");this.siblings='input[name="'+this.$element.attr("name")+'"]';this.$siblings=d(this.siblings);this.errorClassHandler=b.errors.classHandler(a)||this.$element.parent()},inherit:function(a,b){b=d.extend(!0,{},{messages:{mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or less.",rangecheck:"You must select between %s and %s choices."}},b);var c=new h(a,b),e;for(e in c)"undefined"===typeof this[e]&&(this[e]=c[e])}, 19getName:function(){return this.$element.attr("name").replace(/(:|\.|\[|\])/g,"")},getVal:function(){if(this.isRadio)return d(this.siblings+":checked").val()||"";if(this.isCheckbox){var a=[];d(this.siblings+":checked").each(function(){a.push(d(this).val())});return a}}};var j=function(a,b){this.init("parsleyForm",a,b)};j.prototype={constructor:j,init:function(a,b,c){this.type=a;this.items=[];this.$element=d(b);this.options=c;var e=this;this.$element.find(c.inputs).each(function(){d(this).parsley(c); 20e.items.push(d(this))});this.$element.on("submit",!1,d.proxy(this.validate,this))},addListener:function(a){for(var b in a)if(/Field/.test(b))for(var c in this.items)this.items[c].parsley("addListener",a);else this.options[b]=a[b]},validate:function(a){var b=!0,c=!1,d;for(d in this.items)if(!1===this.items[d].parsley("validate")&&(b=!1,!c&&"first"===this.options.focus||"last"===this.options.focus))c=this.items[d];b||c.focus();this.options.listeners.onFormSubmit(b,a,c);return b},removeErrors:function(){for(var a in this.items)this.items[a].parsley("reset")}}; 21d.fn.parsley=function(a,b){function c(c,f){var g=d(c).data(f);if(!g){switch(f){case "parsleyForm":g=new j(c,e);break;case "parsleyField":g=new h(c,e);break;case "parsleyFieldMultiple":g=new m(c,e);break;default:return}d(c).data(f,g)}if("string"===typeof a&&"function"===typeof g[a])return g[a](b)}var e=d.extend(!0,{},d.fn.parsley.defaults,a,this.data()),f=null;d(this).is("form")?f=c(d(this),"parsleyForm"):d(this).is(e.inputs)&&!d(this).is(e.excluded)&&(f=c(d(this),!d(this).is("input[type=radio], input[type=checkbox]")? 22"parsleyField":"parsleyFieldMultiple"));return"function"===typeof b?b():f};d.fn.parsley.Constructor=j;d.fn.parsley.defaults={inputs:"input, textarea, select",excluded:"input[type=hidden]",trigger:!1,focus:"first",validationMinlength:3,successClass:"parsley-success",errorClass:"parsley-error",validators:{},messages:{},errors:{classHandler:function(){},container:function(){},errorsWrapper:"<ul></ul>",errorElem:"<li></li>"},listeners:{onFieldValidate:function(){return!1},onFormSubmit:function(){},onFieldError:function(){}}}; 23d(window).on("load",function(){d.fn.parsley.defaults=d.extend(!0,{},d.fn.parsley.defaults,"undefined"!==typeof window.ParsleyConfig?ParsleyConfig:{});d('[data-validate="parsley"]').each(function(){d(this).parsley()})})}(window.jQuery||window.Zepto);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.