// source --> https://bigbearcycling.com/wp-content/plugins/all-in-one-schemaorg-rich-snippets/js/jquery.rating.min.js 
if(window.jQuery){(function($){if((!$.support.opacity&&!$.support.style)){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}}$.fn.rating=function(options){if(this.length==0){return this;}if(typeof arguments[0]=="string"){if(this.length>1){var args=arguments;return this.each(function(){$.fn.rating.apply($(this),args);});}$.fn.rating[arguments[0]].apply(this,$.makeArray(arguments).slice(1)||[]);return this;}var options=$.extend({},$.fn.rating.options,options||{});$.fn.rating.calls++;this.not(".star-rating-applied").addClass("star-rating-applied").each(function(){var control,input=$(this);var eid=(this.name||"unnamed-rating").replace(/\[|\]/g,"_").replace(/^\_+|\_+$/g,"");var context=$(this.form||document.body);var raters=context.data("rating");if(!raters||raters.call!=$.fn.rating.calls){raters={count:0,call:$.fn.rating.calls};}var rater=raters[eid]||context.data("rating"+eid);if(rater){control=rater.data("rating");}if(rater&&control){control.count++;}else{control=$.extend({},options||{},($.metadata?input.metadata():($.meta?input.data():null))||{},{count:0,stars:[],inputs:[]});control.serial=raters.count++;rater=$('<span class="star-rating-control"/>');input.before(rater);rater.addClass("rating-to-be-drawn");if(input.attr("disabled")||input.hasClass("disabled")){control.readOnly=true;}if(input.hasClass("required")){control.required=true;}rater.append(control.cancel=$('<div class="rating-cancel"><a title="'+control.cancel+'">'+control.cancelValue+"</a></div>").on("mouseover",function(){$(this).rating("drain");$(this).addClass("star-rating-hover");}).on("mouseout",function(){$(this).rating("draw");$(this).removeClass("star-rating-hover");}).on("click",function(){$(this).rating("select");}).data("rating",control));}var star=$('<div role="text" aria-label="'+this.title+'" class="star-rating rater-'+control.serial+'"><a title="'+(this.title||this.value)+'">'+this.value+"</a></div>");rater.append(star);if(this.id){star.attr("id",this.id);}if(this.className){star.addClass(this.className);}if(control.half){control.split=2;}if(typeof control.split=="number"&&control.split>0){var stw=($.fn.width?star.width():0)||control.starWidth;var spi=(control.count%control.split),spw=Math.floor(stw/control.split);star.width(spw).find("a").css({"margin-left":"-"+(spi*spw)+"px"});}if(control.readOnly){star.addClass("star-rating-readonly");}else{star.addClass("star-rating-live").on("mouseover",function(){$(this).rating("fill");$(this).rating("focus");}).on("mouseout",function(){$(this).rating("draw");$(this).rating("blur");}).on("click",function(){$(this).rating("select");});}if(this.checked){control.current=star;}if(this.nodeName=="A"){if($(this).hasClass("selected")){control.current=star;}}input.hide();input.on("change.rating",function(event){if(event.selfTriggered){return false;}$(this).rating("select");});star.data("rating.input",input.data("rating.star",star));control.stars[control.stars.length]=star[0];control.inputs[control.inputs.length]=input[0];control.rater=raters[eid]=rater;control.context=context;input.data("rating",control);rater.data("rating",control);star.data("rating",control);context.data("rating",raters);context.data("rating"+eid,rater);});$(".rating-to-be-drawn").rating("draw").removeClass("rating-to-be-drawn");return this;};$.extend($.fn.rating,{calls:0,focus:function(){var control=this.data("rating");if(!control){return this;}if(!control.focus){return this;}var input=$(this).data("rating.input")||$(this.tagName=="INPUT"?this:null);if(control.focus){control.focus.apply(input[0],[input.val(),$("a",input.data("rating.star"))[0]]);}},blur:function(){var control=this.data("rating");if(!control){return this;}if(!control.blur){return this;}var input=$(this).data("rating.input")||$(this.tagName=="INPUT"?this:null);if(control.blur){control.blur.apply(input[0],[input.val(),$("a",input.data("rating.star"))[0]]);}},fill:function(){var control=this.data("rating");if(!control){return this;}if(control.readOnly){return;}this.rating("drain");this.prevAll().addBack().filter(".rater-"+control.serial).addClass("star-rating-hover");},drain:function(){var control=this.data("rating");if(!control){return this;}if(control.readOnly){return;}control.rater.children().filter(".rater-"+control.serial).removeClass("star-rating-on").removeClass("star-rating-hover");},draw:function(){var control=this.data("rating");if(!control){return this;}this.rating("drain");var current=$(control.current);var starson=current.length?current.prevAll().addBack().filter(".rater-"+control.serial):null;if(starson){starson.addClass("star-rating-on");}control.cancel[control.readOnly||control.required?"hide":"show"]();this.siblings()[control.readOnly?"addClass":"removeClass"]("star-rating-readonly");},select:function(value,wantCallBack){var control=this.data("rating");if(!control){return this;}if(control.readOnly){return;}control.current=null;if(typeof value!="undefined"||this.length>1){if(typeof value=="number"){return $(control.stars[value]).rating("select",undefined,wantCallBack);}if(typeof value=="string"){$.each(control.stars,function(){if($(this).data("rating.input").val()==value){$(this).rating("select",undefined,wantCallBack);}});return this;}}else{control.current=this[0].tagName=="INPUT"?this.data("rating.star"):(this.is(".rater-"+control.serial)?this:null);}this.data("rating",control);this.rating("draw");var current=$(control.current?control.current.data("rating.input"):null);var lastipt=$(control.inputs).filter(":checked");var deadipt=$(control.inputs).not(current);deadipt.prop("checked",false);current.prop("checked",true);$(current.length?current:lastipt).trigger({type:"change",selfTriggered:true});if((wantCallBack||wantCallBack==undefined)&&control.callback){control.callback.apply(current[0],[current.val(),$("a",control.current)[0]]);}return this;},readOnly:function(toggle,disable){var control=this.data("rating");if(!control){return this;}control.readOnly=toggle||toggle==undefined?true:false;if(disable){$(control.inputs).attr("disabled","disabled");}else{$(control.inputs).removeAttr("disabled");}this.data("rating",control);this.rating("draw");},disable:function(){this.rating("readOnly",true,true);},enable:function(){this.rating("readOnly",false,false);}});$.fn.rating.options={cancel:"Cancel Rating",cancelValue:"",split:0,starWidth:16};$(function(){$("input[type=radio].star").rating();});})(jQuery);}(function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length){settings.single="metadata";}var data=$.data(elem,settings.single);if(data){return data;}data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m){data=m[1];}}else{if(settings.type=="elem"){if(!elem.getElementsByTagName){return;}var e=elem.getElementsByTagName(settings.name);if(e.length){data=$.trim(e[0].innerHTML);}}else{if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr){data=attr;}}}}if(data.indexOf("{")<0){data="{"+data+"}";}data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
/*!
 * jQuery Form Plugin
 * version: 3.27.0-2013.02.06
 * @requires jQuery v1.5 or later
 *
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Project repository: https://github.com/malsup/form
 * Dual licensed under the MIT and GPL licenses:
 *    http://malsup.github.com/mit-license.txt
 *    http://malsup.github.com/gpl-license-v2.txt
 */
