/*!
* what3words autosuggest jQuery plugin
* Copyright (C) 2017 what3words Limited
* Licensed under the MIT license
*
* @author what3words
* @version 1.5.1
* @link https://github.com/what3words/jquery-plugin-w3w-autosuggest
*/
!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(i),i}:t(jQuery)}(function(t){"use strict";var e=/^[^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?\/";:£§º©®\s]{1,}[・.][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?\/";:£§º©®\s]{1,}[・.][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?\/";:£§º©®\s]{1,}$/i,i=/^[^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?\/";:£§º©®\s]{2,}[・.][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?\/";:£§º©®\s]{2,}[・.][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?\/";:£§º©®\s]{2,}$/i,s=function(e,i){this._api_end_point="https://api.what3words.com/v2/",this.element=e,this._name="w3wAddress",this._defaults=t.fn.w3wAddress.defaults,this.options=t.extend({},this._defaults,i),void 0!==this.options.api_end_point&&(this._api_end_point=this.options.api_end_point),this.init()};t.extend(s.prototype,{init:function(){this.buildWrappers(),this.autoSuggest(),this.validation()},destroy:function(){this.unbindEvents(),this.$element.removeData()},buildWrappers:function(){var e=this.options.direction;t(this.element).wrapAll('
'),this.options.logo&&(t(this.element).addClass("typeahead__padlogo"),t(this.element).closest(".typeahead__container").prepend('
')),this.options.validation&&t(this.element).closest(".typeahead__container").after(''),t(this.element).addClass("typeahead__w3w_valid").attr("placeholder",this.options.placeholder+" ").attr("autocomplete","off").attr("dir","auto").attr("aria-invalid","true")},bindEvents:function(){},unbindEvents:function(){this.$element.off("."+this._name)},callback:function(){var t=this.options.onComplete;"function"==typeof t&&t.call(this.element)},autoSuggest:function(){""===this.options.key||null===this.options.key?(console.log("No what3words API key found in constructor!"),void 0===this.options.api_end_point&&console.log("A what3words API key is required to use the AutoSuggest plugin. Information on how to register for a key can be found in the README")):this.options.debug&&console.log("what3words API key: "+this.options.key),"ar"===this.options.lang&&(t(this.element).css("direction","rtl"),this.options.hint=!1);var i,s=this,n=0;t(this.element).focusout(function(){if(/ /.test(this.value))if(this.value=this.value.replace(/ /g,""),s.options.validation){var e=t(s.element).closest("form");e.length&&e.length>0&&e.validate().element(".typeahead__w3w_valid")}else{var i=!1,n=t(s.element).closest(".typeahead__container").find("span.typeahead__twa");if(void 0!==n&&n.length>0)for(var o=0;o','',"",'{{words}}',"
",'',"{{place}}","",""].join("\n")},ajax:function(i){var n=i;if(0===n.indexOf("///")&&(n=n.replace(/\/\/\//,"")),null!==e.exec(n)){t(s.element).trigger("searched",[i]);var o={addr:n,format:"json",key:s.options.key,count:s.options.count,display:"full"};void 0!==s.options.lang&&s.options.lang&&(o.lang=s.options.lang),void 0!==s.options.focus&&s.options.focus&&(o.focus=s.options.focus),void 0!==s.options.clip&&s.options.clip&&(o.clip=s.options.clip),s.options.multilingual||void 0!==o.lang||(o.lang="en");var r=s.options.multilingual?"autosuggest-ml":"autosuggest";return{type:"GET",url:s._api_end_point+r,data:o,path:"suggestions"}}return!1}}},callback:{onSearch:function(e,i){n=0,t(s.element).attr("aria-invalid",!0)},onInit:function(t){s.options.debug&&console.log("w3wAddress typeahead initiated on field: "+t.selector)},onResult:function(t,e,i,n){if(""!==e){var o="";0===i.length?o='No results matching "'+e+'"':i.length>0&&i.length0&&(o="Showing "+i.length+" elements matching addr= "+e+'"'),o+=", with lang="+s.options.lang,void 0!==s.options.focus?o+=", with focus="+s.options.focus:o+=", without focus",s.options.debug&&console.log(o)}},onNavigateAfter:function(e,i,n,o,r,a){void 0===o||void 0===o.words?t(s.element).attr("aria-invalid",!0):t(s.element).attr("aria-invalid",!1)},onClickAfter:function(e,n,o,r){if(s.options.validation){var a=t(s.element).closest("form");if(a.length&&a.length>0){a.validate().element(".typeahead__w3w_valid"),t(s.element).closest(".typeahead__container").nextAll(".typeahead__w3w_validation").empty(),t(s.element).closest(".typeahead__query").hasClass("valid")||t(s.element).closest(".typeahead__query").addClass("valid"),clearTimeout(i);var l=function(){t(s.element).closest(".typeahead__query").removeClass("valid")};i=setTimeout(l,500)}}void 0===o||void 0===o.words?t(s.element).attr("aria-invalid",!0):(t(s.element).attr("aria-invalid",!1),void 0!==o&&t(s.element).trigger("selection",[o]))},onCancel:function(e,i){s.options.validation&&t(s.element).closest(".typeahead__container").nextAll(".typeahead__w3w_validation").empty(),t(s.element).attr("aria-invalid",!0),t(s.element).removeClass("valid"),t(s.element).trigger("cancel")}}})},validation:function(){if(!1!==this.options.validation){this.options.debug&&console.log("Validating the w3wAddress field");var s=this;t.validator.addMethod("w3w_valid",function(e,s){if(this.optional(s)||""===e.replace(/ /g,""))return!0;var n=!1,o=e;if(/ /.test(o)&&(o=e.replace(/ /g,""),t(s).val(o)),null!==i.exec(o)){var r=t(s).closest(".typeahead__container").find("span.typeahead__twa");if(void 0!==r&&r.length>0)for(var a=0;a0&&o.validate({onfocusout:!1,onkeyup:function(i){if(t(i).hasClass("typeahead__w3w_valid")){clearTimeout(n);var s=function(){t(i).closest(".typeahead__query").removeClass("valid"),e.test(t(i).val())&&t(i).valid()};n=setTimeout(s,500)}},errorPlacement:function(t,e){var i=e.closest(".typeahead__container");t.appendTo(i.siblings(".typeahead__w3w_validation"))}})}}}),t.fn.w3wAddress=function(e){return this.each(function(){t.data(this,"plugin_w3wAddress")||t.data(this,"plugin_w3wAddress",new s(this,e))}),this},t.fn.w3wAddress.defaults={country_filter:null,key:"",debug:!1,hint:!1,count:50,results:3,logo:!0,lang:"en",focus:null,clip:null,multilingual:!0,direction:"ltr",placeholder:"e.g. lock.spout.radar",validation:!0,valid_error:"Please enter a valid 3 word address.",typeaheadDelay:100}}),function(t){"function"==typeof define&&define.amd?define("jquery-typeahead",["jquery"],function(e){return t(e)}):"object"==typeof module&&module.exports?module.exports=function(e,i){return void 0===e&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(void 0)),t(e)}():t(jQuery)}(function(t){"use strict";window.Typeahead={version:"2.8.0"};var e={input:null,minLength:2,maxLength:!1,maxItem:8,dynamic:!1,delay:300,order:null,offset:!1,hint:!1,accent:!1,highlight:!0,group:!1,groupOrder:null,maxItemPerGroup:null,dropdownFilter:!1,dynamicFilter:null,backdrop:!1,backdropOnFocus:!1,cache:!1,ttl:36e5,compression:!1,searchOnFocus:!1,blurOnTab:!0,resultContainer:null,generateOnLoad:null,mustSelectItem:!1,href:null,display:["display"],template:null,templateValue:null,groupTemplate:null,correlativeTemplate:!1,emptyTemplate:!1,cancelButton:!0,loadingAnimation:!0,filter:!0,matcher:null,source:null,callback:{onInit:null,onReady:null,onShowLayout:null,onHideLayout:null,onSearch:null,onResult:null,onLayoutBuiltBefore:null,onLayoutBuiltAfter:null,onNavigateBefore:null,onNavigateAfter:null,onMouseEnter:null,onMouseLeave:null,onClickBefore:null,onClickAfter:null,onDropdownFilter:null,onSendRequest:null,onReceiveRequest:null,onPopulateSource:null,onCacheSave:null,onSubmit:null,onCancel:null},selector:{container:"typeahead__container",result:"typeahead__result",list:"typeahead__list",group:"typeahead__group",item:"typeahead__item",empty:"typeahead__empty",display:"typeahead__display",query:"typeahead__query",filter:"typeahead__filter",filterButton:"typeahead__filter-button",dropdown:"typeahead__dropdown",dropdownItem:"typeahead__dropdown-item",button:"typeahead__button",backdrop:"typeahead__backdrop",hint:"typeahead__hint",cancelButton:"typeahead__cancel-button"},debug:!1},i={from:"ãàáäâẽèéëêìíïîõòóöôùúüûñç",to:"aaaaaeeeeeiiiiooooouuuunc"},s=~window.navigator.appVersion.indexOf("MSIE 9."),n=~window.navigator.appVersion.indexOf("MSIE 10"),o=~window.navigator.userAgent.indexOf("Trident")&&~window.navigator.userAgent.indexOf("rv:11"),r=function(t,e){this.rawQuery=t.val()||"",this.query=t.val()||"",this.selector=t[0].selector,this.deferred=null,this.tmpSource={},this.source={},this.dynamicGroups=[],this.hasDynamicGroups=!1,this.generatedGroupCount=0,this.groupBy="group",this.groups=[],this.searchGroups=[],this.generateGroups=[],this.requestGroups=[],this.result={},this.groupTemplate="",this.resultHtml=null,this.resultCount=0,this.resultCountPerGroup={},this.options=e,this.node=t,this.namespace="."+this.helper.slugify.call(this,this.selector)+".typeahead",this.container=null,this.resultContainer=null,this.item=null,this.xhr={},this.hintIndex=null,this.filters={dropdown:{},dynamic:{}},this.dropdownFilter={static:[],dynamic:[]},this.dropdownFilterAll=null,this.isDropdownEvent=!1,this.requests={},this.backdrop={},this.hint={},this.hasDragged=!1,this.focusOnly=!1,this.__construct()};r.prototype={_validateCacheMethod:function(t){var e,i=["localStorage","sessionStorage"];if(!0===t)t="localStorage";else if("string"==typeof t&&!~i.indexOf(t))return!1;e=void 0!==window[t];try{window[t].setItem("typeahead","typeahead"),window[t].removeItem("typeahead")}catch(t){e=!1}return e&&t||!1},extendOptions:function(){if(this.options.cache=this._validateCacheMethod(this.options.cache),this.options.compression&&("object"==typeof LZString&&this.options.cache||(this.options.compression=!1)),(!this.options.maxLength||isNaN(this.options.maxLength))&&(this.options.maxLength=1/0),void 0!==this.options.maxItem&&~[0,!1].indexOf(this.options.maxItem)&&(this.options.maxItem=1/0),this.options.maxItemPerGroup&&!/^\d+$/.test(this.options.maxItemPerGroup)&&(this.options.maxItemPerGroup=null),this.options.display&&!Array.isArray(this.options.display)&&(this.options.display=[this.options.display]),this.options.group&&(Array.isArray(this.options.group)||("string"==typeof this.options.group?this.options.group={key:this.options.group}:"boolean"==typeof this.options.group&&(this.options.group={key:"group"}),this.options.group.key=this.options.group.key||"group")),this.options.highlight&&!~["any",!0].indexOf(this.options.highlight)&&(this.options.highlight=!1),this.options.dropdownFilter&&this.options.dropdownFilter instanceof Object){Array.isArray(this.options.dropdownFilter)||(this.options.dropdownFilter=[this.options.dropdownFilter]);for(var s=0,n=this.options.dropdownFilter.length;n>s;++s)this.dropdownFilter[this.options.dropdownFilter[s].value?"static":"dynamic"].push(this.options.dropdownFilter[s])}this.options.dynamicFilter&&!Array.isArray(this.options.dynamicFilter)&&(this.options.dynamicFilter=[this.options.dynamicFilter]),this.options.accent&&("object"==typeof this.options.accent?this.options.accent.from&&this.options.accent.to&&(this.options.accent.from.length,this.options.accent.to.length):this.options.accent=i),this.options.groupTemplate&&(this.groupTemplate=this.options.groupTemplate),this.options.resultContainer&&("string"==typeof this.options.resultContainer&&(this.options.resultContainer=t(this.options.resultContainer)),this.options.resultContainer instanceof t&&this.options.resultContainer[0]&&(this.resultContainer=this.options.resultContainer)),this.options.maxItemPerGroup&&this.options.group&&this.options.group.key&&(this.groupBy=this.options.group.key),this.options.callback&&this.options.callback.onClick&&(this.options.callback.onClickBefore=this.options.callback.onClick,delete this.options.callback.onClick),this.options.callback&&this.options.callback.onNavigate&&(this.options.callback.onNavigateBefore=this.options.callback.onNavigate,delete this.options.callback.onNavigate),this.options=t.extend(!0,{},e,this.options)},unifySourceFormat:function(){this.dynamicGroups=[],Array.isArray(this.options.source)&&(this.options.source={group:{data:this.options.source}}),"string"==typeof this.options.source&&(this.options.source={group:{ajax:{url:this.options.source}}}),this.options.source.ajax&&(this.options.source={group:{ajax:this.options.source.ajax}}),(this.options.source.url||this.options.source.data)&&(this.options.source={group:this.options.source});var t,e,i;for(t in this.options.source)if(this.options.source.hasOwnProperty(t)){if(e=this.options.source[t],"string"==typeof e&&(e={ajax:{url:e}}),i=e.url||e.ajax,Array.isArray(i)?(e.ajax="string"==typeof i[0]?{url:i[0]}:i[0],e.ajax.path=e.ajax.path||i[1]||null,delete e.url):("object"==typeof e.url?e.ajax=e.url:"string"==typeof e.url&&(e.ajax={url:e.url}),delete e.url),!e.data&&!e.ajax)return!1;e.display&&!Array.isArray(e.display)&&(e.display=[e.display]),e.minLength="number"==typeof e.minLength?e.minLength:this.options.minLength,e.maxLength="number"==typeof e.maxLength?e.maxLength:this.options.maxLength,e.dynamic="boolean"==typeof e.dynamic||this.options.dynamic,e.minLength>e.maxLength&&(e.minLength=e.maxLength),this.options.source[t]=e,this.options.source[t].dynamic&&this.dynamicGroups.push(t),e.cache=void 0!==e.cache?this._validateCacheMethod(e.cache):this.options.cache,e.compression&&("object"==typeof LZString&&e.cache||(e.compression=!1))}return this.hasDynamicGroups=this.options.dynamic||!!this.dynamicGroups.length,!0},init:function(){this.helper.executeCallback.call(this,this.options.callback.onInit,[this.node]),this.container=this.node.closest("."+this.options.selector.container)},delegateEvents:function(){var e=this,i=["focus"+this.namespace,"input"+this.namespace,"propertychange"+this.namespace,"keydown"+this.namespace,"keyup"+this.namespace,"search"+this.namespace,"generate"+this.namespace];t("html").on("touchmove",function(){e.hasDragged=!0}).on("touchstart",function(){e.hasDragged=!1}),this.node.closest("form").on("submit",function(t){return e.options.mustSelectItem&&e.helper.isEmpty(e.item)?void t.preventDefault():(e.options.backdropOnFocus||e.hideLayout(),e.options.callback.onSubmit?e.helper.executeCallback.call(e,e.options.callback.onSubmit,[e.node,this,e.item,t]):void 0)}).on("reset",function(){setTimeout(function(){e.node.trigger("input"+e.namespace),e.hideLayout()})});var r=!1;if(this.node.attr("placeholder")&&(n||o)){var a=!0;this.node.on("focusin focusout",function(){a=!(this.value||!this.placeholder)}),this.node.on("input",function(t){a&&(t.stopImmediatePropagation(),a=!1)})}this.node.off(this.namespace).on(i.join(" "),function(i,n){switch(i.type){case"generate":e.generateSource(Object.keys(e.options.source));break;case"focus":if(e.focusOnly){e.focusOnly=!1;break}e.options.backdropOnFocus&&(e.buildBackdropLayout(),e.showLayout()),e.options.searchOnFocus&&(e.deferred=t.Deferred(),e.generateSource());break;case"keydown":i.keyCode&&~[9,13,27,38,39,40].indexOf(i.keyCode)&&(r=!0,e.navigate(i));break;case"keyup":s&&e.node[0].value.replace(/^\s+/,"").toString().length=this.options.source[t].minLength&&this.query.length<=this.options.source[t].maxLength){if(this.searchGroups.push(t),!this.options.source[t].dynamic&&this.source[t])continue;this.generateGroups.push(t)}},generateSource:function(e){if(this.filterGenerateSource(),Array.isArray(e)&&e.length)this.generateGroups=e;else if(!this.generateGroups.length)return void this.node.trigger("search"+this.namespace);if(this.requestGroups=[],this.generatedGroupCount=0,this.options.loadingAnimation&&this.container.addClass("loading"),!this.helper.isEmpty(this.xhr)){for(var i in this.xhr)this.xhr.hasOwnProperty(i)&&this.xhr[i].abort();this.xhr={}}for(var s,n,o,r,a,l,h,u=this,i=0,c=this.generateGroups.length;c>i;++i){if(s=this.generateGroups[i],o=this.options.source[s],r=o.cache,a=o.compression,r&&(l=window[r].getItem("TYPEAHEAD_"+this.selector+":"+s))){a&&(l=LZString.decompressFromUTF16(l)),h=!1;try{l=JSON.parse(l+""),l.data&&l.ttl>(new Date).getTime()?(this.populateSource(l.data,s),h=!0):window[r].removeItem("TYPEAHEAD_"+this.selector+":"+s)}catch(t){}if(h)continue}!o.data||o.ajax?o.ajax&&(this.requests[s]||(this.requests[s]=this.generateRequestObject(s)),this.requestGroups.push(s)):"function"==typeof o.data?(n=o.data.call(this),Array.isArray(n)?u.populateSource(n,s):"function"==typeof n.promise&&function(e){t.when(n).then(function(t){t&&Array.isArray(t)&&u.populateSource(t,e)})}(s)):this.populateSource(t.extend(!0,[],o.data),s)}return this.requestGroups.length&&this.handleRequests(),!!this.generateGroups.length},generateRequestObject:function(t){var e=this,i=this.options.source[t],s={request:{url:i.ajax.url||null,dataType:"json",beforeSend:function(s,n){e.xhr[t]=s;var o=e.requests[t].callback.beforeSend||i.ajax.beforeSend;"function"==typeof o&&o.apply(null,arguments)}},callback:{beforeSend:null,done:null,fail:null,then:null,always:null},extra:{path:i.ajax.path||null,group:t},validForGroup:[t]};if("function"!=typeof i.ajax&&(i.ajax instanceof Object&&(s=this.extendXhrObject(s,i.ajax)),Object.keys(this.options.source).length>1))for(var n in this.requests)this.requests.hasOwnProperty(n)&&(this.requests[n].isDuplicated||s.request.url&&s.request.url===this.requests[n].request.url&&(this.requests[n].validForGroup.push(t),s.isDuplicated=!0,delete s.validForGroup));return s},extendXhrObject:function(e,i){return"object"==typeof i.callback&&(e.callback=i.callback,delete i.callback),"function"==typeof i.beforeSend&&(e.callback.beforeSend=i.beforeSend,delete i.beforeSend),e.request=t.extend(!0,e.request,i),"jsonp"!==e.request.dataType.toLowerCase()||e.request.jsonpCallback||(e.request.jsonpCallback="callback_"+e.extra.group),e},handleRequests:function(){var e,i=this,s=this.requestGroups.length;if(!1!==this.helper.executeCallback.call(this,this.options.callback.onSendRequest,[this.node,this.query]))for(var n=0,o=this.requestGroups.length;o>n;++n)e=this.requestGroups[n],this.requests[e].isDuplicated||function(e,n){if("function"==typeof i.options.source[e].ajax){var o=i.options.source[e].ajax.call(i,i.query);if(n=i.extendXhrObject(i.generateRequestObject(e),"object"==typeof o?o:{}),"object"!=typeof n.request||!n.request.url)return void i.populateSource([],e);i.requests[e]=n}var r,a,l=!1;if(~n.request.url.indexOf("{{query}}")&&(l||(n=t.extend(!0,{},n),l=!0),n.request.url=n.request.url.replace("{{query}}",encodeURIComponent(i.query))),n.request.data)for(var h in n.request.data)if(n.request.data.hasOwnProperty(h)&&~String(n.request.data[h]).indexOf("{{query}}")){l||(n=t.extend(!0,{},n),l=!0),n.request.data[h]=n.request.data[h].replace("{{query}}",i.query);break}t.ajax(n.request).done(function(t,e,s){a=null;for(var o=0,l=n.validForGroup.length;l>o;o++)r=i.requests[n.validForGroup[o]],r.callback.done instanceof Function&&(a=r.callback.done.call(i,t,e,s))}).fail(function(t,e,s){for(var o=0,a=n.validForGroup.length;a>o;o++)r=i.requests[n.validForGroup[o]],r.callback.fail instanceof Function&&r.callback.fail.call(i,t,e,s)}).always(function(t,e,o){for(var l=0,h=n.validForGroup.length;h>l;l++){if(r=i.requests[n.validForGroup[l]],r.callback.always instanceof Function&&r.callback.always.call(i,t,e,o),"object"!=typeof o)return;i.populateSource("function"==typeof t.promise&&[]||a||t,r.extra.group,r.extra.path||r.request.path),0===(s-=1)&&i.helper.executeCallback.call(i,i.options.callback.onReceiveRequest,[i.node,i.query])}}).then(function(t,e){for(var s=0,o=n.validForGroup.length;o>s;s++)r=i.requests[n.validForGroup[s]],r.callback.then instanceof Function&&r.callback.then.call(i,t,e)})}(e,this.requests[e])},populateSource:function(t,e,i){var s=this,n=this.options.source[e],o=n.ajax&&n.data;i&&"string"==typeof i&&(t=this.helper.namespace.call(this,i,t)),Array.isArray(t)||(t=[]),o&&("function"==typeof o&&(o=o()),Array.isArray(o)&&(t=t.concat(o)));for(var r,a=n.display?"compiled"===n.display[0]?n.display[1]:n.display[0]:"compiled"===this.options.display[0]?this.options.display[1]:this.options.display[0],l=0,h=t.length;h>l;l++)null!==t[l]&&"boolean"!=typeof t[l]&&("string"==typeof t[l]&&(r={},r[a]=t[l],t[l]=r),t[l].group=e);if(!this.hasDynamicGroups&&this.dropdownFilter.dynamic.length)for(var u,c,p={},l=0,h=t.length;h>l;l++)for(var d=0,f=this.dropdownFilter.dynamic.length;f>d;d++)u=this.dropdownFilter.dynamic[d].key,(c=t[l][u])&&(this.dropdownFilter.dynamic[d].value||(this.dropdownFilter.dynamic[d].value=[]),p[u]||(p[u]=[]),~p[u].indexOf(c.toLowerCase())||(p[u].push(c.toLowerCase()),this.dropdownFilter.dynamic[d].value.push(c)));if(this.options.correlativeTemplate){var g=n.template||this.options.template,m="";if("function"==typeof g&&(g=g.call(this,"",{})),g){if(Array.isArray(this.options.correlativeTemplate))for(var l=0,h=this.options.correlativeTemplate.length;h>l;l++)m+="{{"+this.options.correlativeTemplate[l]+"}} ";else m=g.replace(/<.+?>/g,"");for(var l=0,h=t.length;h>l;l++)t[l].compiled=m.replace(/\{\{([\w\-\.]+)(?:\|(\w+))?}}/g,function(e,i){return s.helper.namespace.call(s,i,t[l],"get","")}).trim();n.display?~n.display.indexOf("compiled")||n.display.unshift("compiled"):~this.options.display.indexOf("compiled")||this.options.display.unshift("compiled")}}this.options.callback.onPopulateSource&&(t=this.helper.executeCallback.call(this,this.options.callback.onPopulateSource,[this.node,t,e,i])),this.tmpSource[e]=Array.isArray(t)&&t||[];var y=this.options.source[e].cache,v=this.options.source[e].compression,b=this.options.source[e].ttl||this.options.ttl;if(y&&!window[y].getItem("TYPEAHEAD_"+this.selector+":"+e)){this.options.callback.onCacheSave&&(t=this.helper.executeCallback.call(this,this.options.callback.onCacheSave,[this.node,t,e,i]));var w=JSON.stringify({data:t,ttl:(new Date).getTime()+b});v&&(w=LZString.compressToUTF16(w)),window[y].setItem("TYPEAHEAD_"+this.selector+":"+e,w)}this.incrementGeneratedGroup()},incrementGeneratedGroup:function(){if(++this.generatedGroupCount===this.generateGroups.length){this.xhr={};for(var t=0,e=this.generateGroups.length;e>t;t++)this.source[this.generateGroups[t]]=this.tmpSource[this.generateGroups[t]];this.hasDynamicGroups||this.buildDropdownItemLayout("dynamic"),this.options.loadingAnimation&&this.container.removeClass("loading"),this.node.trigger("search"+this.namespace)}},navigate:function(t){if(this.helper.executeCallback.call(this,this.options.callback.onNavigateBefore,[this.node,this.query,t]),27===t.keyCode)return t.preventDefault(),void(this.query.length?(this.resetInput(),this.node.trigger("input"+this.namespace,[t])):(this.node.blur(),this.hideLayout()));if(this.options.blurOnTab&&9===t.keyCode)return this.node.blur(),void this.hideLayout();if(this.result.length){var e=this.resultContainer.find("."+this.options.selector.item),i=e.filter(".active"),s=i[0]&&e.index(i)||null,n=null;if(13===t.keyCode)return void(i.length>0&&(t.preventDefault(),i.find("a:first").trigger("click",t)));if(39===t.keyCode)return void(s?e.eq(s).find("a:first")[0].click():this.options.hint&&""!==this.hint.container.val()&&this.helper.getCaret(this.node[0])>=this.query.length&&e.find('a[data-index="'+this.hintIndex+'"]')[0].click());e.length>0&&i.removeClass("active"),38===t.keyCode?(t.preventDefault(),i.length>0?s-1>=0&&(n=s-1,e.eq(n).addClass("active")):(n=e.length-1,e.last().addClass("active"))):40===t.keyCode&&(t.preventDefault(),i.length>0?s+1x;++x)if(e=this.searchGroups[x],!this.filters.dropdown||"group"!==this.filters.dropdown.key||this.filters.dropdown.value===e){a=void 0!==this.options.source[e].filter?this.options.source[e].filter:this.options.filter,h="function"==typeof this.options.source[e].matcher&&this.options.source[e].matcher||k;for(var q=0,_=this.source[e].length;_>q&&(!(this.resultItemCount>=v)||this.options.callback.onResult);q++)if((!w||this.dynamicFilter.validate.apply(this,[this.source[e][q]]))&&null!==(i=this.source[e][q])&&"boolean"!=typeof i&&(!this.filters.dropdown||(i[this.filters.dropdown.key]||"").toLowerCase()===(this.filters.dropdown.value||"").toLowerCase())){if(m="group"===g?e:i[g]?i[g]:i.group,m&&!this.result[m]&&(this.result[m]=[],this.resultCountPerGroup[m]=0),b&&"group"===g&&this.result[m].length>=b&&!this.options.callback.onResult)break;o=this.options.source[e].display||this.options.display;for(var A=0,S=o.length;S>A;++A){if(!1!==a){if(void 0===(r=/\./.test(o[A])?this.helper.namespace.call(this,o[A],i):i[o[A]])||""===r)continue;r=this.helper.cleanStringFromScript(r)}if("function"==typeof a){if(void 0===(l=a.call(this,i,r)))break;if(!l)continue;"object"==typeof l&&(i=l)}if(~[void 0,!0].indexOf(a)){if(n=r,n=n.toString().toLowerCase(),this.options.accent&&(n=this.helper.removeAccent.call(this,n)),s=n.indexOf(y),this.options.correlativeTemplate&&"compiled"===o[A]&&0>s&&/\s/.test(y)){c=!0,p=y.split(" "),d=n;for(var L=0,F=p.length;F>L;L++)if(""!==p[L]){if(!~d.indexOf(p[L])){c=!1;break}d=d.replace(p[L],"")}}if(0>s&&!c)continue;if(this.options.offset&&0!==s)continue;if(h){if(void 0===(u=h.call(this,i,r)))break;if(!u)continue;"object"==typeof u&&(i=u)}}if(this.resultCount++,this.resultCountPerGroup[m]++,this.resultItemCount=b)break;this.result[m].push(t.extend(!0,{matchedKey:o[A]},i)),this.resultItemCount++}break}if(!this.options.callback.onResult){if(this.resultItemCount>=v)break;if(b&&this.result[m].length>=b&&"group"===g)break}}}if(this.options.order){var O,o=[];for(var e in this.result)if(this.result.hasOwnProperty(e)){for(var x=0,C=this.result[e].length;C>x;x++)O=this.options.source[this.result[e][x].group].display||this.options.display,~o.indexOf(O[0])||o.push(O[0]);this.result[e].sort(f.helper.sort(o,"asc"===f.options.order,function(t){return t.toString().toUpperCase()}))}}var j=[],T=[];T="function"==typeof this.options.groupOrder?this.options.groupOrder.apply(this,[this.node,this.query,this.result,this.resultCount,this.resultCountPerGroup]):Array.isArray(this.options.groupOrder)?this.options.groupOrder:"string"==typeof this.options.groupOrder&&~["asc","desc"].indexOf(this.options.groupOrder)?Object.keys(this.result).sort(f.helper.sort([],"asc"===f.options.groupOrder,function(t){return t.toString().toUpperCase()})):Object.keys(this.result);for(var x=0,C=T.length;C>x;x++)j=j.concat(this.result[T[x]]||[]);this.groups=JSON.parse(JSON.stringify(T)),this.result=j},buildLayout:function(){if(this.buildHtmlLayout(),this.buildBackdropLayout(),this.buildHintLayout(),this.options.callback.onLayoutBuiltBefore){var e=this.helper.executeCallback.call(this,this.options.callback.onLayoutBuiltBefore,[this.node,this.query,this.result,this.resultHtml]);e instanceof t&&(this.resultHtml=e)}this.resultHtml&&this.resultContainer.html(this.resultHtml),this.options.callback.onLayoutBuiltAfter&&this.helper.executeCallback.call(this,this.options.callback.onLayoutBuiltAfter,[this.node,this.query,this.result])},buildHtmlLayout:function(){if(!1!==this.options.resultContainer){this.resultContainer||(this.resultContainer=t("",{class:this.options.selector.result}),this.container.append(this.resultContainer));var e;if(!this.result.length){if(!this.options.emptyTemplate||""===this.query)return;e="function"==typeof this.options.emptyTemplate?this.options.emptyTemplate.call(this,this.query):this.options.emptyTemplate.replace(/\{\{query}}/gi,this.helper.cleanStringFromScript(this.query))}var i=this.query.toLowerCase();this.options.accent&&(i=this.helper.removeAccent.call(this,i));var s=this,n=this.groupTemplate||"",o=!1;this.groupTemplate?n=t(n.replace(/<([^>]+)>\{\{(.+?)}}<\/[^>]+>/g,function(t,i,n,r,a){var l="",h="group"===n?s.groups:[n];if(!s.result.length)return!0===o?"":(o=!0,"<"+i+' class="'+s.options.selector.empty+'">'+e+""+i+">");for(var u=0,c=h.length;c>u;++u)l+="<"+i+' data-group-template="'+h[u]+'">'+i+">";return l})):(n=t(n),
this.result.length||n.append(e instanceof t?e:''+e+"")),n.addClass(this.options.selector.list+(this.helper.isEmpty(this.result)?" empty":""));for(var r,a,l,h,u,c,p,d,f,g,m,y,v=this.groupTemplate&&this.result.length&&s.groups||[],b=0,w=this.result.length;w>b;++b)l=this.result[b],r=l.group,h=this.options.source[l.group].href||this.options.href,f=[],g=this.options.source[l.group].display||this.options.display,this.options.group&&(r=l[this.options.group.key],this.options.group.template&&("function"==typeof this.options.group.template?a=this.options.group.template(l):"string"==typeof this.options.template&&(a=this.options.group.template.replace(/\{\{([\w\-\.]+)}}/gi,function(t,e){return s.helper.namespace.call(s,e,l,"get","")}))),n.find('[data-search-group="'+r+'"]')[0]||(this.groupTemplate?n.find('[data-group-template="'+r+'"] ul'):n).append(t("",{class:s.options.selector.group,html:t("",{href:"javascript:;",html:a||r,tabindex:-1}),"data-search-group":r}))),this.groupTemplate&&v.length&&~(y=v.indexOf(r||l.group))&&v.splice(y,1),u=t("",{class:s.options.selector.item+" "+s.options.selector.group+"-"+this.helper.slugify.call(this,r),html:t("",{href:function(){return h&&("string"==typeof h?h=h.replace(/\{\{([^\|}]+)(?:\|([^}]+))*}}/gi,function(t,e,i){var n=s.helper.namespace.call(s,e,l,"get","");return i=i&&i.split("|")||[],~i.indexOf("slugify")&&(n=s.helper.slugify.call(s,n)),n}):"function"==typeof h&&(h=h(l)),l.href=h),h||"javascript:;"}(),"data-group":r,"data-index":b,html:function(){if(c=l.group&&s.options.source[l.group].template||s.options.template)"function"==typeof c&&(c=c.call(s,s.query,l)),d=c.replace(/\{\{([^\|}]+)(?:\|([^}]+))*}}/gi,function(t,e,n){var o=s.helper.cleanStringFromScript(String(s.helper.namespace.call(s,e,l,"get","")));return n=n&&n.split("|")||[],~n.indexOf("slugify")&&(o=s.helper.slugify.call(s,o)),~n.indexOf("raw")||!0===s.options.highlight&&i&&~g.indexOf(e)&&(o=s.helper.highlight.call(s,o,i.split(" "),s.options.accent)),o});else{for(var e=0,n=g.length;n>e;e++)void 0!==(m=/\./.test(g[e])?s.helper.namespace.call(s,g[e],l,"get",""):l[g[e]])&&""!==m&&f.push(m);d=''+s.helper.cleanStringFromScript(String(f.join(" ")))+""}(!0===s.options.highlight&&i&&!c||"any"===s.options.highlight)&&(d=s.helper.highlight.call(s,d,i.split(" "),s.options.accent)),t(this).append(d)}})}),function(e,i,n){n.on("click",function(e,n){return n&&"object"==typeof n&&(e.originalEvent=n),s.options.mustSelectItem&&s.helper.isEmpty(i)?void e.preventDefault():(s.item=i,void(!1!==s.helper.executeCallback.call(s,s.options.callback.onClickBefore,[s.node,t(this),i,e])&&(e.originalEvent&&e.originalEvent.defaultPrevented||e.isDefaultPrevented()||(p=i.group&&s.options.source[i.group].templateValue||s.options.templateValue,"function"==typeof p&&(p=p.call(s)),s.query=s.rawQuery=p?p.replace(/\{\{([\w\-\.]+)}}/gi,function(t,e){return s.helper.namespace.call(s,e,i,"get","")}):s.helper.namespace.call(s,i.matchedKey,i).toString(),s.focusOnly=!0,s.node.val(s.query).focus(),s.searchResult(!0),s.buildLayout(),s.hideLayout(),s.helper.executeCallback.call(s,s.options.callback.onClickAfter,[s.node,t(this),i,e])))))}),n.on("mouseenter",function(e){s.helper.executeCallback.call(s,s.options.callback.onMouseEnter,[s.node,t(this),i,e])}),n.on("mouseleave",function(e){s.helper.executeCallback.call(s,s.options.callback.onMouseLeave,[s.node,t(this),i,e])})}(0,l,u),(this.groupTemplate?n.find('[data-group-template="'+r+'"] ul'):n).append(u);if(this.result.length&&v.length)for(var b=0,w=v.length;w>b;++b)n.find('[data-group-template="'+v[b]+'"]').remove();this.resultHtml=n}},buildBackdropLayout:function(){this.options.backdrop&&(this.backdrop.container||(this.backdrop.css=t.extend({opacity:.6,filter:"alpha(opacity=60)",position:"fixed",top:0,right:0,bottom:0,left:0,"z-index":1040,"background-color":"#000"},this.options.backdrop),this.backdrop.container=t("",{class:this.options.selector.backdrop,css:this.backdrop.css}).insertAfter(this.container)),this.container.addClass("backdrop").css({"z-index":this.backdrop.css["z-index"]+1,position:"relative"}))},buildHintLayout:function(e){if(this.options.hint){if(this.node[0].scrollWidth>Math.ceil(this.node.innerWidth()))return void(this.hint.container&&this.hint.container.val(""));var i=this,s="",e=e||this.result,n=this.query.toLowerCase();if(this.options.accent&&(n=this.helper.removeAccent.call(this,n)),this.hintIndex=null,this.searchGroups.length){if(this.hint.container||(this.hint.css=t.extend({"border-color":"transparent",position:"absolute",top:0,display:"inline","z-index":-1,float:"none",color:"silver","box-shadow":"none",cursor:"default","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"},this.options.hint),this.hint.container=t("",{type:this.node.attr("type"),class:this.node.attr("class"),readonly:!0,unselectable:"on","aria-hidden":"true",tabindex:-1,click:function(){i.node.focus()}}).addClass(this.options.selector.hint).css(this.hint.css).insertAfter(this.node),this.node.parent().css({position:"relative"})),this.hint.container.css("color",this.hint.css.color),n)for(var o,r,a,l=0,h=e.length;h>l;l++){r=e[l].group,o=this.options.source[r].display||this.options.display;for(var u=0,c=o.length;c>u;u++)if(a=String(e[l][o[u]]).toLowerCase(),this.options.accent&&(a=this.helper.removeAccent.call(this,a)),0===a.indexOf(n)){s=String(e[l][o[u]]),this.hintIndex=l;break}if(null!==this.hintIndex)break}this.hint.container.val(s.length>0&&this.rawQuery+s.substring(this.query.length)||"")}}},buildDropdownLayout:function(){if(this.options.dropdownFilter){var e=this;t("",{class:this.options.selector.filter,html:function(){t(this).append(t("",{type:"button",class:e.options.selector.filterButton,style:"display: none;",click:function(i){i.stopPropagation(),e.container.toggleClass("filter");var s=e.namespace+"-dropdown-filter";t("html").off(s),e.container.hasClass("filter")&&t("html").on("click"+s+" touchend"+s,function(i){t(i.target).closest("."+e.options.selector.filter)[0]||e.hasDragged||e.container.removeClass("filter")})}})),t(this).append(t("",{class:e.options.selector.dropdown}))}}).insertAfter(e.container.find("."+e.options.selector.query))}},buildDropdownItemLayout:function(e){function i(t){"*"===t.value?delete this.filters.dropdown:this.filters.dropdown=t,this.container.removeClass("filter").find("."+this.options.selector.filterButton).html(t.template),this.isDropdownEvent=!0,this.node.trigger("search"+this.namespace),this.node.focus()}if(this.options.dropdownFilter){var s,n,o=this,r="string"==typeof this.options.dropdownFilter&&this.options.dropdownFilter||"All",a=this.container.find("."+this.options.selector.dropdown);"static"!==e||!0!==this.options.dropdownFilter&&"string"!=typeof this.options.dropdownFilter||this.dropdownFilter.static.push({key:"group",template:"{{group}}",all:r,value:Object.keys(this.options.source)});for(var l=0,h=this.dropdownFilter[e].length;h>l;l++){n=this.dropdownFilter[e][l],Array.isArray(n.value)||(n.value=[n.value]),n.all&&(this.dropdownFilterAll=n.all);for(var u=0,c=n.value.length;c>=u;u++)(u!==c||l===h-1)&&(u===c&&l===h-1&&"static"===e&&this.dropdownFilter.dynamic.length||(s=this.dropdownFilterAll||r,n.value[u]?s=n.template?n.template.replace(new RegExp("{{"+n.key+"}}","gi"),n.value[u]):n.value[u]:this.container.find("."+o.options.selector.filterButton).html(s),function(e,s,n){a.append(t("",{class:o.options.selector.dropdownItem+" "+o.helper.slugify.call(o,s.key+"-"+(s.value[e]||r)),html:t("",{href:"javascript:;",html:n,click:function(t){t.preventDefault(),i.call(o,{key:s.key,value:s.value[e]||"*",template:n})}})}))}(u,n,s)))}this.dropdownFilter[e].length&&this.container.find("."+o.options.selector.filterButton).removeAttr("style")}},dynamicFilter:{isEnabled:!1,init:function(){this.options.dynamicFilter&&(this.dynamicFilter.bind.call(this),this.dynamicFilter.isEnabled=!0)},validate:function(t){var e,i,s=null,n=null;for(var o in this.filters.dynamic)if(this.filters.dynamic.hasOwnProperty(o)&&(i=~o.indexOf(".")?this.helper.namespace.call(this,o,t,"get"):t[o],"|"!==this.filters.dynamic[o].modifier||s||(s=i==this.filters.dynamic[o].value||!1),"&"===this.filters.dynamic[o].modifier)){if(i!=this.filters.dynamic[o].value){n=!1;break}n=!0}return e=s,null!==n&&(e=n,!0===n&&null!==s&&(e=s)),!!e},set:function(t,e){var i=t.match(/^([|&])?(.+)/);e?this.filters.dynamic[i[2]]={modifier:i[1]||"|",value:e}:delete this.filters.dynamic[i[2]],this.dynamicFilter.isEnabled&&this.generateSource()},bind:function(){for(var e,i=this,s=0,n=this.options.dynamicFilter.length;n>s;s++)e=this.options.dynamicFilter[s],"string"==typeof e.selector&&(e.selector=t(e.selector)),e.selector instanceof t&&e.selector[0]&&e.key&&function(t){t.selector.off(i.namespace).on("change"+i.namespace,function(){i.dynamicFilter.set.apply(i,[t.key,i.dynamicFilter.getValue(this)])}).trigger("change"+i.namespace)}(e)},getValue:function(t){var e;return"SELECT"===t.tagName?e=t.value:"INPUT"===t.tagName&&("checkbox"===t.type?e=t.checked&&t.getAttribute("value")||t.checked||null:"radio"===t.type&&t.checked&&(e=t.value)),e}},showLayout:function(){function e(){var e=this;t("html").off("keydown"+this.namespace).on("keydown"+this.namespace,function(i){i.keyCode&&9===i.keyCode&&setTimeout(function(){t(":focus").closest(e.container).find(e.node)[0]||e.hideLayout()},0)}),t("html").off("click"+this.namespace+" touchend"+this.namespace).on("click"+this.namespace+" touchend"+this.namespace,function(i){t(i.target).closest(e.container)[0]||e.hasDragged||e.hideLayout()})}this.container.hasClass("result")||(this.result.length||this.options.emptyTemplate||this.options.backdropOnFocus)&&(e.call(this),this.container.addClass([this.result.length||this.searchGroups.length&&this.options.emptyTemplate&&this.query.length?"result ":"",this.options.hint&&this.searchGroups.length?"hint":"",this.options.backdrop||this.options.backdropOnFocus?"backdrop":""].join(" ")),this.helper.executeCallback.call(this,this.options.callback.onShowLayout,[this.node,this.query]))},hideLayout:function(){(this.container.hasClass("result")||this.container.hasClass("backdrop"))&&(this.container.removeClass("result hint filter"+(this.options.backdropOnFocus&&t(this.node).is(":focus")?"":" backdrop")),this.options.backdropOnFocus&&this.container.hasClass("backdrop")||(t("html").off(this.namespace),this.helper.executeCallback.call(this,this.options.callback.onHideLayout,[this.node,this.query])))},resetLayout:function(){this.result={},this.groups=[],this.resultCount=0,this.resultCountPerGroup={},this.resultItemCount=0,this.resultHtml=null,this.options.hint&&this.hint.container&&this.hint.container.val("")},resetInput:function(){this.node.val(""),this.item=null,this.query="",this.rawQuery=""},buildCancelButtonLayout:function(){if(this.options.cancelButton){var e=this;t("",{class:this.options.selector.cancelButton,mousedown:function(t){t.stopImmediatePropagation(),t.preventDefault(),e.resetInput(),e.node.trigger("input"+e.namespace,[t])}}).insertBefore(this.node)}},toggleCancelButtonVisibility:function(){this.container.toggleClass("cancel",!!this.query.length)},__construct:function(){this.extendOptions(),this.unifySourceFormat()&&(this.dynamicFilter.init.apply(this),this.init(),this.buildDropdownLayout(),this.buildDropdownItemLayout("static"),this.delegateEvents(),this.buildCancelButtonLayout(),this.helper.executeCallback.call(this,this.options.callback.onReady,[this.node]))},helper:{isEmpty:function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0},removeAccent:function(t){if("string"==typeof t){var e=i;return"object"==typeof this.options.accent&&(e=this.options.accent),t=t.toLowerCase().replace(new RegExp("["+e.from+"]","g"),function(t){return e.to[e.from.indexOf(t)]})}},slugify:function(t){return t=String(t),""!==t&&(t=this.helper.removeAccent.call(this,t),t=t.replace(/[^-a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")),t},sort:function(t,e,i){var s=function(e){for(var s=0,n=t.length;n>s;s++)if(void 0!==e[t[s]])return i(e[t[s]]);return e};return e=[-1,1][+!!e],function(t,i){return t=s(t),i=s(i),e*((t>i)-(i>t))}},replaceAt:function(t,e,i,s){return t.substring(0,e)+s+t.substring(e+i)},highlight:function(t,e,i){t=String(t);var s=i&&this.helper.removeAccent.call(this,t)||t,n=[];Array.isArray(e)||(e=[e]),e.sort(function(t,e){return e.length-t.length});for(var o=e.length-1;o>=0;o--)""!==e[o].trim()?e[o]=e[o].replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):e.splice(o,1);s.replace(new RegExp("(?:"+e.join("|")+")(?!([^<]+)?>)","gi"),function(t,e,i){n.push({offset:i,length:t.length})});for(var o=n.length-1;o>=0;o--)t=this.helper.replaceAt(t,n[o].offset,n[o].length,""+t.substr(n[o].offset,n[o].length)+"");return t},getCaret:function(t){if(t.selectionStart)return t.selectionStart;if(document.selection){t.focus();var e=document.selection.createRange();if(null===e)return 0;var i=t.createTextRange(),s=i.duplicate();return i.moveToBookmark(e.getBookmark()),s.setEndPoint("EndToStart",i),s.text.length}return 0},cleanStringFromScript:function(t){return"string"==typeof t&&t.replace(/<\/?(?:script|iframe)\b[^>]*>/gm,"")||t},executeCallback:function(t,e){if(t){var i;if("function"==typeof t)i=t;else if(("string"==typeof t||Array.isArray(t))&&("string"==typeof t&&(t=[t,[]]),"function"!=typeof(i=this.helper.namespace.call(this,t[0],window))))return;return i.apply(this,(t[1]||[]).concat(e||[]))}},namespace:function(t,e,i,s){if("string"!=typeof t||""===t)return!1;var n=void 0!==s?s:void 0;if(!~t.indexOf("."))return e[t]||n;for(var o=t.split("."),r=e||window,i=i||"get",a="",l=0,h=o.length;h>l;l++){if(a=o[l],void 0===r[a]){if(~["get","delete"].indexOf(i))return void 0!==s?s:void 0;r[a]={}}if(~["set","create","delete"].indexOf(i)&&l===h-1){if("set"!==i&&"create"!==i)return delete r[a],!0;r[a]=n}r=r[a]}return r},typeWatch:function(){var t=0;return function(e,i){clearTimeout(t),t=setTimeout(e,i)}}()}},t.fn.typeahead=t.typeahead=function(t){return a.typeahead(this,t)};var a={typeahead:function(e,i){if(i&&i.source&&"object"==typeof i.source){if("function"==typeof e){if(!i.input)return;e=t(i.input)}if(e.length&&"INPUT"===e[0].nodeName){if(1===e.length)return e[0].selector=e.selector||i.input||e[0].nodeName.toLowerCase(),window.Typeahead[e[0].selector]=new r(e,i);for(var s,n={},o=0,a=e.length;a>o;++o)s=e[o].nodeName.toLowerCase(),void 0!==n[s]&&(s+=o),e[o].selector=s,window.Typeahead[s]=n[s]=new r(e.eq(o),i);return n}}}};return window.console=window.console||{log:function(){}},Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),"trim"in String.prototype||(String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}),"indexOf"in Array.prototype||(Array.prototype.indexOf=function(t,e){void 0===e&&(e=0),0>e&&(e+=this.length),0>e&&(e=0);for(var i=this.length;i>e;e++)if(e in this&&this[e]===t)return e;return-1}),Object.keys||(Object.keys=function(t){var e,i=[];for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.push(e);return i}),r}),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return void(e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var i=t.data(this[0],"validator");return i||(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.on("click.validate",":submit",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(this).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(this).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.on("submit.validate",function(e){function s(){var s,n;return!i.settings.submitHandler||(i.submitButton&&(s=t("").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),n=i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),void 0!==n&&n)}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){var e,i,s;return t(this[0]).is("form")?e=this.validate().form():(s=[],e=!0,i=t(this[0].form).validate(),this.each(function(){(e=i.element(this)&&e)||(s=s.concat(i.errorList))}),i.errorList=s),e},rules:function(e,i){var s,n,o,r,a,l,h=this[0];if(null!=h&&null!=h.form){if(e)switch(s=t.data(h.form,"validator").settings,n=s.rules,o=t.validator.staticRules(h),e){case"add":t.extend(o,t.validator.normalizeRule(i)),delete o.messages,n[h.name]=o,i.messages&&(s.messages[h.name]=t.extend(s.messages[h.name],i.messages));break;case"remove":return i?(l={},t.each(i.split(/\s/),function(e,i){l[i]=o[i],delete o[i],"required"===i&&t(h).removeAttr("aria-required")}),l):(delete n[h.name],o)}return r=t.validator.normalizeRules(t.extend({},t.validator.classRules(h),t.validator.attributeRules(h),t.validator.dataRules(h),t.validator.staticRules(h)),h),r.required&&(a=r.required,delete r.required,r=t.extend({required:a},r),t(h).attr("aria-required","true")),r.remote&&(a=r.remote,delete r.remote,r=t.extend(r,{remote:a})),r}}}),t.extend(t.expr.pseudos||t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){var i=t(e).val();return null!==i&&!!t.trim(""+i)},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:void 0===i?e:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(new RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(t)))},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(e,i){var s=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===i.which&&""===this.elementValue(e)||-1!==t.inArray(i.keyCode,s)||(e.name in this.submitted||e.name in this.invalid)&&this.element(e)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},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:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}."),step:t.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){!this.form&&this.hasAttribute("contenteditable")&&(this.form=t(this).closest("form")[0]);var i=t.data(this.form,"validator"),s="on"+e.type.replace(/^validate/,""),n=i.settings;n[s]&&!t(this).is(n.ignore)&&n[s].call(i,this,e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i,s=this.groups={};t.each(this.settings.groups,function(e,i){"string"==typeof i&&(i=i.split(/\s/)),t.each(i,function(t,i){s[i]=e})}),i=this.settings.rules,t.each(i,function(e,s){i[e]=t.validator.normalizeRule(s)}),t(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], [type='button']",e).on("click.validate","select, option, [type='radio'], [type='checkbox']",e),this.settings.invalidHandler&&t(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),t(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){var i,s,n=this.clean(e),o=this.validationTargetFor(n),r=this,a=!0;return void 0===o?delete this.invalid[n.name]:(this.prepareElement(o),this.currentElements=t(o),s=this.groups[o.name],s&&t.each(this.groups,function(t,e){e===s&&t!==o.name&&(n=r.validationTargetFor(r.clean(r.findByName(t))))&&n.name in r.invalid&&(r.currentElements.push(n),a=r.check(n)&&a)}),i=!1!==this.check(o),a=a&&i,this.invalid[o.name]=!i,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),t(e).attr("aria-invalid",!i)),a},showErrors:function(e){if(e){var i=this;t.extend(this.errorMap,e),this.errorList=t.map(this.errorMap,function(t,e){return{message:t,element:i.findByName(e)[0]}}),this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var e=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(e)},resetElements:function(t){var e;if(this.settings.unhighlight)for(e=0;t[e];e++)this.settings.unhighlight.call(this,t[e],this.settings.errorClass,""),this.findByName(t[e].name).removeClass(this.settings.validClass);else t.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e,i=0;for(e in t)t[e]&&i++;return i},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(t){t.not(this.containers).text(""),this.addWrapper(t).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var s=this.name||t(this).attr("name");return!s&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=t(this).closest("form")[0]),!(s in i||!e.objectLength(t(this).rules())||(i[s]=!0,0))})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.split(" ").join(".");return t(this.settings.errorElement+"."+e,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([])},reset:function(){this.resetInternals(),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i,s,n=t(e),o=e.type;return"radio"===o||"checkbox"===o?this.findByName(e.name).filter(":checked").val():"number"===o&&void 0!==e.validity?e.validity.badInput?"NaN":n.val():(i=e.hasAttribute("contenteditable")?n.text():n.val(),"file"===o?"C:\\fakepath\\"===i.substr(0,12)?i.substr(12):(s=i.lastIndexOf("/"),s>=0?i.substr(s+1):(s=i.lastIndexOf("\\"),s>=0?i.substr(s+1):i)):"string"==typeof i?i.replace(/\r/g,""):i)},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s,n,o=t(e).rules(),r=t.map(o,function(t,e){return e}).length,a=!1,l=this.elementValue(e);if("function"==typeof o.normalizer){if("string"!=typeof(l=o.normalizer.call(e,l)))throw new TypeError("The normalizer should return a string value.");delete o.normalizer}for(s in o){n={method:s,parameters:o[s]};try{if("dependency-mismatch"===(i=t.validator.methods[s].call(this,l,e,n.parameters))&&1===r){a=!0;continue}if(a=!1,"pending"===i)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!i)return this.formatAndAdd(e,n),!1}catch(t){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+n.method+"' method.",t),t instanceof TypeError&&(t.message+=". Exception occurred when checking element "+e.id+", check the '"+n.method+"' method."),t}}if(!a)return this.objectLength(o)&&this.successList.push(e),!0},customDataMessage:function(e,i){return t(e).data("msg"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase())||t(e).data("msg")},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;tWarning: No message defined for "+e.name+""),n=/\$?\{(\d+)\}/g;return"function"==typeof s?s=s.call(this,i.parameters,e):n.test(s)&&(s=t.validator.format(s.replace(n,"{$1}"),i.parameters)),s},formatAndAdd:function(t,e){var i=this.defaultMessage(t,e);this.errorList.push({message:i,element:t,method:e.method}),this.errorMap[t.name]=i,this.submitted[t.name]=i},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e,i;for(t=0;this.errorList[t];t++)i=this.errorList[t],this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],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 t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s,n,o,r,a=this.errorsFor(e),l=this.idOrName(e),h=t(e).attr("aria-describedby");a.length?(a.removeClass(this.settings.validClass).addClass(this.settings.errorClass),a.html(i)):(a=t("<"+this.settings.errorElement+">").attr("id",l+"-error").addClass(this.settings.errorClass).html(i||""),s=a,this.settings.wrapper&&(s=a.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(s):this.settings.errorPlacement?this.settings.errorPlacement.call(this,s,t(e)):s.insertAfter(e),a.is("label")?a.attr("for",l):0===a.parents("label[for='"+this.escapeCssMeta(l)+"']").length&&(o=a.attr("id"),h?h.match(new RegExp("\\b"+this.escapeCssMeta(o)+"\\b"))||(h+=" "+o):h=o,t(e).attr("aria-describedby",h),(n=this.groups[e.name])&&(r=this,t.each(r.groups,function(e,i){i===n&&t("[name='"+r.escapeCssMeta(e)+"']",r.currentForm).attr("aria-describedby",a.attr("id"))})))),!i&&this.settings.success&&(a.text(""),"string"==typeof this.settings.success?a.addClass(this.settings.success):this.settings.success(a,e)),this.toShow=this.toShow.add(a)},errorsFor:function(e){var i=this.escapeCssMeta(this.idOrName(e)),s=t(e).attr("aria-describedby"),n="label[for='"+i+"'], label[for='"+i+"'] *";return s&&(n=n+", #"+this.escapeCssMeta(s).replace(/\s+/g,", #")),this.errors().filter(n)},escapeCssMeta:function(t){return t.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(e){return this.checkable(e)&&(e=this.findByName(e.name)),t(e).not(this.settings.ignore)[0]},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+this.escapeCssMeta(e)+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{boolean:function(t){return t},string:function(e,i){return!!t(e,i.form).length},function:function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(e){this.pending[e.name]||(this.pendingRequest++,t(e).addClass(this.settings.pendingClass),this.pending[e.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[e.name],t(e).removeClass(this.settings.pendingClass),i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e,i){return i="string"==typeof i&&i||"remote",t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,{method:i})})},destroy:function(){this.resetForm(),t(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(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},normalizeAttributeRule:function(t,e,i,s){/min|max|step/.test(i)&&(null===e||/number|range|text/.test(e))&&(s=Number(s),isNaN(s)&&(s=void 0)),s||0===s?t[i]=s:e===i&&"range"!==e&&(t[i]=!0)},attributeRules:function(e){var i,s,n={},o=t(e),r=e.getAttribute("type");for(i in t.validator.methods)"required"===i?(s=e.getAttribute(i),""===s&&(s=!0),s=!!s):s=o.attr(i),this.normalizeAttributeRule(n,r,i,s);return n.maxlength&&/-1|2147483647|524288/.test(n.maxlength)&&delete n.maxlength,n},dataRules:function(e){var i,s,n={},o=t(e),r=e.getAttribute("type");for(i in t.validator.methods)s=o.data("rule"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase()),this.normalizeAttributeRule(n,r,i,s);return n},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,n){if(!1===n)return void delete e[s];if(n.param||n.depends){var o=!0;switch(typeof n.depends){case"string":o=!!t(n.depends,i.form).length;break;case"function":o=n.depends.call(i,i)}o?e[s]=void 0===n.param||n.param:(t.data(i.form,"validator").resetElements(t(i)),delete e[s])}}),t.each(e,function(s,n){e[s]=t.isFunction(n)&&"normalizer"!==s?n(i):n}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].replace(/[\[\]]/g,"").split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(null!=e.min&&null!=e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),null!=e.minlength&&null!=e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],i.length<3&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var n=t(i).val();return n&&n.length>0}return this.checkable(i)?this.getLength(e,i)>0:e.length>0},email:function(t,e){return this.optional(e)||/^[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(t)},url:function(t,e){return this.optional(e)||/^(?:(?:(?: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(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(new Date(t).toString())},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)},number:function(t,e){return this.optional(e)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},minlength:function(e,i,s){var n=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||n>=s},maxlength:function(e,i,s){var n=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||n<=s},rangelength:function(e,i,s){var n=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||n>=s[0]&&n<=s[1]},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||t<=i},range:function(t,e,i){return this.optional(e)||t>=i[0]&&t<=i[1]},step:function(e,i,s){var n,o=t(i).attr("type"),r="Step attribute on input type "+o+" is not supported.",a=["text","number","range"],l=new RegExp("\\b"+o+"\\b"),h=o&&!l.test(a.join()),u=function(t){var e=(""+t).match(/(?:\.(\d+))?$/);return e&&e[1]?e[1].length:0},c=function(t){return Math.round(t*Math.pow(10,n))},p=!0;if(h)throw new Error(r);return n=u(s),(u(e)>n||c(e)%c(s)!=0)&&(p=!1),this.optional(i)||p},equalTo:function(e,i,s){var n=t(s);return this.settings.onfocusout&&n.not(".validate-equalTo-blur").length&&n.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){t(i).valid()}),e===n.val()},remote:function(e,i,s,n){if(this.optional(i))return"dependency-mismatch";n="string"==typeof n&&n||"remote";var o,r,a,l=this.previousValue(i,n);return this.settings.messages[i.name]||(this.settings.messages[i.name]={}),l.originalMessage=l.originalMessage||this.settings.messages[i.name][n],this.settings.messages[i.name][n]=l.message,s="string"==typeof s&&{url:s}||s,a=t.param(t.extend({data:e},s.data)),l.old===a?l.valid:(l.old=a,o=this,this.startRequest(i),r={},r[i.name]=e,t.ajax(t.extend(!0,{mode:"abort",port:"validate"+i.name,dataType:"json",data:r,context:o.currentForm,success:function(t){var s,r,a,h=!0===t||"true"===t;o.settings.messages[i.name][n]=l.originalMessage,h?(a=o.formSubmitted,o.resetInternals(),o.toHide=o.errorsFor(i),o.formSubmitted=a,o.successList.push(i),o.invalid[i.name]=!1,o.showErrors()):(s={},r=t||o.defaultMessage(i,{method:n,parameters:e}),s[i.name]=l.message=r,o.invalid[i.name]=!0,o.showErrors(s)),l.valid=h,o.stopRequest(i,h)}},s)),"pending")}}});var e,i={};return t.ajaxPrefilter?t.ajaxPrefilter(function(t,e,s){var n=t.port;"abort"===t.mode&&(i[n]&&i[n].abort(),i[n]=s)}):(e=t.ajax,t.ajax=function(s){var n=("mode"in s?s:t.ajaxSettings).mode,o=("port"in s?s:t.ajaxSettings).port;return"abort"===n?(i[o]&&i[o].abort(),i[o]=e.apply(this,arguments),i[o]):e.apply(this,arguments)}),t});
//# sourceMappingURL=jquery.w3w-autosuggest-plugin.bundle.min.js.map