(function($){var feature={};feature.fileapi=$("<input type='file'/>").get(0).files!==undefined;feature.formdata=window.FormData!==undefined;$.fn.ajaxSubmit=function(options){if(!this.length){log("ajaxSubmit: skipping submit process - no element selected");return this;}var method,action,url,$form=this;if(typeof options=="function"){options={success:options};}method=this.attr("method");action=this.attr("action");url=(typeof action==="string")?$.trim(action):"";url=url||window.location.href||"";if(url){url=(url.match(/^([^#]+)/)||[])[1];}options=$.extend(true,{url:url,success:$.ajaxSettings.success,type:method||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},options);var veto={};this.trigger("form-pre-serialize",[this,options,veto]);if(veto.veto){log("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this;}if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){log("ajaxSubmit: submit aborted via beforeSerialize callback");return this;}var traditional=options.traditional;if(traditional===undefined){traditional=$.ajaxSettings.traditional;}var elements=[];var qx,a=this.formToArray(options.semantic,elements);if(options.data){options.extraData=options.data;qx=$.param(options.data,traditional);}if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log("ajaxSubmit: submit aborted via beforeSubmit callback");return this;}this.trigger("form-submit-validate",[a,this,options,veto]);if(veto.veto){log("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this;}var q=$.param(a,traditional);if(qx){q=(q?(q+"&"+qx):qx);}if(options.type.toUpperCase()=="GET"){options.url+=(options.url.indexOf("?")>=0?"&":"?")+q;options.data=null;}else{options.data=q;}var callbacks=[];if(options.resetForm){callbacks.push(function(){$form.resetForm();});}if(options.clearForm){callbacks.push(function(){$form.clearForm(options.includeHidden);});}if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){var fn=options.replaceTarget?"replaceWith":"html";$(options.target)[fn](data).each(oldSuccess,arguments);});}else{if(options.success){callbacks.push(options.success);}}options.success=function(data,status,xhr){var context=options.context||this;for(var i=0,max=callbacks.length;i<max;i++){callbacks[i].apply(context,[data,status,xhr||$form,$form]);}};var fileInputs=$('input[type=file]:enabled[value!=""]',this);var hasFileInputs=fileInputs.length>0;var mp="multipart/form-data";var multipart=($form.attr("enctype")==mp||$form.attr("encoding")==mp);var fileAPI=feature.fileapi&&feature.formdata;log("fileAPI :"+fileAPI);var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;var jqxhr;if(options.iframe!==false&&(options.iframe||shouldUseFrame)){if(options.closeKeepAlive){$.get(options.closeKeepAlive,function(){jqxhr=fileUploadIframe(a);});}else{jqxhr=fileUploadIframe(a);}}else{if((hasFileInputs||multipart)&&fileAPI){jqxhr=fileUploadXhr(a);}else{jqxhr=$.ajax(options);}}$form.removeData("jqxhr").data("jqxhr",jqxhr);for(var k=0;k<elements.length;k++){elements[k]=null;}this.trigger("form-submit-notify",[this,options]);return this;function deepSerialize(extraData){var serialized=$.param(extraData).split("&");var len=serialized.length;var result=[];var i,part;for(i=0;i<len;i++){serialized[i]=serialized[i].replace(/\+/g," ");part=serialized[i].split("=");result.push([decodeURIComponent(part[0]),decodeURIComponent(part[1])]);}return result;}function fileUploadXhr(a){var formdata=new FormData();for(var i=0;i<a.length;i++){formdata.append(a[i].name,a[i].value);}if(options.extraData){var serializedData=deepSerialize(options.extraData);for(i=0;i<serializedData.length;i++){if(serializedData[i]){formdata.append(serializedData[i][0],serializedData[i][1]);}}}options.data=null;var s=$.extend(true,{},$.ajaxSettings,options,{contentType:false,processData:false,cache:false,type:method||"POST"});if(options.uploadProgress){s.xhr=function(){var xhr=jQuery.ajaxSettings.xhr();if(xhr.upload){xhr.upload.addEventListener("progress",function(event){var percent=0;var position=event.loaded||event.position;var total=event.total;if(event.lengthComputable){percent=Math.ceil(position/total*100);}options.uploadProgress(event,position,total,percent);},false);}return xhr;};}s.data=null;var beforeSend=s.beforeSend;s.beforeSend=function(xhr,o){o.data=formdata;if(beforeSend){beforeSend.call(this,xhr,o);}};return $.ajax(s);}function fileUploadIframe(a){var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;var useProp=!!$.fn.prop;var deferred=$.Deferred();if(a){for(i=0;i<elements.length;i++){el=$(elements[i]);if(useProp){el.prop("disabled",false);}else{el.removeAttr("disabled");}}}s=$.extend(true,{},$.ajaxSettings,options);s.context=s.context||s;id="jqFormIO"+(new Date().getTime());if(s.iframeTarget){$io=$(s.iframeTarget);n=$io.attr("name");if(!n){$io.attr("name",id);}else{id=n;}}else{$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'" />');$io.css({position:"absolute",top:"-1000px",left:"-1000px"});}io=$io[0];xhr={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(status){var e=(status==="timeout"?"timeout":"aborted");log("aborting upload... "+e);this.aborted=1;try{if(io.contentWindow.document.execCommand){io.contentWindow.document.execCommand("Stop");}}catch(ignore){}$io.attr("src",s.iframeSrc);xhr.error=e;if(s.error){s.error.call(s.context,xhr,e,status);}if(g){$.event.trigger("ajaxError",[xhr,s,e]);}if(s.complete){s.complete.call(s.context,xhr,e);}}};g=s.global;if(g&&0===$.active++){$.event.trigger("ajaxStart");}if(g){$.event.trigger("ajaxSend",[xhr,s]);}if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){if(s.global){$.active--;}deferred.reject();return deferred;}if(xhr.aborted){deferred.reject();return deferred;}sub=form.clk;if(sub){n=sub.name;if(n&&!sub.disabled){s.extraData=s.extraData||{};s.extraData[n]=sub.value;if(sub.type=="image"){s.extraData[n+".x"]=form.clk_x;s.extraData[n+".y"]=form.clk_y;}}}var CLIENT_TIMEOUT_ABORT=1;var SERVER_ABORT=2;function getDoc(frame){var doc=frame.contentWindow?frame.contentWindow.document:frame.contentDocument?frame.contentDocument:frame.document;return doc;}var csrf_token=$("meta[name=csrf-token]").attr("content");var csrf_param=$("meta[name=csrf-param]").attr("content");if(csrf_param&&csrf_token){s.extraData=s.extraData||{};s.extraData[csrf_param]=csrf_token;}function doSubmit(){var t=$form.attr("target"),a=$form.attr("action");form.setAttribute("target",id);if(!method){form.setAttribute("method","POST");}if(a!=s.url){form.setAttribute("action",s.url);}if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){$form.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});}if(s.timeout){timeoutHandle=setTimeout(function(){timedOut=true;cb(CLIENT_TIMEOUT_ABORT);},s.timeout);}function checkState(){try{var state=getDoc(io).readyState;log("state = "+state);if(state&&state.toLowerCase()=="uninitialized"){setTimeout(checkState,50);}}catch(e){log("Server abort: ",e," (",e.name,")");cb(SERVER_ABORT);if(timeoutHandle){clearTimeout(timeoutHandle);}timeoutHandle=undefined;}}var extraInputs=[];try{if(s.extraData){for(var n in s.extraData){if(s.extraData.hasOwnProperty(n)){if($.isPlainObject(s.extraData[n])&&s.extraData[n].hasOwnProperty("name")&&s.extraData[n].hasOwnProperty("value")){extraInputs.push($('<input type="hidden" name="'+s.extraData[n].name+'">').val(s.extraData[n].value).appendTo(form)[0]);}else{extraInputs.push($('<input type="hidden" name="'+n+'">').val(s.extraData[n]).appendTo(form)[0]);}}}}if(!s.iframeTarget){$io.appendTo("body");if(io.attachEvent){io.attachEvent("onload",cb);}else{io.addEventListener("load",cb,false);}}setTimeout(checkState,15);var submitFn=document.createElement("form").submit;submitFn.apply(form);}finally{form.setAttribute("action",a);if(t){form.setAttribute("target",t);}else{$form.removeAttr("target");}$(extraInputs).remove();}}if(s.forceSync){doSubmit();}else{setTimeout(doSubmit,10);}var data,doc,domCheckCount=50,callbackProcessed;function cb(e){if(xhr.aborted||callbackProcessed){return;}try{doc=getDoc(io);}catch(ex){log("cannot access response document: ",ex);e=SERVER_ABORT;}if(e===CLIENT_TIMEOUT_ABORT&&xhr){xhr.abort("timeout");deferred.reject(xhr,"timeout");return;}else{if(e==SERVER_ABORT&&xhr){xhr.abort("server abort");deferred.reject(xhr,"error","server abort");return;}}if(!doc||doc.location.href==s.iframeSrc){if(!timedOut){return;}}if(io.detachEvent){io.detachEvent("onload",cb);}else{io.removeEventListener("load",cb,false);}var status="success",errMsg;try{if(timedOut){throw"timeout";}var isXml=s.dataType=="xml"||doc.XMLDocument||$.isXMLDoc(doc);log("isXml="+isXml);if(!isXml&&window.opera&&(doc.body===null||!doc.body.innerHTML)){if(--domCheckCount){log("requeing onLoad callback, DOM not available");setTimeout(cb,250);return;}}var docRoot=doc.body?doc.body:doc.documentElement;xhr.responseText=docRoot?docRoot.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;if(isXml){s.dataType="xml";}xhr.getResponseHeader=function(header){var headers={"content-type":s.dataType};return headers[header];};if(docRoot){xhr.status=Number(docRoot.getAttribute("status"))||xhr.status;xhr.statusText=docRoot.getAttribute("statusText")||xhr.statusText;}var dt=(s.dataType||"").toLowerCase();var scr=/(json|script|text)/.test(dt);if(scr||s.textarea){var ta=doc.getElementsByTagName("textarea")[0];if(ta){xhr.responseText=ta.value;xhr.status=Number(ta.getAttribute("status"))||xhr.status;xhr.statusText=ta.getAttribute("statusText")||xhr.statusText;}else{if(scr){var pre=doc.getElementsByTagName("pre")[0];var b=doc.getElementsByTagName("body")[0];if(pre){xhr.responseText=pre.textContent?pre.textContent:pre.innerText;}else{if(b){xhr.responseText=b.textContent?b.textContent:b.innerText;}}}}}else{if(dt=="xml"&&!xhr.responseXML&&xhr.responseText){xhr.responseXML=toXml(xhr.responseText);}}try{data=httpData(xhr,dt,s);}catch(e){status="parsererror";xhr.error=errMsg=(e||status);}}catch(e){log("error caught: ",e);status="error";xhr.error=errMsg=(e||status);}if(xhr.aborted){log("upload aborted");status=null;}if(xhr.status){status=(xhr.status>=200&&xhr.status<300||xhr.status===304)?"success":"error";}if(status==="success"){if(s.success){s.success.call(s.context,data,"success",xhr);}deferred.resolve(xhr.responseText,"success",xhr);if(g){$.event.trigger("ajaxSuccess",[xhr,s]);}}else{if(status){if(errMsg===undefined){errMsg=xhr.statusText;}if(s.error){s.error.call(s.context,xhr,status,errMsg);}deferred.reject(xhr,"error",errMsg);if(g){$.event.trigger("ajaxError",[xhr,s,errMsg]);}}}if(g){$.event.trigger("ajaxComplete",[xhr,s]);}if(g&&!--$.active){$.event.trigger("ajaxStop");}if(s.complete){s.complete.call(s.context,xhr,status);}callbackProcessed=true;if(s.timeout){clearTimeout(timeoutHandle);}setTimeout(function(){if(!s.iframeTarget){$io.remove();}xhr.responseXML=null;},100);}var toXml=$.parseXML||function(s,doc){if(window.ActiveXObject){doc=new ActiveXObject("Microsoft.XMLDOM");doc.async="false";doc.loadXML(s);}else{doc=(new DOMParser()).parseFromString(s,"text/xml");}return(doc&&doc.documentElement&&doc.documentElement.nodeName!="parsererror")?doc:null;};var parseJSON=$.parseJSON||function(s){return window["eval"]("("+s+")");};var httpData=function(xhr,type,s){var ct=xhr.getResponseHeader("content-type")||"",xml=type==="xml"||!type&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.nodeName==="parsererror"){if($.error){$.error("parsererror");}}if(s&&s.dataFilter){data=s.dataFilter(data,type);}if(typeof data==="string"){if(type==="json"||!type&&ct.indexOf("json")>=0){data=parseJSON(data);}else{if(type==="script"||!type&&ct.indexOf("javascript")>=0){$.globalEval(data);}}}return data;};return deferred;}};$.fn.ajaxForm=function(options){options=options||{};options.delegation=options.delegation&&$.isFunction($.fn.on);if(!options.delegation&&this.length===0){var o={s:this.selector,c:this.context};if(!$.isReady&&o.s){log("DOM not ready, queuing ajaxForm");$(function(){$(o.s,o.c).ajaxForm(options);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}if(options.delegation){$(document).off("submit.form-plugin",this.selector,doAjaxSubmit).off("click.form-plugin",this.selector,captureSubmittingElement).on("submit.form-plugin",this.selector,options,doAjaxSubmit).on("click.form-plugin",this.selector,options,captureSubmittingElement);return this;}return this.ajaxFormUnbind().bind("submit.form-plugin",options,doAjaxSubmit).bind("click.form-plugin",options,captureSubmittingElement);};function doAjaxSubmit(e){var options=e.data;if(!e.isDefaultPrevented()){e.preventDefault();$(this).ajaxSubmit(options);}}function captureSubmittingElement(e){var target=e.target;var $el=$(target);if(!($el.is("[type=submit],[type=image]"))){var t=$el.closest("[type=submit]");if(t.length===0){return;}target=t[0];}var form=this;form.clk=target;if(target.type=="image"){if(e.offsetX!==undefined){form.clk_x=e.offsetX;form.clk_y=e.offsetY;}else{if(typeof $.fn.offset=="function"){var offset=$el.offset();form.clk_x=e.pageX-offset.left;form.clk_y=e.pageY-offset.top;}else{form.clk_x=e.pageX-target.offsetLeft;form.clk_y=e.pageY-target.offsetTop;}}}setTimeout(function(){form.clk=form.clk_x=form.clk_y=null;},100);}$.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin");};$.fn.formToArray=function(semantic,elements){var a=[];if(this.length===0){return a;}var form=this[0];var els=semantic?form.getElementsByTagName("*"):form.elements;if(!els){return a;}var i,j,n,v,el,max,jmax;for(i=0,max=els.length;i<max;i++){el=els[i];n=el.name;if(!n){continue;}if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el){a.push({name:n,value:$(el).val(),type:el.type});a.push({name:n+".x",value:form.clk_x},{name:n+".y",value:form.clk_y});}continue;}v=$.fieldValue(el,true);if(v&&v.constructor==Array){if(elements){elements.push(el);}for(j=0,jmax=v.length;j<jmax;j++){a.push({name:n,value:v[j]});}}else{if(feature.fileapi&&el.type=="file"&&!el.disabled){if(elements){elements.push(el);}var files=el.files;if(files.length){for(j=0;j<files.length;j++){a.push({name:n,value:files[j],type:el.type});}}else{a.push({name:n,value:"",type:el.type});}}else{if(v!==null&&typeof v!="undefined"){if(elements){elements.push(el);}a.push({name:n,value:v,type:el.type,required:el.required});}}}}if(!semantic&&form.clk){var $input=$(form.clk),input=$input[0];n=input.name;if(n&&!input.disabled&&input.type=="image"){a.push({name:n,value:$input.val()});a.push({name:n+".x",value:form.clk_x},{name:n+".y",value:form.clk_y});}}return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n){return;}var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++){a.push({name:n,value:v[i]});}}else{if(v!==null&&typeof v!="undefined"){a.push({name:this.name,value:v});}}});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=="undefined"||(v.constructor==Array&&!v.length)){continue;}if(v.constructor==Array){$.merge(val,v);}else{val.push(v);}}return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(successful===undefined){successful=true;}if(successful&&(!n||el.disabled||t=="reset"||t=="button"||(t=="checkbox"||t=="radio")&&!el.checked||(t=="submit"||t=="image")&&el.form&&el.form.clk!=el||tag=="select"&&el.selectedIndex==-1)){return null;}if(tag=="select"){var index=el.selectedIndex;if(index<0){return null;}var a=[],ops=el.options;var one=(t=="select-one");var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=op.value;if(!v){v=(op.attributes&&op.attributes.value&&!(op.attributes.value.specified))?op.text:op.value;}if(one){return v;}a.push(v);}}return a;}return $(el).val();};$.fn.clearForm=function(includeHidden){return this.each(function(){$("input,select,textarea",this).clearFields(includeHidden);});};$.fn.clearFields=$.fn.clearInputs=function(includeHidden){var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(re.test(t)||tag=="textarea"){this.value="";}else{if(t=="checkbox"||t=="radio"){this.checked=false;}else{if(tag=="select"){this.selectedIndex=-1;}else{if(t=="file"){if(/MSIE/.test(navigator.userAgent)){$(this).replaceWith($(this).clone());}else{$(this).val("");}}else{if(includeHidden){if((includeHidden===true&&/hidden/.test(t))||(typeof includeHidden=="string"&&$(this).is(includeHidden))){this.value="";}}}}}}});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset();}});};$.fn.enable=function(b){if(b===undefined){b=true;}return this.each(function(){this.disabled=!b;});};$.fn.selected=function(select){if(select===undefined){select=true;}return this.each(function(){var t=this.type;if(t=="checkbox"||t=="radio"){this.checked=select;}else{if(this.tagName.toLowerCase()=="option"){var $sel=$(this).parent("select");if(select&&$sel[0]&&$sel[0].type=="select-one"){$sel.find("option").selected(false);}this.selected=select;}}});};$.fn.ajaxSubmit.debug=false;function log(){if(!$.fn.ajaxSubmit.debug){return;}var msg="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(msg);}else{if(window.opera&&window.opera.postError){window.opera.postError(msg);}}}})(jQuery);eval(function(p,a,c,k,e,r){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36));};if(!"".replace(/^/,String)){while(c--){r[e(c)]=k[c]||e(c);}k=[function(e){return r[e];}];e=function(){return"\\w+";};c=1;}while(c--){if(k[c]){p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]);}}return p;}(";5(1W.1C)(8($){5((!$.1s.1V&&!$.1s.1U))2d{1j.1X(\"1T\",C,s)}1R(e){};$.o.4=8(j){5(3.u==0)9 3;5(M V[0]=='1m'){5(3.u>1){7 k=V;9 3.18(8(){$.o.4.K($(3),k)})};$.o.4[V[0]].K(3,$.27(V).26(1)||[]);9 3};7 j=$.1b({},$.o.4.1w,j||{});$.o.4.P++;3.1y('.l-4-1g').p('l-4-1g').18(8(){7 b,m=$(3);7 c=(3.2g||'28-4').1f(/\\[|\\]/g,'Y').1f(/^\\Y+|\\Y+$/g,'');7 d=$(3.2h||1j.1H);7 e=d.6('4');5(!e||e.1o!=$.o.4.P)e={E:0,1o:$.o.4.P};7 f=e[c]||d.6('4'+c);5(f)b=f.6('4');5(f&&b)b.E++;R{b=$.1b({},j||{},($.1d?m.1d():($.25?m.6():w))||{},{E:0,L:[],v:[]});b.z=e.E++;f=$('<1G 13=\"l-4-1I\"/>');m.1J(f);f.p('4-12-11-10');5(m.Z('G')||m.14('G'))b.n=s;5(m.14('1c'))b.1c=s;f.1r(b.D=$('<W 13=\"4-D\"><a U=\"'+b.D+'\">'+b.1B+'</a></W>').q('1e',8(){$(3).4('N');$(3).p('l-4-T')}).q('1h',8(){$(3).4('x');$(3).I('l-4-T')}).q('1i',8(){$(3).4('y')}).6('4',b))};7 g=$('<W 20=\"21\" 22-24=\"'+3.U+'\" 13=\"l-4 t-'+b.z+'\"><a U=\"'+(3.U||3.1k)+'\">'+3.1k+'</a></W>');f.1r(g);5(3.X)g.Z('X',3.X);5(3.1x)g.p(3.1x);5(b.29)b.B=2;5(M b.B=='1l'&&b.B>0){7 h=($.o.15?g.15():0)||b.1n;7 i=(b.E%b.B),17=1K.1L(h/b.B);g.15(17).1M('a').1N({'1O-1P':'-'+(i*17)+'1Q'})};5(b.n)g.p('l-4-1p');R g.p('l-4-1S').q('1e',8(){$(3).4('1q');$(3).4('J')}).q('1h',8(){$(3).4('x');$(3).4('H')}).q('1i',8(){$(3).4('y')});5(3.S)b.r=g;5(3.1Y==\"A\"){5($(3).14('1Z'))b.r=g};m.1t();m.q('1u.4',8(a){5(a.1v)9 C;$(3).4('y')});g.6('4.m',m.6('4.l',g));b.L[b.L.u]=g[0];b.v[b.v.u]=m[0];b.t=e[c]=f;b.23=d;m.6('4',b);f.6('4',b);g.6('4',b);d.6('4',e);d.6('4'+c,f)});$('.4-12-11-10').4('x').I('4-12-11-10');9 3};$.1b($.o.4,{P:0,J:8(){7 a=3.6('4');5(!a)9 3;5(!a.J)9 3;7 b=$(3).6('4.m')||$(3.19=='1a'?3:w);5(a.J)a.J.K(b[0],[b.Q(),$('a',b.6('4.l'))[0]])},H:8(){7 a=3.6('4');5(!a)9 3;5(!a.H)9 3;7 b=$(3).6('4.m')||$(3.19=='1a'?3:w);5(a.H)a.H.K(b[0],[b.Q(),$('a',b.6('4.l'))[0]])},1q:8(){7 a=3.6('4');5(!a)9 3;5(a.n)9;3.4('N');3.1z().1A().O('.t-'+a.z).p('l-4-T')},N:8(){7 a=3.6('4');5(!a)9 3;5(a.n)9;a.t.2a().O('.t-'+a.z).I('l-4-q').I('l-4-T')},x:8(){7 a=3.6('4');5(!a)9 3;3.4('N');7 b=$(a.r);7 c=b.u?b.1z().1A().O('.t-'+a.z):w;5(c)c.p('l-4-q');a.D[a.n||a.1c?'1t':'2b']();3.2c()[a.n?'p':'I']('l-4-1p')},y:8(a,b){7 c=3.6('4');5(!c)9 3;5(c.n)9;c.r=w;5(M a!='F'||3.u>1){5(M a=='1l')9 $(c.L[a]).4('y',F,b);5(M a=='1m'){$.18(c.L,8(){5($(3).6('4.m').Q()==a)$(3).4('y',F,b)});9 3}}R{c.r=3[0].19=='1a'?3.6('4.l'):(3.2e('.t-'+c.z)?3:w)};3.6('4',c);3.4('x');7 d=$(c.r?c.r.6('4.m'):w);7 e=$(c.v).O(':S');7 f=$(c.v).1y(d);f.1D('S',C);d.1D('S',s);$(d.u?d:e).2f({1E:'1u',1v:s});5((b||b==F)&&c.1F)c.1F.K(d[0],[d.Q(),$('a',c.r)[0]]);9 3},n:8(a,b){7 c=3.6('4');5(!c)9 3;c.n=a||a==F?s:C;5(b)$(c.v).Z(\"G\",\"G\");R $(c.v).2i(\"G\");3.6('4',c);3.4('x')},2j:8(){3.4('n',s,s)},2k:8(){3.4('n',C,C)}});$.o.4.1w={D:'2l 2m',1B:'',B:0,1n:16};$(8(){$('m[1E=2n].l').4()})})(1C);",62,148,"|||this|rating|if|data|var|function|return||||||||||||star|input|readOnly|fn|addClass|on|current|true|rater|length|inputs|null|draw|select|serial||split|false|cancel|count|undefined|disabled|blur|removeClass|focus|apply|stars|typeof|drain|filter|calls|val|else|checked|hover|title|arguments|div|id|_|attr|drawn|be|to|class|hasClass|width||spw|each|tagName|INPUT|extend|required|metadata|mouseover|replace|applied|mouseout|click|document|value|number|string|starWidth|call|readonly|fill|append|support|hide|change|selfTriggered|options|className|not|prevAll|addBack|cancelValue|jQuery|prop|type|callback|span|body|control|before|Math|floor|find|css|margin|left|px|catch|live|BackgroundImageCache|style|opacity|window|execCommand|nodeName|selected|role|text|aria|context|label|meta|slice|makeArray|unnamed|half|children|show|siblings|try|is|trigger|name|form|removeAttr|disable|enable|Cancel|Rating|radio".split("|"),0,{}));
// source --> https://bigbearcycling.com/wp-content/plugins/mobile-menu/includes/js/mobmenu.js?ver=2.8.8 

  /*
    *
    *   Javascript Functions
    *   ------------------------------------------------
    *   WP Mobile Menu
    *   Copyright WP Mobile Menu 2018 - http://www.wpmobilemenu.com
    *
    */

    "use strict";
    function getSelector(el){
      var $el = jQuery(el);
  
      var id = $el.attr("id");
      if (id) { //"should" only be one of these if theres an ID
          return "#"+ id;
      }
  
      var selector = $el.parents()
                  .map(function() { return this.tagName; })
                  .get().reverse().join(" ");
  
      if (selector) {
          selector += " "+ $el[0].nodeName;
      }
  
      var classNames = $el.attr("class");
      if (classNames) {
          selector += "." + jQuery.trim(classNames).replace(/\s/gi, ".");
      }
  
      var name = $el.attr('name');
      if (name) {
          selector += "[name='" + name + "']";
      }
      if (!name){
          var index = $el.index();
          if (index) {
              index = index + 1;
              selector += ":nth-child(" + index + ")";
          }
      }
      return selector;
    }

    function enableMobileMenuElementPicker(){
      const p = new Picker({
          elm: document.getElementById('elm1'),
          mode: 'cover',
          excludeElmName: ['body'],
          events: [{
              key: 'contextmenu',
              fn(event) {
                  event.preventDefault();
              },
          }],
          onInit() {
          },
          onClick(event) {
            var selector = getSelector(event.target).toLowerCase();
            window.parent.receivePickedElement(selector);
            jQuery(selector).hide();
          },
          onHover(event) {
          },
      });

      document.getElementById('m_on').addEventListener('click', () => {
          p.on();
      });

      document.getElementById('m_off').addEventListener('click', () => {
          p.off();
      });

      document.getElementById('m_cover').addEventListener('click', () => {
          p.changeMode('cover');
      });

      document.getElementById('m_target').addEventListener('click', () => {
          p.changeMode('target');
      });

    }
    jQuery( document ).ready( function($) {

      const urlParams = new URLSearchParams( window.location.search );

      if ( urlParams.get( 'mobmenu-action' ) == 'find-element' ) {
        enableMobileMenuElementPicker();
      }

      function mobmenuOpenSubmenus( menu ) {
        var submenu = $(menu).parent().next();

        if ( $(menu).parent().next().hasClass( 'show-sub-menu' )  ) {
          $(menu).find('.show-sub-menu' ).hide();
          $(menu).toggleClass( 'show-sub');
        } else {
          if ( ! $( menu ).parents('.show-sub-menu').prev().hasClass('mob-expand-submenu') && submenu[0] !== $('.show-sub-menu')[0] && $( menu ).parent('.sub-menu').length <= 0 ) {
  
            $(menu).parent().find( '.show-submenu' ).first().hide().toggleClass( 'show-sub-menu' );
            $(menu).toggleClass( 'show-sub');
  
          }
        }

        if ( !$( menu ).parent().next().hasClass( 'show-sub-menu' ) ) {
          submenu.fadeIn( 'slow' );
        } else {  
          submenu.hide();
        }

        if ( ! $('body').hasClass('mob-menu-sliding-menus') ) {
          $( menu ).find('.open-icon').toggleClass('hide');
          $( menu ).find('.close-icon').toggleClass('hide');
        }

        submenu.toggleClass( 'show-sub-menu');
        

      }

      if ( $( 'body' ).find( '.mobmenu-push-wrap' ).length <= 0 &&  $( 'body' ).hasClass('mob-menu-slideout') ) {

        $( 'body' ).wrapInner( '<div class="mobmenu-push-wrap"></div>' );
        $( '.mobmenu-push-wrap' ).after( $( '.mobmenu-left-alignment' ).detach() );
        $( '.mobmenu-push-wrap' ).after( $( '.mobmenu-right-alignment' ).detach() );
        $( '.mobmenu-push-wrap' ).after( $( '.mob-menu-header-holder' ).detach() ); 
        $( '.mobmenu-push-wrap' ).after( $( '.mobmenu-footer-menu-holder' ).detach() ); 
        $( '.mobmenu-push-wrap' ).after( $( '.mobmenu-overlay' ).detach() ); 
        $( '.mobmenu-push-wrap' ).after( $( '#wpadminbar' ).detach() );

        if ( $('.mob-menu-header-holder' ).attr( 'data-detach-el' ) != '' ) {
          $( '.mobmenu-push-wrap' ).after( $(   $('.mob-menu-header-holder' ).attr( 'data-detach-el' ) ).detach() );
        }

      }
      // Double Check the the menu display classes where added to the body.
      var menu_display_type = $( '.mob-menu-header-holder' ).attr( 'data-menu-display' );

      if ( menu_display_type != '' && !$( 'body' ).hasClass( 'mob-menu-slideout' ) && !$( 'body' ).hasClass( 'mob-menu-slideout-over' ) && !$( 'body' ).hasClass( 'mob-menu-slideout-top' ) && !$( 'body' ).hasClass( 'mob-menu-overlay' ) ) {
        $( 'body' ).addClass( menu_display_type );
      }

      // Only force autoplay videos in desktop
      if(! ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) ){
        $( 'video' ).each( function(){
          if( 'autoplay' === $( this ).attr('autoplay') ) {
            $( this )[0].play();
          } 
        });
      }

      var submenu_open_icon  = $( '.mob-menu-header-holder' ).attr( 'data-open-icon' );
      var submenu_close_icon = $( '.mob-menu-header-holder' ).attr( 'data-close-icon' );

      $( '.mobmenu-content .sub-menu' ).each( function(){

        $( this ).prev().append('<div class="mob-expand-submenu"><i class="mob-icon-' + submenu_open_icon + ' open-icon"></i><i class="mob-icon-' + submenu_close_icon + ' close-icon hide"></i></div>');

        if ( 0 < $( this ).parents( '.mobmenu-parent-link' ).length  ) {
          $( this ).prev().attr('href', '#');
        }

      });
      
      $( document ).on( 'click', '.mobmenu-parent-link .menu-item-has-children' , function ( e ) {
        
        if ( e.target.parentElement != this) return;
        
        e.preventDefault();
        $(this).find('a').find('.mob-expand-submenu').first().trigger('click');
        e.stopPropagation();
        
      });
      $( document ).on( 'click', '.show-nav-left .mobmenu-push-wrap,  .show-nav-left .mobmenu-overlay', function ( e ) { 
  
        e.preventDefault();
        $( '.mobmenu-left-bt' ).first().trigger( 'click' );
        e.stopPropagation();

      });
      
      $( document ).on( 'click', '.mob-expand-submenu' , function ( e ) {

        // Check if any menu is open and close it.
        if ( 1 == $( '.mob-menu-header-holder' ).attr( 'data-autoclose-submenus' ) && ! $(this).parent().next().hasClass( 'show-sub-menu' ) ) {
          if ( 0 < $( '.mob-expand-submenu.show-sub' ).length &&  $(this).parents('.show-sub-menu').length <= 0 ) {
            mobmenuOpenSubmenus( $( '.mob-expand-submenu.show-sub' ) );
          }
        }

        mobmenuOpenSubmenus( $(this) );
        e.preventDefault();
        e.stopPropagation();

      });

      $( document ).on( 'keyup', '.mobmenu-left-bt', function(e){
        if( e.type != 'click' && e.which != 13 || e.which == 9 || jQuery(this).hasClass( 'mobmenu-trigger-action' ) ) {
          return;
        }

        mobmenuClosePanel( 'mobmenu-left-panel' );
        e.stopPropagation();
      });

      $( document ).on( 'keyup', '.mobmenu-right-bt', function(e){
        if( e.type != 'click' && e.which != 13 || e.which == 9 || jQuery(this).hasClass( 'mobmenu-trigger-action' ) ) {
          return;
        }

        mobmenuClosePanel( 'mobmenu-right-panel' );
        e.stopPropagation();
      });

      
     
      $( document ).on( 'click', '.mobmenu-panel.show-panel .mob-cancel-button, .show-nav-right .mobmenu-overlay, .show-nav-left .mobmenu-overlay', function ( e ) { 
        
        

        e.preventDefault();
        mobmenuClosePanel( 'show-panel' );
        if ( $('body').hasClass('mob-menu-sliding-menus') ) {
          $( '.mobmenu-trigger-action .hamburger' ).toggleClass('is-active');
        }

      });

      $( document ).on( 'click', '.mobmenu-trigger-action', function(e){
        e.preventDefault();
        
        var targetPanel = $( this ).attr( 'data-panel-target' );
        
        if ( ! $( 'body' ).hasClass( 'show-nav-left' ) &&  ! $( 'body' ).hasClass( 'show-nav-right' )  ) {
          if ( 'mobmenu-filter-panel' !==  targetPanel ) {
            mobmenuOpenPanel( targetPanel );
          }
        }

      });

      $( document ).on( 'click', '.hamburger', function(e){
        var targetPanel = $(this).parent().attr('data-panel-target');
        e.preventDefault();
        e.stopPropagation();
        
        $(this).toggleClass( 'is-active' );
        
        setTimeout(function(){ 
          if ( $( 'body' ).hasClass('show-nav-left') ) {
            if ( $('body').hasClass('mob-menu-sliding-menus') ) {
              $( '.mobmenu-trigger-action .hamburger' ).toggleClass('is-active');
            }
            mobmenuClosePanel( targetPanel );
            
          } else {
            mobmenuOpenPanel( targetPanel );
          }
            
        }, 400);
        

      });
     
      $('.mobmenu a[href*="#"], .mobmenu-panel a[href*="#"]')
        // Remove links that don't actually link to anything
        .not('[href="#0"]')
        .on( 'click', function(event) {
          // On-page links  
  
        if (
          location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') 
          && 
          location.hostname == this.hostname
          &&
          $(this).parents('.mobmenu-content').length > 0
        ) {
          // Figure out element to scroll to.
          var target;

          try {
	          target = decodeURIComponent( this.hash );
          } catch(e) {
 	          target = this.hash;
          }

          $( 'html' ).css( 'overflow', '' );

          // Does a scroll target exist?
          if (target.length) {

            
          if ( 0 < $(this).parents('.mobmenu-left-panel').length ) {
            mobmenuClosePanel( 'mobmenu-left-panel' );
          } else {
            mobmenuClosePanel( 'mobmenu-right-panel' );
          }

            target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');

            $('body,html').animate({
              scrollTop: target.offset().top - $(".mob-menu-header-holder").height() - 50
            }, 1000);
          }
        }
      });
      function mobmenuClosePanel( target ) {

        $( '.' + target ).toggleClass( 'show-panel' );
        $( 'html' ).removeClass( 'show-mobmenu-filter-panel' );
        $( 'body' ).removeClass( 'show-nav-right' );
        $( 'body' ).removeClass( 'show-nav-left' );
        $( 'html' ).removeClass( 'mob-menu-no-scroll' ); 

        setTimeout(function(){
          $( '.mob-menu-sliding-menus [data-menu-level]' ).scrollTop( '0' );
          if ( 1 == $( '.mob-menu-header-holder' ).attr( 'data-autoclose-submenus' )  ) {
            $( '.mob-expand-submenu.show-sub' ).click();
            $( '.mobmenu-content .show-sub-menu' ).removeClass( 'show-sub-menu' );
          }
          
        }, 400);

      }
    
      function mobmenuOpenPanel( target) {
        $( '.mobmenu-content' ).scrollTop(0);
        $( 'html' ).addClass( 'mob-menu-no-scroll' ); 
    
        if ( $('.' + target ).hasClass( 'mobmenu-left-alignment' ) ) {
          $('body').addClass('show-nav-left');
        }
        if ( $('.' + target ).hasClass( 'mobmenu-right-alignment' ) ) {
          $('body').addClass('show-nav-right');
        }
    
        $('.' + target ).addClass( 'show-panel' );
    
      }
    });

window.Picker = class Picker {
  constructor(options = {}) {
      this.elm = options.elm || document.querySelector('body');
      this.mode = options.mode || 'target';
      this.excludeElmName = options.excludeElmName || [];
      this.switch = typeof options.switch === 'boolean' ? options.switch : true;

      this.events = options.events || [];
      this.onInit = options.onInit;
      this.onClick = options.onClick ? options.onClick.bind(this) : null;
      this.onHover = options.onHover ? options.onHover.bind(this) : null;


      // Internal handler
      this.fn_bind_clickHandle = null;
      this.fn_bind_hoverHandle = null;
      this.fn_bind_contextmenuHandle = null;
      this._init();
  }
  on() {
      this.switch = true;
  }
  off() {
      this.switch = false;
      this._removeTargetShowPos();
      this._removeCoverShowPos();
  }
  changeMode(mode) {
      let modeArr = ['cover', 'target'];
      if (modeArr.includes(mode)) {
          this.mode = mode;
          this._removeTargetShowPos();
          this._removeCoverShowPos();
      } else {
          console.error(`Mode error, only includes [ ${modeArr.join(" | ")} ]`);
      }
  }
  destroy() {
      this.events.forEach((eo) => {
          eo.fn_bind = eo.fn.bind(this);
          this.elm.removeEventListener(eo.key, this[`_${eo.key}_Handle`], false);
      });

      this.elm.removeEventListener('mouseover', this.fn_bind_hoverHandle, false);
      this.elm.removeEventListener('click', this.fn_bind_clickHandle, false);

      this._removeTargetShowPos();
      document.querySelector("#_picker_cover_wrap_box").remove();
  }
  _init() {
      let wrapDom = document.createElement('div');
      wrapDom.setAttribute("id", "_picker_cover_wrap_box");
      wrapDom.innerHTML = '<svg></svg>';
      document.body.appendChild(wrapDom);
      this._initEvent();
      this.onInit && this.onInit();
  }
  _initEvent() {
      this.events.forEach((eo) => {
          this[`_${eo.key}_Handle`] = (event) => {
              if (this._triggerEvent(event) === false) return;
              eo.fn && eo.fn(event);
          };
          eo.fn_bind = this[`_${eo.key}_Handle`].bind(this);
          this.elm.addEventListener(eo.key, this[`_${eo.key}_Handle`], false);
      });

      this.fn_bind_hoverHandle = this._hoverHandle.bind(this);
      this.fn_bind_clickHandle = this._clickHandle.bind(this);

      this.elm.addEventListener('mouseover', this.fn_bind_hoverHandle, false);
      this.elm.addEventListener('click', this.fn_bind_clickHandle, false);

  }
  _triggerEvent(event) {
      let tipsDom = document.querySelector("#_pick_tips_content");
      if (
          this.switch &&
          !this.excludeElmName.includes(event.target.localName.toLocaleLowerCase()) &&
          !(tipsDom ? tipsDom.contains(event.target) : 0)
      ) {
          event.stopPropagation();
          event.preventDefault();
          return true;
      } else {
          return false;
      }
  }
  _hoverHandle(event) {
      if (this._triggerEvent(event) === false) return;
      switch (this.mode) {
          case 'cover':
              this._coverShowPos(event);
              break;
          case 'target':
              this._targetShowPos(event);
              break;
      }
      this.onHover && this.onHover(event);
  }
  _clickHandle(event) {
      if (this._triggerEvent(event) === false) return;
      this.onClick && this.onClick(event);
  }
  _targetShowPos(event) {
      this._removeTargetShowPos();
      if (event.target.localName === 'body') return;
      event.target.classList.add("_picker_target_elm");
  }
  _removeTargetShowPos() {
      document.querySelectorAll("._picker_target_elm").forEach((elm) => {
          elm.classList.remove("_picker_target_elm");
      });
  }
  _coverShowPos(event) {
      let elm = event.target;
      let W_W = window.screen.availWidth;
      let W_H = window.screen.availHeight;
      let pos = elm.getBoundingClientRect();
      let p = {
          tX: pos.left > 0 ? pos.left : 0,
          tY: pos.top > 0 ? pos.top : 0,
          w: pos.right - pos.left,
          h: pos.bottom - pos.top,
      };
      let path_W = `M 0 0 h ${W_W} v ${W_H} h -${W_W} Z`;
      let path_box = `M ${p.tX} ${p.tY} h ${p.w} v ${p.h} h -${p.w} Z`;
      let elm_path1 = `<path d="${path_W} ${path_box}"></path>`;
      let elm_path2 = `<path d="${path_box}"></path>`;
      document.querySelector("#_picker_cover_wrap_box svg").innerHTML = elm_path1 + elm_path2;
  }
  _removeCoverShowPos() {
      document.querySelector("#_picker_cover_wrap_box svg").innerHTML = '';
  }
};