WP Google Maps - Version 9.0.10

Version Description

  • 2022-08-24 =
  • Fixed issue where "I agree" GDPR button would not be translated once global settings are saved
  • Fixed issue with Nominatim query params, where some restrictions would not be respected
  • Fixed issue where combined file was preferred over minified file when the servers archive class would extract slower than expected. Introduces delta tolerance
  • Updated Atlas Novus install ratio to increase the amount of users who receive the new user interface temporarily (Ratio: 70%)
  • Tested Borlabs Cookie integration, found to be fully functional after in depth discussion with their team
Download this release

Release Info

Developer DylanAuty
Plugin Icon 128x128 WP Google Maps
Version 9.0.10
Comparing to
See all releases

Code changes from version 9.0.9 to 9.0.10

includes/class.gdpr-compliance.php CHANGED
@@ -164,7 +164,7 @@ class GDPRCompliance
164
  public function getConsentPromptHTML()
165
  {
166
  $wpgmza_other_settings = array_merge( (array)$this->getDefaultSettings(), get_option('WPGMZA_OTHER_SETTINGS') );
167
- $button_label = (empty($wpgmza_other_settings['wpgmza_gdpr_button_label']) ? __('I agree', 'wp-google-maps') : $wpgmza_other_settings['wpgmza_gdpr_button_label']);
168
 
169
  return '<div class="wpgmza-gdpr-compliance">' . $this->getNoticeHTML(false) . "<p class='wpgmza-centered'><button class='wpgmza-api-consent'>" . $button_label . "</button></div></p>";
170
  }
164
  public function getConsentPromptHTML()
165
  {
166
  $wpgmza_other_settings = array_merge( (array)$this->getDefaultSettings(), get_option('WPGMZA_OTHER_SETTINGS') );
167
+ $button_label = ((empty($wpgmza_other_settings['wpgmza_gdpr_button_label']) || $wpgmza_other_settings['wpgmza_gdpr_button_label'] === 'I agree') ? __('I agree', 'wp-google-maps') : $wpgmza_other_settings['wpgmza_gdpr_button_label']);
168
 
169
  return '<div class="wpgmza-gdpr-compliance">' . $this->getNoticeHTML(false) . "<p class='wpgmza-centered'><button class='wpgmza-api-consent'>" . $button_label . "</button></div></p>";
170
  }
includes/class.internal-engine.php CHANGED
@@ -9,7 +9,7 @@ class InternalEngine {
9
  const LEGACY = "legacy";
10
  const ATLAS_NOVUS = "atlas-novus";
11
 
12
- const RAND_PROB_FACTOR = 0.3;
13
 
14
  private $engine;
15
  private $baseUrl;
9
  const LEGACY = "legacy";
10
  const ATLAS_NOVUS = "atlas-novus";
11
 
12
+ const RAND_PROB_FACTOR = 0.7;
13
 
14
  private $engine;
15
  private $baseUrl;
includes/class.script-loader.php CHANGED
@@ -552,7 +552,8 @@ class ScriptLoader
552
  if($minified_file_exists)
553
  $delta = filemtime($dir . $combined) - filemtime($dir . $minified);
554
 
555
- if(!$minified_file_exists || $delta > 0)
 
556
  $src = $combined;
557
 
558
  $scripts = array('wpgmza' =>
552
  if($minified_file_exists)
553
  $delta = filemtime($dir . $combined) - filemtime($dir . $minified);
554
 
555
+ $deltaTolerance = 30;
556
+ if(!$minified_file_exists || $delta > $deltaTolerance)
557
  $src = $combined;
558
 
559
  $scripts = array('wpgmza' =>
js/v8/open-layers/ol-geocoder.js CHANGED
@@ -70,9 +70,9 @@ jQuery(function($) {
70
  };
71
 
72
  if(options.componentRestrictions && options.componentRestrictions.country){
73
- data.countrycodes = options.componentRestrictions.country;
74
  } else if(options.country){
75
- data.countrycodes = options.country;
76
  }
77
 
78
  $.ajax("https://nominatim.openstreetmap.org/search/", {
70
  };
71
 
72
  if(options.componentRestrictions && options.componentRestrictions.country){
73
+ data.country = options.componentRestrictions.country;
74
  } else if(options.country){
75
+ data.country = options.country;
76
  }
77
 
78
  $.ajax("https://nominatim.openstreetmap.org/search/", {
js/v8/wp-google-maps.combined.js CHANGED
@@ -20121,9 +20121,9 @@ jQuery(function($) {
20121
  };
20122
 
20123
  if(options.componentRestrictions && options.componentRestrictions.country){
20124
- data.countrycodes = options.componentRestrictions.country;
20125
  } else if(options.country){
20126
- data.countrycodes = options.country;
20127
  }
20128
 
20129
  $.ajax("https://nominatim.openstreetmap.org/search/", {
20121
  };
20122
 
20123
  if(options.componentRestrictions && options.componentRestrictions.country){
20124
+ data.country = options.componentRestrictions.country;
20125
  } else if(options.country){
20126
+ data.country = options.country;
20127
  }
20128
 
20129
  $.ajax("https://nominatim.openstreetmap.org/search/", {
js/v8/wp-google-maps.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function($){var core={MARKER_PULL_DATABASE:"0",MARKER_PULL_XML:"1",PAGE_MAP_LIST:"map-list",PAGE_MAP_EDIT:"map-edit",PAGE_SETTINGS:"map-settings",PAGE_STYLING:"map-styling",PAGE_SUPPORT:"map-support",PAGE_INSTALLER:"installer",PAGE_CATEGORIES:"categories",PAGE_ADVANCED:"advanced",PAGE_CUSTOM_FIELDS:"custom-fields",maps:[],events:null,settings:null,restAPI:null,localized_strings:null,loadingHTML:'<div class="wpgmza-preloader"><div class="wpgmza-loader">...</div></div>',preloaderHTML:"<div class='wpgmza-preloader'><div></div><div></div><div></div><div></div></div>",getCurrentPage:function(){switch(WPGMZA.getQueryParamValue("page")){case"wp-google-maps-menu":return window.location.href.match(/action=edit/)&&window.location.href.match(/map_id=\d+/)?WPGMZA.PAGE_MAP_EDIT:window.location.href.match(/action=installer/)?WPGMZA.PAGE_INSTALLER:WPGMZA.PAGE_MAP_LIST;case"wp-google-maps-menu-settings":return WPGMZA.PAGE_SETTINGS;case"wp-google-maps-menu-styling":return WPGMZA.PAGE_STYLING;case"wp-google-maps-menu-support":return WPGMZA.PAGE_SUPPORT;case"wp-google-maps-menu-categories":return WPGMZA.PAGE_CATEGORIES;case"wp-google-maps-menu-advanced":return WPGMZA.PAGE_ADVANCED;case"wp-google-maps-menu-custom-fields":return WPGMZA.PAGE_CUSTOM_FIELDS;default:return null}},getScrollAnimationOffset:function(){return(WPGMZA.settings.scroll_animation_offset||0)+($("#wpadminbar").height()||0)},getScrollAnimationDuration:function(){return WPGMZA.settings.scroll_animation_milliseconds||500},animateScroll:function(element,milliseconds){var offset=WPGMZA.getScrollAnimationOffset();milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$("html, body").animate({scrollTop:$(element).offset().top-offset},milliseconds)},extend:function(child,parent){var constructor=child;child.prototype=Object.create(parent.prototype),child.prototype.constructor=constructor},guid:function(){var d=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(d+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+16*Math.random())%16|0;return d=Math.floor(d/16),("x"===c?r:3&r|8).toString(16)})},hexOpacityToRGBA:function(colour,opacity){colour=parseInt(colour.replace(/^#/,""),16);return[(16711680&colour)>>16,(65280&colour)>>8,255&colour,parseFloat(opacity)]},hexOpacityToString:function(colour,opacity){colour=WPGMZA.hexOpacityToRGBA(colour,opacity);return"rgba("+colour[0]+", "+colour[1]+", "+colour[2]+", "+colour[3]+")"},hexToRgba:function(hex){return/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)?{r:(hex="0x"+(hex=3==(hex=hex.substring(1).split("")).length?[hex[0],hex[0],hex[1],hex[1],hex[2],hex[2]]:hex).join(""))>>16&255,g:hex>>8&255,b:255&hex,a:1}:0},rgbaToString:function(rgba){return"rgba("+rgba.r+", "+rgba.g+", "+rgba.b+", "+rgba.a+")"},latLngRegexp:/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,isLatLngString:function(str){if("string"!=typeof str)return null;str=(str=str.match(/^\(.+\)$/)?str.replace(/^\(|\)$/,""):str).match(WPGMZA.latLngRegexp);return str?new WPGMZA.LatLng({lat:parseFloat(str[1]),lng:parseFloat(str[3])}):null},stringToLatLng:function(str){str=WPGMZA.isLatLngString(str);if(str)return str;throw new Error("Not a valid latLng")},isHexColorString:function(str){return"string"==typeof str&&!!str.match(/#[0-9A-F]{6}/i)},imageDimensionsCache:{},getImageDimensions:function(src,callback){var img;WPGMZA.imageDimensionsCache[src]?callback(WPGMZA.imageDimensionsCache[src]):((img=document.createElement("img")).onload=function(event){var result={width:img.width,height:img.height};WPGMZA.imageDimensionsCache[src]=result,callback(result)},img.src=src)},decodeEntities:function(input){return input.replace(/&(nbsp|amp|quot|lt|gt);/g,function(m,e){return m[e]}).replace(/&#(\d+);/gi,function(m,e){return String.fromCharCode(parseInt(e,10))})},isDeveloperMode:function(){return this.settings.developer_mode||window.Cookies&&window.Cookies.get("wpgmza-developer-mode")},isProVersion:function(){return"1"==this._isProVersion},openMediaDialog:function(callback,config){var file_frame;if(file_frame)return file_frame.uploader.uploader.param("post_id",set_to_post_id),void file_frame.open();(file_frame=wp.media.frames.file_frame=config?wp.media(config):wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){attachment=file_frame.state().get("selection").first().toJSON(),callback(attachment.id,attachment.url,attachment)}),file_frame.open()},getCurrentPosition:function(callback,error,watch){var options,nativeFunction="getCurrentPosition";WPGMZA.userLocationDenied?error&&error({code:1,message:"Location unavailable"}):(watch&&(nativeFunction="watchPosition"),navigator.geolocation?(options={enableHighAccuracy:!0},navigator.geolocation[nativeFunction]?navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){options.enableHighAccuracy=!1,navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){console.warn(err.code,err.message),1==err.code&&(WPGMZA.userLocationDenied=!0),error&&error(err)},options)},options):console.warn(nativeFunction+" is not available")):console.warn("No geolocation available on this device"))},watchPosition:function(callback,error){return WPGMZA.getCurrentPosition(callback,error,!0)},runCatchableTask:function(callback,friendlyErrorContainer){if(WPGMZA.isDeveloperMode())callback();else try{callback()}catch(e){callback=new WPGMZA.FriendlyError(e);$(friendlyErrorContainer).html(""),$(friendlyErrorContainer).append(callback.element),$(friendlyErrorContainer).show()}},capitalizeWords:function(string){return(string+"").replace(/^(.)|\s+(.)/g,function(m){return m.toUpperCase()})},pluralize:function(string){return WPGMZA.singularize(string)+"s"},singularize:function(string){return string.replace(/s$/,"")},assertInstanceOf:function(instance,instanceName){var pro=WPGMZA.isProVersion()?"Pro":"",engine="open-layers"===WPGMZA.settings.engine?"OL":"Google",pro=WPGMZA[engine+pro+instanceName]&&engine+instanceName!="OLFeature"?engine+pro+instanceName:WPGMZA[pro+instanceName]?pro+instanceName:WPGMZA[engine+instanceName]&&WPGMZA[engine+instanceName].prototype?engine+instanceName:instanceName;if("OLFeature"!=pro&&!(instance instanceof WPGMZA[pro]))throw new Error("Object must be an instance of "+pro+" (did you call a constructor directly, rather than createInstance?)")},getMapByID:function(id){for(var i=0;i<WPGMZA.maps.length;i++)if(WPGMZA.maps[i].id==id)return WPGMZA.maps[i];return null},isGoogleAutocompleteSupported:function(){return!!window.google&&(!!google.maps&&(!!google.maps.places&&(!!google.maps.places.Autocomplete&&(!WPGMZA.CloudAPI||!WPGMZA.CloudAPI.isBeingUsed))))},googleAPIStatus:window.wpgmza_google_api_status,isSafari:function(){var ua=navigator.userAgent.toLowerCase();return ua.match(/safari/i)&&!ua.match(/chrome/i)},isTouchDevice:function(){return"ontouchstart"in window},isDeviceiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},isModernComponentStyleAllowed:function(){return!!WPGMZA.InternalEngine.isLegacy()&&(!WPGMZA.settings.user_interface_style||"legacy"==WPGMZA.settings.user_interface_style||"modern"==WPGMZA.settings.user_interface_style)},isElementInView:function(element){var pageTop=$(window).scrollTop(),pageBottom=pageTop+$(window).height(),elementTop=$(element).offset().top,element=elementTop+$(element).height();return elementTop<pageTop&&pageBottom<element||(pageTop<=elementTop&&elementTop<=pageBottom||pageTop<=element&&element<=pageBottom)},isFullScreen:function(){return wpgmzaisFullScreen},isNumeric:function(num){return!isNaN(parseFloat(num))&&isFinite(num)},getQueryParamValue:function(name){var name=new RegExp(name+"=([^&#]*)");return(name=window.location.href.match(name))?decodeURIComponent(name[1]):null},notification:function(text,time){switch(arguments.length){case 0:text="",time=4e3;break;case 1:time=4e3}var html='<div class="wpgmza-popup-notification">'+text+"</div>";jQuery("body").append(html),setTimeout(function(){jQuery("body").find(".wpgmza-popup-notification").remove()},time)},initMaps:function(){$(document.body).find(".wpgmza_map:not(.wpgmza-initialized)").each(function(index,el){if(el.wpgmzaMap)console.warn("Element missing class wpgmza-initialized but does have wpgmzaMap property. No new instance will be created");else try{el.wpgmzaMap=WPGMZA.Map.createInstance(el)}catch(ex){console.warn("Map initalization: "+ex)}}),WPGMZA.Map.nextInitTimeoutID=setTimeout(WPGMZA.initMaps,3e3)},initCapsules:function(){WPGMZA.capsuleModules=WPGMZA.CapsuleModules.createInstance()},onScroll:function(){$(".wpgmza_map").each(function(index,el){var isInView=WPGMZA.isElementInView(el);el.wpgmzaScrollIntoViewTriggerFlag?isInView||(el.wpgmzaScrollIntoViewTriggerFlag=!1):isInView&&($(el).trigger("mapscrolledintoview.wpgmza"),el.wpgmzaScrollIntoViewTriggerFlag=!0)})},initInstallerRedirect:function(url){$(".wpgmza-wrap").hide(),window.location.href=url}},wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){var value=WPGMZA_localized_data[key];WPGMZA[key]=value}var key,wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){value=WPGMZA_localized_data[key];WPGMZA[key]=value}WPGMZA.settings.useLegacyGlobals=!0,$(document).on("fullscreenchange mozfullscreenchange webkitfullscreenchange",function(){wpgmzaisFullScreen=!!document.fullscreenElement,$(document.body).trigger("fullscreenchange.wpgmza")}),$("body").on("click","#wpgmzaCloseChat",function(e){e.preventDefault(),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_hide_chat",nonce:WPGMZA_localized_data.ajaxnonce}}),$(".wpgmza-chat-help").remove()}),$(window).on("scroll",WPGMZA.onScroll),$(document.body).on("click","button.wpgmza-api-consent",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}),$(document.body).on("keydown",function(event){event.altKey&&(WPGMZA.altKeyDown=!0)}),$(document.body).on("keyup",function(event){event.altKey||(WPGMZA.altKeyDown=!1)}),$(document.body).on("preinit.wpgmza",function(){$(window).trigger("ready.wpgmza"),$(document.body).trigger("ready.body.wpgmza"),$("script[src*='wp-google-maps.combined.js'], script[src*='wp-google-maps-pro.combined.js']").length&&console.warn("Minified script is out of date, using combined script instead.");var key,elements=$("script[src]").filter(function(){return this.src.match(/(^|\/)jquery\.(min\.)?js(\?|$)/i)});1<elements.length&&console.warn("Multiple jQuery versions detected: ",elements);for(key in[]){console.warn("The Array object has been extended incorrectly by your theme or another plugin. This can cause issues with functionality.");break}"https:"!=window.location.protocol&&(elements='<div class="'+(WPGMZA.InternalEngine.isLegacy()?"":"wpgmza-shadow wpgmza-card wpgmza-pos-relative ")+'notice notice-warning"><p>'+WPGMZA.localized_strings.unsecure_geolocation+"</p></div>",$(".wpgmza-geolocation-setting").first().after($(elements))),WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code&&jQuery(".wpgmza-gdpr-compliance").length<=0&&($(".wpgmza-inner-stack").hide(),$("button.wpgmza-api-consent").on("click",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}))}),function($){$(function(){WPGMZA.restAPI=WPGMZA.RestAPI.createInstance(),WPGMZA.CloudAPI&&(WPGMZA.cloudAPI=WPGMZA.CloudAPI.createInstance()),$(document.body).trigger("preinit.wpgmza"),WPGMZA.initMaps(),WPGMZA.onScroll(),WPGMZA.initCapsules(),$(document.body).trigger("postinit.wpgmza")})}($)}),jQuery(function($){WPGMZA.Compatibility=function(){this.preventDocumentWriteGoogleMapsAPI()},WPGMZA.Compatibility.prototype.preventDocumentWriteGoogleMapsAPI=function(){var old=document.write;document.write=function(content){content.match&&content.match(/maps\.google/)||old.call(document,content)}},WPGMZA.compatiblityModule=new WPGMZA.Compatibility}),!function(root,factory){"object"==typeof exports?module.exports=factory(root):"function"==typeof define&&define.amd?define([],factory.bind(root,root)):factory(root)}("undefined"!=typeof global?global:this,function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;function cssEscape(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index<length;)0==(codeUnit=string.charCodeAt(index))?result+="�":result+=1<=codeUnit&&codeUnit<=31||127==codeUnit||0==index&&48<=codeUnit&&codeUnit<=57||1==index&&48<=codeUnit&&codeUnit<=57&&45==firstCodeUnit?"\\"+codeUnit.toString(16)+" ":(0!=index||1!=length||45!=codeUnit)&&(128<=codeUnit||45==codeUnit||95==codeUnit||48<=codeUnit&&codeUnit<=57||65<=codeUnit&&codeUnit<=90||97<=codeUnit&&codeUnit<=122)?string.charAt(index):"\\"+string.charAt(index);return result}return root.CSS||(root.CSS={}),root.CSS.escape=cssEscape}),jQuery(function($){Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Distance={MILES:!0,KILOMETERS:!1,MILES_PER_KILOMETER:.621371,KILOMETERS_PER_MILE:1.60934,uiToMeters:function(uiDistance){return parseFloat(uiDistance)/(WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?WPGMZA.Distance.MILES_PER_KILOMETER:1)*1e3},uiToKilometers:function(uiDistance){return.001*WPGMZA.Distance.uiToMeters(uiDistance)},uiToMiles:function(uiDistance){return WPGMZA.Distance.uiToKilometers(uiDistance)*WPGMZA.Distance.MILES_PER_KILOMETER},kilometersToUI:function(km){return WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?km*WPGMZA.Distance.MILES_PER_KILOMETER:km},between:function(a,b){if(!(a instanceof WPGMZA.LatLng||"lat"in a&&"lng"in a))throw new Error("First argument must be an instance of WPGMZA.LatLng or a literal");if(!(b instanceof WPGMZA.LatLng||"lat"in b&&"lng"in b))throw new Error("Second argument must be an instance of WPGMZA.LatLng or a literal");if(a===b)return 0;var lat1=a.lat,lon1=a.lng,lat2=b.lat,b=b.lng,dLat=deg2rad(lat2-lat1),b=deg2rad(b-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(b/2)*Math.sin(b/2);return 6371*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))}}}),jQuery(function($){WPGMZA.EliasFano=function(){if(!WPGMZA.EliasFano.isSupported)throw new Error("Elias Fano encoding is not supported on browsers without Uint8Array");WPGMZA.EliasFano.decodingTablesInitialised||WPGMZA.EliasFano.createDecodingTable()},WPGMZA.EliasFano.isSupported="Uint8Array"in window,WPGMZA.EliasFano.decodingTableHighBits=[],WPGMZA.EliasFano.decodingTableDocIDNumber=null,WPGMZA.EliasFano.decodingTableHighBitsCarryover=null,WPGMZA.EliasFano.createDecodingTable=function(){WPGMZA.EliasFano.decodingTableDocIDNumber=new Uint8Array(256),WPGMZA.EliasFano.decodingTableHighBitsCarryover=new Uint8Array(256);for(var decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,i=0;i<256;i++){var zeroCount=0;decodingTableHighBits[i]=[];for(var j=7;0<=j;j--)zeroCount=0<(i&1<<j)?(decodingTableHighBits[i][decodingTableDocIDNumber[i]]=zeroCount,decodingTableDocIDNumber[i]++,0):(zeroCount+1)%255;decodingTableHighBitsCarryover[i]=zeroCount}WPGMZA.EliasFano.decodingTablesInitialised=!0},WPGMZA.EliasFano.prototype.encode=function(list){var lastDocID=0,buffer1=0,bufferLength1=0,buffer2=0,bufferLength2=0;if(0==list.length)return result;var compressedBufferPointer1=0,compressedBufferPointer2=0,averageDelta=list[list.length-1]/list.length,averageDeltaLog=Math.log2(averageDelta),lowBitsLength=Math.floor(averageDeltaLog),lowBitsMask=(1<<lowBitsLength)-1,prev=null,averageDeltaLog=Math.floor((2+Math.ceil(Math.log2(averageDelta)))*list.length/8)+6,compressedBuffer=new Uint8Array(averageDeltaLog),result=(lowBitsLength<0&&(lowBitsLength=0),compressedBufferPointer2=Math.floor(lowBitsLength*list.length/8+6),compressedBuffer[compressedBufferPointer1++]=255&list.length,compressedBuffer[compressedBufferPointer1++]=255&list.length>>8,compressedBuffer[compressedBufferPointer1++]=255&list.length>>16,compressedBuffer[compressedBufferPointer1++]=255&list.length>>24,compressedBuffer[compressedBufferPointer1++]=255&lowBitsLength,list.forEach(function(docID){var docIDDelta=docID-lastDocID-1;if(!WPGMZA.isNumeric(docID))throw new Error("Value is not numeric");if(docID=parseInt(docID),null!==prev&&docID<=prev)throw new Error("Elias Fano encoding can only be used on a sorted, ascending list of unique integers.");for(prev=docID,buffer1=buffer1<<lowBitsLength|docIDDelta&lowBitsMask,bufferLength1+=lowBitsLength;7<bufferLength1;)bufferLength1-=8,compressedBuffer[compressedBufferPointer1++]=255&buffer1>>bufferLength1;docIDDelta=1+(docIDDelta>>lowBitsLength);for(buffer2=buffer2<<docIDDelta|1,bufferLength2+=docIDDelta;7<bufferLength2;)bufferLength2-=8,compressedBuffer[compressedBufferPointer2++]=255&buffer2>>bufferLength2;lastDocID=docID}),0<bufferLength1&&(compressedBuffer[compressedBufferPointer1++]=255&buffer1<<8-bufferLength1),0<bufferLength2&&(compressedBuffer[compressedBufferPointer2++]=255&buffer2<<8-bufferLength2),new Uint8Array(compressedBuffer));return result.pointer=compressedBufferPointer2,result},WPGMZA.EliasFano.prototype.decode=function(compressedBuffer){for(var resultPointer=0,list=[],decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,lowBitsPointer=0,lastDocID=0,docID=0,listCount=compressedBuffer[lowBitsPointer++],lowBitsLength=(listCount=(listCount=(listCount|=compressedBuffer[lowBitsPointer++]<<8)|compressedBuffer[lowBitsPointer++]<<16)|compressedBuffer[lowBitsPointer++]<<24,compressedBuffer[lowBitsPointer++]),lowBitsCount=0,lowBits=0,cb=1,highBitsPointer=Math.floor(lowBitsLength*listCount/8+6);highBitsPointer<compressedBuffer.pointer;highBitsPointer++){docID+=decodingTableHighBitsCarryover[cb];for(var docIDNumber=decodingTableDocIDNumber[cb=compressedBuffer[highBitsPointer]],i=0;i<docIDNumber;i++){for(docID=docID<<lowBitsCount|lowBits&(1<<lowBitsCount)-1;lowBitsCount<lowBitsLength;)docID=(docID<<=8)|(lowBits=compressedBuffer[lowBitsPointer++]),lowBitsCount+=8;docID=(docID>>=lowBitsCount-=lowBitsLength)+((decodingTableHighBits[cb][i]<<lowBitsLength)+lastDocID+1),lastDocID=list[resultPointer++]=docID,docID=0}}return list}}),jQuery(function($){WPGMZA.EventDispatcher=function(){WPGMZA.assertInstanceOf(this,"EventDispatcher"),this._listenersByType={}},WPGMZA.EventDispatcher.prototype.addEventListener=function(type,listener,thisObject,useCapture){var types=type.split(/\s+/);if(1<types.length)for(var i=0;i<types.length;i++)this.addEventListener(types[i],listener,thisObject,useCapture);else{if(!(listener instanceof Function))throw new Error("Listener must be a function");type=this._listenersByType.hasOwnProperty(type)?this._listenersByType[type]:this._listenersByType[type]=[];type.push({listener:listener,thisObject:thisObject||this,useCapture:!!useCapture})}},WPGMZA.EventDispatcher.prototype.on=WPGMZA.EventDispatcher.prototype.addEventListener,WPGMZA.EventDispatcher.prototype.removeEventListener=function(type,listener,thisObject,useCapture){var arr,obj;if(arr=this._listenersByType[type]){thisObject=thisObject||this,useCapture=!!useCapture;for(var i=0;i<arr.length;i++)if(obj=arr[i],(1==arguments.length||obj.listener==listener)&&obj.thisObject==thisObject&&obj.useCapture==useCapture)return void arr.splice(i,1)}},WPGMZA.EventDispatcher.prototype.off=WPGMZA.EventDispatcher.prototype.removeEventListener,WPGMZA.EventDispatcher.prototype.hasEventListener=function(type){return!!_listenersByType[type]},WPGMZA.EventDispatcher.prototype.dispatchEvent=function(event){if(!(event instanceof WPGMZA.Event))if("string"==typeof event)event=new WPGMZA.Event(event);else{var name,src=event;for(name in event=new WPGMZA.Event,src)event[name]=src[name]}for(var path=[],obj=(event.target=this).parent;null!=obj;obj=obj.parent)path.unshift(obj);event.phase=WPGMZA.Event.CAPTURING_PHASE;for(var i=0;i<path.length&&!event._cancelled;i++)path[i]._triggerListeners(event);if(!event._cancelled){for(event.phase=WPGMZA.Event.AT_TARGET,this._triggerListeners(event),event.phase=WPGMZA.Event.BUBBLING_PHASE,i=path.length-1;0<=i&&!event._cancelled;i--)path[i]._triggerListeners(event);for(var topMostElement=this.element,obj=this.parent;null!=obj;obj=obj.parent)obj.element&&(topMostElement=obj.element);if(topMostElement){var key,customEvent={};for(key in event){var value=event[key];"type"==key&&(value+=".wpgmza"),customEvent[key]=value}$(topMostElement).trigger(customEvent)}}},WPGMZA.EventDispatcher.prototype.trigger=WPGMZA.EventDispatcher.prototype.dispatchEvent,WPGMZA.EventDispatcher.prototype._triggerListeners=function(event){var arr,obj;if(arr=this._listenersByType[event.type])for(var i=0;i<arr.length;i++)obj=arr[i],event.phase==WPGMZA.Event.CAPTURING_PHASE&&!obj.useCapture||obj.listener.call(arr[i].thisObject,event)},WPGMZA.events=new WPGMZA.EventDispatcher}),jQuery(function($){WPGMZA.AddressInput=function(element,map){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=element;var json,options={fields:["name","formatted_address"],types:["geocode","establishment"]};(json=$(element).attr("data-autocomplete-options"))&&(options=$.extend(options,JSON.parse(json))),map&&map.settings.wpgmza_store_locator_restrict&&(options.country=map.settings.wpgmza_store_locator_restrict),this.options=options,(element._wpgmzaAddressInput=this).googleAutocompleteLoaded=!1,WPGMZA.isGoogleAutocompleteSupported()?this.shouldAutoLoadGoogleAutocomplete()&&this.loadGoogleAutocomplete():WPGMZA.CloudAPI&&WPGMZA.CloudAPI.isBeingUsed&&(element.cloudAutoComplete=new WPGMZA.CloudAutocomplete(element,options))},WPGMZA.extend(WPGMZA.AddressInput,WPGMZA.EventDispatcher),WPGMZA.AddressInput.createInstance=function(element,map){return new WPGMZA.AddressInput(element,map)},WPGMZA.AddressInput.prototype.loadGoogleAutocomplete=function(){WPGMZA.settings&&(WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key)&&(WPGMZA.isGoogleAutocompleteSupported()&&(this.element.googleAutoComplete=new google.maps.places.Autocomplete(this.element,this.options),this.options.country&&this.element.googleAutoComplete.setComponentRestrictions({country:this.options.country})),this.googleAutocompleteLoaded=!0)},WPGMZA.AddressInput.prototype.shouldAutoLoadGoogleAutocomplete=function(){return!this.element||!this.element.id||"wpgmza_add_address_map_editor"!==this.element.id}}),jQuery(function($){WPGMZA.CapsuleModules=function(){WPGMZA.EventDispatcher.call(this),this.proxies={},this.capsules=[],this.prepareCapsules(),this.flagCapsules()},WPGMZA.extend(WPGMZA.CapsuleModules,WPGMZA.EventDispatcher),WPGMZA.CapsuleModules.getConstructor=function(){return WPGMZA.isProVersion()?WPGMZA.ProCapsuleModules:WPGMZA.CapsuleModules},WPGMZA.CapsuleModules.createInstance=function(){const constructor=WPGMZA.CapsuleModules.getConstructor();return new constructor},WPGMZA.CapsuleModules.prototype.proxyMap=function(id,settings){return this.proxies[id]||(this.proxies[id]=Object.create(this),this.proxies[id].id=id,this.proxies[id].markers=[],this.proxies[id].showPreloader=function(){},this.proxies[id].getMarkerByID=function(){return{}},this.proxies[id].markerFilter=WPGMZA.MarkerFilter.createInstance(this.proxies[id])),settings&&(this.proxies[id].settings=settings),this.proxies[id]},WPGMZA.CapsuleModules.prototype.flagCapsules=function(){if(this.capsules)for(var i in this.capsules)this.capsules[i].element&&$(this.capsules[i].element).addClass("wpgmza-capsule-module")},WPGMZA.CapsuleModules.prototype.prepareCapsules=function(){this.registerStoreLocator()},WPGMZA.CapsuleModules.prototype.registerStoreLocator=function(){$(".wpgmza-store-locator").each((index,element)=>{var mapId=$(element).data("map-id"),url=$(element).data("url");if(mapId&&!WPGMZA.getMapByID(mapId))if(url){var settings=$(element).data("map-settings"),settings=this.proxyMap(mapId,settings);const capsule={type:"store_locator",element:element,instance:WPGMZA.StoreLocator.createInstance(settings,element)};capsule.instance.isCapsule=!0,capsule.instance.redirectUrl=url,this.capsules.push(capsule)}else console.warn('WPGMZA: You seem to have added a stadalone store locator without a map page URL. Please add a URL to your shortcode [wpgmza_store_locator id="'+mapId+'" url="{URL}"] and try again')})}}),jQuery(function($){WPGMZA.ColorInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={format:"hex",anchor:"left",container:!1,autoClose:!0,autoOpen:!1,supportAlpha:!0,supportPalette:!0,wheelBorderWidth:10,wheelPadding:6,wheelBorderColor:"rgb(255,255,255)"},this.parseOptions(options),this.state={initialized:!1,sliderInvert:!1,lockSlide:!1,lockPicker:!1,open:!1,mouse:{down:!1}},this.color={h:0,s:0,l:100,a:1},this.wrap(),this.renderControls(),this.parseColor(this.value)},WPGMZA.extend(WPGMZA.ColorInput,WPGMZA.EventDispatcher),WPGMZA.ColorInput.createInstance=function(element){return new WPGMZA.ColorInput(element)},WPGMZA.ColorInput.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)},WPGMZA.ColorInput.prototype.degreesToRadians=function(degrees){return degrees*(Math.PI/180)},WPGMZA.ColorInput.prototype.hueToRgb=function(p,q,t){return t<0&&(t+=1),1<t&&--t,t<1/6?p+6*(q-p)*t:t<.5?q:t<2/3?p+(q-p)*(2/3-t)*6:p},WPGMZA.ColorInput.prototype.getMousePositionInCanvas=function(canvas,event){canvas=canvas.getBoundingClientRect();return{x:event.clientX-canvas.left,y:event.clientY-canvas.top}},WPGMZA.ColorInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.ColorInput.prototype.getColor=function(override,format){var hsl=Object.assign({},this.color);if(override)for(var i in override)hsl[i]=override[i];format=format||this.options.format;var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);switch(format){case"hsl":return"hsl("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%)";case"hsla":return"hsla("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%, "+hsl.a+")";case"rgb":return"rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")";case"rgba":return"rgba("+rgb.r+", "+rgb.g+", "+rgb.b+", "+rgb.a+")"}return this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a)},WPGMZA.ColorInput.prototype.setColor=function(hsl){for(var i in hsl)this.color[i]=hsl[i];this.options.supportAlpha||(this.color.a=1),this.updatePreview(),this.commit(),this.state.initialized&&this.update()},WPGMZA.ColorInput.prototype.parseColor=function(value){var hsl;"string"==typeof value&&(-1!==(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"rgb(255,255,255)":value).indexOf("rgb")?(value=value.replace(/[a-z\(\)%]/g,""),parts=value.split(","),this.setColor(this.rgbToHsl(parts[0],parts[1],parts[2],parts[3]))):-1!==value.indexOf("hsl")?(value=value.replace(/[a-z\(\)%]/g,""),hsl={h:(parts=value.split(","))[0]?parseInt(parts[0]):0,s:parts[1]?parseInt(parts[1]):0,l:parts[2]?parseInt(parts[2]):100,a:parts[3]?parseFloat(parts[3]):1},this.setColor(hsl)):(hsl=this.hexToRgb(value),this.setColor(this.rgbToHsl(hsl.r,hsl.g,hsl.b,hsl.a))))},WPGMZA.ColorInput.prototype.rgbToHsl=function(r,g,b,a){var rgb={r:0<=r?r/255:255,g:0<=g?g/255:255,b:0<=b?b/255:255,a:0<=a?a:1},r=Math.min(rgb.r,rgb.g,rgb.b),g=Math.max(rgb.r,rgb.g,rgb.b),delta=g-r,hsl={h:(g+r)/2,s:(g+r)/2,l:(g+r)/2,a:rgb.a};if(0!=delta){switch(hsl.s=.5<hsl.l?delta/(2-g-r):delta/(g+r),g){case rgb.r:hsl.h=(rgb.g-rgb.b)/delta+(rgb.g<rgb.b?6:0);break;case rgb.g:hsl.h=(rgb.b-rgb.r)/delta+2;break;case rgb.b:hsl.h=(rgb.r-rgb.g)/delta+4}hsl.h=hsl.h/6}else hsl.h=0,hsl.s=0;return hsl.h=parseInt(360*hsl.h),hsl.s=parseInt(100*hsl.s),hsl.l=parseInt(100*hsl.l),hsl},WPGMZA.ColorInput.prototype.hexToRgb=function(hex){return(hex=hex.trim().toLowerCase().replace(/ /g,"").replace(/[^A-Za-z0-9\s]/g,"")).length<6&&(hex+=hex.charAt(hex.length-1).repeat(6-hex.length)),{r:parseInt(hex.slice(0,2),16),g:parseInt(hex.slice(2,4),16),b:parseInt(hex.slice(4,6),16),a:6<hex.length?this.floatToPrecision(parseInt(hex.slice(6,8),16)/255,2):1}},WPGMZA.ColorInput.prototype.hslToRgb=function(h,s,l,a){var h={h:0<=h?h:0,s:0<=s?s/100:0,l:0<=l?l/100:0,a:0<=a?a:1},s={r:0,g:0,b:0,a:h.a},l=(1-Math.abs(2*h.l-1))*h.s,a=l*(1-Math.abs(h.h/60%2-1)),diff=h.l-l/2;return 0<=h.h&&h.h<60?(s.r=l,s.g=a,s.b=0):60<=h.h&&h.h<120?(s.r=a,s.g=l,s.b=0):120<=h.h&&h.h<180?(s.r=0,s.g=l,s.b=a):180<=h.h&&h.h<240?(s.r=0,s.g=a,s.b=l):240<=h.h&&h.h<300?(s.r=a,s.g=0,s.b=l):300<=h.h&&h.h<360&&(s.r=l,s.g=0,s.b=a),s.r=Math.round(255*(s.r+diff)),s.g=Math.round(255*(s.g+diff)),s.b=Math.round(255*(s.b+diff)),s},WPGMZA.ColorInput.prototype.rgbToHex=function(r,g,b,a){var i,rgb={r:0<=r?r:255,g:0<=g?g:255,b:0<=b?b:255,a:0<=a?a:1};for(i in rgb.r=rgb.r.toString(16),rgb.g=rgb.g.toString(16),rgb.b=rgb.b.toString(16),rgb.a<1?rgb.a=Math.round(255*rgb.a).toString(16):rgb.a="",rgb)1===rgb[i].length&&(rgb[i]="0"+rgb[i]);return"#"+rgb.r+rgb.g+rgb.b+rgb.a},WPGMZA.ColorInput.prototype.floatToPrecision=function(float,precision){return float=parseFloat(float),parseFloat(float.toFixed(precision))},WPGMZA.ColorInput.prototype.wrap=function(){var self=this;if(!this.element||"text"!==this.type)throw new Error("WPGMZA.ColorInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-color-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element),this.options.autoClose&&($(document.body).on("click",function(){self.state.open&&(self.state.mouse.down=!1,self.onTogglePicker())}),$(document.body).on("colorpicker.open.wpgmza",function(event){event.instance!==self&&self.state.open&&self.onTogglePicker()}))},WPGMZA.ColorInput.prototype.renderControls=function(){var self=this;this.container&&(this.preview=$("<div class='wpgmza-color-preview wpgmza-shadow' />"),this.swatch=$("<div class='swatch' />"),this.picker=$("<div class='wpgmza-color-picker wpgmza-card wpgmza-shadow' />"),this.preview.append(this.swatch),this.picker.addClass("anchor-"+this.options.anchor),this.preview.addClass("anchor-"+this.options.anchor),this.preview.on("click",function(event){event.stopPropagation(),self.onTogglePicker()}),this.picker.on("click",function(event){event.stopPropagation()}),this.container.append(this.preview),this.options.container&&0<$(this.options.container).length?($(this.options.container).append(this.picker),$(this.options.container).addClass("wpgmza-color-input-host")):this.container.append(this.picker),this.options.autoOpen&&this.preview.trigger("click"))},WPGMZA.ColorInput.prototype.renderPicker=function(){this.state.initialized||(this.renderWheel(),this.renderFields(),this.renderPalette(),this.state.initialized=!0)},WPGMZA.ColorInput.prototype.renderWheel=function(){var self=this;this.wheel={wrap:$("<div class='canvas-wrapper' />"),element:$("<canvas class='color-wheel' />"),handle:$("<div class='canvas-handle' />"),slider:$("<div class='canvas-slider' />")},this.wheel.target=this.wheel.element.get(0),this.wheel.target.height=256,this.wheel.target.width=256,this.wheel.radius=(this.wheel.target.width-2*(this.options.wheelBorderWidth+this.options.wheelPadding))/2,this.wheel.degreeStep=1/this.wheel.radius,this.wheel.context=this.wheel.target.getContext("2d"),this.wheel.context.clearRect(0,0,this.wheel.target.width,this.wheel.target.height),this.wheel.grid={canvas:document.createElement("canvas")},this.wheel.grid.canvas.width=20,this.wheel.grid.canvas.height=20,this.wheel.grid.context=this.wheel.grid.canvas.getContext("2d"),this.wheel.grid.context.fillStyle="rgb(255,255,255)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width,this.wheel.grid.canvas.height),this.wheel.grid.context.fillStyle="rgb(180,180,180)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.grid.context.fillRect(this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.element.on("mousedown",function(event){self.state.mouse.down=!0,self.onPickerMouseSelect(event)}),this.wheel.element.on("mousemove",function(event){self.state.mouse.down&&self.onPickerMouseSelect(event)}),this.wheel.element.on("mouseup",function(event){self.clearStates()}),this.wheel.element.on("mouseleave",function(event){self.clearStates()}),this.wheel.wrap.append(this.wheel.element),this.wheel.wrap.append(this.wheel.handle),this.wheel.wrap.append(this.wheel.slider),this.picker.append(this.wheel.wrap)},WPGMZA.ColorInput.prototype.renderFields=function(){var group,self=this;for(group in this.fields={wrap:$("<div class='wpgmza-color-field-wrapper' />"),toggle:$("<div class='color-field-toggle' />"),blocks:{hsla:{keys:["h","s","l","a"]},rgba:{keys:["r","g","b","a"]},hex:{keys:["hex"]}}},this.fields.toggle.on("click",function(){var view=self.fields.view;switch(view){case"hex":view="hsla";break;case"hsla":view="rgba";break;case"rgba":view="hex"}self.updateFieldView(view)}),this.fields.wrap.append(this.fields.toggle),this.fields.blocks){var index,keys=this.fields.blocks[group].keys;for(index in this.fields.blocks[group].wrap=$("<div class='field-block' data-type='"+group+"'/>"),this.fields.blocks[group].rows={labels:$("<div class='labels' />"),controls:$("<div class='controls' />")},this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.controls),this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.labels),this.options.supportAlpha||-1===keys.indexOf("a")||this.fields.blocks[group].wrap.addClass("alpha-disabled"),keys){var name=keys[index],label=$("<div class='inner-label' />");label.text(name),this.fields.blocks[group][name]=$("<input type='text'/>"),this.fields.blocks[group].rows.controls.append(this.fields.blocks[group][name]),this.fields.blocks[group].rows.labels.append(label),this.fields.blocks[group][name].on("keydown",function(event){const originalEvent=event.originalEvent;"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.fields.blocks[group][name].on("change",function(){self.onFieldChange(this)})}this.fields.wrap.append(this.fields.blocks[group].wrap)}this.picker.append(this.fields.wrap),this.updateFieldView()},WPGMZA.ColorInput.prototype.renderPalette=function(){var self=this;if(this.options.supportPalette){for(var i in this.palette={wrap:$("<div class='wpgmza-color-palette-wrap' />"),variations:[{s:-10,l:-10},{h:15},{h:30},{h:-15},{h:-30},{h:100,s:10},{h:-100,s:-10},{h:180}],controls:[]},this.palette.variations){var mutator,variation=this.palette.variations[i],control=$("<div class='palette-swatch' />");for(mutator in variation)control.attr("data-"+mutator,variation[mutator]);control.on("click",function(){var elem=$(this);self.parseColor(elem.css("background-color")),self.element.trigger("input")}),this.palette.wrap.append(control),this.palette.controls.push(control)}this.picker.append(this.palette.wrap)}},WPGMZA.ColorInput.prototype.updateWheel=function(){this.wheel.center={x:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding,y:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding},this.color.a<1&&(this.wheel.grid.pattern=this.wheel.context.createPattern(this.wheel.grid.canvas,"repeat"),this.wheel.context.fillStyle=this.wheel.grid.pattern,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill());for(var i=0;i<360;i++){var startAngle=(i-1)*Math.PI/180,endAngle=(i+1)*Math.PI/180;this.wheel.context.beginPath(),this.wheel.context.moveTo(this.wheel.center.x,this.wheel.center.y),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,startAngle,endAngle),this.wheel.context.closePath(),this.wheel.context.fillStyle="hsla("+i+", 100%, 50%, "+this.color.a+")",this.wheel.context.fill()}var gradient=this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius),gradient=(gradient.addColorStop(0,"rgba(255, 255, 255, 1)"),gradient.addColorStop(1,"rgba(255, 255, 255, 0)"),this.wheel.context.fillStyle=gradient,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill(),this.wheel.context.lineWidth=2,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.stroke(),this.wheel.context.createLinearGradient(this.wheel.center.x,0,this.wheel.center.x,this.wheel.target.height)),gradient=(gradient.addColorStop(0,this.getColor({l:95},"hsl")),gradient.addColorStop(.5,this.getColor({l:50},"hsl")),gradient.addColorStop(1,this.getColor({l:5},"hsl")),this.wheel.context.beginPath(),this.wheel.context.lineWidth=this.options.wheelBorderWidth,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth/2,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.lineWidth=1,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius));gradient.addColorStop(0,"rgba(80, 80, 80, 0)"),gradient.addColorStop(.95,"rgba(80, 80, 80, 0.0)"),gradient.addColorStop(1,"rgba(80, 80, 80, 0.1)"),this.wheel.context.beginPath(),this.wheel.context.lineWidth=6,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius-3,0,2*Math.PI),this.wheel.context.stroke()},WPGMZA.ColorInput.prototype.update=function(){this.updateHandles(),this.updateWheel(),this.updateFields(),this.updatePalette()},WPGMZA.ColorInput.prototype.updateHandles=function(){var localRadius=this.wheel.element.width()/2,localHandleOffset=(localRadius-this.options.wheelBorderWidth-this.options.wheelPadding)/100*this.color.s,localHandleOffset={left:localRadius+localHandleOffset*Math.cos(this.degreesToRadians(this.color.h))+"px",top:localRadius+localHandleOffset*Math.sin(this.degreesToRadians(this.color.h))+"px"},localHandleOffset=(this.wheel.handle.css(localHandleOffset),this.color.l/100*360/2),localRadius=(this.state.sliderInvert&&(localHandleOffset=360-localHandleOffset),{left:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.cos(this.degreesToRadians(localHandleOffset+90))+"px",top:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.sin(this.degreesToRadians(localHandleOffset+90))+"px"});this.wheel.slider.css(localRadius)},WPGMZA.ColorInput.prototype.updatePreview=function(){this.swatch.css({background:this.getColor(!1,"rgba")})},WPGMZA.ColorInput.prototype.updateFields=function(){var group,hsl=Object.assign({},this.color);for(group in this.fields.blocks)switch(group){case"hsla":this.fields.blocks[group].h.val(hsl.h),this.fields.blocks[group].s.val(hsl.s),this.fields.blocks[group].l.val(hsl.l),this.fields.blocks[group].a.val(hsl.a);break;case"rgba":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);this.fields.blocks[group].r.val(rgb.r),this.fields.blocks[group].g.val(rgb.g),this.fields.blocks[group].b.val(rgb.b),this.fields.blocks[group].a.val(rgb.a);break;case"hex":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a),hex=this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a);this.fields.blocks[group].hex.val(hex)}},WPGMZA.ColorInput.prototype.updatePalette=function(){if(this.options.supportPalette)for(var i in this.palette.controls){var mutator,hsl=Object.assign({},this.color),i=this.palette.controls[i],data=i.data();for(mutator in 0===hsl.l?(data.h&&(hsl.l+=Math.abs(data.h)/360*100),hsl.l+=10):100===hsl.l&&(data.h&&(hsl.l-=Math.abs(data.h)/360*100),hsl.l-=10),data)hsl[mutator]+=data[mutator];hsl.h<0?hsl.h+=360:360<hsl.h&&(hsl.h-=360),hsl.h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l);var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l);i.css("background","rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")")}},WPGMZA.ColorInput.prototype.updateFieldView=function(view){switch(view=view||this.options.format||"hex"){case"rgb":view="rgba";break;case"hsl":view="hsla"}for(var group in this.fields.view=view,this.fields.blocks)group===this.fields.view?this.fields.blocks[group].wrap.show():this.fields.blocks[group].wrap.hide()},WPGMZA.ColorInput.prototype.onPickerMouseSelect=function(event){var localRadius=this.wheel.element.width()/2,event=this.getMousePositionInCanvas(this.wheel.target,event),event={x:event.x-localRadius,y:event.y-localRadius},angle=360*Math.atan2(event.y,event.x)/(2*Math.PI),event=(angle<0&&(angle+=360),Math.sqrt(event.x*event.x+event.y*event.y)),range={pickerScaler:localRadius/this.wheel.radius};range.pickerEdge=range.pickerScaler*localRadius,(event<=range.pickerEdge||this.state.lockPicker)&&!this.state.lockSlide?(this.setColor({h:parseInt(angle),s:Math.min(parseInt(event/range.pickerEdge*100),100)}),this.state.lockPicker=!0):((angle-=90)<0&&(angle+=360),this.state.sliderInvert=!1,180<angle&&(angle=180-(angle-180),this.state.sliderInvert=!0),this.setColor({l:parseInt(angle/180*100)}),this.state.lockSlide=!0),this.element.trigger("input")},WPGMZA.ColorInput.prototype.onFieldChange=function(field){if(field&&""!==$(field).val().trim()){var field=$(field).closest(".field-block"),type=field.data("type"),raw=[];if(field.find("input").each(function(){raw.push($(this).val())}),("hsla"===type||"rgba"===type)&&raw[3]){field=raw[3];if("."===field.trim().charAt(field.trim().length-1))return}switch(type){case"hsla":(hsl={h:raw[0]?parseInt(raw[0]):0,s:raw[1]?parseInt(raw[1]):0,l:raw[2]?parseInt(raw[2]):100,a:raw[3]?parseFloat(raw[3]):1}).h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l),hsl.a=this.clamp(0,1,hsl.a),this.setColor(hsl);break;case"rgba":(rgb={r:raw[0]?parseInt(raw[0]):255,g:raw[1]?parseInt(raw[1]):255,b:raw[2]?parseInt(raw[2]):255,a:raw[3]?parseFloat(raw[3]):1}).r=this.clamp(0,255,rgb.r),rgb.g=this.clamp(0,255,rgb.g),rgb.b=this.clamp(0,255,rgb.b),rgb.a=this.clamp(0,1,rgb.a);var hsl=this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a);this.setColor(hsl);break;case"hex":var rgb=this.hexToRgb(raw[0]||"#ffffff");this.setColor(this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a))}this.element.trigger("input")}},WPGMZA.ColorInput.prototype.onTogglePicker=function(){this.renderPicker(),this.picker.toggleClass("active"),this.update(),this.state.open=this.picker.hasClass("active"),this.state.open&&$(document.body).trigger({type:"colorpicker.open.wpgmza",instance:this})},WPGMZA.ColorInput.prototype.clearStates=function(){this.state.mouse.down=!1,this.state.lockSlide=!1,this.state.lockPicker=!1},WPGMZA.ColorInput.prototype.commit=function(){var syncValue=this.getColor();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-color-input").each(function(index,el){el.wpgmzaColorInput=WPGMZA.ColorInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSBackdropFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSBackdropFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSBackdropFilterInput.createInstance=function(element){return new WPGMZA.CSSBackdropFilterInput(element)},WPGMZA.CSSBackdropFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSBackdropFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSBackdropFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSBackdropFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSBackdropFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSBackdropFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-backdrop-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSBackdropFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='backdrop-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='backdrop-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='backdrop-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='backdrop-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='backdrop-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='backdrop-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSBackdropFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.backdrop-filter-item-wrap[data-type="'+type+'"]');row.find(".backdrop-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".backdrop-filter-item-input").val(data.value).trigger("change"),row.find(".backdrop-filter-item-slider").slider("value",data.value),row.find(".backdrop-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSBackdropFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-styling-backdrop-filter-input").each(function(index,el){el.wpgmzaCSSBackdropFilterInput=WPGMZA.CSSBackdropFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSFilterInput.createInstance=function(element){return new WPGMZA.CSSFilterInput(element)},WPGMZA.CSSFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSFilterInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-css-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='css-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='css-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='css-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='css-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='css-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='css-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.css-filter-item-wrap[data-type="'+type+'"]');row.find(".css-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".css-filter-item-input").val(data.value).trigger("change"),row.find(".css-filter-item-slider").slider("value",data.value),row.find(".css-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-css-filter-input").each(function(index,el){el.wpgmzaCSSFilterInput=WPGMZA.CSSFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSStateBlock=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.tabs=this.element.find(".wpgmza-css-state-block-item"),this.items=this.element.find(".wpgmza-css-state-block-content"),this.items.removeClass("active"),this.bindEvents(),this.element.find(".wpgmza-css-state-block-item:first-child").click()},WPGMZA.extend(WPGMZA.CSSStateBlock,WPGMZA.EventDispatcher),WPGMZA.CSSStateBlock.createInstance=function(element){return new WPGMZA.CSSStateBlock(element)},WPGMZA.CSSStateBlock.prototype.bindEvents=function(){let self=this;this.tabs.on("click",function(event){self.onClick($(this))})},WPGMZA.CSSStateBlock.prototype.onClick=function(item){var type=item.data("type");type&&(this.tabs.removeClass("active"),item.addClass("active"),this.items.removeClass("active"),this.element.find('.wpgmza-css-state-block-content[data-type="'+type+'"]').addClass("active"))},$(document.body).ready(function(){$(".wpgmza-css-state-block").each(function(index,el){el.wpgmzaCSSStateBlock=WPGMZA.CSSStateBlock.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSUnitInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.unit={value:0,suffix:"px"},this.wrap(),this.renderControls(),this.parseUnits(this.value)},WPGMZA.extend(WPGMZA.CSSUnitInput,WPGMZA.EventDispatcher),WPGMZA.CSSUnitInput.VALID_TYPES=["px","%","rem","em"],WPGMZA.CSSUnitInput.createInstance=function(element){return new WPGMZA.CSSUnitInput(element)},WPGMZA.CSSUnitInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSUnitInput.prototype.getUnits=function(override,format){return this.unit.value+this.unit.suffix},WPGMZA.CSSUnitInput.prototype.setUnits=function(value,suffix){this.unit.value=value?parseFloat(value):this.unit.value,this.unit.suffix=suffix?suffix.trim():this.unit.suffix,0<this.unit.value-parseInt(this.unit.value)&&(this.unit.value=parseFloat(this.unit.value.toFixed(2))),this.unit.value<=0&&(this.unit.value=0),this.validateSuffix(),this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSUnitInput.prototype.parseUnits=function(value){if("string"==typeof value){let unit=(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"0px":value).match(/((\d+\.\d+)|(\d+))/),suffix=(unit=unit&&unit[0]?parseFloat(unit[0]):this.unit.value,value.match(/(([a-z]+)|(%))/));suffix=suffix&&suffix[0]?suffix[0]:this.unit.suffix,this.setUnits(unit,suffix)}},WPGMZA.CSSUnitInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-unit-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSUnitInput.prototype.renderControls=function(){this.container&&(this.unitValueInput=$("<input type='text' class='unit-value-input' />"),this.unitSuffixToggle=$("<div class='unit-suffix-toggle' />"),this.unitValueStepDownBtn=$("<div class='unit-stepper-button' data-mode='down' />"),this.unitValueStepUpBtn=$("<div class='unit-stepper-button' data-mode='up' />"),this.unitValueStepperWrap=$("<div class='unit-stepper-wrapper' />"),this.unitInnerWrap=$("<div class='unit-input-inner-wrap' />"),this.unitValueStepperWrap.append(this.unitValueStepUpBtn),this.unitValueStepperWrap.append(this.unitValueStepDownBtn),this.unitInnerWrap.append(this.unitValueStepperWrap),this.unitInnerWrap.append(this.unitValueInput),this.unitInnerWrap.append(this.unitSuffixToggle),this.container.append(this.unitInnerWrap),this.state.initialized=!0,this.unitValueInput.on("keydown",event=>{const originalEvent=event.originalEvent;originalEvent.key&&1===originalEvent.key.length?(0===originalEvent.key.trim().length||"."!==originalEvent.key&&isNaN(parseInt(originalEvent.key)))&&this.unitSuffixToggle.hide():"ArrowUp"===originalEvent.key?this.increment():"ArrowDown"===originalEvent.key?this.decrement():"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.unitValueInput.on("change",event=>{const input=$(event.currentTarget);this.parseUnits(input.val())}),this.unitValueStepUpBtn.on("click",event=>{this.increment()}),this.unitValueStepDownBtn.on("click",event=>{this.decrement()}))},WPGMZA.CSSUnitInput.prototype.validateSuffix=function(){(!this.unit.suffix||-1===WPGMZA.CSSUnitInput.VALID_TYPES.indexOf(this.unit.suffix))&&(this.unit.suffix=this.options.defaultSuffix)},WPGMZA.CSSUnitInput.prototype.increment=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value+=.1:value+=1,this.setUnits(value,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.decrement=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value-=.1:--value,this.setUnits(this.unit.value-1,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.update=function(){this.unitValueInput&&this.unitSuffixToggle&&(this.unitValueInput.val(this.unit.value),this.unitSuffixToggle.text(this.unit.suffix),this.unitSuffixToggle.show())},WPGMZA.CSSUnitInput.prototype.commit=function(){var syncValue=this.getUnits();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-stylig-unit-input").each(function(index,el){el.wpgmzaCSSUnitInput=WPGMZA.CSSUnitInput.createInstance(el)})})}),jQuery(function($){WPGMZA.DrawingManager=function(map){WPGMZA.assertInstanceOf(this,"DrawingManager"),WPGMZA.EventDispatcher.call(this);var self=this;this.map=map,this.mode=WPGMZA.DrawingManager.MODE_NONE,this.map.on("click rightclick",function(event){self.onMapClick(event)})},WPGMZA.DrawingManager.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.DrawingManager.prototype.constructor=WPGMZA.DrawingManager,WPGMZA.DrawingManager.MODE_NONE=null,WPGMZA.DrawingManager.MODE_MARKER="marker",WPGMZA.DrawingManager.MODE_POLYGON="polygon",WPGMZA.DrawingManager.MODE_POLYLINE="polyline",WPGMZA.DrawingManager.MODE_CIRCLE="circle",WPGMZA.DrawingManager.MODE_RECTANGLE="rectangle",WPGMZA.DrawingManager.MODE_HEATMAP="heatmap",WPGMZA.DrawingManager.MODE_POINTLABEL="pointlabel",WPGMZA.DrawingManager.MODE_IMAGEOVERLAY="imageoverlay",WPGMZA.DrawingManager.getConstructor=function(){return"google-maps"!==WPGMZA.settings.engine?WPGMZA.OLDrawingManager:WPGMZA.GoogleDrawingManager},WPGMZA.DrawingManager.createInstance=function(map){return new(WPGMZA.DrawingManager.getConstructor())(map)},WPGMZA.DrawingManager.prototype.setDrawingMode=function(mode){this.mode=mode,this.trigger("drawingmodechanged")},WPGMZA.DrawingManager.prototype.onMapClick=function(event){event.target instanceof WPGMZA.Map&&(this.mode!==WPGMZA.DrawingManager.MODE_POINTLABEL||this.pointlabel||(this.pointlabel=WPGMZA.Pointlabel.createInstance({center:new WPGMZA.LatLng({lat:event.latLng.lat,lng:event.latLng.lng}),map:this.map}),this.map.addPointlabel(this.pointlabel),this.pointlabel.setEditable(!0),this.onPointlabelComplete(this.pointlabel),this.pointlabel=!1))},WPGMZA.DrawingManager.prototype.onPointlabelComplete=function(pointlabel){var event=new WPGMZA.Event("pointlabelcomplete");event.enginePointlabel=pointlabel,this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.EmbeddedMedia=function(element,container){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");if(!(container instanceof HTMLElement))throw new Error("Container is not an instance of HTMLInputElement");const self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(element),this.container=$(container),this.corners=["southEast"],this.handles=null,this.activeCorner=!1,this.container.on("mousemove",function(event){self.onMoveHandle(event)}),this.container.on("mouseup",function(event){self.activeCorner&&self.onDeactivateHandle(self.activeCorner)}),this.container.on("mouseleave",function(event){self.activeCorner&&(self.onDeactivateHandle(self.activeCorner),self.onDetach())}),this.container.on("mousedown",function(event){self.onDetach()})},WPGMZA.extend(WPGMZA.EmbeddedMedia,WPGMZA.EventDispatcher),WPGMZA.EmbeddedMedia.createInstance=function(element,container){return new WPGMZA.EmbeddedMedia(element,container)},WPGMZA.EmbeddedMedia.detatchAll=function(){var element;for(element of document.querySelectorAll(".wpgmza-embedded-media"))element.wpgmzaEmbeddedMedia&&element.wpgmzaEmbeddedMedia.onDetach();$(".wpgmza-embedded-media").removeClass("selected"),$(".wpgmza-embedded-media-handle").remove()},WPGMZA.EmbeddedMedia.prototype.onSelect=function(){this.element.addClass("selected"),this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onDetach=function(){this.element.removeClass("selected"),this.destroyHandles(),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.onActivateHandle=function(corner){this.activeCorner=corner},WPGMZA.EmbeddedMedia.prototype.onDeactivateHandle=function(corner){this.activeCorner=!1,this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onMoveHandle=function(event){if(this.activeCorner&&this.handles[this.activeCorner]){const mouse=this.getMousePosition(event);this.handles[this.activeCorner].element&&(event=this.getAnchorPosition().y+this.element.height(),mouse.y>event&&(mouse.y=event),this.handles[this.activeCorner].element.css({left:mouse.x-3+"px",top:mouse.y-3+"px"}),this.applyResize(mouse))}},WPGMZA.EmbeddedMedia.prototype.createHandles=function(){if(!this.handles){this.handles={};for(var corner of this.corners)this.handles[corner]={element:$("<div/>"),mutating:!1},this.handles[corner].element.addClass("wpgmza-embedded-media-handle"),this.handles[corner].element.attr("data-corner",corner),this.container.append(this.handles[corner].element),this.bindHandle(corner)}},WPGMZA.EmbeddedMedia.prototype.destroyHandles=function(){if(this.handles&&this.handles instanceof Object){for(var i in this.handles){const handle=this.handles[i];handle.element&&handle.element.remove()}this.handles=null}},WPGMZA.EmbeddedMedia.prototype.updateHandles=function(){this.createHandles();var anchor=this.getAnchorPosition();if(this.handles&&this.handles instanceof Object)for(var corner in this.handles){const handle=this.handles[corner].element,position={top:0,left:0};"southEast"===corner&&(position.left=anchor.x+this.element.width(),position.top=anchor.y+this.element.height()),handle.css({left:position.left-3+"px",top:position.top-3+"px"})}},WPGMZA.EmbeddedMedia.prototype.bindHandle=function(corner){const self=this;this.handles&&this.handles[corner]&&(this.handles[corner].element.on("mousedown",function(event){event.preventDefault(),event.stopPropagation(),self.onActivateHandle(corner)}),this.handles[corner].element.on("mouseup",function(event){event.preventDefault(),event.stopPropagation(),self.onDeactivateHandle(corner)}))},WPGMZA.EmbeddedMedia.prototype.applyResize=function(mouse){var anchor=this.getAnchorPosition(),padding=parseInt(this.container.css("padding").replace("px","")),mouse=Math.abs(mouse.x-anchor.x),mouse=this.clamp(padding,this.container.width()-padding,mouse);this.element.css("width",parseInt(mouse)+"px"),this.element.attr("width",parseInt(mouse)),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.getMousePosition=function(event){event=event.originalEvent||event;const pos={x:parseInt(event.pageX-this.container.offset().left),y:parseInt(event.pageY-this.container.offset().top)};event=parseInt(this.container.css("padding").replace("px",""));return pos.x=this.clamp(event,this.container.width()-event,pos.x),pos.y=this.clamp(event,this.container.height()-event,pos.y),pos},WPGMZA.EmbeddedMedia.prototype.getAnchorPosition=function(){return{x:parseInt(this.element.offset().left-this.container.offset().left),y:parseInt(this.element.offset().top-this.container.offset().top)}},WPGMZA.EmbeddedMedia.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)}}),jQuery(function($){WPGMZA.Event=function(options){if("string"==typeof options&&(this.type=options),this.bubbles=!0,this.cancelable=!0,this.phase=WPGMZA.Event.PHASE_CAPTURE,this.target=null,this._cancelled=!1,"object"==typeof options)for(var name in options)this[name]=options[name]},WPGMZA.Event.CAPTURING_PHASE=0,WPGMZA.Event.AT_TARGET=1,WPGMZA.Event.BUBBLING_PHASE=2,WPGMZA.Event.prototype.stopPropagation=function(){this._cancelled=!0}}),jQuery(function($){WPGMZA.FancyControls={formatToggleSwitch:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-round-flat"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)},formatToggleButton:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-yes-no"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(label).attr("data-on",WPGMZA.localized_strings.yes),$(label).attr("data-off",WPGMZA.localized_strings.no),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)}},$(".wpgmza-fancy-toggle-switch").each(function(index,el){WPGMZA.FancyControls.formatToggleSwitch(el)}),$(".wpgmza-fancy-toggle-button").each(function(index,el){WPGMZA.FancyControls.formatToggleButton(el)})}),jQuery(function($){WPGMZA.Feature=function(options){for(var key in WPGMZA.assertInstanceOf(this,"Feature"),WPGMZA.EventDispatcher.call(this),this.id=-1,options)this[key]=options[key]},WPGMZA.extend(WPGMZA.Feature,WPGMZA.EventDispatcher),WPGMZA.MapObject=WPGMZA.Feature,WPGMZA.Feature.prototype.parseGeometry=function(subject){if("string"==typeof subject&&subject.match(/^\[/))try{subject=JSON.parse(subject)}catch(e){}if("object"==typeof subject){for(var arr=subject,i=0;i<arr.length;i++)arr[i].lat=parseFloat(arr[i].lat),arr[i].lng=parseFloat(arr[i].lng);return arr}if("string"!=typeof subject)throw new Error("Invalid geometry");for(var coords,results=[],pairs=subject.replace(/[^ ,\d\.\-+e]/g,"").split(","),i=0;i<pairs.length;i++)coords=pairs[i].split(" "),results.push({lat:parseFloat(coords[1]),lng:parseFloat(coords[0])});return results},WPGMZA.Feature.prototype.setOptions=function(options){for(var key in options)this[key]=options[key];this.updateNativeFeature()},WPGMZA.Feature.prototype.setEditable=function(editable){this.setOptions({editable:editable})},WPGMZA.Feature.prototype.setDraggable=function(draggable){this.setOptions({draggable:draggable})},WPGMZA.Feature.prototype.getScalarProperties=function(){var key,options={};for(key in this)switch(typeof this[key]){case"number":options[key]=parseFloat(this[key]);break;case"boolean":case"string":options[key]=this[key]}return options},WPGMZA.Feature.prototype.updateNativeFeature=function(){var props=this.getScalarProperties();"open-layers"===WPGMZA.settings.engine?this.layer&&this.layer.setStyle(WPGMZA.OLFeature.getOLStyle(props)):this.googleFeature.setOptions(props)}}),jQuery(function($){WPGMZA.FriendlyError=function(){}}),jQuery(function($){WPGMZA.GenericModal=function(element,complete,cancel){this.element=$(element),this._onComplete=complete||!1,this._onCancel=cancel||!1,this.bindEvents()},WPGMZA.extend(WPGMZA.GenericModal,WPGMZA.EventDispatcher),WPGMZA.GenericModal.createInstance=function(element,complete,cancel){return new(WPGMZA.isProVersion()?WPGMZA.ProGenericModal:WPGMZA.GenericModal)(element,complete,cancel)},WPGMZA.GenericModal.prototype.bindEvents=function(){const self=this;this.element.on("click",".wpgmza-button",function(){"complete"===$(this).data("action")?self.onComplete():self.onCancel()})},WPGMZA.GenericModal.prototype.getData=function(){const data={};return this.element.find("input,select").each(function(){$(this).data("ajax-name")&&(data[$(this).data("ajax-name")]=$(this).val())}),data},WPGMZA.GenericModal.prototype.onComplete=function(){this.hide(),"function"==typeof this._onComplete&&this._onComplete(this.getData())},WPGMZA.GenericModal.prototype.onCancel=function(){this.hide(),"function"==typeof this._onCancel&&this._onCancel()},WPGMZA.GenericModal.prototype.show=function(complete,cancel){this._onComplete=complete||this._onComplete,this._onCancel=cancel||this._onCancel,this.element.addClass("pending")},WPGMZA.GenericModal.prototype.hide=function(){this.element.removeClass("pending")}}),jQuery(function($){WPGMZA.Geocoder=function(){WPGMZA.assertInstanceOf(this,"Geocoder")},WPGMZA.Geocoder.SUCCESS="success",WPGMZA.Geocoder.ZERO_RESULTS="zero-results",WPGMZA.Geocoder.FAIL="fail",WPGMZA.Geocoder.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleGeocoder:WPGMZA.OLGeocoder},WPGMZA.Geocoder.createInstance=function(){return new(WPGMZA.Geocoder.getConstructor())},WPGMZA.Geocoder.prototype.getLatLngFromAddress=function(options,callback){WPGMZA.isLatLngString(options.address)&&(options=options.address.split(/,\s*/),callback([(callback=new WPGMZA.LatLng({lat:parseFloat(options[0]),lng:parseFloat(options[1])})).latLng=callback],WPGMZA.Geocoder.SUCCESS))},WPGMZA.Geocoder.prototype.getAddressFromLatLng=function(options,callback){callback([new WPGMZA.LatLng(options.latLng).toString()],WPGMZA.Geocoder.SUCCESS)},WPGMZA.Geocoder.prototype.geocode=function(options,callback){if("address"in options)return this.getLatLngFromAddress(options,callback);if("latLng"in options)return this.getAddressFromLatLng(options,callback);throw new Error("You must supply either a latLng or address")}}),jQuery(function($){WPGMZA.GoogleAPIErrorHandler=function(){var _error,self=this;"google-maps"==WPGMZA.settings.engine&&("map-edit"==WPGMZA.currentPage||0==WPGMZA.is_admin&&1==WPGMZA.userCanAdministrator)&&(this.element=$(WPGMZA.html.googleMapsAPIErrorDialog),1==WPGMZA.is_admin&&this.element.find(".wpgmza-front-end-only").remove(),this.errorMessageList=this.element.find(".wpgmza-google-api-error-list"),this.templateListItem=this.element.find("li.template").remove(),this.messagesAlreadyDisplayed={},_error=console.error,console.error=function(message){self.onErrorMessage(message),_error.apply(this,arguments)},"google-maps"!=WPGMZA.settings.engine||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT||this.addErrorMessage(WPGMZA.localized_strings.no_google_maps_api_key,["https://www.wpgmaps.com/documentation/creating-a-google-maps-api-key/"]))},WPGMZA.GoogleAPIErrorHandler.prototype.onErrorMessage=function(message){var m,urls;message&&((m=message.match(/You have exceeded your (daily )?request quota for this API/))||(m=message.match(/This API project is not authorized to use this API/))||(m=message.match(/^Geocoding Service: .+/))?(urls=message.match(/http(s)?:\/\/[^\s]+/gm),this.addErrorMessage(m[0],urls)):(m=message.match(/^Google Maps.+error: (.+)\s+(http(s?):\/\/.+)/m))&&this.addErrorMessage(m[1].replace(/([A-Z])/g," $1"),[m[2]]))},WPGMZA.GoogleAPIErrorHandler.prototype.addErrorMessage=function(message,urls){var self=this;if(!this.messagesAlreadyDisplayed[message]){var li=this.templateListItem.clone(),buttonContainer=($(li).find(".wpgmza-message").html(message),$(li).find(".wpgmza-documentation-buttons")),buttonTemplate=$(li).find(".wpgmza-documentation-buttons>a");if(buttonTemplate.remove(),urls&&urls.length){for(var i=0;i<urls.length;i++){urls[i];var button=buttonTemplate.clone(),text=WPGMZA.localized_strings.documentation;button.attr("href",urls[i]),$(button).find("i").addClass("fa-external-link"),$(button).append(text)}buttonContainer.append(button)}$(this.errorMessageList).append(li),$("#wpgmza_map, .wpgmza_map").each(function(index,el){var container=$(el).find(".wpgmza-google-maps-api-error-overlay");0==container.length&&(container=$("<div class='wpgmza-google-maps-api-error-overlay'></div>")).html(self.element.html()),setTimeout(function(){$(el).append(container)},1e3)}),$(".gm-err-container").parent().css({"z-index":1}),this.messagesAlreadyDisplayed[message]=!0}},WPGMZA.googleAPIErrorHandler=new WPGMZA.GoogleAPIErrorHandler}),jQuery(function($){WPGMZA.InfoWindow=function(feature){var self=this;WPGMZA.EventDispatcher.call(this),WPGMZA.assertInstanceOf(this,"InfoWindow"),this.on("infowindowopen",function(event){self.onOpen(event)}),feature&&(this.feature=feature,this.state=WPGMZA.InfoWindow.STATE_CLOSED,feature.map?setTimeout(function(){self.onFeatureAdded(event)},100):feature.addEventListener("added",function(event){self.onFeatureAdded(event)}))},WPGMZA.InfoWindow.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.InfoWindow.prototype.constructor=WPGMZA.InfoWindow,WPGMZA.InfoWindow.OPEN_BY_CLICK=1,WPGMZA.InfoWindow.OPEN_BY_HOVER=2,WPGMZA.InfoWindow.STATE_OPEN="open",WPGMZA.InfoWindow.STATE_CLOSED="closed",WPGMZA.InfoWindow.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProInfoWindow:WPGMZA.GoogleInfoWindow:WPGMZA.isProVersion()?WPGMZA.OLProInfoWindow:WPGMZA.OLInfoWindow},WPGMZA.InfoWindow.createInstance=function(feature){return new(this.getConstructor())(feature)},Object.defineProperty(WPGMZA.InfoWindow.prototype,"content",{get:function(){return this.getContent()},set:function(value){this.contentHtml=value}}),WPGMZA.InfoWindow.prototype.addEditButton=function(){return"map-edit"==WPGMZA.currentPage&&this.feature instanceof WPGMZA.Marker?' <a title="Edit this marker" style="width:15px;" class="wpgmza_edit_btn" data-edit-marker-id="'+this.feature.id+'"><i class="fa fa-edit"></i></a>':""},WPGMZA.InfoWindow.prototype.workOutDistanceBetweenTwoMarkers=function(location1,location2){if(location1&&location2)return location1=WPGMZA.Distance.between(location1,location2),this.distanceUnits==WPGMZA.Distance.MILES&&(location1/=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(location1,2)},WPGMZA.InfoWindow.prototype.getContent=function(callback){var currentLatLng,html="",extra_html="";return this.feature instanceof WPGMZA.Marker&&(this.feature.map.settings.store_locator_show_distance&&this.feature.map.storeLocator&&this.feature.map.storeLocator.state==WPGMZA.StoreLocator.STATE_APPLIED&&(currentLatLng=this.feature.getPosition(),currentLatLng=this.workOutDistanceBetweenTwoMarkers(this.feature.map.storeLocator.center,currentLatLng),extra_html+="<p>"+(this.feature.map.settings.store_locator_distance==WPGMZA.Distance.KILOMETERS?currentLatLng+WPGMZA.localized_strings.kilometers_away:currentLatLng+" "+WPGMZA.localized_strings.miles_away)+"</p>"),html=this.feature.address+extra_html),this.contentHtml&&(html=this.contentHtml),callback&&callback(html),html},WPGMZA.InfoWindow.prototype.open=function(map,feature){return this.feature=feature,!WPGMZA.settings.disable_infowindows&&"1"!=WPGMZA.settings.wpgmza_settings_disable_infowindows&&(!this.feature.disableInfoWindow&&(this.state=WPGMZA.InfoWindow.STATE_OPEN,!0))},WPGMZA.InfoWindow.prototype.close=function(){this.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(this.state=WPGMZA.InfoWindow.STATE_CLOSED,this.trigger("infowindowclose"))},WPGMZA.InfoWindow.prototype.setContent=function(options){},WPGMZA.InfoWindow.prototype.setOptions=function(options){},WPGMZA.InfoWindow.prototype.onFeatureAdded=function(){1==this.feature.settings.infoopen&&this.open()},WPGMZA.InfoWindow.prototype.onOpen=function(){}}),jQuery(function($){"installer"==WPGMZA.currentPage&&(WPGMZA.Installer=function(){var defaultEngine,self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(document.body).find(".wpgmza-installer-steps"),this.skipButton=$(document.body).find(".wpgmza-installer-skip"),this.element.length<=0||(this.redirectUrl=this.element.data("redirect"),this.step=0,this.max=0,this.findMax(),$(this.element).on("click",".next-step-button",function(event){self.next()}),$(this.element).on("click",".prev-step-button",function(event){self.prev()}),$(this.element).on("click",".sub-step-trigger",function(event){self.triggerSubStep($(this))}),$(this.element).on("change",'input[name="wpgmza_maps_engine"]',function(event){self.setEngine($(this).val())}),$(this.element).on("keyup change",'input[name="api_key"]',function(event){self.setApiKey($(this).val())}),$(this.element).on("change",'select[name="tile_server_url"]',function(event){self.setTileServer($(this).val())}),$(this.element).on("click",".google-maps-auto-key-form-wrapper .wpgmza-button",function(event){self.getAutoKey()}),$(this.element).on("click",".launcher-trigger",function(event){var launcher=$(this).data("launcher");launcher&&"google-maps-quick-start-launcher"===launcher&&self.launchQuickStart()}),this.skipButton.on("click",function(event){event.preventDefault(),self.skip()}),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.engine?WPGMZA.settings.engine:"google-maps",$(this.element).find('input[name="wpgmza_maps_engine"][value="'+defaultEngine+'"]').prop("checked",!0).trigger("change"),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.googleMapsApiKey?WPGMZA.settings.googleMapsApiKey:"",this.element.find('input[name="api_key"]').val(defaultEngine).trigger("change"),this.trigger("init.installer.admin"),this.loadStep(this.step),this.checkAutoSkip())},WPGMZA.extend(WPGMZA.Installer,WPGMZA.EventDispatcher),WPGMZA.Installer.NODE_SERVER="https://wpgmaps.us-3.evennode.com/api/v1/",WPGMZA.Installer.createInstance=function(){return new WPGMZA.Installer},WPGMZA.Installer.prototype.findMax=function(){var self=this;$(this.element).find(".step").each(function(){parseInt($(this).data("step"))>self.max&&(self.max=parseInt($(this).data("step")))})},WPGMZA.Installer.prototype.prepareAddressFields=function(){$(this.element).find("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,null)})},WPGMZA.Installer.prototype.next=function(){this.step<this.max?this.loadStep(this.step+1):this.complete()},WPGMZA.Installer.prototype.prev=function(){0<this.step&&this.loadStep(this.step-1)},WPGMZA.Installer.prototype.loadStep=function(index){this.loadSubSteps(index),$(this.element).find(".step").removeClass("active"),$(this.element).find('.step[data-step="'+index+'"]').addClass("active"),this.step=index,0===this.step?$(this.element).find(".prev-step-button").addClass("wpgmza-hidden"):$(this.element).find(".prev-step-button").removeClass("wpgmza-hidden"),this.step===this.max?$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("final")):$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("next")),this.autoFocus(),this.applyStepConditionState(),$(window).scrollTop(0),this.trigger("step.installer.admin")},WPGMZA.Installer.prototype.loadSubSteps=function(index){const stepWrapper=$(this.element).find('.step[data-step="'+index+'"]');stepWrapper.find(".sub-step-container").length&&(stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step-container").removeClass("wpgmza-hidden"))},WPGMZA.Installer.prototype.triggerSubStep=function(context){const stepWrapper=$(this.element).find('.step[data-step="'+this.step+'"]');if(stepWrapper.find(".sub-step-container").length){context=context.data("sub-step");if(stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').length&&(stepWrapper.find(".sub-step-container").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').removeClass("wpgmza-hidden"),"google-maps-auto-key"===context))try{if(WPGMZA.getCurrentPosition(function(data){if(data.coords){data=data.coords;if($('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","Fetching..."),data.latitude&&data.longitude){const geocoder=WPGMZA.Geocoder.createInstance();geocoder.getAddressFromLatLng({latLng:new WPGMZA.LatLng({lat:data.latitude,lng:data.longitude})},function(address){$('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder",""),address&&$('.google-maps-auto-key-form-wrapper input[name="address"]').val(address)})}else $('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","")}}),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val().trim().length<=0){var domain=window.location.hostname;if("localhost"===domain)try{var paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(domain+="-"+paths[1])}catch(ex){}$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val(domain),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').attr("data-predicted-domain",domain)}}catch(ex){}}},WPGMZA.Installer.prototype.getActiveBlock=function(){return $(this.element).find('.step[data-step="'+this.step+'"]')},WPGMZA.Installer.prototype.autoFocus=function(){var block=this.getActiveBlock();block&&(0<block.find("input").length?block.find("input")[0].focus():0<block.find("select").length&&block.find("select")[0].focus())},WPGMZA.Installer.prototype.complete=function(){$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.saveOptions()},WPGMZA.Installer.prototype.getData=function(){var data={};return $(this.element).find(".step").each(function(){$(this).find("input,select").each(function(){var value,name=$(this).attr("name");name&&""!==name.trim()&&""!==(value=$(this).val()).trim()&&(data[name.trim()]=value.trim())})}),data},WPGMZA.Installer.prototype.setEngine=function(engine){this.engine=engine,$(this.element).attr("data-engine",engine)},WPGMZA.Installer.prototype.setApiKey=function(apiKey){this.apiKey=apiKey.trim(),this.applyStepConditionState()},WPGMZA.Installer.prototype.setTileServer=function(server){let previewLink=this.tileServer=server;previewLink=(previewLink=previewLink.replace("{a-c}","a")).replace("{z}/{x}/{y}","7/20/49"),$(this.element).find(".open_layers_sample_tile").attr("src",previewLink)},WPGMZA.Installer.prototype.applyStepConditionState=function(){const stepWrapper=this.getActiveBlock();var condition=stepWrapper.data("conditional");const continueButton=$(this.element).find(".next-step-button");!condition||this.hasSatisfiedStepCondition(condition)?continueButton.removeClass("wpgmza-hidden"):continueButton.addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.hasSatisfiedStepCondition=function(condition){let satisfied=!1;return satisfied="engine-set-up"===condition?!this.engine||"google-maps"!==this.engine||!!this.apiKey:satisfied},WPGMZA.Installer.prototype.getAutoKey=function(){return!1},WPGMZA.Installer.prototype.launchQuickStart=function(){const popupDimensions={width:570,height:700};popupDimensions.left=(screen.width-popupDimensions.width)/2,popupDimensions.top=(screen.height-popupDimensions.height)/2,$("#adminmenuwrap").length&&(popupDimensions.left+=$("#adminmenuwrap").width()/2);let attributes=[];attributes.push("resizable=yes"),attributes.push("width="+popupDimensions.width),attributes.push("height="+popupDimensions.height),attributes.push("left="+popupDimensions.left),attributes.push("top="+popupDimensions.top),attributes=attributes.join(","),window.open("https://console.cloud.google.com/google/maps-hosted","WP Go Maps - Create API Key",attributes)},WPGMZA.Installer.prototype.saveOptions=function(){const self=this;var formData=this.getData(),formData={action:"wpgmza_installer_page_save_options",nonce:this.element.attr("data-ajax-nonce"),wpgmza_maps_engine:this.engine,tile_server_url:formData.tile_server_url,api_key:formData.api_key};$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:formData,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},WPGMZA.Installer.prototype.hideAutoKeyError=function(){$(".auto-key-error").addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.showAutoKeyError=function(codeOrMsg){let message="";(message=-1===codeOrMsg.indexOf(" ")?$(".auto-key-error").data(codeOrMsg)||codeOrMsg:codeOrMsg).length?($(".auto-key-error").find(".notice").text(message),$(".auto-key-error").removeClass("wpgmza-hidden")):this.hideAutoKeyError()},WPGMZA.Installer.prototype.skip=function(){const self=this;$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.skipButton.addClass("wpgmza-hidden");var options={action:"wpgmza_installer_page_skip",nonce:this.element.attr("data-ajax-nonce")};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:options,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},WPGMZA.Installer.prototype.checkAutoSkip=function(){this.element.data("auto-skip")&&this.skip()},$(document).ready(function(event){WPGMZA.installer=WPGMZA.Installer.createInstance()}))}),jQuery(function($){WPGMZA.InternalEngine={LEGACY:"legacy",ATLAS_NOVUS:"atlast-novus",isLegacy:function(){return WPGMZA.settings.internalEngine===WPGMZA.InternalEngine.LEGACY},getEngine:function(){return WPGMZA.settings.internalEngine}}}),jQuery(function($){WPGMZA.InternalViewport=function(map){WPGMZA.EventDispatcher.apply(this),this.map=map,this.limits={},this.element=this.getContainer(),this.update(),$(window).on("resize",event=>{this.trigger("resize.internalviewport"),this.update()})},WPGMZA.extend(WPGMZA.InternalViewport,WPGMZA.EventDispatcher),WPGMZA.InternalViewport.RECT_TYPE_LARGE=0,WPGMZA.InternalViewport.RECT_TYPE_MEDIUM=1,WPGMZA.InternalViewport.RECT_TYPE_SMALL=2,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM=960,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL=760,WPGMZA.InternalViewport.createInstance=function(map){return new WPGMZA.InternalViewport(map)},WPGMZA.InternalViewport.prototype.getContainer=function(){return this.map&&this.map.element?this.map.element:document.body||!1},WPGMZA.InternalViewport.prototype.getRectType=function(){let type=WPGMZA.InternalViewport.RECT_TYPE_LARGE;return this.limits.container&&this.limits.container.width.value&&(this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL?type=WPGMZA.InternalViewport.RECT_TYPE_SMALL:this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM&&(type=WPGMZA.InternalViewport.RECT_TYPE_MEDIUM)),type},WPGMZA.InternalViewport.prototype.wrapMeasurement=function(value,suffix){return{value:value,suffix:suffix||"px"}},WPGMZA.InternalViewport.prototype.update=function(){this.trace(),this.localize(),this.addClass(),this.trigger("update.internalviewport")},WPGMZA.InternalViewport.prototype.trace=function(){this.traceLimits(),this.trigger("trace.internalviewport")},WPGMZA.InternalViewport.prototype.traceLimits=function(){this.limits={container:{},overlays:{},panels:{}},this.getContainer()&&(this.limits.container.width=this.wrapMeasurement(parseInt(this.map.element.offsetWidth)),this.limits.container.height=this.wrapMeasurement(parseInt(this.map.element.offsetHeight)),mode=this.getRectType(),this.limits.container.width&&(this.limits.overlays.max_width=this.wrapMeasurement(100*[.5,.7,1][mode],"%"),this.limits.panels.max_width=this.wrapMeasurement(100*[.3,.5,1][mode],"%")))},WPGMZA.InternalViewport.prototype.localize=function(){const localized={};for(var tag in this.limits)if(this.limits[tag])for(var name in this.limits[tag]){var prop=this.limits[tag][name];name=name.replaceAll("_","-"),name="--wpgmza--viewport-"+tag+"-"+name,localized[name]=prop.value+prop.suffix}var container=this.getContainer();container&&$(container).css(localized),this.trigger("localize.internalviewport")},WPGMZA.InternalViewport.prototype.addClass=function(){var mode,classes=["wpgmza-viewport-large","wpgmza-viewport-medium","wpgmza-viewport-small"],container=this.getContainer();container&&($(container).removeClass(classes),mode=this.getRectType(),$(container).addClass(classes[mode]))}}),jQuery(function($){WPGMZA.LatLng=function(arg,lng){if(this._lat=0,(this._lng=0)!=arguments.length)if(1==arguments.length){if("string"==typeof arg){var m;if(!(m=arg.match(WPGMZA.LatLng.REGEXP)))throw new Error("Invalid LatLng string");arg={lat:m[1],lng:m[3]}}if("object"!=typeof arg||!("lat"in arg&&"lng"in arg))throw new Error("Argument must be a LatLng literal");this.lat=arg.lat,this.lng=arg.lng}else this.lat=arg,this.lng=lng},WPGMZA.LatLng.REGEXP=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,WPGMZA.LatLng.isValid=function(obj){return"object"==typeof obj&&("lat"in obj&&"lng"in obj)},WPGMZA.LatLng.isLatLngString=function(str){return"string"==typeof str&&!!str.match(WPGMZA.LatLng.REGEXP)},Object.defineProperty(WPGMZA.LatLng.prototype,"lat",{get:function(){return this._lat},set:function(val){if(!WPGMZA.isNumeric(val))throw new Error("Latitude must be numeric");this._lat=parseFloat(val)}}),Object.defineProperty(WPGMZA.LatLng.prototype,"lng",{get:function(){return this._lng},set:function(val){if(!WPGMZA.isNumeric(val))throw new Error("Longitude must be numeric");this._lng=parseFloat(val)}}),WPGMZA.LatLng.fromString=function(string){if(!WPGMZA.LatLng.isLatLngString(string))throw new Error("Not a valid latlng string");string=string.match(WPGMZA.LatLng.REGEXP);return new WPGMZA.LatLng({lat:parseFloat(string[1]),lng:parseFloat(string[3])})},WPGMZA.LatLng.prototype.toString=function(){return this._lat+", "+this._lng},WPGMZA.LatLng.fromCurrentPosition=function(callback,options){options=options||{},callback&&WPGMZA.getCurrentPosition(function(position){var latLng=new WPGMZA.LatLng({lat:position.coords.latitude,lng:position.coords.longitude});options.geocodeAddress?WPGMZA.Geocoder.createInstance().getAddressFromLatLng({latLng:latLng},function(results){results.length&&(latLng.address=results[0]),callback(latLng)}):callback(latLng)})},WPGMZA.LatLng.fromGoogleLatLng=function(googleLatLng){return new WPGMZA.LatLng(googleLatLng.lat(),googleLatLng.lng())},WPGMZA.LatLng.toGoogleLatLngArray=function(arr){var result=[];return arr.forEach(function(nativeLatLng){if(!(nativeLatLng instanceof WPGMZA.LatLng||"lat"in nativeLatLng&&"lng"in nativeLatLng))throw new Error("Unexpected input");result.push(new google.maps.LatLng({lat:parseFloat(nativeLatLng.lat),lng:parseFloat(nativeLatLng.lng)}))}),result},WPGMZA.LatLng.prototype.toGoogleLatLng=function(){return new google.maps.LatLng({lat:this.lat,lng:this.lng})},WPGMZA.LatLng.prototype.toLatLngLiteral=function(){return{lat:this.lat,lng:this.lng}},WPGMZA.LatLng.prototype.moveByDistance=function(kilometers,heading){var kilometers=parseFloat(kilometers)/6371,heading=parseFloat(heading)/180*Math.PI,phi1=this.lat/180*Math.PI,lambda1=this.lng/180*Math.PI,sinPhi1=Math.sin(phi1),phi1=Math.cos(phi1),sinDelta=Math.sin(kilometers),kilometers=Math.cos(kilometers),sinTheta=Math.sin(heading),heading=sinPhi1*kilometers+phi1*sinDelta*Math.cos(heading),phi2=Math.asin(heading),lambda1=lambda1+Math.atan2(sinTheta*sinDelta*phi1,kilometers-sinPhi1*heading);this.lat=180*phi2/Math.PI,this.lng=180*lambda1/Math.PI},WPGMZA.LatLng.prototype.getGreatCircleDistance=function(arg1,arg2){var lat1=this.lat,lon1=this.lng;if(1==arguments.length)other=new WPGMZA.LatLng(arg1);else{if(2!=arguments.length)throw new Error("Invalid number of arguments");other=new WPGMZA.LatLng(arg1,arg2)}var lat2=other.lat,other=other.lng,phi1=lat1.toRadians(),phi2=lat2.toRadians(),lat2=(lat2-lat1).toRadians(),lat1=(other-lon1).toRadians(),other=Math.sin(lat2/2)*Math.sin(lat2/2)+Math.cos(phi1)*Math.cos(phi2)*Math.sin(lat1/2)*Math.sin(lat1/2);return 6371*(2*Math.atan2(Math.sqrt(other),Math.sqrt(1-other)))}}),jQuery(function($){WPGMZA.LatLngBounds=function(southWest,northEast){var other;southWest instanceof WPGMZA.LatLngBounds?(this.south=(other=southWest).south,this.north=other.north,this.west=other.west,this.east=other.east):southWest&&northEast&&(this.south=southWest.lat,this.north=northEast.lat,this.west=southWest.lng,this.east=northEast.lng)},WPGMZA.LatLngBounds.fromGoogleLatLngBounds=function(googleLatLngBounds){if(!(googleLatLngBounds instanceof google.maps.LatLngBounds))throw new Error("Argument must be an instance of google.maps.LatLngBounds");var result=new WPGMZA.LatLngBounds,southWest=googleLatLngBounds.getSouthWest(),googleLatLngBounds=googleLatLngBounds.getNorthEast();return result.north=googleLatLngBounds.lat(),result.south=southWest.lat(),result.west=southWest.lng(),result.east=googleLatLngBounds.lng(),result},WPGMZA.LatLngBounds.fromGoogleLatLngBoundsLiteral=function(obj){var result=new WPGMZA.LatLngBounds,southWest=obj.southwest,obj=obj.northeast;return result.north=obj.lat,result.south=southWest.lat,result.west=southWest.lng,result.east=obj.lng,result},WPGMZA.LatLngBounds.prototype.isInInitialState=function(){return null==this.north&&null==this.south&&null==this.west&&null==this.east},WPGMZA.LatLngBounds.prototype.extend=function(latLng){if(latLng instanceof WPGMZA.LatLng||(latLng=new WPGMZA.LatLng(latLng)),this.isInInitialState())return this.north=this.south=latLng.lat,void(this.west=this.east=latLng.lng);latLng.lat<this.north&&(this.north=latLng.lat),latLng.lat>this.south&&(this.south=latLng.lat),latLng.lng<this.west&&(this.west=latLng.lng),latLng.lng>this.east&&(this.east=latLng.lng)},WPGMZA.LatLngBounds.prototype.extendByPixelMargin=function(map,x,arg){var y=x;if(!(map instanceof WPGMZA.Map))throw new Error("First argument must be an instance of WPGMZA.Map");if(this.isInInitialState())throw new Error("Cannot extend by pixels in initial state");3<=arguments.length&&(y=arg);var southWest=new WPGMZA.LatLng(this.south,this.west),northEast=new WPGMZA.LatLng(this.north,this.east),southWest=map.latLngToPixels(southWest),northEast=map.latLngToPixels(northEast);southWest.x-=x,southWest.y+=y,northEast.x+=x,northEast.y-=y,southWest=map.pixelsToLatLng(southWest.x,southWest.y),northEast=map.pixelsToLatLng(northEast.x,northEast.y),this.toString();this.north=northEast.lat,this.south=southWest.lat,this.west=southWest.lng,this.east=northEast.lng},WPGMZA.LatLngBounds.prototype.contains=function(latLng){if(latLng instanceof WPGMZA.LatLng)return!(latLng.lat<Math.min(this.north,this.south))&&(!(latLng.lat>Math.max(this.north,this.south))&&(this.west<this.east?latLng.lng>=this.west&&latLng.lng<=this.east:latLng.lng<=this.west||latLng.lng>=this.east));throw new Error("Argument must be an instance of WPGMZA.LatLng")},WPGMZA.LatLngBounds.prototype.toString=function(){return this.north+"N "+this.south+"S "+this.west+"W "+this.east+"E"},WPGMZA.LatLngBounds.prototype.toLiteral=function(){return{north:this.north,south:this.south,west:this.west,east:this.east}}}),jQuery(function($){var key,legacyGlobals={marker_pull:"0",marker_array:[],MYMAP:[],infoWindow_poly:[],markerClusterer:[],heatmap:[],WPGM_Path:[],WPGM_Path_Polygon:[],WPGM_PathLine:[],WPGM_PathLineData:[],WPGM_PathData:[],original_iw:null,wpgmza_user_marker:null,wpgmaps_localize_marker_data:[],wpgmaps_localize_polygon_settings:[],wpgmaps_localize_heatmap_settings:[],wpgmaps_localize_polyline_settings:[],wpgmza_cirtcle_data_array:[],wpgmza_rectangle_data_array:[],wpgmzaForceLegacyMarkerClusterer:!1};for(key in legacyGlobals)!function(key){key in window?console.warn("Cannot redefine legacy global "+key):Object.defineProperty(window,key,{get:function(){return console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]},set:function(value){console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]=value}})}(key);WPGMZA.legacyGlobals=legacyGlobals,window.InitMap=window.resetLocations=window.searchLocations=window.fillInAddress=window.searchLocationsNear=function(){console.warn("This function is deprecated and should no longer be used")}}),jQuery(function($){WPGMZA.MapListPage=function(){$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")})},WPGMZA.MapListPage.createInstance=function(){return new WPGMZA.MapListPage},$(document).ready(function(event){WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_LIST&&(WPGMZA.mapListPage=WPGMZA.MapListPage.createInstance())})}),jQuery(function($){WPGMZA.MapSettings=function(element){var json,self=this,element=element.getAttribute("data-settings");try{json=JSON.parse(element)}catch(e){element=(element=element.replace(/\\%/g,"%")).replace(/\\\\"/g,'\\"');try{json=JSON.parse(element)}catch(e){json={},console.warn("Failed to parse map settings JSON")}}function addSettings(input){if(input)for(var key in input){var value;"other_settings"!=key&&(value=input[key],String(value).match(/^-?\d+$/)&&(value=parseInt(value)),self[key]=value)}}WPGMZA.assertInstanceOf(this,"MapSettings"),addSettings(WPGMZA.settings),addSettings(json),json&&json.other_settings&&addSettings(json.other_settings)},WPGMZA.MapSettings.prototype.toOLViewOptions=function(){var coords,self=this,options={center:ol.proj.fromLonLat([-119.4179,36.7783]),zoom:4};function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}return"string"==typeof this.start_location&&(coords=this.start_location.replace(/^\(|\)$/g,"").split(","),WPGMZA.isLatLngString(this.start_location)?options.center=ol.proj.fromLonLat([parseFloat(coords[1]),parseFloat(coords[0])]):console.warn("Invalid start location")),this.center&&(options.center=ol.proj.fromLonLat([parseFloat(this.center.lng),parseFloat(this.center.lat)])),empty("map_start_lat")||empty("map_start_lng")||(options.center=ol.proj.fromLonLat([parseFloat(this.map_start_lng),parseFloat(this.map_start_lat)])),this.zoom&&(options.zoom=parseInt(this.zoom)),this.start_zoom&&(options.zoom=parseInt(this.start_zoom)),this.map_start_zoom&&(options.zoom=parseInt(this.map_start_zoom)),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options},WPGMZA.MapSettings.prototype.toGoogleMapsOptions=function(){var self=this,latLngCoords=this.start_location&&this.start_location.length?this.start_location.split(","):[36.7783,-119.4179];function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}function formatCoord(coord){return WPGMZA.isNumeric(coord)?coord:parseFloat(String(coord).replace(/[\(\)\s]/,""))}var latLngCoords=new google.maps.LatLng(formatCoord(latLngCoords[0]),formatCoord(latLngCoords[1])),zoom=this.start_zoom?parseInt(this.start_zoom):4,options=(!this.start_zoom&&this.zoom&&(zoom=parseInt(this.zoom)),{zoom:zoom=this.map_start_zoom?parseInt(this.map_start_zoom):zoom,center:latLngCoords});function isSettingDisabled(value){return"yes"===value||!!value}switch(empty("center")||(options.center=new google.maps.LatLng({lat:parseFloat(this.center.lat),lng:parseFloat(this.center.lng)})),empty("map_start_lat")||empty("map_start_lng")||(options.center=new google.maps.LatLng({lat:parseFloat(this.map_start_lat),lng:parseFloat(this.map_start_lng)})),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options.zoomControl=!isSettingDisabled(this.wpgmza_settings_map_zoom),options.panControl=!isSettingDisabled(this.wpgmza_settings_map_pan),options.mapTypeControl=!isSettingDisabled(this.wpgmza_settings_map_type),options.streetViewControl=!isSettingDisabled(this.wpgmza_settings_map_streetview),options.fullscreenControl=!isSettingDisabled(this.wpgmza_settings_map_full_screen_control),options.draggable=!isSettingDisabled(this.wpgmza_settings_map_draggable),options.disableDoubleClickZoom=isSettingDisabled(this.wpgmza_settings_map_clickzoom),isSettingDisabled(this.wpgmza_settings_map_tilt_controls)&&(options.rotateControl=!1,options.tilt=0),this.wpgmza_settings_map_scroll&&(options.scrollwheel=!1),"greedy"==this.wpgmza_force_greedy_gestures||"yes"==this.wpgmza_force_greedy_gestures||1==this.wpgmza_force_greedy_gestures?(options.gestureHandling="greedy",!this.wpgmza_settings_map_scroll&&"scrollwheel"in options&&delete options.scrollwheel):options.gestureHandling="cooperative",parseInt(this.type)){case 2:options.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case 3:options.mapTypeId=google.maps.MapTypeId.HYBRID;break;case 4:options.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:options.mapTypeId=google.maps.MapTypeId.ROADMAP}return this.wpgmza_theme_data&&this.wpgmza_theme_data.length&&(options.styles=WPGMZA.GoogleMap.parseThemeData(this.wpgmza_theme_data)),options}}),jQuery(function($){WPGMZA.Map=function(element,options){var self=this;if(WPGMZA.assertInstanceOf(this,"Map"),WPGMZA.EventDispatcher.call(this),!(element instanceof HTMLElement||window.elementor))throw new Error("Argument must be a HTMLElement");if(element.hasAttribute("data-map-id")?this.id=element.getAttribute("data-map-id"):this.id=1,!/\d+/.test(this.id))throw new Error("Map ID must be an integer");if(WPGMZA.maps.push(this),this.element=element,this.element.wpgmzaMap=this,$(this.element).addClass("wpgmza-initialized"),this.engineElement=element,this.markers=[],this.polygons=[],this.polylines=[],this.circles=[],this.rectangles=[],this.pointlabels=[],WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code)return $(element).append($(WPGMZA.api_consent_html)),void $(element).css({height:"auto"});if(this.loadSettings(options),this.loadStyling(),this.shortcodeAttributes={},$(this.element).attr("data-shortcode-attributes"))try{this.shortcodeAttributes=JSON.parse($(this.element).attr("data-shortcode-attributes")),this.shortcodeAttributes.zoom&&(this.settings.map_start_zoom=parseInt(this.shortcodeAttributes.zoom))}catch(e){console.warn("Error parsing shortcode attributes")}this.innerStack=$(this.element).find(".wpgmza-inner-stack"),this.setDimensions(),this.setAlignment(),this.initInternalViewport(),this.markerFilter=WPGMZA.MarkerFilter.createInstance(this),this.on("init",function(event){self.onInit(event)}),this.on("click",function(event){self.onClick(event)}),$(document.body).on("fullscreenchange.wpgmza",function(event){var fullscreen=self.isFullScreen();self.onFullScreenChange(fullscreen)}),WPGMZA.useLegacyGlobals&&(wpgmzaLegacyGlobals.MYMAP[this.id]={map:null,bounds:null,mc:null},wpgmzaLegacyGlobals.MYMAP.init=wpgmzaLegacyGlobals.MYMAP[this.id].init=wpgmzaLegacyGlobals.MYMAP.placeMarkers=wpgmzaLegacyGlobals.MYMAP[this.id].placeMarkers=function(){console.warn("This function is deprecated and should no longer be used")})},WPGMZA.Map.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.Map.prototype.constructor=WPGMZA.Map,WPGMZA.Map.nightTimeThemeData=[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"landscape",elementType:"geometry.fill",stylers:[{color:"#575663"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#263c3f"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#6b9a76"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#38414e"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:"#212a37"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#9ca5b3"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#746855"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#80823e"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#1f2835"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#f3d19c"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#2f3948"}]},{featureType:"transit.station",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#17263c"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#1b737a"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#515c6d"}]},{featureType:"water",elementType:"labels.text.stroke",stylers:[{color:"#17263c"}]}],WPGMZA.Map.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMap:WPGMZA.GoogleMap:WPGMZA.isProVersion()?WPGMZA.OLProMap:WPGMZA.OLMap},WPGMZA.Map.createInstance=function(element,options){return new(WPGMZA.Map.getConstructor())(element,options)},Object.defineProperty(WPGMZA.Map.prototype,"markersPlaced",{get:function(){return this._markersPlaced},set:function(value){throw new Error("Value is read only")}}),Object.defineProperty(WPGMZA.Map.prototype,"lat",{get:function(){return this.getCenter().lat},set:function(value){var center=this.getCenter();center.lat=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"lng",{get:function(){return this.getCenter().lng},set:function(value){var center=this.getCenter();center.lng=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"zoom",{get:function(){return this.getZoom()},set:function(value){this.setZoom(value)}}),WPGMZA.Map.prototype.onInit=function(event){this.initPreloader(),0<this.innerStack.length&&$(this.element).append(this.innerStack),WPGMZA.getCurrentPage()!=WPGMZA.PAGE_MAP_EDIT&&this.initStoreLocator(),"autoFetchFeatures"in this.settings&&!1===this.settings.autoFetchFeatures||this.fetchFeatures()},WPGMZA.Map.prototype.initPreloader=function(){this.preloader=$(WPGMZA.preloaderHTML),$(this.preloader).hide(),$(this.element).append(this.preloader)},WPGMZA.Map.prototype.showPreloader=function(show){show?$(this.preloader).show():$(this.preloader).hide()},WPGMZA.Map.prototype.loadSettings=function(options){var settings=new WPGMZA.MapSettings(this.element);settings.other_settings;if(delete settings.other_settings,options)for(var key in options)settings[key]=options[key];this.settings=settings},WPGMZA.Map.prototype.loadStyling=function(){if(!WPGMZA.InternalEngine.isLegacy()){if(WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length)for(var name in WPGMZA.stylingSettings){var value;-1===name.indexOf("--")||(value=WPGMZA.stylingSettings[name])&&$(this.element).css(name,value)}var tileFilter;this.settings&&this.settings.wpgmza_ol_tile_filter&&((tileFilter=this.settings.wpgmza_ol_tile_filter.trim())&&$(this.element).css("--wpgmza-ol-tile-filter",tileFilter))}},WPGMZA.Map.prototype.initInternalViewport=function(){"1"!=WPGMZA.is_admin&&(this.internalViewport=WPGMZA.InternalViewport.createInstance(this))},WPGMZA.Map.prototype.initStoreLocator=function(){var i,selectors=[".wpgmza-store-locator[data-id='"+this.id+"']",".wpgmza-store-locator",".wpgmza_sl_main_div"];let storeLocatorElement=!1;for(i in selectors)0<$(selectors[i]).length&&!1===storeLocatorElement&&(storeLocatorElement=$(selectors[i]));storeLocatorElement.length&&(this.storeLocator=WPGMZA.StoreLocator.createInstance(this,storeLocatorElement[0]))},WPGMZA.Map.prototype.getFeatureArrays=function(){var arrays=WPGMZA.Map.prototype.getFeatureArrays.call(this);return arrays.heatmaps=this.heatmaps,arrays.imageoverlays=this.imageoverlays,arrays},WPGMZA.Map.prototype.setOptions=function(options){for(var name in options)this.settings[name]=options[name]},WPGMZA.Map.prototype.getRESTParameters=function(options){var defaults={};return options&&options.filter||(defaults.filter=JSON.stringify(this.markerFilter.getFilteringParameters())),$.extend(!0,defaults,options)},WPGMZA.Map.prototype.fetchFeaturesViaREST=function(){var data,offset,limit,self=this,filter=this.markerFilter.getFilteringParameters();"1"==WPGMZA.is_admin&&(filter.includeUnapproved=!0,filter.excludeIntegrated=!0),this.shortcodeAttributes.acf_post_id&&(filter.acfPostID=this.shortcodeAttributes.acf_post_id),this.showPreloader(!0),this.fetchFeaturesXhr&&this.fetchFeaturesXhr.abort(),WPGMZA.settings.fetchMarkersBatchSize&&WPGMZA.settings.enable_batch_loading?(offset=0,limit=parseInt(WPGMZA.settings.fetchMarkersBatchSize),function fetchNextBatch(){filter.offset=offset,filter.limit=limit,data=self.getRESTParameters({filter:JSON.stringify(filter)}),self.fetchFeaturesXhr=WPGMZA.restAPI.call("/markers/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){result.length?(self.onMarkersFetched(result,!0),offset+=limit,fetchNextBatch()):(self.onMarkersFetched(result),data.exclude="markers",WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))}})}()):(data=this.getRESTParameters({filter:JSON.stringify(filter)}),this.fetchFeaturesXhr=WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}};Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Map.getGeographicDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),lon2=deg2rad(lon2-lon1),lon1=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(lon2/2)*Math.sin(lon2/2);return 6371*(2*Math.atan2(Math.sqrt(lon1),Math.sqrt(1-lon1)))},WPGMZA.Map.prototype.setCenter=function(latLng){if(!("lat"in latLng&&"lng"in latLng))throw new Error("Argument is not an object with lat and lng")},WPGMZA.Map.prototype.setDimensions=function(width,height){0==arguments.length&&(width=this.settings.map_width||"100",this.settings.map_width_type?width+=this.settings.map_width_type.replace("\\",""):width+="%",height=this.settings.map_height||"400",this.settings.map_height_type?height+=this.settings.map_height_type.replace("\\",""):height+="px"),$(this.engineElement).css({width:width,height:height})},WPGMZA.Map.prototype.setAlignment=function(){switch(parseInt(this.settings.wpgmza_map_align)){case 1:case 2:$(this.element).addClass("wpgmza-auto-left");break;case 3:$(this.element).addClass("wpgmza-auto-right")}},WPGMZA.Map.prototype.addMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");marker.map=this,(marker.parent=this).markers.push(marker),this.dispatchEvent({type:"markeradded",marker:marker}),marker.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");if(marker.map!==this)throw new Error("Wrong map error");marker.infoWindow&&marker.infoWindow.close(),marker.map=null,marker.parent=null;var index=this.markers.indexOf(marker);if(-1==index)throw new Error("Marker not found in marker array");this.markers.splice(index,1),this.dispatchEvent({type:"markerremoved",marker:marker}),marker.dispatchEvent({type:"removed"})},WPGMZA.Map.prototype.removeAllMarkers=function(options){for(var i=this.markers.length-1;0<=i;i--)this.removeMarker(this.markers[i])},WPGMZA.Map.prototype.getMarkerByID=function(id){for(var i=0;i<this.markers.length;i++)if(this.markers[i].id==id)return this.markers[i];return null},WPGMZA.Map.prototype.getMarkerByTitle=function(title){if("string"==typeof title){for(var i=0;i<this.markers.length;i++)if(this.markers[i].title==title)return this.markers[i]}else{if(!(title instanceof RegExp))throw new Error("Invalid argument");for(i=0;i<this.markers.length;i++)if(title.test(this.markers[i].title))return this.markers[i]}return null},WPGMZA.Map.prototype.removeMarkerByID=function(id){id=this.getMarkerByID(id);id&&this.removeMarker(id)},WPGMZA.Map.prototype.addPolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");(polygon.map=this).polygons.push(polygon),this.dispatchEvent({type:"polygonadded",polygon:polygon}),polygon.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");if(polygon.map!==this)throw new Error("Wrong map error");polygon.map=null,this.polygons.splice(this.polygons.indexOf(polygon),1),this.dispatchEvent({type:"polygonremoved",polygon:polygon})},WPGMZA.Map.prototype.getPolygonByID=function(id){for(var i=0;i<this.polygons.length;i++)if(this.polygons[i].id==id)return this.polygons[i];return null},WPGMZA.Map.prototype.removePolygonByID=function(id){id=this.getPolygonByID(id);id&&this.removePolygon(id)},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.addPolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");(polyline.map=this).polylines.push(polyline),this.dispatchEvent({type:"polylineadded",polyline:polyline}),polyline.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");if(polyline.map!==this)throw new Error("Wrong map error");polyline.map=null,this.polylines.splice(this.polylines.indexOf(polyline),1),this.dispatchEvent({type:"polylineremoved",polyline:polyline})},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.removePolylineByID=function(id){id=this.getPolylineByID(id);id&&this.removePolyline(id)},WPGMZA.Map.prototype.addCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");(circle.map=this).circles.push(circle),this.dispatchEvent({type:"circleadded",circle:circle}),circle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");if(circle.map!==this)throw new Error("Wrong map error");circle.map=null,this.circles.splice(this.circles.indexOf(circle),1),this.dispatchEvent({type:"circleremoved",circle:circle})},WPGMZA.Map.prototype.getCircleByID=function(id){for(var i=0;i<this.circles.length;i++)if(this.circles[i].id==id)return this.circles[i];return null},WPGMZA.Map.prototype.removeCircleByID=function(id){id=this.getCircleByID(id);id&&this.removeCircle(id)},WPGMZA.Map.prototype.addRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");(rectangle.map=this).rectangles.push(rectangle),this.dispatchEvent({type:"rectangleadded",rectangle:rectangle}),rectangle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");if(rectangle.map!==this)throw new Error("Wrong map error");rectangle.map=null,this.rectangles.splice(this.rectangles.indexOf(rectangle),1),this.dispatchEvent({type:"rectangleremoved",rectangle:rectangle})},WPGMZA.Map.prototype.getRectangleByID=function(id){for(var i=0;i<this.rectangles.length;i++)if(this.rectangles[i].id==id)return this.rectangles[i];return null},WPGMZA.Map.prototype.removeRectangleByID=function(id){id=this.getRectangleByID(id);id&&this.removeRectangle(id)},WPGMZA.Map.prototype.addPointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");(pointlabel.map=this).pointlabels.push(pointlabel),this.dispatchEvent({type:"pointlabeladded",pointlabel:pointlabel})},WPGMZA.Map.prototype.removePointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");if(pointlabel.map!==this)throw new Error("Wrong map error");pointlabel.map=null,this.pointlabels.splice(this.pointlabels.indexOf(pointlabel),1),this.dispatchEvent({type:"pointlabelremoved",pointlabel:pointlabel})},WPGMZA.Map.prototype.getPointlabelByID=function(id){for(var i=0;i<this.pointlabels.length;i++)if(this.pointlabels[i].id==id)return this.pointlabels[i];return null},WPGMZA.Map.prototype.removePointlabelByID=function(id){id=this.getPointlabelByID(id);id&&this.removePointlabel(id)},WPGMZA.Map.prototype.resetBounds=function(){var latlng=new WPGMZA.LatLng(this.settings.map_start_lat,this.settings.map_start_lng);this.panTo(latlng),this.setZoom(this.settings.map_start_zoom)},WPGMZA.Map.prototype.nudge=function(x,y){x=this.nudgeLatLng(this.getCenter(),x,y);this.setCenter(x)},WPGMZA.Map.prototype.nudgeLatLng=function(latLng,x,y){latLng=this.latLngToPixels(latLng);if(latLng.x+=parseFloat(x),latLng.y+=parseFloat(y),isNaN(latLng.x)||isNaN(latLng.y))throw new Error("Invalid coordinates supplied");return this.pixelsToLatLng(latLng)},WPGMZA.Map.prototype.animateNudge=function(x,y,origin,milliseconds){if(origin){if(!(origin instanceof WPGMZA.LatLng))throw new Error("Origin must be an instance of WPGMZA.LatLng")}else origin=this.getCenter();origin=this.nudgeLatLng(origin,x,y),milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$(this).animate({lat:origin.lat,lng:origin.lng},milliseconds)},WPGMZA.Map.prototype.onWindowResize=function(event){},WPGMZA.Map.prototype.onElementResized=function(event){},WPGMZA.Map.prototype.onBoundsChanged=function(event){this.trigger("boundschanged"),this.trigger("bounds_changed")},WPGMZA.Map.prototype.onIdle=function(event){this.trigger("idle")},WPGMZA.Map.prototype.onClick=function(event){},WPGMZA.Map.prototype.onFullScreenChange=function(fullscreen){this.trigger("fullscreenchange.map"),fullscreen?$(this.element).addClass("is-fullscreen"):$(this.element).removeClass("is-fullscreen")},WPGMZA.Map.prototype.hasVisibleMarkers=function(){for(var marker,length=this.markers.length,i=0;i<length;i++)if((marker=this.markers[i]).isFilterable&&marker.getVisible())return!0;return!1},WPGMZA.Map.prototype.isFullScreen=function(){return!(!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.offsetHeight))},WPGMZA.Map.prototype.closeAllInfoWindows=function(){this.markers.forEach(function(marker){marker.infoWindow&&marker.infoWindow.close()})},WPGMZA.Map.prototype.openStreetView=function(options){},WPGMZA.Map.prototype.closeStreetView=function(options){},$(document).ready(function(event){var invisibleMaps;WPGMZA.visibilityWorkaroundIntervalID||(invisibleMaps=jQuery(".wpgmza_map:hidden"),WPGMZA.visibilityWorkaroundIntervalID=setInterval(function(){jQuery(invisibleMaps).each(function(index,el){var id;jQuery(el).is(":visible")&&(id=jQuery(el).attr("data-map-id"),WPGMZA.getMapByID(id).onElementResized(),invisibleMaps.splice(invisibleMaps.toArray().indexOf(el),1))})},1e3))})}),jQuery(function($){WPGMZA.MapsEngineDialog=function(element){var self=this;this.element=element,window.wpgmzaUnbindSaveReminder&&window.wpgmzaUnbindSaveReminder(),$(this.element).data("installer-link")?WPGMZA.initInstallerRedirect($(this.element).data("installer-link")):($(element).remodal().open(),$(element).show(),$(element).find("input:radio").on("change",function(event){$("#wpgmza-confirm-engine").prop("disabled",!1),$("#wpgmza-confirm-engine").click()}),$("#wpgmza-confirm-engine").on("click",function(event){self.onButtonClicked(event)}))},WPGMZA.MapsEngineDialog.prototype.onButtonClicked=function(event){$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_engine_dialog_set_engine",engine:$("[name='wpgmza_maps_engine']:checked").val(),nonce:$("#wpgmza-maps-engine-dialog").attr("data-ajax-nonce")},success:function(response,status,xhr){window.location.reload()}})},$(document).ready(function(event){var element=$("#wpgmza-maps-engine-dialog");!element.length||WPGMZA.settings.wpgmza_maps_engine_dialog_done||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.ignoreInstallerRedirect||(WPGMZA.mapsEngineDialog=new WPGMZA.MapsEngineDialog(element))})}),jQuery(function($){WPGMZA.MarkerFilter=function(map){WPGMZA.EventDispatcher.call(this),this.map=map},WPGMZA.MarkerFilter.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.MarkerFilter.prototype.constructor=WPGMZA.MarkerFilter,WPGMZA.MarkerFilter.createInstance=function(map){return new WPGMZA.MarkerFilter(map)},WPGMZA.MarkerFilter.prototype.getFilteringParameters=function(){var params={map_id:this.map.id};return params=this.map.storeLocator?$.extend(params,this.map.storeLocator.getFilteringParameters()):params},WPGMZA.MarkerFilter.prototype.update=function(params,source){var self=this;function dispatchEvent(result){var event=new WPGMZA.Event("filteringcomplete");event.map=self.map,event.source=source,event.filteredMarkers=result,event.filteringParams=params,self.onFilteringComplete(event),self.trigger(event),self.map.trigger(event)}this.updateTimeoutID||(params=params||{},this.xhr&&(this.xhr.abort(),delete this.xhr),this.updateTimeoutID=setTimeout(function(){if((params=$.extend(self.getFilteringParameters(),params)).center instanceof WPGMZA.LatLng&&(params.center=params.center.toLatLngLiteral()),params.hideAll)return dispatchEvent([]),void delete self.updateTimeoutID;self.map.showPreloader(!0),self.xhr=WPGMZA.restAPI.call("/markers",{data:{fields:["id"],filter:JSON.stringify(params)},success:function(result,status,xhr){self.map.showPreloader(!1),dispatchEvent(result)},useCompressedPathVariable:!0}),delete self.updateTimeoutID},0))},WPGMZA.MarkerFilter.prototype.onFilteringComplete=function(event){var map=[];event.filteredMarkers.forEach(function(data){map[data.id]=!0}),this.map.markers.forEach(function(marker){var allowByFilter;marker.isFilterable&&(allowByFilter=!!map[marker.id],marker.isFiltered=!allowByFilter,marker.setVisible(allowByFilter))})}}),jQuery(function($){WPGMZA.Marker=function(row){var self=this;this._offset={x:0,y:0},WPGMZA.assertInstanceOf(this,"Marker"),this.lat="36.778261",this.lng="-119.4179323999",this.address="California",this.title=null,this.description="",this.link="",this.icon="",this.approved=1,this.pic=null,this.isFilterable=!0,this.disableInfoWindow=!1,WPGMZA.Feature.apply(this,arguments),row&&row.heatmap||(row&&this.on("init",function(event){row.position&&this.setPosition(row.position),row.map&&row.map.addMarker(this)}),this.addEventListener("added",function(event){self.onAdded(event)}),this.handleLegacyGlobals(row))},WPGMZA.Marker.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Marker.prototype.constructor=WPGMZA.Marker,WPGMZA.Marker.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMarker:WPGMZA.GoogleMarker:WPGMZA.isProVersion()?WPGMZA.OLProMarker:WPGMZA.OLMarker},WPGMZA.Marker.createInstance=function(row){return new(WPGMZA.Marker.getConstructor())(row)},WPGMZA.Marker.ANIMATION_NONE="0",WPGMZA.Marker.ANIMATION_BOUNCE="1",WPGMZA.Marker.ANIMATION_DROP="2",Object.defineProperty(WPGMZA.Marker.prototype,"offsetX",{get:function(){return this._offset.x},set:function(value){this._offset.x=value,this.updateOffset()}}),Object.defineProperty(WPGMZA.Marker.prototype,"offsetY",{get:function(){return this._offset.y},set:function(value){this._offset.y=value,this.updateOffset()}}),WPGMZA.Marker.prototype.onAdded=function(event){var self=this;this.addEventListener("click",function(event){self.onClick(event)}),this.addEventListener("mouseover",function(event){self.onMouseOver(event)}),this.addEventListener("select",function(event){self.onSelect(event)}),this.map.settings.marker==this.id&&self.trigger("select"),"1"==this.infoopen&&(this._osDisableAutoPan=!0,this.openInfoWindow(!0))},WPGMZA.Marker.prototype.handleLegacyGlobals=function(row){var m;WPGMZA.settings.useLegacyGlobals&&this.map_id&&this.id&&(WPGMZA.pro_version&&(m=WPGMZA.pro_version.match(/\d+/))&&m[0]<=7||(WPGMZA.legacyGlobals.marker_array[this.map_id]||(WPGMZA.legacyGlobals.marker_array[this.map_id]=[]),WPGMZA.legacyGlobals.marker_array[this.map_id][this.id]=this,WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]||(WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]=[]),m=$.extend({marker_id:this.id},row),WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id][this.id]=m))},WPGMZA.Marker.prototype.initInfoWindow=function(){this.infoWindow||(this.infoWindow=WPGMZA.InfoWindow.createInstance())},WPGMZA.Marker.prototype.openInfoWindow=function(autoOpen){this.map?(autoOpen||(this.map.lastInteractedMarker&&this.map.lastInteractedMarker.infoWindow.close(),this.map.lastInteractedMarker=this),this.initInfoWindow(),this.infoWindow.open(this.map,this)):console.warn("Cannot open infowindow for marker with no map")},WPGMZA.Marker.prototype.onClick=function(event){},WPGMZA.Marker.prototype.onSelect=function(event){this.openInfoWindow()},WPGMZA.Marker.prototype.onMouseOver=function(event){WPGMZA.settings.wpgmza_settings_map_open_marker_by==WPGMZA.InfoWindow.OPEN_BY_HOVER&&this.openInfoWindow()},WPGMZA.Marker.prototype.getIcon=function(){function stripProtocol(url){return"string"!=typeof url?url:url.replace(/^http(s?):/,"")}return WPGMZA.defaultMarkerIcon?stripProtocol(WPGMZA.defaultMarkerIcon):stripProtocol(WPGMZA.settings.default_marker_icon)},WPGMZA.Marker.prototype.getPosition=function(){return new WPGMZA.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})},WPGMZA.Marker.prototype.setPosition=function(latLng){latLng instanceof WPGMZA.LatLng?(this.lat=latLng.lat,this.lng=latLng.lng):(this.lat=parseFloat(latLng.lat),this.lng=parseFloat(latLng.lng))},WPGMZA.Marker.prototype.setOffset=function(x,y){this._offset.x=x,this._offset.y=y,this.updateOffset()},WPGMZA.Marker.prototype.updateOffset=function(){},WPGMZA.Marker.prototype.getAnimation=function(){return this.anim},WPGMZA.Marker.prototype.setAnimation=function(animation){},WPGMZA.Marker.prototype.getVisible=function(){},WPGMZA.Marker.prototype.setVisible=function(visible){!visible&&this.infoWindow&&this.infoWindow.close()},WPGMZA.Marker.prototype.getMap=function(){return this.map},WPGMZA.Marker.prototype.setMap=function(map){map?map.addMarker(this):this.map&&this.map.removeMarker(this),this.map=map},WPGMZA.Marker.prototype.getDraggable=function(){},WPGMZA.Marker.prototype.setDraggable=function(draggable){},WPGMZA.Marker.prototype.setOptions=function(options){},WPGMZA.Marker.prototype.setOpacity=function(opacity){},WPGMZA.Marker.prototype.panIntoView=function(){if(!this.map)throw new Error("Marker hasn't been added to a map");this.map.setCenter(this.getPosition())},WPGMZA.Marker.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this),position=this.getPosition();return $.extend(result,{lat:position.lat,lng:position.lng,address:this.address,title:this.title,description:this.description,link:this.link,icon:this.icon,pic:this.pic,approved:this.approved}),result}}),jQuery(function($){WPGMZA.ModernStoreLocatorCircle=function(map_id,settings){var map=WPGMZA.isProVersion()?this.map=WPGMZA.getMapByID(map_id):this.map=WPGMZA.maps[0];this.map_id=map_id,this.mapElement=map.element,this.mapSize={width:$(this.mapElement).width(),height:$(this.mapElement).height()},this.initCanvasLayer(),this.settings={center:new WPGMZA.LatLng(0,0),radius:1,color:"#ff0000",shadowColor:"white",shadowBlur:4,centerRingRadius:10,centerRingLineWidth:3,numInnerRings:9,innerRingLineWidth:1,innerRingFade:!0,numOuterRings:7,ringLineWidth:1,mainRingLineWidth:2,numSpokes:6,spokesStartAngle:Math.PI/2,numRadiusLabels:6,radiusLabelsStartAngle:Math.PI/2,radiusLabelFont:"13px sans-serif",visible:!1},settings&&this.setOptions(settings)},WPGMZA.ModernStoreLocatorCircle.createInstance=function(map,settings){return new("google-maps"==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocatorCircle:WPGMZA.OLModernStoreLocatorCircle)(map,settings)},WPGMZA.ModernStoreLocatorCircle.prototype.initCanvasLayer=function(){},WPGMZA.ModernStoreLocatorCircle.prototype.onResize=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.onUpdate=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.setOptions=function(options){for(var name in options){var functionName="set"+name.substr(0,1).toUpperCase()+name.substr(1);"function"==typeof this[functionName]?this[functionName](options[name]):this.settings[name]=options[name]}},WPGMZA.ModernStoreLocatorCircle.prototype.getResolutionScale=function(){return window.devicePixelRatio||1},WPGMZA.ModernStoreLocatorCircle.prototype.getCenter=function(){return this.getPosition()},WPGMZA.ModernStoreLocatorCircle.prototype.setCenter=function(value){this.setPosition(value)},WPGMZA.ModernStoreLocatorCircle.prototype.getPosition=function(){return this.settings.center},WPGMZA.ModernStoreLocatorCircle.prototype.setPosition=function(position){this.settings.center=position},WPGMZA.ModernStoreLocatorCircle.prototype.getRadius=function(){return this.settings.radius},WPGMZA.ModernStoreLocatorCircle.prototype.setRadius=function(radius){if(isNaN(radius))throw new Error("Invalid radius");this.settings.radius=radius},WPGMZA.ModernStoreLocatorCircle.prototype.getVisible=function(){return this.settings.visible},WPGMZA.ModernStoreLocatorCircle.prototype.setVisible=function(visible){this.settings.visible=visible},WPGMZA.ModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getContext=function(type){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.validateSettings=function(){WPGMZA.isHexColorString(this.settings.color)||(this.settings.color="#ff0000")},WPGMZA.ModernStoreLocatorCircle.prototype.draw=function(){this.validateSettings();var settings=this.settings,canvasDimensions=this.getCanvasDimensions(),canvasWidth=canvasDimensions.width,canvasDimensions=canvasDimensions.height;this.map,this.getResolutionScale();if((context=this.getContext("2d")).clearRect(0,0,canvasWidth,canvasDimensions),settings.visible){context.shadowColor=settings.shadowColor,context.shadowBlur=settings.shadowBlur,context.setTransform(1,0,0,1,0,0);var end,scale=this.getScale(),canvasWidth=(context.scale(scale,scale),this.getWorldOriginOffset()),worldPoint=(context.translate(canvasWidth.x,canvasWidth.y),new WPGMZA.LatLng(this.settings.center),this.getCenterPixels()),rgba=WPGMZA.hexToRgba(settings.color),ringSpacing=this.getTransformedRadius(settings.radius)/(settings.numInnerRings+1),radius=(context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.centerRingRadius)/scale,0,2*Math.PI),context.stroke(),context.closePath(),this.getTransformedRadius(settings.radius)+ringSpacing*settings.numOuterRings+1),canvasDimensions=context.createRadialGradient(0,0,0,0,0,radius),rgba=WPGMZA.hexToRgba(settings.color),canvasWidth=WPGMZA.rgbaToString(rgba);rgba.a=0,end=WPGMZA.rgbaToString(rgba),canvasDimensions.addColorStop(0,canvasWidth),canvasDimensions.addColorStop(1,end),context.save(),context.translate(worldPoint.x,worldPoint.y),context.strokeStyle=canvasDimensions,context.lineWidth=2/scale;for(var i=0;i<settings.numSpokes;i++)spokeAngle=settings.spokesStartAngle+2*Math.PI*(i/settings.numSpokes),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.setLineDash([2/scale,15/scale]),context.beginPath(),context.moveTo(0,0),context.lineTo(x,y),context.stroke();context.setLineDash([]),context.restore(),context.lineWidth=1/scale*settings.innerRingLineWidth;for(i=1;i<=settings.numInnerRings;i++){radius=i*ringSpacing;settings.innerRingFade&&(rgba.a=1-(i-1)/settings.numInnerRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath()}context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.radius),0,2*Math.PI),context.stroke(),context.closePath();for(radius=radius+ringSpacing,i=0;i<settings.numOuterRings;i++)settings.innerRingFade&&(rgba.a=1-i/settings.numOuterRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath(),radius+=ringSpacing;if(0<settings.numRadiusLabels){var x,y,radius=this.getTransformedRadius(settings.radius);(canvasWidth=settings.radiusLabelFont.match(/(\d+)px/))&&parseInt(canvasWidth[1]),context.font=settings.radiusLabelFont,context.textAlign="center",context.textBaseline="middle",context.fillStyle=settings.color,context.save(),context.translate(worldPoint.x,worldPoint.y);for(i=0;i<settings.numRadiusLabels;i++){var spokeAngle,textAngle=(spokeAngle=settings.radiusLabelsStartAngle+2*Math.PI*(i/settings.numRadiusLabels))+Math.PI/2,text=settings.radiusString;0<Math.sin(spokeAngle)&&(textAngle-=Math.PI),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.save(),context.translate(x,y),context.rotate(textAngle),context.scale(1/scale,1/scale),textAngle=context.measureText(text).width,height=textAngle/2,context.clearRect(-textAngle,-height,2*textAngle,2*height),context.fillText(settings.radiusString,0,0),context.restore()}context.restore()}}}}),jQuery(function($){WPGMZA.ModernStoreLocator=function(map_id){var original,inner,addressInput,placeholder,container,titleSearch,numCategories,icons,self=this,map=WPGMZA.getMapByID(map_id);WPGMZA.assertInstanceOf(this,"ModernStoreLocator"),(original=(WPGMZA.isProVersion()?$(".wpgmza_sl_search_button[mid='"+map_id+"'], .wpgmza_sl_search_button_"+map_id):$(".wpgmza_sl_search_button")).closest(".wpgmza_sl_main_div")).length&&(this.element=$("<div class='wpgmza-modern-store-locator'><div class='wpgmza-inner wpgmza-modern-hover-opaque'/></div>")[0],inner=$(this.element).find(".wpgmza-inner"),addressInput=WPGMZA.isProVersion()?$(original).find(".addressInput"):$(original).find("#addressInput"),map.settings.store_locator_query_string&&map.settings.store_locator_query_string.length&&addressInput.attr("placeholder",map.settings.store_locator_query_string),inner.append(addressInput),(titleSearch=$(original).find("[id='nameInput_"+map_id+"']")).length&&((placeholder=map.settings.store_locator_name_string)&&placeholder.length&&titleSearch.attr("placeholder",placeholder),inner.append(titleSearch)),(placeholder=$(original).find("button.wpgmza-use-my-location"))&&inner.append(placeholder),$(addressInput).on("keydown keypress",function(event){13==event.keyCode&&self.searchButton.is(":visible")&&self.searchButton.trigger("click")}),$(addressInput).on("input",function(event){self.searchButton.show(),self.resetButton.hide()}),inner.append($(original).find("select.wpgmza_sl_radius_select")),this.searchButton=$(original).find(".wpgmza_sl_search_button, .wpgmza_sl_search_button_div"),inner.append(this.searchButton),this.resetButton=$(original).find(".wpgmza_sl_reset_button_div"),inner.append(this.resetButton),this.resetButton.on("click",function(event){resetLocations(map_id)}),this.resetButton.hide(),WPGMZA.isProVersion()&&(this.searchButton.on("click",function(event){0!=$("addressInput_"+map_id).val()&&(self.searchButton.hide(),self.resetButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_APPLIED)}),this.resetButton.on("click",function(event){self.resetButton.hide(),self.searchButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_INITIAL})),inner.append($("#wpgmza_distance_type_"+map_id)),container=$(original).find(".wpgmza_cat_checkbox_holder"),$(container).children("ul"),titleSearch=$(container).find("li"),numCategories=0,icons=[],titleSearch.each(function(index,el){var category_id,id=$(el).attr("class").match(/\d+/);for(category_id in wpgmza_category_data)if(id==category_id){var src=wpgmza_category_data[category_id].image,icon=$('<div class="wpgmza-chip-icon"/>');icon.css({"background-image":"url('"+src+"')",width:$("#wpgmza_cat_checkbox_"+category_id+" + label").height()+"px"}),icons.push(icon),null!=src&&""!=src&&$("#wpgmza_cat_checkbox_"+category_id+" + label").prepend(icon),numCategories++;break}}),$(this.element).append(container),numCategories&&(this.optionsButton=$('<span class="wpgmza_store_locator_options_button"><i class="fa fa-list"></i></span>'),$(this.searchButton).before(this.optionsButton)),setInterval(function(){icons.forEach(function(icon){var height=$(icon).height();$(icon).css({width:height+"px"}),$(icon).closest("label").css({"padding-left":height+8+"px"})}),$(container).css("width",$(self.element).find(".wpgmza-inner").outerWidth()+"px")},1e3),$(this.element).find(".wpgmza_store_locator_options_button").on("click",function(event){container.hasClass("wpgmza-open")?container.removeClass("wpgmza-open"):container.addClass("wpgmza-open")}),$(original).remove(),$(this.element).find("input, select").on("focus",function(){$(inner).addClass("active")}),$(this.element).find("input, select").on("blur",function(){$(inner).removeClass("active")}),$(this.element).on("mouseover","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseOverCategory(event)}),$(this.element).on("mouseleave","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseLeaveCategory(event)}),$("body").on("click",".wpgmza_store_locator_options_button",function(event){setTimeout(function(){var p_cat,$p_map;$(".wpgmza_cat_checkbox_holder").hasClass("wpgmza-open")&&(p_cat=(p_cat=$(".wpgmza_cat_checkbox_holder")).position().top+p_cat.outerHeight(!0)+$(".wpgmza-modern-store-locator").height(),($p_map=$(".wpgmza_map")).position().top+$p_map.outerHeight(!0)<=p_cat&&($(".wpgmza_cat_ul").css("overflow","scroll "),$(".wpgmza_cat_ul").css("height","100%"),$(".wpgmza-modern-store-locator").css("height","100%"),$(".wpgmza_cat_checkbox_holder.wpgmza-open").css({"padding-bottom":"50px",height:"100%"})))},500)}))},WPGMZA.ModernStoreLocator.createInstance=function(map_id){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocator:WPGMZA.OLModernStoreLocator)(map_id)},WPGMZA.ModernStoreLocator.prototype.onMouseOverCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeIn()},WPGMZA.ModernStoreLocator.prototype.onMouseLeaveCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeOut()}}),jQuery(function($){WPGMZA.NativeMapsAppIcon=function(){navigator.userAgent.match(/^Apple|iPhone|iPad|iPod/)?(this.type="apple",this.element=$('<span><i class="fab fa fa-apple" aria-hidden="true"></i></span>')):(this.type="google",this.element=$('<span><i class="fab fa fa-google" aria-hidden="true"></i></span>'))}}),jQuery(function($){WPGMZA.PersistentAdminNotice=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dismissButton=this.element.find(".notice-dismiss"),this.ajaxActionButton=this.element.find("a[data-ajax]"),this.bindEvents()},WPGMZA.extend(WPGMZA.PersistentAdminNotice,WPGMZA.EventDispatcher),WPGMZA.PersistentAdminNotice.createInstance=function(element){return new WPGMZA.PersistentAdminNotice(element)},WPGMZA.PersistentAdminNotice.prototype.bindEvents=function(){let self=this;this.dismissButton.on("click",function(event){self.onDismiss($(this))}),this.ajaxActionButton.on("click",function(event){event.preventDefault(),self.onAjaxAction($(this))})},WPGMZA.PersistentAdminNotice.prototype.onDismiss=function(item){var data={action:"wpgmza_dismiss_persistent_notice",slug:this.element.data("slug"),wpgmza_security:WPGMZA.ajaxnonce};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:data,success:function(response,status,xhr){},error:function(){}})},WPGMZA.PersistentAdminNotice.prototype.onAjaxAction=function(item){var action;item.data("disabled")||(action=item.data("ajax-action"),item.attr("data-disabled","true"),item.css("opacity","0.5"),action&&(item={action:"wpgmza_persisten_notice_quick_action",relay:action,wpgmza_security:WPGMZA.ajaxnonce},$.ajax(WPGMZA.ajaxurl,{method:"POST",data:item,success:function(response){window.location.reload()},error:function(){}})))},$(document.body).ready(function(){$(".wpgmza-persistent-notice").each(function(index,el){el.wpgmzaPersistentAdminNotice=WPGMZA.PersistentAdminNotice.createInstance(el)})})}),jQuery(function($){WPGMZA.Pointlabel=function(options,pointlabel){var map;WPGMZA.assertInstanceOf(this,"Pointlabel"),(options=options||{}).map?this.map=options.map:!options.map&&options.map_id&&(map=WPGMZA.getMapByID(options.map_id))&&(this.map=map),this.center=new WPGMZA.LatLng,WPGMZA.Feature.apply(this,arguments),pointlabel&&(this.setPosition(pointlabel.getPosition()),pointlabel.marker&&(this.marker=pointlabel.marker))},WPGMZA.Pointlabel.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Pointlabel.prototype.constructor=WPGMZA.Pointlabel,Object.defineProperty(WPGMZA.Pointlabel.prototype,"map",{enumerable:!0,get:function(){return this._map||null},set:function(a){this.textFeature&&!a&&this.textFeature.remove(),this._map=a}}),WPGMZA.Pointlabel.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPointlabel:WPGMZA.GooglePointlabel:WPGMZA.isProVersion()?WPGMZA.OLProPointlabel:WPGMZA.OLPointlabel},WPGMZA.Pointlabel.createInstance=function(options,pointlabel){return new(WPGMZA.Pointlabel.getConstructor())(options,pointlabel)},WPGMZA.Pointlabel.createEditableMarker=function(options){function callback(){try{marker.setIcon(WPGMZA.labelpointIcon)}catch(ex){}marker.off("added",callback)}(options=$.extend({draggable:!0,disableInfoWindow:!0},options)).pointlabel&&(latLng=options.pointlabel.getPosition(),options.lat=latLng.lat,options.lng=latLng.lng);var latLng,marker=WPGMZA.Marker.createInstance(options);return marker.on("added",callback),marker},WPGMZA.Pointlabel.prototype.setEditable=function(editable){var self=this;this.marker&&(this.marker.map.removeMarker(this.marker),delete this.marker),this._prevMap&&delete this._prevMap,editable&&(this.marker=WPGMZA.Pointlabel.createEditableMarker({pointlabel:this}),this.map.addMarker(this.marker),this._dragEndCallback=function(event){self.onDragEnd(event)},editable=this.map,this.marker.on("dragend",this._dragEndCallback),editable.on("pointlabelremoved",function(event){event.pointlabel}))},WPGMZA.Pointlabel.prototype.onDragEnd=function(event){event.target instanceof WPGMZA.Marker&&this.marker&&(event.latLng&&this.setPosition(event.latLng),this.trigger("change"))},WPGMZA.Pointlabel.prototype.onMapMouseDown=function(event){if(0==event.button)return this._mouseDown=!0,event.preventDefault(),!1},WPGMZA.Pointlabel.prototype.onWindowMouseUp=function(event){0==event.button&&(this._mouseDown=!1)},WPGMZA.Pointlabel.prototype.onMapMouseMove=function(event){this._mouseDown&&(event={x:event.pageX-$(this.map.element).offset().left,y:event.pageY+30-$(this.map.element).offset().top},(event=this.map.pixelsToLatLng(event))&&this.setPosition(event),this.trigger("change"))},WPGMZA.Pointlabel.prototype.getPosition=function(){return this.center?new WPGMZA.LatLng({lat:this.center.lat,lng:this.center.lng}):null},WPGMZA.Pointlabel.prototype.setPosition=function(position){this.center={},this.center.lat=position.lat,this.center.lng=position.lng,this.textFeature&&this.textFeature.setPosition(this.getPosition())},WPGMZA.Pointlabel.prototype.getMap=function(){return this.map},WPGMZA.Pointlabel.prototype.setMap=function(map){this.map&&this.map.removePointlabel(this),map&&map.addPointlabel(this)}}),jQuery(function($){Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(begin,end){return new Uint8Array(Array.prototype.slice.call(this,begin,end))}}),WPGMZA.isSafari()&&!window.external&&(window.external={})}),jQuery(function($){WPGMZA.Polygon=function(row,enginePolygon){var self=this;WPGMZA.assertInstanceOf(this,"Polygon"),this.paths=null,WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polygon.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polygon.prototype.constructor=WPGMZA.Polygon,Object.defineProperty(WPGMZA.Polygon.prototype,"fillColor",{enumerable:!0,get:function(){return this.fillcolor&&this.fillcolor.length?"#"+this.fillcolor.replace(/^#/,""):"#ff0000"},set:function(a){this.fillcolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineopacity&&this.lineopacity.length?this.lineopacity:.6},set:function(a){this.lineopacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):3}}),WPGMZA.Polygon.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPolygon:WPGMZA.GooglePolygon:WPGMZA.isProVersion()?WPGMZA.OLProPolygon:WPGMZA.OLPolygon},WPGMZA.Polygon.createInstance=function(row,engineObject){return new(WPGMZA.Polygon.getConstructor())(row,engineObject)},WPGMZA.Polygon.prototype.onAdded=function(){}}),jQuery(function($){WPGMZA.Polyline=function(options,googlePolyline){var self=this;WPGMZA.assertInstanceOf(this,"Polyline"),WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polyline.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polyline.prototype.constructor=WPGMZA.Polyline,Object.defineProperty(WPGMZA.Polyline.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):1},set:function(a){this.linethickness=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"layergroup",{enumerable:!0,get:function(){return this._layergroup||0},set:function(value){parseInt(value)&&(this._layergroup=parseInt(value)+WPGMZA.Shape.BASE_LAYER_INDEX)}}),WPGMZA.Polyline.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GooglePolyline:WPGMZA.OLPolyline},WPGMZA.Polyline.createInstance=function(options,engineObject){return new(WPGMZA.Polyline.getConstructor())(options,engineObject)},WPGMZA.Polyline.prototype.getPoints=function(){return this.toJSON().points},WPGMZA.Polyline.prototype.onAdded=function(){this.layergroup&&this.setLayergroup(this.layergroup)},WPGMZA.Polyline.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this);return result.title=this.title,result},WPGMZA.Polyline.prototype.setLayergroup=function(layergroup){this.layergroup=layergroup,this.layergroup&&this.setOptions({zIndex:this.layergroup})}}),jQuery(function($){WPGMZA.PopoutPanel=function(element){this.element=element},WPGMZA.PopoutPanel.prototype.open=function(){$(this.element).addClass("wpgmza-open")},WPGMZA.PopoutPanel.prototype.close=function(){$(this.element).removeClass("wpgmza-open")}}),jQuery(function($){function sendAJAXFallbackRequest(route,params){if((params=$.extend({},params)).data||(params.data={}),"route"in params.data)throw new Error("Cannot send route through this method");if("action"in params.data)throw new Error("Cannot send action through this method");return params.data.route=route,params.data.action="wpgmza_rest_api_request",WPGMZA.restAPI.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_AJAX),$.ajax(WPGMZA.ajaxurl,params)}WPGMZA.RestAPI=function(){WPGMZA.RestAPI.URL=WPGMZA.resturl,this.useAJAXFallback=!1,$(document.body).trigger("init.restapi.wpgmza")},WPGMZA.RestAPI.CONTEXT_REST="REST",WPGMZA.RestAPI.CONTEXT_AJAX="AJAX",WPGMZA.RestAPI.createInstance=function(){return new WPGMZA.RestAPI},Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableSupported",{get:function(){return WPGMZA.serverCanInflate&&"Uint8Array"in window&&"TextEncoder"in window}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableAllowed",{get:function(){return!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?!WPGMZA.settings.disable_compressed_path_variables:WPGMZA.settings.enable_compressed_path_variables}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"maxURLLength",{get:function(){return 2083}}),WPGMZA.RestAPI.prototype.compressParams=function(params){var suffix="",string=(!params.markerIDs||1<(markerIDs=params.markerIDs.split(",")).length&&(markerIDs=(new WPGMZA.EliasFano).encode(markerIDs),compressed=pako.deflate(markerIDs),string=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join(""),suffix="/"+btoa(string).replace(/\//g,"-").replace(/=+$/,""),params.midcbp=markerIDs.pointer,delete params.markerIDs),JSON.stringify(params)),markerIDs=(new TextEncoder).encode(string),compressed=pako.deflate(markerIDs),params=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join("");return btoa(params).replace(/\//g,"-").replace(/=+$/,"")+suffix},WPGMZA.RestAPI.prototype.getNonce=function(route){var pattern,matches=[];for(pattern in WPGMZA.restnoncetable){var regex=new RegExp(pattern);route.match(regex)&&matches.push({pattern:pattern,nonce:WPGMZA.restnoncetable[pattern],length:pattern.length})}if(matches.length)return matches.sort(function(a,b){return b.length-a.length}),matches[0].nonce;throw new Error("No nonce found for route")},WPGMZA.RestAPI.prototype.addNonce=function(route,params,context){function setRESTNonce(xhr){context==WPGMZA.RestAPI.CONTEXT_REST&&self.shouldAddNonce(route)&&xhr.setRequestHeader("X-WP-Nonce",WPGMZA.restnonce),params&&params.method&&!params.method.match(/^GET$/i)&&xhr.setRequestHeader("X-WPGMZA-Action-Nonce",self.getNonce(route))}var base,self=this;params.beforeSend?(base=params.beforeSend,params.beforeSend=function(xhr){base(xhr),setRESTNonce(xhr)}):params.beforeSend=setRESTNonce},WPGMZA.RestAPI.prototype.shouldAddNonce=function(route){route=route.replace(/\//g,"");var isAdmin=!1;WPGMZA.is_admin&&1===parseInt(WPGMZA.is_admin)&&(isAdmin=!0);return!(route&&["markers","features","marker-listing","datatables"].includes(route)&&!isAdmin)},WPGMZA.RestAPI.prototype.call=function(route,params){if(this.useAJAXFallback)return sendAJAXFallbackRequest(route,params);var compressedParams,data,attemptedCompressedPathVariable=!1,fallbackRoute=route,fallbackParams=$.extend({},params);if("string"!=typeof route||!route.match(/^\//)&&!route.match(/^http/))throw new Error("Invalid route");WPGMZA.RestAPI.URL.match(/\/$/)&&(route=route.replace(/^\//,"")),params=params||{},this.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_REST),params.error||(params.error=function(xhr,status,message){if("abort"!=status){switch(xhr.status){case 401:case 403:case 405:return($.post(WPGMZA.ajaxurl,{action:"wpgmza_report_rest_api_blocked"},function(response){}),console.warn("The REST API was blocked. This is usually due to security plugins blocking REST requests for non-authenticated users."),"DELETE"===params.method)?(console.warn("The REST API rejected a DELETE request, attempting again with POST fallback"),params.method="POST",params.data||(params.data={}),params.data.simulateDelete="yes",WPGMZA.restAPI.call(route,params)):(this.useAJAXFallback=!0,sendAJAXFallbackRequest(fallbackRoute,fallbackParams));case 414:if(attemptedCompressedPathVariable)return fallbackParams.method="POST",fallbackParams.useCompressedPathVariable=!1,WPGMZA.restAPI.call(fallbackRoute,fallbackParams)}throw new Error(message)}}),params.useCompressedPathVariable&&this.isCompressedPathVariableSupported&&this.isCompressedPathVariableAllowed&&(compressedParams=$.extend({},params),data=params.data,data=this.compressParams(data),WPGMZA.isServerIIS&&(data=data.replace(/\+/g,"%20")),data=route.replace(/\/$/,"")+"/base64"+data,WPGMZA.RestAPI.URL,compressedParams.method="GET",delete compressedParams.data,!1===params.cache&&(compressedParams.data={skip_cache:1}),data.length<this.maxURLLength?(attemptedCompressedPathVariable=!0,route=data,params=compressedParams):(WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed||console.warn("Compressed path variable route would exceed URL length limit"),WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed=!0));var onSuccess=null;return params.success&&(onSuccess=params.success),params.success=function(result,status,xhr){if("object"!=typeof result){var rawResult=result;try{result=JSON.parse(result)}catch(parseExc){result=rawResult}}onSuccess&&"function"==typeof onSuccess&&onSuccess(result,status,xhr)},WPGMZA.RestAPI.URL.match(/\?/)&&(route=route.replace(/\?/,"&")),$.ajax(WPGMZA.RestAPI.URL+route,params)};var nativeCallFunction=WPGMZA.RestAPI.call;WPGMZA.RestAPI.call=function(){console.warn("WPGMZA.RestAPI.call was called statically, did you mean to call the function on WPGMZA.restAPI?"),nativeCallFunction.apply(this,arguments)},$(document.body).on("click","#wpgmza-rest-api-blocked button.notice-dismiss",function(event){WPGMZA.restAPI.call("/rest-api/",{method:"POST",data:{dismiss_blocked_notice:!0}})})});var $_GET={};if(-1!==document.location.toString().indexOf("?"))for(var query=document.location.toString().replace(/^.*?\?/,"").replace(/#.*$/,"").split("&"),wpgmza_i=0,wpgmza_l=query.length;wpgmza_i<wpgmza_l;wpgmza_i++){var aux=decodeURIComponent(query[wpgmza_i]).split("=");$_GET[aux[0]]=aux[1]}jQuery(function($){WPGMZA.SettingsPage=function(){var self=this;this._keypressHistory=[],this._codemirrors={},this.updateEngineSpecificControls(),this.updateStorageControls(),this.updateBatchControls(),this.updateGDPRControls(),this.updateWooControls(),$(window).on("keypress",function(event){self.onKeyPress(event)}),jQuery("body").on("click",".wpgmza_destroy_data",function(e){e.preventDefault();var ttype=jQuery(this).attr("danger"),e="wpgmza_destroy_all_data"==ttype?"Are you sure? This will delete ALL data and settings for WP Go Maps!":"Are you sure?";window.confirm(e)&&jQuery.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_settings_danger_zone_delete_data",type:ttype,nonce:wpgmza_dz_nonce},success:function(response,status,xhr){"wpgmza_destroy_all_data"==ttype?window.location.replace("admin.php?page=wp-google-maps-menu&action=welcome_page"):"wpgmza_reset_all_settings"==ttype?window.location.reload():alert("Complete.")}})}),$("select[name='wpgmza_maps_engine']").on("change",function(event){self.updateEngineSpecificControls()}),$('[name="wpgmza_settings_marker_pull"]').on("click",function(event){self.updateStorageControls()}),$('input[name="enable_batch_loading"]').on("change",function(event){self.updateBatchControls()}),$("input[name='wpgmza_gdpr_require_consent_before_load'], input[name='wpgmza_gdpr_require_consent_before_vgm_submit'], input[name='wpgmza_gdpr_override_notice']").on("change",function(event){self.updateGDPRControls()}),$('input[name="woo_checkout_map_enabled"]').on("change",function(event){self.updateWooControls()}),$('select[name="tile_server_url"]').on("change",function(event){"custom_override"===$('select[name="tile_server_url"]').val()?$(".wpgmza_tile_server_override_component").removeClass("wpgmza-hidden"):$(".wpgmza_tile_server_override_component").addClass("wpgmza-hidden")}),$('select[name="tile_server_url"]').trigger("change"),jQuery("#wpgmza_flush_cache_btn").on("click",function(){jQuery(this).attr("disabled","disabled"),WPGMZA.settingsPage.flushGeocodeCache()}),$("#wpgmza-global-settings").tabs({create:function(event,ui){var elmnt,y;void 0!==$_GET.highlight&&((elmnt=document.getElementById($_GET.highlight)).classList.add("highlight-item"),setTimeout(function(){elmnt.classList.add("highlight-item-step-2")},1e3),y=elmnt.getBoundingClientRect().top+window.pageYOffset+-100,window.scrollTo({top:y,behavior:"smooth"}))},activate:function(){for(var i in self._codemirrors)self._codemirrors[i].refresh()}}),$("#wpgmza-global-setting").on("create",function(event,ui){}),$("#wpgmza-global-settings fieldset").each(function(index,el){$(el).children(":not(legend)").wrapAll("<span class='settings-group'></span>")}),$("textarea[name^='wpgmza_custom_']").each(function(){var name=$(this).attr("name"),type="js"===name.replace("wpgmza_custom_","")?"javascript":"css";self._codemirrors[name]=wp.CodeMirror.fromTextArea(this,{lineNumbers:!0,mode:type,theme:"wpgmza"}),self._codemirrors[name].on("change",function(instance){instance.save()}),self._codemirrors[name].refresh()}),$(".wpgmza-integration-tool-button").on("click",function(event){event.preventDefault();event=$(this).data("tool-type");if(event){event={type:event};const button=$(this);button.attr("disabled","disabled"),WPGMZA.restAPI.call("/integration-tools/",{method:"POST",data:event,success:function(data,status,xhr){if(button.removeAttr("disabled"),data&&data.type)switch(data.type){case"test_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').addClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').removeClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;case"resolve_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').removeClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').addClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;default:data.message&&window.alert(data.message)}}})}})},WPGMZA.SettingsPage.createInstance=function(){return new WPGMZA.SettingsPage},WPGMZA.SettingsPage.prototype.updateEngineSpecificControls=function(){var engine=$("select[name='wpgmza_maps_engine']").val();$("[data-required-maps-engine][data-required-maps-engine!='"+engine+"']").hide(),$("[data-required-maps-engine='"+engine+"']").show()},WPGMZA.SettingsPage.prototype.updateStorageControls=function(){$("input[name='wpgmza_settings_marker_pull'][value='1']").is(":checked")?$("#xml-cache-settings").show():$("#xml-cache-settings").hide()},WPGMZA.SettingsPage.prototype.updateBatchControls=function(){$("input[name='enable_batch_loading']").is(":checked")?$("#batch-loader-settings").show():$("#batch-loader-settings").hide()},WPGMZA.SettingsPage.prototype.updateGDPRControls=function(){var showNoticeControls=$("input[name='wpgmza_gdpr_require_consent_before_load']").prop("checked"),vgmCheckbox=$("input[name='wpgmza_gdpr_require_consent_before_vgm_submit']"),vgmCheckbox=(showNoticeControls=vgmCheckbox.length?showNoticeControls||vgmCheckbox.prop("checked"):showNoticeControls)&&$("input[name='wpgmza_gdpr_override_notice']").prop("checked");showNoticeControls?$("#wpgmza-gdpr-compliance-notice").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza-gdpr-compliance-notice").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow"),vgmCheckbox?$("#wpgmza_gdpr_override_notice_text").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza_gdpr_override_notice_text").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow")},WPGMZA.SettingsPage.prototype.updateWooControls=function(){$("input[name='woo_checkout_map_enabled']").prop("checked")?$(".woo-checkout-maps-select-row").show():$(".woo-checkout-maps-select-row").hide()},WPGMZA.SettingsPage.prototype.flushGeocodeCache=function(){(new WPGMZA.OLGeocoder).clearCache(function(response){jQuery("#wpgmza_flush_cache_btn").removeAttr("disabled")})},WPGMZA.SettingsPage.prototype.onKeyPress=function(event){this._keypressHistory.push(event.key),9<this._keypressHistory.length&&(this._keypressHistory=this._keypressHistory.slice(this._keypressHistory.length-9)),"codecabin"!=this._keypressHistory.join("")||this._developerModeRevealed||($("fieldset#wpgmza-developer-mode").show(),this._developerModeRevealed=!0)},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.settingsPage=WPGMZA.SettingsPage.createInstance())})}),jQuery(function($){var Parent=WPGMZA.Feature;WPGMZA.Shape=function(options,engineFeature){var self=this;WPGMZA.assertInstanceOf(this,"Shape"),Parent.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.extend(WPGMZA.Shape,WPGMZA.Feature),WPGMZA.Shape.BASE_LAYER_INDEX=99999,WPGMZA.Shape.prototype.onAdded=function(){}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Circle=function(options,engineCircle){WPGMZA.assertInstanceOf(this,"Circle"),this.center=new WPGMZA.LatLng,this.radius=100,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Circle,Parent),Object.defineProperty(WPGMZA.Circle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Circle.createInstance=function(options,engineCircle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProCircle;break}constructor=WPGMZA.OLCircle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProCircle;break}constructor=WPGMZA.GoogleCircle}return new constructor(options,engineCircle)},WPGMZA.Circle.prototype.getCenter=function(){return this.center.clone()},WPGMZA.Circle.prototype.setCenter=function(latLng){this.center.lat=latLng.lat,this.center.lng=latLng.lng},WPGMZA.Circle.prototype.getRadius=function(){return this.radius},WPGMZA.Circle.prototype.setRadius=function(radius){this.radius=radius},WPGMZA.Circle.prototype.getMap=function(){return this.map},WPGMZA.Circle.prototype.setMap=function(map){this.map&&this.map.removeCircle(this),map&&map.addCircle(this)}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Rectangle=function(options,engineRectangle){WPGMZA.assertInstanceOf(this,"Rectangle"),this.name="",this.cornerA=new WPGMZA.LatLng,this.cornerB=new WPGMZA.LatLng,this.color="#ff0000",this.opacity=.5,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Rectangle,Parent),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Rectangle.createInstance=function(options,engineRectangle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProRectangle;break}constructor=WPGMZA.OLRectangle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProRectangle;break}constructor=WPGMZA.GoogleRectangle}return new constructor(options,engineRectangle)}}),jQuery(function($){WPGMZA.SidebarGroupings=function(){var self=this;this.element=document.body,this.actionBar={element:$(this.element).find(".action-bar"),dynamicAction:null,dynamicLabel:""},$(this.element).on("click",".grouping .item",function(event){self.openTab(event),$(this).hasClass("caret-right")&&self.intelliFeaturePanel()}),$(".quick-actions .actions").on("click",".icon",function(event){var feature=$(this).data("type");feature&&(self.openTabByFeatureType(feature),$(".quick-actions #qa-add-datasets").prop("checked",!1))}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-edit",function(event){event.feature&&self.openTabByFeatureType(event.feature)}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-saved",function(event){event.feature&&self.closeCurrent()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-busy",function(event){self.resetScroll()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-created",function(event){}),$(this.element).find(".fieldset-toggle").on("click",function(event){$(this).toggleClass("toggled")}),$(this.element).on("click",".wpgmza-toolbar .wpgmza-toolbar-list > *",function(event){$(this).parent().parent().find("label").click()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-feature-caption-loaded",function(event){self.actionBar.dynamicAction&&(self.actionBar.dynamicLabel=self.actionBar.dynamicAction.text(),self.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(self.actionBar.dynamicLabel))}),this.actionBar.element.find(".dynamic-action").on("click",function(event){self.actionBar.dynamicAction&&self.actionBar.dynamicAction.click()}),this.initUpsellBlocks()},WPGMZA.extend(WPGMZA.SidebarGroupings,WPGMZA.EventDispatcher),WPGMZA.SidebarGroupings.createInstance=function(){return new WPGMZA.SidebarGroupings},WPGMZA.SidebarGroupings.prototype.openTab=function(event){event=event.currentTarget,event=$(event).data("group");this.openTabByGroupId(event),WPGMZA.mapEditPage&&WPGMZA.mapEditPage.map&&WPGMZA.mapEditPage.map.onElementResized()},WPGMZA.SidebarGroupings.prototype.openTabByFeatureType=function(feature){0<$(this.element).find('.grouping[data-feature="'+feature+'"]').length&&(feature=$(this.element).find('.grouping[data-feature="'+feature+'"]').data("group"),this.openTabByGroupId(feature))},WPGMZA.SidebarGroupings.prototype.openTabByGroupId=function(groupId){var element;groupId&&this.hasGroup(groupId)&&(this.closeAll(),(element=$(this.element).find('.grouping[data-group="'+groupId+'"]')).addClass("open"),element.data("feature-discard")&&$(element).trigger("feature-block-closed"),0<$(".wpgmza-map-settings-form").find(element).length?$(".wpgmza-map-settings-form").removeClass("wpgmza-hidden"):$(".wpgmza-map-settings-form").addClass("wpgmza-hidden"),element.hasClass("auto-expand")?$(".sidebar").addClass("expanded"):$(".sidebar").removeClass("expanded"),element.data("feature")&&$(element).trigger("feature-block-opened"),$(element).trigger("grouping-opened",[groupId]),this.updateActionBar(element))},WPGMZA.SidebarGroupings.prototype.hasGroup=function(groupId){return 0<$(this.element).find('.grouping[data-group="'+groupId+'"]').length},WPGMZA.SidebarGroupings.prototype.closeAll=function(){var self=this;$(this.element).find(".grouping.open").each(function(){var group=$(this).data("group");group&&$(self.element).trigger("grouping-closed",[group])}),$(this.element).find(".grouping").removeClass("open")},WPGMZA.SidebarGroupings.prototype.closeCurrent=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open").find(".heading.has-back .item").click()},WPGMZA.SidebarGroupings.prototype.updateActionBar=function(element){this.actionBar.dynamicAction=null,element&&element.data("feature")&&0<element.find(".wpgmza-save-feature").length&&(this.actionBar.dynamicAction=element.find(".wpgmza-save-feature").first(),this.actionBar.dynamicLabel=this.actionBar.dynamicAction.text().trim()),this.actionBar.dynamicAction&&this.actionBar.dynamicAction.addClass("wpgmza-hidden"),this.actionBar.dynamicAction&&this.actionBar.dynamicLabel?(this.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(this.actionBar.dynamicLabel),this.actionBar.element.find(".static-action").addClass("wpgmza-hidden")):(this.actionBar.element.find(".static-action").removeClass("wpgmza-hidden"),this.actionBar.element.find(".dynamic-action").addClass("wpgmza-hidden").text(""))},WPGMZA.SidebarGroupings.prototype.resetScroll=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open .settings").scrollTop(0)},WPGMZA.SidebarGroupings.prototype.intelliFeaturePanel=function(){if(WPGMZA.mapEditPage&&WPGMZA.mapEditPage.map&&WPGMZA.mapEditPage.map.markersPlaced){const element=$(this.element).find(".grouping.open");var feature,map=WPGMZA.mapEditPage.map;0<element.find("*[data-wpgmza-table]").length&&(feature=element.find("*[data-wpgmza-table]").data("wpgmza-feature-type"))&&map[feature=WPGMZA.pluralize(feature)]&&0===map[feature].length&&element.find(".navigation .item:first-child").click()}},WPGMZA.SidebarGroupings.prototype.initUpsellBlocks=function(){var upsellWrappers=$(this.element).find(".upsell-block.auto-rotate");if(upsellWrappers&&0<upsellWrappers.length)for(var currentWrapper of upsellWrappers)1<(currentWrapper=$(currentWrapper)).find(".upsell-block-card").length?(currentWrapper.addClass("rotate"),currentWrapper.on("wpgmza-upsell-rotate-card",function(){var cardLength=$(this).find(".upsell-block-card").length;$(this).find(".upsell-block-card").hide();let nextCard=parseInt(Math.random()*cardLength),nextCardElem=(nextCard<0?nextCard=0:nextCard>=cardLength&&(nextCard=cardLength-1),$(this).find(".upsell-block-card:nth-child("+(nextCard+1)+")"));0<nextCardElem.length&&!nextCardElem.hasClass("active")?($(this).find(".upsell-block-card").removeClass("active"),nextCardElem.addClass("active"),nextCardElem.fadeIn(200)):nextCardElem.show(),setTimeout(()=>{$(this).trigger("wpgmza-upsell-rotate-card")},1e4)}),currentWrapper.trigger("wpgmza-upsell-rotate-card")):currentWrapper.addClass("static")}}),jQuery(function($){WPGMZA.StoreLocator=function(map,element){var self=this;WPGMZA.EventDispatcher.call(this),this._center=null,this.map=map,this.element=element,this.state=WPGMZA.StoreLocator.STATE_INITIAL,this.distanceUnits=this.map.settings.store_locator_distance,this.addressInput=WPGMZA.AddressInput.createInstance(this.addressElement,this.map),$(element).find(".wpgmza-not-found-msg").hide(),this.radiusElement&&this.map.settings.wpgmza_store_locator_default_radius&&(this.radiusElement.data("default-override")||0<this.radiusElement.find("option[value='"+this.map.settings.wpgmza_store_locator_default_radius+"']").length&&this.radiusElement.val(this.map.settings.wpgmza_store_locator_default_radius)),this.map.on("storelocatorgeocodecomplete",function(event){self.onGeocodeComplete(event)}),this.map.on("init",function(event){self.map.markerFilter.on("filteringcomplete",function(event){self.onFilteringComplete(event)}),!WPGMZA.InternalEngine.isLegacy()||void 0!==self.map.settings.store_locator_style&&"modern"!=self.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style||"default"!==WPGMZA.settings.user_interface_style&&"modern"!=WPGMZA.settings.user_interface_style&&"legacy"!=WPGMZA.settings.user_interface_style||(self.legacyModernAdapter=WPGMZA.ModernStoreLocator.createInstance(map.id))}),WPGMZA.InternalEngine.isLegacy()?($(document.body).on("click",".wpgmza_sl_search_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_search_button",function(event){self.onSearch(event)}),$(document.body).on("click",".wpgmza_sl_reset_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_reset_button_div",function(event){self.onReset(event)})):($(this.searchButton).on("click",function(event){self.onSearch(event)}),$(this.resetButton).on("click",function(event){self.onReset(event)})),$(this.addressElement).on("keypress",function(event){13==event.which&&self.onSearch(event)}),this.onQueryParamSearch(),self.trigger("init.storelocator")},WPGMZA.StoreLocator.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.StoreLocator.prototype.constructor=WPGMZA.StoreLocator,WPGMZA.StoreLocator.STATE_INITIAL="initial",WPGMZA.StoreLocator.STATE_APPLIED="applied",WPGMZA.StoreLocator.createInstance=function(map,element){return new WPGMZA.StoreLocator(map,element)},Object.defineProperty(WPGMZA.StoreLocator.prototype,"address",{get:function(){return $(this.addressElement).val()}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"addressElement",{get:function(){return(this.legacyModernAdapter?$(this.legacyModernAdapter.element):$(this.element)).find("input.wpgmza-address")[0]}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"countryRestriction",{get:function(){return this.map.settings.wpgmza_store_locator_restrict}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radiusElement",{get:function(){return WPGMZA.InternalEngine.isLegacy()?$("#radiusSelect, #radiusSelect_"+this.map.id):$(this.element).find("select.wpgmza-radius")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"searchButton",{get:function(){return $(this.element).find(".wpgmza-search")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"resetButton",{get:function(){return $(this.element).find(".wpgmza-reset")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"errorElement",{get:function(){return $(this.element).find(".wpgmza-error")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radius",{get:function(){return parseFloat(this.radiusElement.val())}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"center",{get:function(){return this._center}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"bounds",{get:function(){return this._bounds}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"marker",{get:function(){if(1!=this.map.settings.store_locator_bounce)return null;if(this._marker)return this._marker;return this._marker=WPGMZA.Marker.createInstance({visible:!1}),this._marker.disableInfoWindow=!0,this._marker.isFilterable=!1,this._marker.setAnimation(WPGMZA.Marker.ANIMATION_BOUNCE),this._marker}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"circle",{get:function(){return this._circle||("modern"!=this.map.settings.wpgmza_store_locator_radius_style||WPGMZA.isDeviceiOS()?this._circle=WPGMZA.Circle.createInstance({strokeColor:"#ff0000",strokeOpacity:"0.25",strokeWeight:2,fillColor:"#ff0000",fillOpacity:"0.15",visible:!1,clickable:!1,center:new WPGMZA.LatLng}):(this._circle=WPGMZA.ModernStoreLocatorCircle.createInstance(this.map.id),this._circle.settings.color=this.circleStrokeColor),this._circle)}}),WPGMZA.StoreLocator.prototype.onGeocodeComplete=function(event){if(!event.results||!event.results.length)return this._center=null,void(this._bounds=null);event.results[0].latLng?this._center=new WPGMZA.LatLng(event.results[0].latLng):event.results[0]instanceof WPGMZA.LatLng&&(this._center=new WPGMZA.LatLng(event.results[0])),this._bounds=new WPGMZA.LatLngBounds(event.results[0].bounds),this.isCapsule?this.redirectUrl&&this.onRedirectSearch():this.map.markerFilter.update({},this)},WPGMZA.StoreLocator.prototype.onSearch=function(event){var geocoder,options,self=this;return this.state=WPGMZA.StoreLocator.STATE_APPLIED,this.address&&this.address.length?(WPGMZA.InternalEngine.isLegacy()&&void 0!==this.map.settings.store_locator_style&&"modern"!==this.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style&&"default"===WPGMZA.settings.user_interface_style&&WPGMZA.animateScroll(this.map.element),$(this.element).find(".wpgmza-not-found-msg").hide(),$(this.element).find(".wpgmza-error").removeClass("visible"),this.setVisualState("busy"),WPGMZA.LatLng.isLatLngString(this.address)?callback([WPGMZA.LatLng.fromString(this.address)],WPGMZA.Geocoder.SUCCESS):(geocoder=WPGMZA.Geocoder.createInstance(),options={address:this.address},this.countryRestriction&&(options.country=this.countryRestriction),geocoder.geocode(options,function(results,status){status==WPGMZA.Geocoder.SUCCESS?callback(results,status):WPGMZA.InternalEngine.isLegacy()?alert(WPGMZA.localized_strings.address_not_found):(self.showError(WPGMZA.localized_strings.address_not_found),self.setVisualState(!1))})),self.trigger("search.storelocator"),!0):(this.addressElement.focus(),!1);function callback(results,status){self.map.trigger({type:"storelocatorgeocodecomplete",results:results,status:status}),self.setVisualState("complete")}},WPGMZA.StoreLocator.prototype.onReset=function(event){this.state=WPGMZA.StoreLocator.STATE_INITIAL,this._center=null,this._bounds=null,this.map.setZoom(this.map.settings.map_start_zoom),$(this.element).find(".wpgmza-not-found-msg").hide(),this.circle&&this.circle.setVisible(!1),this.marker&&this.marker.map&&this.map.removeMarker(this.marker),this.map.markerFilter.update({},this),this.setVisualState(!1),WPGMZA.InternalEngine.isLegacy()||$(this.addressElement).val("").focus(),this.trigger("reset.storelocator")},WPGMZA.StoreLocator.prototype.onRedirectSearch=function(){if(this.redirectUrl)try{var data={radius:this.radius,center:this.center.lat+","+this.center.lng};const params=new URLSearchParams(data);window.location.href=this.redirectUrl+"?"+params.toString(),this.setVisualState("busy")}catch(ex){console.warn(ex)}},WPGMZA.StoreLocator.prototype.getFilteringParameters=function(){return this.center?{center:this.center,radius:this.radius}:{}},WPGMZA.StoreLocator.prototype.getZoomFromRadius=function(radius){return this.distanceUnits==WPGMZA.Distance.MILES&&(radius*=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(14-Math.log(radius)/Math.LN2)},WPGMZA.StoreLocator.prototype.onFilteringComplete=function(event){var factor,params=event.filteringParams,marker=this.marker,marker=(marker&&marker.setVisible(!1),params.center&&(this.map.setCenter(params.center),marker&&(marker.setPosition(params.center),marker.setVisible(!0),marker.map!=this.map&&this.map.addMarker(marker))),params.radius&&this.map.setZoom(this.getZoomFromRadius(params.radius)),this.circle);marker&&(marker.setVisible(!1),factor=this.distanceUnits==WPGMZA.Distance.MILES?WPGMZA.Distance.KILOMETERS_PER_MILE:1,params.center&&params.radius&&(marker.setRadius(params.radius*factor),marker.setCenter(params.center),marker.setVisible(!0),marker instanceof WPGMZA.ModernStoreLocatorCircle||marker.map==this.map||this.map.addCircle(marker)),marker instanceof WPGMZA.ModernStoreLocatorCircle&&(marker.settings.radiusString=this.radius)),0==event.filteredMarkers.length&&this.state===WPGMZA.StoreLocator.STATE_APPLIED&&(WPGMZA.InternalEngine.isLegacy()?0<$(this.element).find(".wpgmza-no-results").length&&"legacy"===WPGMZA.settings.user_interface_style?$(this.element).find(".wpgmza-no-results").show():alert(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results):this.showError(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results))},WPGMZA.StoreLocator.prototype.onQueryParamSearch=function(){var queryCenter=WPGMZA.getQueryParamValue("center"),queryRadius=(queryCenter&&$(this.addressElement).val(queryCenter),WPGMZA.getQueryParamValue("radius"));queryRadius&&$(this.radiusElement).val(queryRadius),!this.isCapsule&&queryRadius&&queryCenter&&this.map.on("init",()=>{this.onSearch()})},WPGMZA.StoreLocator.prototype.setVisualState=function(state){!1!==state?$(this.element).attr("data-state",state):$(this.element).removeAttr("data-state")},WPGMZA.StoreLocator.prototype.showError=function(error){var self=this;WPGMZA.InternalEngine.isLegacy()||($(this.errorElement).text(error).addClass("visible"),setTimeout(function(){$(self.errorElement).text("").removeClass("visible")},3e3))}}),jQuery(function($){WPGMZA.StylingPage=function(){var self=this;this.element=document.body,this.styleGuide={wrapper:$(this.element).find(".wpgmza-styling-map-preview .wpgmza-style-guide-wrapper")},this.controls={},$(this.element).find(".wpgmza-styling-editor fieldset").each(function(){self.prepareControl(this)}),$(this.element).find(".wpgmza-styling-preset-select").on("change",function(){self.applyPreset(this)}),this.bindEvents(),this.parseUserPreset()},WPGMZA.StylingPage.PRESETS={},WPGMZA.StylingPage.PRESETS.default={"--wpgmza-component-color":"#ffffff","--wpgmza-component-text-color":"#000000","--wpgmza-component-color-accent":"#1A73E8","--wpgmza-component-text-color-accent":"#ffffff","--wpgmza-color-grey-500":"#bfbfbf","--wpgmza-component-border-radius":"2px","--wpgmza-component-font-size":"15px","--wpgmza-component-backdrop-filter":"none"},WPGMZA.StylingPage.PRESETS.glass={"--wpgmza-component-color":"rgba(255, 255, 255, 0.3)","--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"8px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":"blur(20px)"},WPGMZA.StylingPage.PRESETS.rounded={"--wpgmza-component-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color"],"--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"20px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-backdrop-filter"]},WPGMZA.StylingPage.createInstance=function(){return new WPGMZA.StylingPage},WPGMZA.StylingPage.prototype.prepareControl=function(element){var element=$(element),input=element.find("input"),name=input.attr("name");if(""!==name.trim()){this.controls[name]={container:element,input:input};element=0<this.controls[name].input.length&&this.controls[name].input.get(0);if(element)if(element.wpgmzaColorInput){const colorInput=element.wpgmzaColorInput;colorInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),colorInput.container.prepend(this.controls[name].resetButton),colorInput.container.addClass("wpgmza-styling-editor-contains-reset"))}else if(element.wpgmzaCSSUnitInput){const unitInput=element.wpgmzaCSSUnitInput;unitInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),unitInput.container.prepend(this.controls[name].resetButton),unitInput.container.addClass("wpgmza-styling-editor-contains-reset"))}this.resetControl(this.controls[name])}},WPGMZA.StylingPage.prototype.bindEvents=function(){var name,self=this;for(name in this.controls)this.controls[name].input.on("change",function(){self.updateControl(this)});this.styleGuide.steps=this.styleGuide.wrapper.find(".wpgmza-style-guide-step").length,this.styleGuide.index=0,this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .prev-btn").on("click",function(){--self.styleGuide.index,self.styleGuide.index<0&&(self.styleGuide.index=self.styleGuide.steps-1),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .next-btn").on("click",function(){self.styleGuide.index+=1,self.styleGuide.index>=self.styleGuide.steps&&(self.styleGuide.index=0),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.on("update-view",function(){self.styleGuide.wrapper.find(".wpgmza-style-guide-step").removeClass("active"),self.styleGuide.wrapper.find(".wpgmza-style-guide-step:nth-child("+(self.styleGuide.index+1)+")").addClass("active")}),$(document.body).on("click",".wpgmza-styling-editor-reset-btn",function(){$(this);var field=$(this).data("reset-control-name");field&&self.controls[field]&&self.resetControl(self.controls[field])})},WPGMZA.StylingPage.prototype.updateControl=function(input){var name=$(input).attr("name");name&&-1!==name.indexOf("--")&&$(".wpgmza-styling-preview-wrap .wpgmza_map").css(name,$(input).val())},WPGMZA.StylingPage.prototype.resetControl=function(control){var name=control.input.attr("name");if(name&&-1!==name.indexOf("--")&&(name=$(":root").css(name))){var name=name.trim(),activeInput=0<control.input.length&&control.input.get(0);if(activeInput)if(activeInput.wpgmzaColorInput){const colorInput=activeInput.wpgmzaColorInput;colorInput.parseColor(name)}else if(activeInput.wpgmzaCSSUnitInput){const unitInput=activeInput.wpgmzaCSSUnitInput;unitInput.parseUnits(name)}else if(activeInput.wpgmzaCSSBackdropFilterInput){const backdropInput=activeInput.wpgmzaCSSBackdropFilterInput;backdropInput.parseFilters(name)}else control.input.val(name)}},WPGMZA.StylingPage.prototype.parseUserPreset=function(){WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length&&(WPGMZA.StylingPage.PRESETS.user=WPGMZA.stylingSettings,$(".wpgmza-styling-preset-select").append("<option value='user'>User Defined</option>"),$(".wpgmza-styling-preset-select").val("user").trigger("change"))},WPGMZA.StylingPage.prototype.applyPreset=function(element){element=(element=$(element)).val();if(element&&WPGMZA.StylingPage.PRESETS[element]){var fieldName,preset=WPGMZA.StylingPage.PRESETS[element];for(fieldName in preset){var fieldValue=preset[fieldName];let field=$(this.element).find('input[name="'+fieldName+'"]');0<field.length&&((field=field.get(0)).wpgmzaColorInput?field.wpgmzaColorInput.parseColor(fieldValue):field.wpgmzaCSSUnitInput?field.wpgmzaCSSUnitInput.parseUnits(fieldValue):field.wpgmzaCSSBackdropFilterInput?field.wpgmzaCSSBackdropFilterInput.parseFilters(fieldValue):($(field).val(fieldValue),$(field).trigger("change")))}}},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.stylingPage=WPGMZA.StylingPage.createInstance())})}),jQuery(function($){WPGMZA.SupportPage=function(){$(".support-page").tabs(),$(".wpgmza-copy-sysinfo").on("click",function(){var info=$(".system-info").text();if(info.length){const temp=jQuery("<textarea>");$(document.body).append(temp),temp.val(info).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Info Copied")}})},WPGMZA.SupportPage.createInstance=function(){return new WPGMZA.SupportPage},$(document).ready(function(event){WPGMZA.getCurrentPage()===WPGMZA.PAGE_SUPPORT&&(WPGMZA.supportPage=WPGMZA.SupportPage.createInstance())})}),jQuery(function($){WPGMZA.Text=function(options){if(options)for(var name in options)this[name]=options[name]},WPGMZA.Text.createInstance=function(options){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleText:WPGMZA.OLText)(options)},WPGMZA.Text.prototype.setPosition=function(position){this.overlay&&this.overlay.setPosition(position)},WPGMZA.Text.prototype.setText=function(text){this.overlay&&this.overlay.setText(text)},WPGMZA.Text.prototype.setFontSize=function(size){this.overlay&&this.overlay.setFontSize(size)},WPGMZA.Text.prototype.setFillColor=function(color){this.overlay&&this.overlay.setFillColor(color)},WPGMZA.Text.prototype.setLineColor=function(color){this.overlay&&this.overlay.setLineColor(color)},WPGMZA.Text.prototype.setOpacity=function(opacity){this.overlay&&this.overlay.setOpacity(opacity)},WPGMZA.Text.prototype.remove=function(){this.overlay&&this.overlay.remove()},WPGMZA.Text.prototype.refresh=function(){}}),jQuery(function($){WPGMZA.ThemeEditor=function(){if(WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-theme-editor"),"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemeEditor=new WPGMZA.OLThemeEditor);this.element.length?(this.json=[{}],this.mapElement=WPGMZA.maps[0].element,this.element.appendTo("#wpgmza-map-theme-editor__holder"),$(window).on("scroll",function(event){}),setInterval(function(){},200),this.initHTML(),WPGMZA.themeEditor=this):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.ThemeEditor,WPGMZA.EventDispatcher),WPGMZA.ThemeEditor.prototype.updatePosition=function(){},WPGMZA.ThemeEditor.features={all:[],administrative:["country","land_parcel","locality","neighborhood","province"],landscape:["man_made","natural","natural.landcover","natural.terrain"],poi:["attraction","business","government","medical","park","place_of_worship","school","sports_complex"],road:["arterial","highway","highway.controlled_access","local"],transit:["line","station","station.airport","station.bus","station.rail"],water:[]},WPGMZA.ThemeEditor.elements={all:[],geometry:["fill","stroke"],labels:["icon","text","text.fill","text.stroke"]},WPGMZA.ThemeEditor.prototype.parse=function(){$("#wpgmza_theme_editor_feature option, #wpgmza_theme_editor_element option").css("font-weight","normal"),$("#wpgmza_theme_editor_error").hide(),$("#wpgmza_theme_editor").show(),$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val("");var textarea=$('textarea[name="wpgmza_theme_data"]');if(this.refreshColorInputs(),!textarea.val()||textarea.val().length<1)this.json=[{}];else{try{this.json=$.parseJSON($('textarea[name="wpgmza_theme_data"]').val())}catch(e){return this.json=[{}],$("#wpgmza_theme_editor").hide(),void $("#wpgmza_theme_editor_error").show()}$.isArray(this.json)||(textarea=this.json,this.json=[],this.json.push(textarea)),this.highlightFeatures(),this.highlightElements(),this.loadElementStylers()}},WPGMZA.ThemeEditor.prototype.highlightFeatures=function(){$("#wpgmza_theme_editor_feature option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")?$('#wpgmza_theme_editor_feature option[value="'+v.featureType+'"]'):$('#wpgmza_theme_editor_feature option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.highlightElements=function(){var feature=$("#wpgmza_theme_editor_feature").val();$("#wpgmza_theme_editor_element option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")?$('#wpgmza_theme_editor_element option[value="'+v.elementType+'"]'):$('#wpgmza_theme_editor_element option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.loadElementStylers=function(){var feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val();$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val(""),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&v.hasOwnProperty("stylers")&&$.isArray(v.stylers)&&0<v.stylers.length&&$.each(v.stylers,function(ii,vv){vv.hasOwnProperty("hue")&&($("#wpgmza_theme_editor_do_hue").prop("checked",!0),$("#wpgmza_theme_editor_hue").val(vv.hue)),vv.hasOwnProperty("lightness")&&$("#wpgmza_theme_editor_lightness").val(vv.lightness),vv.hasOwnProperty("saturation")&&$("#wpgmza_theme_editor_saturation").val(vv.xaturation),vv.hasOwnProperty("gamma")&&$("#wpgmza_theme_editor_gamma").val(vv.gamma),vv.hasOwnProperty("invert_lightness")&&$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!0),vv.hasOwnProperty("visibility")&&$("#wpgmza_theme_editor_visibility").val(vv.visibility),vv.hasOwnProperty("color")&&($("#wpgmza_theme_editor_do_color").prop("checked",!0),$("#wpgmza_theme_editor_color").val(vv.color)),vv.hasOwnProperty("weight")&&$("#wpgmza_theme_editor_weight").val(vv.weight)})}),this.refreshColorInputs()},WPGMZA.ThemeEditor.prototype.writeElementStylers=function(){var new_feature_element_stylers,feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val(),indexJSON=null,stylers=[];"inherit"!=$("#wpgmza_theme_editor_visibility").val()&&stylers.push({visibility:$("#wpgmza_theme_editor_visibility").val()}),!0===$("#wpgmza_theme_editor_do_color").prop("checked")&&stylers.push({color:$("#wpgmza_theme_editor_color").val()}),!0===$("#wpgmza_theme_editor_do_hue").prop("checked")&&stylers.push({hue:$("#wpgmza_theme_editor_hue").val()}),0<$("#wpgmza_theme_editor_gamma").val().length&&stylers.push({gamma:parseFloat($("#wpgmza_theme_editor_gamma").val())}),0<$("#wpgmza_theme_editor_weight").val().length&&stylers.push({weight:parseFloat($("#wpgmza_theme_editor_weight").val())}),0<$("#wpgmza_theme_editor_saturation").val().length&&stylers.push({saturation:parseFloat($("#wpgmza_theme_editor_saturation").val())}),0<$("#wpgmza_theme_editor_lightness").val().length&&stylers.push({lightness:parseFloat($("#wpgmza_theme_editor_lightness").val())}),!0===$("#wpgmza_theme_editor_do_invert_lightness").prop("checked")&&stylers.push({invert_lightness:!0}),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&(indexJSON=i)}),null===indexJSON?0<stylers.length&&(new_feature_element_stylers={},"all"!=feature&&(new_feature_element_stylers.featureType=feature),"all"!=element&&(new_feature_element_stylers.elementType=element),new_feature_element_stylers.stylers=stylers,this.json.push(new_feature_element_stylers)):0<stylers.length?this.json[indexJSON].stylers=stylers:this.json.splice(indexJSON,1),$('textarea[name="wpgmza_theme_data"]').val(JSON.stringify(this.json).replace(/:/g,": ").replace(/,/g,", ")),this.highlightFeatures(),this.highlightElements(),WPGMZA.themePanel.updateMapTheme()},WPGMZA.ThemeEditor.prototype.initHTML=function(){var self=this;$.each(WPGMZA.ThemeEditor.features,function(i,v){$("#wpgmza_theme_editor_feature").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_feature").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),$.each(WPGMZA.ThemeEditor.elements,function(i,v){$("#wpgmza_theme_editor_element").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_element").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),this.parse(),$('textarea[name="wpgmza_theme_data"]').on("input selectionchange propertychange",function(){self.parse()}),$(".wpgmza_theme_selection").click(function(){setTimeout(function(){$('textarea[name="wpgmza_theme_data"]').trigger("input")},1e3)}),$("#wpgmza-theme-editor__toggle").click(function(){$("#wpgmza-theme-editor").removeClass("active")}),$("#wpgmza_theme_editor_feature").on("change",function(){self.highlightElements(),self.loadElementStylers()}),$("#wpgmza_theme_editor_element").on("change",function(){self.loadElementStylers()}),$("#wpgmza_theme_editor_do_hue, #wpgmza_theme_editor_hue, #wpgmza_theme_editor_lightness, #wpgmza_theme_editor_saturation, #wpgmza_theme_editor_gamma, #wpgmza_theme_editor_do_invert_lightness, #wpgmza_theme_editor_visibility, #wpgmza_theme_editor_do_color, #wpgmza_theme_editor_color, #wpgmza_theme_editor_weight").on("input selectionchange propertychange",function(){self.writeElementStylers()}),"open-layers"==WPGMZA.settings.engine&&$("#wpgmza_theme_editor :input").prop("disabled",!0)},WPGMZA.ThemeEditor.prototype.refreshColorInputs=function(){$("input#wpgmza_theme_editor_hue,input#wpgmza_theme_editor_color").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor(this.value)})}}),jQuery(function($){WPGMZA.ThemePanel=function(){var self=this;if(this.element=$("#wpgmza-theme-panel"),this.map=WPGMZA.maps[0],"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemePanel=new WPGMZA.OLThemePanel);this.element.length?($("#wpgmza-theme-presets").owlCarousel({items:6,dots:!0}),this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),$("#wpgmza-open-theme-editor").on("click",function(event){$("#wpgmza-map-theme-editor__holder").addClass("active"),$("#wpgmza-theme-editor").addClass("active"),WPGMZA.animateScroll($("#wpgmza-theme-editor"))}),WPGMZA.themePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.ThemePanel.previewImageCenter={lat:33.701806462148646,lng:-118.15949896058983},WPGMZA.ThemePanel.previewImageZoom=11,WPGMZA.ThemePanel.prototype.onThemePresetClick=function(event){var event=$(event.currentTarget).find("[data-theme-json]").attr("data-theme-json"),textarea=$("textarea[name='wpgmza_theme_data']"),existingData=textarea.val(),allPresetData=[];$(this.element).find("[data-theme-json]").each(function(index,el){allPresetData.push($(el).attr("data-theme-json"))}),existingData.length&&-1==allPresetData.indexOf(existingData)&&!confirm(WPGMZA.localized_strings.overwrite_theme_data)||(textarea.val(event),this.updateMapTheme(),WPGMZA.themeEditor.parse())},WPGMZA.ThemePanel.prototype.updateMapTheme=function(){var data;try{data=JSON.parse($("textarea[name='wpgmza_theme_data']").val())}catch(e){return void alert(WPGMZA.localized_strings.invalid_theme_data)}this.map.setOptions({styles:data})}}),jQuery(function($){WPGMZA.Tour=function(element){this.findElements(element),this.bindEvents(),this.prepare(),setTimeout(()=>{this.prompt()},3e3)},WPGMZA.Tour.INPUT_CHANGE_INTERVAL=1500,WPGMZA.Tour.createInstance=function(element){return new WPGMZA.Tour(element)},WPGMZA.Tour.AutoInit=function(){WPGMZA.adminTours={},$(document.body).find(".wpgmza-tour").each(function(index,element){var type=$(element).data("type");WPGMZA.adminTours[type]=WPGMZA.Tour.createInstance(element)})},WPGMZA.Tour.prototype.prepare=function(){this.slug=this.elements.wrapper.data("type"),this.state={running:!1,step:0,steps:this.elements.steps.length||0}},WPGMZA.Tour.prototype.findElements=function(wrapper){this.elements={},this.elements.wrapper=$(wrapper),this.elements.prompt=this.elements.wrapper.find(".wpgmza-tour-prompt"),this.elements.promptAction=this.elements.prompt.find(".wpgmza-tour-prompt-actions .wpgmza-button"),this.elements.steps=this.elements.wrapper.find(".wpgmza-tour-step")},WPGMZA.Tour.prototype.bindEvents=function(){this.elements.promptAction.on("click",event=>{event&&event.currentTarget&&this.onPromptAction(event.currentTarget)}),this.elements.steps.each((i,elem)=>{elem=$(elem).data("anchor");elem&&$(elem).addClass("wpgmza-tour-anchor-link")}),$(document.body).on("click",".wpgmza-tour-next-step-delegate",event=>{event.currentTarget instanceof HTMLInputElement||($(event.currentTarget).data("auto-step")?event.preventDefault():this.next())}),$(document.body).on("keyup",".wpgmza-tour-next-step-delegate",event=>{event.currentTarget instanceof HTMLInputElement&&(event.currentTarget._wpgmzaChangeTimer&&clearTimeout(event.currentTarget._wpgmzaChangeTimer),event.currentTarget._wpgmzaChangeTimer=setTimeout(()=>{this.next()},WPGMZA.Tour.INPUT_CHANGE_INTERVAL))}),$(document.body).on("click",".wpgmza-tour-anchor-link",event=>{this.state.running||(this.stop(),this.dismiss(!0))}),$(document.body).on("click",event=>{this.onFramedClick(event)})},WPGMZA.Tour.prototype.onPromptAction=function(context){context instanceof Element&&("start"===$(context).data("action")?(this.state.running=!0,this.step(0)):(this.stop(),this.dismiss()))},WPGMZA.Tour.prototype.onFramedClick=function(event){if(this.elements.frame&&this.elements.frame.hasClass("active")&&!jQuery.contains(this.elements.wrapper.get(0),event.target)&&!$(event.target).hasClass("wpgmza-tour-next-step-delegate")&&!$(event.target).hasClass("wpgmza-tour-anchor-link")){const boundary=Object.assign({},this._lastFramePlacement);event=event.originalEvent||!1;if(boundary.top&&boundary.left&&event&&event instanceof PointerEvent){boundary.right=boundary.left+boundary.width,boundary.bottom=boundary.top+boundary.height;const mouse_x=event.clientX,mouse_y=event.clientY;let shouldDismiss=!1;(mouse_x<boundary.left||mouse_x>boundary.right)&&(shouldDismiss=!0),(shouldDismiss=mouse_y<boundary.top||mouse_y>boundary.bottom?!0:shouldDismiss)&&(this.stop(),this.dismiss(!0))}else this.stop(),this.dismiss(!0)}},WPGMZA.Tour.prototype.prompt=function(){this.state.running=!1,this.state.step=0,this.elements.steps.removeClass("active"),this.elements.prompt.addClass("active")},WPGMZA.Tour.prototype.stop=function(){this.clearViewport(),this.elements.prompt.removeClass("active"),this.elements.steps.removeClass("active")},WPGMZA.Tour.prototype.step=function(index){if(this.state.running&&(this.state.step=index,this.elements.prompt.removeClass("active"),this.elements.steps.removeClass("active"),$(".wpgmza-tour-next-step-delegate").removeClass("wpgmza-tour-next-step-delegate"),this.elements.steps[this.state.step])){const stepElement=$(this.elements.steps[this.state.step]);index=stepElement.data("anchor");this.frame(index),this._lastFramePlacement&&(stepElement.addClass("active"),stepElement.css({left:this._lastFramePlacement.left+this._lastFramePlacement.width+"px",top:this._lastFramePlacement.top+this._lastFramePlacement.height/2-stepElement.outerHeight()/2+"px"})),$(index).addClass("wpgmza-tour-next-step-delegate"),this._lastAutoStepTimer&&clearTimeout(this._lastAutoStepTimer),stepElement.data("auto-step")&&(this._lastAutoStepTimer=setTimeout(()=>{this.next()},parseInt(stepElement.data("auto-step"))))}},WPGMZA.Tour.prototype.next=function(){if(this.state.running){this.clearViewport();let nextStep=this.state.step+1;var delay;nextStep<this.state.steps?(delay=this.getStepDelay(nextStep))?setTimeout(()=>{this.step(nextStep)},delay):this.step(nextStep):this.complete()}},WPGMZA.Tour.prototype.frame=function(anchor){this.elements.frame||(this.elements.frame=$("<div class='wpgmza-tour-frame'></div>"),this.elements.frame.appendTo(this.elements.wrapper)),this._lastFramePlacement=!1,this.elements.frame.removeClass("active");const anchorElement=document.querySelector(anchor);if(anchorElement){var i,anchor=anchorElement.getBoundingClientRect(),computedStyles=window.getComputedStyle(anchorElement,null);const frameStyle={top:parseInt(anchor.top),left:parseInt(anchor.left),width:parseInt(anchor.width),height:parseInt(anchor.height),borderRadius:0};for(i in this.elements.frame.css("--wpgmza-tour-frame-border-radius","0px"),parseInt(computedStyles["border-radius"])&&(frameStyle.borderRadius=parseInt(computedStyles["border-radius"]),this.elements.frame.css("--wpgmza-tour-frame-border-radius",parseInt(computedStyles["border-radius"])+"px")),this._lastFramePlacement=Object.assign({},frameStyle),frameStyle)frameStyle[i]+="px";this.elements.frame.css(frameStyle),this.elements.frame.addClass("active")}},WPGMZA.Tour.prototype.clearViewport=function(){this.elements.frame&&this.elements.frame.hasClass("active")&&this.elements.frame.removeClass("active"),this.elements.steps.removeClass("active")},WPGMZA.Tour.prototype.getStepDelay=function(index){return $(this.elements.steps[index]).data("step-delay")?parseInt($(this.elements.steps[index]).data("step-delay")):0},WPGMZA.Tour.prototype.dismiss=function(short){if(this.state.complete)return!0;short=!!short;short={action:"wpgmza_tour_progress_update",wpgmza_security:WPGMZA.ajaxnonce,tour:this.slug,type:short?"sleep":"dismiss"};this.request(short,()=>{})},WPGMZA.Tour.prototype.complete=function(){this.state.running=!1,this.state.complete=!0;var data={action:"wpgmza_tour_progress_update",wpgmza_security:WPGMZA.ajaxnonce,tour:this.slug,type:"complete"};this.request(data,()=>{})},WPGMZA.Tour.prototype.request=function(data,complete){"function"!=typeof complete&&(complete=()=>{}),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:data,success:function(response,status,xhr){complete(response)},error:function(){complete()}})},$(document).ready(function(event){WPGMZA.getCurrentPage()&&WPGMZA.Tour.AutoInit()})}),jQuery(function($){WPGMZA.Version=function(){},WPGMZA.Version.GREATER_THAN=1,WPGMZA.Version.EQUAL_TO=0,WPGMZA.Version.LESS_THAN=-1,WPGMZA.Version.compare=function(v1,v2){for(var v1parts=v1.match(/\d+/g),v2parts=v2.match(/\d+/g),i=0;i<v1parts.length;++i){if(v2parts.length===i)return 1;if(v1parts[i]!==v2parts[i])return v1parts[i]>v2parts[i]?1:-1}return v1parts.length!=v2parts.length?-1:0}}),jQuery(function($){WPGMZA.XMLCacheConverter=function(){},WPGMZA.XMLCacheConverter.prototype.convert=function(xml){var markers=[],remap={marker_id:"id",linkd:"link"};return $(xml).find("marker").each(function(index,el){var data={};$(el).children().each(function(j,child){var key=child.nodeName;remap[key]&&(key=remap[key]),child.hasAttribute("data-json")?data[key]=JSON.parse($(child).text()):data[key]=$(child).text()}),markers.push(data)}),markers}}),jQuery(function($){WPGMZA.loadXMLAsWebWorker=function(){function tXml(a,d){function c(){for(var l=[];a[b];){if(60==a.charCodeAt(b)){if(47===a.charCodeAt(b+1)){b=a.indexOf(">",b);break}if(33===a.charCodeAt(b+1)){if(45==a.charCodeAt(b+2)){for(;62!==a.charCodeAt(b)||45!=a.charCodeAt(b-1)||45!=a.charCodeAt(b-2)||-1==b;)b=a.indexOf(">",b+1);-1===b&&(b=a.length)}else for(b+=2;62!==a.charCodeAt(b);)b++;b++;continue}var c=f();l.push(c)}else c=b,-2===(b=a.indexOf("<",b)-1)&&(b=a.length),0<(c=a.slice(c,b+1)).trim().length&&l.push(c);b++}return l}function l(){for(var c=b;-1===g.indexOf(a[b]);)b++;return a.slice(c,b)}function f(){var d={};b++,d.tagName=l();for(var f=!1;62!==a.charCodeAt(b);){if(64<(e=a.charCodeAt(b))&&e<91||96<e&&e<123){for(var h,g=l(),e=a.charCodeAt(b);39!==e&&34!==e&&!(64<e&&e<91||96<e&&e<123)&&62!==e;)b++,e=a.charCodeAt(b);f||(d.attributes={},f=!0),39===e||34===e?(e=a[b],h=++b,b=a.indexOf(e,h),e=a.slice(h,b)):(e=null,b--),d.attributes[g]=e}b++}return 47!==a.charCodeAt(b-1)&&("script"==d.tagName?(f=b+1,b=a.indexOf("<\/script>",b),d.children=[a.slice(f,b-1)],b+=8):"style"==d.tagName?(f=b+1,b=a.indexOf("</style>",b),d.children=[a.slice(f,b-1)],b+=7):-1==k.indexOf(d.tagName)&&(b++,d.children=c())),d}var b,g="\n\t>/= ",k=["img","br","input","meta","link"],h=null;return(d=d||{}).searchId?(-1===(b=new RegExp("s*ids*=s*['\"]"+d.searchId+"['\"]").exec(a).index)||-1!==(b=a.lastIndexOf("<",b))&&(h=f()),b):(b=0,h=c(),d.filter&&(h=tXml.filter(h,d.filter)),d.simplify?tXml.simplefy(h):h)}tXml.simplify=function(a){var c,d={};if(1===a.length&&"string"==typeof a[0])return a[0];for(c in a.forEach(function(a){var c;d[a.tagName]||(d[a.tagName]=[]),"object"==typeof a?(c=tXml.simplefy(a.children),d[a.tagName].push(c),a.attributes&&(c._attributes=a.attributes)):d[a.tagName].push(a)}),d)1==d[c].length&&(d[c]=d[c][0]);return d},tXml.filter=function(a,d){var c=[];return a.forEach(function(a){"object"==typeof a&&d(a)&&c.push(a),a.children&&(a=tXml.filter(a.children,d),c=c.concat(a))}),c},tXml.domToXml=function(a){var c="";return function d(a){if(a)for(var f=0;f<a.length;f++)if("string"==typeof a[f])c+=a[f].trim();else{var g=a[f],k=void(c+="<"+g.tagName);for(k in g.attributes)c=-1===g.attributes[k].indexOf('"')?c+(" "+k+'="'+g.attributes[k].trim())+'"':c+(" "+k+"='"+g.attributes[k].trim())+"'";c+=">",d(g.children),c+="</"+g.tagName+">"}}(O),c},"object"!=typeof window&&(module.exports=tXml);var inputData,totalFiles,worker=self,dataForMainThread=[],filesLoaded=0;function onXMLLoaded(request){4==request.readyState&&200==request.status&&((new Date).getTime(),function(xml){for(var markers=xml[0].children[0],remap={marker_id:"id",linkd:"link"},i=0;i<markers.children.length;i++){var data={};markers.children[i].children.forEach(function(node){var key=node.tagName;remap[key]&&(key=remap[key]),node.attributes["data-json"]?data[key]=JSON.parse(node.children[0]):node.children.length?data[key]=node.children[0]:data[key]=""}),dataForMainThread.push(data)}}(tXml(request.responseText)),++filesLoaded>=totalFiles?worker.postMessage(dataForMainThread):loadNextFile())}function loadNextFile(){var url=inputData.urls[filesLoaded],request=new XMLHttpRequest;request.onreadystatechange=function(){onXMLLoaded(this)},request.open("GET",inputData.protocol+url,!0),request.send()}self.addEventListener("message",function(event){event=event.data;if("load"!==event.command)throw new Error("Unknown command");dataForMainThread=[],filesLoaded=0,totalFiles=(inputData=event).urls.length,loadNextFile()},!1)}}),jQuery(function($){WPGMZA.Integration={},WPGMZA.integrationModules={},WPGMZA.Integration.Blocks={},WPGMZA.Integration.Blocks.instances={}}),jQuery(function($){var __,registerBlockType,InspectorControls,_wp$editor,Dashicon,PanelBody;window.wp&&wp.i18n&&wp.blocks&&wp.editor&&wp.components&&(__=wp.i18n.__,registerBlockType=wp.blocks.registerBlockType,_wp$editor=wp.editor,InspectorControls=_wp$editor.InspectorControls,_wp$editor.BlockControls,_wp$editor=wp.components,Dashicon=_wp$editor.Dashicon,_wp$editor.Toolbar,_wp$editor.Button,_wp$editor.Tooltip,PanelBody=_wp$editor.PanelBody,_wp$editor.TextareaControl,_wp$editor.CheckboxControl,_wp$editor.TextControl,_wp$editor.SelectControl,_wp$editor.RichText,WPGMZA.Integration.Gutenberg=function(){registerBlockType("gutenberg-wpgmza/block",this.getBlockDefinition())},WPGMZA.Integration.Gutenberg.prototype.getBlockTitle=function(){return __("WP Go Maps")},WPGMZA.Integration.Gutenberg.prototype.getBlockInspectorControls=function(props){return React.createElement(InspectorControls,{key:"inspector"},React.createElement(PanelBody,{title:__("Map Settings")},React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:WPGMZA.adminurl+"admin.php?page=wp-google-maps-menu&action=edit&map_id=1",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-pencil-square-o","aria-hidden":"true"}),__("Go to Map Editor"))),React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:"https://www.wpgmaps.com/documentation/creating-your-first-map/",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-book","aria-hidden":"true"}),__("View Documentation")))))},WPGMZA.Integration.Gutenberg.prototype.getBlockAttributes=function(){return{}},WPGMZA.Integration.Gutenberg.prototype.getBlockDefinition=function(props){var _this=this;return{title:WPGMZA.InternalEngine.isLegacy()?__("WP Go Maps"):__("Map"),description:__("The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss."),category:!WPGMZA.InternalEngine.isLegacy()&&this.verifyCategory("wpgmza-gutenberg")?"wpgmza-gutenberg":"common",icon:"location-alt",keywords:[__("Map"),__("Maps"),__("Google")],attributes:this.getBlockAttributes(),edit:function(props){return[!!props.isSelected&&_this.getBlockInspectorControls(props),React.createElement("div",{className:props.className+" wpgmza-gutenberg-block"},React.createElement(Dashicon,{icon:"location-alt"}),React.createElement("span",{class:"wpgmza-gutenberg-block-title"},__("Your map will appear here on your websites front end")))]},save:function(props){return null}}},WPGMZA.Integration.Gutenberg.prototype.verifyCategory=function(category){if(wp.blocks&&wp.blocks.getCategories){var i,categories=wp.blocks.getCategories();for(i in categories)if(categories[i].slug===category)return!0}return!1},WPGMZA.Integration.Gutenberg.getConstructor=function(){return WPGMZA.Integration.Gutenberg},WPGMZA.Integration.Gutenberg.createInstance=function(){return new(WPGMZA.Integration.Gutenberg.getConstructor())},WPGMZA.isProVersion()||/^6/.test(WPGMZA.pro_version)||(WPGMZA.integrationModules.gutenberg=WPGMZA.Integration.Gutenberg.createInstance()))}),jQuery(function($){$(document).ready(function(event){var parent=document.body.onclick;parent&&(document.body.onclick=function(event){event.target instanceof WPGMZA.Marker||parent(event)})})}),jQuery(function($){WPGMZA.GoogleUICompatibility=function(){var style;navigator.vendor&&-1<navigator.vendor.indexOf("Apple")&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS")||((style=$("<style id='wpgmza-google-ui-compatiblity-fix'/>")).html(".wpgmza_map img:not(button img) { padding:0 !important; }"),$(document.head).append(style))},WPGMZA.googleUICompatibility=new WPGMZA.GoogleUICompatibility}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.GoogleCircle=function(options,googleCircle){var self=this;Parent.call(this,options,googleCircle),googleCircle?(this.googleCircle=googleCircle,options&&(options.center=WPGMZA.LatLng.fromGoogleLatLng(googleCircle.getCenter()),options.radius=googleCircle.getRadius()/1e3)):(this.googleCircle=new google.maps.Circle,this.googleCircle.wpgmzaCircle=this),this.googleFeature=this.googleCircle,options&&this.setOptions(options),google.maps.event.addListener(this.googleCircle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.GoogleCircle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleCircle.prototype.constructor=WPGMZA.GoogleCircle,WPGMZA.GoogleCircle.prototype.getCenter=function(){return WPGMZA.LatLng.fromGoogleLatLng(this.googleCircle.getCenter())},WPGMZA.GoogleCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.googleCircle.setCenter(center)},WPGMZA.GoogleCircle.prototype.getRadius=function(){return this.googleCircle.getRadius()/1e3},WPGMZA.GoogleCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments),this.googleCircle.setRadius(1e3*parseFloat(radius))},WPGMZA.GoogleCircle.prototype.setVisible=function(visible){this.googleCircle.setVisible(!!visible)},WPGMZA.GoogleCircle.prototype.setDraggable=function(value){this.googleCircle.setDraggable(!!value)},WPGMZA.GoogleCircle.prototype.setEditable=function(value){var self=this;this.googleCircle.setOptions({editable:value}),value&&(google.maps.event.addListener(this.googleCircle,"center_changed",function(event){self.center=WPGMZA.LatLng.fromGoogleLatLng(self.googleCircle.getCenter()),self.trigger("change")}),google.maps.event.addListener(this.googleCircle,"radius_changed",function(event){self.radius=self.googleCircle.getRadius()/1e3,self.trigger("change")}))},WPGMZA.GoogleCircle.prototype.setOptions=function(options){WPGMZA.Circle.prototype.setOptions.apply(this,arguments),options.center&&(this.center=new WPGMZA.LatLng(options.center))},WPGMZA.GoogleCircle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),center=new WPGMZA.LatLng(this.center);googleOptions.radius*=1e3,googleOptions.center=center.toGoogleLatLng(),this.googleCircle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleDrawingManager=function(map){var self=this;WPGMZA.DrawingManager.call(this,map),this.mode=null,this.googleDrawingManager=new google.maps.drawing.DrawingManager({drawingControl:!1,polygonOptions:{editable:!0},polylineOptions:{editable:!0},circleOptions:{editable:!0},rectangleOptions:{draggable:!0,editable:!0,strokeWeight:1,fillOpacity:0}}),this.googleDrawingManager.setMap(map.googleMap),google.maps.event.addListener(this.googleDrawingManager,"polygoncomplete",function(polygon){self.onPolygonClosed(polygon)}),google.maps.event.addListener(this.googleDrawingManager,"polylinecomplete",function(polyline){self.onPolylineComplete(polyline)}),google.maps.event.addListener(this.googleDrawingManager,"circlecomplete",function(circle){self.onCircleComplete(circle)}),google.maps.event.addListener(this.googleDrawingManager,"rectanglecomplete",function(rectangle){self.onRectangleComplete(rectangle)})},WPGMZA.GoogleDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.GoogleDrawingManager.prototype.constructor=WPGMZA.GoogleDrawingManager,WPGMZA.GoogleDrawingManager.prototype.setDrawingMode=function(mode){var googleMode;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:googleMode=null;break;case WPGMZA.DrawingManager.MODE_POLYGON:googleMode=google.maps.drawing.OverlayType.POLYGON;break;case WPGMZA.DrawingManager.MODE_POLYLINE:googleMode=google.maps.drawing.OverlayType.POLYLINE;break;case WPGMZA.DrawingManager.MODE_CIRCLE:googleMode=google.maps.drawing.OverlayType.CIRCLE;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:googleMode=null;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;default:throw new Error("Invalid drawing mode")}this.googleDrawingManager.setDrawingMode(googleMode)},WPGMZA.GoogleDrawingManager.prototype.setOptions=function(options){this.googleDrawingManager.setOptions({polygonOptions:options,polylineOptions:options})},WPGMZA.GoogleDrawingManager.prototype.onVertexClicked=function(event){},WPGMZA.GoogleDrawingManager.prototype.onPolygonClosed=function(googlePolygon){var event=new WPGMZA.Event("polygonclosed");event.enginePolygon=googlePolygon,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onPolylineComplete=function(googlePolyline){var event=new WPGMZA.Event("polylinecomplete");event.enginePolyline=googlePolyline,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onCircleComplete=function(googleCircle){var event=new WPGMZA.Event("circlecomplete");event.engineCircle=googleCircle,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onRectangleComplete=function(googleRectangle){var event;this.mode===WPGMZA.DrawingManager.MODE_IMAGEOVERLAY?this.onImageoverlayComplete(googleRectangle):((event=new WPGMZA.Event("rectanglecomplete")).engineRectangle=googleRectangle,this.dispatchEvent(event))},WPGMZA.GoogleDrawingManager.prototype.onHeatmapPointAdded=function(googleMarker){var position=WPGMZA.LatLng.fromGoogleLatLng(googleMarker.getPosition()),googleMarker=(googleMarker.setMap(null),WPGMZA.Marker.createInstance()),image=(googleMarker.setPosition(position),{url:WPGMZA.imageFolderURL+"heatmap-point.png",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(13,13)}),image=(googleMarker.googleMarker.setIcon(image),this.map.addMarker(googleMarker),new WPGMZA.Event("heatmappointadded"));image.position=position,this.trigger(image)},WPGMZA.GoogleDrawingManager.prototype.onImageoverlayComplete=function(rectangle){var event=new WPGMZA.Event("imageoverlaycomplete");event.engineImageoverlay={googleRectangle:rectangle},this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.GoogleGeocoder=function(){},WPGMZA.GoogleGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.GoogleGeocoder.prototype.constructor=WPGMZA.GoogleGeocoder,WPGMZA.GoogleGeocoder.prototype.getLatLngFromAddress=function(options,callback){if(options&&options.address)return options.lat&&options.lng&&(latLng={lat:options.lat,lng:options.lng},callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng,bounds:null}],WPGMZA.Geocoder.SUCCESS)),WPGMZA.isLatLngString(options.address)?WPGMZA.Geocoder.prototype.getLatLngFromAddress.call(this,options,callback):(options.country&&(options.componentRestrictions={country:options.country}),void(new google.maps.Geocoder).geocode(options,function(results,status){var bounds,location;status==google.maps.GeocoderStatus.OK?(location={lat:(location=results[0].geometry.location).lat(),lng:location.lng()},bounds=null,results[0].geometry.bounds&&(bounds=WPGMZA.LatLngBounds.fromGoogleLatLngBounds(results[0].geometry.bounds)),callback(results=[{geometry:{location:location},latLng:location,lat:location.lat,lng:location.lng,bounds:bounds}],WPGMZA.Geocoder.SUCCESS)):(location=WPGMZA.Geocoder.FAIL,status==google.maps.GeocoderStatus.ZERO_RESULTS&&(location=WPGMZA.Geocoder.ZERO_RESULTS),callback(null,location))}));var latLng;nativeStatus=WPGMZA.Geocoder.NO_ADDRESS,callback(null,nativeStatus)},WPGMZA.GoogleGeocoder.prototype.getAddressFromLatLng=function(options,callback){if(!options||!options.latLng)throw new Error("No latLng specified");var latLng=new WPGMZA.LatLng(options.latLng),geocoder=new google.maps.Geocoder,options=$.extend(options,{location:{lat:latLng.lat,lng:latLng.lng}});let fullResult=!1;options.fullResult&&(fullResult=!0,delete options.fullResult),delete options.latLng,geocoder.geocode(options,function(results,status){"OK"!==status&&callback(null,WPGMZA.Geocoder.FAIL),results&&results.length||callback([],WPGMZA.Geocoder.NO_RESULTS),fullResult?callback([results[0]],WPGMZA.Geocoder.SUCCESS):callback([results[0].formatted_address],WPGMZA.Geocoder.SUCCESS)})}}),jQuery(function($){WPGMZA.settings.engine&&"google-maps"!=WPGMZA.settings.engine||window.google&&window.google.maps&&(WPGMZA.GoogleHTMLOverlay=function(map){this.element=$("<div class='wpgmza-google-html-overlay'></div>"),this.visible=!0,this.position=new WPGMZA.LatLng,this.setMap(map.googleMap),this.wpgmzaMap=map},WPGMZA.GoogleHTMLOverlay.prototype=new google.maps.OverlayView,WPGMZA.GoogleHTMLOverlay.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.element[0])},WPGMZA.GoogleHTMLOverlay.prototype.onRemove=function(){this.element&&$(this.element).parent().length&&($(this.element).remove(),this.element=null)},WPGMZA.GoogleHTMLOverlay.prototype.draw=function(){this.updateElementPosition()},WPGMZA.GoogleHTMLOverlay.prototype.updateElementPosition=function(){var projection=this.getProjection();projection&&(projection=projection.fromLatLngToDivPixel(this.position.toGoogleLatLng()),$(this.element).css({left:projection.x,top:projection.y}))})}),jQuery(function($){var Parent;WPGMZA.GoogleInfoWindow=function(feature){Parent.call(this,feature),this.setFeature(feature)},WPGMZA.GoogleInfoWindow.Z_INDEX=99,Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.GoogleInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.GoogleInfoWindow.prototype.constructor=WPGMZA.GoogleInfoWindow,WPGMZA.GoogleInfoWindow.prototype.setFeature=function(feature){(this.feature=feature)instanceof WPGMZA.Marker?this.googleObject=feature.googleMarker:feature instanceof WPGMZA.Polygon?this.googleObject=feature.googlePolygon:feature instanceof WPGMZA.Polyline&&(this.googleObject=feature.googlePolyline)},WPGMZA.GoogleInfoWindow.prototype.createGoogleInfoWindow=function(){var self=this;this.googleInfoWindow||(this.googleInfoWindow=new google.maps.InfoWindow,this.googleInfoWindow.setZIndex(WPGMZA.GoogleInfoWindow.Z_INDEX),google.maps.event.addListener(this.googleInfoWindow,"domready",function(event){self.trigger("domready")}),google.maps.event.addListener(this.googleInfoWindow,"closeclick",function(event){self.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(self.state=WPGMZA.InfoWindow.STATE_CLOSED,self.feature.map.trigger("infowindowclose"))}))},WPGMZA.GoogleInfoWindow.prototype.open=function(map,feature){var self=this;if(!Parent.prototype.open.call(this,map,feature))return!1;this.parent=map,this.createGoogleInfoWindow(),this.setFeature(feature),void 0!==feature._osDisableAutoPan&&(feature._osDisableAutoPan?(this.googleInfoWindow.setOptions({disableAutoPan:!0}),feature._osDisableAutoPan=!1):this.googleInfoWindow.setOptions({disableAutoPan:!1})),this.googleInfoWindow.open(this.feature.map.googleMap,this.googleObject);var intervalID,guid=WPGMZA.guid(),map=WPGMZA.isProVersion()?"":this.addEditButton(),feature="<div id='"+guid+"'>"+map+" "+this.content+"</div>";return this.googleInfoWindow.setContent(feature),intervalID=setInterval(function(event){(div=$("#"+guid)).length&&(clearInterval(intervalID),div[0].wpgmzaFeature=self.feature,div.addClass("wpgmza-infowindow"),self.element=div[0],self.trigger("infowindowopen"))},50),!0},WPGMZA.GoogleInfoWindow.prototype.close=function(){this.googleInfoWindow&&(WPGMZA.InfoWindow.prototype.close.call(this),this.googleInfoWindow.close())},WPGMZA.GoogleInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html,this.createGoogleInfoWindow(),this.googleInfoWindow.setContent(html)},WPGMZA.GoogleInfoWindow.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.createGoogleInfoWindow(),this.googleInfoWindow.setOptions(options)}}),jQuery(function($){var Parent;WPGMZA.GoogleMap=function(element,options){var self=this;Parent.call(this,element,options),this.loadGoogleMap(),options?this.setOptions(options,!0):this.setOptions({},!0),google.maps.event.addListener(this.googleMap,"click",function(event){var wpgmzaEvent=new WPGMZA.Event("click");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"rightclick",function(event){var wpgmzaEvent=new WPGMZA.Event("rightclick");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"dragend",function(event){self.dispatchEvent("dragend")}),google.maps.event.addListener(this.googleMap,"zoom_changed",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged")}),google.maps.event.addListener(this.googleMap,"idle",function(event){self.onIdle(event)}),this.googleMap.getStreetView()&&(google.maps.event.addListener(this.googleMap.getStreetView(),"visible_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_visible_changed");wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"position_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_position_changed");const position=this.getPosition();position&&(wpgmzaEvent.latLng={lat:position.lat(),lng:position.lng()}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"pov_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_pov_changed"),pov=this.getPov();pov&&(wpgmzaEvent.pov={heading:pov.heading,pitch:pov.pitch}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)})),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},WPGMZA.isProVersion()?(Parent=WPGMZA.ProMap,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.ProMap.prototype)):(Parent=WPGMZA.Map,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.Map.prototype)),WPGMZA.GoogleMap.prototype.constructor=WPGMZA.GoogleMap,WPGMZA.GoogleMap.parseThemeData=function(raw){var json;try{json=JSON.parse(raw)}catch(e){try{json=eval(raw)}catch(e){var str=raw,str=str.replace(/\\'/g,"'");str=str.replace(/\\"/g,'"'),str=str.replace(/\\0/g,"\0"),str=str.replace(/\\\\/g,"\\");try{json=eval(str)}catch(e){return console.warn("Couldn't parse theme data"),[]}}}return json},WPGMZA.GoogleMap.prototype.loadGoogleMap=function(){var self=this,options=this.settings.toGoogleMapsOptions();this.googleMap=new google.maps.Map(this.engineElement,options),google.maps.event.addListener(this.googleMap,"bounds_changed",function(){self.onBoundsChanged()}),1==this.settings.bicycle&&this.enableBicycleLayer(!0),1==this.settings.traffic&&this.enableTrafficLayer(!0),this.settings.transport_layer&&this.enablePublicTransportLayer(!0),this.showPointsOfInterest(this.settings.wpgmza_show_point_of_interest),$(this.engineElement).append($(this.element).find(".wpgmza-loader"))},WPGMZA.GoogleMap.prototype.setOptions=function(options,initializing){Parent.prototype.setOptions.call(this,options),options.scrollwheel&&delete options.scrollwheel,initializing?(initializing=$.extend(options,this.settings.toGoogleMapsOptions()),!(initializing=$.extend({},initializing)).center instanceof google.maps.LatLng&&(initializing.center instanceof WPGMZA.LatLng||"object"==typeof initializing.center)&&(initializing.center={lat:parseFloat(initializing.center.lat),lng:parseFloat(initializing.center.lng)}),this.settings.hide_point_of_interest&&(initializing.styles||(initializing.styles=[]),initializing.styles.push({featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]})),this.googleMap.setOptions(initializing)):this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.addMarker=function(marker){marker.googleMarker.setMap(this.googleMap),Parent.prototype.addMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.removeMarker=function(marker){marker.googleMarker.setMap(null),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.addPolygon=function(polygon){polygon.googlePolygon.setMap(this.googleMap),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.removePolygon=function(polygon){polygon.googlePolygon.setMap(null),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.addPolyline=function(polyline){polyline.googlePolyline.setMap(this.googleMap),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.removePolyline=function(polyline){polyline.googlePolyline.setMap(null),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.addCircle=function(circle){circle.googleCircle.setMap(this.googleMap),Parent.prototype.addCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.removeCircle=function(circle){circle.googleCircle.setMap(null),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.addRectangle=function(rectangle){rectangle.googleRectangle.setMap(this.googleMap),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.removeRectangle=function(rectangle){rectangle.googleRectangle.setMap(null),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.getCenter=function(){var latLng=this.googleMap.getCenter();return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.setCenter=function(latLng){WPGMZA.Map.prototype.setCenter.call(this,latLng),latLng instanceof WPGMZA.LatLng?this.googleMap.setCenter({lat:latLng.lat,lng:latLng.lng}):this.googleMap.setCenter(latLng)},WPGMZA.GoogleMap.prototype.panTo=function(latLng){latLng instanceof WPGMZA.LatLng?this.googleMap.panTo({lat:latLng.lat,lng:latLng.lng}):this.googleMap.panTo(latLng)},WPGMZA.GoogleMap.prototype.getZoom=function(){return this.googleMap.getZoom()},WPGMZA.GoogleMap.prototype.setZoom=function(value){if(isNaN(value))throw new Error("Value must not be NaN");return this.googleMap.setZoom(parseInt(value))},WPGMZA.GoogleMap.prototype.getBounds=function(){var nativeBounds=new WPGMZA.LatLngBounds({});try{var bounds=this.googleMap.getBounds(),northEast=bounds.getNorthEast(),southWest=bounds.getSouthWest();nativeBounds.north=northEast.lat(),nativeBounds.south=southWest.lat(),nativeBounds.west=southWest.lng(),nativeBounds.east=northEast.lng(),nativeBounds.topLeft={lat:northEast.lat(),lng:southWest.lng()},nativeBounds.bottomRight={lat:southWest.lat(),lng:northEast.lng()}}catch(ex){}return nativeBounds},WPGMZA.GoogleMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=new google.maps.LatLngBounds(southWest,northEast);this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.fitBoundsToVisibleMarkers=function(){for(var bounds=new google.maps.LatLngBounds,i=0;i<this.markers.length;i++)markers[i].getVisible()&&bounds.extend(markers[i].getPosition());this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.enableBicycleLayer=function(enable){this.bicycleLayer||(this.bicycleLayer=new google.maps.BicyclingLayer),this.bicycleLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enableTrafficLayer=function(enable){this.trafficLayer||(this.trafficLayer=new google.maps.TrafficLayer),this.trafficLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enablePublicTransportLayer=function(enable){this.publicTransportLayer||(this.publicTransportLayer=new google.maps.TransitLayer),this.publicTransportLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.showPointsOfInterest=function(show){var text=$("textarea[name='theme_data']").val();text&&((text=JSON.parse(text)).push({featureType:"poi",stylers:[{visibility:show?"on":"off"}]}),this.googleMap.setOptions({styles:text}))},WPGMZA.GoogleMap.prototype.getMinZoom=function(){return parseInt(this.settings.min_zoom)},WPGMZA.GoogleMap.prototype.setMinZoom=function(value){this.googleMap.setOptions({minZoom:value,maxZoom:this.getMaxZoom()})},WPGMZA.GoogleMap.prototype.getMaxZoom=function(){return parseInt(this.settings.max_zoom)},WPGMZA.GoogleMap.prototype.setMaxZoom=function(value){this.googleMap.setOptions({minZoom:this.getMinZoom(),maxZoom:value})},WPGMZA.GoogleMap.prototype.latLngToPixels=function(latLng){var map=this.googleMap,latLng=new google.maps.LatLng({lat:parseFloat(latLng.lat),lng:parseFloat(latLng.lng)}),topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),map=map.getProjection().fromLatLngToPoint(latLng);return{x:(map.x-bottomLeft.x)*scale,y:(map.y-topRight.y)*scale}},WPGMZA.GoogleMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var map=this.googleMap,topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),x=new google.maps.Point(x/scale+bottomLeft.x,y/scale+topRight.y),bottomLeft=map.getProjection().fromPointToLatLng(x);return{lat:bottomLeft.lat(),lng:bottomLeft.lng()}},WPGMZA.GoogleMap.prototype.onElementResized=function(event){this.googleMap&&google.maps.event.trigger(this.googleMap,"resize")},WPGMZA.GoogleMap.prototype.enableAllInteractions=function(){var options={scrollwheel:!0,draggable:!0,disableDoubleClickZoom:!1};this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.openStreetView=function(options){if(this.googleMap.getStreetView()){if(options&&(options.position&&options.position instanceof WPGMZA.LatLng&&this.googleMap.getStreetView().setPosition(options.position.toGoogleLatLng()),options.heading||options.pitch)){const pov={};options.heading&&(pov.heading=parseFloat(options.heading)),options.pitch&&(pov.pitch=parseFloat(options.pitch)),this.googleMap.getStreetView().setPov(pov)}this.googleMap.getStreetView().setVisible(!0)}},WPGMZA.GoogleMap.prototype.closeStreetView=function(){this.googleMap.getStreetView()&&this.googleMap.getStreetView().setVisible(!1)},WPGMZA.GoogleMap.prototype.isFullScreen=function(){return!(WPGMZA.Map.prototype.isFullScreen.call(this)||!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.firstChild.offsetHeight))},WPGMZA.GoogleMap.prototype.onFullScreenChange=function(fullscreen){if(Parent.prototype.onFullScreenChange.call(this,fullscreen),fullscreen&&!this._stackedComponentsMoved&&this.element.firstChild){const innerContainer=this.element.firstChild;$(this.element).find(".wpgmza-inner-stack").each(function(index,element){$(element).appendTo(innerContainer)}),this._stackedComponentsMoved=!0}}}),jQuery(function($){var Parent;WPGMZA.GoogleMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toGoogleLatLng():options[name]instanceof WPGMZA.Map||"icon"==name||(settings[name]=options[name]);this.googleMarker=new google.maps.Marker(settings),(this.googleMarker.wpgmzaMarker=this).googleFeature=this.googleMarker,this.googleMarker.setPosition(new google.maps.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})),this.anim&&this.googleMarker.setAnimation(this.anim),this.animation&&this.googleMarker.setAnimation(this.animation),google.maps.event.addListener(this.googleMarker,"click",function(){self.dispatchEvent("click"),self.dispatchEvent("select")}),google.maps.event.addListener(this.googleMarker,"mouseover",function(){self.dispatchEvent("mouseover")}),google.maps.event.addListener(this.googleMarker,"mouseout",function(){self.dispatchEvent("mouseout")}),google.maps.event.addListener(this.googleMarker,"dragend",function(){var googleMarkerPosition=self.googleMarker.getPosition();self.setPosition({lat:googleMarkerPosition.lat(),lng:googleMarkerPosition.lng()}),self.dispatchEvent({type:"dragend",latLng:self.getPosition()}),self.trigger("change")}),this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.GoogleMarker.prototype=Object.create(Parent.prototype),WPGMZA.GoogleMarker.prototype.constructor=WPGMZA.GoogleMarker,Object.defineProperty(WPGMZA.GoogleMarker.prototype,"opacity",{get:function(){return this._opacity},set:function(value){this._opacity=value,this.googleMarker.setOpacity(value)}}),WPGMZA.GoogleMarker.prototype.setLabel=function(label){label?(this.googleMarker.setLabel({text:label}),this.googleMarker.getIcon()||this.googleMarker.setIcon(WPGMZA.settings.default_marker_icon)):this.googleMarker.setLabel(null)},WPGMZA.GoogleMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng),this.googleMarker.setPosition({lat:this.lat,lng:this.lng})},WPGMZA.GoogleMarker.prototype.updateOffset=function(){var self=this,icon=this.googleMarker.getIcon(),img=new Image,x=this._offset.x,y=this._offset.y,params="string"==typeof(icon=icon||WPGMZA.settings.default_marker_icon)?{url:icon}:icon;img.onload=function(){var defaultAnchor_x=img.width/2,defaultAnchor_y=img.height;params.anchor=new google.maps.Point(defaultAnchor_x-x,defaultAnchor_y-y),self.googleMarker.setIcon(params)},img.src=params.url},WPGMZA.GoogleMarker.prototype.setOptions=function(options){this.googleMarker.setOptions(options)},WPGMZA.GoogleMarker.prototype.setAnimation=function(animation){Parent.prototype.setAnimation.call(this,animation),this.googleMarker.setAnimation(animation)},WPGMZA.GoogleMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible.call(this,visible),this.googleMarker.setVisible(!!visible)},WPGMZA.GoogleMarker.prototype.getVisible=function(visible){return this.googleMarker.getVisible()},WPGMZA.GoogleMarker.prototype.setDraggable=function(draggable){this.googleMarker.setDraggable(draggable)},WPGMZA.GoogleMarker.prototype.setOpacity=function(opacity){this.googleMarker.setOpacity(opacity)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocatorCircle=function(map,settings){var self=this;WPGMZA.ModernStoreLocatorCircle.call(this,map,settings),this.intervalID=setInterval(function(){var mapSize={width:$(self.mapElement).width(),height:$(self.mapElement).height()};mapSize.width==self.mapSize.width&&mapSize.height==self.mapSize.height||(self.canvasLayer.resize_(),self.canvasLayer.draw(),self.mapSize=mapSize)},1e3),$(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){self.canvasLayer.resize_(),self.canvasLayer.draw()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.GoogleModernStoreLocatorCircle.prototype.constructor=WPGMZA.GoogleModernStoreLocatorCircle,WPGMZA.GoogleModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this;this.canvasLayer&&(this.canvasLayer.setMap(null),this.canvasLayer.setAnimate(!1)),this.canvasLayer=new CanvasLayer({map:this.map.googleMap,resizeHandler:function(event){self.onResize(event)},updateHandler:function(event){self.onUpdate(event)},animate:!0,resolutionScale:this.getResolutionScale()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setOptions=function(options){WPGMZA.ModernStoreLocatorCircle.prototype.setOptions.call(this,options),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setPosition=function(position){WPGMZA.ModernStoreLocatorCircle.prototype.setPosition.call(this,position),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setRadius=function(radius){WPGMZA.ModernStoreLocatorCircle.prototype.setRadius.call(this,radius),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var spherical=google.maps.geometry.spherical,center=this.settings.center,equator=new WPGMZA.LatLng({lat:0,lng:0}),center=new WPGMZA.LatLng({lat:center.lat,lng:0}),equator=spherical.computeOffset(equator.toGoogleLatLng(),1e3*km,90),spherical=.006395*km*(spherical.computeOffset(center.toGoogleLatLng(),1e3*km,90).lng()/equator.lng());if(isNaN(spherical))throw new Error("here");return spherical},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvasLayer.canvas.width,height:this.canvasLayer.canvas.height}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){var position=this.map.googleMap.getProjection().fromLatLngToPoint(this.canvasLayer.getTopLeft());return{x:-position.x,y:-position.y}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCenterPixels=function(){var center=new WPGMZA.LatLng(this.settings.center);return this.map.googleMap.getProjection().fromLatLngToPoint(center.toGoogleLatLng())},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvasLayer.canvas.getContext("2d")},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getScale=function(){return Math.pow(2,this.map.getZoom())*this.getResolutionScale()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setVisible=function(visible){WPGMZA.ModernStoreLocatorCircle.prototype.setVisible.call(this,visible),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.destroy=function(){this.canvasLayer.setMap(null),this.canvasLayer=null,clearInterval(this.intervalID)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocator=function(map_id){var map=this.map=WPGMZA.getMapByID(map_id),map_id=(WPGMZA.ModernStoreLocator.call(this,map_id),map.settings.wpgmza_store_locator_restrict);this.addressInput=$(this.element).find(".addressInput, #addressInput")[0],this.addressInput&&map_id&&map_id.length,this.map.googleMap.controls[google.maps.ControlPosition.TOP_CENTER].push(this.element)},WPGMZA.GoogleModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator.prototype),WPGMZA.GoogleModernStoreLocator.prototype.constructor=WPGMZA.GoogleModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.GooglePointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),(this.googleFeature=this).setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.GooglePointlabel,Parent),WPGMZA.GooglePointlabel.prototype.setOptions=function(options){options.name&&this.textFeature.setText(options.name)}}),jQuery(function($){var Parent;WPGMZA.GooglePolygon=function(options,googlePolygon){var self=this;Parent.call(this,options=options||{},googlePolygon),this.googlePolygon=googlePolygon||new google.maps.Polygon,this.googleFeature=this.googlePolygon,options&&options.polydata&&this.googlePolygon.setOptions({paths:this.parseGeometry(options.polydata)}),this.googlePolygon.wpgmzaPolygon=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolygon,"click",function(){self.dispatchEvent({type:"click"})})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.GooglePolygon.prototype=Object.create(Parent.prototype),WPGMZA.GooglePolygon.prototype.constructor=WPGMZA.GooglePolygon,WPGMZA.GooglePolygon.prototype.updateNativeFeature=function(){this.googlePolygon.setOptions(this.getScalarProperties())},WPGMZA.GooglePolygon.prototype.getEditable=function(){return this.googlePolygon.getOptions().editable},WPGMZA.GooglePolygon.prototype.setEditable=function(value){var self=this;this.googlePolygon.setOptions({editable:value}),value&&(this.googlePolygon.getPaths().forEach(function(path,index){["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})})}),google.maps.event.addListener(this.googlePolygon,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolygon,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolygon.prototype.setDraggable=function(value){this.googlePolygon.setDraggable(value)},WPGMZA.GooglePolygon.prototype.getGeometry=function(){for(var result=[],path=this.googlePolygon.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){WPGMZA.GooglePolyline=function(options,googlePolyline){var self=this;WPGMZA.Polyline.call(this,options,googlePolyline),this.googlePolyline=googlePolyline||new google.maps.Polyline(this.settings),this.googleFeature=this.googlePolyline,options&&options.polydata&&(googlePolyline=this.parseGeometry(options.polydata),this.googlePolyline.setPath(googlePolyline)),this.googlePolyline.wpgmzaPolyline=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolyline,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.GooglePolyline.prototype=Object.create(WPGMZA.Polyline.prototype),WPGMZA.GooglePolyline.prototype.constructor=WPGMZA.GooglePolyline,WPGMZA.GooglePolyline.prototype.updateNativeFeature=function(){this.googlePolyline.setOptions(this.getScalarProperties())},WPGMZA.GooglePolyline.prototype.setEditable=function(value){var path,self=this;this.googlePolyline.setOptions({editable:value}),value&&(path=this.googlePolyline.getPath(),["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})}),google.maps.event.addListener(this.googlePolyline,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolyline,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolyline.prototype.setDraggable=function(value){this.googlePolyline.setOptions({draggable:value})},WPGMZA.GooglePolyline.prototype.getGeometry=function(){for(var result=[],path=this.googlePolyline.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.GoogleRectangle=function(options,googleRectangle){var self=this;Parent.call(this,options=options||{},googleRectangle),googleRectangle?(this.googleRectangle=googleRectangle,this.cornerA=options.cornerA=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getNorthEast().lat(),lng:googleRectangle.getBounds().getSouthWest().lng()}),this.cornerB=options.cornerB=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getSouthWest().lat(),lng:googleRectangle.getBounds().getNorthEast().lng()})):(this.googleRectangle=new google.maps.Rectangle,this.googleRectangle.wpgmzaRectangle=this),this.googleFeature=this.googleRectangle,options&&this.setOptions(options),google.maps.event.addListener(this.googleRectangle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.GoogleRectangle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleRectangle.prototype.constructor=WPGMZA.GoogleRectangle,WPGMZA.GoogleRectangle.prototype.getBounds=function(){return WPGMZA.LatLngBounds.fromGoogleLatLngBounds(this.googleRectangle.getBounds())},WPGMZA.GoogleRectangle.prototype.setVisible=function(visible){this.googleRectangle.setVisible(!!visible)},WPGMZA.GoogleRectangle.prototype.setDraggable=function(value){this.googleRectangle.setDraggable(!!value)},WPGMZA.GoogleRectangle.prototype.setEditable=function(value){var self=this;this.googleRectangle.setEditable(!!value),value&&google.maps.event.addListener(this.googleRectangle,"bounds_changed",function(event){self.trigger("change")})},WPGMZA.GoogleRectangle.prototype.setOptions=function(options){WPGMZA.Rectangle.prototype.setOptions.apply(this,arguments),options.cornerA&&options.cornerB&&(this.cornerA=new WPGMZA.LatLng(options.cornerA),this.cornerB=new WPGMZA.LatLng(options.cornerB))},WPGMZA.GoogleRectangle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),north=parseFloat(this.cornerA.lat),west=parseFloat(this.cornerA.lng),south=parseFloat(this.cornerB.lat),east=parseFloat(this.cornerB.lng);north&&west&&south&&east&&(googleOptions.bounds={north:north,west:west,south:south,east:east}),this.googleRectangle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.GoogleTextOverlay(options)},WPGMZA.extend(WPGMZA.GoogleText,WPGMZA.Text)}),jQuery(function($){WPGMZA.GoogleTextOverlay=function(options){this.element=$("<div class='wpgmza-google-text-overlay'><div class='wpgmza-inner'></div></div>"),(options=options||{}).position&&(this.position=options.position),options.text&&this.element.find(".wpgmza-inner").text(options.text),options.map&&this.setMap(options.map.googleMap)},window.google&&google.maps&&google.maps.OverlayView&&(WPGMZA.GoogleTextOverlay.prototype=new google.maps.OverlayView),WPGMZA.GoogleTextOverlay.prototype.onAdd=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"}),this.getPanes().floatPane.appendChild(this.element[0])},WPGMZA.GoogleTextOverlay.prototype.draw=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"})},WPGMZA.GoogleTextOverlay.prototype.onRemove=function(){this.element.remove()},WPGMZA.GoogleTextOverlay.prototype.hide=function(){this.element.hide()},WPGMZA.GoogleTextOverlay.prototype.show=function(){this.element.show()},WPGMZA.GoogleTextOverlay.prototype.toggle=function(){this.element.is(":visible")?this.element.hide():this.element.show()},WPGMZA.GoogleTextOverlay.prototype.setPosition=function(position){this.position=position},WPGMZA.GoogleTextOverlay.prototype.setText=function(text){this.element.find(".wpgmza-inner").text(text)},WPGMZA.GoogleTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.element.find(".wpgmza-inner").css("font-size",size+"px")},WPGMZA.GoogleTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("color",color)},WPGMZA.GoogleTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("--wpgmza-color-white",color)},WPGMZA.GoogleTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.element.find(".wpgmza-inner").css("opacity",opacity)},WPGMZA.GoogleTextOverlay.prototype.remove=function(){this.element&&this.element.remove()}}),jQuery(function($){"google-maps"!=WPGMZA.settings.engine||WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code||(WPGMZA.GoogleVertexContextMenu=function(mapEditPage){var self=this;this.mapEditPage=mapEditPage,this.element=document.createElement("div"),this.element.className="wpgmza-vertex-context-menu",this.element.innerHTML="Delete",google.maps.event.addDomListener(this.element,"click",function(event){return self.removeVertex(),event.preventDefault(),event.stopPropagation(),!1})},WPGMZA.GoogleVertexContextMenu.prototype=new google.maps.OverlayView,WPGMZA.GoogleVertexContextMenu.prototype.onAdd=function(){var self=this,map=this.getMap();this.getPanes().floatPane.appendChild(this.element),this.divListener=google.maps.event.addDomListener(map.getDiv(),"mousedown",function(e){e.target!=self.element&&self.close()},!0)},WPGMZA.GoogleVertexContextMenu.prototype.onRemove=function(){google.maps.event.removeListener(this.divListener),this.element.parentNode.removeChild(this.element),this.set("position"),this.set("path"),this.set("vertex")},WPGMZA.GoogleVertexContextMenu.prototype.open=function(map,path,vertex){this.set("position",path.getAt(vertex)),this.set("path",path),this.set("vertex",vertex),this.setMap(map),this.draw()},WPGMZA.GoogleVertexContextMenu.prototype.close=function(){this.setMap(null)},WPGMZA.GoogleVertexContextMenu.prototype.draw=function(){var position=this.get("position"),projection=this.getProjection();position&&projection&&(projection=projection.fromLatLngToDivPixel(position),this.element.style.top=projection.y+"px",this.element.style.left=projection.x+"px")},WPGMZA.GoogleVertexContextMenu.prototype.removeVertex=function(){var path=this.get("path"),vertex=this.get("vertex");path&&null!=vertex&&path.removeAt(vertex),this.close()})}),jQuery(function($){WPGMZA.FeaturePanel=function(element,mapEditPage){var self=this;WPGMZA.EventDispatcher.apply(this,arguments),this.map=mapEditPage.map,this.drawingManager=mapEditPage.drawingManager,this.writersblock=!1,this.feature=null,this.element=element,this.initDefaults(),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.drawingInstructionsElement=$(this.element).find(".wpgmza-feature-drawing-instructions"),this.drawingInstructionsElement.detach(),this.editingInstructionsElement=$(this.element).find(".wpgmza-feature-editing-instructions"),this.editingInstructionsElement.detach(),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.newPanel[0],self.element[0])&&self.onTabActivated(event)}),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.oldPanel[0],self.element[0])&&self.onTabDeactivated(event)}),$(".grouping").on("feature-block-opened",function(event){$(event.currentTarget).data("feature")===self.featureType?self.onTabActivated(event):self.onTabDeactivated(event)}),$(".grouping").on("feature-block-closed",function(event){self.onTabDeactivated(event),mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE)}),$(document.body).on("click","[data-edit-"+this.featureType+"-id]",function(event){self.onEditFeature(event)}),$(document.body).on("click","[data-delete-"+this.featureType+"-id]",function(event){self.onDeleteFeature(event)}),$(this.element).find(".wpgmza-save-feature").on("click",function(event){self.onSave(event)}),this.drawingManager.on(self.drawingManagerCompleteEvent,function(event){self.onDrawingComplete(event)}),this.drawingManager.on("drawingmodechanged",function(event){self.onDrawingModeChanged(event)}),$(this.element).on("change input",function(event){self.onPropertyChanged(event)})},WPGMZA.extend(WPGMZA.FeaturePanel,WPGMZA.EventDispatcher),WPGMZA.FeaturePanel.MODE_ADD="add",WPGMZA.FeaturePanel.MODE_EDIT="edit",WPGMZA.FeaturePanel.prevEditableFeature=null,Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"drawingManagerCompleteEvent",{get:function(){return this.featureType+"complete"}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureDataTable",{get:function(){return $("[data-wpgmza-datatable][data-wpgmza-feature-type='"+this.featureType+"']")[0].wpgmzaDataTable}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureAccordion",{get:function(){return $(this.element).closest(".wpgmza-accordion")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"map",{get:function(){return WPGMZA.mapEditPage.map}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"mode",{get:function(){return this._mode}}),WPGMZA.FeaturePanel.prototype.initPreloader=function(){this.preloader||(this.preloader=$(WPGMZA.preloaderHTML),this.preloader.hide(),$(this.element).append(this.preloader))},WPGMZA.FeaturePanel.prototype.initDataTable=function(){var el=$(this.element).find("[data-wpgmza-datatable][data-wpgmza-rest-api-route]");this[this.featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)},WPGMZA.FeaturePanel.prototype.initDefaults=function(){$(this.element).find("[data-ajax-name]:not([type='radio'])").each(function(index,el){var val=$(el).val();val&&$(el).attr("data-default-value",val)})},WPGMZA.FeaturePanel.prototype.setCaptionType=function(type,id){var icons={add:"fa-plus-circle",save:"fa-pencil-square-o"};switch(type){case WPGMZA.FeaturePanel.MODE_ADD:case WPGMZA.FeaturePanel.MODE_EDIT:this.featureAccordion.find("[data-add-caption][data-edit-caption]").each(function(index,el){var text=$(el).attr("data-"+type+"-caption"),icon=$(el).find("i.fa");id&&(text+=" "+id),$(el).text(text),icon.length&&((icon=$("<i class='fa' aria-hidden='true'></i>")).addClass(icons[type]),$(el).prepend(" "),$(el).prepend(icon))}),this.sidebarTriggerDelegate("feature-caption-loaded");break;default:throw new Error("Invalid type")}},WPGMZA.FeaturePanel.prototype.setMode=function(type,id){this._mode=type,this.setCaptionType(type,id)},WPGMZA.FeaturePanel.prototype.setTargetFeature=function(feature){var prev,self=this;WPGMZA.FeaturePanel.prevEditableFeature&&((prev=WPGMZA.FeaturePanel.prevEditableFeature).setEditable(!1),prev.setDraggable(!1),prev.off("change")),feature?(feature.setEditable(!0),feature.setDraggable(!0),feature.on("change",function(event){self.onFeatureChanged(event)}),this.setMode(WPGMZA.FeaturePanel.MODE_EDIT),this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showInstructions()):this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.feature=WPGMZA.FeaturePanel.prevEditableFeature=feature},WPGMZA.FeaturePanel.prototype.reset=function(){$(this.element).find("[data-ajax-name]:not([data-ajax-name='map_id']):not([type='color']):not([type='checkbox']):not([type='radio'])").val(""),$(this.element).find("select[data-ajax-name]>option:first-child").prop("selected",!0),$(this.element).find("[data-ajax-name='id']").val("-1"),$(this.element).find("input[type='checkbox']").prop("checked",!1),WPGMZA.InternalEngine.isLegacy()?tinyMCE.get("wpgmza-description-editor")?tinyMCE.get("wpgmza-description-editor").setContent(""):$("#wpgmza-description-editor").val(""):("undefined"!=typeof WritersBlock&&0!=this.writersblock&&this.writersblock.ready?(this.writersblock.setContent(""),this.writersblock.elements&&this.writersblock.elements._codeEditor&&(this.writersblock.elements._codeEditor.value="")):$("#wpgmza-description-editor").val(""),$(this.element).find("input.wpgmza-color-input").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor($(this).data("default-value")||this.value)})),$("#wpgmza-description-editor").val(""),$(this.element).find(".wpgmza-image-single-input").trigger("change"),this.showPreloader(!1),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),$(this.element).find("[data-ajax-name][data-default-value]").each(function(index,el){$(el).val($(el).data("default-value"))})},WPGMZA.FeaturePanel.prototype.select=function(arg){var id,expectedBaseClass,self=this;if(this.reset(),WPGMZA.isNumeric(arg))id=arg;else{if(expectedBaseClass=WPGMZA[WPGMZA.capitalizeWords(this.featureType)],!(feature instanceof expectedBaseClass))throw new Error("Invalid feature type for this panel");id=arg.id}this.showPreloader(!0),this.sidebarTriggerDelegate("edit"),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll($(".wpgmza_map")),WPGMZA.restAPI.call("/"+this.featureType+"s/"+id+"?skip_cache=1",{success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),functionSuffix=self.map["get"+functionSuffix+"ByID"](id);self.populate(data),self.showPreloader(!1),self.setMode(WPGMZA.FeaturePanel.MODE_EDIT,id),self.setTargetFeature(functionSuffix)}})},WPGMZA.FeaturePanel.prototype.showPreloader=function(show){this.initPreloader(),0==arguments.length||show?(this.preloader.fadeIn(),this.element.addClass("wpgmza-loading")):(this.preloader.fadeOut(),this.element.removeClass("wpgmza-loading"))},WPGMZA.FeaturePanel.prototype.populate=function(data){var value,target,name;for(name in data)switch(target=$(this.element).find("[data-ajax-name='"+name+"']"),value=data[name],(target.attr("type")||"").toLowerCase()){case"checkbox":case"radio":target.prop("checked",1==data[name]);break;case"color":value.match(/^#/)||(value="#"+value);default:if("object"==typeof value&&(value=JSON.stringify(value)),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").val(value),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-color-input")){let colorInput=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);colorInput.wpgmzaColorInput&&colorInput.wpgmzaColorInput.parseColor(colorInput.value)}if($(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-image-single-input")){let imageInputSingle=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);imageInputSingle.wpgmzaImageInputSingle&&imageInputSingle.wpgmzaImageInputSingle.parseImage(imageInputSingle.value)}$(this.element).find("select[data-ajax-name='"+name+"']").each(function(index,el){"string"==typeof value&&0==data[name].length||$(el).val(value)})}},WPGMZA.FeaturePanel.prototype.serializeFormData=function(){var fields=$(this.element).find("[data-ajax-name]"),data={};return fields.each(function(index,el){var type="text";switch(type=$(el).attr("type")?$(el).attr("type").toLowerCase():type){case"checkbox":data[$(el).attr("data-ajax-name")]=$(el).prop("checked")?1:0;break;case"radio":$(el).prop("checked")&&(data[$(el).attr("data-ajax-name")]=$(el).val());break;default:data[$(el).attr("data-ajax-name")]=$(el).val()}}),data},WPGMZA.FeaturePanel.prototype.discardChanges=function(){var feature;this.feature&&(feature=this.feature,this.setTargetFeature(null),feature&&feature.map&&(this.map["remove"+WPGMZA.capitalizeWords(this.featureType)](feature),-1<feature.id&&this.updateFeatureByID(feature.id)))},WPGMZA.FeaturePanel.prototype.updateFeatureByID=function(id){var feature,self=this,route="/"+this.featureType+"s/",functionSuffix=WPGMZA.capitalizeWords(self.featureType),getByIDFunction="get"+functionSuffix+"ByID",removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;WPGMZA.restAPI.call(route+id,{success:function(data,status,xhr){(feature=self.map[getByIDFunction](id))&&self.map[removeFunction](feature),feature=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](feature)}})},WPGMZA.FeaturePanel.prototype.showInstructions=function(){this.mode===WPGMZA.FeaturePanel.MODE_ADD?WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.drawingInstructionsElement),$(this.drawingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.drawingInstructionsElement):WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.editingInstructionsElement),$(this.editingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.editingInstructionsElement)},WPGMZA.FeaturePanel.prototype.onTabActivated=function(){var featureString;this.reset(),this.drawingManager.setDrawingMode(this.featureType),this.onAddFeature(event),WPGMZA.InternalEngine.isLegacy()&&($(".wpgmza-table-container-title").hide(),$(".wpgmza-table-container").hide(),featureString=this.featureType.charAt(0).toUpperCase()+this.featureType.slice(1),$("#wpgmza-table-container-"+featureString).show(),$("#wpgmza-table-container-title-"+featureString).show())},WPGMZA.FeaturePanel.prototype.onTabDeactivated=function(){this.discardChanges(),this.setTargetFeature(null)},WPGMZA.FeaturePanel.prototype.onAddFeature=function(event){this.drawingManager.setDrawingMode(this.featureType)},WPGMZA.FeaturePanel.prototype.onEditFeature=function(event){var name="data-edit-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.select(event)},WPGMZA.FeaturePanel.prototype.onDeleteFeature=function(event){var self=this,name="data-delete-"+this.featureType+"-id",event=$(event.currentTarget).attr(name),name="/"+this.featureType+"s/",feature=this.map["get"+WPGMZA.capitalizeWords(this.featureType)+"ByID"](event);confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(this.featureDataTable.dataTable.processing(!0),WPGMZA.restAPI.call(name+event,{method:"DELETE",success:function(data,status,xhr){self.map["remove"+WPGMZA.capitalizeWords(self.featureType)](feature),self.featureDataTable.reload()}}))},WPGMZA.FeaturePanel.prototype.onDrawingModeChanged=function(event){$(this.drawingInstructionsElement).detach(),$(this.editingInstructionsElement).detach(),this.drawingManager.mode==this.featureType&&this.showInstructions()},WPGMZA.FeaturePanel.prototype.onDrawingComplete=function(event){var event=event["engine"+WPGMZA.capitalizeWords(this.featureType)],formData=this.serializeFormData(),geometryField=$(this.element).find("textarea[data-ajax-name$='data']"),formData=(delete formData.polydata,WPGMZA[WPGMZA.capitalizeWords(this.featureType)].createInstance(formData,event));this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.map["add"+WPGMZA.capitalizeWords(this.featureType)](formData),this.setTargetFeature(formData),geometryField.length&&geometryField.val(JSON.stringify(formData.getGeometry())),this.featureType},WPGMZA.FeaturePanel.prototype.onPropertyChanged=function(event){var feature=this.feature;feature&&(feature._dirtyFields||(feature._dirtyFields=[]),$(this.element).find(":input[data-ajax-name]").each(function(index,el){var key=$(el).attr("data-ajax-name");feature[key]&&-1===feature._dirtyFields.indexOf(key)&&feature[key]!==$(el).val()&&feature._dirtyFields.push(key),feature[key]=$(el).val()}),feature.updateNativeFeature())},WPGMZA.FeaturePanel.prototype.onFeatureChanged=function(event){var geometryField=$(this.element).find("textarea[data-ajax-name$='data']");geometryField.length&&geometryField.val(JSON.stringify(this.feature.getGeometry()))},WPGMZA.FeaturePanel.prototype.onSave=function(event){WPGMZA.EmbeddedMedia.detatchAll();var self=this,id=$(self.element).find("[data-ajax-name='id']").val(),data=this.serializeFormData(),route="/"+this.featureType+"s/",isNew=-1==id;"circle"!=this.featureType||data.center?"rectangle"!=this.featureType||data.cornerA?"polygon"!=this.featureType||data.polydata?"polyline"!=this.featureType||data.polydata?(isNew||(route+=id),WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),self.sidebarTriggerDelegate("busy"),WPGMZA.restAPI.call(route,{method:"POST",data:data,success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;(functionSuffix=self.map["get"+functionSuffix+"ByID"](id))&&self.map[removeFunction](functionSuffix),self.setTargetFeature(null),self.showPreloader(!1),functionSuffix=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](functionSuffix),self.featureDataTable.reload(),self.onTabActivated(event),self.reset(),isNew?self.sidebarTriggerDelegate("created"):self.sidebarTriggerDelegate("saved"),WPGMZA.notification(WPGMZA.capitalizeWords(self.featureType)+" "+(isNew?"Added":"Saved"))}})):alert(WPGMZA.localized_strings.no_shape_polyline):alert(WPGMZA.localized_strings.no_shape_polygon):alert(WPGMZA.localized_strings.no_shape_rectangle):alert(WPGMZA.localized_strings.no_shape_circle)},WPGMZA.FeaturePanel.prototype.sidebarTriggerDelegate=function(type){type="sidebar-delegate-"+type;$(this.element).trigger({type:type,feature:this.featureType})},WPGMZA.FeaturePanel.prototype.initWritersBlock=function(element){!element||WPGMZA.InternalEngine.isLegacy()||"undefined"==typeof WritersBlock||(this.writersblock=new WritersBlock(element,this.getWritersBlockConfig()),this.writersblock.elements&&this.writersblock.elements.editor&&($(this.writersblock.elements.editor).on("click",".wpgmza-embedded-media",event=>{event.stopPropagation(),event.currentTarget&&(event.currentTarget.wpgmzaEmbeddedMedia||(event.currentTarget.wpgmzaEmbeddedMedia=WPGMZA.EmbeddedMedia.createInstance(event.currentTarget,this.writersblock.elements.editor)),event.currentTarget.wpgmzaEmbeddedMedia.onSelect())}),$(this.writersblock.elements.editor).on("media_resized",()=>{this.writersblock.onEditorChange()})))},WPGMZA.FeaturePanel.prototype.getWritersBlockConfig=function(){return{customTools:[{tag:"shared-blocks",tools:{"custom-media":{icon:"fa fa-file-image-o",title:"Upload Media",action:editor=>{"undefined"!=typeof wp&&void 0!==wp.media&&void 0!==WPGMZA.openMediaDialog&&WPGMZA.openMediaDialog((mediaId,mediaUrl,media)=>{if(mediaUrl)if(media.type)switch(media.type){case"image":editor.writeHtml(`<img class='wpgmza-embedded-media' src='${mediaUrl}' />`);break;case"video":editor.writeHtml(`<video class='wpgmza-embedded-media' controls src='${mediaUrl}'></video>`);break;case"audio":editor.writeHtml(`<audio controls src='${mediaUrl}'></audio>`)}else WPGMZA.notification("We couldn't determine the type of media being added")},{title:"Select media",button:{text:"Add media"},multiple:!1,library:{type:["video","image","audio"]}})}},"code-editor":{icon:"fa fa-code",title:"Code Editor (HTML)",action:editor=>{if(editor._codeEditorActive){if(editor.elements._codeEditor){editor.elements.editor.classList.remove("wpgmza-hidden"),editor.elements._codeEditor.classList.add("wpgmza-hidden");let toolbarItems=editor.elements.toolbar.querySelectorAll("a.tool");for(let tool of toolbarItems)"codeeditor"!==tool.getAttribute("data-value")?tool.classList.remove("wpgmza-writersblock-disabled"):tool.classList.remove("wpgmza-writersblock-hold-state");$(editor.elements._codeEditor).trigger("wpgmza-writersblock-code-edited")}editor._codeEditorActive=!1}else{var tool;editor.elements._codeEditor||(editor.elements._codeEditor=editor.createElement("textarea",["writersblock-wpgmza-code-editor"]),editor.elements._codeEditor.setAttribute("placeholder","\x3c!-- Add HTML Here --\x3e"),editor.elements.wrap.appendChild(editor.elements._codeEditor),editor.elements._codeEditor.__editor=editor,$(editor.elements._codeEditor).on("wpgmza-writersblock-code-edited",function(){const target=$(this).get(0);if(target.__editor){let editedHtml=target.__editor.elements._codeEditor.value;editedHtml=editedHtml.replaceAll("\n","");const validator=document.createElement("div");validator.innerHTML=editedHtml,validator.innerHTML===editedHtml&&(target.__editor.elements.editor.innerHTML=validator.innerHTML,target.__editor.onEditorChange())}}),$(editor.elements._codeEditor).on("change input",function(){$(this).trigger("wpgmza-writersblock-code-edited")})),editor.elements.editor.classList.add("wpgmza-hidden"),editor.elements._codeEditor.classList.remove("wpgmza-hidden");for(tool of editor.elements.toolbar.querySelectorAll("a.tool"))"codeeditor"!==tool.getAttribute("data-value")?tool.classList.add("wpgmza-writersblock-disabled"):tool.classList.add("wpgmza-writersblock-hold-state");if(editor.elements.editor.innerHTML&&0<editor.elements.editor.innerHTML.trim().length){let sourceHtml=editor.elements.editor.innerHTML;sourceHtml=sourceHtml.replaceAll(/<\/(\w+)>/g,"</$1>\n"),editor.elements._codeEditor.value=sourceHtml}editor._codeEditorActive=!0}}}}}],enabledTools:["p","h1","h2","createlink","unlink","bold","italic","underline","strikeThrough","justifyLeft","justifyCenter","justifyRight","insertUnorderedList","insertOrderedList","insertHorizontalRule","custom-media","code-editor"],events:{onUpdateSelection:packet=>{packet.instance&&setTimeout(()=>{const pingedSelection=window.getSelection();pingedSelection&&0===pingedSelection.toString().trim().length&&this.writersblock.hidePopupTools()},10)}}}},WPGMZA.FeaturePanel.prototype.hasDirtyField=function(field){if(this.feature&&this.feature._dirtyFields){if(this.feature._dirtyFields instanceof Array&&-1!==this.feature._dirtyFields.indexOf(field))return!0}else if(!this.feature)return!0;return!1}}),jQuery(function($){WPGMZA.MarkerPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.MarkerPanel,WPGMZA.FeaturePanel),WPGMZA.MarkerPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProMarkerPanel:WPGMZA.MarkerPanel)(element,mapEditPage)},WPGMZA.MarkerPanel.prototype.initDefaults=function(){var self=this;WPGMZA.FeaturePanel.prototype.initDefaults.apply(this,arguments),this.adjustSubMode=!1,WPGMZA.InternalEngine.isLegacy()&&this.onTabActivated(null),$(document.body).on("click","[data-adjust-"+this.featureType+"-id]",function(event){self.onAdjustFeature(event)}),$(document.body).on("click",".wpgmza_approve_btn",function(event){self.onApproveMarker(event)})},WPGMZA.MarkerPanel.prototype.onAdjustFeature=function(event){var name="data-adjust-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.adjustSubMode=!0,this.select(event)},WPGMZA.MarkerPanel.prototype.onApproveMarker=function(event){var self=this,event="/"+this.featureType+"s/"+$(event.currentTarget).attr("id");WPGMZA.restAPI.call(event,{method:"POST",data:{approved:"1"},success:function(data,status,xhr){self.featureDataTable.reload()}})},WPGMZA.MarkerPanel.prototype.onFeatureChanged=function(event){var aPos,pos;this.adjustSubMode?(aPos=this.feature.getPosition())&&($(this.element).find("[data-ajax-name='lat']").val(aPos.lat),$(this.element).find("[data-ajax-name='lng']").val(aPos.lng)):(aPos=$(this.element).find("input[data-ajax-name$='address']")).length&&(pos=this.feature.getPosition(),aPos.val(pos.lat+", "+pos.lng),aPos.trigger("change"))},WPGMZA.MarkerPanel.prototype.setTargetFeature=function(feature){var prev;WPGMZA.FeaturePanel.prevEditableFeature&&(prev=WPGMZA.FeaturePanel.prevEditableFeature).setOpacity&&prev.setOpacity(1),$(this.element).find("[data-ajax-name]").removeAttr("disabled"),$(this.element).find("fieldset").show(),$(this.element).find(".wpgmza-adjust-mode-notice").addClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","hidden"),$(this.element).find('[data-ajax-name="lng"]').attr("type","hidden"),$(this.element).find(".wpgmza-hide-in-adjust-mode").removeClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").addClass("wpgmza-hidden"),feature?(feature.setOpacity&&feature.setOpacity(.7),feature.getMap().panTo(feature.getPosition()),this.adjustSubMode&&($(this.element).find("[data-ajax-name]").attr("disabled","disabled"),$(this.element).find("fieldset:not(.wpgmza-always-on)").hide(),$(this.element).find(".wpgmza-adjust-mode-notice").removeClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","text").removeAttr("disabled"),$(this.element).find('[data-ajax-name="lng"]').attr("type","text").removeAttr("disabled"),$(this.element).find(".wpgmza-hide-in-adjust-mode").addClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").removeClass("wpgmza-hidden"))):this.adjustSubMode=!1,WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments)},WPGMZA.MarkerPanel.prototype.onSave=function(event){var self=this,geocoder=WPGMZA.Geocoder.createInstance(),geocodingData={address:$(this.element).find("[data-ajax-name='address']").val()},cloud_lat=(WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),!1),cloud_lng=!1,cloud_lat=(0<document.getElementsByName("lat").length&&(cloud_lat=document.getElementsByName("lat")[0].value),0<document.getElementsByName("lng").length&&(cloud_lng=document.getElementsByName("lng")[0].value),cloud_lat&&cloud_lng&&(WPGMZA_localized_data.settings.googleMapsApiKey&&""!==WPGMZA_localized_data.settings.googleMapsApiKey||(geocodingData.lat=parseFloat(cloud_lat),geocodingData.lng=parseFloat(cloud_lng))),!this.hasDirtyField("address"));this.adjustSubMode||cloud_lat?WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments):geocoder.geocode(geocodingData,function(results,status){switch(status){case WPGMZA.Geocoder.ZERO_RESULTS:return alert(WPGMZA.localized_strings.zero_results),void self.showPreloader(!1);case WPGMZA.Geocoder.SUCCESS:break;case WPGMZA.Geocoder.NO_ADDRESS:return alert(WPGMZA.localized_strings.no_address),void self.showPreloader(!1);default:WPGMZA.Geocoder.FAIL;return alert(WPGMZA.localized_strings.geocode_fail),void self.showPreloader(!1)}var result=results[0];$(self.element).find("[data-ajax-name='lat']").val(result.lat),$(self.element).find("[data-ajax-name='lng']").val(result.lng),WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments)}),WPGMZA.mapEditPage.map.resetBounds()}}),jQuery(function($){WPGMZA.CirclePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.CirclePanel,WPGMZA.FeaturePanel),WPGMZA.CirclePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProCirclePanel:WPGMZA.CirclePanel)(element,mapEditPage)},WPGMZA.CirclePanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getCenter().toString()),$(this.element).find("[data-ajax-name='radius']").val(this.feature.getRadius())},WPGMZA.CirclePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.CirclePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.CirclePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}});var wpgmza_autoCompleteDisabled=!1;jQuery(function($){"map-edit"==WPGMZA.currentPage&&(WPGMZA.MapEditPage=function(){var self=this,element=document.body;WPGMZA.EventDispatcher.call(this),WPGMZA.settings.internalEngine&&!WPGMZA.InternalEngine.isLegacy()||$("#wpgmaps_options fieldset").wrapInner("<div class='wpgmza-flex'></div>"),this.themePanel=new WPGMZA.ThemePanel,this.themeEditor=new WPGMZA.ThemeEditor,this.sidebarGroupings=new WPGMZA.SidebarGroupings,this.map=WPGMZA.maps[0],(!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.1.0")>=WPGMZA.Version.EQUAL_TO)&&(this.drawingManager=WPGMZA.DrawingManager.createInstance(this.map)),this.initDataTables(),this.initFeaturePanels(),this.initJQueryUIControls(),"en"!==WPGMZA.locale&&(WPGMZA.InternalEngine.isLegacy()?$("#datatable_no_result_message,#datatable_search_string").parent():$("#datatable_no_result_message,#datatable_search_string")).parent().hide(),$("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,self.map)}),$('#wpgmza-map-edit-page input[type="color"]').each(function(){var buttonClass=WPGMZA.InternalEngine.isLegacy()?"button-secondary":"wpgmza-button";$("<div class='"+buttonClass+" wpgmza-paste-color-btn' title='Paste a HEX color code'><i class='fa fa-clipboard' aria-hidden='true'></i></div>").insertAfter(this)}),jQuery("body").on("click",".wpgmza_ac_result",function(e){var index=jQuery(this).data("id"),lat=jQuery(this).data("lat"),lng=jQuery(this).data("lng"),index=jQuery("#wpgmza_item_address_"+index).html();jQuery("input[name='lat']").val(lat),jQuery("input[name='lng']").val(lng),jQuery("#wpgmza_add_address_map_editor").val(index),jQuery("#wpgmza_autocomplete_search_results").hide()}),jQuery("body").on("click",".wpgmza-paste-color-btn",function(){try{var colorBtn=$(this);if(!navigator||!navigator.clipboard||!navigator.clipboard.readText)return;navigator.clipboard.readText().then(function(textcopy){colorBtn.parent().find('input[type="color"]').val("#"+textcopy.replace("#","").trim())}).catch(function(err){console.error("WP Go Maps: Could not access clipboard",err)})}catch(c_ex){}}),jQuery("body").on("focusout","#wpgmza_add_address_map_editor",function(e){setTimeout(function(){jQuery("#wpgmza_autocomplete_search_results").fadeOut("slow")},500)});$("body").on("keypress",".wpgmza-address",function(e){self.shouldAddressFieldUseEnhancedAutocomplete(this)&&self.onKeyUpEnhancedAutocomplete(e,this)}),$("#wpgmza_map_height_type").on("change",function(event){self.onMapHeightTypeChange(event)}),$("#advanced-markers .wpgmza-feature-drawing-instructions").remove(),$("[data-search-area='auto']").hide(),$(document.body).on("click","[data-wpgmza-admin-marker-datatable] input[name='mark']",function(event){self.onShiftClick(event)}),$("#wpgmza_map_type").on("change",function(event){self.onMapTypeChanged(event)}),$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")}),this.on("markerupdated",function(event){self.onMarkerUpdated(event)}),this.map&&(this.map.on("zoomchanged",function(event){self.onZoomChanged(event)}),this.map.on("boundschanged",function(event){self.onBoundsChanged(event)}),this.map.on("rightclick",function(event){self.onRightClick(event)})),$(element).on("click",".wpgmza_poly_del_btn",function(event){self.onDeletePolygon(event)}),$(element).on("click",".wpgmza_polyline_del_btn",function(event){self.onDeletePolyline(event)}),$(element).on("click",".wpgmza_dataset_del_btn",function(evevnt){self.onDeleteHeatmap(event)}),$(element).on("click",".wpgmza_circle_del_btn",function(event){self.onDeleteCircle(event)}),$(element).on("click",".wpgmza_rectangle_del_btn",function(event){self.onDeleteRectangle(event)}),$(element).on("click","#wpgmza-open-advanced-theme-data",function(event){event.preventDefault(),$(".wpgmza_theme_data_container").toggleClass("wpgmza_hidden")}),$(element).on("click",".wpgmza-shortcode-button",function(event){event.preventDefault(),$(element).find(".wpgmza-shortcode-description").addClass("wpgmza-hidden");const nearestRow=$(this).closest(".wpgmza-row");if(nearestRow.length){const nearestHint=nearestRow.next(".wpgmza-shortcode-description");nearestHint.length&&nearestHint.removeClass("wpgmza-hidden")}event=$(this).text();if(event.length){const temp=jQuery("<input>");$(document.body).append(temp),temp.val(event).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Shortcode Copied")}})},WPGMZA.extend(WPGMZA.MapEditPage,WPGMZA.EventDispatcher),WPGMZA.MapEditPage.createInstance=function(){return new(WPGMZA.isProVersion()&&WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?WPGMZA.ProMapEditPage:WPGMZA.MapEditPage)},WPGMZA.MapEditPage.prototype.initDataTables=function(){var self=this;$("[data-wpgmza-datatable][data-wpgmza-rest-api-route]").each(function(index,el){var featureType=$(el).attr("data-wpgmza-feature-type");self[featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)})},WPGMZA.MapEditPage.prototype.initFeaturePanels=function(){var self=this;$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").each(function(index,el){var featurePanelElement=$(el).find(".wpgmza-feature-panel-container > *"),el=$(el).attr("data-wpgmza-feature-type"),panelClassName=WPGMZA.capitalizeWords(el)+"Panel",panelClassName=WPGMZA[panelClassName].createInstance(featurePanelElement,self);self[el+"Panel"]=panelClassName})},WPGMZA.MapEditPage.prototype.initJQueryUIControls=function(){var mapContainer,self=this;$("#wpgmaps_tabs").tabs(),mapContainer=$("#wpgmza-map-container").detach(),$("#wpgmaps_tabs_markers").tabs(),$(".map_wrapper").prepend(mapContainer),$("#slider-range-max").slider({range:"max",min:1,max:21,value:$("input[name='map_start_zoom']").val(),slide:function(event,ui){$("input[name='map_start_zoom']").val(ui.value),self.map.setZoom(ui.value)}})},WPGMZA.MapEditPage.prototype.onShiftClick=function(event){var checkbox=event.currentTarget,checkbox=jQuery(checkbox).closest("tr");if(this.lastSelectedRow&&event.shiftKey){var event=this.lastSelectedRow.index(),currIndex=checkbox.index(),startIndex=Math.min(event,currIndex),endIndex=Math.max(event,currIndex),rows=jQuery("[data-wpgmza-admin-marker-datatable] tbody>tr");jQuery("[data-wpgmza-admin-marker-datatable] input[name='mark']").prop("checked",!1);for(var i=startIndex;i<=endIndex;i++)jQuery(rows[i]).find("input[name='mark']").prop("checked",!0)}this.lastSelectedRow=checkbox},WPGMZA.MapEditPage.prototype.onMapTypeChanged=function(event){if("open-layers"!=WPGMZA.settings.engine){var mapTypeId;switch(event.target.value){case"2":mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"3":mapTypeId=google.maps.MapTypeId.HYBRID;break;case"4":mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:mapTypeId=google.maps.MapTypeId.ROADMAP}this.map.setOptions({mapTypeId:mapTypeId})}},WPGMZA.MapEditPage.prototype.onMarkerUpdated=function(event){this.markerDataTable.reload()},WPGMZA.MapEditPage.prototype.onZoomChanged=function(event){$(".map_start_zoom").val(this.map.getZoom())},WPGMZA.MapEditPage.prototype.onBoundsChanged=function(event){var location=this.map.getCenter();$("#wpgmza_start_location").val(location.lat+","+location.lng),$("input[name='map_start_lat']").val(location.lat),$("input[name='map_start_lng']").val(location.lng),$("#wpgmza_start_zoom").val(this.map.getZoom()),$("#wpgmaps_save_reminder").show()},WPGMZA.MapEditPage.prototype.onMapHeightTypeChange=function(event){"%"==event.target.value&&$("#wpgmza_height_warning").show()},WPGMZA.MapEditPage.prototype.onRightClick=function(event){var marker,self=this;this.drawingManager&&this.drawingManager.mode!=WPGMZA.DrawingManager.MODE_MARKER||(this.rightClickMarker||(this.rightClickMarker=WPGMZA.Marker.createInstance({draggable:!0}),this.rightClickMarker.on("dragend",function(event){$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng)}),this.map.on("click",function(event){self.rightClickMarker.setMap(null),$(".wpgmza-marker-panel [data-ajax-name='address']").val("")})),(marker=this.rightClickMarker).setPosition(event.latLng),marker.setMap(this.map),$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng))},WPGMZA.MapEditPage.prototype.onDeletePolygon=function(event){var cur_id=parseInt($(this).attr("id")),data={action:"delete_poly",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_Path[cur_id].setMap(null),delete WPGM_PathData[cur_id],delete WPGM_Path[cur_id],$("#wpgmza_poly_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeletePolyline=function(event){var cur_id=$(this).attr("id"),data={action:"delete_polyline",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_PathLine[cur_id].setMap(null),delete WPGM_PathLineData[cur_id],delete WPGM_PathLine[cur_id],$("#wpgmza_polyline_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteHeatmap=function(event){var cur_id=$(this).attr("id"),data={action:"delete_dataset",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){heatmap[cur_id].setMap(null),delete heatmap[cur_id],$("#wpgmza_heatmap_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteCircle=function(event){var circle_id=$(this).attr("id"),data={action:"delete_circle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,circle_id:circle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-5 table").replaceWith(response),circle_array.forEach(function(circle){if(circle.id==circle_id)return circle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.onDeleteRectangle=function(event){var rectangle_id=$(this).attr("id"),data={action:"delete_rectangle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,rectangle_id:rectangle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-6 table").replaceWith(response),rectangle_array.forEach(function(rectangle){if(rectangle.id==rectangle_id)return rectangle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.shouldAddressFieldUseEnhancedAutocomplete=function(element){return!(!element||!element.id||"wpgmza_add_address_map_editor"!==element.id)},WPGMZA.MapEditPage.prototype.onKeyUpEnhancedAutocomplete=function(event,element){if(!element._wpgmzaAddressInput||!element._wpgmzaAddressInput.googleAutocompleteLoaded){element._wpgmzaEnhancedAutocomplete||(element._wpgmzaEnhancedAutocomplete={identifiedTypingSpeed:!1,typingTimeout:!1,startTyping:!1,keyStrokeCount:1,avgTimeBetweenStrokes:300,totalTimeForKeyStrokes:0,ajaxRequest:!1,ajaxTimeout:!1,requestErrorCount:0,disabledFlag:!1,disabledCheckCount:0});let enhancedAutocomplete=element._wpgmzaEnhancedAutocomplete;if(-1!==["Escape","Alt","Control","Option","Shift","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].indexOf(event.key))$("#wpgmza_autocomplete_search_results").hide();else{if(enhancedAutocomplete.disabledFlag)return enhancedAutocomplete.disabledCheckCount++,void(5<=enhancedAutocomplete.disabledCheckCount&&this.swapEnhancedAutocomplete(element));let googleApiKey=!1;if(WPGMZA.settings&&(WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key)&&(googleApiKey=WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key),!enhancedAutocomplete.identifiedTypingSpeed){let d=new Date;return enhancedAutocomplete.typingTimeout&&clearTimeout(enhancedAutocomplete.typingTimeout),enhancedAutocomplete.typingTimeout=setTimeout(()=>{enhancedAutocomplete.startTyping=!1,enhancedAutocomplete.avgTimeBetweenStrokes=300,enhancedAutocomplete.totalTimeForKeyStrokes=0},1500),enhancedAutocomplete.startTyping?1<enhancedAutocomplete.keyStrokeCount&&(enhancedAutocomplete.currentTimeBetweenStrokes=d.getTime()-enhancedAutocomplete.startTyping,enhancedAutocomplete.totalTimeForKeyStrokes+=enhancedAutocomplete.currentTimeBetweenStrokes,enhancedAutocomplete.avgTimeBetweenStrokes=enhancedAutocomplete.totalTimeForKeyStrokes/(enhancedAutocomplete.keyStrokeCount-1),enhancedAutocomplete.startTyping=d.getTime(),3<=enhancedAutocomplete.keyStrokeCount&&(enhancedAutocomplete.identifiedTypingSpeed=enhancedAutocomplete.avgTimeBetweenStrokes)):enhancedAutocomplete.startTyping=d.getTime(),void enhancedAutocomplete.keyStrokeCount++}if(enhancedAutocomplete.ajaxTimeout&&clearTimeout(enhancedAutocomplete.ajaxTimeout),$("#wpgmza_autocomplete_search_results").html('<div class="wpgmza-pad-5">Searching...</div>'),$("#wpgmza_autocomplete_search_results").show(),enhancedAutocomplete.currentSearch=$(element).val(),enhancedAutocomplete.currentSearch&&0<enhancedAutocomplete.currentSearch.trim().length){if(!1!==enhancedAutocomplete.ajaxRequest&&enhancedAutocomplete.ajaxRequest.abort(),enhancedAutocomplete.requestParams={domain:window.location.hostname},"localhost"===enhancedAutocomplete.requestParams.domain)try{var path,paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(path=paths[1],enhancedAutocomplete.requestParams.domain+="-"+path)}catch(ex){}enhancedAutocomplete.requestParams.url="https://wpgmaps.us-3.evennode.com/api/v1/autocomplete",enhancedAutocomplete.requestParams.query={s:enhancedAutocomplete.currentSearch,d:enhancedAutocomplete.requestParams.domain,hash:WPGMZA.siteHash},googleApiKey&&(enhancedAutocomplete.requestParams.query.k=googleApiKey),WPGMZA.settings&&(WPGMZA.settings.engine&&(enhancedAutocomplete.requestParams.query.engine=WPGMZA.settings.engine),WPGMZA.settings.internal_engine&&(enhancedAutocomplete.requestParams.query.build=WPGMZA.settings.internal_engine)),enhancedAutocomplete.requestParams.query=new URLSearchParams(enhancedAutocomplete.requestParams.query),enhancedAutocomplete.requestParams.url+="?"+enhancedAutocomplete.requestParams.query.toString(),enhancedAutocomplete.ajaxTimeout=setTimeout(()=>{enhancedAutocomplete.ajaxRequest=$.ajax({url:enhancedAutocomplete.requestParams.url,type:"GET",dataType:"json",success:results=>{try{if(results instanceof Object)if(results.error)"error1"==results.error?($("#wpgmza_autoc_disabled").html(WPGMZA.localized_strings.cloud_api_key_error_1),$("#wpgmza_autoc_disabled").fadeIn("slow"),$("#wpgmza_autocomplete_search_results").hide(),enhancedAutocomplete.disabledFlag=!0):(console.error(results.error),this.swapEnhancedAutocomplete(element));else{$("#wpgmza_autocomplete_search_results").html("");let html="";for(var i in results)html+="<div class='wpgmza_ac_result "+(""===html?"":"border-top")+"' data-id='"+i+"' data-lat='"+results[i].lat+"' data-lng='"+results[i].lng+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i].icon+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>"+results[i].place_name+"</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>"+results[i].formatted_address+"</span></div></div></div>";(!html||html.length<=0)&&(html="<div class='p-2 text-center'><small>No results found...</small></div>"),$("#wpgmza_autocomplete_search_results").html(html),$("#wpgmza_autocomplete_search_results").show(),enhancedAutocomplete.disabledCheckCount=0,enhancedAutocomplete.requestErrorCount=0}else this.swapEnhancedAutocomplete(element)}catch(ex){console.error("WP Go Maps Plugin: There was an error returning the list of places for your search"),this.swapEnhancedAutocomplete(element)}},error:()=>{$("#wpgmza_autocomplete_search_results").hide(),enhancedAutocomplete.requestErrorCount++,3<=enhancedAutocomplete.requestErrorCount&&this.swapEnhancedAutocomplete(element)}})},2*enhancedAutocomplete.identifiedTypingSpeed)}else $("#wpgmza_autocomplete_search_results").hide()}}},WPGMZA.MapEditPage.prototype.swapEnhancedAutocomplete=function(element){element._wpgmzaAddressInput&&!element._wpgmzaAddressInput.googleAutocompleteLoaded&&element._wpgmzaAddressInput.loadGoogleAutocomplete(),$("#wpgmza_autocomplete_search_results").hide(),$("#wpgmza_autoc_disabled").hide()},$(document).ready(function(event){WPGMZA.mapEditPage=WPGMZA.MapEditPage.createInstance()}))}),jQuery(function($){WPGMZA.PointlabelPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PointlabelPanel,WPGMZA.FeaturePanel),WPGMZA.PointlabelPanel.createInstance=function(element,mapEditPage){return new WPGMZA.PointlabelPanel(element,mapEditPage)},WPGMZA.PointlabelPanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getPosition().toString())},WPGMZA.PointlabelPanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.PointlabelPanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.PointlabelPanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){WPGMZA.PolygonPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolygonPanel,WPGMZA.FeaturePanel),WPGMZA.PolygonPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolygonPanel:WPGMZA.PolygonPanel)(element,mapEditPage)},Object.defineProperty(WPGMZA.PolygonPanel.prototype,"drawingManagerCompleteEvent",{get:function(){return"polygonclosed"}})}),jQuery(function($){WPGMZA.PolylinePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolylinePanel,WPGMZA.FeaturePanel),WPGMZA.PolylinePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolylinePanel:WPGMZA.PolylinePanel)(element,mapEditPage)}}),jQuery(function($){WPGMZA.RectanglePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.RectanglePanel,WPGMZA.FeaturePanel),WPGMZA.RectanglePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProRectanglePanel:WPGMZA.RectanglePanel)(element,mapEditPage)},WPGMZA.RectanglePanel.prototype.updateFields=function(){var bounds=this.feature.getBounds();bounds.north&&bounds.west&&bounds.south&&bounds.east&&($(this.element).find("[data-ajax-name='cornerA']").val(bounds.north+", "+bounds.west),$(this.element).find("[data-ajax-name='cornerB']").val(bounds.south+", "+bounds.east))},WPGMZA.RectanglePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.RectanglePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.RectanglePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.OLCircle=function(options,olFeature){var center,geom;Parent.call(this,options,olFeature),options=options||{},olFeature?(olFeature=olFeature.getGeometry(),center=ol.proj.toLonLat(olFeature.getCenter()),geom=olFeature,options.center=new WPGMZA.LatLng(center[1],center[0]),options.radius=olFeature.getRadius()/1e3):geom=new ol.geom.Circle(ol.proj.fromLonLat([parseFloat(options.center.lng),parseFloat(options.center.lat)]),1e3*options.radius),this.layer=new ol.layer.Vector({source:new ol.source.Vector}),this.olFeature=new ol.Feature({geometry:geom}),this.layer.getSource().addFeature(this.olFeature),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaCircle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.OLCircle.prototype=Object.create(Parent.prototype),WPGMZA.OLCircle.prototype.constructor=WPGMZA.OLCircle,WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)},WPGMZA.OLCircle.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olFeature.getGeometry().getCenter());return new WPGMZA.LatLng({lat:lonLat[1],lng:lonLat[0]})},WPGMZA.OLCircle.prototype.recreate=function(){var radius,y,x;this.olFeature&&(this.layer.getSource().removeFeature(this.olFeature),delete this.olFeature),this.center&&this.radius&&(radius=1e3*parseFloat(this.radius),x=this.center.lng,y=this.center.lat,x=ol.geom.Polygon.circular([x,y],radius,64).clone().transform("EPSG:4326","EPSG:3857"),this.olFeature=new ol.Feature(x),this.layer.getSource().addFeature(this.olFeature))},WPGMZA.OLCircle.prototype.setVisible=function(visible){this.layer.setVisible(!!visible)},WPGMZA.OLCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.recreate()},WPGMZA.OLCircle.prototype.getRadius=function(){return this.layer.getSource().getFeatures()[0].getGeometry().getRadius()/1e3},WPGMZA.OLCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments)},WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLDrawingManager=function(map){WPGMZA.DrawingManager.call(this,map),this.source=new ol.source.Vector({wrapX:!1}),this.layer=new ol.layer.Vector({source:this.source})},WPGMZA.OLDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.OLDrawingManager.prototype.constructor=WPGMZA.OLDrawingManager,WPGMZA.OLDrawingManager.prototype.setOptions=function(options){var params={};options.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(options.strokeColor,options.strokeOpacity)})),options.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(options.fillColor,options.fillOpacity)})),this.layer.setStyle(new ol.style.Style(params))},WPGMZA.OLDrawingManager.prototype.setDrawingMode=function(mode){var type,endEventType,self=this;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),this.interaction&&(this.map.olMap.removeInteraction(this.interaction),this.interaction=null),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:return;case WPGMZA.DrawingManager.MODE_POLYGON:type="Polygon",endEventType="polygonclosed";break;case WPGMZA.DrawingManager.MODE_POLYLINE:type="LineString",endEventType="polylinecomplete";break;case WPGMZA.DrawingManager.MODE_CIRCLE:type="Circle",endEventType="circlecomplete";break;case WPGMZA.DrawingManager.MODE_RECTANGLE:type="Circle",endEventType="rectanglecomplete";break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:return;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:type="Circle",endEventType="imageoverlaycomplete";break;default:throw new Error("Invalid drawing mode")}WPGMZA.mapEditPage&&WPGMZA.mapEditPage.selectInteraction&&WPGMZA.mapEditPage.map.olMap.removeInteraction(WPGMZA.mapEditPage.selectInteraction);var options={source:this.source,type:type};mode!=WPGMZA.DrawingManager.MODE_RECTANGLE&&mode!=WPGMZA.DrawingManager.MODE_IMAGEOVERLAY||(options.geometryFunction=ol.interaction.Draw.createBox()),this.interaction=new ol.interaction.Draw(options),this.interaction.on("drawend",function(event){if(endEventType){var WPGMZAEvent=new WPGMZA.Event(endEventType);switch(mode){case WPGMZA.DrawingManager.MODE_POLYGON:WPGMZAEvent.enginePolygon=event.feature;break;case WPGMZA.DrawingManager.MODE_POLYLINE:WPGMZAEvent.enginePolyline=event.feature;break;case WPGMZA.DrawingManager.MODE_CIRCLE:WPGMZAEvent.engineCircle=event.feature;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:WPGMZAEvent.engineRectangle=event.feature;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:WPGMZAEvent.engineImageoverlay={engineRectangle:event.feature};break;default:throw new Error("Drawing mode not implemented")}self.dispatchEvent(WPGMZAEvent)}}),this.map.olMap.addInteraction(this.interaction)}}),jQuery(function($){WPGMZA.OLFeature=function(options){WPGMZA.assertInstangeOf(this,"OLFeature"),WPGMZA.Feature.apply(this,arguments)},WPGMZA.extend(WPGMZA.OLFeature,WPGMZA.Feature),WPGMZA.OLFeature.getOLStyle=function(options){var translated={};if(!options)return new ol.style.Style;var name,opacity,weight,map={fillcolor:"fillColor",opacity:"fillOpacity",linecolor:"strokeColor",lineopacity:"strokeOpacity",linethickness:"strokeWeight"};for(name in options=$.extend({},options))name in map&&(options[map[name]]=options[name]);return options.strokeColor&&(weight=opacity=1,"strokeOpacity"in options&&(opacity=options.strokeOpacity),"strokeWeight"in options&&(weight=options.strokeWeight),translated.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToString(options.strokeColor,opacity),width:weight})),options.fillColor&&(opacity=1,"fillOpacity"in options&&(opacity=options.fillOpacity),weight=WPGMZA.hexOpacityToString(options.fillColor,opacity),translated.fill=new ol.style.Fill({color:weight})),new ol.style.Style(translated)},WPGMZA.OLFeature.setInteractionsOnFeature=function(feature,enable){enable?feature.modifyInteraction||(feature.snapInteraction=new ol.interaction.Snap({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.snapInteraction),feature.modifyInteraction=new ol.interaction.Modify({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.modifyInteraction),feature.modifyInteraction.on("modifyend",function(event){feature.trigger("change")})):feature.modifyInteraction&&(feature.map&&(feature.map.olMap.removeInteraction(feature.snapInteraction),feature.map.olMap.removeInteraction(feature.modifyInteraction)),delete feature.snapInteraction,delete feature.modifyInteraction)}}),jQuery(function($){WPGMZA.OLGeocoder=function(){},WPGMZA.OLGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.OLGeocoder.prototype.constructor=WPGMZA.OLGeocoder,WPGMZA.OLGeocoder.prototype.getResponseFromCache=function(query,callback){WPGMZA.restAPI.call("/geocode-cache",{data:{query:JSON.stringify(query)},success:function(response,xhr,status){response.lng=response.lon,callback(response)},useCompressedPathVariable:!0})},WPGMZA.OLGeocoder.prototype.getResponseFromNominatim=function(options,callback){var data={q:options.address,format:"json"};options.componentRestrictions&&options.componentRestrictions.country?data.countrycodes=options.componentRestrictions.country:options.country&&(data.countrycodes=options.country),$.ajax("https://nominatim.openstreetmap.org/search/",{data:data,success:function(response,xhr,status){callback(response)},error:function(response,xhr,status){callback(null,WPGMZA.Geocoder.FAIL)}})},WPGMZA.OLGeocoder.prototype.cacheResponse=function(query,response){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_store_nominatim_cache",query:JSON.stringify(query),response:JSON.stringify(response)},method:"POST"})},WPGMZA.OLGeocoder.prototype.clearCache=function(callback){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_clear_nominatim_cache"},method:"POST",success:function(response){callback(response)}})},WPGMZA.OLGeocoder.prototype.getLatLngFromAddress=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.getAddressFromLatLng=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.geocode=function(options,callback){var latLng,finish,location,self=this;if(!options)throw new Error("Invalid options");if(WPGMZA.LatLng.REGEXP.test(options.address))return latLng=WPGMZA.LatLng.fromString(options.address),void callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng}],WPGMZA.Geocoder.SUCCESS);if(options.location&&(options.latLng=new WPGMZA.LatLng(options.location)),options.address)location=options.address,finish=function(response,status){for(var i=0;i<response.length;i++)response[i].geometry={location:new WPGMZA.LatLng({lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)})},response[i].latLng={lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)},response[i].bounds=new WPGMZA.LatLngBounds(new WPGMZA.LatLng({lat:response[i].boundingbox[1],lng:response[i].boundingbox[2]}),new WPGMZA.LatLng({lat:response[i].boundingbox[0],lng:response[i].boundingbox[3]})),response[i].lng=response[i].lon;callback(response,status)};else{if(!options.latLng)throw new Error("You must supply either a latLng or address");location=options.latLng.toString(),finish=function(response,status){var address=response[0].display_name;options.fullResult&&(address=response[0]),callback([address],status)}}var query={location:location,options:options};this.getResponseFromCache(query,function(response){response.length?finish(response,WPGMZA.Geocoder.SUCCESS):self.getResponseFromNominatim($.extend(options,{address:location}),function(response,status){status==WPGMZA.Geocoder.FAIL?callback(null,WPGMZA.Geocoder.FAIL):0==response.length?callback([],WPGMZA.Geocoder.ZERO_RESULTS):(finish(response,WPGMZA.Geocoder.SUCCESS),self.cacheResponse(query,response))})})}}),jQuery(function($){var Parent;WPGMZA.OLInfoWindow=function(feature){var self=this;Parent.call(this,feature),this.element=$("<div class='wpgmza-infowindow ol-info-window-container ol-info-window-plain'></div>")[0],$(this.element).on("click",".ol-info-window-close",function(event){self.close()})},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.OLInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.OLInfoWindow.prototype.constructor=WPGMZA.OLInfoWindow,Object.defineProperty(WPGMZA.OLInfoWindow.prototype,"isPanIntoViewAllowed",{get:function(){return!0}}),WPGMZA.OLInfoWindow.prototype.open=function(map,feature){var self=this,latLng=feature.getPosition();return!!latLng&&(!!Parent.prototype.open.call(this,map,feature)&&(this.parent=map,this.overlay&&this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=new ol.Overlay({element:this.element,stopEvent:!0,insertFirst:!0}),this.overlay.setPosition(ol.proj.fromLonLat([latLng.lng,latLng.lat])),self.feature.map.olMap.addOverlay(this.overlay),$(this.element).show(),this.setContent(this.content),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&WPGMZA.getImageDimensions(feature.getIcon(),function(size){$(self.element).css({left:Math.round(size.width/2)+"px"})}),this.autoResize(),this.trigger("infowindowopen"),void this.trigger("domready")))},WPGMZA.OLInfoWindow.prototype.close=function(event){this.overlay&&($(this.element).hide(),WPGMZA.InfoWindow.prototype.close.call(this),this.trigger("infowindowclose"),this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=null)},WPGMZA.OLInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html;var eaBtn=WPGMZA.isProVersion()?"":this.addEditButton();$(this.element).html(eaBtn+"<i class='fa fa-times ol-info-window-close' aria-hidden='true'></i>"+html)},WPGMZA.OLInfoWindow.prototype.setOptions=function(options){options.maxWidth&&$(this.element).css({"max-width":options.maxWidth+"px"})},WPGMZA.OLInfoWindow.prototype.onOpen=function(){var self=this,imgs=$(this.element).find("img"),numImages=imgs.length,numImagesLoaded=0;WPGMZA.InfoWindow.prototype.onOpen.apply(this,arguments);let canAutoPan=!0;function inside(el,viewport){el=$(el)[0].getBoundingClientRect(),viewport=$(viewport)[0].getBoundingClientRect();return el.left>=viewport.left&&el.left<=viewport.right&&el.right<=viewport.right&&el.right>=viewport.left&&el.top>=viewport.top&&el.top<=viewport.bottom&&el.bottom<=viewport.bottom&&el.bottom>=viewport.top}function panIntoView(){var height=$(self.element).height();self.feature.map.animateNudge(0,.45*-(height+180),self.feature.getPosition())}void 0!==this.feature._osDisableAutoPan&&this.feature._osDisableAutoPan&&(canAutoPan=!1,this.feature._osDisableAutoPan=!1),this.isPanIntoViewAllowed&&canAutoPan&&(imgs.each(function(index,el){el.onload=function(){++numImagesLoaded!=numImages||inside(self.element,self.feature.map.element)||panIntoView()}}),0!=numImages||inside(self.element,self.feature.map.element)||panIntoView())},WPGMZA.OLInfoWindow.prototype.autoResize=function(){var mapWidth,mapHeight;$(this.element).css("max-height","none"),$(this.feature.map.element).length&&(mapHeight=$(this.feature.map.element).height(),mapWidth=$(this.feature.map.element).width(),mapHeight=mapHeight-180,$(this.element).height()>mapHeight&&$(this.element).css("max-height",mapHeight+"px"),mapHeight=648<mapWidth?648:mapWidth-120,$(this.element).width()>mapHeight&&$(this.element).css("max-width",mapHeight+"px"))}}),jQuery(function($){var Parent;WPGMZA.OLMap=function(element,options){var self=this,options=(Parent.call(this,element),this.setOptions(options),this.settings.toOLViewOptions());if($(this.element).html(""),this.olMap=new ol.Map({target:$(element)[0],layers:[this.getTileLayer()],view:this.getTileView(options)}),this.customTileMode&&!ol.extent.containsCoordinate(this.customTileModeExtent,this.olMap.getView().getCenter())){const view=this.olMap.getView();view.setCenter(ol.extent.getCenter(this.customTileModeExtent)),this.wrapLongitude(),this.onBoundsChanged()}function isSettingDisabled(value){return"yes"===value||!!value}this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_draggable)):interaction instanceof ol.interaction.DoubleClickZoom?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_clickzoom)):interaction instanceof ol.interaction.MouseWheelZoom&&interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_scroll))},this),"greedy"!=this.settings.wpgmza_force_greedy_gestures&&"yes"!=this.settings.wpgmza_force_greedy_gestures&&1!=this.settings.wpgmza_force_greedy_gestures&&(this.gestureOverlay=$("<div class='wpgmza-gesture-overlay'></div>"),this.gestureOverlayTimeoutID=null,WPGMZA.isTouchDevice()?(this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&self.olMap.removeInteraction(interaction)}),this.olMap.addInteraction(new ol.interaction.DragPan({condition:function(olBrowserEvent){let allowed=!1;olBrowserEvent=olBrowserEvent.originalEvent;return olBrowserEvent instanceof PointerEvent?this.targetPointers&&this.targetPointers.length&&(allowed=2==this.targetPointers.length):olBrowserEvent instanceof TouchEvent&&olBrowserEvent.touches&&olBrowserEvent.touches.length&&(allowed=2==olBrowserEvent.touches.length),allowed||self.showGestureOverlay(),allowed}})),this.gestureOverlay.text(WPGMZA.localized_strings.use_two_fingers)):(this.olMap.on("wheel",function(event){if(!ol.events.condition.platformModifierKeyOnly(event))return self.showGestureOverlay(),event.originalEvent.preventDefault(),!1}),this.gestureOverlay.text(WPGMZA.localized_strings.use_ctrl_scroll_to_zoom))),this.olMap.getControls().forEach(function(control){control instanceof ol.control.Zoom&&1==WPGMZA.settings.wpgmza_settings_map_zoom&&self.olMap.removeControl(control)},this),isSettingDisabled(WPGMZA.settings.wpgmza_settings_map_full_screen_control)||this.olMap.addControl(new ol.control.FullScreen),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(this.markerLayer=new ol.layer.Vector({source:new ol.source.Vector({features:[]})}),this.olMap.addLayer(this.markerLayer),this.olMap.on("click",function(event){var event=self.olMap.getFeaturesAtPixel(event.pixel);event&&event.length&&((event=event[0].wpgmzaMarker)&&(event.trigger("click"),event.trigger("select")))})),this.olMap.on("movestart",function(event){self.isBeingDragged=!0}),this.olMap.on("moveend",function(event){self.wrapLongitude(),self.isBeingDragged=!1,self.dispatchEvent("dragend"),self.onIdle()}),this.olMap.getView().on("change:resolution",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged"),setTimeout(function(){self.onIdle()},10)}),this.olMap.getView().on("change",function(){self.onBoundsChanged()}),self.onBoundsChanged(),this._mouseoverNativeFeatures=[],this.olMap.on("pointermove",function(event){if(!event.dragging){try{var featuresUnderPixel=event.target.getFeaturesAtPixel(event.pixel)}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),-1==self._mouseoverNativeFeatures.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseover"),self._mouseoverNativeFeatures.push(nativeFeature)));for(i=self._mouseoverNativeFeatures.length-1;0<=i;i--)nativeFeature=self._mouseoverNativeFeatures[i],-1==nativeFeaturesUnderPixel.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseout"),self._mouseoverNativeFeatures.splice(i,1))}}),$(this.element).on("click contextmenu",function(event){event=event||window.event;var isRight,latLng=self.pixelsToLatLng(event.offsetX,event.offsetY);if("which"in event?isRight=3==event.which:"button"in event&&(isRight=2==event.button),1==event.which||1==event.button){if(self.isBeingDragged)return;if($(event.target).closest(".ol-marker").length)return;try{var featuresUnderPixel=self.olMap.getFeaturesAtPixel([event.offsetX,event.offsetY])}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),nativeFeature.trigger("click"));return 0<featuresUnderPixel.length?void 0:void self.trigger({type:"click",latLng:latLng})}if(isRight)return self.onRightClick(event)}),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},Parent=WPGMZA.isProVersion()?WPGMZA.ProMap:WPGMZA.Map,WPGMZA.OLMap.prototype=Object.create(Parent.prototype),WPGMZA.OLMap.prototype.constructor=WPGMZA.OLMap,WPGMZA.OLMap.prototype.getTileLayer=function(){var options={};if(WPGMZA.settings.tile_server_url&&(options.url=WPGMZA.settings.tile_server_url,"custom_override"===WPGMZA.settings.tile_server_url&&(WPGMZA.settings.tile_server_url_override&&""!==WPGMZA.settings.tile_server_url_override.trim()?options.url=WPGMZA.settings.tile_server_url_override.trim():options.url="https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"),WPGMZA.settings.open_layers_api_key&&""!==WPGMZA.settings.open_layers_api_key&&(options.url+="?apikey="+WPGMZA.settings.open_layers_api_key.trim())),this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height){var width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height);let imageDimensions=null;try{window.devicePixelRatio&&1!=window.devicePixelRatio&&(imageDimensions=[width,height])}catch(ex){}if(this.settings.custom_tile_image)return width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),new ol.layer.Image({source:new ol.source.ImageStatic({attributions:this.settings.custom_tile_image_attribution||"©",url:this.settings.custom_tile_image,projection:height,imageExtent:width,imageSize:imageDimensions})})}return new ol.layer.Tile({source:new ol.source.OSM(options)})},WPGMZA.OLMap.prototype.getTileView=function(viewOptions){var width,height;return this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height&&(width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height),this.settings.custom_tile_image&&(width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),viewOptions.projection=height,this.customTileModeExtent=width,this.customTileMode=!0)),new ol.View(viewOptions)},WPGMZA.OLMap.prototype.wrapLongitude=function(){var transformed=ol.proj.transform(this.olMap.getView().getCenter(),"EPSG:3857","EPSG:4326"),transformed={lat:transformed[1],lng:transformed[0]};-180<=transformed.lng&&transformed.lng<=180||(transformed.lng=transformed.lng-360*Math.floor(transformed.lng/360),180<transformed.lng&&(transformed.lng-=360),this.setCenter(transformed))},WPGMZA.OLMap.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olMap.getView().getCenter());return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.setCenter=function(latLng){var view=this.olMap.getView();WPGMZA.Map.prototype.setCenter.call(this,latLng),view.setCenter(ol.proj.fromLonLat([latLng.lng,latLng.lat])),this.wrapLongitude(),this.onBoundsChanged()},WPGMZA.OLMap.prototype.getBounds=function(){var bounds=this.olMap.getView().calculateExtent(this.olMap.getSize()),nativeBounds=new WPGMZA.LatLngBounds,topLeft=ol.proj.toLonLat([bounds[0],bounds[1]]),bounds=ol.proj.toLonLat([bounds[2],bounds[3]]);return nativeBounds.north=topLeft[1],nativeBounds.south=bounds[1],nativeBounds.west=topLeft[0],nativeBounds.east=bounds[0],nativeBounds},WPGMZA.OLMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=this.olMap.getView(),southWest=ol.extent.boundingExtent([ol.proj.fromLonLat([parseFloat(southWest.lng),parseFloat(southWest.lat)]),ol.proj.fromLonLat([parseFloat(northEast.lng),parseFloat(northEast.lat)])]);bounds.fit(southWest,this.olMap.getSize())},WPGMZA.OLMap.prototype.panTo=function(latLng,zoom){var view=this.olMap.getView(),options={center:ol.proj.fromLonLat([parseFloat(latLng.lng),parseFloat(latLng.lat)]),duration:500};1<arguments.length&&(options.zoom=parseInt(zoom)),view.animate(options)},WPGMZA.OLMap.prototype.getZoom=function(){return Math.round(this.olMap.getView().getZoom())},WPGMZA.OLMap.prototype.setZoom=function(value){this.olMap.getView().setZoom(value)},WPGMZA.OLMap.prototype.getMinZoom=function(){return this.olMap.getView().getMinZoom()},WPGMZA.OLMap.prototype.setMinZoom=function(value){this.olMap.getView().setMinZoom(value)},WPGMZA.OLMap.prototype.getMaxZoom=function(){return this.olMap.getView().getMaxZoom()},WPGMZA.OLMap.prototype.setMaxZoom=function(value){this.olMap.getView().setMaxZoom(value)},WPGMZA.OLMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.olMap&&this.olMap.getView().setProperties(this.settings.toOLViewOptions())},WPGMZA.OLMap.prototype.addMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.addOverlay(marker.overlay):(this.markerLayer.getSource().addFeature(marker.feature),marker.featureInSource=!0),Parent.prototype.addMarker.call(this,marker)},WPGMZA.OLMap.prototype.removeMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.removeOverlay(marker.overlay):(this.markerLayer.getSource().removeFeature(marker.feature),marker.featureInSource=!1),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.OLMap.prototype.addPolygon=function(polygon){this.olMap.addLayer(polygon.layer),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.OLMap.prototype.removePolygon=function(polygon){this.olMap.removeLayer(polygon.layer),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.OLMap.prototype.addPolyline=function(polyline){this.olMap.addLayer(polyline.layer),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.OLMap.prototype.removePolyline=function(polyline){this.olMap.removeLayer(polyline.layer),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.OLMap.prototype.addCircle=function(circle){this.olMap.addLayer(circle.layer),Parent.prototype.addCircle.call(this,circle)},WPGMZA.OLMap.prototype.removeCircle=function(circle){this.olMap.removeLayer(circle.layer),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.OLMap.prototype.addRectangle=function(rectangle){this.olMap.addLayer(rectangle.layer),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.removeRectangle=function(rectangle){this.olMap.removeLayer(rectangle.layer),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));x=this.olMap.getCoordinateFromPixel([x,y]);if(!x)return{x:null,y:null};y=ol.proj.toLonLat(x);return{lat:y[1],lng:y[0]}},WPGMZA.OLMap.prototype.latLngToPixels=function(latLng){latLng=ol.proj.fromLonLat([latLng.lng,latLng.lat]),latLng=this.olMap.getPixelFromCoordinate(latLng);return latLng?{x:latLng[0],y:latLng[1]}:{x:null,y:null}},WPGMZA.OLMap.prototype.enableBicycleLayer=function(value){value?(this.bicycleLayer||(this.bicycleLayer=new ol.layer.Tile({source:new ol.source.OSM({url:"http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png"})})),this.olMap.addLayer(this.bicycleLayer)):this.bicycleLayer&&this.olMap.removeLayer(this.bicycleLayer)},WPGMZA.OLMap.prototype.showGestureOverlay=function(){var self=this;clearTimeout(this.gestureOverlayTimeoutID),$(this.gestureOverlay).stop().animate({opacity:"100"}),$(this.element).append(this.gestureOverlay),$(this.gestureOverlay).css({"line-height":$(this.element).height()+"px",opacity:"1.0"}),$(this.gestureOverlay).show(),this.gestureOverlayTimeoutID=setTimeout(function(){self.gestureOverlay.fadeOut(2e3)},2e3)},WPGMZA.OLMap.prototype.onElementResized=function(event){this.olMap.updateSize()},WPGMZA.OLMap.prototype.onRightClick=function(event){if($(event.target).closest(".ol-marker, .wpgmza_modern_infowindow, .wpgmza-modern-store-locator").length)return!0;var parentOffset=$(this.element).offset(),relX=event.pageX-parentOffset.left,parentOffset=event.pageY-parentOffset.top,relX=this.pixelsToLatLng(relX,parentOffset);return this.trigger({type:"rightclick",latLng:relX}),$(this.element).trigger({type:"rightclick",latLng:relX}),event.preventDefault(),!1},WPGMZA.OLMap.prototype.enableAllInteractions=function(){this.olMap.getInteractions().forEach(function(interaction){(interaction instanceof ol.interaction.DragPan||interaction instanceof ol.interaction.DoubleClickZoom||interaction instanceof ol.interaction.MouseWheelZoom)&&interaction.setActive(!0)},this)}}),jQuery(function($){var Parent;WPGMZA.OLMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toLatLngLiteral():options[name]instanceof WPGMZA.Map||(settings[name]=options[name]);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT){var img=$("<img alt=''/>")[0];img.onload=function(event){self.updateElementHeight(),self.map&&self.map.olMap.updateSize()},img.src=WPGMZA.defaultMarkerIcon,this.element=$("<div class='ol-marker'></div>")[0],this.element.appendChild(img),this.element.wpgmzaMarker=this,$(this.element).on("mouseover",function(event){self.dispatchEvent("mouseover")}),$(this.element).on("mouseout",function(event){self.dispatchEvent("mouseout")}),this.overlay=new ol.Overlay({element:this.element,position:origin,positioning:"bottom-center",stopEvent:!1}),this.overlay.setPosition(origin),this.animation?this.setAnimation(this.animation):this.anim&&this.setAnimation(this.anim),options&&options.draggable&&this.setDraggable(!0),this.rebindClickListener()}else{if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)throw new Error("Invalid marker render mode");this.feature=new ol.Feature({geometry:new ol.geom.Point(origin)}),this.feature.setStyle(this.getVectorLayerStyle()),(this.feature.wpgmzaMarker=this).feature.wpgmzaFeature=this}this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.OLMarker.prototype=Object.create(Parent.prototype),WPGMZA.OLMarker.prototype.constructor=WPGMZA.OLMarker,WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT="element",WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER="vector",WPGMZA.OLMarker.renderMode=WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT,"open-layers"==WPGMZA.settings.engine&&WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(WPGMZA.OLMarker.defaultVectorLayerStyle=new ol.style.Style({image:new ol.style.Icon({anchor:[.5,1],src:WPGMZA.defaultMarkerIcon})}),WPGMZA.OLMarker.hiddenVectorLayerStyle=new ol.style.Style({})),WPGMZA.OLMarker.prototype.getVectorLayerStyle=function(){return this.vectorLayerStyle||WPGMZA.OLMarker.defaultVectorLayerStyle},WPGMZA.OLMarker.prototype.updateElementHeight=function(height,calledOnFocus){var self=this;0!=(height=height||$(this.element).find("img").height())||calledOnFocus||$(window).one("focus",function(event){self.updateElementHeight(!1,!0)}),$(this.element).css({height:height+"px"})},WPGMZA.OLMarker.prototype.addLabel=function(){this.setLabel(this.getLabelText())},WPGMZA.OLMarker.prototype.setLabel=function(label){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker labels are not currently supported in Vector Layer rendering mode"):label?(this.label||(this.label=$("<div class='ol-marker-label'/>"),$(this.element).append(this.label)),this.label.html(label)):this.label&&$(this.element).find(".ol-marker-label").remove()},WPGMZA.OLMarker.prototype.getVisible=function(visible){if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)return"none"!=this.overlay.getElement().style.display},WPGMZA.OLMarker.prototype.setVisible=function(visible){var style;Parent.prototype.setVisible.call(this,visible),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?visible?(style=this.getVectorLayerStyle(),this.feature.setStyle(style)):this.feature.setStyle(null):this.overlay.getElement().style.display=visible?"block":"none"},WPGMZA.OLMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng);latLng=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?this.feature.setGeometry(new ol.geom.Point(latLng)):this.overlay.setPosition(latLng)},WPGMZA.OLMarker.prototype.updateOffset=function(x,y){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker offset is not currently supported in Vector Layer rendering mode"):(x=this._offset.x,y=this._offset.y,this.element.style.position="relative",this.element.style.left=x+"px",this.element.style.top=y+"px")},WPGMZA.OLMarker.prototype.setAnimation=function(anim){if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker animation is not currently supported in Vector Layer rendering mode");else switch(Parent.prototype.setAnimation.call(this,anim),anim){case WPGMZA.Marker.ANIMATION_NONE:$(this.element).removeAttr("data-anim");break;case WPGMZA.Marker.ANIMATION_BOUNCE:$(this.element).attr("data-anim","bounce");break;case WPGMZA.Marker.ANIMATION_DROP:$(this.element).attr("data-anim","drop")}},WPGMZA.OLMarker.prototype.setDraggable=function(draggable){var self=this;if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker dragging is not currently supported in Vector Layer rendering mode");else if(draggable){draggable={disabled:!1};this.jQueryDraggableInitialized||(draggable.start=function(event){self.onDragStart(event)},draggable.stop=function(event){self.onDragEnd(event)});try{$(this.element).draggable(draggable),this.jQueryDraggableInitialized=!0,this.rebindClickListener()}catch(ex){}}else $(this.element).draggable({disabled:!0})},WPGMZA.OLMarker.prototype.setOpacity=function(opacity){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker opacity is not currently supported in Vector Layer rendering mode"):$(this.element).css({opacity:opacity})},WPGMZA.OLMarker.prototype.onDragStart=function(event){this.isBeingDragged=!0,this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!1)})},WPGMZA.OLMarker.prototype.onDragEnd=function(event){var offset_top=parseFloat($(this.element).css("top").match(/-?\d+/)[0]),offset_left=parseFloat($(this.element).css("left").match(/-?\d+/)[0]),currentLatLng=($(this.element).css({top:"0px",left:"0px"}),this.getPosition()),currentLatLng=this.map.latLngToPixels(currentLatLng),offset_left={x:currentLatLng.x+offset_left,y:currentLatLng.y+offset_top},currentLatLng=this.map.pixelsToLatLng(offset_left);this.setPosition(currentLatLng),this.isBeingDragged=!1,this.trigger({type:"dragend",latLng:currentLatLng}),this.trigger("change"),"yes"!=this.map.settings.wpgmza_settings_map_draggable&&this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!0)})},WPGMZA.OLMarker.prototype.onElementClick=function(event){event=event.currentTarget.wpgmzaMarker;event.isBeingDragged||(event.dispatchEvent("click"),event.dispatchEvent("select"))},WPGMZA.OLMarker.prototype.rebindClickListener=function(){$(this.element).off("click",this.onElementClick),$(this.element).on("click",this.onElementClick)}}),jQuery(function($){WPGMZA.OLModernStoreLocatorCircle=function(map,settings){WPGMZA.ModernStoreLocatorCircle.call(this,map,settings)},WPGMZA.OLModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.OLModernStoreLocatorCircle.prototype.constructor=WPGMZA.OLModernStoreLocatorCircle,WPGMZA.OLModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this,olViewportElement=$(this.map.element).children(".ol-viewport");this.canvas=document.createElement("canvas"),this.canvas.className="wpgmza-ol-canvas-overlay",olViewportElement.find(".ol-layers .ol-layer:first-child").prepend(this.canvas),this.renderFunction=function(event){self.canvas.width==olViewportElement.width()&&self.canvas.height==olViewportElement.height()||(self.canvas.width=olViewportElement.width(),self.canvas.height=olViewportElement.height(),$(this.canvas).css({width:olViewportElement.width()+"px",height:olViewportElement.height()+"px"})),self.draw()},this.map.olMap.on("postrender",this.renderFunction)},WPGMZA.OLModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvas.getContext(type)},WPGMZA.OLModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvas.width,height:this.canvas.height}},WPGMZA.OLModernStoreLocatorCircle.prototype.getCenterPixels=function(){return this.map.latLngToPixels(this.settings.center)},WPGMZA.OLModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){return{x:0,y:0}},WPGMZA.OLModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var center=new WPGMZA.LatLng(this.settings.center),outer=new WPGMZA.LatLng(center),km=(outer.moveByDistance(km,90),this.map.latLngToPixels(center)),center=this.map.latLngToPixels(outer);return Math.abs(center.x-km.x)},WPGMZA.OLModernStoreLocatorCircle.prototype.getScale=function(){return 1},WPGMZA.OLModernStoreLocatorCircle.prototype.destroy=function(){$(this.canvas).remove(),this.map.olMap.un("postrender",this.renderFunction),this.map=null,this.canvas=null}}),jQuery(function($){WPGMZA.OLModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),(WPGMZA.isProVersion()?$(".wpgmza_map[data-map-id='"+map_id+"']"):$("#wpgmza_map")).append(this.element)},WPGMZA.OLModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator),WPGMZA.OLModernStoreLocator.prototype.constructor=WPGMZA.OLModernStoreLocator}),jQuery(function($){var Parent=WPGMZA.Pointlabel;WPGMZA.OLPointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),this.updateNativeFeature()},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.OLPointlabel,Parent),WPGMZA.OLPointlabel.prototype.updateNativeFeature=function(){var options=this.getScalarProperties();options.name&&this.textFeature.setText(options.name),this.textFeature.refresh()}}),jQuery(function($){var Parent;WPGMZA.OLPolygon=function(options,olFeature){if(Parent.call(this,options,olFeature),olFeature)this.olFeature=olFeature;else{var coordinates=[[]];if(options&&options.polydata)for(var paths=this.parseGeometry(options.polydata),i=0;i<=paths.length;i++)coordinates[0].push(ol.proj.fromLonLat([parseFloat(paths[i%paths.length].lng),parseFloat(paths[i%paths.length].lat)]));this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolygon:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.OLPolygon.prototype=Object.create(Parent.prototype),WPGMZA.OLPolygon.prototype.constructor=WPGMZA.OLPolygon,WPGMZA.OLPolygon.prototype.getGeometry=function(){for(var coordinates=this.olFeature.getGeometry().getCoordinates()[0],result=[],i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolygon.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent;WPGMZA.OLPolyline=function(options,olFeature){if(WPGMZA.Polyline.call(this,options),olFeature)this.olFeature=olFeature;else{var coordinates=[];if(options&&options.polydata)for(var path=this.parseGeometry(options.polydata),i=0;i<path.length;i++){if(!WPGMZA.isNumeric(path[i].lat))throw new Error("Invalid latitude");if(!WPGMZA.isNumeric(path[i].lng))throw new Error("Invalid longitude");coordinates.push(ol.proj.fromLonLat([parseFloat(path[i].lng),parseFloat(path[i].lat)]))}this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolyline:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.Polyline,WPGMZA.OLPolyline.prototype=Object.create(Parent.prototype),WPGMZA.OLPolyline.prototype.constructor=WPGMZA.OLPolyline,WPGMZA.OLPolyline.prototype.getGeometry=function(){for(var result=[],coordinates=this.olFeature.getGeometry().getCoordinates(),i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolyline.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.OLRectangle=function(options,olFeature){var coordinates;Parent.apply(this,arguments),olFeature?this.olFeature=olFeature:(coordinates=[[]],options.cornerA&&options.cornerB&&(coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)]))),this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})),this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaRectangle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.extend(WPGMZA.OLRectangle,Parent),WPGMZA.OLRectangle.prototype.getBounds=function(){var extent=this.olFeature.getGeometry().getExtent(),topLeft=ol.extent.getTopLeft(extent),extent=ol.extent.getBottomRight(extent),topLeft=ol.proj.toLonLat(topLeft),extent=ol.proj.toLonLat(extent),topLeft=new WPGMZA.LatLng(topLeft[1],topLeft[0]),extent=new WPGMZA.LatLng(extent[1],extent[0]);return new WPGMZA.LatLngBounds(topLeft,extent)},WPGMZA.OLRectangle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.OLTextOverlay(options)},WPGMZA.extend(WPGMZA.OLText,WPGMZA.Text),WPGMZA.OLText.prototype.refresh=function(){this.overlay&&this.overlay.refresh()}}),jQuery(function($){WPGMZA.OLTextOverlay=function(options){var coords;options.position&&options.map&&(coords=ol.proj.fromLonLat([options.position.lng,options.position.lat]),this.olFeature=new ol.Feature({geometry:new ol.geom.Point(coords)}),this.styleOptions=options||{},this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.getStyle()}),this.layer.setZIndex(10),options.map.olMap.addLayer(this.layer))},WPGMZA.OLTextOverlay.prototype.getStyle=function(){var i,defaults={fontSize:11,fillColor:"#000000",strokeColor:"#ffffff"};for(i in defaults)void 0===this.styleOptions[i]&&(this.styleOptions[i]=defaults[i]);let labelStyles=new ol.style.Style({text:new ol.style.Text({font:"bold "+this.styleOptions.fontSize+'px "Open Sans", "Arial Unicode MS", "sans-serif"',placement:"point",fill:new ol.style.Fill({color:this.styleOptions.fillColor}),stroke:new ol.style.Stroke({color:this.styleOptions.strokeColor,width:1})})});return labelStyles.getText().setText(this.styleOptions.text||""),labelStyles},WPGMZA.OLTextOverlay.prototype.refresh=function(){this.layer&&this.layer.setStyle(this.getStyle())},WPGMZA.OLTextOverlay.prototype.setPosition=function(position){this.olFeature&&(position=ol.proj.fromLonLat([parseFloat(position.lng),parseFloat(position.lat)]),this.olFeature.setGeometry(new ol.geom.Point(position)))},WPGMZA.OLTextOverlay.prototype.setText=function(text){this.styleOptions.text=text},WPGMZA.OLTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.styleOptions.fontSize=size},WPGMZA.OLTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.fillColor=color},WPGMZA.OLTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.strokeColor=color},WPGMZA.OLTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.layer&&this.layer.setOpacity(opacity)},WPGMZA.OLTextOverlay.prototype.remove=function(){this.styleOptions.map&&this.styleOptions.map.olMap.removeLayer(this.layer)}}),jQuery(function($){WPGMZA.OLThemeEditor=function(){var self=this;WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-ol-theme-editor"),this.element.length?(this.mapElement=WPGMZA.maps[0].element,$(this.element).find('input[name="wpgmza_ol_tile_filter"]').on("change",function(event){self.onFilterChange(event.currentTarget)})):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.OLThemeEditor,WPGMZA.EventDispatcher),WPGMZA.OLThemeEditor.prototype.onFilterChange=function(context){context instanceof HTMLInputElement&&(context=$(context).val(),this.mapElement&&$(this.mapElement).css("--wpgmza-ol-tile-filter",context))}}),jQuery(function($){WPGMZA.OLThemePanel=function(){var self=this;this.element=$("#wpgmza-ol-theme-panel"),this.map=WPGMZA.maps[0],this.element.length?(this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),WPGMZA.OLThemePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.OLThemePanel.prototype.onThemePresetClick=function(event){if(event.currentTarget){const element=$(event.currentTarget);event=element.data("filter");if(event&&$('input[name="wpgmza_ol_tile_filter"]').length){const input=$('input[name="wpgmza_ol_tile_filter"]').get(0);input.wpgmzaCSSFilterInput&&input.wpgmzaCSSFilterInput.parseFilters(event)}}}}),jQuery(function($){WPGMZA.DataTable=function(element){var version,self=this;if(!$.fn.dataTable)return console.warn("The dataTables library is not loaded. Cannot create a dataTable. Did you enable 'Do not enqueue dataTables'?"),void(WPGMZA.settings.wpgmza_do_not_enqueue_datatables&&WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT&&alert("You have selected 'Do not enqueue DataTables' in WP Go Maps' settings. No 3rd party software is loading the DataTables library. Because of this, the marker table cannot load. Please uncheck this option to use the marker table."));$.fn.dataTable.ext?$.fn.dataTable.ext.errMode="throw":(version=$.fn.dataTable.version||"unknown",console.warn("You appear to be running an outdated or modified version of the dataTables library. This may cause issues with table functionality. This is usually caused by 3rd party software loading an older version of DataTables. The loaded version is "+version+", we recommend version 1.10.12 or above.")),$.fn.dataTable.Api&&$.fn.dataTable.Api.register("processing()",function(show){return this.iterator("table",function(ctx){ctx.oApi._fnProcessingDisplay(ctx,show)})}),this.element=element,(this.element.wpgmzaDataTable=this).dataTableElement=this.getDataTableElement();var settings=this.getDataTableSettings();this.phpClass=$(element).attr("data-wpgmza-php-class"),(this.wpgmzaDataTable=this).useCompressedPathVariable=WPGMZA.restAPI.isCompressedPathVariableSupported&&WPGMZA.settings.enable_compressed_path_variables,this.method=this.useCompressedPathVariable?"GET":"POST",null==this.getLanguageURL()||"//cdn.datatables.net/plug-ins/1.10.12/i18n/English.json"==this.getLanguageURL()?(this.dataTable=$(this.dataTableElement).DataTable(settings),this.dataTable.ajax.reload()):$.ajax(this.getLanguageURL(),{success:function(response,status,xhr){self.languageJSON=response,self.dataTable=$(self.dataTableElement).DataTable(settings),self.dataTable.ajax.reload()}})},WPGMZA.DataTable.prototype.getDataTableElement=function(){return $(this.element).find("table")},WPGMZA.DataTable.prototype.onAJAXRequest=function(data,settings){var params={phpClass:this.phpClass},attr=$(this.element).attr("data-wpgmza-ajax-parameters");return attr&&$.extend(params,JSON.parse(attr)),$.extend(data,params)},WPGMZA.DataTable.prototype.onDataTableAjaxRequest=function(data,callback,settings){var self=this,element=this.element,element=$(element).attr("data-wpgmza-rest-api-route"),data=this.onAJAXRequest(data,settings),draw=data.draw;if(delete data.draw,!element)throw new Error("No data-wpgmza-rest-api-route attribute specified");settings={method:"POST",useCompressedPathVariable:!0,data:data,dataType:"json",cache:!this.preventCaching,beforeSend:function(xhr){xhr.setRequestHeader("X-DataTables-Draw",draw)},success:function(response,status,xhr){response.draw=draw,self.lastResponse=response,callback(response),$("[data-marker-icon-src]").each(function(index,element){WPGMZA.MarkerIcon.createInstance($(element).attr("data-marker-icon-src")).applyToElement(element)})}};return WPGMZA.restAPI.call(element,settings)},WPGMZA.DataTable.prototype.getDataTableSettings=function(){var self=this,element=this.element,options={},element=((options=$(element).attr("data-wpgmza-datatable-options")?JSON.parse($(element).attr("data-wpgmza-datatable-options")):options).deferLoading=!0,options.processing=!0,options.serverSide=!0,options.ajax=function(data,callback,settings){return WPGMZA.DataTable.prototype.onDataTableAjaxRequest.apply(self,arguments)},WPGMZA.AdvancedTableDataTable&&this instanceof WPGMZA.AdvancedTableDataTable&&WPGMZA.settings.wpgmza_default_items&&(options.iDisplayLength=parseInt(WPGMZA.settings.wpgmza_default_items)),options.aLengthMenu=[[5,10,25,50,100,-1],["5","10","25","50","100",WPGMZA.localized_strings.all]],this.getLanguageURL());return element&&(options.language={url:element}),options},WPGMZA.DataTable.prototype.getLanguageURL=function(){if(!WPGMZA.locale)return null;var languageURL;switch(WPGMZA.locale.substr(0,2)){case"af":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Afrikaans.json";break;case"sq":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Albanian.json";break;case"am":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Amharic.json";break;case"ar":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Arabic.json";break;case"hy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Armenian.json";break;case"az":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Azerbaijan.json";break;case"bn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bangla.json";break;case"eu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Basque.json";break;case"be":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Belarusian.json";break;case"bg":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bulgarian.json";break;case"ca":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Catalan.json";break;case"zh":languageURL="zh_TW"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Chinese-traditional.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Chinese.json";break;case"hr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Croatian.json";break;case"cs":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Czech.json";break;case"da":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Danish.json";break;case"nl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Dutch.json";break;case"et":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Estonian.json";break;case"fi":languageURL=WPGMZA.locale.match(/^fil/)?WPGMZA.pluginDirURL+"languages/datatables/Filipino.json":WPGMZA.pluginDirURL+"languages/datatables/Finnish.json";break;case"fr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/French.json";break;case"gl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Galician.json";break;case"ka":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Georgian.json";break;case"de":languageURL=WPGMZA.pluginDirURL+"languages/datatables/German.json";break;case"el":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Greek.json";break;case"gu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Gujarati.json";break;case"he":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hebrew.json";break;case"hi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hindi.json";break;case"hu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hungarian.json";break;case"is":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Icelandic.json";break;case"id":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Indonesian.json";break;case"ga":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Irish.json";break;case"it":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Italian.json";break;case"ja":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Japanese.json";break;case"kk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kazakh.json";break;case"ko":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Korean.json";break;case"ky":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kyrgyz.json";break;case"lv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Latvian.json";break;case"lt":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Lithuanian.json";break;case"mk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Macedonian.json";break;case"ml":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Malay.json";break;case"mn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Mongolian.json";break;case"ne":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Nepali.json";break;case"nb":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Bokmal.json";break;case"nn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Nynorsk.json";break;case"ps":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Pashto.json";break;case"fa":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Persian.json";break;case"pl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Polish.json";break;case"pt":languageURL="pt_BR"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Portuguese-Brasil.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Portuguese.json";break;case"ro":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Romanian.json";break;case"ru":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Russian.json";break;case"sr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Serbian.json";break;case"si":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Sinhala.json";break;case"sk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovak.json";break;case"sl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovenian.json";break;case"es":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Spanish.json";break;case"sw":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swahili.json";break;case"sv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swedish.json";break;case"ta":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Tamil.json";break;case"te":languageURL=WPGMZA.pluginDirURL+"languages/datatables/telugu.json";break;case"th":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Thai.json";break;case"tr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Turkish.json";break;case"uk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Ukrainian.json";break;case"ur":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Urdu.json";break;case"uz":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Uzbek.json";break;case"vi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Vietnamese.json";break;case"cy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Welsh.json"}return languageURL},WPGMZA.DataTable.prototype.onAJAXResponse=function(response){},WPGMZA.DataTable.prototype.reload=function(){this.dataTable&&this.dataTable.ajax.reload(null,!1)}}),jQuery(function($){WPGMZA.AdminFeatureDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),this.initModals(),$(element).on("click",".wpgmza.bulk_delete",function(event){self.onBulkDelete(event)}),$(element).on("click",".wpgmza.select_all_markers",function(event){self.onSelectAll(event)}),$(element).on("click",".wpgmza.bulk_edit",function(event){self.onBulkEdit(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)}),$(element).on("click","[data-duplicate-feature-id]",function(event){self.onDuplicate(event)}),$(element).on("click","[data-move-map-feature-id]",function(event){self.onMoveMap(event)})},WPGMZA.extend(WPGMZA.AdminFeatureDataTable,WPGMZA.DataTable),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featurePanel",{get:function(){return WPGMZA.mapEditPage[this.featureType+"Panel"]}}),WPGMZA.AdminFeatureDataTable.prototype.initModals=function(){this.moveModal=!1,this.bulkEditorModal=!1,"marker"===this.featureType&&($(".wpgmza-map-select-modal").length&&(this.moveModal=WPGMZA.GenericModal.createInstance($(".wpgmza-map-select-modal"))),$(".wpgmza-bulk-marker-editor-modal").length&&(this.bulkEditorModal=WPGMZA.GenericModal.createInstance($(".wpgmza-bulk-marker-editor-modal"))))},WPGMZA.AdminFeatureDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaFeatureData=index},options},WPGMZA.AdminFeatureDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0],plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/"+plural+"/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}}))},WPGMZA.AdminFeatureDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminFeatureDataTable.prototype.onBulkEdit=function(event){const self=this,ids=[];WPGMZA.maps[0];const plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),this.bulkEditorModal&&ids.length&&this.bulkEditorModal.show(function(data){data.ids=ids,data.action="bulk_edit",WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:data,success:function(response,status,xhr){self.reload()}})})},WPGMZA.AdminFeatureDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))},WPGMZA.AdminFeatureDataTable.prototype.onDuplicate=function(event){const self=this;let id=!1;id=null==event.currentTarget?event:$(event.currentTarget).attr("data-duplicate-feature-id");event=this.featureType+"s";WPGMZA.restAPI.call("/"+event+"/",{method:"POST",data:{id:id,action:"duplicate"},success:function(response,status,xhr){self.reload()}})},WPGMZA.AdminFeatureDataTable.prototype.onMoveMap=function(event){const self=this;let id=!1,plural=(id=null==event.currentTarget?event:$(event.currentTarget).attr("data-move-map-feature-id"),this.featureType+"s");this.moveModal&&this.moveModal.show(function(data){data=!!data.map_id&&parseInt(data.map_id);data&&WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:{id:id,map_id:data,action:"move_map"},success:function(response,status,xhr){self.reload()}})})}}),jQuery(function($){WPGMZA.AdminMapDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),$(element).on("mousedown","button[data-action='edit']",function(event){switch(event.which){case 1:var map_id=$(event.target).attr("data-map-id");window.location.href=window.location.href+"&action=edit&map_id="+map_id;break;case 2:map_id=$(event.target).attr("data-map-id");window.open(window.location.href+"&action=edit&map_id="+map_id)}}),$(element).find(".wpgmza.select_all_maps").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete_maps").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","button[data-action='duplicate']",function(event){event=$(event.target).attr("data-map-id");WPGMZA.restAPI.call("/maps/",{method:"POST",data:{id:event,action:"duplicate"},success:function(response,status,xhr){self.reload()}})}),$(element).on("click","button[data-action='trash']",function(event){confirm(WPGMZA.localized_strings.map_delete_prompt_text)&&(event=$(event.target).attr("data-map-id"),WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{id:event},success:function(response,status,xhr){self.reload()}}))})},WPGMZA.extend(WPGMZA.AdminMapDataTable,WPGMZA.DataTable),WPGMZA.AdminMapDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMapData=index},options},WPGMZA.AdminMapDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminMapDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMapData.id)}),confirm(WPGMZA.localized_strings.map_bulk_delete_prompt_text)&&WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},$(document).ready(function(event){$("[data-wpgmza-admin-map-datatable]").each(function(index,el){WPGMZA.AdminMapDataTable=new WPGMZA.AdminMapDataTable(el)})})}),jQuery(function($){WPGMZA.AdminMarkerDataTable=function(element){var self=this;this.preventCaching=!0,WPGMZA.DataTable.call(this,element),$(element).on("click","[data-delete-marker-id]",function(event){self.onDeleteMarker(event)}),$(element).find(".wpgmza.select_all_markers").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)})},WPGMZA.AdminMarkerDataTable.prototype=Object.create(WPGMZA.DataTable.prototype),WPGMZA.AdminMarkerDataTable.prototype.constructor=WPGMZA.AdminMarkerDataTable,WPGMZA.AdminMarkerDataTable.createInstance=function(element){return new WPGMZA.AdminMarkerDataTable(element)},WPGMZA.AdminMarkerDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMarkerData=index},options},WPGMZA.AdminMarkerDataTable.prototype.onEditMarker=function(event){WPGMZA.animatedScroll("#wpgmaps_tabs_markers")},WPGMZA.AdminMarkerDataTable.prototype.onDeleteMarker=function(event){var self=this,id=$(event.currentTarget).attr("data-delete-marker-id"),event={action:"delete_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:id};$.post(ajaxurl,event,function(response){WPGMZA.mapEditPage.map.removeMarkerByID(id),self.reload()})},WPGMZA.AdminMarkerDataTable.prototype.onApproveMarker=function(event){var cur_id=$(this).attr("id"),cur_id={action:"approve_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:cur_id};$.post(ajaxurl,cur_id,function(response){wpgmza_InitMap(),wpgmza_reinitialisetbl()})},WPGMZA.AdminMarkerDataTable.prototype.onSelectAll=function(event){$(this.element).find("input[name='mark']").prop("checked",!0)},WPGMZA.AdminMarkerDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMarkerData.id)}),ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/markers/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},WPGMZA.AdminMarkerDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.mapEditPage.map.setZoom(6),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))}});
1
+ jQuery(function($){var core={MARKER_PULL_DATABASE:"0",MARKER_PULL_XML:"1",PAGE_MAP_LIST:"map-list",PAGE_MAP_EDIT:"map-edit",PAGE_SETTINGS:"map-settings",PAGE_STYLING:"map-styling",PAGE_SUPPORT:"map-support",PAGE_INSTALLER:"installer",PAGE_CATEGORIES:"categories",PAGE_ADVANCED:"advanced",PAGE_CUSTOM_FIELDS:"custom-fields",maps:[],events:null,settings:null,restAPI:null,localized_strings:null,loadingHTML:'<div class="wpgmza-preloader"><div class="wpgmza-loader">...</div></div>',preloaderHTML:"<div class='wpgmza-preloader'><div></div><div></div><div></div><div></div></div>",getCurrentPage:function(){switch(WPGMZA.getQueryParamValue("page")){case"wp-google-maps-menu":return window.location.href.match(/action=edit/)&&window.location.href.match(/map_id=\d+/)?WPGMZA.PAGE_MAP_EDIT:window.location.href.match(/action=installer/)?WPGMZA.PAGE_INSTALLER:WPGMZA.PAGE_MAP_LIST;case"wp-google-maps-menu-settings":return WPGMZA.PAGE_SETTINGS;case"wp-google-maps-menu-styling":return WPGMZA.PAGE_STYLING;case"wp-google-maps-menu-support":return WPGMZA.PAGE_SUPPORT;case"wp-google-maps-menu-categories":return WPGMZA.PAGE_CATEGORIES;case"wp-google-maps-menu-advanced":return WPGMZA.PAGE_ADVANCED;case"wp-google-maps-menu-custom-fields":return WPGMZA.PAGE_CUSTOM_FIELDS;default:return null}},getScrollAnimationOffset:function(){return(WPGMZA.settings.scroll_animation_offset||0)+($("#wpadminbar").height()||0)},getScrollAnimationDuration:function(){return WPGMZA.settings.scroll_animation_milliseconds||500},animateScroll:function(element,milliseconds){var offset=WPGMZA.getScrollAnimationOffset();milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$("html, body").animate({scrollTop:$(element).offset().top-offset},milliseconds)},extend:function(child,parent){var constructor=child;child.prototype=Object.create(parent.prototype),child.prototype.constructor=constructor},guid:function(){var d=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(d+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+16*Math.random())%16|0;return d=Math.floor(d/16),("x"===c?r:3&r|8).toString(16)})},hexOpacityToRGBA:function(colour,opacity){colour=parseInt(colour.replace(/^#/,""),16);return[(16711680&colour)>>16,(65280&colour)>>8,255&colour,parseFloat(opacity)]},hexOpacityToString:function(colour,opacity){colour=WPGMZA.hexOpacityToRGBA(colour,opacity);return"rgba("+colour[0]+", "+colour[1]+", "+colour[2]+", "+colour[3]+")"},hexToRgba:function(hex){return/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)?{r:(hex="0x"+(hex=3==(hex=hex.substring(1).split("")).length?[hex[0],hex[0],hex[1],hex[1],hex[2],hex[2]]:hex).join(""))>>16&255,g:hex>>8&255,b:255&hex,a:1}:0},rgbaToString:function(rgba){return"rgba("+rgba.r+", "+rgba.g+", "+rgba.b+", "+rgba.a+")"},latLngRegexp:/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,isLatLngString:function(str){if("string"!=typeof str)return null;str=(str=str.match(/^\(.+\)$/)?str.replace(/^\(|\)$/,""):str).match(WPGMZA.latLngRegexp);return str?new WPGMZA.LatLng({lat:parseFloat(str[1]),lng:parseFloat(str[3])}):null},stringToLatLng:function(str){str=WPGMZA.isLatLngString(str);if(str)return str;throw new Error("Not a valid latLng")},isHexColorString:function(str){return"string"==typeof str&&!!str.match(/#[0-9A-F]{6}/i)},imageDimensionsCache:{},getImageDimensions:function(src,callback){var img;WPGMZA.imageDimensionsCache[src]?callback(WPGMZA.imageDimensionsCache[src]):((img=document.createElement("img")).onload=function(event){var result={width:img.width,height:img.height};WPGMZA.imageDimensionsCache[src]=result,callback(result)},img.src=src)},decodeEntities:function(input){return input.replace(/&(nbsp|amp|quot|lt|gt);/g,function(m,e){return m[e]}).replace(/&#(\d+);/gi,function(m,e){return String.fromCharCode(parseInt(e,10))})},isDeveloperMode:function(){return this.settings.developer_mode||window.Cookies&&window.Cookies.get("wpgmza-developer-mode")},isProVersion:function(){return"1"==this._isProVersion},openMediaDialog:function(callback,config){var file_frame;if(file_frame)return file_frame.uploader.uploader.param("post_id",set_to_post_id),void file_frame.open();(file_frame=wp.media.frames.file_frame=config?wp.media(config):wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){attachment=file_frame.state().get("selection").first().toJSON(),callback(attachment.id,attachment.url,attachment)}),file_frame.open()},getCurrentPosition:function(callback,error,watch){var options,nativeFunction="getCurrentPosition";WPGMZA.userLocationDenied?error&&error({code:1,message:"Location unavailable"}):(watch&&(nativeFunction="watchPosition"),navigator.geolocation?(options={enableHighAccuracy:!0},navigator.geolocation[nativeFunction]?navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){options.enableHighAccuracy=!1,navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){console.warn(err.code,err.message),1==err.code&&(WPGMZA.userLocationDenied=!0),error&&error(err)},options)},options):console.warn(nativeFunction+" is not available")):console.warn("No geolocation available on this device"))},watchPosition:function(callback,error){return WPGMZA.getCurrentPosition(callback,error,!0)},runCatchableTask:function(callback,friendlyErrorContainer){if(WPGMZA.isDeveloperMode())callback();else try{callback()}catch(e){callback=new WPGMZA.FriendlyError(e);$(friendlyErrorContainer).html(""),$(friendlyErrorContainer).append(callback.element),$(friendlyErrorContainer).show()}},capitalizeWords:function(string){return(string+"").replace(/^(.)|\s+(.)/g,function(m){return m.toUpperCase()})},pluralize:function(string){return WPGMZA.singularize(string)+"s"},singularize:function(string){return string.replace(/s$/,"")},assertInstanceOf:function(instance,instanceName){var pro=WPGMZA.isProVersion()?"Pro":"",engine="open-layers"===WPGMZA.settings.engine?"OL":"Google",pro=WPGMZA[engine+pro+instanceName]&&engine+instanceName!="OLFeature"?engine+pro+instanceName:WPGMZA[pro+instanceName]?pro+instanceName:WPGMZA[engine+instanceName]&&WPGMZA[engine+instanceName].prototype?engine+instanceName:instanceName;if("OLFeature"!=pro&&!(instance instanceof WPGMZA[pro]))throw new Error("Object must be an instance of "+pro+" (did you call a constructor directly, rather than createInstance?)")},getMapByID:function(id){for(var i=0;i<WPGMZA.maps.length;i++)if(WPGMZA.maps[i].id==id)return WPGMZA.maps[i];return null},isGoogleAutocompleteSupported:function(){return!!window.google&&(!!google.maps&&(!!google.maps.places&&(!!google.maps.places.Autocomplete&&(!WPGMZA.CloudAPI||!WPGMZA.CloudAPI.isBeingUsed))))},googleAPIStatus:window.wpgmza_google_api_status,isSafari:function(){var ua=navigator.userAgent.toLowerCase();return ua.match(/safari/i)&&!ua.match(/chrome/i)},isTouchDevice:function(){return"ontouchstart"in window},isDeviceiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},isModernComponentStyleAllowed:function(){return!!WPGMZA.InternalEngine.isLegacy()&&(!WPGMZA.settings.user_interface_style||"legacy"==WPGMZA.settings.user_interface_style||"modern"==WPGMZA.settings.user_interface_style)},isElementInView:function(element){var pageTop=$(window).scrollTop(),pageBottom=pageTop+$(window).height(),elementTop=$(element).offset().top,element=elementTop+$(element).height();return elementTop<pageTop&&pageBottom<element||(pageTop<=elementTop&&elementTop<=pageBottom||pageTop<=element&&element<=pageBottom)},isFullScreen:function(){return wpgmzaisFullScreen},isNumeric:function(num){return!isNaN(parseFloat(num))&&isFinite(num)},getQueryParamValue:function(name){var name=new RegExp(name+"=([^&#]*)");return(name=window.location.href.match(name))?decodeURIComponent(name[1]):null},notification:function(text,time){switch(arguments.length){case 0:text="",time=4e3;break;case 1:time=4e3}var html='<div class="wpgmza-popup-notification">'+text+"</div>";jQuery("body").append(html),setTimeout(function(){jQuery("body").find(".wpgmza-popup-notification").remove()},time)},initMaps:function(){$(document.body).find(".wpgmza_map:not(.wpgmza-initialized)").each(function(index,el){if(el.wpgmzaMap)console.warn("Element missing class wpgmza-initialized but does have wpgmzaMap property. No new instance will be created");else try{el.wpgmzaMap=WPGMZA.Map.createInstance(el)}catch(ex){console.warn("Map initalization: "+ex)}}),WPGMZA.Map.nextInitTimeoutID=setTimeout(WPGMZA.initMaps,3e3)},initCapsules:function(){WPGMZA.capsuleModules=WPGMZA.CapsuleModules.createInstance()},onScroll:function(){$(".wpgmza_map").each(function(index,el){var isInView=WPGMZA.isElementInView(el);el.wpgmzaScrollIntoViewTriggerFlag?isInView||(el.wpgmzaScrollIntoViewTriggerFlag=!1):isInView&&($(el).trigger("mapscrolledintoview.wpgmza"),el.wpgmzaScrollIntoViewTriggerFlag=!0)})},initInstallerRedirect:function(url){$(".wpgmza-wrap").hide(),window.location.href=url}},wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){var value=WPGMZA_localized_data[key];WPGMZA[key]=value}var key,wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){value=WPGMZA_localized_data[key];WPGMZA[key]=value}WPGMZA.settings.useLegacyGlobals=!0,$(document).on("fullscreenchange mozfullscreenchange webkitfullscreenchange",function(){wpgmzaisFullScreen=!!document.fullscreenElement,$(document.body).trigger("fullscreenchange.wpgmza")}),$("body").on("click","#wpgmzaCloseChat",function(e){e.preventDefault(),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_hide_chat",nonce:WPGMZA_localized_data.ajaxnonce}}),$(".wpgmza-chat-help").remove()}),$(window).on("scroll",WPGMZA.onScroll),$(document.body).on("click","button.wpgmza-api-consent",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}),$(document.body).on("keydown",function(event){event.altKey&&(WPGMZA.altKeyDown=!0)}),$(document.body).on("keyup",function(event){event.altKey||(WPGMZA.altKeyDown=!1)}),$(document.body).on("preinit.wpgmza",function(){$(window).trigger("ready.wpgmza"),$(document.body).trigger("ready.body.wpgmza"),$("script[src*='wp-google-maps.combined.js'], script[src*='wp-google-maps-pro.combined.js']").length&&console.warn("Minified script is out of date, using combined script instead.");var key,elements=$("script[src]").filter(function(){return this.src.match(/(^|\/)jquery\.(min\.)?js(\?|$)/i)});1<elements.length&&console.warn("Multiple jQuery versions detected: ",elements);for(key in[]){console.warn("The Array object has been extended incorrectly by your theme or another plugin. This can cause issues with functionality.");break}"https:"!=window.location.protocol&&(elements='<div class="'+(WPGMZA.InternalEngine.isLegacy()?"":"wpgmza-shadow wpgmza-card wpgmza-pos-relative ")+'notice notice-warning"><p>'+WPGMZA.localized_strings.unsecure_geolocation+"</p></div>",$(".wpgmza-geolocation-setting").first().after($(elements))),WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code&&jQuery(".wpgmza-gdpr-compliance").length<=0&&($(".wpgmza-inner-stack").hide(),$("button.wpgmza-api-consent").on("click",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}))}),function($){$(function(){WPGMZA.restAPI=WPGMZA.RestAPI.createInstance(),WPGMZA.CloudAPI&&(WPGMZA.cloudAPI=WPGMZA.CloudAPI.createInstance()),$(document.body).trigger("preinit.wpgmza"),WPGMZA.initMaps(),WPGMZA.onScroll(),WPGMZA.initCapsules(),$(document.body).trigger("postinit.wpgmza")})}($)}),jQuery(function($){WPGMZA.Compatibility=function(){this.preventDocumentWriteGoogleMapsAPI()},WPGMZA.Compatibility.prototype.preventDocumentWriteGoogleMapsAPI=function(){var old=document.write;document.write=function(content){content.match&&content.match(/maps\.google/)||old.call(document,content)}},WPGMZA.compatiblityModule=new WPGMZA.Compatibility}),!function(root,factory){"object"==typeof exports?module.exports=factory(root):"function"==typeof define&&define.amd?define([],factory.bind(root,root)):factory(root)}("undefined"!=typeof global?global:this,function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;function cssEscape(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index<length;)0==(codeUnit=string.charCodeAt(index))?result+="�":result+=1<=codeUnit&&codeUnit<=31||127==codeUnit||0==index&&48<=codeUnit&&codeUnit<=57||1==index&&48<=codeUnit&&codeUnit<=57&&45==firstCodeUnit?"\\"+codeUnit.toString(16)+" ":(0!=index||1!=length||45!=codeUnit)&&(128<=codeUnit||45==codeUnit||95==codeUnit||48<=codeUnit&&codeUnit<=57||65<=codeUnit&&codeUnit<=90||97<=codeUnit&&codeUnit<=122)?string.charAt(index):"\\"+string.charAt(index);return result}return root.CSS||(root.CSS={}),root.CSS.escape=cssEscape}),jQuery(function($){Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Distance={MILES:!0,KILOMETERS:!1,MILES_PER_KILOMETER:.621371,KILOMETERS_PER_MILE:1.60934,uiToMeters:function(uiDistance){return parseFloat(uiDistance)/(WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?WPGMZA.Distance.MILES_PER_KILOMETER:1)*1e3},uiToKilometers:function(uiDistance){return.001*WPGMZA.Distance.uiToMeters(uiDistance)},uiToMiles:function(uiDistance){return WPGMZA.Distance.uiToKilometers(uiDistance)*WPGMZA.Distance.MILES_PER_KILOMETER},kilometersToUI:function(km){return WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?km*WPGMZA.Distance.MILES_PER_KILOMETER:km},between:function(a,b){if(!(a instanceof WPGMZA.LatLng||"lat"in a&&"lng"in a))throw new Error("First argument must be an instance of WPGMZA.LatLng or a literal");if(!(b instanceof WPGMZA.LatLng||"lat"in b&&"lng"in b))throw new Error("Second argument must be an instance of WPGMZA.LatLng or a literal");if(a===b)return 0;var lat1=a.lat,lon1=a.lng,lat2=b.lat,b=b.lng,dLat=deg2rad(lat2-lat1),b=deg2rad(b-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(b/2)*Math.sin(b/2);return 6371*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))}}}),jQuery(function($){WPGMZA.EliasFano=function(){if(!WPGMZA.EliasFano.isSupported)throw new Error("Elias Fano encoding is not supported on browsers without Uint8Array");WPGMZA.EliasFano.decodingTablesInitialised||WPGMZA.EliasFano.createDecodingTable()},WPGMZA.EliasFano.isSupported="Uint8Array"in window,WPGMZA.EliasFano.decodingTableHighBits=[],WPGMZA.EliasFano.decodingTableDocIDNumber=null,WPGMZA.EliasFano.decodingTableHighBitsCarryover=null,WPGMZA.EliasFano.createDecodingTable=function(){WPGMZA.EliasFano.decodingTableDocIDNumber=new Uint8Array(256),WPGMZA.EliasFano.decodingTableHighBitsCarryover=new Uint8Array(256);for(var decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,i=0;i<256;i++){var zeroCount=0;decodingTableHighBits[i]=[];for(var j=7;0<=j;j--)zeroCount=0<(i&1<<j)?(decodingTableHighBits[i][decodingTableDocIDNumber[i]]=zeroCount,decodingTableDocIDNumber[i]++,0):(zeroCount+1)%255;decodingTableHighBitsCarryover[i]=zeroCount}WPGMZA.EliasFano.decodingTablesInitialised=!0},WPGMZA.EliasFano.prototype.encode=function(list){var lastDocID=0,buffer1=0,bufferLength1=0,buffer2=0,bufferLength2=0;if(0==list.length)return result;var compressedBufferPointer1=0,compressedBufferPointer2=0,averageDelta=list[list.length-1]/list.length,averageDeltaLog=Math.log2(averageDelta),lowBitsLength=Math.floor(averageDeltaLog),lowBitsMask=(1<<lowBitsLength)-1,prev=null,averageDeltaLog=Math.floor((2+Math.ceil(Math.log2(averageDelta)))*list.length/8)+6,compressedBuffer=new Uint8Array(averageDeltaLog),result=(lowBitsLength<0&&(lowBitsLength=0),compressedBufferPointer2=Math.floor(lowBitsLength*list.length/8+6),compressedBuffer[compressedBufferPointer1++]=255&list.length,compressedBuffer[compressedBufferPointer1++]=255&list.length>>8,compressedBuffer[compressedBufferPointer1++]=255&list.length>>16,compressedBuffer[compressedBufferPointer1++]=255&list.length>>24,compressedBuffer[compressedBufferPointer1++]=255&lowBitsLength,list.forEach(function(docID){var docIDDelta=docID-lastDocID-1;if(!WPGMZA.isNumeric(docID))throw new Error("Value is not numeric");if(docID=parseInt(docID),null!==prev&&docID<=prev)throw new Error("Elias Fano encoding can only be used on a sorted, ascending list of unique integers.");for(prev=docID,buffer1=buffer1<<lowBitsLength|docIDDelta&lowBitsMask,bufferLength1+=lowBitsLength;7<bufferLength1;)bufferLength1-=8,compressedBuffer[compressedBufferPointer1++]=255&buffer1>>bufferLength1;docIDDelta=1+(docIDDelta>>lowBitsLength);for(buffer2=buffer2<<docIDDelta|1,bufferLength2+=docIDDelta;7<bufferLength2;)bufferLength2-=8,compressedBuffer[compressedBufferPointer2++]=255&buffer2>>bufferLength2;lastDocID=docID}),0<bufferLength1&&(compressedBuffer[compressedBufferPointer1++]=255&buffer1<<8-bufferLength1),0<bufferLength2&&(compressedBuffer[compressedBufferPointer2++]=255&buffer2<<8-bufferLength2),new Uint8Array(compressedBuffer));return result.pointer=compressedBufferPointer2,result},WPGMZA.EliasFano.prototype.decode=function(compressedBuffer){for(var resultPointer=0,list=[],decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,lowBitsPointer=0,lastDocID=0,docID=0,listCount=compressedBuffer[lowBitsPointer++],lowBitsLength=(listCount=(listCount=(listCount|=compressedBuffer[lowBitsPointer++]<<8)|compressedBuffer[lowBitsPointer++]<<16)|compressedBuffer[lowBitsPointer++]<<24,compressedBuffer[lowBitsPointer++]),lowBitsCount=0,lowBits=0,cb=1,highBitsPointer=Math.floor(lowBitsLength*listCount/8+6);highBitsPointer<compressedBuffer.pointer;highBitsPointer++){docID+=decodingTableHighBitsCarryover[cb];for(var docIDNumber=decodingTableDocIDNumber[cb=compressedBuffer[highBitsPointer]],i=0;i<docIDNumber;i++){for(docID=docID<<lowBitsCount|lowBits&(1<<lowBitsCount)-1;lowBitsCount<lowBitsLength;)docID=(docID<<=8)|(lowBits=compressedBuffer[lowBitsPointer++]),lowBitsCount+=8;docID=(docID>>=lowBitsCount-=lowBitsLength)+((decodingTableHighBits[cb][i]<<lowBitsLength)+lastDocID+1),lastDocID=list[resultPointer++]=docID,docID=0}}return list}}),jQuery(function($){WPGMZA.EventDispatcher=function(){WPGMZA.assertInstanceOf(this,"EventDispatcher"),this._listenersByType={}},WPGMZA.EventDispatcher.prototype.addEventListener=function(type,listener,thisObject,useCapture){var types=type.split(/\s+/);if(1<types.length)for(var i=0;i<types.length;i++)this.addEventListener(types[i],listener,thisObject,useCapture);else{if(!(listener instanceof Function))throw new Error("Listener must be a function");type=this._listenersByType.hasOwnProperty(type)?this._listenersByType[type]:this._listenersByType[type]=[];type.push({listener:listener,thisObject:thisObject||this,useCapture:!!useCapture})}},WPGMZA.EventDispatcher.prototype.on=WPGMZA.EventDispatcher.prototype.addEventListener,WPGMZA.EventDispatcher.prototype.removeEventListener=function(type,listener,thisObject,useCapture){var arr,obj;if(arr=this._listenersByType[type]){thisObject=thisObject||this,useCapture=!!useCapture;for(var i=0;i<arr.length;i++)if(obj=arr[i],(1==arguments.length||obj.listener==listener)&&obj.thisObject==thisObject&&obj.useCapture==useCapture)return void arr.splice(i,1)}},WPGMZA.EventDispatcher.prototype.off=WPGMZA.EventDispatcher.prototype.removeEventListener,WPGMZA.EventDispatcher.prototype.hasEventListener=function(type){return!!_listenersByType[type]},WPGMZA.EventDispatcher.prototype.dispatchEvent=function(event){if(!(event instanceof WPGMZA.Event))if("string"==typeof event)event=new WPGMZA.Event(event);else{var name,src=event;for(name in event=new WPGMZA.Event,src)event[name]=src[name]}for(var path=[],obj=(event.target=this).parent;null!=obj;obj=obj.parent)path.unshift(obj);event.phase=WPGMZA.Event.CAPTURING_PHASE;for(var i=0;i<path.length&&!event._cancelled;i++)path[i]._triggerListeners(event);if(!event._cancelled){for(event.phase=WPGMZA.Event.AT_TARGET,this._triggerListeners(event),event.phase=WPGMZA.Event.BUBBLING_PHASE,i=path.length-1;0<=i&&!event._cancelled;i--)path[i]._triggerListeners(event);for(var topMostElement=this.element,obj=this.parent;null!=obj;obj=obj.parent)obj.element&&(topMostElement=obj.element);if(topMostElement){var key,customEvent={};for(key in event){var value=event[key];"type"==key&&(value+=".wpgmza"),customEvent[key]=value}$(topMostElement).trigger(customEvent)}}},WPGMZA.EventDispatcher.prototype.trigger=WPGMZA.EventDispatcher.prototype.dispatchEvent,WPGMZA.EventDispatcher.prototype._triggerListeners=function(event){var arr,obj;if(arr=this._listenersByType[event.type])for(var i=0;i<arr.length;i++)obj=arr[i],event.phase==WPGMZA.Event.CAPTURING_PHASE&&!obj.useCapture||obj.listener.call(arr[i].thisObject,event)},WPGMZA.events=new WPGMZA.EventDispatcher}),jQuery(function($){WPGMZA.AddressInput=function(element,map){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=element;var json,options={fields:["name","formatted_address"],types:["geocode","establishment"]};(json=$(element).attr("data-autocomplete-options"))&&(options=$.extend(options,JSON.parse(json))),map&&map.settings.wpgmza_store_locator_restrict&&(options.country=map.settings.wpgmza_store_locator_restrict),this.options=options,(element._wpgmzaAddressInput=this).googleAutocompleteLoaded=!1,WPGMZA.isGoogleAutocompleteSupported()?this.shouldAutoLoadGoogleAutocomplete()&&this.loadGoogleAutocomplete():WPGMZA.CloudAPI&&WPGMZA.CloudAPI.isBeingUsed&&(element.cloudAutoComplete=new WPGMZA.CloudAutocomplete(element,options))},WPGMZA.extend(WPGMZA.AddressInput,WPGMZA.EventDispatcher),WPGMZA.AddressInput.createInstance=function(element,map){return new WPGMZA.AddressInput(element,map)},WPGMZA.AddressInput.prototype.loadGoogleAutocomplete=function(){WPGMZA.settings&&(WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key)&&(WPGMZA.isGoogleAutocompleteSupported()&&(this.element.googleAutoComplete=new google.maps.places.Autocomplete(this.element,this.options),this.options.country&&this.element.googleAutoComplete.setComponentRestrictions({country:this.options.country})),this.googleAutocompleteLoaded=!0)},WPGMZA.AddressInput.prototype.shouldAutoLoadGoogleAutocomplete=function(){return!this.element||!this.element.id||"wpgmza_add_address_map_editor"!==this.element.id}}),jQuery(function($){WPGMZA.CapsuleModules=function(){WPGMZA.EventDispatcher.call(this),this.proxies={},this.capsules=[],this.prepareCapsules(),this.flagCapsules()},WPGMZA.extend(WPGMZA.CapsuleModules,WPGMZA.EventDispatcher),WPGMZA.CapsuleModules.getConstructor=function(){return WPGMZA.isProVersion()?WPGMZA.ProCapsuleModules:WPGMZA.CapsuleModules},WPGMZA.CapsuleModules.createInstance=function(){const constructor=WPGMZA.CapsuleModules.getConstructor();return new constructor},WPGMZA.CapsuleModules.prototype.proxyMap=function(id,settings){return this.proxies[id]||(this.proxies[id]=Object.create(this),this.proxies[id].id=id,this.proxies[id].markers=[],this.proxies[id].showPreloader=function(){},this.proxies[id].getMarkerByID=function(){return{}},this.proxies[id].markerFilter=WPGMZA.MarkerFilter.createInstance(this.proxies[id])),settings&&(this.proxies[id].settings=settings),this.proxies[id]},WPGMZA.CapsuleModules.prototype.flagCapsules=function(){if(this.capsules)for(var i in this.capsules)this.capsules[i].element&&$(this.capsules[i].element).addClass("wpgmza-capsule-module")},WPGMZA.CapsuleModules.prototype.prepareCapsules=function(){this.registerStoreLocator()},WPGMZA.CapsuleModules.prototype.registerStoreLocator=function(){$(".wpgmza-store-locator").each((index,element)=>{var mapId=$(element).data("map-id"),url=$(element).data("url");if(mapId&&!WPGMZA.getMapByID(mapId))if(url){var settings=$(element).data("map-settings"),settings=this.proxyMap(mapId,settings);const capsule={type:"store_locator",element:element,instance:WPGMZA.StoreLocator.createInstance(settings,element)};capsule.instance.isCapsule=!0,capsule.instance.redirectUrl=url,this.capsules.push(capsule)}else console.warn('WPGMZA: You seem to have added a stadalone store locator without a map page URL. Please add a URL to your shortcode [wpgmza_store_locator id="'+mapId+'" url="{URL}"] and try again')})}}),jQuery(function($){WPGMZA.ColorInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={format:"hex",anchor:"left",container:!1,autoClose:!0,autoOpen:!1,supportAlpha:!0,supportPalette:!0,wheelBorderWidth:10,wheelPadding:6,wheelBorderColor:"rgb(255,255,255)"},this.parseOptions(options),this.state={initialized:!1,sliderInvert:!1,lockSlide:!1,lockPicker:!1,open:!1,mouse:{down:!1}},this.color={h:0,s:0,l:100,a:1},this.wrap(),this.renderControls(),this.parseColor(this.value)},WPGMZA.extend(WPGMZA.ColorInput,WPGMZA.EventDispatcher),WPGMZA.ColorInput.createInstance=function(element){return new WPGMZA.ColorInput(element)},WPGMZA.ColorInput.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)},WPGMZA.ColorInput.prototype.degreesToRadians=function(degrees){return degrees*(Math.PI/180)},WPGMZA.ColorInput.prototype.hueToRgb=function(p,q,t){return t<0&&(t+=1),1<t&&--t,t<1/6?p+6*(q-p)*t:t<.5?q:t<2/3?p+(q-p)*(2/3-t)*6:p},WPGMZA.ColorInput.prototype.getMousePositionInCanvas=function(canvas,event){canvas=canvas.getBoundingClientRect();return{x:event.clientX-canvas.left,y:event.clientY-canvas.top}},WPGMZA.ColorInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.ColorInput.prototype.getColor=function(override,format){var hsl=Object.assign({},this.color);if(override)for(var i in override)hsl[i]=override[i];format=format||this.options.format;var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);switch(format){case"hsl":return"hsl("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%)";case"hsla":return"hsla("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%, "+hsl.a+")";case"rgb":return"rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")";case"rgba":return"rgba("+rgb.r+", "+rgb.g+", "+rgb.b+", "+rgb.a+")"}return this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a)},WPGMZA.ColorInput.prototype.setColor=function(hsl){for(var i in hsl)this.color[i]=hsl[i];this.options.supportAlpha||(this.color.a=1),this.updatePreview(),this.commit(),this.state.initialized&&this.update()},WPGMZA.ColorInput.prototype.parseColor=function(value){var hsl;"string"==typeof value&&(-1!==(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"rgb(255,255,255)":value).indexOf("rgb")?(value=value.replace(/[a-z\(\)%]/g,""),parts=value.split(","),this.setColor(this.rgbToHsl(parts[0],parts[1],parts[2],parts[3]))):-1!==value.indexOf("hsl")?(value=value.replace(/[a-z\(\)%]/g,""),hsl={h:(parts=value.split(","))[0]?parseInt(parts[0]):0,s:parts[1]?parseInt(parts[1]):0,l:parts[2]?parseInt(parts[2]):100,a:parts[3]?parseFloat(parts[3]):1},this.setColor(hsl)):(hsl=this.hexToRgb(value),this.setColor(this.rgbToHsl(hsl.r,hsl.g,hsl.b,hsl.a))))},WPGMZA.ColorInput.prototype.rgbToHsl=function(r,g,b,a){var rgb={r:0<=r?r/255:255,g:0<=g?g/255:255,b:0<=b?b/255:255,a:0<=a?a:1},r=Math.min(rgb.r,rgb.g,rgb.b),g=Math.max(rgb.r,rgb.g,rgb.b),delta=g-r,hsl={h:(g+r)/2,s:(g+r)/2,l:(g+r)/2,a:rgb.a};if(0!=delta){switch(hsl.s=.5<hsl.l?delta/(2-g-r):delta/(g+r),g){case rgb.r:hsl.h=(rgb.g-rgb.b)/delta+(rgb.g<rgb.b?6:0);break;case rgb.g:hsl.h=(rgb.b-rgb.r)/delta+2;break;case rgb.b:hsl.h=(rgb.r-rgb.g)/delta+4}hsl.h=hsl.h/6}else hsl.h=0,hsl.s=0;return hsl.h=parseInt(360*hsl.h),hsl.s=parseInt(100*hsl.s),hsl.l=parseInt(100*hsl.l),hsl},WPGMZA.ColorInput.prototype.hexToRgb=function(hex){return(hex=hex.trim().toLowerCase().replace(/ /g,"").replace(/[^A-Za-z0-9\s]/g,"")).length<6&&(hex+=hex.charAt(hex.length-1).repeat(6-hex.length)),{r:parseInt(hex.slice(0,2),16),g:parseInt(hex.slice(2,4),16),b:parseInt(hex.slice(4,6),16),a:6<hex.length?this.floatToPrecision(parseInt(hex.slice(6,8),16)/255,2):1}},WPGMZA.ColorInput.prototype.hslToRgb=function(h,s,l,a){var h={h:0<=h?h:0,s:0<=s?s/100:0,l:0<=l?l/100:0,a:0<=a?a:1},s={r:0,g:0,b:0,a:h.a},l=(1-Math.abs(2*h.l-1))*h.s,a=l*(1-Math.abs(h.h/60%2-1)),diff=h.l-l/2;return 0<=h.h&&h.h<60?(s.r=l,s.g=a,s.b=0):60<=h.h&&h.h<120?(s.r=a,s.g=l,s.b=0):120<=h.h&&h.h<180?(s.r=0,s.g=l,s.b=a):180<=h.h&&h.h<240?(s.r=0,s.g=a,s.b=l):240<=h.h&&h.h<300?(s.r=a,s.g=0,s.b=l):300<=h.h&&h.h<360&&(s.r=l,s.g=0,s.b=a),s.r=Math.round(255*(s.r+diff)),s.g=Math.round(255*(s.g+diff)),s.b=Math.round(255*(s.b+diff)),s},WPGMZA.ColorInput.prototype.rgbToHex=function(r,g,b,a){var i,rgb={r:0<=r?r:255,g:0<=g?g:255,b:0<=b?b:255,a:0<=a?a:1};for(i in rgb.r=rgb.r.toString(16),rgb.g=rgb.g.toString(16),rgb.b=rgb.b.toString(16),rgb.a<1?rgb.a=Math.round(255*rgb.a).toString(16):rgb.a="",rgb)1===rgb[i].length&&(rgb[i]="0"+rgb[i]);return"#"+rgb.r+rgb.g+rgb.b+rgb.a},WPGMZA.ColorInput.prototype.floatToPrecision=function(float,precision){return float=parseFloat(float),parseFloat(float.toFixed(precision))},WPGMZA.ColorInput.prototype.wrap=function(){var self=this;if(!this.element||"text"!==this.type)throw new Error("WPGMZA.ColorInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-color-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element),this.options.autoClose&&($(document.body).on("click",function(){self.state.open&&(self.state.mouse.down=!1,self.onTogglePicker())}),$(document.body).on("colorpicker.open.wpgmza",function(event){event.instance!==self&&self.state.open&&self.onTogglePicker()}))},WPGMZA.ColorInput.prototype.renderControls=function(){var self=this;this.container&&(this.preview=$("<div class='wpgmza-color-preview wpgmza-shadow' />"),this.swatch=$("<div class='swatch' />"),this.picker=$("<div class='wpgmza-color-picker wpgmza-card wpgmza-shadow' />"),this.preview.append(this.swatch),this.picker.addClass("anchor-"+this.options.anchor),this.preview.addClass("anchor-"+this.options.anchor),this.preview.on("click",function(event){event.stopPropagation(),self.onTogglePicker()}),this.picker.on("click",function(event){event.stopPropagation()}),this.container.append(this.preview),this.options.container&&0<$(this.options.container).length?($(this.options.container).append(this.picker),$(this.options.container).addClass("wpgmza-color-input-host")):this.container.append(this.picker),this.options.autoOpen&&this.preview.trigger("click"))},WPGMZA.ColorInput.prototype.renderPicker=function(){this.state.initialized||(this.renderWheel(),this.renderFields(),this.renderPalette(),this.state.initialized=!0)},WPGMZA.ColorInput.prototype.renderWheel=function(){var self=this;this.wheel={wrap:$("<div class='canvas-wrapper' />"),element:$("<canvas class='color-wheel' />"),handle:$("<div class='canvas-handle' />"),slider:$("<div class='canvas-slider' />")},this.wheel.target=this.wheel.element.get(0),this.wheel.target.height=256,this.wheel.target.width=256,this.wheel.radius=(this.wheel.target.width-2*(this.options.wheelBorderWidth+this.options.wheelPadding))/2,this.wheel.degreeStep=1/this.wheel.radius,this.wheel.context=this.wheel.target.getContext("2d"),this.wheel.context.clearRect(0,0,this.wheel.target.width,this.wheel.target.height),this.wheel.grid={canvas:document.createElement("canvas")},this.wheel.grid.canvas.width=20,this.wheel.grid.canvas.height=20,this.wheel.grid.context=this.wheel.grid.canvas.getContext("2d"),this.wheel.grid.context.fillStyle="rgb(255,255,255)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width,this.wheel.grid.canvas.height),this.wheel.grid.context.fillStyle="rgb(180,180,180)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.grid.context.fillRect(this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.element.on("mousedown",function(event){self.state.mouse.down=!0,self.onPickerMouseSelect(event)}),this.wheel.element.on("mousemove",function(event){self.state.mouse.down&&self.onPickerMouseSelect(event)}),this.wheel.element.on("mouseup",function(event){self.clearStates()}),this.wheel.element.on("mouseleave",function(event){self.clearStates()}),this.wheel.wrap.append(this.wheel.element),this.wheel.wrap.append(this.wheel.handle),this.wheel.wrap.append(this.wheel.slider),this.picker.append(this.wheel.wrap)},WPGMZA.ColorInput.prototype.renderFields=function(){var group,self=this;for(group in this.fields={wrap:$("<div class='wpgmza-color-field-wrapper' />"),toggle:$("<div class='color-field-toggle' />"),blocks:{hsla:{keys:["h","s","l","a"]},rgba:{keys:["r","g","b","a"]},hex:{keys:["hex"]}}},this.fields.toggle.on("click",function(){var view=self.fields.view;switch(view){case"hex":view="hsla";break;case"hsla":view="rgba";break;case"rgba":view="hex"}self.updateFieldView(view)}),this.fields.wrap.append(this.fields.toggle),this.fields.blocks){var index,keys=this.fields.blocks[group].keys;for(index in this.fields.blocks[group].wrap=$("<div class='field-block' data-type='"+group+"'/>"),this.fields.blocks[group].rows={labels:$("<div class='labels' />"),controls:$("<div class='controls' />")},this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.controls),this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.labels),this.options.supportAlpha||-1===keys.indexOf("a")||this.fields.blocks[group].wrap.addClass("alpha-disabled"),keys){var name=keys[index],label=$("<div class='inner-label' />");label.text(name),this.fields.blocks[group][name]=$("<input type='text'/>"),this.fields.blocks[group].rows.controls.append(this.fields.blocks[group][name]),this.fields.blocks[group].rows.labels.append(label),this.fields.blocks[group][name].on("keydown",function(event){const originalEvent=event.originalEvent;"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.fields.blocks[group][name].on("change",function(){self.onFieldChange(this)})}this.fields.wrap.append(this.fields.blocks[group].wrap)}this.picker.append(this.fields.wrap),this.updateFieldView()},WPGMZA.ColorInput.prototype.renderPalette=function(){var self=this;if(this.options.supportPalette){for(var i in this.palette={wrap:$("<div class='wpgmza-color-palette-wrap' />"),variations:[{s:-10,l:-10},{h:15},{h:30},{h:-15},{h:-30},{h:100,s:10},{h:-100,s:-10},{h:180}],controls:[]},this.palette.variations){var mutator,variation=this.palette.variations[i],control=$("<div class='palette-swatch' />");for(mutator in variation)control.attr("data-"+mutator,variation[mutator]);control.on("click",function(){var elem=$(this);self.parseColor(elem.css("background-color")),self.element.trigger("input")}),this.palette.wrap.append(control),this.palette.controls.push(control)}this.picker.append(this.palette.wrap)}},WPGMZA.ColorInput.prototype.updateWheel=function(){this.wheel.center={x:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding,y:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding},this.color.a<1&&(this.wheel.grid.pattern=this.wheel.context.createPattern(this.wheel.grid.canvas,"repeat"),this.wheel.context.fillStyle=this.wheel.grid.pattern,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill());for(var i=0;i<360;i++){var startAngle=(i-1)*Math.PI/180,endAngle=(i+1)*Math.PI/180;this.wheel.context.beginPath(),this.wheel.context.moveTo(this.wheel.center.x,this.wheel.center.y),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,startAngle,endAngle),this.wheel.context.closePath(),this.wheel.context.fillStyle="hsla("+i+", 100%, 50%, "+this.color.a+")",this.wheel.context.fill()}var gradient=this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius),gradient=(gradient.addColorStop(0,"rgba(255, 255, 255, 1)"),gradient.addColorStop(1,"rgba(255, 255, 255, 0)"),this.wheel.context.fillStyle=gradient,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill(),this.wheel.context.lineWidth=2,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.stroke(),this.wheel.context.createLinearGradient(this.wheel.center.x,0,this.wheel.center.x,this.wheel.target.height)),gradient=(gradient.addColorStop(0,this.getColor({l:95},"hsl")),gradient.addColorStop(.5,this.getColor({l:50},"hsl")),gradient.addColorStop(1,this.getColor({l:5},"hsl")),this.wheel.context.beginPath(),this.wheel.context.lineWidth=this.options.wheelBorderWidth,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth/2,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.lineWidth=1,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius));gradient.addColorStop(0,"rgba(80, 80, 80, 0)"),gradient.addColorStop(.95,"rgba(80, 80, 80, 0.0)"),gradient.addColorStop(1,"rgba(80, 80, 80, 0.1)"),this.wheel.context.beginPath(),this.wheel.context.lineWidth=6,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius-3,0,2*Math.PI),this.wheel.context.stroke()},WPGMZA.ColorInput.prototype.update=function(){this.updateHandles(),this.updateWheel(),this.updateFields(),this.updatePalette()},WPGMZA.ColorInput.prototype.updateHandles=function(){var localRadius=this.wheel.element.width()/2,localHandleOffset=(localRadius-this.options.wheelBorderWidth-this.options.wheelPadding)/100*this.color.s,localHandleOffset={left:localRadius+localHandleOffset*Math.cos(this.degreesToRadians(this.color.h))+"px",top:localRadius+localHandleOffset*Math.sin(this.degreesToRadians(this.color.h))+"px"},localHandleOffset=(this.wheel.handle.css(localHandleOffset),this.color.l/100*360/2),localRadius=(this.state.sliderInvert&&(localHandleOffset=360-localHandleOffset),{left:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.cos(this.degreesToRadians(localHandleOffset+90))+"px",top:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.sin(this.degreesToRadians(localHandleOffset+90))+"px"});this.wheel.slider.css(localRadius)},WPGMZA.ColorInput.prototype.updatePreview=function(){this.swatch.css({background:this.getColor(!1,"rgba")})},WPGMZA.ColorInput.prototype.updateFields=function(){var group,hsl=Object.assign({},this.color);for(group in this.fields.blocks)switch(group){case"hsla":this.fields.blocks[group].h.val(hsl.h),this.fields.blocks[group].s.val(hsl.s),this.fields.blocks[group].l.val(hsl.l),this.fields.blocks[group].a.val(hsl.a);break;case"rgba":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);this.fields.blocks[group].r.val(rgb.r),this.fields.blocks[group].g.val(rgb.g),this.fields.blocks[group].b.val(rgb.b),this.fields.blocks[group].a.val(rgb.a);break;case"hex":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a),hex=this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a);this.fields.blocks[group].hex.val(hex)}},WPGMZA.ColorInput.prototype.updatePalette=function(){if(this.options.supportPalette)for(var i in this.palette.controls){var mutator,hsl=Object.assign({},this.color),i=this.palette.controls[i],data=i.data();for(mutator in 0===hsl.l?(data.h&&(hsl.l+=Math.abs(data.h)/360*100),hsl.l+=10):100===hsl.l&&(data.h&&(hsl.l-=Math.abs(data.h)/360*100),hsl.l-=10),data)hsl[mutator]+=data[mutator];hsl.h<0?hsl.h+=360:360<hsl.h&&(hsl.h-=360),hsl.h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l);var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l);i.css("background","rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")")}},WPGMZA.ColorInput.prototype.updateFieldView=function(view){switch(view=view||this.options.format||"hex"){case"rgb":view="rgba";break;case"hsl":view="hsla"}for(var group in this.fields.view=view,this.fields.blocks)group===this.fields.view?this.fields.blocks[group].wrap.show():this.fields.blocks[group].wrap.hide()},WPGMZA.ColorInput.prototype.onPickerMouseSelect=function(event){var localRadius=this.wheel.element.width()/2,event=this.getMousePositionInCanvas(this.wheel.target,event),event={x:event.x-localRadius,y:event.y-localRadius},angle=360*Math.atan2(event.y,event.x)/(2*Math.PI),event=(angle<0&&(angle+=360),Math.sqrt(event.x*event.x+event.y*event.y)),range={pickerScaler:localRadius/this.wheel.radius};range.pickerEdge=range.pickerScaler*localRadius,(event<=range.pickerEdge||this.state.lockPicker)&&!this.state.lockSlide?(this.setColor({h:parseInt(angle),s:Math.min(parseInt(event/range.pickerEdge*100),100)}),this.state.lockPicker=!0):((angle-=90)<0&&(angle+=360),this.state.sliderInvert=!1,180<angle&&(angle=180-(angle-180),this.state.sliderInvert=!0),this.setColor({l:parseInt(angle/180*100)}),this.state.lockSlide=!0),this.element.trigger("input")},WPGMZA.ColorInput.prototype.onFieldChange=function(field){if(field&&""!==$(field).val().trim()){var field=$(field).closest(".field-block"),type=field.data("type"),raw=[];if(field.find("input").each(function(){raw.push($(this).val())}),("hsla"===type||"rgba"===type)&&raw[3]){field=raw[3];if("."===field.trim().charAt(field.trim().length-1))return}switch(type){case"hsla":(hsl={h:raw[0]?parseInt(raw[0]):0,s:raw[1]?parseInt(raw[1]):0,l:raw[2]?parseInt(raw[2]):100,a:raw[3]?parseFloat(raw[3]):1}).h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l),hsl.a=this.clamp(0,1,hsl.a),this.setColor(hsl);break;case"rgba":(rgb={r:raw[0]?parseInt(raw[0]):255,g:raw[1]?parseInt(raw[1]):255,b:raw[2]?parseInt(raw[2]):255,a:raw[3]?parseFloat(raw[3]):1}).r=this.clamp(0,255,rgb.r),rgb.g=this.clamp(0,255,rgb.g),rgb.b=this.clamp(0,255,rgb.b),rgb.a=this.clamp(0,1,rgb.a);var hsl=this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a);this.setColor(hsl);break;case"hex":var rgb=this.hexToRgb(raw[0]||"#ffffff");this.setColor(this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a))}this.element.trigger("input")}},WPGMZA.ColorInput.prototype.onTogglePicker=function(){this.renderPicker(),this.picker.toggleClass("active"),this.update(),this.state.open=this.picker.hasClass("active"),this.state.open&&$(document.body).trigger({type:"colorpicker.open.wpgmza",instance:this})},WPGMZA.ColorInput.prototype.clearStates=function(){this.state.mouse.down=!1,this.state.lockSlide=!1,this.state.lockPicker=!1},WPGMZA.ColorInput.prototype.commit=function(){var syncValue=this.getColor();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-color-input").each(function(index,el){el.wpgmzaColorInput=WPGMZA.ColorInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSBackdropFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSBackdropFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSBackdropFilterInput.createInstance=function(element){return new WPGMZA.CSSBackdropFilterInput(element)},WPGMZA.CSSBackdropFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSBackdropFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSBackdropFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSBackdropFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSBackdropFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSBackdropFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-backdrop-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSBackdropFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='backdrop-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='backdrop-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='backdrop-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='backdrop-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='backdrop-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='backdrop-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSBackdropFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.backdrop-filter-item-wrap[data-type="'+type+'"]');row.find(".backdrop-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".backdrop-filter-item-input").val(data.value).trigger("change"),row.find(".backdrop-filter-item-slider").slider("value",data.value),row.find(".backdrop-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSBackdropFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-styling-backdrop-filter-input").each(function(index,el){el.wpgmzaCSSBackdropFilterInput=WPGMZA.CSSBackdropFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSFilterInput.createInstance=function(element){return new WPGMZA.CSSFilterInput(element)},WPGMZA.CSSFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSFilterInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-css-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='css-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='css-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='css-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='css-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='css-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='css-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.css-filter-item-wrap[data-type="'+type+'"]');row.find(".css-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".css-filter-item-input").val(data.value).trigger("change"),row.find(".css-filter-item-slider").slider("value",data.value),row.find(".css-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-css-filter-input").each(function(index,el){el.wpgmzaCSSFilterInput=WPGMZA.CSSFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSStateBlock=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.tabs=this.element.find(".wpgmza-css-state-block-item"),this.items=this.element.find(".wpgmza-css-state-block-content"),this.items.removeClass("active"),this.bindEvents(),this.element.find(".wpgmza-css-state-block-item:first-child").click()},WPGMZA.extend(WPGMZA.CSSStateBlock,WPGMZA.EventDispatcher),WPGMZA.CSSStateBlock.createInstance=function(element){return new WPGMZA.CSSStateBlock(element)},WPGMZA.CSSStateBlock.prototype.bindEvents=function(){let self=this;this.tabs.on("click",function(event){self.onClick($(this))})},WPGMZA.CSSStateBlock.prototype.onClick=function(item){var type=item.data("type");type&&(this.tabs.removeClass("active"),item.addClass("active"),this.items.removeClass("active"),this.element.find('.wpgmza-css-state-block-content[data-type="'+type+'"]').addClass("active"))},$(document.body).ready(function(){$(".wpgmza-css-state-block").each(function(index,el){el.wpgmzaCSSStateBlock=WPGMZA.CSSStateBlock.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSUnitInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.unit={value:0,suffix:"px"},this.wrap(),this.renderControls(),this.parseUnits(this.value)},WPGMZA.extend(WPGMZA.CSSUnitInput,WPGMZA.EventDispatcher),WPGMZA.CSSUnitInput.VALID_TYPES=["px","%","rem","em"],WPGMZA.CSSUnitInput.createInstance=function(element){return new WPGMZA.CSSUnitInput(element)},WPGMZA.CSSUnitInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSUnitInput.prototype.getUnits=function(override,format){return this.unit.value+this.unit.suffix},WPGMZA.CSSUnitInput.prototype.setUnits=function(value,suffix){this.unit.value=value?parseFloat(value):this.unit.value,this.unit.suffix=suffix?suffix.trim():this.unit.suffix,0<this.unit.value-parseInt(this.unit.value)&&(this.unit.value=parseFloat(this.unit.value.toFixed(2))),this.unit.value<=0&&(this.unit.value=0),this.validateSuffix(),this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSUnitInput.prototype.parseUnits=function(value){if("string"==typeof value){let unit=(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"0px":value).match(/((\d+\.\d+)|(\d+))/),suffix=(unit=unit&&unit[0]?parseFloat(unit[0]):this.unit.value,value.match(/(([a-z]+)|(%))/));suffix=suffix&&suffix[0]?suffix[0]:this.unit.suffix,this.setUnits(unit,suffix)}},WPGMZA.CSSUnitInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-unit-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSUnitInput.prototype.renderControls=function(){this.container&&(this.unitValueInput=$("<input type='text' class='unit-value-input' />"),this.unitSuffixToggle=$("<div class='unit-suffix-toggle' />"),this.unitValueStepDownBtn=$("<div class='unit-stepper-button' data-mode='down' />"),this.unitValueStepUpBtn=$("<div class='unit-stepper-button' data-mode='up' />"),this.unitValueStepperWrap=$("<div class='unit-stepper-wrapper' />"),this.unitInnerWrap=$("<div class='unit-input-inner-wrap' />"),this.unitValueStepperWrap.append(this.unitValueStepUpBtn),this.unitValueStepperWrap.append(this.unitValueStepDownBtn),this.unitInnerWrap.append(this.unitValueStepperWrap),this.unitInnerWrap.append(this.unitValueInput),this.unitInnerWrap.append(this.unitSuffixToggle),this.container.append(this.unitInnerWrap),this.state.initialized=!0,this.unitValueInput.on("keydown",event=>{const originalEvent=event.originalEvent;originalEvent.key&&1===originalEvent.key.length?(0===originalEvent.key.trim().length||"."!==originalEvent.key&&isNaN(parseInt(originalEvent.key)))&&this.unitSuffixToggle.hide():"ArrowUp"===originalEvent.key?this.increment():"ArrowDown"===originalEvent.key?this.decrement():"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.unitValueInput.on("change",event=>{const input=$(event.currentTarget);this.parseUnits(input.val())}),this.unitValueStepUpBtn.on("click",event=>{this.increment()}),this.unitValueStepDownBtn.on("click",event=>{this.decrement()}))},WPGMZA.CSSUnitInput.prototype.validateSuffix=function(){(!this.unit.suffix||-1===WPGMZA.CSSUnitInput.VALID_TYPES.indexOf(this.unit.suffix))&&(this.unit.suffix=this.options.defaultSuffix)},WPGMZA.CSSUnitInput.prototype.increment=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value+=.1:value+=1,this.setUnits(value,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.decrement=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value-=.1:--value,this.setUnits(this.unit.value-1,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.update=function(){this.unitValueInput&&this.unitSuffixToggle&&(this.unitValueInput.val(this.unit.value),this.unitSuffixToggle.text(this.unit.suffix),this.unitSuffixToggle.show())},WPGMZA.CSSUnitInput.prototype.commit=function(){var syncValue=this.getUnits();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-stylig-unit-input").each(function(index,el){el.wpgmzaCSSUnitInput=WPGMZA.CSSUnitInput.createInstance(el)})})}),jQuery(function($){WPGMZA.DrawingManager=function(map){WPGMZA.assertInstanceOf(this,"DrawingManager"),WPGMZA.EventDispatcher.call(this);var self=this;this.map=map,this.mode=WPGMZA.DrawingManager.MODE_NONE,this.map.on("click rightclick",function(event){self.onMapClick(event)})},WPGMZA.DrawingManager.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.DrawingManager.prototype.constructor=WPGMZA.DrawingManager,WPGMZA.DrawingManager.MODE_NONE=null,WPGMZA.DrawingManager.MODE_MARKER="marker",WPGMZA.DrawingManager.MODE_POLYGON="polygon",WPGMZA.DrawingManager.MODE_POLYLINE="polyline",WPGMZA.DrawingManager.MODE_CIRCLE="circle",WPGMZA.DrawingManager.MODE_RECTANGLE="rectangle",WPGMZA.DrawingManager.MODE_HEATMAP="heatmap",WPGMZA.DrawingManager.MODE_POINTLABEL="pointlabel",WPGMZA.DrawingManager.MODE_IMAGEOVERLAY="imageoverlay",WPGMZA.DrawingManager.getConstructor=function(){return"google-maps"!==WPGMZA.settings.engine?WPGMZA.OLDrawingManager:WPGMZA.GoogleDrawingManager},WPGMZA.DrawingManager.createInstance=function(map){return new(WPGMZA.DrawingManager.getConstructor())(map)},WPGMZA.DrawingManager.prototype.setDrawingMode=function(mode){this.mode=mode,this.trigger("drawingmodechanged")},WPGMZA.DrawingManager.prototype.onMapClick=function(event){event.target instanceof WPGMZA.Map&&(this.mode!==WPGMZA.DrawingManager.MODE_POINTLABEL||this.pointlabel||(this.pointlabel=WPGMZA.Pointlabel.createInstance({center:new WPGMZA.LatLng({lat:event.latLng.lat,lng:event.latLng.lng}),map:this.map}),this.map.addPointlabel(this.pointlabel),this.pointlabel.setEditable(!0),this.onPointlabelComplete(this.pointlabel),this.pointlabel=!1))},WPGMZA.DrawingManager.prototype.onPointlabelComplete=function(pointlabel){var event=new WPGMZA.Event("pointlabelcomplete");event.enginePointlabel=pointlabel,this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.EmbeddedMedia=function(element,container){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");if(!(container instanceof HTMLElement))throw new Error("Container is not an instance of HTMLInputElement");const self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(element),this.container=$(container),this.corners=["southEast"],this.handles=null,this.activeCorner=!1,this.container.on("mousemove",function(event){self.onMoveHandle(event)}),this.container.on("mouseup",function(event){self.activeCorner&&self.onDeactivateHandle(self.activeCorner)}),this.container.on("mouseleave",function(event){self.activeCorner&&(self.onDeactivateHandle(self.activeCorner),self.onDetach())}),this.container.on("mousedown",function(event){self.onDetach()})},WPGMZA.extend(WPGMZA.EmbeddedMedia,WPGMZA.EventDispatcher),WPGMZA.EmbeddedMedia.createInstance=function(element,container){return new WPGMZA.EmbeddedMedia(element,container)},WPGMZA.EmbeddedMedia.detatchAll=function(){var element;for(element of document.querySelectorAll(".wpgmza-embedded-media"))element.wpgmzaEmbeddedMedia&&element.wpgmzaEmbeddedMedia.onDetach();$(".wpgmza-embedded-media").removeClass("selected"),$(".wpgmza-embedded-media-handle").remove()},WPGMZA.EmbeddedMedia.prototype.onSelect=function(){this.element.addClass("selected"),this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onDetach=function(){this.element.removeClass("selected"),this.destroyHandles(),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.onActivateHandle=function(corner){this.activeCorner=corner},WPGMZA.EmbeddedMedia.prototype.onDeactivateHandle=function(corner){this.activeCorner=!1,this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onMoveHandle=function(event){if(this.activeCorner&&this.handles[this.activeCorner]){const mouse=this.getMousePosition(event);this.handles[this.activeCorner].element&&(event=this.getAnchorPosition().y+this.element.height(),mouse.y>event&&(mouse.y=event),this.handles[this.activeCorner].element.css({left:mouse.x-3+"px",top:mouse.y-3+"px"}),this.applyResize(mouse))}},WPGMZA.EmbeddedMedia.prototype.createHandles=function(){if(!this.handles){this.handles={};for(var corner of this.corners)this.handles[corner]={element:$("<div/>"),mutating:!1},this.handles[corner].element.addClass("wpgmza-embedded-media-handle"),this.handles[corner].element.attr("data-corner",corner),this.container.append(this.handles[corner].element),this.bindHandle(corner)}},WPGMZA.EmbeddedMedia.prototype.destroyHandles=function(){if(this.handles&&this.handles instanceof Object){for(var i in this.handles){const handle=this.handles[i];handle.element&&handle.element.remove()}this.handles=null}},WPGMZA.EmbeddedMedia.prototype.updateHandles=function(){this.createHandles();var anchor=this.getAnchorPosition();if(this.handles&&this.handles instanceof Object)for(var corner in this.handles){const handle=this.handles[corner].element,position={top:0,left:0};"southEast"===corner&&(position.left=anchor.x+this.element.width(),position.top=anchor.y+this.element.height()),handle.css({left:position.left-3+"px",top:position.top-3+"px"})}},WPGMZA.EmbeddedMedia.prototype.bindHandle=function(corner){const self=this;this.handles&&this.handles[corner]&&(this.handles[corner].element.on("mousedown",function(event){event.preventDefault(),event.stopPropagation(),self.onActivateHandle(corner)}),this.handles[corner].element.on("mouseup",function(event){event.preventDefault(),event.stopPropagation(),self.onDeactivateHandle(corner)}))},WPGMZA.EmbeddedMedia.prototype.applyResize=function(mouse){var anchor=this.getAnchorPosition(),padding=parseInt(this.container.css("padding").replace("px","")),mouse=Math.abs(mouse.x-anchor.x),mouse=this.clamp(padding,this.container.width()-padding,mouse);this.element.css("width",parseInt(mouse)+"px"),this.element.attr("width",parseInt(mouse)),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.getMousePosition=function(event){event=event.originalEvent||event;const pos={x:parseInt(event.pageX-this.container.offset().left),y:parseInt(event.pageY-this.container.offset().top)};event=parseInt(this.container.css("padding").replace("px",""));return pos.x=this.clamp(event,this.container.width()-event,pos.x),pos.y=this.clamp(event,this.container.height()-event,pos.y),pos},WPGMZA.EmbeddedMedia.prototype.getAnchorPosition=function(){return{x:parseInt(this.element.offset().left-this.container.offset().left),y:parseInt(this.element.offset().top-this.container.offset().top)}},WPGMZA.EmbeddedMedia.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)}}),jQuery(function($){WPGMZA.Event=function(options){if("string"==typeof options&&(this.type=options),this.bubbles=!0,this.cancelable=!0,this.phase=WPGMZA.Event.PHASE_CAPTURE,this.target=null,this._cancelled=!1,"object"==typeof options)for(var name in options)this[name]=options[name]},WPGMZA.Event.CAPTURING_PHASE=0,WPGMZA.Event.AT_TARGET=1,WPGMZA.Event.BUBBLING_PHASE=2,WPGMZA.Event.prototype.stopPropagation=function(){this._cancelled=!0}}),jQuery(function($){WPGMZA.FancyControls={formatToggleSwitch:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-round-flat"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)},formatToggleButton:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-yes-no"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(label).attr("data-on",WPGMZA.localized_strings.yes),$(label).attr("data-off",WPGMZA.localized_strings.no),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)}},$(".wpgmza-fancy-toggle-switch").each(function(index,el){WPGMZA.FancyControls.formatToggleSwitch(el)}),$(".wpgmza-fancy-toggle-button").each(function(index,el){WPGMZA.FancyControls.formatToggleButton(el)})}),jQuery(function($){WPGMZA.Feature=function(options){for(var key in WPGMZA.assertInstanceOf(this,"Feature"),WPGMZA.EventDispatcher.call(this),this.id=-1,options)this[key]=options[key]},WPGMZA.extend(WPGMZA.Feature,WPGMZA.EventDispatcher),WPGMZA.MapObject=WPGMZA.Feature,WPGMZA.Feature.prototype.parseGeometry=function(subject){if("string"==typeof subject&&subject.match(/^\[/))try{subject=JSON.parse(subject)}catch(e){}if("object"==typeof subject){for(var arr=subject,i=0;i<arr.length;i++)arr[i].lat=parseFloat(arr[i].lat),arr[i].lng=parseFloat(arr[i].lng);return arr}if("string"!=typeof subject)throw new Error("Invalid geometry");for(var coords,results=[],pairs=subject.replace(/[^ ,\d\.\-+e]/g,"").split(","),i=0;i<pairs.length;i++)coords=pairs[i].split(" "),results.push({lat:parseFloat(coords[1]),lng:parseFloat(coords[0])});return results},WPGMZA.Feature.prototype.setOptions=function(options){for(var key in options)this[key]=options[key];this.updateNativeFeature()},WPGMZA.Feature.prototype.setEditable=function(editable){this.setOptions({editable:editable})},WPGMZA.Feature.prototype.setDraggable=function(draggable){this.setOptions({draggable:draggable})},WPGMZA.Feature.prototype.getScalarProperties=function(){var key,options={};for(key in this)switch(typeof this[key]){case"number":options[key]=parseFloat(this[key]);break;case"boolean":case"string":options[key]=this[key]}return options},WPGMZA.Feature.prototype.updateNativeFeature=function(){var props=this.getScalarProperties();"open-layers"===WPGMZA.settings.engine?this.layer&&this.layer.setStyle(WPGMZA.OLFeature.getOLStyle(props)):this.googleFeature.setOptions(props)}}),jQuery(function($){WPGMZA.FriendlyError=function(){}}),jQuery(function($){WPGMZA.GenericModal=function(element,complete,cancel){this.element=$(element),this._onComplete=complete||!1,this._onCancel=cancel||!1,this.bindEvents()},WPGMZA.extend(WPGMZA.GenericModal,WPGMZA.EventDispatcher),WPGMZA.GenericModal.createInstance=function(element,complete,cancel){return new(WPGMZA.isProVersion()?WPGMZA.ProGenericModal:WPGMZA.GenericModal)(element,complete,cancel)},WPGMZA.GenericModal.prototype.bindEvents=function(){const self=this;this.element.on("click",".wpgmza-button",function(){"complete"===$(this).data("action")?self.onComplete():self.onCancel()})},WPGMZA.GenericModal.prototype.getData=function(){const data={};return this.element.find("input,select").each(function(){$(this).data("ajax-name")&&(data[$(this).data("ajax-name")]=$(this).val())}),data},WPGMZA.GenericModal.prototype.onComplete=function(){this.hide(),"function"==typeof this._onComplete&&this._onComplete(this.getData())},WPGMZA.GenericModal.prototype.onCancel=function(){this.hide(),"function"==typeof this._onCancel&&this._onCancel()},WPGMZA.GenericModal.prototype.show=function(complete,cancel){this._onComplete=complete||this._onComplete,this._onCancel=cancel||this._onCancel,this.element.addClass("pending")},WPGMZA.GenericModal.prototype.hide=function(){this.element.removeClass("pending")}}),jQuery(function($){WPGMZA.Geocoder=function(){WPGMZA.assertInstanceOf(this,"Geocoder")},WPGMZA.Geocoder.SUCCESS="success",WPGMZA.Geocoder.ZERO_RESULTS="zero-results",WPGMZA.Geocoder.FAIL="fail",WPGMZA.Geocoder.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleGeocoder:WPGMZA.OLGeocoder},WPGMZA.Geocoder.createInstance=function(){return new(WPGMZA.Geocoder.getConstructor())},WPGMZA.Geocoder.prototype.getLatLngFromAddress=function(options,callback){WPGMZA.isLatLngString(options.address)&&(options=options.address.split(/,\s*/),callback([(callback=new WPGMZA.LatLng({lat:parseFloat(options[0]),lng:parseFloat(options[1])})).latLng=callback],WPGMZA.Geocoder.SUCCESS))},WPGMZA.Geocoder.prototype.getAddressFromLatLng=function(options,callback){callback([new WPGMZA.LatLng(options.latLng).toString()],WPGMZA.Geocoder.SUCCESS)},WPGMZA.Geocoder.prototype.geocode=function(options,callback){if("address"in options)return this.getLatLngFromAddress(options,callback);if("latLng"in options)return this.getAddressFromLatLng(options,callback);throw new Error("You must supply either a latLng or address")}}),jQuery(function($){WPGMZA.GoogleAPIErrorHandler=function(){var _error,self=this;"google-maps"==WPGMZA.settings.engine&&("map-edit"==WPGMZA.currentPage||0==WPGMZA.is_admin&&1==WPGMZA.userCanAdministrator)&&(this.element=$(WPGMZA.html.googleMapsAPIErrorDialog),1==WPGMZA.is_admin&&this.element.find(".wpgmza-front-end-only").remove(),this.errorMessageList=this.element.find(".wpgmza-google-api-error-list"),this.templateListItem=this.element.find("li.template").remove(),this.messagesAlreadyDisplayed={},_error=console.error,console.error=function(message){self.onErrorMessage(message),_error.apply(this,arguments)},"google-maps"!=WPGMZA.settings.engine||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT||this.addErrorMessage(WPGMZA.localized_strings.no_google_maps_api_key,["https://www.wpgmaps.com/documentation/creating-a-google-maps-api-key/"]))},WPGMZA.GoogleAPIErrorHandler.prototype.onErrorMessage=function(message){var m,urls;message&&((m=message.match(/You have exceeded your (daily )?request quota for this API/))||(m=message.match(/This API project is not authorized to use this API/))||(m=message.match(/^Geocoding Service: .+/))?(urls=message.match(/http(s)?:\/\/[^\s]+/gm),this.addErrorMessage(m[0],urls)):(m=message.match(/^Google Maps.+error: (.+)\s+(http(s?):\/\/.+)/m))&&this.addErrorMessage(m[1].replace(/([A-Z])/g," $1"),[m[2]]))},WPGMZA.GoogleAPIErrorHandler.prototype.addErrorMessage=function(message,urls){var self=this;if(!this.messagesAlreadyDisplayed[message]){var li=this.templateListItem.clone(),buttonContainer=($(li).find(".wpgmza-message").html(message),$(li).find(".wpgmza-documentation-buttons")),buttonTemplate=$(li).find(".wpgmza-documentation-buttons>a");if(buttonTemplate.remove(),urls&&urls.length){for(var i=0;i<urls.length;i++){urls[i];var button=buttonTemplate.clone(),text=WPGMZA.localized_strings.documentation;button.attr("href",urls[i]),$(button).find("i").addClass("fa-external-link"),$(button).append(text)}buttonContainer.append(button)}$(this.errorMessageList).append(li),$("#wpgmza_map, .wpgmza_map").each(function(index,el){var container=$(el).find(".wpgmza-google-maps-api-error-overlay");0==container.length&&(container=$("<div class='wpgmza-google-maps-api-error-overlay'></div>")).html(self.element.html()),setTimeout(function(){$(el).append(container)},1e3)}),$(".gm-err-container").parent().css({"z-index":1}),this.messagesAlreadyDisplayed[message]=!0}},WPGMZA.googleAPIErrorHandler=new WPGMZA.GoogleAPIErrorHandler}),jQuery(function($){WPGMZA.InfoWindow=function(feature){var self=this;WPGMZA.EventDispatcher.call(this),WPGMZA.assertInstanceOf(this,"InfoWindow"),this.on("infowindowopen",function(event){self.onOpen(event)}),feature&&(this.feature=feature,this.state=WPGMZA.InfoWindow.STATE_CLOSED,feature.map?setTimeout(function(){self.onFeatureAdded(event)},100):feature.addEventListener("added",function(event){self.onFeatureAdded(event)}))},WPGMZA.InfoWindow.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.InfoWindow.prototype.constructor=WPGMZA.InfoWindow,WPGMZA.InfoWindow.OPEN_BY_CLICK=1,WPGMZA.InfoWindow.OPEN_BY_HOVER=2,WPGMZA.InfoWindow.STATE_OPEN="open",WPGMZA.InfoWindow.STATE_CLOSED="closed",WPGMZA.InfoWindow.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProInfoWindow:WPGMZA.GoogleInfoWindow:WPGMZA.isProVersion()?WPGMZA.OLProInfoWindow:WPGMZA.OLInfoWindow},WPGMZA.InfoWindow.createInstance=function(feature){return new(this.getConstructor())(feature)},Object.defineProperty(WPGMZA.InfoWindow.prototype,"content",{get:function(){return this.getContent()},set:function(value){this.contentHtml=value}}),WPGMZA.InfoWindow.prototype.addEditButton=function(){return"map-edit"==WPGMZA.currentPage&&this.feature instanceof WPGMZA.Marker?' <a title="Edit this marker" style="width:15px;" class="wpgmza_edit_btn" data-edit-marker-id="'+this.feature.id+'"><i class="fa fa-edit"></i></a>':""},WPGMZA.InfoWindow.prototype.workOutDistanceBetweenTwoMarkers=function(location1,location2){if(location1&&location2)return location1=WPGMZA.Distance.between(location1,location2),this.distanceUnits==WPGMZA.Distance.MILES&&(location1/=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(location1,2)},WPGMZA.InfoWindow.prototype.getContent=function(callback){var currentLatLng,html="",extra_html="";return this.feature instanceof WPGMZA.Marker&&(this.feature.map.settings.store_locator_show_distance&&this.feature.map.storeLocator&&this.feature.map.storeLocator.state==WPGMZA.StoreLocator.STATE_APPLIED&&(currentLatLng=this.feature.getPosition(),currentLatLng=this.workOutDistanceBetweenTwoMarkers(this.feature.map.storeLocator.center,currentLatLng),extra_html+="<p>"+(this.feature.map.settings.store_locator_distance==WPGMZA.Distance.KILOMETERS?currentLatLng+WPGMZA.localized_strings.kilometers_away:currentLatLng+" "+WPGMZA.localized_strings.miles_away)+"</p>"),html=this.feature.address+extra_html),this.contentHtml&&(html=this.contentHtml),callback&&callback(html),html},WPGMZA.InfoWindow.prototype.open=function(map,feature){return this.feature=feature,!WPGMZA.settings.disable_infowindows&&"1"!=WPGMZA.settings.wpgmza_settings_disable_infowindows&&(!this.feature.disableInfoWindow&&(this.state=WPGMZA.InfoWindow.STATE_OPEN,!0))},WPGMZA.InfoWindow.prototype.close=function(){this.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(this.state=WPGMZA.InfoWindow.STATE_CLOSED,this.trigger("infowindowclose"))},WPGMZA.InfoWindow.prototype.setContent=function(options){},WPGMZA.InfoWindow.prototype.setOptions=function(options){},WPGMZA.InfoWindow.prototype.onFeatureAdded=function(){1==this.feature.settings.infoopen&&this.open()},WPGMZA.InfoWindow.prototype.onOpen=function(){}}),jQuery(function($){"installer"==WPGMZA.currentPage&&(WPGMZA.Installer=function(){var defaultEngine,self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(document.body).find(".wpgmza-installer-steps"),this.skipButton=$(document.body).find(".wpgmza-installer-skip"),this.element.length<=0||(this.redirectUrl=this.element.data("redirect"),this.step=0,this.max=0,this.findMax(),$(this.element).on("click",".next-step-button",function(event){self.next()}),$(this.element).on("click",".prev-step-button",function(event){self.prev()}),$(this.element).on("click",".sub-step-trigger",function(event){self.triggerSubStep($(this))}),$(this.element).on("change",'input[name="wpgmza_maps_engine"]',function(event){self.setEngine($(this).val())}),$(this.element).on("keyup change",'input[name="api_key"]',function(event){self.setApiKey($(this).val())}),$(this.element).on("change",'select[name="tile_server_url"]',function(event){self.setTileServer($(this).val())}),$(this.element).on("click",".google-maps-auto-key-form-wrapper .wpgmza-button",function(event){self.getAutoKey()}),$(this.element).on("click",".launcher-trigger",function(event){var launcher=$(this).data("launcher");launcher&&"google-maps-quick-start-launcher"===launcher&&self.launchQuickStart()}),this.skipButton.on("click",function(event){event.preventDefault(),self.skip()}),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.engine?WPGMZA.settings.engine:"google-maps",$(this.element).find('input[name="wpgmza_maps_engine"][value="'+defaultEngine+'"]').prop("checked",!0).trigger("change"),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.googleMapsApiKey?WPGMZA.settings.googleMapsApiKey:"",this.element.find('input[name="api_key"]').val(defaultEngine).trigger("change"),this.trigger("init.installer.admin"),this.loadStep(this.step),this.checkAutoSkip())},WPGMZA.extend(WPGMZA.Installer,WPGMZA.EventDispatcher),WPGMZA.Installer.NODE_SERVER="https://wpgmaps.us-3.evennode.com/api/v1/",WPGMZA.Installer.createInstance=function(){return new WPGMZA.Installer},WPGMZA.Installer.prototype.findMax=function(){var self=this;$(this.element).find(".step").each(function(){parseInt($(this).data("step"))>self.max&&(self.max=parseInt($(this).data("step")))})},WPGMZA.Installer.prototype.prepareAddressFields=function(){$(this.element).find("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,null)})},WPGMZA.Installer.prototype.next=function(){this.step<this.max?this.loadStep(this.step+1):this.complete()},WPGMZA.Installer.prototype.prev=function(){0<this.step&&this.loadStep(this.step-1)},WPGMZA.Installer.prototype.loadStep=function(index){this.loadSubSteps(index),$(this.element).find(".step").removeClass("active"),$(this.element).find('.step[data-step="'+index+'"]').addClass("active"),this.step=index,0===this.step?$(this.element).find(".prev-step-button").addClass("wpgmza-hidden"):$(this.element).find(".prev-step-button").removeClass("wpgmza-hidden"),this.step===this.max?$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("final")):$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("next")),this.autoFocus(),this.applyStepConditionState(),$(window).scrollTop(0),this.trigger("step.installer.admin")},WPGMZA.Installer.prototype.loadSubSteps=function(index){const stepWrapper=$(this.element).find('.step[data-step="'+index+'"]');stepWrapper.find(".sub-step-container").length&&(stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step-container").removeClass("wpgmza-hidden"))},WPGMZA.Installer.prototype.triggerSubStep=function(context){const stepWrapper=$(this.element).find('.step[data-step="'+this.step+'"]');if(stepWrapper.find(".sub-step-container").length){context=context.data("sub-step");if(stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').length&&(stepWrapper.find(".sub-step-container").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').removeClass("wpgmza-hidden"),"google-maps-auto-key"===context))try{if(WPGMZA.getCurrentPosition(function(data){if(data.coords){data=data.coords;if($('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","Fetching..."),data.latitude&&data.longitude){const geocoder=WPGMZA.Geocoder.createInstance();geocoder.getAddressFromLatLng({latLng:new WPGMZA.LatLng({lat:data.latitude,lng:data.longitude})},function(address){$('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder",""),address&&$('.google-maps-auto-key-form-wrapper input[name="address"]').val(address)})}else $('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","")}}),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val().trim().length<=0){var domain=window.location.hostname;if("localhost"===domain)try{var paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(domain+="-"+paths[1])}catch(ex){}$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val(domain),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').attr("data-predicted-domain",domain)}}catch(ex){}}},WPGMZA.Installer.prototype.getActiveBlock=function(){return $(this.element).find('.step[data-step="'+this.step+'"]')},WPGMZA.Installer.prototype.autoFocus=function(){var block=this.getActiveBlock();block&&(0<block.find("input").length?block.find("input")[0].focus():0<block.find("select").length&&block.find("select")[0].focus())},WPGMZA.Installer.prototype.complete=function(){$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.saveOptions()},WPGMZA.Installer.prototype.getData=function(){var data={};return $(this.element).find(".step").each(function(){$(this).find("input,select").each(function(){var value,name=$(this).attr("name");name&&""!==name.trim()&&""!==(value=$(this).val()).trim()&&(data[name.trim()]=value.trim())})}),data},WPGMZA.Installer.prototype.setEngine=function(engine){this.engine=engine,$(this.element).attr("data-engine",engine)},WPGMZA.Installer.prototype.setApiKey=function(apiKey){this.apiKey=apiKey.trim(),this.applyStepConditionState()},WPGMZA.Installer.prototype.setTileServer=function(server){let previewLink=this.tileServer=server;previewLink=(previewLink=previewLink.replace("{a-c}","a")).replace("{z}/{x}/{y}","7/20/49"),$(this.element).find(".open_layers_sample_tile").attr("src",previewLink)},WPGMZA.Installer.prototype.applyStepConditionState=function(){const stepWrapper=this.getActiveBlock();var condition=stepWrapper.data("conditional");const continueButton=$(this.element).find(".next-step-button");!condition||this.hasSatisfiedStepCondition(condition)?continueButton.removeClass("wpgmza-hidden"):continueButton.addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.hasSatisfiedStepCondition=function(condition){let satisfied=!1;return satisfied="engine-set-up"===condition?!this.engine||"google-maps"!==this.engine||!!this.apiKey:satisfied},WPGMZA.Installer.prototype.getAutoKey=function(){return!1},WPGMZA.Installer.prototype.launchQuickStart=function(){const popupDimensions={width:570,height:700};popupDimensions.left=(screen.width-popupDimensions.width)/2,popupDimensions.top=(screen.height-popupDimensions.height)/2,$("#adminmenuwrap").length&&(popupDimensions.left+=$("#adminmenuwrap").width()/2);let attributes=[];attributes.push("resizable=yes"),attributes.push("width="+popupDimensions.width),attributes.push("height="+popupDimensions.height),attributes.push("left="+popupDimensions.left),attributes.push("top="+popupDimensions.top),attributes=attributes.join(","),window.open("https://console.cloud.google.com/google/maps-hosted","WP Go Maps - Create API Key",attributes)},WPGMZA.Installer.prototype.saveOptions=function(){const self=this;var formData=this.getData(),formData={action:"wpgmza_installer_page_save_options",nonce:this.element.attr("data-ajax-nonce"),wpgmza_maps_engine:this.engine,tile_server_url:formData.tile_server_url,api_key:formData.api_key};$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:formData,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},WPGMZA.Installer.prototype.hideAutoKeyError=function(){$(".auto-key-error").addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.showAutoKeyError=function(codeOrMsg){let message="";(message=-1===codeOrMsg.indexOf(" ")?$(".auto-key-error").data(codeOrMsg)||codeOrMsg:codeOrMsg).length?($(".auto-key-error").find(".notice").text(message),$(".auto-key-error").removeClass("wpgmza-hidden")):this.hideAutoKeyError()},WPGMZA.Installer.prototype.skip=function(){const self=this;$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.skipButton.addClass("wpgmza-hidden");var options={action:"wpgmza_installer_page_skip",nonce:this.element.attr("data-ajax-nonce")};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:options,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},WPGMZA.Installer.prototype.checkAutoSkip=function(){this.element.data("auto-skip")&&this.skip()},$(document).ready(function(event){WPGMZA.installer=WPGMZA.Installer.createInstance()}))}),jQuery(function($){WPGMZA.InternalEngine={LEGACY:"legacy",ATLAS_NOVUS:"atlast-novus",isLegacy:function(){return WPGMZA.settings.internalEngine===WPGMZA.InternalEngine.LEGACY},getEngine:function(){return WPGMZA.settings.internalEngine}}}),jQuery(function($){WPGMZA.InternalViewport=function(map){WPGMZA.EventDispatcher.apply(this),this.map=map,this.limits={},this.element=this.getContainer(),this.update(),$(window).on("resize",event=>{this.trigger("resize.internalviewport"),this.update()})},WPGMZA.extend(WPGMZA.InternalViewport,WPGMZA.EventDispatcher),WPGMZA.InternalViewport.RECT_TYPE_LARGE=0,WPGMZA.InternalViewport.RECT_TYPE_MEDIUM=1,WPGMZA.InternalViewport.RECT_TYPE_SMALL=2,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM=960,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL=760,WPGMZA.InternalViewport.createInstance=function(map){return new WPGMZA.InternalViewport(map)},WPGMZA.InternalViewport.prototype.getContainer=function(){return this.map&&this.map.element?this.map.element:document.body||!1},WPGMZA.InternalViewport.prototype.getRectType=function(){let type=WPGMZA.InternalViewport.RECT_TYPE_LARGE;return this.limits.container&&this.limits.container.width.value&&(this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL?type=WPGMZA.InternalViewport.RECT_TYPE_SMALL:this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM&&(type=WPGMZA.InternalViewport.RECT_TYPE_MEDIUM)),type},WPGMZA.InternalViewport.prototype.wrapMeasurement=function(value,suffix){return{value:value,suffix:suffix||"px"}},WPGMZA.InternalViewport.prototype.update=function(){this.trace(),this.localize(),this.addClass(),this.trigger("update.internalviewport")},WPGMZA.InternalViewport.prototype.trace=function(){this.traceLimits(),this.trigger("trace.internalviewport")},WPGMZA.InternalViewport.prototype.traceLimits=function(){this.limits={container:{},overlays:{},panels:{}},this.getContainer()&&(this.limits.container.width=this.wrapMeasurement(parseInt(this.map.element.offsetWidth)),this.limits.container.height=this.wrapMeasurement(parseInt(this.map.element.offsetHeight)),mode=this.getRectType(),this.limits.container.width&&(this.limits.overlays.max_width=this.wrapMeasurement(100*[.5,.7,1][mode],"%"),this.limits.panels.max_width=this.wrapMeasurement(100*[.3,.5,1][mode],"%")))},WPGMZA.InternalViewport.prototype.localize=function(){const localized={};for(var tag in this.limits)if(this.limits[tag])for(var name in this.limits[tag]){var prop=this.limits[tag][name];name=name.replaceAll("_","-"),name="--wpgmza--viewport-"+tag+"-"+name,localized[name]=prop.value+prop.suffix}var container=this.getContainer();container&&$(container).css(localized),this.trigger("localize.internalviewport")},WPGMZA.InternalViewport.prototype.addClass=function(){var mode,classes=["wpgmza-viewport-large","wpgmza-viewport-medium","wpgmza-viewport-small"],container=this.getContainer();container&&($(container).removeClass(classes),mode=this.getRectType(),$(container).addClass(classes[mode]))}}),jQuery(function($){WPGMZA.LatLng=function(arg,lng){if(this._lat=0,(this._lng=0)!=arguments.length)if(1==arguments.length){if("string"==typeof arg){var m;if(!(m=arg.match(WPGMZA.LatLng.REGEXP)))throw new Error("Invalid LatLng string");arg={lat:m[1],lng:m[3]}}if("object"!=typeof arg||!("lat"in arg&&"lng"in arg))throw new Error("Argument must be a LatLng literal");this.lat=arg.lat,this.lng=arg.lng}else this.lat=arg,this.lng=lng},WPGMZA.LatLng.REGEXP=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,WPGMZA.LatLng.isValid=function(obj){return"object"==typeof obj&&("lat"in obj&&"lng"in obj)},WPGMZA.LatLng.isLatLngString=function(str){return"string"==typeof str&&!!str.match(WPGMZA.LatLng.REGEXP)},Object.defineProperty(WPGMZA.LatLng.prototype,"lat",{get:function(){return this._lat},set:function(val){if(!WPGMZA.isNumeric(val))throw new Error("Latitude must be numeric");this._lat=parseFloat(val)}}),Object.defineProperty(WPGMZA.LatLng.prototype,"lng",{get:function(){return this._lng},set:function(val){if(!WPGMZA.isNumeric(val))throw new Error("Longitude must be numeric");this._lng=parseFloat(val)}}),WPGMZA.LatLng.fromString=function(string){if(!WPGMZA.LatLng.isLatLngString(string))throw new Error("Not a valid latlng string");string=string.match(WPGMZA.LatLng.REGEXP);return new WPGMZA.LatLng({lat:parseFloat(string[1]),lng:parseFloat(string[3])})},WPGMZA.LatLng.prototype.toString=function(){return this._lat+", "+this._lng},WPGMZA.LatLng.fromCurrentPosition=function(callback,options){options=options||{},callback&&WPGMZA.getCurrentPosition(function(position){var latLng=new WPGMZA.LatLng({lat:position.coords.latitude,lng:position.coords.longitude});options.geocodeAddress?WPGMZA.Geocoder.createInstance().getAddressFromLatLng({latLng:latLng},function(results){results.length&&(latLng.address=results[0]),callback(latLng)}):callback(latLng)})},WPGMZA.LatLng.fromGoogleLatLng=function(googleLatLng){return new WPGMZA.LatLng(googleLatLng.lat(),googleLatLng.lng())},WPGMZA.LatLng.toGoogleLatLngArray=function(arr){var result=[];return arr.forEach(function(nativeLatLng){if(!(nativeLatLng instanceof WPGMZA.LatLng||"lat"in nativeLatLng&&"lng"in nativeLatLng))throw new Error("Unexpected input");result.push(new google.maps.LatLng({lat:parseFloat(nativeLatLng.lat),lng:parseFloat(nativeLatLng.lng)}))}),result},WPGMZA.LatLng.prototype.toGoogleLatLng=function(){return new google.maps.LatLng({lat:this.lat,lng:this.lng})},WPGMZA.LatLng.prototype.toLatLngLiteral=function(){return{lat:this.lat,lng:this.lng}},WPGMZA.LatLng.prototype.moveByDistance=function(kilometers,heading){var kilometers=parseFloat(kilometers)/6371,heading=parseFloat(heading)/180*Math.PI,phi1=this.lat/180*Math.PI,lambda1=this.lng/180*Math.PI,sinPhi1=Math.sin(phi1),phi1=Math.cos(phi1),sinDelta=Math.sin(kilometers),kilometers=Math.cos(kilometers),sinTheta=Math.sin(heading),heading=sinPhi1*kilometers+phi1*sinDelta*Math.cos(heading),phi2=Math.asin(heading),lambda1=lambda1+Math.atan2(sinTheta*sinDelta*phi1,kilometers-sinPhi1*heading);this.lat=180*phi2/Math.PI,this.lng=180*lambda1/Math.PI},WPGMZA.LatLng.prototype.getGreatCircleDistance=function(arg1,arg2){var lat1=this.lat,lon1=this.lng;if(1==arguments.length)other=new WPGMZA.LatLng(arg1);else{if(2!=arguments.length)throw new Error("Invalid number of arguments");other=new WPGMZA.LatLng(arg1,arg2)}var lat2=other.lat,other=other.lng,phi1=lat1.toRadians(),phi2=lat2.toRadians(),lat2=(lat2-lat1).toRadians(),lat1=(other-lon1).toRadians(),other=Math.sin(lat2/2)*Math.sin(lat2/2)+Math.cos(phi1)*Math.cos(phi2)*Math.sin(lat1/2)*Math.sin(lat1/2);return 6371*(2*Math.atan2(Math.sqrt(other),Math.sqrt(1-other)))}}),jQuery(function($){WPGMZA.LatLngBounds=function(southWest,northEast){var other;southWest instanceof WPGMZA.LatLngBounds?(this.south=(other=southWest).south,this.north=other.north,this.west=other.west,this.east=other.east):southWest&&northEast&&(this.south=southWest.lat,this.north=northEast.lat,this.west=southWest.lng,this.east=northEast.lng)},WPGMZA.LatLngBounds.fromGoogleLatLngBounds=function(googleLatLngBounds){if(!(googleLatLngBounds instanceof google.maps.LatLngBounds))throw new Error("Argument must be an instance of google.maps.LatLngBounds");var result=new WPGMZA.LatLngBounds,southWest=googleLatLngBounds.getSouthWest(),googleLatLngBounds=googleLatLngBounds.getNorthEast();return result.north=googleLatLngBounds.lat(),result.south=southWest.lat(),result.west=southWest.lng(),result.east=googleLatLngBounds.lng(),result},WPGMZA.LatLngBounds.fromGoogleLatLngBoundsLiteral=function(obj){var result=new WPGMZA.LatLngBounds,southWest=obj.southwest,obj=obj.northeast;return result.north=obj.lat,result.south=southWest.lat,result.west=southWest.lng,result.east=obj.lng,result},WPGMZA.LatLngBounds.prototype.isInInitialState=function(){return null==this.north&&null==this.south&&null==this.west&&null==this.east},WPGMZA.LatLngBounds.prototype.extend=function(latLng){if(latLng instanceof WPGMZA.LatLng||(latLng=new WPGMZA.LatLng(latLng)),this.isInInitialState())return this.north=this.south=latLng.lat,void(this.west=this.east=latLng.lng);latLng.lat<this.north&&(this.north=latLng.lat),latLng.lat>this.south&&(this.south=latLng.lat),latLng.lng<this.west&&(this.west=latLng.lng),latLng.lng>this.east&&(this.east=latLng.lng)},WPGMZA.LatLngBounds.prototype.extendByPixelMargin=function(map,x,arg){var y=x;if(!(map instanceof WPGMZA.Map))throw new Error("First argument must be an instance of WPGMZA.Map");if(this.isInInitialState())throw new Error("Cannot extend by pixels in initial state");3<=arguments.length&&(y=arg);var southWest=new WPGMZA.LatLng(this.south,this.west),northEast=new WPGMZA.LatLng(this.north,this.east),southWest=map.latLngToPixels(southWest),northEast=map.latLngToPixels(northEast);southWest.x-=x,southWest.y+=y,northEast.x+=x,northEast.y-=y,southWest=map.pixelsToLatLng(southWest.x,southWest.y),northEast=map.pixelsToLatLng(northEast.x,northEast.y),this.toString();this.north=northEast.lat,this.south=southWest.lat,this.west=southWest.lng,this.east=northEast.lng},WPGMZA.LatLngBounds.prototype.contains=function(latLng){if(latLng instanceof WPGMZA.LatLng)return!(latLng.lat<Math.min(this.north,this.south))&&(!(latLng.lat>Math.max(this.north,this.south))&&(this.west<this.east?latLng.lng>=this.west&&latLng.lng<=this.east:latLng.lng<=this.west||latLng.lng>=this.east));throw new Error("Argument must be an instance of WPGMZA.LatLng")},WPGMZA.LatLngBounds.prototype.toString=function(){return this.north+"N "+this.south+"S "+this.west+"W "+this.east+"E"},WPGMZA.LatLngBounds.prototype.toLiteral=function(){return{north:this.north,south:this.south,west:this.west,east:this.east}}}),jQuery(function($){var key,legacyGlobals={marker_pull:"0",marker_array:[],MYMAP:[],infoWindow_poly:[],markerClusterer:[],heatmap:[],WPGM_Path:[],WPGM_Path_Polygon:[],WPGM_PathLine:[],WPGM_PathLineData:[],WPGM_PathData:[],original_iw:null,wpgmza_user_marker:null,wpgmaps_localize_marker_data:[],wpgmaps_localize_polygon_settings:[],wpgmaps_localize_heatmap_settings:[],wpgmaps_localize_polyline_settings:[],wpgmza_cirtcle_data_array:[],wpgmza_rectangle_data_array:[],wpgmzaForceLegacyMarkerClusterer:!1};for(key in legacyGlobals)!function(key){key in window?console.warn("Cannot redefine legacy global "+key):Object.defineProperty(window,key,{get:function(){return console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]},set:function(value){console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]=value}})}(key);WPGMZA.legacyGlobals=legacyGlobals,window.InitMap=window.resetLocations=window.searchLocations=window.fillInAddress=window.searchLocationsNear=function(){console.warn("This function is deprecated and should no longer be used")}}),jQuery(function($){WPGMZA.MapListPage=function(){$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")})},WPGMZA.MapListPage.createInstance=function(){return new WPGMZA.MapListPage},$(document).ready(function(event){WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_LIST&&(WPGMZA.mapListPage=WPGMZA.MapListPage.createInstance())})}),jQuery(function($){WPGMZA.MapSettings=function(element){var json,self=this,element=element.getAttribute("data-settings");try{json=JSON.parse(element)}catch(e){element=(element=element.replace(/\\%/g,"%")).replace(/\\\\"/g,'\\"');try{json=JSON.parse(element)}catch(e){json={},console.warn("Failed to parse map settings JSON")}}function addSettings(input){if(input)for(var key in input){var value;"other_settings"!=key&&(value=input[key],String(value).match(/^-?\d+$/)&&(value=parseInt(value)),self[key]=value)}}WPGMZA.assertInstanceOf(this,"MapSettings"),addSettings(WPGMZA.settings),addSettings(json),json&&json.other_settings&&addSettings(json.other_settings)},WPGMZA.MapSettings.prototype.toOLViewOptions=function(){var coords,self=this,options={center:ol.proj.fromLonLat([-119.4179,36.7783]),zoom:4};function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}return"string"==typeof this.start_location&&(coords=this.start_location.replace(/^\(|\)$/g,"").split(","),WPGMZA.isLatLngString(this.start_location)?options.center=ol.proj.fromLonLat([parseFloat(coords[1]),parseFloat(coords[0])]):console.warn("Invalid start location")),this.center&&(options.center=ol.proj.fromLonLat([parseFloat(this.center.lng),parseFloat(this.center.lat)])),empty("map_start_lat")||empty("map_start_lng")||(options.center=ol.proj.fromLonLat([parseFloat(this.map_start_lng),parseFloat(this.map_start_lat)])),this.zoom&&(options.zoom=parseInt(this.zoom)),this.start_zoom&&(options.zoom=parseInt(this.start_zoom)),this.map_start_zoom&&(options.zoom=parseInt(this.map_start_zoom)),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options},WPGMZA.MapSettings.prototype.toGoogleMapsOptions=function(){var self=this,latLngCoords=this.start_location&&this.start_location.length?this.start_location.split(","):[36.7783,-119.4179];function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}function formatCoord(coord){return WPGMZA.isNumeric(coord)?coord:parseFloat(String(coord).replace(/[\(\)\s]/,""))}var latLngCoords=new google.maps.LatLng(formatCoord(latLngCoords[0]),formatCoord(latLngCoords[1])),zoom=this.start_zoom?parseInt(this.start_zoom):4,options=(!this.start_zoom&&this.zoom&&(zoom=parseInt(this.zoom)),{zoom:zoom=this.map_start_zoom?parseInt(this.map_start_zoom):zoom,center:latLngCoords});function isSettingDisabled(value){return"yes"===value||!!value}switch(empty("center")||(options.center=new google.maps.LatLng({lat:parseFloat(this.center.lat),lng:parseFloat(this.center.lng)})),empty("map_start_lat")||empty("map_start_lng")||(options.center=new google.maps.LatLng({lat:parseFloat(this.map_start_lat),lng:parseFloat(this.map_start_lng)})),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options.zoomControl=!isSettingDisabled(this.wpgmza_settings_map_zoom),options.panControl=!isSettingDisabled(this.wpgmza_settings_map_pan),options.mapTypeControl=!isSettingDisabled(this.wpgmza_settings_map_type),options.streetViewControl=!isSettingDisabled(this.wpgmza_settings_map_streetview),options.fullscreenControl=!isSettingDisabled(this.wpgmza_settings_map_full_screen_control),options.draggable=!isSettingDisabled(this.wpgmza_settings_map_draggable),options.disableDoubleClickZoom=isSettingDisabled(this.wpgmza_settings_map_clickzoom),isSettingDisabled(this.wpgmza_settings_map_tilt_controls)&&(options.rotateControl=!1,options.tilt=0),this.wpgmza_settings_map_scroll&&(options.scrollwheel=!1),"greedy"==this.wpgmza_force_greedy_gestures||"yes"==this.wpgmza_force_greedy_gestures||1==this.wpgmza_force_greedy_gestures?(options.gestureHandling="greedy",!this.wpgmza_settings_map_scroll&&"scrollwheel"in options&&delete options.scrollwheel):options.gestureHandling="cooperative",parseInt(this.type)){case 2:options.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case 3:options.mapTypeId=google.maps.MapTypeId.HYBRID;break;case 4:options.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:options.mapTypeId=google.maps.MapTypeId.ROADMAP}return this.wpgmza_theme_data&&this.wpgmza_theme_data.length&&(options.styles=WPGMZA.GoogleMap.parseThemeData(this.wpgmza_theme_data)),options}}),jQuery(function($){WPGMZA.Map=function(element,options){var self=this;if(WPGMZA.assertInstanceOf(this,"Map"),WPGMZA.EventDispatcher.call(this),!(element instanceof HTMLElement||window.elementor))throw new Error("Argument must be a HTMLElement");if(element.hasAttribute("data-map-id")?this.id=element.getAttribute("data-map-id"):this.id=1,!/\d+/.test(this.id))throw new Error("Map ID must be an integer");if(WPGMZA.maps.push(this),this.element=element,this.element.wpgmzaMap=this,$(this.element).addClass("wpgmza-initialized"),this.engineElement=element,this.markers=[],this.polygons=[],this.polylines=[],this.circles=[],this.rectangles=[],this.pointlabels=[],WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code)return $(element).append($(WPGMZA.api_consent_html)),void $(element).css({height:"auto"});if(this.loadSettings(options),this.loadStyling(),this.shortcodeAttributes={},$(this.element).attr("data-shortcode-attributes"))try{this.shortcodeAttributes=JSON.parse($(this.element).attr("data-shortcode-attributes")),this.shortcodeAttributes.zoom&&(this.settings.map_start_zoom=parseInt(this.shortcodeAttributes.zoom))}catch(e){console.warn("Error parsing shortcode attributes")}this.innerStack=$(this.element).find(".wpgmza-inner-stack"),this.setDimensions(),this.setAlignment(),this.initInternalViewport(),this.markerFilter=WPGMZA.MarkerFilter.createInstance(this),this.on("init",function(event){self.onInit(event)}),this.on("click",function(event){self.onClick(event)}),$(document.body).on("fullscreenchange.wpgmza",function(event){var fullscreen=self.isFullScreen();self.onFullScreenChange(fullscreen)}),WPGMZA.useLegacyGlobals&&(wpgmzaLegacyGlobals.MYMAP[this.id]={map:null,bounds:null,mc:null},wpgmzaLegacyGlobals.MYMAP.init=wpgmzaLegacyGlobals.MYMAP[this.id].init=wpgmzaLegacyGlobals.MYMAP.placeMarkers=wpgmzaLegacyGlobals.MYMAP[this.id].placeMarkers=function(){console.warn("This function is deprecated and should no longer be used")})},WPGMZA.Map.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.Map.prototype.constructor=WPGMZA.Map,WPGMZA.Map.nightTimeThemeData=[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"landscape",elementType:"geometry.fill",stylers:[{color:"#575663"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#263c3f"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#6b9a76"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#38414e"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:"#212a37"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#9ca5b3"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#746855"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#80823e"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#1f2835"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#f3d19c"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#2f3948"}]},{featureType:"transit.station",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#17263c"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#1b737a"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#515c6d"}]},{featureType:"water",elementType:"labels.text.stroke",stylers:[{color:"#17263c"}]}],WPGMZA.Map.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMap:WPGMZA.GoogleMap:WPGMZA.isProVersion()?WPGMZA.OLProMap:WPGMZA.OLMap},WPGMZA.Map.createInstance=function(element,options){return new(WPGMZA.Map.getConstructor())(element,options)},Object.defineProperty(WPGMZA.Map.prototype,"markersPlaced",{get:function(){return this._markersPlaced},set:function(value){throw new Error("Value is read only")}}),Object.defineProperty(WPGMZA.Map.prototype,"lat",{get:function(){return this.getCenter().lat},set:function(value){var center=this.getCenter();center.lat=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"lng",{get:function(){return this.getCenter().lng},set:function(value){var center=this.getCenter();center.lng=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"zoom",{get:function(){return this.getZoom()},set:function(value){this.setZoom(value)}}),WPGMZA.Map.prototype.onInit=function(event){this.initPreloader(),0<this.innerStack.length&&$(this.element).append(this.innerStack),WPGMZA.getCurrentPage()!=WPGMZA.PAGE_MAP_EDIT&&this.initStoreLocator(),"autoFetchFeatures"in this.settings&&!1===this.settings.autoFetchFeatures||this.fetchFeatures()},WPGMZA.Map.prototype.initPreloader=function(){this.preloader=$(WPGMZA.preloaderHTML),$(this.preloader).hide(),$(this.element).append(this.preloader)},WPGMZA.Map.prototype.showPreloader=function(show){show?$(this.preloader).show():$(this.preloader).hide()},WPGMZA.Map.prototype.loadSettings=function(options){var settings=new WPGMZA.MapSettings(this.element);settings.other_settings;if(delete settings.other_settings,options)for(var key in options)settings[key]=options[key];this.settings=settings},WPGMZA.Map.prototype.loadStyling=function(){if(!WPGMZA.InternalEngine.isLegacy()){if(WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length)for(var name in WPGMZA.stylingSettings){var value;-1===name.indexOf("--")||(value=WPGMZA.stylingSettings[name])&&$(this.element).css(name,value)}var tileFilter;this.settings&&this.settings.wpgmza_ol_tile_filter&&((tileFilter=this.settings.wpgmza_ol_tile_filter.trim())&&$(this.element).css("--wpgmza-ol-tile-filter",tileFilter))}},WPGMZA.Map.prototype.initInternalViewport=function(){"1"!=WPGMZA.is_admin&&(this.internalViewport=WPGMZA.InternalViewport.createInstance(this))},WPGMZA.Map.prototype.initStoreLocator=function(){var i,selectors=[".wpgmza-store-locator[data-id='"+this.id+"']",".wpgmza-store-locator",".wpgmza_sl_main_div"];let storeLocatorElement=!1;for(i in selectors)0<$(selectors[i]).length&&!1===storeLocatorElement&&(storeLocatorElement=$(selectors[i]));storeLocatorElement.length&&(this.storeLocator=WPGMZA.StoreLocator.createInstance(this,storeLocatorElement[0]))},WPGMZA.Map.prototype.getFeatureArrays=function(){var arrays=WPGMZA.Map.prototype.getFeatureArrays.call(this);return arrays.heatmaps=this.heatmaps,arrays.imageoverlays=this.imageoverlays,arrays},WPGMZA.Map.prototype.setOptions=function(options){for(var name in options)this.settings[name]=options[name]},WPGMZA.Map.prototype.getRESTParameters=function(options){var defaults={};return options&&options.filter||(defaults.filter=JSON.stringify(this.markerFilter.getFilteringParameters())),$.extend(!0,defaults,options)},WPGMZA.Map.prototype.fetchFeaturesViaREST=function(){var data,offset,limit,self=this,filter=this.markerFilter.getFilteringParameters();"1"==WPGMZA.is_admin&&(filter.includeUnapproved=!0,filter.excludeIntegrated=!0),this.shortcodeAttributes.acf_post_id&&(filter.acfPostID=this.shortcodeAttributes.acf_post_id),this.showPreloader(!0),this.fetchFeaturesXhr&&this.fetchFeaturesXhr.abort(),WPGMZA.settings.fetchMarkersBatchSize&&WPGMZA.settings.enable_batch_loading?(offset=0,limit=parseInt(WPGMZA.settings.fetchMarkersBatchSize),function fetchNextBatch(){filter.offset=offset,filter.limit=limit,data=self.getRESTParameters({filter:JSON.stringify(filter)}),self.fetchFeaturesXhr=WPGMZA.restAPI.call("/markers/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){result.length?(self.onMarkersFetched(result,!0),offset+=limit,fetchNextBatch()):(self.onMarkersFetched(result),data.exclude="markers",WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))}})}()):(data=this.getRESTParameters({filter:JSON.stringify(filter)}),this.fetchFeaturesXhr=WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}};Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Map.getGeographicDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),lon2=deg2rad(lon2-lon1),lon1=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(lon2/2)*Math.sin(lon2/2);return 6371*(2*Math.atan2(Math.sqrt(lon1),Math.sqrt(1-lon1)))},WPGMZA.Map.prototype.setCenter=function(latLng){if(!("lat"in latLng&&"lng"in latLng))throw new Error("Argument is not an object with lat and lng")},WPGMZA.Map.prototype.setDimensions=function(width,height){0==arguments.length&&(width=this.settings.map_width||"100",this.settings.map_width_type?width+=this.settings.map_width_type.replace("\\",""):width+="%",height=this.settings.map_height||"400",this.settings.map_height_type?height+=this.settings.map_height_type.replace("\\",""):height+="px"),$(this.engineElement).css({width:width,height:height})},WPGMZA.Map.prototype.setAlignment=function(){switch(parseInt(this.settings.wpgmza_map_align)){case 1:case 2:$(this.element).addClass("wpgmza-auto-left");break;case 3:$(this.element).addClass("wpgmza-auto-right")}},WPGMZA.Map.prototype.addMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");marker.map=this,(marker.parent=this).markers.push(marker),this.dispatchEvent({type:"markeradded",marker:marker}),marker.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");if(marker.map!==this)throw new Error("Wrong map error");marker.infoWindow&&marker.infoWindow.close(),marker.map=null,marker.parent=null;var index=this.markers.indexOf(marker);if(-1==index)throw new Error("Marker not found in marker array");this.markers.splice(index,1),this.dispatchEvent({type:"markerremoved",marker:marker}),marker.dispatchEvent({type:"removed"})},WPGMZA.Map.prototype.removeAllMarkers=function(options){for(var i=this.markers.length-1;0<=i;i--)this.removeMarker(this.markers[i])},WPGMZA.Map.prototype.getMarkerByID=function(id){for(var i=0;i<this.markers.length;i++)if(this.markers[i].id==id)return this.markers[i];return null},WPGMZA.Map.prototype.getMarkerByTitle=function(title){if("string"==typeof title){for(var i=0;i<this.markers.length;i++)if(this.markers[i].title==title)return this.markers[i]}else{if(!(title instanceof RegExp))throw new Error("Invalid argument");for(i=0;i<this.markers.length;i++)if(title.test(this.markers[i].title))return this.markers[i]}return null},WPGMZA.Map.prototype.removeMarkerByID=function(id){id=this.getMarkerByID(id);id&&this.removeMarker(id)},WPGMZA.Map.prototype.addPolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");(polygon.map=this).polygons.push(polygon),this.dispatchEvent({type:"polygonadded",polygon:polygon}),polygon.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");if(polygon.map!==this)throw new Error("Wrong map error");polygon.map=null,this.polygons.splice(this.polygons.indexOf(polygon),1),this.dispatchEvent({type:"polygonremoved",polygon:polygon})},WPGMZA.Map.prototype.getPolygonByID=function(id){for(var i=0;i<this.polygons.length;i++)if(this.polygons[i].id==id)return this.polygons[i];return null},WPGMZA.Map.prototype.removePolygonByID=function(id){id=this.getPolygonByID(id);id&&this.removePolygon(id)},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.addPolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");(polyline.map=this).polylines.push(polyline),this.dispatchEvent({type:"polylineadded",polyline:polyline}),polyline.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");if(polyline.map!==this)throw new Error("Wrong map error");polyline.map=null,this.polylines.splice(this.polylines.indexOf(polyline),1),this.dispatchEvent({type:"polylineremoved",polyline:polyline})},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.removePolylineByID=function(id){id=this.getPolylineByID(id);id&&this.removePolyline(id)},WPGMZA.Map.prototype.addCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");(circle.map=this).circles.push(circle),this.dispatchEvent({type:"circleadded",circle:circle}),circle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");if(circle.map!==this)throw new Error("Wrong map error");circle.map=null,this.circles.splice(this.circles.indexOf(circle),1),this.dispatchEvent({type:"circleremoved",circle:circle})},WPGMZA.Map.prototype.getCircleByID=function(id){for(var i=0;i<this.circles.length;i++)if(this.circles[i].id==id)return this.circles[i];return null},WPGMZA.Map.prototype.removeCircleByID=function(id){id=this.getCircleByID(id);id&&this.removeCircle(id)},WPGMZA.Map.prototype.addRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");(rectangle.map=this).rectangles.push(rectangle),this.dispatchEvent({type:"rectangleadded",rectangle:rectangle}),rectangle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");if(rectangle.map!==this)throw new Error("Wrong map error");rectangle.map=null,this.rectangles.splice(this.rectangles.indexOf(rectangle),1),this.dispatchEvent({type:"rectangleremoved",rectangle:rectangle})},WPGMZA.Map.prototype.getRectangleByID=function(id){for(var i=0;i<this.rectangles.length;i++)if(this.rectangles[i].id==id)return this.rectangles[i];return null},WPGMZA.Map.prototype.removeRectangleByID=function(id){id=this.getRectangleByID(id);id&&this.removeRectangle(id)},WPGMZA.Map.prototype.addPointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");(pointlabel.map=this).pointlabels.push(pointlabel),this.dispatchEvent({type:"pointlabeladded",pointlabel:pointlabel})},WPGMZA.Map.prototype.removePointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");if(pointlabel.map!==this)throw new Error("Wrong map error");pointlabel.map=null,this.pointlabels.splice(this.pointlabels.indexOf(pointlabel),1),this.dispatchEvent({type:"pointlabelremoved",pointlabel:pointlabel})},WPGMZA.Map.prototype.getPointlabelByID=function(id){for(var i=0;i<this.pointlabels.length;i++)if(this.pointlabels[i].id==id)return this.pointlabels[i];return null},WPGMZA.Map.prototype.removePointlabelByID=function(id){id=this.getPointlabelByID(id);id&&this.removePointlabel(id)},WPGMZA.Map.prototype.resetBounds=function(){var latlng=new WPGMZA.LatLng(this.settings.map_start_lat,this.settings.map_start_lng);this.panTo(latlng),this.setZoom(this.settings.map_start_zoom)},WPGMZA.Map.prototype.nudge=function(x,y){x=this.nudgeLatLng(this.getCenter(),x,y);this.setCenter(x)},WPGMZA.Map.prototype.nudgeLatLng=function(latLng,x,y){latLng=this.latLngToPixels(latLng);if(latLng.x+=parseFloat(x),latLng.y+=parseFloat(y),isNaN(latLng.x)||isNaN(latLng.y))throw new Error("Invalid coordinates supplied");return this.pixelsToLatLng(latLng)},WPGMZA.Map.prototype.animateNudge=function(x,y,origin,milliseconds){if(origin){if(!(origin instanceof WPGMZA.LatLng))throw new Error("Origin must be an instance of WPGMZA.LatLng")}else origin=this.getCenter();origin=this.nudgeLatLng(origin,x,y),milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$(this).animate({lat:origin.lat,lng:origin.lng},milliseconds)},WPGMZA.Map.prototype.onWindowResize=function(event){},WPGMZA.Map.prototype.onElementResized=function(event){},WPGMZA.Map.prototype.onBoundsChanged=function(event){this.trigger("boundschanged"),this.trigger("bounds_changed")},WPGMZA.Map.prototype.onIdle=function(event){this.trigger("idle")},WPGMZA.Map.prototype.onClick=function(event){},WPGMZA.Map.prototype.onFullScreenChange=function(fullscreen){this.trigger("fullscreenchange.map"),fullscreen?$(this.element).addClass("is-fullscreen"):$(this.element).removeClass("is-fullscreen")},WPGMZA.Map.prototype.hasVisibleMarkers=function(){for(var marker,length=this.markers.length,i=0;i<length;i++)if((marker=this.markers[i]).isFilterable&&marker.getVisible())return!0;return!1},WPGMZA.Map.prototype.isFullScreen=function(){return!(!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.offsetHeight))},WPGMZA.Map.prototype.closeAllInfoWindows=function(){this.markers.forEach(function(marker){marker.infoWindow&&marker.infoWindow.close()})},WPGMZA.Map.prototype.openStreetView=function(options){},WPGMZA.Map.prototype.closeStreetView=function(options){},$(document).ready(function(event){var invisibleMaps;WPGMZA.visibilityWorkaroundIntervalID||(invisibleMaps=jQuery(".wpgmza_map:hidden"),WPGMZA.visibilityWorkaroundIntervalID=setInterval(function(){jQuery(invisibleMaps).each(function(index,el){var id;jQuery(el).is(":visible")&&(id=jQuery(el).attr("data-map-id"),WPGMZA.getMapByID(id).onElementResized(),invisibleMaps.splice(invisibleMaps.toArray().indexOf(el),1))})},1e3))})}),jQuery(function($){WPGMZA.MapsEngineDialog=function(element){var self=this;this.element=element,window.wpgmzaUnbindSaveReminder&&window.wpgmzaUnbindSaveReminder(),$(this.element).data("installer-link")?WPGMZA.initInstallerRedirect($(this.element).data("installer-link")):($(element).remodal().open(),$(element).show(),$(element).find("input:radio").on("change",function(event){$("#wpgmza-confirm-engine").prop("disabled",!1),$("#wpgmza-confirm-engine").click()}),$("#wpgmza-confirm-engine").on("click",function(event){self.onButtonClicked(event)}))},WPGMZA.MapsEngineDialog.prototype.onButtonClicked=function(event){$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_engine_dialog_set_engine",engine:$("[name='wpgmza_maps_engine']:checked").val(),nonce:$("#wpgmza-maps-engine-dialog").attr("data-ajax-nonce")},success:function(response,status,xhr){window.location.reload()}})},$(document).ready(function(event){var element=$("#wpgmza-maps-engine-dialog");!element.length||WPGMZA.settings.wpgmza_maps_engine_dialog_done||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.ignoreInstallerRedirect||(WPGMZA.mapsEngineDialog=new WPGMZA.MapsEngineDialog(element))})}),jQuery(function($){WPGMZA.MarkerFilter=function(map){WPGMZA.EventDispatcher.call(this),this.map=map},WPGMZA.MarkerFilter.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.MarkerFilter.prototype.constructor=WPGMZA.MarkerFilter,WPGMZA.MarkerFilter.createInstance=function(map){return new WPGMZA.MarkerFilter(map)},WPGMZA.MarkerFilter.prototype.getFilteringParameters=function(){var params={map_id:this.map.id};return params=this.map.storeLocator?$.extend(params,this.map.storeLocator.getFilteringParameters()):params},WPGMZA.MarkerFilter.prototype.update=function(params,source){var self=this;function dispatchEvent(result){var event=new WPGMZA.Event("filteringcomplete");event.map=self.map,event.source=source,event.filteredMarkers=result,event.filteringParams=params,self.onFilteringComplete(event),self.trigger(event),self.map.trigger(event)}this.updateTimeoutID||(params=params||{},this.xhr&&(this.xhr.abort(),delete this.xhr),this.updateTimeoutID=setTimeout(function(){if((params=$.extend(self.getFilteringParameters(),params)).center instanceof WPGMZA.LatLng&&(params.center=params.center.toLatLngLiteral()),params.hideAll)return dispatchEvent([]),void delete self.updateTimeoutID;self.map.showPreloader(!0),self.xhr=WPGMZA.restAPI.call("/markers",{data:{fields:["id"],filter:JSON.stringify(params)},success:function(result,status,xhr){self.map.showPreloader(!1),dispatchEvent(result)},useCompressedPathVariable:!0}),delete self.updateTimeoutID},0))},WPGMZA.MarkerFilter.prototype.onFilteringComplete=function(event){var map=[];event.filteredMarkers.forEach(function(data){map[data.id]=!0}),this.map.markers.forEach(function(marker){var allowByFilter;marker.isFilterable&&(allowByFilter=!!map[marker.id],marker.isFiltered=!allowByFilter,marker.setVisible(allowByFilter))})}}),jQuery(function($){WPGMZA.Marker=function(row){var self=this;this._offset={x:0,y:0},WPGMZA.assertInstanceOf(this,"Marker"),this.lat="36.778261",this.lng="-119.4179323999",this.address="California",this.title=null,this.description="",this.link="",this.icon="",this.approved=1,this.pic=null,this.isFilterable=!0,this.disableInfoWindow=!1,WPGMZA.Feature.apply(this,arguments),row&&row.heatmap||(row&&this.on("init",function(event){row.position&&this.setPosition(row.position),row.map&&row.map.addMarker(this)}),this.addEventListener("added",function(event){self.onAdded(event)}),this.handleLegacyGlobals(row))},WPGMZA.Marker.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Marker.prototype.constructor=WPGMZA.Marker,WPGMZA.Marker.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMarker:WPGMZA.GoogleMarker:WPGMZA.isProVersion()?WPGMZA.OLProMarker:WPGMZA.OLMarker},WPGMZA.Marker.createInstance=function(row){return new(WPGMZA.Marker.getConstructor())(row)},WPGMZA.Marker.ANIMATION_NONE="0",WPGMZA.Marker.ANIMATION_BOUNCE="1",WPGMZA.Marker.ANIMATION_DROP="2",Object.defineProperty(WPGMZA.Marker.prototype,"offsetX",{get:function(){return this._offset.x},set:function(value){this._offset.x=value,this.updateOffset()}}),Object.defineProperty(WPGMZA.Marker.prototype,"offsetY",{get:function(){return this._offset.y},set:function(value){this._offset.y=value,this.updateOffset()}}),WPGMZA.Marker.prototype.onAdded=function(event){var self=this;this.addEventListener("click",function(event){self.onClick(event)}),this.addEventListener("mouseover",function(event){self.onMouseOver(event)}),this.addEventListener("select",function(event){self.onSelect(event)}),this.map.settings.marker==this.id&&self.trigger("select"),"1"==this.infoopen&&(this._osDisableAutoPan=!0,this.openInfoWindow(!0))},WPGMZA.Marker.prototype.handleLegacyGlobals=function(row){var m;WPGMZA.settings.useLegacyGlobals&&this.map_id&&this.id&&(WPGMZA.pro_version&&(m=WPGMZA.pro_version.match(/\d+/))&&m[0]<=7||(WPGMZA.legacyGlobals.marker_array[this.map_id]||(WPGMZA.legacyGlobals.marker_array[this.map_id]=[]),WPGMZA.legacyGlobals.marker_array[this.map_id][this.id]=this,WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]||(WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]=[]),m=$.extend({marker_id:this.id},row),WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id][this.id]=m))},WPGMZA.Marker.prototype.initInfoWindow=function(){this.infoWindow||(this.infoWindow=WPGMZA.InfoWindow.createInstance())},WPGMZA.Marker.prototype.openInfoWindow=function(autoOpen){this.map?(autoOpen||(this.map.lastInteractedMarker&&this.map.lastInteractedMarker.infoWindow.close(),this.map.lastInteractedMarker=this),this.initInfoWindow(),this.infoWindow.open(this.map,this)):console.warn("Cannot open infowindow for marker with no map")},WPGMZA.Marker.prototype.onClick=function(event){},WPGMZA.Marker.prototype.onSelect=function(event){this.openInfoWindow()},WPGMZA.Marker.prototype.onMouseOver=function(event){WPGMZA.settings.wpgmza_settings_map_open_marker_by==WPGMZA.InfoWindow.OPEN_BY_HOVER&&this.openInfoWindow()},WPGMZA.Marker.prototype.getIcon=function(){function stripProtocol(url){return"string"!=typeof url?url:url.replace(/^http(s?):/,"")}return WPGMZA.defaultMarkerIcon?stripProtocol(WPGMZA.defaultMarkerIcon):stripProtocol(WPGMZA.settings.default_marker_icon)},WPGMZA.Marker.prototype.getPosition=function(){return new WPGMZA.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})},WPGMZA.Marker.prototype.setPosition=function(latLng){latLng instanceof WPGMZA.LatLng?(this.lat=latLng.lat,this.lng=latLng.lng):(this.lat=parseFloat(latLng.lat),this.lng=parseFloat(latLng.lng))},WPGMZA.Marker.prototype.setOffset=function(x,y){this._offset.x=x,this._offset.y=y,this.updateOffset()},WPGMZA.Marker.prototype.updateOffset=function(){},WPGMZA.Marker.prototype.getAnimation=function(){return this.anim},WPGMZA.Marker.prototype.setAnimation=function(animation){},WPGMZA.Marker.prototype.getVisible=function(){},WPGMZA.Marker.prototype.setVisible=function(visible){!visible&&this.infoWindow&&this.infoWindow.close()},WPGMZA.Marker.prototype.getMap=function(){return this.map},WPGMZA.Marker.prototype.setMap=function(map){map?map.addMarker(this):this.map&&this.map.removeMarker(this),this.map=map},WPGMZA.Marker.prototype.getDraggable=function(){},WPGMZA.Marker.prototype.setDraggable=function(draggable){},WPGMZA.Marker.prototype.setOptions=function(options){},WPGMZA.Marker.prototype.setOpacity=function(opacity){},WPGMZA.Marker.prototype.panIntoView=function(){if(!this.map)throw new Error("Marker hasn't been added to a map");this.map.setCenter(this.getPosition())},WPGMZA.Marker.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this),position=this.getPosition();return $.extend(result,{lat:position.lat,lng:position.lng,address:this.address,title:this.title,description:this.description,link:this.link,icon:this.icon,pic:this.pic,approved:this.approved}),result}}),jQuery(function($){WPGMZA.ModernStoreLocatorCircle=function(map_id,settings){var map=WPGMZA.isProVersion()?this.map=WPGMZA.getMapByID(map_id):this.map=WPGMZA.maps[0];this.map_id=map_id,this.mapElement=map.element,this.mapSize={width:$(this.mapElement).width(),height:$(this.mapElement).height()},this.initCanvasLayer(),this.settings={center:new WPGMZA.LatLng(0,0),radius:1,color:"#ff0000",shadowColor:"white",shadowBlur:4,centerRingRadius:10,centerRingLineWidth:3,numInnerRings:9,innerRingLineWidth:1,innerRingFade:!0,numOuterRings:7,ringLineWidth:1,mainRingLineWidth:2,numSpokes:6,spokesStartAngle:Math.PI/2,numRadiusLabels:6,radiusLabelsStartAngle:Math.PI/2,radiusLabelFont:"13px sans-serif",visible:!1},settings&&this.setOptions(settings)},WPGMZA.ModernStoreLocatorCircle.createInstance=function(map,settings){return new("google-maps"==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocatorCircle:WPGMZA.OLModernStoreLocatorCircle)(map,settings)},WPGMZA.ModernStoreLocatorCircle.prototype.initCanvasLayer=function(){},WPGMZA.ModernStoreLocatorCircle.prototype.onResize=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.onUpdate=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.setOptions=function(options){for(var name in options){var functionName="set"+name.substr(0,1).toUpperCase()+name.substr(1);"function"==typeof this[functionName]?this[functionName](options[name]):this.settings[name]=options[name]}},WPGMZA.ModernStoreLocatorCircle.prototype.getResolutionScale=function(){return window.devicePixelRatio||1},WPGMZA.ModernStoreLocatorCircle.prototype.getCenter=function(){return this.getPosition()},WPGMZA.ModernStoreLocatorCircle.prototype.setCenter=function(value){this.setPosition(value)},WPGMZA.ModernStoreLocatorCircle.prototype.getPosition=function(){return this.settings.center},WPGMZA.ModernStoreLocatorCircle.prototype.setPosition=function(position){this.settings.center=position},WPGMZA.ModernStoreLocatorCircle.prototype.getRadius=function(){return this.settings.radius},WPGMZA.ModernStoreLocatorCircle.prototype.setRadius=function(radius){if(isNaN(radius))throw new Error("Invalid radius");this.settings.radius=radius},WPGMZA.ModernStoreLocatorCircle.prototype.getVisible=function(){return this.settings.visible},WPGMZA.ModernStoreLocatorCircle.prototype.setVisible=function(visible){this.settings.visible=visible},WPGMZA.ModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getContext=function(type){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.validateSettings=function(){WPGMZA.isHexColorString(this.settings.color)||(this.settings.color="#ff0000")},WPGMZA.ModernStoreLocatorCircle.prototype.draw=function(){this.validateSettings();var settings=this.settings,canvasDimensions=this.getCanvasDimensions(),canvasWidth=canvasDimensions.width,canvasDimensions=canvasDimensions.height;this.map,this.getResolutionScale();if((context=this.getContext("2d")).clearRect(0,0,canvasWidth,canvasDimensions),settings.visible){context.shadowColor=settings.shadowColor,context.shadowBlur=settings.shadowBlur,context.setTransform(1,0,0,1,0,0);var end,scale=this.getScale(),canvasWidth=(context.scale(scale,scale),this.getWorldOriginOffset()),worldPoint=(context.translate(canvasWidth.x,canvasWidth.y),new WPGMZA.LatLng(this.settings.center),this.getCenterPixels()),rgba=WPGMZA.hexToRgba(settings.color),ringSpacing=this.getTransformedRadius(settings.radius)/(settings.numInnerRings+1),radius=(context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.centerRingRadius)/scale,0,2*Math.PI),context.stroke(),context.closePath(),this.getTransformedRadius(settings.radius)+ringSpacing*settings.numOuterRings+1),canvasDimensions=context.createRadialGradient(0,0,0,0,0,radius),rgba=WPGMZA.hexToRgba(settings.color),canvasWidth=WPGMZA.rgbaToString(rgba);rgba.a=0,end=WPGMZA.rgbaToString(rgba),canvasDimensions.addColorStop(0,canvasWidth),canvasDimensions.addColorStop(1,end),context.save(),context.translate(worldPoint.x,worldPoint.y),context.strokeStyle=canvasDimensions,context.lineWidth=2/scale;for(var i=0;i<settings.numSpokes;i++)spokeAngle=settings.spokesStartAngle+2*Math.PI*(i/settings.numSpokes),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.setLineDash([2/scale,15/scale]),context.beginPath(),context.moveTo(0,0),context.lineTo(x,y),context.stroke();context.setLineDash([]),context.restore(),context.lineWidth=1/scale*settings.innerRingLineWidth;for(i=1;i<=settings.numInnerRings;i++){radius=i*ringSpacing;settings.innerRingFade&&(rgba.a=1-(i-1)/settings.numInnerRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath()}context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.radius),0,2*Math.PI),context.stroke(),context.closePath();for(radius=radius+ringSpacing,i=0;i<settings.numOuterRings;i++)settings.innerRingFade&&(rgba.a=1-i/settings.numOuterRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath(),radius+=ringSpacing;if(0<settings.numRadiusLabels){var x,y,radius=this.getTransformedRadius(settings.radius);(canvasWidth=settings.radiusLabelFont.match(/(\d+)px/))&&parseInt(canvasWidth[1]),context.font=settings.radiusLabelFont,context.textAlign="center",context.textBaseline="middle",context.fillStyle=settings.color,context.save(),context.translate(worldPoint.x,worldPoint.y);for(i=0;i<settings.numRadiusLabels;i++){var spokeAngle,textAngle=(spokeAngle=settings.radiusLabelsStartAngle+2*Math.PI*(i/settings.numRadiusLabels))+Math.PI/2,text=settings.radiusString;0<Math.sin(spokeAngle)&&(textAngle-=Math.PI),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.save(),context.translate(x,y),context.rotate(textAngle),context.scale(1/scale,1/scale),textAngle=context.measureText(text).width,height=textAngle/2,context.clearRect(-textAngle,-height,2*textAngle,2*height),context.fillText(settings.radiusString,0,0),context.restore()}context.restore()}}}}),jQuery(function($){WPGMZA.ModernStoreLocator=function(map_id){var original,inner,addressInput,placeholder,container,titleSearch,numCategories,icons,self=this,map=WPGMZA.getMapByID(map_id);WPGMZA.assertInstanceOf(this,"ModernStoreLocator"),(original=(WPGMZA.isProVersion()?$(".wpgmza_sl_search_button[mid='"+map_id+"'], .wpgmza_sl_search_button_"+map_id):$(".wpgmza_sl_search_button")).closest(".wpgmza_sl_main_div")).length&&(this.element=$("<div class='wpgmza-modern-store-locator'><div class='wpgmza-inner wpgmza-modern-hover-opaque'/></div>")[0],inner=$(this.element).find(".wpgmza-inner"),addressInput=WPGMZA.isProVersion()?$(original).find(".addressInput"):$(original).find("#addressInput"),map.settings.store_locator_query_string&&map.settings.store_locator_query_string.length&&addressInput.attr("placeholder",map.settings.store_locator_query_string),inner.append(addressInput),(titleSearch=$(original).find("[id='nameInput_"+map_id+"']")).length&&((placeholder=map.settings.store_locator_name_string)&&placeholder.length&&titleSearch.attr("placeholder",placeholder),inner.append(titleSearch)),(placeholder=$(original).find("button.wpgmza-use-my-location"))&&inner.append(placeholder),$(addressInput).on("keydown keypress",function(event){13==event.keyCode&&self.searchButton.is(":visible")&&self.searchButton.trigger("click")}),$(addressInput).on("input",function(event){self.searchButton.show(),self.resetButton.hide()}),inner.append($(original).find("select.wpgmza_sl_radius_select")),this.searchButton=$(original).find(".wpgmza_sl_search_button, .wpgmza_sl_search_button_div"),inner.append(this.searchButton),this.resetButton=$(original).find(".wpgmza_sl_reset_button_div"),inner.append(this.resetButton),this.resetButton.on("click",function(event){resetLocations(map_id)}),this.resetButton.hide(),WPGMZA.isProVersion()&&(this.searchButton.on("click",function(event){0!=$("addressInput_"+map_id).val()&&(self.searchButton.hide(),self.resetButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_APPLIED)}),this.resetButton.on("click",function(event){self.resetButton.hide(),self.searchButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_INITIAL})),inner.append($("#wpgmza_distance_type_"+map_id)),container=$(original).find(".wpgmza_cat_checkbox_holder"),$(container).children("ul"),titleSearch=$(container).find("li"),numCategories=0,icons=[],titleSearch.each(function(index,el){var category_id,id=$(el).attr("class").match(/\d+/);for(category_id in wpgmza_category_data)if(id==category_id){var src=wpgmza_category_data[category_id].image,icon=$('<div class="wpgmza-chip-icon"/>');icon.css({"background-image":"url('"+src+"')",width:$("#wpgmza_cat_checkbox_"+category_id+" + label").height()+"px"}),icons.push(icon),null!=src&&""!=src&&$("#wpgmza_cat_checkbox_"+category_id+" + label").prepend(icon),numCategories++;break}}),$(this.element).append(container),numCategories&&(this.optionsButton=$('<span class="wpgmza_store_locator_options_button"><i class="fa fa-list"></i></span>'),$(this.searchButton).before(this.optionsButton)),setInterval(function(){icons.forEach(function(icon){var height=$(icon).height();$(icon).css({width:height+"px"}),$(icon).closest("label").css({"padding-left":height+8+"px"})}),$(container).css("width",$(self.element).find(".wpgmza-inner").outerWidth()+"px")},1e3),$(this.element).find(".wpgmza_store_locator_options_button").on("click",function(event){container.hasClass("wpgmza-open")?container.removeClass("wpgmza-open"):container.addClass("wpgmza-open")}),$(original).remove(),$(this.element).find("input, select").on("focus",function(){$(inner).addClass("active")}),$(this.element).find("input, select").on("blur",function(){$(inner).removeClass("active")}),$(this.element).on("mouseover","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseOverCategory(event)}),$(this.element).on("mouseleave","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseLeaveCategory(event)}),$("body").on("click",".wpgmza_store_locator_options_button",function(event){setTimeout(function(){var p_cat,$p_map;$(".wpgmza_cat_checkbox_holder").hasClass("wpgmza-open")&&(p_cat=(p_cat=$(".wpgmza_cat_checkbox_holder")).position().top+p_cat.outerHeight(!0)+$(".wpgmza-modern-store-locator").height(),($p_map=$(".wpgmza_map")).position().top+$p_map.outerHeight(!0)<=p_cat&&($(".wpgmza_cat_ul").css("overflow","scroll "),$(".wpgmza_cat_ul").css("height","100%"),$(".wpgmza-modern-store-locator").css("height","100%"),$(".wpgmza_cat_checkbox_holder.wpgmza-open").css({"padding-bottom":"50px",height:"100%"})))},500)}))},WPGMZA.ModernStoreLocator.createInstance=function(map_id){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocator:WPGMZA.OLModernStoreLocator)(map_id)},WPGMZA.ModernStoreLocator.prototype.onMouseOverCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeIn()},WPGMZA.ModernStoreLocator.prototype.onMouseLeaveCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeOut()}}),jQuery(function($){WPGMZA.NativeMapsAppIcon=function(){navigator.userAgent.match(/^Apple|iPhone|iPad|iPod/)?(this.type="apple",this.element=$('<span><i class="fab fa fa-apple" aria-hidden="true"></i></span>')):(this.type="google",this.element=$('<span><i class="fab fa fa-google" aria-hidden="true"></i></span>'))}}),jQuery(function($){WPGMZA.PersistentAdminNotice=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dismissButton=this.element.find(".notice-dismiss"),this.ajaxActionButton=this.element.find("a[data-ajax]"),this.bindEvents()},WPGMZA.extend(WPGMZA.PersistentAdminNotice,WPGMZA.EventDispatcher),WPGMZA.PersistentAdminNotice.createInstance=function(element){return new WPGMZA.PersistentAdminNotice(element)},WPGMZA.PersistentAdminNotice.prototype.bindEvents=function(){let self=this;this.dismissButton.on("click",function(event){self.onDismiss($(this))}),this.ajaxActionButton.on("click",function(event){event.preventDefault(),self.onAjaxAction($(this))})},WPGMZA.PersistentAdminNotice.prototype.onDismiss=function(item){var data={action:"wpgmza_dismiss_persistent_notice",slug:this.element.data("slug"),wpgmza_security:WPGMZA.ajaxnonce};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:data,success:function(response,status,xhr){},error:function(){}})},WPGMZA.PersistentAdminNotice.prototype.onAjaxAction=function(item){var action;item.data("disabled")||(action=item.data("ajax-action"),item.attr("data-disabled","true"),item.css("opacity","0.5"),action&&(item={action:"wpgmza_persisten_notice_quick_action",relay:action,wpgmza_security:WPGMZA.ajaxnonce},$.ajax(WPGMZA.ajaxurl,{method:"POST",data:item,success:function(response){window.location.reload()},error:function(){}})))},$(document.body).ready(function(){$(".wpgmza-persistent-notice").each(function(index,el){el.wpgmzaPersistentAdminNotice=WPGMZA.PersistentAdminNotice.createInstance(el)})})}),jQuery(function($){WPGMZA.Pointlabel=function(options,pointlabel){var map;WPGMZA.assertInstanceOf(this,"Pointlabel"),(options=options||{}).map?this.map=options.map:!options.map&&options.map_id&&(map=WPGMZA.getMapByID(options.map_id))&&(this.map=map),this.center=new WPGMZA.LatLng,WPGMZA.Feature.apply(this,arguments),pointlabel&&(this.setPosition(pointlabel.getPosition()),pointlabel.marker&&(this.marker=pointlabel.marker))},WPGMZA.Pointlabel.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Pointlabel.prototype.constructor=WPGMZA.Pointlabel,Object.defineProperty(WPGMZA.Pointlabel.prototype,"map",{enumerable:!0,get:function(){return this._map||null},set:function(a){this.textFeature&&!a&&this.textFeature.remove(),this._map=a}}),WPGMZA.Pointlabel.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPointlabel:WPGMZA.GooglePointlabel:WPGMZA.isProVersion()?WPGMZA.OLProPointlabel:WPGMZA.OLPointlabel},WPGMZA.Pointlabel.createInstance=function(options,pointlabel){return new(WPGMZA.Pointlabel.getConstructor())(options,pointlabel)},WPGMZA.Pointlabel.createEditableMarker=function(options){function callback(){try{marker.setIcon(WPGMZA.labelpointIcon)}catch(ex){}marker.off("added",callback)}(options=$.extend({draggable:!0,disableInfoWindow:!0},options)).pointlabel&&(latLng=options.pointlabel.getPosition(),options.lat=latLng.lat,options.lng=latLng.lng);var latLng,marker=WPGMZA.Marker.createInstance(options);return marker.on("added",callback),marker},WPGMZA.Pointlabel.prototype.setEditable=function(editable){var self=this;this.marker&&(this.marker.map.removeMarker(this.marker),delete this.marker),this._prevMap&&delete this._prevMap,editable&&(this.marker=WPGMZA.Pointlabel.createEditableMarker({pointlabel:this}),this.map.addMarker(this.marker),this._dragEndCallback=function(event){self.onDragEnd(event)},editable=this.map,this.marker.on("dragend",this._dragEndCallback),editable.on("pointlabelremoved",function(event){event.pointlabel}))},WPGMZA.Pointlabel.prototype.onDragEnd=function(event){event.target instanceof WPGMZA.Marker&&this.marker&&(event.latLng&&this.setPosition(event.latLng),this.trigger("change"))},WPGMZA.Pointlabel.prototype.onMapMouseDown=function(event){if(0==event.button)return this._mouseDown=!0,event.preventDefault(),!1},WPGMZA.Pointlabel.prototype.onWindowMouseUp=function(event){0==event.button&&(this._mouseDown=!1)},WPGMZA.Pointlabel.prototype.onMapMouseMove=function(event){this._mouseDown&&(event={x:event.pageX-$(this.map.element).offset().left,y:event.pageY+30-$(this.map.element).offset().top},(event=this.map.pixelsToLatLng(event))&&this.setPosition(event),this.trigger("change"))},WPGMZA.Pointlabel.prototype.getPosition=function(){return this.center?new WPGMZA.LatLng({lat:this.center.lat,lng:this.center.lng}):null},WPGMZA.Pointlabel.prototype.setPosition=function(position){this.center={},this.center.lat=position.lat,this.center.lng=position.lng,this.textFeature&&this.textFeature.setPosition(this.getPosition())},WPGMZA.Pointlabel.prototype.getMap=function(){return this.map},WPGMZA.Pointlabel.prototype.setMap=function(map){this.map&&this.map.removePointlabel(this),map&&map.addPointlabel(this)}}),jQuery(function($){Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(begin,end){return new Uint8Array(Array.prototype.slice.call(this,begin,end))}}),WPGMZA.isSafari()&&!window.external&&(window.external={})}),jQuery(function($){WPGMZA.Polygon=function(row,enginePolygon){var self=this;WPGMZA.assertInstanceOf(this,"Polygon"),this.paths=null,WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polygon.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polygon.prototype.constructor=WPGMZA.Polygon,Object.defineProperty(WPGMZA.Polygon.prototype,"fillColor",{enumerable:!0,get:function(){return this.fillcolor&&this.fillcolor.length?"#"+this.fillcolor.replace(/^#/,""):"#ff0000"},set:function(a){this.fillcolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineopacity&&this.lineopacity.length?this.lineopacity:.6},set:function(a){this.lineopacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):3}}),WPGMZA.Polygon.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPolygon:WPGMZA.GooglePolygon:WPGMZA.isProVersion()?WPGMZA.OLProPolygon:WPGMZA.OLPolygon},WPGMZA.Polygon.createInstance=function(row,engineObject){return new(WPGMZA.Polygon.getConstructor())(row,engineObject)},WPGMZA.Polygon.prototype.onAdded=function(){}}),jQuery(function($){WPGMZA.Polyline=function(options,googlePolyline){var self=this;WPGMZA.assertInstanceOf(this,"Polyline"),WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polyline.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polyline.prototype.constructor=WPGMZA.Polyline,Object.defineProperty(WPGMZA.Polyline.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):1},set:function(a){this.linethickness=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"layergroup",{enumerable:!0,get:function(){return this._layergroup||0},set:function(value){parseInt(value)&&(this._layergroup=parseInt(value)+WPGMZA.Shape.BASE_LAYER_INDEX)}}),WPGMZA.Polyline.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GooglePolyline:WPGMZA.OLPolyline},WPGMZA.Polyline.createInstance=function(options,engineObject){return new(WPGMZA.Polyline.getConstructor())(options,engineObject)},WPGMZA.Polyline.prototype.getPoints=function(){return this.toJSON().points},WPGMZA.Polyline.prototype.onAdded=function(){this.layergroup&&this.setLayergroup(this.layergroup)},WPGMZA.Polyline.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this);return result.title=this.title,result},WPGMZA.Polyline.prototype.setLayergroup=function(layergroup){this.layergroup=layergroup,this.layergroup&&this.setOptions({zIndex:this.layergroup})}}),jQuery(function($){WPGMZA.PopoutPanel=function(element){this.element=element},WPGMZA.PopoutPanel.prototype.open=function(){$(this.element).addClass("wpgmza-open")},WPGMZA.PopoutPanel.prototype.close=function(){$(this.element).removeClass("wpgmza-open")}}),jQuery(function($){function sendAJAXFallbackRequest(route,params){if((params=$.extend({},params)).data||(params.data={}),"route"in params.data)throw new Error("Cannot send route through this method");if("action"in params.data)throw new Error("Cannot send action through this method");return params.data.route=route,params.data.action="wpgmza_rest_api_request",WPGMZA.restAPI.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_AJAX),$.ajax(WPGMZA.ajaxurl,params)}WPGMZA.RestAPI=function(){WPGMZA.RestAPI.URL=WPGMZA.resturl,this.useAJAXFallback=!1,$(document.body).trigger("init.restapi.wpgmza")},WPGMZA.RestAPI.CONTEXT_REST="REST",WPGMZA.RestAPI.CONTEXT_AJAX="AJAX",WPGMZA.RestAPI.createInstance=function(){return new WPGMZA.RestAPI},Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableSupported",{get:function(){return WPGMZA.serverCanInflate&&"Uint8Array"in window&&"TextEncoder"in window}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableAllowed",{get:function(){return!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?!WPGMZA.settings.disable_compressed_path_variables:WPGMZA.settings.enable_compressed_path_variables}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"maxURLLength",{get:function(){return 2083}}),WPGMZA.RestAPI.prototype.compressParams=function(params){var suffix="",string=(!params.markerIDs||1<(markerIDs=params.markerIDs.split(",")).length&&(markerIDs=(new WPGMZA.EliasFano).encode(markerIDs),compressed=pako.deflate(markerIDs),string=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join(""),suffix="/"+btoa(string).replace(/\//g,"-").replace(/=+$/,""),params.midcbp=markerIDs.pointer,delete params.markerIDs),JSON.stringify(params)),markerIDs=(new TextEncoder).encode(string),compressed=pako.deflate(markerIDs),params=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join("");return btoa(params).replace(/\//g,"-").replace(/=+$/,"")+suffix},WPGMZA.RestAPI.prototype.getNonce=function(route){var pattern,matches=[];for(pattern in WPGMZA.restnoncetable){var regex=new RegExp(pattern);route.match(regex)&&matches.push({pattern:pattern,nonce:WPGMZA.restnoncetable[pattern],length:pattern.length})}if(matches.length)return matches.sort(function(a,b){return b.length-a.length}),matches[0].nonce;throw new Error("No nonce found for route")},WPGMZA.RestAPI.prototype.addNonce=function(route,params,context){function setRESTNonce(xhr){context==WPGMZA.RestAPI.CONTEXT_REST&&self.shouldAddNonce(route)&&xhr.setRequestHeader("X-WP-Nonce",WPGMZA.restnonce),params&&params.method&&!params.method.match(/^GET$/i)&&xhr.setRequestHeader("X-WPGMZA-Action-Nonce",self.getNonce(route))}var base,self=this;params.beforeSend?(base=params.beforeSend,params.beforeSend=function(xhr){base(xhr),setRESTNonce(xhr)}):params.beforeSend=setRESTNonce},WPGMZA.RestAPI.prototype.shouldAddNonce=function(route){route=route.replace(/\//g,"");var isAdmin=!1;WPGMZA.is_admin&&1===parseInt(WPGMZA.is_admin)&&(isAdmin=!0);return!(route&&["markers","features","marker-listing","datatables"].includes(route)&&!isAdmin)},WPGMZA.RestAPI.prototype.call=function(route,params){if(this.useAJAXFallback)return sendAJAXFallbackRequest(route,params);var compressedParams,data,attemptedCompressedPathVariable=!1,fallbackRoute=route,fallbackParams=$.extend({},params);if("string"!=typeof route||!route.match(/^\//)&&!route.match(/^http/))throw new Error("Invalid route");WPGMZA.RestAPI.URL.match(/\/$/)&&(route=route.replace(/^\//,"")),params=params||{},this.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_REST),params.error||(params.error=function(xhr,status,message){if("abort"!=status){switch(xhr.status){case 401:case 403:case 405:return($.post(WPGMZA.ajaxurl,{action:"wpgmza_report_rest_api_blocked"},function(response){}),console.warn("The REST API was blocked. This is usually due to security plugins blocking REST requests for non-authenticated users."),"DELETE"===params.method)?(console.warn("The REST API rejected a DELETE request, attempting again with POST fallback"),params.method="POST",params.data||(params.data={}),params.data.simulateDelete="yes",WPGMZA.restAPI.call(route,params)):(this.useAJAXFallback=!0,sendAJAXFallbackRequest(fallbackRoute,fallbackParams));case 414:if(attemptedCompressedPathVariable)return fallbackParams.method="POST",fallbackParams.useCompressedPathVariable=!1,WPGMZA.restAPI.call(fallbackRoute,fallbackParams)}throw new Error(message)}}),params.useCompressedPathVariable&&this.isCompressedPathVariableSupported&&this.isCompressedPathVariableAllowed&&(compressedParams=$.extend({},params),data=params.data,data=this.compressParams(data),WPGMZA.isServerIIS&&(data=data.replace(/\+/g,"%20")),data=route.replace(/\/$/,"")+"/base64"+data,WPGMZA.RestAPI.URL,compressedParams.method="GET",delete compressedParams.data,!1===params.cache&&(compressedParams.data={skip_cache:1}),data.length<this.maxURLLength?(attemptedCompressedPathVariable=!0,route=data,params=compressedParams):(WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed||console.warn("Compressed path variable route would exceed URL length limit"),WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed=!0));var onSuccess=null;return params.success&&(onSuccess=params.success),params.success=function(result,status,xhr){if("object"!=typeof result){var rawResult=result;try{result=JSON.parse(result)}catch(parseExc){result=rawResult}}onSuccess&&"function"==typeof onSuccess&&onSuccess(result,status,xhr)},WPGMZA.RestAPI.URL.match(/\?/)&&(route=route.replace(/\?/,"&")),$.ajax(WPGMZA.RestAPI.URL+route,params)};var nativeCallFunction=WPGMZA.RestAPI.call;WPGMZA.RestAPI.call=function(){console.warn("WPGMZA.RestAPI.call was called statically, did you mean to call the function on WPGMZA.restAPI?"),nativeCallFunction.apply(this,arguments)},$(document.body).on("click","#wpgmza-rest-api-blocked button.notice-dismiss",function(event){WPGMZA.restAPI.call("/rest-api/",{method:"POST",data:{dismiss_blocked_notice:!0}})})});var $_GET={};if(-1!==document.location.toString().indexOf("?"))for(var query=document.location.toString().replace(/^.*?\?/,"").replace(/#.*$/,"").split("&"),wpgmza_i=0,wpgmza_l=query.length;wpgmza_i<wpgmza_l;wpgmza_i++){var aux=decodeURIComponent(query[wpgmza_i]).split("=");$_GET[aux[0]]=aux[1]}jQuery(function($){WPGMZA.SettingsPage=function(){var self=this;this._keypressHistory=[],this._codemirrors={},this.updateEngineSpecificControls(),this.updateStorageControls(),this.updateBatchControls(),this.updateGDPRControls(),this.updateWooControls(),$(window).on("keypress",function(event){self.onKeyPress(event)}),jQuery("body").on("click",".wpgmza_destroy_data",function(e){e.preventDefault();var ttype=jQuery(this).attr("danger"),e="wpgmza_destroy_all_data"==ttype?"Are you sure? This will delete ALL data and settings for WP Go Maps!":"Are you sure?";window.confirm(e)&&jQuery.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_settings_danger_zone_delete_data",type:ttype,nonce:wpgmza_dz_nonce},success:function(response,status,xhr){"wpgmza_destroy_all_data"==ttype?window.location.replace("admin.php?page=wp-google-maps-menu&action=welcome_page"):"wpgmza_reset_all_settings"==ttype?window.location.reload():alert("Complete.")}})}),$("select[name='wpgmza_maps_engine']").on("change",function(event){self.updateEngineSpecificControls()}),$('[name="wpgmza_settings_marker_pull"]').on("click",function(event){self.updateStorageControls()}),$('input[name="enable_batch_loading"]').on("change",function(event){self.updateBatchControls()}),$("input[name='wpgmza_gdpr_require_consent_before_load'], input[name='wpgmza_gdpr_require_consent_before_vgm_submit'], input[name='wpgmza_gdpr_override_notice']").on("change",function(event){self.updateGDPRControls()}),$('input[name="woo_checkout_map_enabled"]').on("change",function(event){self.updateWooControls()}),$('select[name="tile_server_url"]').on("change",function(event){"custom_override"===$('select[name="tile_server_url"]').val()?$(".wpgmza_tile_server_override_component").removeClass("wpgmza-hidden"):$(".wpgmza_tile_server_override_component").addClass("wpgmza-hidden")}),$('select[name="tile_server_url"]').trigger("change"),jQuery("#wpgmza_flush_cache_btn").on("click",function(){jQuery(this).attr("disabled","disabled"),WPGMZA.settingsPage.flushGeocodeCache()}),$("#wpgmza-global-settings").tabs({create:function(event,ui){var elmnt,y;void 0!==$_GET.highlight&&((elmnt=document.getElementById($_GET.highlight)).classList.add("highlight-item"),setTimeout(function(){elmnt.classList.add("highlight-item-step-2")},1e3),y=elmnt.getBoundingClientRect().top+window.pageYOffset+-100,window.scrollTo({top:y,behavior:"smooth"}))},activate:function(){for(var i in self._codemirrors)self._codemirrors[i].refresh()}}),$("#wpgmza-global-setting").on("create",function(event,ui){}),$("#wpgmza-global-settings fieldset").each(function(index,el){$(el).children(":not(legend)").wrapAll("<span class='settings-group'></span>")}),$("textarea[name^='wpgmza_custom_']").each(function(){var name=$(this).attr("name"),type="js"===name.replace("wpgmza_custom_","")?"javascript":"css";self._codemirrors[name]=wp.CodeMirror.fromTextArea(this,{lineNumbers:!0,mode:type,theme:"wpgmza"}),self._codemirrors[name].on("change",function(instance){instance.save()}),self._codemirrors[name].refresh()}),$(".wpgmza-integration-tool-button").on("click",function(event){event.preventDefault();event=$(this).data("tool-type");if(event){event={type:event};const button=$(this);button.attr("disabled","disabled"),WPGMZA.restAPI.call("/integration-tools/",{method:"POST",data:event,success:function(data,status,xhr){if(button.removeAttr("disabled"),data&&data.type)switch(data.type){case"test_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').addClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').removeClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;case"resolve_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').removeClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').addClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;default:data.message&&window.alert(data.message)}}})}})},WPGMZA.SettingsPage.createInstance=function(){return new WPGMZA.SettingsPage},WPGMZA.SettingsPage.prototype.updateEngineSpecificControls=function(){var engine=$("select[name='wpgmza_maps_engine']").val();$("[data-required-maps-engine][data-required-maps-engine!='"+engine+"']").hide(),$("[data-required-maps-engine='"+engine+"']").show()},WPGMZA.SettingsPage.prototype.updateStorageControls=function(){$("input[name='wpgmza_settings_marker_pull'][value='1']").is(":checked")?$("#xml-cache-settings").show():$("#xml-cache-settings").hide()},WPGMZA.SettingsPage.prototype.updateBatchControls=function(){$("input[name='enable_batch_loading']").is(":checked")?$("#batch-loader-settings").show():$("#batch-loader-settings").hide()},WPGMZA.SettingsPage.prototype.updateGDPRControls=function(){var showNoticeControls=$("input[name='wpgmza_gdpr_require_consent_before_load']").prop("checked"),vgmCheckbox=$("input[name='wpgmza_gdpr_require_consent_before_vgm_submit']"),vgmCheckbox=(showNoticeControls=vgmCheckbox.length?showNoticeControls||vgmCheckbox.prop("checked"):showNoticeControls)&&$("input[name='wpgmza_gdpr_override_notice']").prop("checked");showNoticeControls?$("#wpgmza-gdpr-compliance-notice").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza-gdpr-compliance-notice").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow"),vgmCheckbox?$("#wpgmza_gdpr_override_notice_text").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza_gdpr_override_notice_text").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow")},WPGMZA.SettingsPage.prototype.updateWooControls=function(){$("input[name='woo_checkout_map_enabled']").prop("checked")?$(".woo-checkout-maps-select-row").show():$(".woo-checkout-maps-select-row").hide()},WPGMZA.SettingsPage.prototype.flushGeocodeCache=function(){(new WPGMZA.OLGeocoder).clearCache(function(response){jQuery("#wpgmza_flush_cache_btn").removeAttr("disabled")})},WPGMZA.SettingsPage.prototype.onKeyPress=function(event){this._keypressHistory.push(event.key),9<this._keypressHistory.length&&(this._keypressHistory=this._keypressHistory.slice(this._keypressHistory.length-9)),"codecabin"!=this._keypressHistory.join("")||this._developerModeRevealed||($("fieldset#wpgmza-developer-mode").show(),this._developerModeRevealed=!0)},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.settingsPage=WPGMZA.SettingsPage.createInstance())})}),jQuery(function($){var Parent=WPGMZA.Feature;WPGMZA.Shape=function(options,engineFeature){var self=this;WPGMZA.assertInstanceOf(this,"Shape"),Parent.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.extend(WPGMZA.Shape,WPGMZA.Feature),WPGMZA.Shape.BASE_LAYER_INDEX=99999,WPGMZA.Shape.prototype.onAdded=function(){}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Circle=function(options,engineCircle){WPGMZA.assertInstanceOf(this,"Circle"),this.center=new WPGMZA.LatLng,this.radius=100,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Circle,Parent),Object.defineProperty(WPGMZA.Circle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Circle.createInstance=function(options,engineCircle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProCircle;break}constructor=WPGMZA.OLCircle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProCircle;break}constructor=WPGMZA.GoogleCircle}return new constructor(options,engineCircle)},WPGMZA.Circle.prototype.getCenter=function(){return this.center.clone()},WPGMZA.Circle.prototype.setCenter=function(latLng){this.center.lat=latLng.lat,this.center.lng=latLng.lng},WPGMZA.Circle.prototype.getRadius=function(){return this.radius},WPGMZA.Circle.prototype.setRadius=function(radius){this.radius=radius},WPGMZA.Circle.prototype.getMap=function(){return this.map},WPGMZA.Circle.prototype.setMap=function(map){this.map&&this.map.removeCircle(this),map&&map.addCircle(this)}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Rectangle=function(options,engineRectangle){WPGMZA.assertInstanceOf(this,"Rectangle"),this.name="",this.cornerA=new WPGMZA.LatLng,this.cornerB=new WPGMZA.LatLng,this.color="#ff0000",this.opacity=.5,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Rectangle,Parent),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Rectangle.createInstance=function(options,engineRectangle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProRectangle;break}constructor=WPGMZA.OLRectangle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProRectangle;break}constructor=WPGMZA.GoogleRectangle}return new constructor(options,engineRectangle)}}),jQuery(function($){WPGMZA.SidebarGroupings=function(){var self=this;this.element=document.body,this.actionBar={element:$(this.element).find(".action-bar"),dynamicAction:null,dynamicLabel:""},$(this.element).on("click",".grouping .item",function(event){self.openTab(event),$(this).hasClass("caret-right")&&self.intelliFeaturePanel()}),$(".quick-actions .actions").on("click",".icon",function(event){var feature=$(this).data("type");feature&&(self.openTabByFeatureType(feature),$(".quick-actions #qa-add-datasets").prop("checked",!1))}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-edit",function(event){event.feature&&self.openTabByFeatureType(event.feature)}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-saved",function(event){event.feature&&self.closeCurrent()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-busy",function(event){self.resetScroll()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-created",function(event){}),$(this.element).find(".fieldset-toggle").on("click",function(event){$(this).toggleClass("toggled")}),$(this.element).on("click",".wpgmza-toolbar .wpgmza-toolbar-list > *",function(event){$(this).parent().parent().find("label").click()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-feature-caption-loaded",function(event){self.actionBar.dynamicAction&&(self.actionBar.dynamicLabel=self.actionBar.dynamicAction.text(),self.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(self.actionBar.dynamicLabel))}),this.actionBar.element.find(".dynamic-action").on("click",function(event){self.actionBar.dynamicAction&&self.actionBar.dynamicAction.click()}),this.initUpsellBlocks()},WPGMZA.extend(WPGMZA.SidebarGroupings,WPGMZA.EventDispatcher),WPGMZA.SidebarGroupings.createInstance=function(){return new WPGMZA.SidebarGroupings},WPGMZA.SidebarGroupings.prototype.openTab=function(event){event=event.currentTarget,event=$(event).data("group");this.openTabByGroupId(event),WPGMZA.mapEditPage&&WPGMZA.mapEditPage.map&&WPGMZA.mapEditPage.map.onElementResized()},WPGMZA.SidebarGroupings.prototype.openTabByFeatureType=function(feature){0<$(this.element).find('.grouping[data-feature="'+feature+'"]').length&&(feature=$(this.element).find('.grouping[data-feature="'+feature+'"]').data("group"),this.openTabByGroupId(feature))},WPGMZA.SidebarGroupings.prototype.openTabByGroupId=function(groupId){var element;groupId&&this.hasGroup(groupId)&&(this.closeAll(),(element=$(this.element).find('.grouping[data-group="'+groupId+'"]')).addClass("open"),element.data("feature-discard")&&$(element).trigger("feature-block-closed"),0<$(".wpgmza-map-settings-form").find(element).length?$(".wpgmza-map-settings-form").removeClass("wpgmza-hidden"):$(".wpgmza-map-settings-form").addClass("wpgmza-hidden"),element.hasClass("auto-expand")?$(".sidebar").addClass("expanded"):$(".sidebar").removeClass("expanded"),element.data("feature")&&$(element).trigger("feature-block-opened"),$(element).trigger("grouping-opened",[groupId]),this.updateActionBar(element))},WPGMZA.SidebarGroupings.prototype.hasGroup=function(groupId){return 0<$(this.element).find('.grouping[data-group="'+groupId+'"]').length},WPGMZA.SidebarGroupings.prototype.closeAll=function(){var self=this;$(this.element).find(".grouping.open").each(function(){var group=$(this).data("group");group&&$(self.element).trigger("grouping-closed",[group])}),$(this.element).find(".grouping").removeClass("open")},WPGMZA.SidebarGroupings.prototype.closeCurrent=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open").find(".heading.has-back .item").click()},WPGMZA.SidebarGroupings.prototype.updateActionBar=function(element){this.actionBar.dynamicAction=null,element&&element.data("feature")&&0<element.find(".wpgmza-save-feature").length&&(this.actionBar.dynamicAction=element.find(".wpgmza-save-feature").first(),this.actionBar.dynamicLabel=this.actionBar.dynamicAction.text().trim()),this.actionBar.dynamicAction&&this.actionBar.dynamicAction.addClass("wpgmza-hidden"),this.actionBar.dynamicAction&&this.actionBar.dynamicLabel?(this.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(this.actionBar.dynamicLabel),this.actionBar.element.find(".static-action").addClass("wpgmza-hidden")):(this.actionBar.element.find(".static-action").removeClass("wpgmza-hidden"),this.actionBar.element.find(".dynamic-action").addClass("wpgmza-hidden").text(""))},WPGMZA.SidebarGroupings.prototype.resetScroll=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open .settings").scrollTop(0)},WPGMZA.SidebarGroupings.prototype.intelliFeaturePanel=function(){if(WPGMZA.mapEditPage&&WPGMZA.mapEditPage.map&&WPGMZA.mapEditPage.map.markersPlaced){const element=$(this.element).find(".grouping.open");var feature,map=WPGMZA.mapEditPage.map;0<element.find("*[data-wpgmza-table]").length&&(feature=element.find("*[data-wpgmza-table]").data("wpgmza-feature-type"))&&map[feature=WPGMZA.pluralize(feature)]&&0===map[feature].length&&element.find(".navigation .item:first-child").click()}},WPGMZA.SidebarGroupings.prototype.initUpsellBlocks=function(){var upsellWrappers=$(this.element).find(".upsell-block.auto-rotate");if(upsellWrappers&&0<upsellWrappers.length)for(var currentWrapper of upsellWrappers)1<(currentWrapper=$(currentWrapper)).find(".upsell-block-card").length?(currentWrapper.addClass("rotate"),currentWrapper.on("wpgmza-upsell-rotate-card",function(){var cardLength=$(this).find(".upsell-block-card").length;$(this).find(".upsell-block-card").hide();let nextCard=parseInt(Math.random()*cardLength),nextCardElem=(nextCard<0?nextCard=0:nextCard>=cardLength&&(nextCard=cardLength-1),$(this).find(".upsell-block-card:nth-child("+(nextCard+1)+")"));0<nextCardElem.length&&!nextCardElem.hasClass("active")?($(this).find(".upsell-block-card").removeClass("active"),nextCardElem.addClass("active"),nextCardElem.fadeIn(200)):nextCardElem.show(),setTimeout(()=>{$(this).trigger("wpgmza-upsell-rotate-card")},1e4)}),currentWrapper.trigger("wpgmza-upsell-rotate-card")):currentWrapper.addClass("static")}}),jQuery(function($){WPGMZA.StoreLocator=function(map,element){var self=this;WPGMZA.EventDispatcher.call(this),this._center=null,this.map=map,this.element=element,this.state=WPGMZA.StoreLocator.STATE_INITIAL,this.distanceUnits=this.map.settings.store_locator_distance,this.addressInput=WPGMZA.AddressInput.createInstance(this.addressElement,this.map),$(element).find(".wpgmza-not-found-msg").hide(),this.radiusElement&&this.map.settings.wpgmza_store_locator_default_radius&&(this.radiusElement.data("default-override")||0<this.radiusElement.find("option[value='"+this.map.settings.wpgmza_store_locator_default_radius+"']").length&&this.radiusElement.val(this.map.settings.wpgmza_store_locator_default_radius)),this.map.on("storelocatorgeocodecomplete",function(event){self.onGeocodeComplete(event)}),this.map.on("init",function(event){self.map.markerFilter.on("filteringcomplete",function(event){self.onFilteringComplete(event)}),!WPGMZA.InternalEngine.isLegacy()||void 0!==self.map.settings.store_locator_style&&"modern"!=self.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style||"default"!==WPGMZA.settings.user_interface_style&&"modern"!=WPGMZA.settings.user_interface_style&&"legacy"!=WPGMZA.settings.user_interface_style||(self.legacyModernAdapter=WPGMZA.ModernStoreLocator.createInstance(map.id))}),WPGMZA.InternalEngine.isLegacy()?($(document.body).on("click",".wpgmza_sl_search_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_search_button",function(event){self.onSearch(event)}),$(document.body).on("click",".wpgmza_sl_reset_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_reset_button_div",function(event){self.onReset(event)})):($(this.searchButton).on("click",function(event){self.onSearch(event)}),$(this.resetButton).on("click",function(event){self.onReset(event)})),$(this.addressElement).on("keypress",function(event){13==event.which&&self.onSearch(event)}),this.onQueryParamSearch(),self.trigger("init.storelocator")},WPGMZA.StoreLocator.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.StoreLocator.prototype.constructor=WPGMZA.StoreLocator,WPGMZA.StoreLocator.STATE_INITIAL="initial",WPGMZA.StoreLocator.STATE_APPLIED="applied",WPGMZA.StoreLocator.createInstance=function(map,element){return new WPGMZA.StoreLocator(map,element)},Object.defineProperty(WPGMZA.StoreLocator.prototype,"address",{get:function(){return $(this.addressElement).val()}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"addressElement",{get:function(){return(this.legacyModernAdapter?$(this.legacyModernAdapter.element):$(this.element)).find("input.wpgmza-address")[0]}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"countryRestriction",{get:function(){return this.map.settings.wpgmza_store_locator_restrict}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radiusElement",{get:function(){return WPGMZA.InternalEngine.isLegacy()?$("#radiusSelect, #radiusSelect_"+this.map.id):$(this.element).find("select.wpgmza-radius")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"searchButton",{get:function(){return $(this.element).find(".wpgmza-search")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"resetButton",{get:function(){return $(this.element).find(".wpgmza-reset")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"errorElement",{get:function(){return $(this.element).find(".wpgmza-error")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radius",{get:function(){return parseFloat(this.radiusElement.val())}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"center",{get:function(){return this._center}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"bounds",{get:function(){return this._bounds}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"marker",{get:function(){if(1!=this.map.settings.store_locator_bounce)return null;if(this._marker)return this._marker;return this._marker=WPGMZA.Marker.createInstance({visible:!1}),this._marker.disableInfoWindow=!0,this._marker.isFilterable=!1,this._marker.setAnimation(WPGMZA.Marker.ANIMATION_BOUNCE),this._marker}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"circle",{get:function(){return this._circle||("modern"!=this.map.settings.wpgmza_store_locator_radius_style||WPGMZA.isDeviceiOS()?this._circle=WPGMZA.Circle.createInstance({strokeColor:"#ff0000",strokeOpacity:"0.25",strokeWeight:2,fillColor:"#ff0000",fillOpacity:"0.15",visible:!1,clickable:!1,center:new WPGMZA.LatLng}):(this._circle=WPGMZA.ModernStoreLocatorCircle.createInstance(this.map.id),this._circle.settings.color=this.circleStrokeColor),this._circle)}}),WPGMZA.StoreLocator.prototype.onGeocodeComplete=function(event){if(!event.results||!event.results.length)return this._center=null,void(this._bounds=null);event.results[0].latLng?this._center=new WPGMZA.LatLng(event.results[0].latLng):event.results[0]instanceof WPGMZA.LatLng&&(this._center=new WPGMZA.LatLng(event.results[0])),this._bounds=new WPGMZA.LatLngBounds(event.results[0].bounds),this.isCapsule?this.redirectUrl&&this.onRedirectSearch():this.map.markerFilter.update({},this)},WPGMZA.StoreLocator.prototype.onSearch=function(event){var geocoder,options,self=this;return this.state=WPGMZA.StoreLocator.STATE_APPLIED,this.address&&this.address.length?(WPGMZA.InternalEngine.isLegacy()&&void 0!==this.map.settings.store_locator_style&&"modern"!==this.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style&&"default"===WPGMZA.settings.user_interface_style&&WPGMZA.animateScroll(this.map.element),$(this.element).find(".wpgmza-not-found-msg").hide(),$(this.element).find(".wpgmza-error").removeClass("visible"),this.setVisualState("busy"),WPGMZA.LatLng.isLatLngString(this.address)?callback([WPGMZA.LatLng.fromString(this.address)],WPGMZA.Geocoder.SUCCESS):(geocoder=WPGMZA.Geocoder.createInstance(),options={address:this.address},this.countryRestriction&&(options.country=this.countryRestriction),geocoder.geocode(options,function(results,status){status==WPGMZA.Geocoder.SUCCESS?callback(results,status):WPGMZA.InternalEngine.isLegacy()?alert(WPGMZA.localized_strings.address_not_found):(self.showError(WPGMZA.localized_strings.address_not_found),self.setVisualState(!1))})),self.trigger("search.storelocator"),!0):(this.addressElement.focus(),!1);function callback(results,status){self.map.trigger({type:"storelocatorgeocodecomplete",results:results,status:status}),self.setVisualState("complete")}},WPGMZA.StoreLocator.prototype.onReset=function(event){this.state=WPGMZA.StoreLocator.STATE_INITIAL,this._center=null,this._bounds=null,this.map.setZoom(this.map.settings.map_start_zoom),$(this.element).find(".wpgmza-not-found-msg").hide(),this.circle&&this.circle.setVisible(!1),this.marker&&this.marker.map&&this.map.removeMarker(this.marker),this.map.markerFilter.update({},this),this.setVisualState(!1),WPGMZA.InternalEngine.isLegacy()||$(this.addressElement).val("").focus(),this.trigger("reset.storelocator")},WPGMZA.StoreLocator.prototype.onRedirectSearch=function(){if(this.redirectUrl)try{var data={radius:this.radius,center:this.center.lat+","+this.center.lng};const params=new URLSearchParams(data);window.location.href=this.redirectUrl+"?"+params.toString(),this.setVisualState("busy")}catch(ex){console.warn(ex)}},WPGMZA.StoreLocator.prototype.getFilteringParameters=function(){return this.center?{center:this.center,radius:this.radius}:{}},WPGMZA.StoreLocator.prototype.getZoomFromRadius=function(radius){return this.distanceUnits==WPGMZA.Distance.MILES&&(radius*=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(14-Math.log(radius)/Math.LN2)},WPGMZA.StoreLocator.prototype.onFilteringComplete=function(event){var factor,params=event.filteringParams,marker=this.marker,marker=(marker&&marker.setVisible(!1),params.center&&(this.map.setCenter(params.center),marker&&(marker.setPosition(params.center),marker.setVisible(!0),marker.map!=this.map&&this.map.addMarker(marker))),params.radius&&this.map.setZoom(this.getZoomFromRadius(params.radius)),this.circle);marker&&(marker.setVisible(!1),factor=this.distanceUnits==WPGMZA.Distance.MILES?WPGMZA.Distance.KILOMETERS_PER_MILE:1,params.center&&params.radius&&(marker.setRadius(params.radius*factor),marker.setCenter(params.center),marker.setVisible(!0),marker instanceof WPGMZA.ModernStoreLocatorCircle||marker.map==this.map||this.map.addCircle(marker)),marker instanceof WPGMZA.ModernStoreLocatorCircle&&(marker.settings.radiusString=this.radius)),0==event.filteredMarkers.length&&this.state===WPGMZA.StoreLocator.STATE_APPLIED&&(WPGMZA.InternalEngine.isLegacy()?0<$(this.element).find(".wpgmza-no-results").length&&"legacy"===WPGMZA.settings.user_interface_style?$(this.element).find(".wpgmza-no-results").show():alert(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results):this.showError(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results))},WPGMZA.StoreLocator.prototype.onQueryParamSearch=function(){var queryCenter=WPGMZA.getQueryParamValue("center"),queryRadius=(queryCenter&&$(this.addressElement).val(queryCenter),WPGMZA.getQueryParamValue("radius"));queryRadius&&$(this.radiusElement).val(queryRadius),!this.isCapsule&&queryRadius&&queryCenter&&this.map.on("init",()=>{this.onSearch()})},WPGMZA.StoreLocator.prototype.setVisualState=function(state){!1!==state?$(this.element).attr("data-state",state):$(this.element).removeAttr("data-state")},WPGMZA.StoreLocator.prototype.showError=function(error){var self=this;WPGMZA.InternalEngine.isLegacy()||($(this.errorElement).text(error).addClass("visible"),setTimeout(function(){$(self.errorElement).text("").removeClass("visible")},3e3))}}),jQuery(function($){WPGMZA.StylingPage=function(){var self=this;this.element=document.body,this.styleGuide={wrapper:$(this.element).find(".wpgmza-styling-map-preview .wpgmza-style-guide-wrapper")},this.controls={},$(this.element).find(".wpgmza-styling-editor fieldset").each(function(){self.prepareControl(this)}),$(this.element).find(".wpgmza-styling-preset-select").on("change",function(){self.applyPreset(this)}),this.bindEvents(),this.parseUserPreset()},WPGMZA.StylingPage.PRESETS={},WPGMZA.StylingPage.PRESETS.default={"--wpgmza-component-color":"#ffffff","--wpgmza-component-text-color":"#000000","--wpgmza-component-color-accent":"#1A73E8","--wpgmza-component-text-color-accent":"#ffffff","--wpgmza-color-grey-500":"#bfbfbf","--wpgmza-component-border-radius":"2px","--wpgmza-component-font-size":"15px","--wpgmza-component-backdrop-filter":"none"},WPGMZA.StylingPage.PRESETS.glass={"--wpgmza-component-color":"rgba(255, 255, 255, 0.3)","--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"8px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":"blur(20px)"},WPGMZA.StylingPage.PRESETS.rounded={"--wpgmza-component-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color"],"--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"20px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-backdrop-filter"]},WPGMZA.StylingPage.createInstance=function(){return new WPGMZA.StylingPage},WPGMZA.StylingPage.prototype.prepareControl=function(element){var element=$(element),input=element.find("input"),name=input.attr("name");if(""!==name.trim()){this.controls[name]={container:element,input:input};element=0<this.controls[name].input.length&&this.controls[name].input.get(0);if(element)if(element.wpgmzaColorInput){const colorInput=element.wpgmzaColorInput;colorInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),colorInput.container.prepend(this.controls[name].resetButton),colorInput.container.addClass("wpgmza-styling-editor-contains-reset"))}else if(element.wpgmzaCSSUnitInput){const unitInput=element.wpgmzaCSSUnitInput;unitInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),unitInput.container.prepend(this.controls[name].resetButton),unitInput.container.addClass("wpgmza-styling-editor-contains-reset"))}this.resetControl(this.controls[name])}},WPGMZA.StylingPage.prototype.bindEvents=function(){var name,self=this;for(name in this.controls)this.controls[name].input.on("change",function(){self.updateControl(this)});this.styleGuide.steps=this.styleGuide.wrapper.find(".wpgmza-style-guide-step").length,this.styleGuide.index=0,this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .prev-btn").on("click",function(){--self.styleGuide.index,self.styleGuide.index<0&&(self.styleGuide.index=self.styleGuide.steps-1),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .next-btn").on("click",function(){self.styleGuide.index+=1,self.styleGuide.index>=self.styleGuide.steps&&(self.styleGuide.index=0),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.on("update-view",function(){self.styleGuide.wrapper.find(".wpgmza-style-guide-step").removeClass("active"),self.styleGuide.wrapper.find(".wpgmza-style-guide-step:nth-child("+(self.styleGuide.index+1)+")").addClass("active")}),$(document.body).on("click",".wpgmza-styling-editor-reset-btn",function(){$(this);var field=$(this).data("reset-control-name");field&&self.controls[field]&&self.resetControl(self.controls[field])})},WPGMZA.StylingPage.prototype.updateControl=function(input){var name=$(input).attr("name");name&&-1!==name.indexOf("--")&&$(".wpgmza-styling-preview-wrap .wpgmza_map").css(name,$(input).val())},WPGMZA.StylingPage.prototype.resetControl=function(control){var name=control.input.attr("name");if(name&&-1!==name.indexOf("--")&&(name=$(":root").css(name))){var name=name.trim(),activeInput=0<control.input.length&&control.input.get(0);if(activeInput)if(activeInput.wpgmzaColorInput){const colorInput=activeInput.wpgmzaColorInput;colorInput.parseColor(name)}else if(activeInput.wpgmzaCSSUnitInput){const unitInput=activeInput.wpgmzaCSSUnitInput;unitInput.parseUnits(name)}else if(activeInput.wpgmzaCSSBackdropFilterInput){const backdropInput=activeInput.wpgmzaCSSBackdropFilterInput;backdropInput.parseFilters(name)}else control.input.val(name)}},WPGMZA.StylingPage.prototype.parseUserPreset=function(){WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length&&(WPGMZA.StylingPage.PRESETS.user=WPGMZA.stylingSettings,$(".wpgmza-styling-preset-select").append("<option value='user'>User Defined</option>"),$(".wpgmza-styling-preset-select").val("user").trigger("change"))},WPGMZA.StylingPage.prototype.applyPreset=function(element){element=(element=$(element)).val();if(element&&WPGMZA.StylingPage.PRESETS[element]){var fieldName,preset=WPGMZA.StylingPage.PRESETS[element];for(fieldName in preset){var fieldValue=preset[fieldName];let field=$(this.element).find('input[name="'+fieldName+'"]');0<field.length&&((field=field.get(0)).wpgmzaColorInput?field.wpgmzaColorInput.parseColor(fieldValue):field.wpgmzaCSSUnitInput?field.wpgmzaCSSUnitInput.parseUnits(fieldValue):field.wpgmzaCSSBackdropFilterInput?field.wpgmzaCSSBackdropFilterInput.parseFilters(fieldValue):($(field).val(fieldValue),$(field).trigger("change")))}}},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.stylingPage=WPGMZA.StylingPage.createInstance())})}),jQuery(function($){WPGMZA.SupportPage=function(){$(".support-page").tabs(),$(".wpgmza-copy-sysinfo").on("click",function(){var info=$(".system-info").text();if(info.length){const temp=jQuery("<textarea>");$(document.body).append(temp),temp.val(info).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Info Copied")}})},WPGMZA.SupportPage.createInstance=function(){return new WPGMZA.SupportPage},$(document).ready(function(event){WPGMZA.getCurrentPage()===WPGMZA.PAGE_SUPPORT&&(WPGMZA.supportPage=WPGMZA.SupportPage.createInstance())})}),jQuery(function($){WPGMZA.Text=function(options){if(options)for(var name in options)this[name]=options[name]},WPGMZA.Text.createInstance=function(options){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleText:WPGMZA.OLText)(options)},WPGMZA.Text.prototype.setPosition=function(position){this.overlay&&this.overlay.setPosition(position)},WPGMZA.Text.prototype.setText=function(text){this.overlay&&this.overlay.setText(text)},WPGMZA.Text.prototype.setFontSize=function(size){this.overlay&&this.overlay.setFontSize(size)},WPGMZA.Text.prototype.setFillColor=function(color){this.overlay&&this.overlay.setFillColor(color)},WPGMZA.Text.prototype.setLineColor=function(color){this.overlay&&this.overlay.setLineColor(color)},WPGMZA.Text.prototype.setOpacity=function(opacity){this.overlay&&this.overlay.setOpacity(opacity)},WPGMZA.Text.prototype.remove=function(){this.overlay&&this.overlay.remove()},WPGMZA.Text.prototype.refresh=function(){}}),jQuery(function($){WPGMZA.ThemeEditor=function(){if(WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-theme-editor"),"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemeEditor=new WPGMZA.OLThemeEditor);this.element.length?(this.json=[{}],this.mapElement=WPGMZA.maps[0].element,this.element.appendTo("#wpgmza-map-theme-editor__holder"),$(window).on("scroll",function(event){}),setInterval(function(){},200),this.initHTML(),WPGMZA.themeEditor=this):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.ThemeEditor,WPGMZA.EventDispatcher),WPGMZA.ThemeEditor.prototype.updatePosition=function(){},WPGMZA.ThemeEditor.features={all:[],administrative:["country","land_parcel","locality","neighborhood","province"],landscape:["man_made","natural","natural.landcover","natural.terrain"],poi:["attraction","business","government","medical","park","place_of_worship","school","sports_complex"],road:["arterial","highway","highway.controlled_access","local"],transit:["line","station","station.airport","station.bus","station.rail"],water:[]},WPGMZA.ThemeEditor.elements={all:[],geometry:["fill","stroke"],labels:["icon","text","text.fill","text.stroke"]},WPGMZA.ThemeEditor.prototype.parse=function(){$("#wpgmza_theme_editor_feature option, #wpgmza_theme_editor_element option").css("font-weight","normal"),$("#wpgmza_theme_editor_error").hide(),$("#wpgmza_theme_editor").show(),$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val("");var textarea=$('textarea[name="wpgmza_theme_data"]');if(this.refreshColorInputs(),!textarea.val()||textarea.val().length<1)this.json=[{}];else{try{this.json=$.parseJSON($('textarea[name="wpgmza_theme_data"]').val())}catch(e){return this.json=[{}],$("#wpgmza_theme_editor").hide(),void $("#wpgmza_theme_editor_error").show()}$.isArray(this.json)||(textarea=this.json,this.json=[],this.json.push(textarea)),this.highlightFeatures(),this.highlightElements(),this.loadElementStylers()}},WPGMZA.ThemeEditor.prototype.highlightFeatures=function(){$("#wpgmza_theme_editor_feature option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")?$('#wpgmza_theme_editor_feature option[value="'+v.featureType+'"]'):$('#wpgmza_theme_editor_feature option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.highlightElements=function(){var feature=$("#wpgmza_theme_editor_feature").val();$("#wpgmza_theme_editor_element option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")?$('#wpgmza_theme_editor_element option[value="'+v.elementType+'"]'):$('#wpgmza_theme_editor_element option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.loadElementStylers=function(){var feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val();$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val(""),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&v.hasOwnProperty("stylers")&&$.isArray(v.stylers)&&0<v.stylers.length&&$.each(v.stylers,function(ii,vv){vv.hasOwnProperty("hue")&&($("#wpgmza_theme_editor_do_hue").prop("checked",!0),$("#wpgmza_theme_editor_hue").val(vv.hue)),vv.hasOwnProperty("lightness")&&$("#wpgmza_theme_editor_lightness").val(vv.lightness),vv.hasOwnProperty("saturation")&&$("#wpgmza_theme_editor_saturation").val(vv.xaturation),vv.hasOwnProperty("gamma")&&$("#wpgmza_theme_editor_gamma").val(vv.gamma),vv.hasOwnProperty("invert_lightness")&&$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!0),vv.hasOwnProperty("visibility")&&$("#wpgmza_theme_editor_visibility").val(vv.visibility),vv.hasOwnProperty("color")&&($("#wpgmza_theme_editor_do_color").prop("checked",!0),$("#wpgmza_theme_editor_color").val(vv.color)),vv.hasOwnProperty("weight")&&$("#wpgmza_theme_editor_weight").val(vv.weight)})}),this.refreshColorInputs()},WPGMZA.ThemeEditor.prototype.writeElementStylers=function(){var new_feature_element_stylers,feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val(),indexJSON=null,stylers=[];"inherit"!=$("#wpgmza_theme_editor_visibility").val()&&stylers.push({visibility:$("#wpgmza_theme_editor_visibility").val()}),!0===$("#wpgmza_theme_editor_do_color").prop("checked")&&stylers.push({color:$("#wpgmza_theme_editor_color").val()}),!0===$("#wpgmza_theme_editor_do_hue").prop("checked")&&stylers.push({hue:$("#wpgmza_theme_editor_hue").val()}),0<$("#wpgmza_theme_editor_gamma").val().length&&stylers.push({gamma:parseFloat($("#wpgmza_theme_editor_gamma").val())}),0<$("#wpgmza_theme_editor_weight").val().length&&stylers.push({weight:parseFloat($("#wpgmza_theme_editor_weight").val())}),0<$("#wpgmza_theme_editor_saturation").val().length&&stylers.push({saturation:parseFloat($("#wpgmza_theme_editor_saturation").val())}),0<$("#wpgmza_theme_editor_lightness").val().length&&stylers.push({lightness:parseFloat($("#wpgmza_theme_editor_lightness").val())}),!0===$("#wpgmza_theme_editor_do_invert_lightness").prop("checked")&&stylers.push({invert_lightness:!0}),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&(indexJSON=i)}),null===indexJSON?0<stylers.length&&(new_feature_element_stylers={},"all"!=feature&&(new_feature_element_stylers.featureType=feature),"all"!=element&&(new_feature_element_stylers.elementType=element),new_feature_element_stylers.stylers=stylers,this.json.push(new_feature_element_stylers)):0<stylers.length?this.json[indexJSON].stylers=stylers:this.json.splice(indexJSON,1),$('textarea[name="wpgmza_theme_data"]').val(JSON.stringify(this.json).replace(/:/g,": ").replace(/,/g,", ")),this.highlightFeatures(),this.highlightElements(),WPGMZA.themePanel.updateMapTheme()},WPGMZA.ThemeEditor.prototype.initHTML=function(){var self=this;$.each(WPGMZA.ThemeEditor.features,function(i,v){$("#wpgmza_theme_editor_feature").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_feature").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),$.each(WPGMZA.ThemeEditor.elements,function(i,v){$("#wpgmza_theme_editor_element").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_element").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),this.parse(),$('textarea[name="wpgmza_theme_data"]').on("input selectionchange propertychange",function(){self.parse()}),$(".wpgmza_theme_selection").click(function(){setTimeout(function(){$('textarea[name="wpgmza_theme_data"]').trigger("input")},1e3)}),$("#wpgmza-theme-editor__toggle").click(function(){$("#wpgmza-theme-editor").removeClass("active")}),$("#wpgmza_theme_editor_feature").on("change",function(){self.highlightElements(),self.loadElementStylers()}),$("#wpgmza_theme_editor_element").on("change",function(){self.loadElementStylers()}),$("#wpgmza_theme_editor_do_hue, #wpgmza_theme_editor_hue, #wpgmza_theme_editor_lightness, #wpgmza_theme_editor_saturation, #wpgmza_theme_editor_gamma, #wpgmza_theme_editor_do_invert_lightness, #wpgmza_theme_editor_visibility, #wpgmza_theme_editor_do_color, #wpgmza_theme_editor_color, #wpgmza_theme_editor_weight").on("input selectionchange propertychange",function(){self.writeElementStylers()}),"open-layers"==WPGMZA.settings.engine&&$("#wpgmza_theme_editor :input").prop("disabled",!0)},WPGMZA.ThemeEditor.prototype.refreshColorInputs=function(){$("input#wpgmza_theme_editor_hue,input#wpgmza_theme_editor_color").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor(this.value)})}}),jQuery(function($){WPGMZA.ThemePanel=function(){var self=this;if(this.element=$("#wpgmza-theme-panel"),this.map=WPGMZA.maps[0],"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemePanel=new WPGMZA.OLThemePanel);this.element.length?($("#wpgmza-theme-presets").owlCarousel({items:6,dots:!0}),this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),$("#wpgmza-open-theme-editor").on("click",function(event){$("#wpgmza-map-theme-editor__holder").addClass("active"),$("#wpgmza-theme-editor").addClass("active"),WPGMZA.animateScroll($("#wpgmza-theme-editor"))}),WPGMZA.themePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.ThemePanel.previewImageCenter={lat:33.701806462148646,lng:-118.15949896058983},WPGMZA.ThemePanel.previewImageZoom=11,WPGMZA.ThemePanel.prototype.onThemePresetClick=function(event){var event=$(event.currentTarget).find("[data-theme-json]").attr("data-theme-json"),textarea=$("textarea[name='wpgmza_theme_data']"),existingData=textarea.val(),allPresetData=[];$(this.element).find("[data-theme-json]").each(function(index,el){allPresetData.push($(el).attr("data-theme-json"))}),existingData.length&&-1==allPresetData.indexOf(existingData)&&!confirm(WPGMZA.localized_strings.overwrite_theme_data)||(textarea.val(event),this.updateMapTheme(),WPGMZA.themeEditor.parse())},WPGMZA.ThemePanel.prototype.updateMapTheme=function(){var data;try{data=JSON.parse($("textarea[name='wpgmza_theme_data']").val())}catch(e){return void alert(WPGMZA.localized_strings.invalid_theme_data)}this.map.setOptions({styles:data})}}),jQuery(function($){WPGMZA.Tour=function(element){this.findElements(element),this.bindEvents(),this.prepare(),setTimeout(()=>{this.prompt()},3e3)},WPGMZA.Tour.INPUT_CHANGE_INTERVAL=1500,WPGMZA.Tour.createInstance=function(element){return new WPGMZA.Tour(element)},WPGMZA.Tour.AutoInit=function(){WPGMZA.adminTours={},$(document.body).find(".wpgmza-tour").each(function(index,element){var type=$(element).data("type");WPGMZA.adminTours[type]=WPGMZA.Tour.createInstance(element)})},WPGMZA.Tour.prototype.prepare=function(){this.slug=this.elements.wrapper.data("type"),this.state={running:!1,step:0,steps:this.elements.steps.length||0}},WPGMZA.Tour.prototype.findElements=function(wrapper){this.elements={},this.elements.wrapper=$(wrapper),this.elements.prompt=this.elements.wrapper.find(".wpgmza-tour-prompt"),this.elements.promptAction=this.elements.prompt.find(".wpgmza-tour-prompt-actions .wpgmza-button"),this.elements.steps=this.elements.wrapper.find(".wpgmza-tour-step")},WPGMZA.Tour.prototype.bindEvents=function(){this.elements.promptAction.on("click",event=>{event&&event.currentTarget&&this.onPromptAction(event.currentTarget)}),this.elements.steps.each((i,elem)=>{elem=$(elem).data("anchor");elem&&$(elem).addClass("wpgmza-tour-anchor-link")}),$(document.body).on("click",".wpgmza-tour-next-step-delegate",event=>{event.currentTarget instanceof HTMLInputElement||($(event.currentTarget).data("auto-step")?event.preventDefault():this.next())}),$(document.body).on("keyup",".wpgmza-tour-next-step-delegate",event=>{event.currentTarget instanceof HTMLInputElement&&(event.currentTarget._wpgmzaChangeTimer&&clearTimeout(event.currentTarget._wpgmzaChangeTimer),event.currentTarget._wpgmzaChangeTimer=setTimeout(()=>{this.next()},WPGMZA.Tour.INPUT_CHANGE_INTERVAL))}),$(document.body).on("click",".wpgmza-tour-anchor-link",event=>{this.state.running||(this.stop(),this.dismiss(!0))}),$(document.body).on("click",event=>{this.onFramedClick(event)})},WPGMZA.Tour.prototype.onPromptAction=function(context){context instanceof Element&&("start"===$(context).data("action")?(this.state.running=!0,this.step(0)):(this.stop(),this.dismiss()))},WPGMZA.Tour.prototype.onFramedClick=function(event){if(this.elements.frame&&this.elements.frame.hasClass("active")&&!jQuery.contains(this.elements.wrapper.get(0),event.target)&&!$(event.target).hasClass("wpgmza-tour-next-step-delegate")&&!$(event.target).hasClass("wpgmza-tour-anchor-link")){const boundary=Object.assign({},this._lastFramePlacement);event=event.originalEvent||!1;if(boundary.top&&boundary.left&&event&&event instanceof PointerEvent){boundary.right=boundary.left+boundary.width,boundary.bottom=boundary.top+boundary.height;const mouse_x=event.clientX,mouse_y=event.clientY;let shouldDismiss=!1;(mouse_x<boundary.left||mouse_x>boundary.right)&&(shouldDismiss=!0),(shouldDismiss=mouse_y<boundary.top||mouse_y>boundary.bottom?!0:shouldDismiss)&&(this.stop(),this.dismiss(!0))}else this.stop(),this.dismiss(!0)}},WPGMZA.Tour.prototype.prompt=function(){this.state.running=!1,this.state.step=0,this.elements.steps.removeClass("active"),this.elements.prompt.addClass("active")},WPGMZA.Tour.prototype.stop=function(){this.clearViewport(),this.elements.prompt.removeClass("active"),this.elements.steps.removeClass("active")},WPGMZA.Tour.prototype.step=function(index){if(this.state.running&&(this.state.step=index,this.elements.prompt.removeClass("active"),this.elements.steps.removeClass("active"),$(".wpgmza-tour-next-step-delegate").removeClass("wpgmza-tour-next-step-delegate"),this.elements.steps[this.state.step])){const stepElement=$(this.elements.steps[this.state.step]);index=stepElement.data("anchor");this.frame(index),this._lastFramePlacement&&(stepElement.addClass("active"),stepElement.css({left:this._lastFramePlacement.left+this._lastFramePlacement.width+"px",top:this._lastFramePlacement.top+this._lastFramePlacement.height/2-stepElement.outerHeight()/2+"px"})),$(index).addClass("wpgmza-tour-next-step-delegate"),this._lastAutoStepTimer&&clearTimeout(this._lastAutoStepTimer),stepElement.data("auto-step")&&(this._lastAutoStepTimer=setTimeout(()=>{this.next()},parseInt(stepElement.data("auto-step"))))}},WPGMZA.Tour.prototype.next=function(){if(this.state.running){this.clearViewport();let nextStep=this.state.step+1;var delay;nextStep<this.state.steps?(delay=this.getStepDelay(nextStep))?setTimeout(()=>{this.step(nextStep)},delay):this.step(nextStep):this.complete()}},WPGMZA.Tour.prototype.frame=function(anchor){this.elements.frame||(this.elements.frame=$("<div class='wpgmza-tour-frame'></div>"),this.elements.frame.appendTo(this.elements.wrapper)),this._lastFramePlacement=!1,this.elements.frame.removeClass("active");const anchorElement=document.querySelector(anchor);if(anchorElement){var i,anchor=anchorElement.getBoundingClientRect(),computedStyles=window.getComputedStyle(anchorElement,null);const frameStyle={top:parseInt(anchor.top),left:parseInt(anchor.left),width:parseInt(anchor.width),height:parseInt(anchor.height),borderRadius:0};for(i in this.elements.frame.css("--wpgmza-tour-frame-border-radius","0px"),parseInt(computedStyles["border-radius"])&&(frameStyle.borderRadius=parseInt(computedStyles["border-radius"]),this.elements.frame.css("--wpgmza-tour-frame-border-radius",parseInt(computedStyles["border-radius"])+"px")),this._lastFramePlacement=Object.assign({},frameStyle),frameStyle)frameStyle[i]+="px";this.elements.frame.css(frameStyle),this.elements.frame.addClass("active")}},WPGMZA.Tour.prototype.clearViewport=function(){this.elements.frame&&this.elements.frame.hasClass("active")&&this.elements.frame.removeClass("active"),this.elements.steps.removeClass("active")},WPGMZA.Tour.prototype.getStepDelay=function(index){return $(this.elements.steps[index]).data("step-delay")?parseInt($(this.elements.steps[index]).data("step-delay")):0},WPGMZA.Tour.prototype.dismiss=function(short){if(this.state.complete)return!0;short=!!short;short={action:"wpgmza_tour_progress_update",wpgmza_security:WPGMZA.ajaxnonce,tour:this.slug,type:short?"sleep":"dismiss"};this.request(short,()=>{})},WPGMZA.Tour.prototype.complete=function(){this.state.running=!1,this.state.complete=!0;var data={action:"wpgmza_tour_progress_update",wpgmza_security:WPGMZA.ajaxnonce,tour:this.slug,type:"complete"};this.request(data,()=>{})},WPGMZA.Tour.prototype.request=function(data,complete){"function"!=typeof complete&&(complete=()=>{}),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:data,success:function(response,status,xhr){complete(response)},error:function(){complete()}})},$(document).ready(function(event){WPGMZA.getCurrentPage()&&WPGMZA.Tour.AutoInit()})}),jQuery(function($){WPGMZA.Version=function(){},WPGMZA.Version.GREATER_THAN=1,WPGMZA.Version.EQUAL_TO=0,WPGMZA.Version.LESS_THAN=-1,WPGMZA.Version.compare=function(v1,v2){for(var v1parts=v1.match(/\d+/g),v2parts=v2.match(/\d+/g),i=0;i<v1parts.length;++i){if(v2parts.length===i)return 1;if(v1parts[i]!==v2parts[i])return v1parts[i]>v2parts[i]?1:-1}return v1parts.length!=v2parts.length?-1:0}}),jQuery(function($){WPGMZA.XMLCacheConverter=function(){},WPGMZA.XMLCacheConverter.prototype.convert=function(xml){var markers=[],remap={marker_id:"id",linkd:"link"};return $(xml).find("marker").each(function(index,el){var data={};$(el).children().each(function(j,child){var key=child.nodeName;remap[key]&&(key=remap[key]),child.hasAttribute("data-json")?data[key]=JSON.parse($(child).text()):data[key]=$(child).text()}),markers.push(data)}),markers}}),jQuery(function($){WPGMZA.loadXMLAsWebWorker=function(){function tXml(a,d){function c(){for(var l=[];a[b];){if(60==a.charCodeAt(b)){if(47===a.charCodeAt(b+1)){b=a.indexOf(">",b);break}if(33===a.charCodeAt(b+1)){if(45==a.charCodeAt(b+2)){for(;62!==a.charCodeAt(b)||45!=a.charCodeAt(b-1)||45!=a.charCodeAt(b-2)||-1==b;)b=a.indexOf(">",b+1);-1===b&&(b=a.length)}else for(b+=2;62!==a.charCodeAt(b);)b++;b++;continue}var c=f();l.push(c)}else c=b,-2===(b=a.indexOf("<",b)-1)&&(b=a.length),0<(c=a.slice(c,b+1)).trim().length&&l.push(c);b++}return l}function l(){for(var c=b;-1===g.indexOf(a[b]);)b++;return a.slice(c,b)}function f(){var d={};b++,d.tagName=l();for(var f=!1;62!==a.charCodeAt(b);){if(64<(e=a.charCodeAt(b))&&e<91||96<e&&e<123){for(var h,g=l(),e=a.charCodeAt(b);39!==e&&34!==e&&!(64<e&&e<91||96<e&&e<123)&&62!==e;)b++,e=a.charCodeAt(b);f||(d.attributes={},f=!0),39===e||34===e?(e=a[b],h=++b,b=a.indexOf(e,h),e=a.slice(h,b)):(e=null,b--),d.attributes[g]=e}b++}return 47!==a.charCodeAt(b-1)&&("script"==d.tagName?(f=b+1,b=a.indexOf("<\/script>",b),d.children=[a.slice(f,b-1)],b+=8):"style"==d.tagName?(f=b+1,b=a.indexOf("</style>",b),d.children=[a.slice(f,b-1)],b+=7):-1==k.indexOf(d.tagName)&&(b++,d.children=c())),d}var b,g="\n\t>/= ",k=["img","br","input","meta","link"],h=null;return(d=d||{}).searchId?(-1===(b=new RegExp("s*ids*=s*['\"]"+d.searchId+"['\"]").exec(a).index)||-1!==(b=a.lastIndexOf("<",b))&&(h=f()),b):(b=0,h=c(),d.filter&&(h=tXml.filter(h,d.filter)),d.simplify?tXml.simplefy(h):h)}tXml.simplify=function(a){var c,d={};if(1===a.length&&"string"==typeof a[0])return a[0];for(c in a.forEach(function(a){var c;d[a.tagName]||(d[a.tagName]=[]),"object"==typeof a?(c=tXml.simplefy(a.children),d[a.tagName].push(c),a.attributes&&(c._attributes=a.attributes)):d[a.tagName].push(a)}),d)1==d[c].length&&(d[c]=d[c][0]);return d},tXml.filter=function(a,d){var c=[];return a.forEach(function(a){"object"==typeof a&&d(a)&&c.push(a),a.children&&(a=tXml.filter(a.children,d),c=c.concat(a))}),c},tXml.domToXml=function(a){var c="";return function d(a){if(a)for(var f=0;f<a.length;f++)if("string"==typeof a[f])c+=a[f].trim();else{var g=a[f],k=void(c+="<"+g.tagName);for(k in g.attributes)c=-1===g.attributes[k].indexOf('"')?c+(" "+k+'="'+g.attributes[k].trim())+'"':c+(" "+k+"='"+g.attributes[k].trim())+"'";c+=">",d(g.children),c+="</"+g.tagName+">"}}(O),c},"object"!=typeof window&&(module.exports=tXml);var inputData,totalFiles,worker=self,dataForMainThread=[],filesLoaded=0;function onXMLLoaded(request){4==request.readyState&&200==request.status&&((new Date).getTime(),function(xml){for(var markers=xml[0].children[0],remap={marker_id:"id",linkd:"link"},i=0;i<markers.children.length;i++){var data={};markers.children[i].children.forEach(function(node){var key=node.tagName;remap[key]&&(key=remap[key]),node.attributes["data-json"]?data[key]=JSON.parse(node.children[0]):node.children.length?data[key]=node.children[0]:data[key]=""}),dataForMainThread.push(data)}}(tXml(request.responseText)),++filesLoaded>=totalFiles?worker.postMessage(dataForMainThread):loadNextFile())}function loadNextFile(){var url=inputData.urls[filesLoaded],request=new XMLHttpRequest;request.onreadystatechange=function(){onXMLLoaded(this)},request.open("GET",inputData.protocol+url,!0),request.send()}self.addEventListener("message",function(event){event=event.data;if("load"!==event.command)throw new Error("Unknown command");dataForMainThread=[],filesLoaded=0,totalFiles=(inputData=event).urls.length,loadNextFile()},!1)}}),jQuery(function($){WPGMZA.Integration={},WPGMZA.integrationModules={},WPGMZA.Integration.Blocks={},WPGMZA.Integration.Blocks.instances={}}),jQuery(function($){var __,registerBlockType,InspectorControls,_wp$editor,Dashicon,PanelBody;window.wp&&wp.i18n&&wp.blocks&&wp.editor&&wp.components&&(__=wp.i18n.__,registerBlockType=wp.blocks.registerBlockType,_wp$editor=wp.editor,InspectorControls=_wp$editor.InspectorControls,_wp$editor.BlockControls,_wp$editor=wp.components,Dashicon=_wp$editor.Dashicon,_wp$editor.Toolbar,_wp$editor.Button,_wp$editor.Tooltip,PanelBody=_wp$editor.PanelBody,_wp$editor.TextareaControl,_wp$editor.CheckboxControl,_wp$editor.TextControl,_wp$editor.SelectControl,_wp$editor.RichText,WPGMZA.Integration.Gutenberg=function(){registerBlockType("gutenberg-wpgmza/block",this.getBlockDefinition())},WPGMZA.Integration.Gutenberg.prototype.getBlockTitle=function(){return __("WP Go Maps")},WPGMZA.Integration.Gutenberg.prototype.getBlockInspectorControls=function(props){return React.createElement(InspectorControls,{key:"inspector"},React.createElement(PanelBody,{title:__("Map Settings")},React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:WPGMZA.adminurl+"admin.php?page=wp-google-maps-menu&action=edit&map_id=1",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-pencil-square-o","aria-hidden":"true"}),__("Go to Map Editor"))),React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:"https://www.wpgmaps.com/documentation/creating-your-first-map/",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-book","aria-hidden":"true"}),__("View Documentation")))))},WPGMZA.Integration.Gutenberg.prototype.getBlockAttributes=function(){return{}},WPGMZA.Integration.Gutenberg.prototype.getBlockDefinition=function(props){var _this=this;return{title:WPGMZA.InternalEngine.isLegacy()?__("WP Go Maps"):__("Map"),description:__("The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss."),category:!WPGMZA.InternalEngine.isLegacy()&&this.verifyCategory("wpgmza-gutenberg")?"wpgmza-gutenberg":"common",icon:"location-alt",keywords:[__("Map"),__("Maps"),__("Google")],attributes:this.getBlockAttributes(),edit:function(props){return[!!props.isSelected&&_this.getBlockInspectorControls(props),React.createElement("div",{className:props.className+" wpgmza-gutenberg-block"},React.createElement(Dashicon,{icon:"location-alt"}),React.createElement("span",{class:"wpgmza-gutenberg-block-title"},__("Your map will appear here on your websites front end")))]},save:function(props){return null}}},WPGMZA.Integration.Gutenberg.prototype.verifyCategory=function(category){if(wp.blocks&&wp.blocks.getCategories){var i,categories=wp.blocks.getCategories();for(i in categories)if(categories[i].slug===category)return!0}return!1},WPGMZA.Integration.Gutenberg.getConstructor=function(){return WPGMZA.Integration.Gutenberg},WPGMZA.Integration.Gutenberg.createInstance=function(){return new(WPGMZA.Integration.Gutenberg.getConstructor())},WPGMZA.isProVersion()||/^6/.test(WPGMZA.pro_version)||(WPGMZA.integrationModules.gutenberg=WPGMZA.Integration.Gutenberg.createInstance()))}),jQuery(function($){$(document).ready(function(event){var parent=document.body.onclick;parent&&(document.body.onclick=function(event){event.target instanceof WPGMZA.Marker||parent(event)})})}),jQuery(function($){WPGMZA.GoogleUICompatibility=function(){var style;navigator.vendor&&-1<navigator.vendor.indexOf("Apple")&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS")||((style=$("<style id='wpgmza-google-ui-compatiblity-fix'/>")).html(".wpgmza_map img:not(button img) { padding:0 !important; }"),$(document.head).append(style))},WPGMZA.googleUICompatibility=new WPGMZA.GoogleUICompatibility}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.GoogleCircle=function(options,googleCircle){var self=this;Parent.call(this,options,googleCircle),googleCircle?(this.googleCircle=googleCircle,options&&(options.center=WPGMZA.LatLng.fromGoogleLatLng(googleCircle.getCenter()),options.radius=googleCircle.getRadius()/1e3)):(this.googleCircle=new google.maps.Circle,this.googleCircle.wpgmzaCircle=this),this.googleFeature=this.googleCircle,options&&this.setOptions(options),google.maps.event.addListener(this.googleCircle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.GoogleCircle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleCircle.prototype.constructor=WPGMZA.GoogleCircle,WPGMZA.GoogleCircle.prototype.getCenter=function(){return WPGMZA.LatLng.fromGoogleLatLng(this.googleCircle.getCenter())},WPGMZA.GoogleCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.googleCircle.setCenter(center)},WPGMZA.GoogleCircle.prototype.getRadius=function(){return this.googleCircle.getRadius()/1e3},WPGMZA.GoogleCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments),this.googleCircle.setRadius(1e3*parseFloat(radius))},WPGMZA.GoogleCircle.prototype.setVisible=function(visible){this.googleCircle.setVisible(!!visible)},WPGMZA.GoogleCircle.prototype.setDraggable=function(value){this.googleCircle.setDraggable(!!value)},WPGMZA.GoogleCircle.prototype.setEditable=function(value){var self=this;this.googleCircle.setOptions({editable:value}),value&&(google.maps.event.addListener(this.googleCircle,"center_changed",function(event){self.center=WPGMZA.LatLng.fromGoogleLatLng(self.googleCircle.getCenter()),self.trigger("change")}),google.maps.event.addListener(this.googleCircle,"radius_changed",function(event){self.radius=self.googleCircle.getRadius()/1e3,self.trigger("change")}))},WPGMZA.GoogleCircle.prototype.setOptions=function(options){WPGMZA.Circle.prototype.setOptions.apply(this,arguments),options.center&&(this.center=new WPGMZA.LatLng(options.center))},WPGMZA.GoogleCircle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),center=new WPGMZA.LatLng(this.center);googleOptions.radius*=1e3,googleOptions.center=center.toGoogleLatLng(),this.googleCircle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleDrawingManager=function(map){var self=this;WPGMZA.DrawingManager.call(this,map),this.mode=null,this.googleDrawingManager=new google.maps.drawing.DrawingManager({drawingControl:!1,polygonOptions:{editable:!0},polylineOptions:{editable:!0},circleOptions:{editable:!0},rectangleOptions:{draggable:!0,editable:!0,strokeWeight:1,fillOpacity:0}}),this.googleDrawingManager.setMap(map.googleMap),google.maps.event.addListener(this.googleDrawingManager,"polygoncomplete",function(polygon){self.onPolygonClosed(polygon)}),google.maps.event.addListener(this.googleDrawingManager,"polylinecomplete",function(polyline){self.onPolylineComplete(polyline)}),google.maps.event.addListener(this.googleDrawingManager,"circlecomplete",function(circle){self.onCircleComplete(circle)}),google.maps.event.addListener(this.googleDrawingManager,"rectanglecomplete",function(rectangle){self.onRectangleComplete(rectangle)})},WPGMZA.GoogleDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.GoogleDrawingManager.prototype.constructor=WPGMZA.GoogleDrawingManager,WPGMZA.GoogleDrawingManager.prototype.setDrawingMode=function(mode){var googleMode;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:googleMode=null;break;case WPGMZA.DrawingManager.MODE_POLYGON:googleMode=google.maps.drawing.OverlayType.POLYGON;break;case WPGMZA.DrawingManager.MODE_POLYLINE:googleMode=google.maps.drawing.OverlayType.POLYLINE;break;case WPGMZA.DrawingManager.MODE_CIRCLE:googleMode=google.maps.drawing.OverlayType.CIRCLE;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:googleMode=null;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;default:throw new Error("Invalid drawing mode")}this.googleDrawingManager.setDrawingMode(googleMode)},WPGMZA.GoogleDrawingManager.prototype.setOptions=function(options){this.googleDrawingManager.setOptions({polygonOptions:options,polylineOptions:options})},WPGMZA.GoogleDrawingManager.prototype.onVertexClicked=function(event){},WPGMZA.GoogleDrawingManager.prototype.onPolygonClosed=function(googlePolygon){var event=new WPGMZA.Event("polygonclosed");event.enginePolygon=googlePolygon,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onPolylineComplete=function(googlePolyline){var event=new WPGMZA.Event("polylinecomplete");event.enginePolyline=googlePolyline,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onCircleComplete=function(googleCircle){var event=new WPGMZA.Event("circlecomplete");event.engineCircle=googleCircle,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onRectangleComplete=function(googleRectangle){var event;this.mode===WPGMZA.DrawingManager.MODE_IMAGEOVERLAY?this.onImageoverlayComplete(googleRectangle):((event=new WPGMZA.Event("rectanglecomplete")).engineRectangle=googleRectangle,this.dispatchEvent(event))},WPGMZA.GoogleDrawingManager.prototype.onHeatmapPointAdded=function(googleMarker){var position=WPGMZA.LatLng.fromGoogleLatLng(googleMarker.getPosition()),googleMarker=(googleMarker.setMap(null),WPGMZA.Marker.createInstance()),image=(googleMarker.setPosition(position),{url:WPGMZA.imageFolderURL+"heatmap-point.png",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(13,13)}),image=(googleMarker.googleMarker.setIcon(image),this.map.addMarker(googleMarker),new WPGMZA.Event("heatmappointadded"));image.position=position,this.trigger(image)},WPGMZA.GoogleDrawingManager.prototype.onImageoverlayComplete=function(rectangle){var event=new WPGMZA.Event("imageoverlaycomplete");event.engineImageoverlay={googleRectangle:rectangle},this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.GoogleGeocoder=function(){},WPGMZA.GoogleGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.GoogleGeocoder.prototype.constructor=WPGMZA.GoogleGeocoder,WPGMZA.GoogleGeocoder.prototype.getLatLngFromAddress=function(options,callback){if(options&&options.address)return options.lat&&options.lng&&(latLng={lat:options.lat,lng:options.lng},callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng,bounds:null}],WPGMZA.Geocoder.SUCCESS)),WPGMZA.isLatLngString(options.address)?WPGMZA.Geocoder.prototype.getLatLngFromAddress.call(this,options,callback):(options.country&&(options.componentRestrictions={country:options.country}),void(new google.maps.Geocoder).geocode(options,function(results,status){var bounds,location;status==google.maps.GeocoderStatus.OK?(location={lat:(location=results[0].geometry.location).lat(),lng:location.lng()},bounds=null,results[0].geometry.bounds&&(bounds=WPGMZA.LatLngBounds.fromGoogleLatLngBounds(results[0].geometry.bounds)),callback(results=[{geometry:{location:location},latLng:location,lat:location.lat,lng:location.lng,bounds:bounds}],WPGMZA.Geocoder.SUCCESS)):(location=WPGMZA.Geocoder.FAIL,status==google.maps.GeocoderStatus.ZERO_RESULTS&&(location=WPGMZA.Geocoder.ZERO_RESULTS),callback(null,location))}));var latLng;nativeStatus=WPGMZA.Geocoder.NO_ADDRESS,callback(null,nativeStatus)},WPGMZA.GoogleGeocoder.prototype.getAddressFromLatLng=function(options,callback){if(!options||!options.latLng)throw new Error("No latLng specified");var latLng=new WPGMZA.LatLng(options.latLng),geocoder=new google.maps.Geocoder,options=$.extend(options,{location:{lat:latLng.lat,lng:latLng.lng}});let fullResult=!1;options.fullResult&&(fullResult=!0,delete options.fullResult),delete options.latLng,geocoder.geocode(options,function(results,status){"OK"!==status&&callback(null,WPGMZA.Geocoder.FAIL),results&&results.length||callback([],WPGMZA.Geocoder.NO_RESULTS),fullResult?callback([results[0]],WPGMZA.Geocoder.SUCCESS):callback([results[0].formatted_address],WPGMZA.Geocoder.SUCCESS)})}}),jQuery(function($){WPGMZA.settings.engine&&"google-maps"!=WPGMZA.settings.engine||window.google&&window.google.maps&&(WPGMZA.GoogleHTMLOverlay=function(map){this.element=$("<div class='wpgmza-google-html-overlay'></div>"),this.visible=!0,this.position=new WPGMZA.LatLng,this.setMap(map.googleMap),this.wpgmzaMap=map},WPGMZA.GoogleHTMLOverlay.prototype=new google.maps.OverlayView,WPGMZA.GoogleHTMLOverlay.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.element[0])},WPGMZA.GoogleHTMLOverlay.prototype.onRemove=function(){this.element&&$(this.element).parent().length&&($(this.element).remove(),this.element=null)},WPGMZA.GoogleHTMLOverlay.prototype.draw=function(){this.updateElementPosition()},WPGMZA.GoogleHTMLOverlay.prototype.updateElementPosition=function(){var projection=this.getProjection();projection&&(projection=projection.fromLatLngToDivPixel(this.position.toGoogleLatLng()),$(this.element).css({left:projection.x,top:projection.y}))})}),jQuery(function($){var Parent;WPGMZA.GoogleInfoWindow=function(feature){Parent.call(this,feature),this.setFeature(feature)},WPGMZA.GoogleInfoWindow.Z_INDEX=99,Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.GoogleInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.GoogleInfoWindow.prototype.constructor=WPGMZA.GoogleInfoWindow,WPGMZA.GoogleInfoWindow.prototype.setFeature=function(feature){(this.feature=feature)instanceof WPGMZA.Marker?this.googleObject=feature.googleMarker:feature instanceof WPGMZA.Polygon?this.googleObject=feature.googlePolygon:feature instanceof WPGMZA.Polyline&&(this.googleObject=feature.googlePolyline)},WPGMZA.GoogleInfoWindow.prototype.createGoogleInfoWindow=function(){var self=this;this.googleInfoWindow||(this.googleInfoWindow=new google.maps.InfoWindow,this.googleInfoWindow.setZIndex(WPGMZA.GoogleInfoWindow.Z_INDEX),google.maps.event.addListener(this.googleInfoWindow,"domready",function(event){self.trigger("domready")}),google.maps.event.addListener(this.googleInfoWindow,"closeclick",function(event){self.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(self.state=WPGMZA.InfoWindow.STATE_CLOSED,self.feature.map.trigger("infowindowclose"))}))},WPGMZA.GoogleInfoWindow.prototype.open=function(map,feature){var self=this;if(!Parent.prototype.open.call(this,map,feature))return!1;this.parent=map,this.createGoogleInfoWindow(),this.setFeature(feature),void 0!==feature._osDisableAutoPan&&(feature._osDisableAutoPan?(this.googleInfoWindow.setOptions({disableAutoPan:!0}),feature._osDisableAutoPan=!1):this.googleInfoWindow.setOptions({disableAutoPan:!1})),this.googleInfoWindow.open(this.feature.map.googleMap,this.googleObject);var intervalID,guid=WPGMZA.guid(),map=WPGMZA.isProVersion()?"":this.addEditButton(),feature="<div id='"+guid+"'>"+map+" "+this.content+"</div>";return this.googleInfoWindow.setContent(feature),intervalID=setInterval(function(event){(div=$("#"+guid)).length&&(clearInterval(intervalID),div[0].wpgmzaFeature=self.feature,div.addClass("wpgmza-infowindow"),self.element=div[0],self.trigger("infowindowopen"))},50),!0},WPGMZA.GoogleInfoWindow.prototype.close=function(){this.googleInfoWindow&&(WPGMZA.InfoWindow.prototype.close.call(this),this.googleInfoWindow.close())},WPGMZA.GoogleInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html,this.createGoogleInfoWindow(),this.googleInfoWindow.setContent(html)},WPGMZA.GoogleInfoWindow.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.createGoogleInfoWindow(),this.googleInfoWindow.setOptions(options)}}),jQuery(function($){var Parent;WPGMZA.GoogleMap=function(element,options){var self=this;Parent.call(this,element,options),this.loadGoogleMap(),options?this.setOptions(options,!0):this.setOptions({},!0),google.maps.event.addListener(this.googleMap,"click",function(event){var wpgmzaEvent=new WPGMZA.Event("click");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"rightclick",function(event){var wpgmzaEvent=new WPGMZA.Event("rightclick");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"dragend",function(event){self.dispatchEvent("dragend")}),google.maps.event.addListener(this.googleMap,"zoom_changed",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged")}),google.maps.event.addListener(this.googleMap,"idle",function(event){self.onIdle(event)}),this.googleMap.getStreetView()&&(google.maps.event.addListener(this.googleMap.getStreetView(),"visible_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_visible_changed");wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"position_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_position_changed");const position=this.getPosition();position&&(wpgmzaEvent.latLng={lat:position.lat(),lng:position.lng()}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"pov_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_pov_changed"),pov=this.getPov();pov&&(wpgmzaEvent.pov={heading:pov.heading,pitch:pov.pitch}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)})),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},WPGMZA.isProVersion()?(Parent=WPGMZA.ProMap,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.ProMap.prototype)):(Parent=WPGMZA.Map,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.Map.prototype)),WPGMZA.GoogleMap.prototype.constructor=WPGMZA.GoogleMap,WPGMZA.GoogleMap.parseThemeData=function(raw){var json;try{json=JSON.parse(raw)}catch(e){try{json=eval(raw)}catch(e){var str=raw,str=str.replace(/\\'/g,"'");str=str.replace(/\\"/g,'"'),str=str.replace(/\\0/g,"\0"),str=str.replace(/\\\\/g,"\\");try{json=eval(str)}catch(e){return console.warn("Couldn't parse theme data"),[]}}}return json},WPGMZA.GoogleMap.prototype.loadGoogleMap=function(){var self=this,options=this.settings.toGoogleMapsOptions();this.googleMap=new google.maps.Map(this.engineElement,options),google.maps.event.addListener(this.googleMap,"bounds_changed",function(){self.onBoundsChanged()}),1==this.settings.bicycle&&this.enableBicycleLayer(!0),1==this.settings.traffic&&this.enableTrafficLayer(!0),this.settings.transport_layer&&this.enablePublicTransportLayer(!0),this.showPointsOfInterest(this.settings.wpgmza_show_point_of_interest),$(this.engineElement).append($(this.element).find(".wpgmza-loader"))},WPGMZA.GoogleMap.prototype.setOptions=function(options,initializing){Parent.prototype.setOptions.call(this,options),options.scrollwheel&&delete options.scrollwheel,initializing?(initializing=$.extend(options,this.settings.toGoogleMapsOptions()),!(initializing=$.extend({},initializing)).center instanceof google.maps.LatLng&&(initializing.center instanceof WPGMZA.LatLng||"object"==typeof initializing.center)&&(initializing.center={lat:parseFloat(initializing.center.lat),lng:parseFloat(initializing.center.lng)}),this.settings.hide_point_of_interest&&(initializing.styles||(initializing.styles=[]),initializing.styles.push({featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]})),this.googleMap.setOptions(initializing)):this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.addMarker=function(marker){marker.googleMarker.setMap(this.googleMap),Parent.prototype.addMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.removeMarker=function(marker){marker.googleMarker.setMap(null),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.addPolygon=function(polygon){polygon.googlePolygon.setMap(this.googleMap),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.removePolygon=function(polygon){polygon.googlePolygon.setMap(null),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.addPolyline=function(polyline){polyline.googlePolyline.setMap(this.googleMap),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.removePolyline=function(polyline){polyline.googlePolyline.setMap(null),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.addCircle=function(circle){circle.googleCircle.setMap(this.googleMap),Parent.prototype.addCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.removeCircle=function(circle){circle.googleCircle.setMap(null),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.addRectangle=function(rectangle){rectangle.googleRectangle.setMap(this.googleMap),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.removeRectangle=function(rectangle){rectangle.googleRectangle.setMap(null),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.getCenter=function(){var latLng=this.googleMap.getCenter();return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.setCenter=function(latLng){WPGMZA.Map.prototype.setCenter.call(this,latLng),latLng instanceof WPGMZA.LatLng?this.googleMap.setCenter({lat:latLng.lat,lng:latLng.lng}):this.googleMap.setCenter(latLng)},WPGMZA.GoogleMap.prototype.panTo=function(latLng){latLng instanceof WPGMZA.LatLng?this.googleMap.panTo({lat:latLng.lat,lng:latLng.lng}):this.googleMap.panTo(latLng)},WPGMZA.GoogleMap.prototype.getZoom=function(){return this.googleMap.getZoom()},WPGMZA.GoogleMap.prototype.setZoom=function(value){if(isNaN(value))throw new Error("Value must not be NaN");return this.googleMap.setZoom(parseInt(value))},WPGMZA.GoogleMap.prototype.getBounds=function(){var nativeBounds=new WPGMZA.LatLngBounds({});try{var bounds=this.googleMap.getBounds(),northEast=bounds.getNorthEast(),southWest=bounds.getSouthWest();nativeBounds.north=northEast.lat(),nativeBounds.south=southWest.lat(),nativeBounds.west=southWest.lng(),nativeBounds.east=northEast.lng(),nativeBounds.topLeft={lat:northEast.lat(),lng:southWest.lng()},nativeBounds.bottomRight={lat:southWest.lat(),lng:northEast.lng()}}catch(ex){}return nativeBounds},WPGMZA.GoogleMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=new google.maps.LatLngBounds(southWest,northEast);this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.fitBoundsToVisibleMarkers=function(){for(var bounds=new google.maps.LatLngBounds,i=0;i<this.markers.length;i++)markers[i].getVisible()&&bounds.extend(markers[i].getPosition());this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.enableBicycleLayer=function(enable){this.bicycleLayer||(this.bicycleLayer=new google.maps.BicyclingLayer),this.bicycleLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enableTrafficLayer=function(enable){this.trafficLayer||(this.trafficLayer=new google.maps.TrafficLayer),this.trafficLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enablePublicTransportLayer=function(enable){this.publicTransportLayer||(this.publicTransportLayer=new google.maps.TransitLayer),this.publicTransportLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.showPointsOfInterest=function(show){var text=$("textarea[name='theme_data']").val();text&&((text=JSON.parse(text)).push({featureType:"poi",stylers:[{visibility:show?"on":"off"}]}),this.googleMap.setOptions({styles:text}))},WPGMZA.GoogleMap.prototype.getMinZoom=function(){return parseInt(this.settings.min_zoom)},WPGMZA.GoogleMap.prototype.setMinZoom=function(value){this.googleMap.setOptions({minZoom:value,maxZoom:this.getMaxZoom()})},WPGMZA.GoogleMap.prototype.getMaxZoom=function(){return parseInt(this.settings.max_zoom)},WPGMZA.GoogleMap.prototype.setMaxZoom=function(value){this.googleMap.setOptions({minZoom:this.getMinZoom(),maxZoom:value})},WPGMZA.GoogleMap.prototype.latLngToPixels=function(latLng){var map=this.googleMap,latLng=new google.maps.LatLng({lat:parseFloat(latLng.lat),lng:parseFloat(latLng.lng)}),topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),map=map.getProjection().fromLatLngToPoint(latLng);return{x:(map.x-bottomLeft.x)*scale,y:(map.y-topRight.y)*scale}},WPGMZA.GoogleMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var map=this.googleMap,topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),x=new google.maps.Point(x/scale+bottomLeft.x,y/scale+topRight.y),bottomLeft=map.getProjection().fromPointToLatLng(x);return{lat:bottomLeft.lat(),lng:bottomLeft.lng()}},WPGMZA.GoogleMap.prototype.onElementResized=function(event){this.googleMap&&google.maps.event.trigger(this.googleMap,"resize")},WPGMZA.GoogleMap.prototype.enableAllInteractions=function(){var options={scrollwheel:!0,draggable:!0,disableDoubleClickZoom:!1};this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.openStreetView=function(options){if(this.googleMap.getStreetView()){if(options&&(options.position&&options.position instanceof WPGMZA.LatLng&&this.googleMap.getStreetView().setPosition(options.position.toGoogleLatLng()),options.heading||options.pitch)){const pov={};options.heading&&(pov.heading=parseFloat(options.heading)),options.pitch&&(pov.pitch=parseFloat(options.pitch)),this.googleMap.getStreetView().setPov(pov)}this.googleMap.getStreetView().setVisible(!0)}},WPGMZA.GoogleMap.prototype.closeStreetView=function(){this.googleMap.getStreetView()&&this.googleMap.getStreetView().setVisible(!1)},WPGMZA.GoogleMap.prototype.isFullScreen=function(){return!(WPGMZA.Map.prototype.isFullScreen.call(this)||!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.firstChild.offsetHeight))},WPGMZA.GoogleMap.prototype.onFullScreenChange=function(fullscreen){if(Parent.prototype.onFullScreenChange.call(this,fullscreen),fullscreen&&!this._stackedComponentsMoved&&this.element.firstChild){const innerContainer=this.element.firstChild;$(this.element).find(".wpgmza-inner-stack").each(function(index,element){$(element).appendTo(innerContainer)}),this._stackedComponentsMoved=!0}}}),jQuery(function($){var Parent;WPGMZA.GoogleMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toGoogleLatLng():options[name]instanceof WPGMZA.Map||"icon"==name||(settings[name]=options[name]);this.googleMarker=new google.maps.Marker(settings),(this.googleMarker.wpgmzaMarker=this).googleFeature=this.googleMarker,this.googleMarker.setPosition(new google.maps.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})),this.anim&&this.googleMarker.setAnimation(this.anim),this.animation&&this.googleMarker.setAnimation(this.animation),google.maps.event.addListener(this.googleMarker,"click",function(){self.dispatchEvent("click"),self.dispatchEvent("select")}),google.maps.event.addListener(this.googleMarker,"mouseover",function(){self.dispatchEvent("mouseover")}),google.maps.event.addListener(this.googleMarker,"mouseout",function(){self.dispatchEvent("mouseout")}),google.maps.event.addListener(this.googleMarker,"dragend",function(){var googleMarkerPosition=self.googleMarker.getPosition();self.setPosition({lat:googleMarkerPosition.lat(),lng:googleMarkerPosition.lng()}),self.dispatchEvent({type:"dragend",latLng:self.getPosition()}),self.trigger("change")}),this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.GoogleMarker.prototype=Object.create(Parent.prototype),WPGMZA.GoogleMarker.prototype.constructor=WPGMZA.GoogleMarker,Object.defineProperty(WPGMZA.GoogleMarker.prototype,"opacity",{get:function(){return this._opacity},set:function(value){this._opacity=value,this.googleMarker.setOpacity(value)}}),WPGMZA.GoogleMarker.prototype.setLabel=function(label){label?(this.googleMarker.setLabel({text:label}),this.googleMarker.getIcon()||this.googleMarker.setIcon(WPGMZA.settings.default_marker_icon)):this.googleMarker.setLabel(null)},WPGMZA.GoogleMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng),this.googleMarker.setPosition({lat:this.lat,lng:this.lng})},WPGMZA.GoogleMarker.prototype.updateOffset=function(){var self=this,icon=this.googleMarker.getIcon(),img=new Image,x=this._offset.x,y=this._offset.y,params="string"==typeof(icon=icon||WPGMZA.settings.default_marker_icon)?{url:icon}:icon;img.onload=function(){var defaultAnchor_x=img.width/2,defaultAnchor_y=img.height;params.anchor=new google.maps.Point(defaultAnchor_x-x,defaultAnchor_y-y),self.googleMarker.setIcon(params)},img.src=params.url},WPGMZA.GoogleMarker.prototype.setOptions=function(options){this.googleMarker.setOptions(options)},WPGMZA.GoogleMarker.prototype.setAnimation=function(animation){Parent.prototype.setAnimation.call(this,animation),this.googleMarker.setAnimation(animation)},WPGMZA.GoogleMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible.call(this,visible),this.googleMarker.setVisible(!!visible)},WPGMZA.GoogleMarker.prototype.getVisible=function(visible){return this.googleMarker.getVisible()},WPGMZA.GoogleMarker.prototype.setDraggable=function(draggable){this.googleMarker.setDraggable(draggable)},WPGMZA.GoogleMarker.prototype.setOpacity=function(opacity){this.googleMarker.setOpacity(opacity)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocatorCircle=function(map,settings){var self=this;WPGMZA.ModernStoreLocatorCircle.call(this,map,settings),this.intervalID=setInterval(function(){var mapSize={width:$(self.mapElement).width(),height:$(self.mapElement).height()};mapSize.width==self.mapSize.width&&mapSize.height==self.mapSize.height||(self.canvasLayer.resize_(),self.canvasLayer.draw(),self.mapSize=mapSize)},1e3),$(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){self.canvasLayer.resize_(),self.canvasLayer.draw()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.GoogleModernStoreLocatorCircle.prototype.constructor=WPGMZA.GoogleModernStoreLocatorCircle,WPGMZA.GoogleModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this;this.canvasLayer&&(this.canvasLayer.setMap(null),this.canvasLayer.setAnimate(!1)),this.canvasLayer=new CanvasLayer({map:this.map.googleMap,resizeHandler:function(event){self.onResize(event)},updateHandler:function(event){self.onUpdate(event)},animate:!0,resolutionScale:this.getResolutionScale()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setOptions=function(options){WPGMZA.ModernStoreLocatorCircle.prototype.setOptions.call(this,options),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setPosition=function(position){WPGMZA.ModernStoreLocatorCircle.prototype.setPosition.call(this,position),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setRadius=function(radius){WPGMZA.ModernStoreLocatorCircle.prototype.setRadius.call(this,radius),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var spherical=google.maps.geometry.spherical,center=this.settings.center,equator=new WPGMZA.LatLng({lat:0,lng:0}),center=new WPGMZA.LatLng({lat:center.lat,lng:0}),equator=spherical.computeOffset(equator.toGoogleLatLng(),1e3*km,90),spherical=.006395*km*(spherical.computeOffset(center.toGoogleLatLng(),1e3*km,90).lng()/equator.lng());if(isNaN(spherical))throw new Error("here");return spherical},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvasLayer.canvas.width,height:this.canvasLayer.canvas.height}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){var position=this.map.googleMap.getProjection().fromLatLngToPoint(this.canvasLayer.getTopLeft());return{x:-position.x,y:-position.y}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCenterPixels=function(){var center=new WPGMZA.LatLng(this.settings.center);return this.map.googleMap.getProjection().fromLatLngToPoint(center.toGoogleLatLng())},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvasLayer.canvas.getContext("2d")},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getScale=function(){return Math.pow(2,this.map.getZoom())*this.getResolutionScale()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setVisible=function(visible){WPGMZA.ModernStoreLocatorCircle.prototype.setVisible.call(this,visible),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.destroy=function(){this.canvasLayer.setMap(null),this.canvasLayer=null,clearInterval(this.intervalID)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocator=function(map_id){var map=this.map=WPGMZA.getMapByID(map_id),map_id=(WPGMZA.ModernStoreLocator.call(this,map_id),map.settings.wpgmza_store_locator_restrict);this.addressInput=$(this.element).find(".addressInput, #addressInput")[0],this.addressInput&&map_id&&map_id.length,this.map.googleMap.controls[google.maps.ControlPosition.TOP_CENTER].push(this.element)},WPGMZA.GoogleModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator.prototype),WPGMZA.GoogleModernStoreLocator.prototype.constructor=WPGMZA.GoogleModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.GooglePointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),(this.googleFeature=this).setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.GooglePointlabel,Parent),WPGMZA.GooglePointlabel.prototype.setOptions=function(options){options.name&&this.textFeature.setText(options.name)}}),jQuery(function($){var Parent;WPGMZA.GooglePolygon=function(options,googlePolygon){var self=this;Parent.call(this,options=options||{},googlePolygon),this.googlePolygon=googlePolygon||new google.maps.Polygon,this.googleFeature=this.googlePolygon,options&&options.polydata&&this.googlePolygon.setOptions({paths:this.parseGeometry(options.polydata)}),this.googlePolygon.wpgmzaPolygon=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolygon,"click",function(){self.dispatchEvent({type:"click"})})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.GooglePolygon.prototype=Object.create(Parent.prototype),WPGMZA.GooglePolygon.prototype.constructor=WPGMZA.GooglePolygon,WPGMZA.GooglePolygon.prototype.updateNativeFeature=function(){this.googlePolygon.setOptions(this.getScalarProperties())},WPGMZA.GooglePolygon.prototype.getEditable=function(){return this.googlePolygon.getOptions().editable},WPGMZA.GooglePolygon.prototype.setEditable=function(value){var self=this;this.googlePolygon.setOptions({editable:value}),value&&(this.googlePolygon.getPaths().forEach(function(path,index){["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})})}),google.maps.event.addListener(this.googlePolygon,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolygon,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolygon.prototype.setDraggable=function(value){this.googlePolygon.setDraggable(value)},WPGMZA.GooglePolygon.prototype.getGeometry=function(){for(var result=[],path=this.googlePolygon.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){WPGMZA.GooglePolyline=function(options,googlePolyline){var self=this;WPGMZA.Polyline.call(this,options,googlePolyline),this.googlePolyline=googlePolyline||new google.maps.Polyline(this.settings),this.googleFeature=this.googlePolyline,options&&options.polydata&&(googlePolyline=this.parseGeometry(options.polydata),this.googlePolyline.setPath(googlePolyline)),this.googlePolyline.wpgmzaPolyline=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolyline,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.GooglePolyline.prototype=Object.create(WPGMZA.Polyline.prototype),WPGMZA.GooglePolyline.prototype.constructor=WPGMZA.GooglePolyline,WPGMZA.GooglePolyline.prototype.updateNativeFeature=function(){this.googlePolyline.setOptions(this.getScalarProperties())},WPGMZA.GooglePolyline.prototype.setEditable=function(value){var path,self=this;this.googlePolyline.setOptions({editable:value}),value&&(path=this.googlePolyline.getPath(),["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})}),google.maps.event.addListener(this.googlePolyline,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolyline,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolyline.prototype.setDraggable=function(value){this.googlePolyline.setOptions({draggable:value})},WPGMZA.GooglePolyline.prototype.getGeometry=function(){for(var result=[],path=this.googlePolyline.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.GoogleRectangle=function(options,googleRectangle){var self=this;Parent.call(this,options=options||{},googleRectangle),googleRectangle?(this.googleRectangle=googleRectangle,this.cornerA=options.cornerA=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getNorthEast().lat(),lng:googleRectangle.getBounds().getSouthWest().lng()}),this.cornerB=options.cornerB=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getSouthWest().lat(),lng:googleRectangle.getBounds().getNorthEast().lng()})):(this.googleRectangle=new google.maps.Rectangle,this.googleRectangle.wpgmzaRectangle=this),this.googleFeature=this.googleRectangle,options&&this.setOptions(options),google.maps.event.addListener(this.googleRectangle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.GoogleRectangle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleRectangle.prototype.constructor=WPGMZA.GoogleRectangle,WPGMZA.GoogleRectangle.prototype.getBounds=function(){return WPGMZA.LatLngBounds.fromGoogleLatLngBounds(this.googleRectangle.getBounds())},WPGMZA.GoogleRectangle.prototype.setVisible=function(visible){this.googleRectangle.setVisible(!!visible)},WPGMZA.GoogleRectangle.prototype.setDraggable=function(value){this.googleRectangle.setDraggable(!!value)},WPGMZA.GoogleRectangle.prototype.setEditable=function(value){var self=this;this.googleRectangle.setEditable(!!value),value&&google.maps.event.addListener(this.googleRectangle,"bounds_changed",function(event){self.trigger("change")})},WPGMZA.GoogleRectangle.prototype.setOptions=function(options){WPGMZA.Rectangle.prototype.setOptions.apply(this,arguments),options.cornerA&&options.cornerB&&(this.cornerA=new WPGMZA.LatLng(options.cornerA),this.cornerB=new WPGMZA.LatLng(options.cornerB))},WPGMZA.GoogleRectangle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),north=parseFloat(this.cornerA.lat),west=parseFloat(this.cornerA.lng),south=parseFloat(this.cornerB.lat),east=parseFloat(this.cornerB.lng);north&&west&&south&&east&&(googleOptions.bounds={north:north,west:west,south:south,east:east}),this.googleRectangle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.GoogleTextOverlay(options)},WPGMZA.extend(WPGMZA.GoogleText,WPGMZA.Text)}),jQuery(function($){WPGMZA.GoogleTextOverlay=function(options){this.element=$("<div class='wpgmza-google-text-overlay'><div class='wpgmza-inner'></div></div>"),(options=options||{}).position&&(this.position=options.position),options.text&&this.element.find(".wpgmza-inner").text(options.text),options.map&&this.setMap(options.map.googleMap)},window.google&&google.maps&&google.maps.OverlayView&&(WPGMZA.GoogleTextOverlay.prototype=new google.maps.OverlayView),WPGMZA.GoogleTextOverlay.prototype.onAdd=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"}),this.getPanes().floatPane.appendChild(this.element[0])},WPGMZA.GoogleTextOverlay.prototype.draw=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"})},WPGMZA.GoogleTextOverlay.prototype.onRemove=function(){this.element.remove()},WPGMZA.GoogleTextOverlay.prototype.hide=function(){this.element.hide()},WPGMZA.GoogleTextOverlay.prototype.show=function(){this.element.show()},WPGMZA.GoogleTextOverlay.prototype.toggle=function(){this.element.is(":visible")?this.element.hide():this.element.show()},WPGMZA.GoogleTextOverlay.prototype.setPosition=function(position){this.position=position},WPGMZA.GoogleTextOverlay.prototype.setText=function(text){this.element.find(".wpgmza-inner").text(text)},WPGMZA.GoogleTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.element.find(".wpgmza-inner").css("font-size",size+"px")},WPGMZA.GoogleTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("color",color)},WPGMZA.GoogleTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("--wpgmza-color-white",color)},WPGMZA.GoogleTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.element.find(".wpgmza-inner").css("opacity",opacity)},WPGMZA.GoogleTextOverlay.prototype.remove=function(){this.element&&this.element.remove()}}),jQuery(function($){"google-maps"!=WPGMZA.settings.engine||WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code||(WPGMZA.GoogleVertexContextMenu=function(mapEditPage){var self=this;this.mapEditPage=mapEditPage,this.element=document.createElement("div"),this.element.className="wpgmza-vertex-context-menu",this.element.innerHTML="Delete",google.maps.event.addDomListener(this.element,"click",function(event){return self.removeVertex(),event.preventDefault(),event.stopPropagation(),!1})},WPGMZA.GoogleVertexContextMenu.prototype=new google.maps.OverlayView,WPGMZA.GoogleVertexContextMenu.prototype.onAdd=function(){var self=this,map=this.getMap();this.getPanes().floatPane.appendChild(this.element),this.divListener=google.maps.event.addDomListener(map.getDiv(),"mousedown",function(e){e.target!=self.element&&self.close()},!0)},WPGMZA.GoogleVertexContextMenu.prototype.onRemove=function(){google.maps.event.removeListener(this.divListener),this.element.parentNode.removeChild(this.element),this.set("position"),this.set("path"),this.set("vertex")},WPGMZA.GoogleVertexContextMenu.prototype.open=function(map,path,vertex){this.set("position",path.getAt(vertex)),this.set("path",path),this.set("vertex",vertex),this.setMap(map),this.draw()},WPGMZA.GoogleVertexContextMenu.prototype.close=function(){this.setMap(null)},WPGMZA.GoogleVertexContextMenu.prototype.draw=function(){var position=this.get("position"),projection=this.getProjection();position&&projection&&(projection=projection.fromLatLngToDivPixel(position),this.element.style.top=projection.y+"px",this.element.style.left=projection.x+"px")},WPGMZA.GoogleVertexContextMenu.prototype.removeVertex=function(){var path=this.get("path"),vertex=this.get("vertex");path&&null!=vertex&&path.removeAt(vertex),this.close()})}),jQuery(function($){WPGMZA.FeaturePanel=function(element,mapEditPage){var self=this;WPGMZA.EventDispatcher.apply(this,arguments),this.map=mapEditPage.map,this.drawingManager=mapEditPage.drawingManager,this.writersblock=!1,this.feature=null,this.element=element,this.initDefaults(),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.drawingInstructionsElement=$(this.element).find(".wpgmza-feature-drawing-instructions"),this.drawingInstructionsElement.detach(),this.editingInstructionsElement=$(this.element).find(".wpgmza-feature-editing-instructions"),this.editingInstructionsElement.detach(),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.newPanel[0],self.element[0])&&self.onTabActivated(event)}),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.oldPanel[0],self.element[0])&&self.onTabDeactivated(event)}),$(".grouping").on("feature-block-opened",function(event){$(event.currentTarget).data("feature")===self.featureType?self.onTabActivated(event):self.onTabDeactivated(event)}),$(".grouping").on("feature-block-closed",function(event){self.onTabDeactivated(event),mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE)}),$(document.body).on("click","[data-edit-"+this.featureType+"-id]",function(event){self.onEditFeature(event)}),$(document.body).on("click","[data-delete-"+this.featureType+"-id]",function(event){self.onDeleteFeature(event)}),$(this.element).find(".wpgmza-save-feature").on("click",function(event){self.onSave(event)}),this.drawingManager.on(self.drawingManagerCompleteEvent,function(event){self.onDrawingComplete(event)}),this.drawingManager.on("drawingmodechanged",function(event){self.onDrawingModeChanged(event)}),$(this.element).on("change input",function(event){self.onPropertyChanged(event)})},WPGMZA.extend(WPGMZA.FeaturePanel,WPGMZA.EventDispatcher),WPGMZA.FeaturePanel.MODE_ADD="add",WPGMZA.FeaturePanel.MODE_EDIT="edit",WPGMZA.FeaturePanel.prevEditableFeature=null,Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"drawingManagerCompleteEvent",{get:function(){return this.featureType+"complete"}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureDataTable",{get:function(){return $("[data-wpgmza-datatable][data-wpgmza-feature-type='"+this.featureType+"']")[0].wpgmzaDataTable}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureAccordion",{get:function(){return $(this.element).closest(".wpgmza-accordion")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"map",{get:function(){return WPGMZA.mapEditPage.map}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"mode",{get:function(){return this._mode}}),WPGMZA.FeaturePanel.prototype.initPreloader=function(){this.preloader||(this.preloader=$(WPGMZA.preloaderHTML),this.preloader.hide(),$(this.element).append(this.preloader))},WPGMZA.FeaturePanel.prototype.initDataTable=function(){var el=$(this.element).find("[data-wpgmza-datatable][data-wpgmza-rest-api-route]");this[this.featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)},WPGMZA.FeaturePanel.prototype.initDefaults=function(){$(this.element).find("[data-ajax-name]:not([type='radio'])").each(function(index,el){var val=$(el).val();val&&$(el).attr("data-default-value",val)})},WPGMZA.FeaturePanel.prototype.setCaptionType=function(type,id){var icons={add:"fa-plus-circle",save:"fa-pencil-square-o"};switch(type){case WPGMZA.FeaturePanel.MODE_ADD:case WPGMZA.FeaturePanel.MODE_EDIT:this.featureAccordion.find("[data-add-caption][data-edit-caption]").each(function(index,el){var text=$(el).attr("data-"+type+"-caption"),icon=$(el).find("i.fa");id&&(text+=" "+id),$(el).text(text),icon.length&&((icon=$("<i class='fa' aria-hidden='true'></i>")).addClass(icons[type]),$(el).prepend(" "),$(el).prepend(icon))}),this.sidebarTriggerDelegate("feature-caption-loaded");break;default:throw new Error("Invalid type")}},WPGMZA.FeaturePanel.prototype.setMode=function(type,id){this._mode=type,this.setCaptionType(type,id)},WPGMZA.FeaturePanel.prototype.setTargetFeature=function(feature){var prev,self=this;WPGMZA.FeaturePanel.prevEditableFeature&&((prev=WPGMZA.FeaturePanel.prevEditableFeature).setEditable(!1),prev.setDraggable(!1),prev.off("change")),feature?(feature.setEditable(!0),feature.setDraggable(!0),feature.on("change",function(event){self.onFeatureChanged(event)}),this.setMode(WPGMZA.FeaturePanel.MODE_EDIT),this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showInstructions()):this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.feature=WPGMZA.FeaturePanel.prevEditableFeature=feature},WPGMZA.FeaturePanel.prototype.reset=function(){$(this.element).find("[data-ajax-name]:not([data-ajax-name='map_id']):not([type='color']):not([type='checkbox']):not([type='radio'])").val(""),$(this.element).find("select[data-ajax-name]>option:first-child").prop("selected",!0),$(this.element).find("[data-ajax-name='id']").val("-1"),$(this.element).find("input[type='checkbox']").prop("checked",!1),WPGMZA.InternalEngine.isLegacy()?tinyMCE.get("wpgmza-description-editor")?tinyMCE.get("wpgmza-description-editor").setContent(""):$("#wpgmza-description-editor").val(""):("undefined"!=typeof WritersBlock&&0!=this.writersblock&&this.writersblock.ready?(this.writersblock.setContent(""),this.writersblock.elements&&this.writersblock.elements._codeEditor&&(this.writersblock.elements._codeEditor.value="")):$("#wpgmza-description-editor").val(""),$(this.element).find("input.wpgmza-color-input").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor($(this).data("default-value")||this.value)})),$("#wpgmza-description-editor").val(""),$(this.element).find(".wpgmza-image-single-input").trigger("change"),this.showPreloader(!1),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),$(this.element).find("[data-ajax-name][data-default-value]").each(function(index,el){$(el).val($(el).data("default-value"))})},WPGMZA.FeaturePanel.prototype.select=function(arg){var id,expectedBaseClass,self=this;if(this.reset(),WPGMZA.isNumeric(arg))id=arg;else{if(expectedBaseClass=WPGMZA[WPGMZA.capitalizeWords(this.featureType)],!(feature instanceof expectedBaseClass))throw new Error("Invalid feature type for this panel");id=arg.id}this.showPreloader(!0),this.sidebarTriggerDelegate("edit"),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll($(".wpgmza_map")),WPGMZA.restAPI.call("/"+this.featureType+"s/"+id+"?skip_cache=1",{success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),functionSuffix=self.map["get"+functionSuffix+"ByID"](id);self.populate(data),self.showPreloader(!1),self.setMode(WPGMZA.FeaturePanel.MODE_EDIT,id),self.setTargetFeature(functionSuffix)}})},WPGMZA.FeaturePanel.prototype.showPreloader=function(show){this.initPreloader(),0==arguments.length||show?(this.preloader.fadeIn(),this.element.addClass("wpgmza-loading")):(this.preloader.fadeOut(),this.element.removeClass("wpgmza-loading"))},WPGMZA.FeaturePanel.prototype.populate=function(data){var value,target,name;for(name in data)switch(target=$(this.element).find("[data-ajax-name='"+name+"']"),value=data[name],(target.attr("type")||"").toLowerCase()){case"checkbox":case"radio":target.prop("checked",1==data[name]);break;case"color":value.match(/^#/)||(value="#"+value);default:if("object"==typeof value&&(value=JSON.stringify(value)),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").val(value),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-color-input")){let colorInput=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);colorInput.wpgmzaColorInput&&colorInput.wpgmzaColorInput.parseColor(colorInput.value)}if($(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-image-single-input")){let imageInputSingle=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);imageInputSingle.wpgmzaImageInputSingle&&imageInputSingle.wpgmzaImageInputSingle.parseImage(imageInputSingle.value)}$(this.element).find("select[data-ajax-name='"+name+"']").each(function(index,el){"string"==typeof value&&0==data[name].length||$(el).val(value)})}},WPGMZA.FeaturePanel.prototype.serializeFormData=function(){var fields=$(this.element).find("[data-ajax-name]"),data={};return fields.each(function(index,el){var type="text";switch(type=$(el).attr("type")?$(el).attr("type").toLowerCase():type){case"checkbox":data[$(el).attr("data-ajax-name")]=$(el).prop("checked")?1:0;break;case"radio":$(el).prop("checked")&&(data[$(el).attr("data-ajax-name")]=$(el).val());break;default:data[$(el).attr("data-ajax-name")]=$(el).val()}}),data},WPGMZA.FeaturePanel.prototype.discardChanges=function(){var feature;this.feature&&(feature=this.feature,this.setTargetFeature(null),feature&&feature.map&&(this.map["remove"+WPGMZA.capitalizeWords(this.featureType)](feature),-1<feature.id&&this.updateFeatureByID(feature.id)))},WPGMZA.FeaturePanel.prototype.updateFeatureByID=function(id){var feature,self=this,route="/"+this.featureType+"s/",functionSuffix=WPGMZA.capitalizeWords(self.featureType),getByIDFunction="get"+functionSuffix+"ByID",removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;WPGMZA.restAPI.call(route+id,{success:function(data,status,xhr){(feature=self.map[getByIDFunction](id))&&self.map[removeFunction](feature),feature=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](feature)}})},WPGMZA.FeaturePanel.prototype.showInstructions=function(){this.mode===WPGMZA.FeaturePanel.MODE_ADD?WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.drawingInstructionsElement),$(this.drawingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.drawingInstructionsElement):WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.editingInstructionsElement),$(this.editingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.editingInstructionsElement)},WPGMZA.FeaturePanel.prototype.onTabActivated=function(){var featureString;this.reset(),this.drawingManager.setDrawingMode(this.featureType),this.onAddFeature(event),WPGMZA.InternalEngine.isLegacy()&&($(".wpgmza-table-container-title").hide(),$(".wpgmza-table-container").hide(),featureString=this.featureType.charAt(0).toUpperCase()+this.featureType.slice(1),$("#wpgmza-table-container-"+featureString).show(),$("#wpgmza-table-container-title-"+featureString).show())},WPGMZA.FeaturePanel.prototype.onTabDeactivated=function(){this.discardChanges(),this.setTargetFeature(null)},WPGMZA.FeaturePanel.prototype.onAddFeature=function(event){this.drawingManager.setDrawingMode(this.featureType)},WPGMZA.FeaturePanel.prototype.onEditFeature=function(event){var name="data-edit-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.select(event)},WPGMZA.FeaturePanel.prototype.onDeleteFeature=function(event){var self=this,name="data-delete-"+this.featureType+"-id",event=$(event.currentTarget).attr(name),name="/"+this.featureType+"s/",feature=this.map["get"+WPGMZA.capitalizeWords(this.featureType)+"ByID"](event);confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(this.featureDataTable.dataTable.processing(!0),WPGMZA.restAPI.call(name+event,{method:"DELETE",success:function(data,status,xhr){self.map["remove"+WPGMZA.capitalizeWords(self.featureType)](feature),self.featureDataTable.reload()}}))},WPGMZA.FeaturePanel.prototype.onDrawingModeChanged=function(event){$(this.drawingInstructionsElement).detach(),$(this.editingInstructionsElement).detach(),this.drawingManager.mode==this.featureType&&this.showInstructions()},WPGMZA.FeaturePanel.prototype.onDrawingComplete=function(event){var event=event["engine"+WPGMZA.capitalizeWords(this.featureType)],formData=this.serializeFormData(),geometryField=$(this.element).find("textarea[data-ajax-name$='data']"),formData=(delete formData.polydata,WPGMZA[WPGMZA.capitalizeWords(this.featureType)].createInstance(formData,event));this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.map["add"+WPGMZA.capitalizeWords(this.featureType)](formData),this.setTargetFeature(formData),geometryField.length&&geometryField.val(JSON.stringify(formData.getGeometry())),this.featureType},WPGMZA.FeaturePanel.prototype.onPropertyChanged=function(event){var feature=this.feature;feature&&(feature._dirtyFields||(feature._dirtyFields=[]),$(this.element).find(":input[data-ajax-name]").each(function(index,el){var key=$(el).attr("data-ajax-name");feature[key]&&-1===feature._dirtyFields.indexOf(key)&&feature[key]!==$(el).val()&&feature._dirtyFields.push(key),feature[key]=$(el).val()}),feature.updateNativeFeature())},WPGMZA.FeaturePanel.prototype.onFeatureChanged=function(event){var geometryField=$(this.element).find("textarea[data-ajax-name$='data']");geometryField.length&&geometryField.val(JSON.stringify(this.feature.getGeometry()))},WPGMZA.FeaturePanel.prototype.onSave=function(event){WPGMZA.EmbeddedMedia.detatchAll();var self=this,id=$(self.element).find("[data-ajax-name='id']").val(),data=this.serializeFormData(),route="/"+this.featureType+"s/",isNew=-1==id;"circle"!=this.featureType||data.center?"rectangle"!=this.featureType||data.cornerA?"polygon"!=this.featureType||data.polydata?"polyline"!=this.featureType||data.polydata?(isNew||(route+=id),WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),self.sidebarTriggerDelegate("busy"),WPGMZA.restAPI.call(route,{method:"POST",data:data,success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;(functionSuffix=self.map["get"+functionSuffix+"ByID"](id))&&self.map[removeFunction](functionSuffix),self.setTargetFeature(null),self.showPreloader(!1),functionSuffix=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](functionSuffix),self.featureDataTable.reload(),self.onTabActivated(event),self.reset(),isNew?self.sidebarTriggerDelegate("created"):self.sidebarTriggerDelegate("saved"),WPGMZA.notification(WPGMZA.capitalizeWords(self.featureType)+" "+(isNew?"Added":"Saved"))}})):alert(WPGMZA.localized_strings.no_shape_polyline):alert(WPGMZA.localized_strings.no_shape_polygon):alert(WPGMZA.localized_strings.no_shape_rectangle):alert(WPGMZA.localized_strings.no_shape_circle)},WPGMZA.FeaturePanel.prototype.sidebarTriggerDelegate=function(type){type="sidebar-delegate-"+type;$(this.element).trigger({type:type,feature:this.featureType})},WPGMZA.FeaturePanel.prototype.initWritersBlock=function(element){!element||WPGMZA.InternalEngine.isLegacy()||"undefined"==typeof WritersBlock||(this.writersblock=new WritersBlock(element,this.getWritersBlockConfig()),this.writersblock.elements&&this.writersblock.elements.editor&&($(this.writersblock.elements.editor).on("click",".wpgmza-embedded-media",event=>{event.stopPropagation(),event.currentTarget&&(event.currentTarget.wpgmzaEmbeddedMedia||(event.currentTarget.wpgmzaEmbeddedMedia=WPGMZA.EmbeddedMedia.createInstance(event.currentTarget,this.writersblock.elements.editor)),event.currentTarget.wpgmzaEmbeddedMedia.onSelect())}),$(this.writersblock.elements.editor).on("media_resized",()=>{this.writersblock.onEditorChange()})))},WPGMZA.FeaturePanel.prototype.getWritersBlockConfig=function(){return{customTools:[{tag:"shared-blocks",tools:{"custom-media":{icon:"fa fa-file-image-o",title:"Upload Media",action:editor=>{"undefined"!=typeof wp&&void 0!==wp.media&&void 0!==WPGMZA.openMediaDialog&&WPGMZA.openMediaDialog((mediaId,mediaUrl,media)=>{if(mediaUrl)if(media.type)switch(media.type){case"image":editor.writeHtml(`<img class='wpgmza-embedded-media' src='${mediaUrl}' />`);break;case"video":editor.writeHtml(`<video class='wpgmza-embedded-media' controls src='${mediaUrl}'></video>`);break;case"audio":editor.writeHtml(`<audio controls src='${mediaUrl}'></audio>`)}else WPGMZA.notification("We couldn't determine the type of media being added")},{title:"Select media",button:{text:"Add media"},multiple:!1,library:{type:["video","image","audio"]}})}},"code-editor":{icon:"fa fa-code",title:"Code Editor (HTML)",action:editor=>{if(editor._codeEditorActive){if(editor.elements._codeEditor){editor.elements.editor.classList.remove("wpgmza-hidden"),editor.elements._codeEditor.classList.add("wpgmza-hidden");let toolbarItems=editor.elements.toolbar.querySelectorAll("a.tool");for(let tool of toolbarItems)"codeeditor"!==tool.getAttribute("data-value")?tool.classList.remove("wpgmza-writersblock-disabled"):tool.classList.remove("wpgmza-writersblock-hold-state");$(editor.elements._codeEditor).trigger("wpgmza-writersblock-code-edited")}editor._codeEditorActive=!1}else{var tool;editor.elements._codeEditor||(editor.elements._codeEditor=editor.createElement("textarea",["writersblock-wpgmza-code-editor"]),editor.elements._codeEditor.setAttribute("placeholder","\x3c!-- Add HTML Here --\x3e"),editor.elements.wrap.appendChild(editor.elements._codeEditor),editor.elements._codeEditor.__editor=editor,$(editor.elements._codeEditor).on("wpgmza-writersblock-code-edited",function(){const target=$(this).get(0);if(target.__editor){let editedHtml=target.__editor.elements._codeEditor.value;editedHtml=editedHtml.replaceAll("\n","");const validator=document.createElement("div");validator.innerHTML=editedHtml,validator.innerHTML===editedHtml&&(target.__editor.elements.editor.innerHTML=validator.innerHTML,target.__editor.onEditorChange())}}),$(editor.elements._codeEditor).on("change input",function(){$(this).trigger("wpgmza-writersblock-code-edited")})),editor.elements.editor.classList.add("wpgmza-hidden"),editor.elements._codeEditor.classList.remove("wpgmza-hidden");for(tool of editor.elements.toolbar.querySelectorAll("a.tool"))"codeeditor"!==tool.getAttribute("data-value")?tool.classList.add("wpgmza-writersblock-disabled"):tool.classList.add("wpgmza-writersblock-hold-state");if(editor.elements.editor.innerHTML&&0<editor.elements.editor.innerHTML.trim().length){let sourceHtml=editor.elements.editor.innerHTML;sourceHtml=sourceHtml.replaceAll(/<\/(\w+)>/g,"</$1>\n"),editor.elements._codeEditor.value=sourceHtml}editor._codeEditorActive=!0}}}}}],enabledTools:["p","h1","h2","createlink","unlink","bold","italic","underline","strikeThrough","justifyLeft","justifyCenter","justifyRight","insertUnorderedList","insertOrderedList","insertHorizontalRule","custom-media","code-editor"],events:{onUpdateSelection:packet=>{packet.instance&&setTimeout(()=>{const pingedSelection=window.getSelection();pingedSelection&&0===pingedSelection.toString().trim().length&&this.writersblock.hidePopupTools()},10)}}}},WPGMZA.FeaturePanel.prototype.hasDirtyField=function(field){if(this.feature&&this.feature._dirtyFields){if(this.feature._dirtyFields instanceof Array&&-1!==this.feature._dirtyFields.indexOf(field))return!0}else if(!this.feature)return!0;return!1}}),jQuery(function($){WPGMZA.MarkerPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.MarkerPanel,WPGMZA.FeaturePanel),WPGMZA.MarkerPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProMarkerPanel:WPGMZA.MarkerPanel)(element,mapEditPage)},WPGMZA.MarkerPanel.prototype.initDefaults=function(){var self=this;WPGMZA.FeaturePanel.prototype.initDefaults.apply(this,arguments),this.adjustSubMode=!1,WPGMZA.InternalEngine.isLegacy()&&this.onTabActivated(null),$(document.body).on("click","[data-adjust-"+this.featureType+"-id]",function(event){self.onAdjustFeature(event)}),$(document.body).on("click",".wpgmza_approve_btn",function(event){self.onApproveMarker(event)})},WPGMZA.MarkerPanel.prototype.onAdjustFeature=function(event){var name="data-adjust-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.adjustSubMode=!0,this.select(event)},WPGMZA.MarkerPanel.prototype.onApproveMarker=function(event){var self=this,event="/"+this.featureType+"s/"+$(event.currentTarget).attr("id");WPGMZA.restAPI.call(event,{method:"POST",data:{approved:"1"},success:function(data,status,xhr){self.featureDataTable.reload()}})},WPGMZA.MarkerPanel.prototype.onFeatureChanged=function(event){var aPos,pos;this.adjustSubMode?(aPos=this.feature.getPosition())&&($(this.element).find("[data-ajax-name='lat']").val(aPos.lat),$(this.element).find("[data-ajax-name='lng']").val(aPos.lng)):(aPos=$(this.element).find("input[data-ajax-name$='address']")).length&&(pos=this.feature.getPosition(),aPos.val(pos.lat+", "+pos.lng),aPos.trigger("change"))},WPGMZA.MarkerPanel.prototype.setTargetFeature=function(feature){var prev;WPGMZA.FeaturePanel.prevEditableFeature&&(prev=WPGMZA.FeaturePanel.prevEditableFeature).setOpacity&&prev.setOpacity(1),$(this.element).find("[data-ajax-name]").removeAttr("disabled"),$(this.element).find("fieldset").show(),$(this.element).find(".wpgmza-adjust-mode-notice").addClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","hidden"),$(this.element).find('[data-ajax-name="lng"]').attr("type","hidden"),$(this.element).find(".wpgmza-hide-in-adjust-mode").removeClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").addClass("wpgmza-hidden"),feature?(feature.setOpacity&&feature.setOpacity(.7),feature.getMap().panTo(feature.getPosition()),this.adjustSubMode&&($(this.element).find("[data-ajax-name]").attr("disabled","disabled"),$(this.element).find("fieldset:not(.wpgmza-always-on)").hide(),$(this.element).find(".wpgmza-adjust-mode-notice").removeClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","text").removeAttr("disabled"),$(this.element).find('[data-ajax-name="lng"]').attr("type","text").removeAttr("disabled"),$(this.element).find(".wpgmza-hide-in-adjust-mode").addClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").removeClass("wpgmza-hidden"))):this.adjustSubMode=!1,WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments)},WPGMZA.MarkerPanel.prototype.onSave=function(event){var self=this,geocoder=WPGMZA.Geocoder.createInstance(),geocodingData={address:$(this.element).find("[data-ajax-name='address']").val()},cloud_lat=(WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),!1),cloud_lng=!1,cloud_lat=(0<document.getElementsByName("lat").length&&(cloud_lat=document.getElementsByName("lat")[0].value),0<document.getElementsByName("lng").length&&(cloud_lng=document.getElementsByName("lng")[0].value),cloud_lat&&cloud_lng&&(WPGMZA_localized_data.settings.googleMapsApiKey&&""!==WPGMZA_localized_data.settings.googleMapsApiKey||(geocodingData.lat=parseFloat(cloud_lat),geocodingData.lng=parseFloat(cloud_lng))),!this.hasDirtyField("address"));this.adjustSubMode||cloud_lat?WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments):geocoder.geocode(geocodingData,function(results,status){switch(status){case WPGMZA.Geocoder.ZERO_RESULTS:return alert(WPGMZA.localized_strings.zero_results),void self.showPreloader(!1);case WPGMZA.Geocoder.SUCCESS:break;case WPGMZA.Geocoder.NO_ADDRESS:return alert(WPGMZA.localized_strings.no_address),void self.showPreloader(!1);default:WPGMZA.Geocoder.FAIL;return alert(WPGMZA.localized_strings.geocode_fail),void self.showPreloader(!1)}var result=results[0];$(self.element).find("[data-ajax-name='lat']").val(result.lat),$(self.element).find("[data-ajax-name='lng']").val(result.lng),WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments)}),WPGMZA.mapEditPage.map.resetBounds()}}),jQuery(function($){WPGMZA.CirclePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.CirclePanel,WPGMZA.FeaturePanel),WPGMZA.CirclePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProCirclePanel:WPGMZA.CirclePanel)(element,mapEditPage)},WPGMZA.CirclePanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getCenter().toString()),$(this.element).find("[data-ajax-name='radius']").val(this.feature.getRadius())},WPGMZA.CirclePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.CirclePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.CirclePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}});var wpgmza_autoCompleteDisabled=!1;jQuery(function($){"map-edit"==WPGMZA.currentPage&&(WPGMZA.MapEditPage=function(){var self=this,element=document.body;WPGMZA.EventDispatcher.call(this),WPGMZA.settings.internalEngine&&!WPGMZA.InternalEngine.isLegacy()||$("#wpgmaps_options fieldset").wrapInner("<div class='wpgmza-flex'></div>"),this.themePanel=new WPGMZA.ThemePanel,this.themeEditor=new WPGMZA.ThemeEditor,this.sidebarGroupings=new WPGMZA.SidebarGroupings,this.map=WPGMZA.maps[0],(!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.1.0")>=WPGMZA.Version.EQUAL_TO)&&(this.drawingManager=WPGMZA.DrawingManager.createInstance(this.map)),this.initDataTables(),this.initFeaturePanels(),this.initJQueryUIControls(),"en"!==WPGMZA.locale&&(WPGMZA.InternalEngine.isLegacy()?$("#datatable_no_result_message,#datatable_search_string").parent():$("#datatable_no_result_message,#datatable_search_string")).parent().hide(),$("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,self.map)}),$('#wpgmza-map-edit-page input[type="color"]').each(function(){var buttonClass=WPGMZA.InternalEngine.isLegacy()?"button-secondary":"wpgmza-button";$("<div class='"+buttonClass+" wpgmza-paste-color-btn' title='Paste a HEX color code'><i class='fa fa-clipboard' aria-hidden='true'></i></div>").insertAfter(this)}),jQuery("body").on("click",".wpgmza_ac_result",function(e){var index=jQuery(this).data("id"),lat=jQuery(this).data("lat"),lng=jQuery(this).data("lng"),index=jQuery("#wpgmza_item_address_"+index).html();jQuery("input[name='lat']").val(lat),jQuery("input[name='lng']").val(lng),jQuery("#wpgmza_add_address_map_editor").val(index),jQuery("#wpgmza_autocomplete_search_results").hide()}),jQuery("body").on("click",".wpgmza-paste-color-btn",function(){try{var colorBtn=$(this);if(!navigator||!navigator.clipboard||!navigator.clipboard.readText)return;navigator.clipboard.readText().then(function(textcopy){colorBtn.parent().find('input[type="color"]').val("#"+textcopy.replace("#","").trim())}).catch(function(err){console.error("WP Go Maps: Could not access clipboard",err)})}catch(c_ex){}}),jQuery("body").on("focusout","#wpgmza_add_address_map_editor",function(e){setTimeout(function(){jQuery("#wpgmza_autocomplete_search_results").fadeOut("slow")},500)});$("body").on("keypress",".wpgmza-address",function(e){self.shouldAddressFieldUseEnhancedAutocomplete(this)&&self.onKeyUpEnhancedAutocomplete(e,this)}),$("#wpgmza_map_height_type").on("change",function(event){self.onMapHeightTypeChange(event)}),$("#advanced-markers .wpgmza-feature-drawing-instructions").remove(),$("[data-search-area='auto']").hide(),$(document.body).on("click","[data-wpgmza-admin-marker-datatable] input[name='mark']",function(event){self.onShiftClick(event)}),$("#wpgmza_map_type").on("change",function(event){self.onMapTypeChanged(event)}),$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")}),this.on("markerupdated",function(event){self.onMarkerUpdated(event)}),this.map&&(this.map.on("zoomchanged",function(event){self.onZoomChanged(event)}),this.map.on("boundschanged",function(event){self.onBoundsChanged(event)}),this.map.on("rightclick",function(event){self.onRightClick(event)})),$(element).on("click",".wpgmza_poly_del_btn",function(event){self.onDeletePolygon(event)}),$(element).on("click",".wpgmza_polyline_del_btn",function(event){self.onDeletePolyline(event)}),$(element).on("click",".wpgmza_dataset_del_btn",function(evevnt){self.onDeleteHeatmap(event)}),$(element).on("click",".wpgmza_circle_del_btn",function(event){self.onDeleteCircle(event)}),$(element).on("click",".wpgmza_rectangle_del_btn",function(event){self.onDeleteRectangle(event)}),$(element).on("click","#wpgmza-open-advanced-theme-data",function(event){event.preventDefault(),$(".wpgmza_theme_data_container").toggleClass("wpgmza_hidden")}),$(element).on("click",".wpgmza-shortcode-button",function(event){event.preventDefault(),$(element).find(".wpgmza-shortcode-description").addClass("wpgmza-hidden");const nearestRow=$(this).closest(".wpgmza-row");if(nearestRow.length){const nearestHint=nearestRow.next(".wpgmza-shortcode-description");nearestHint.length&&nearestHint.removeClass("wpgmza-hidden")}event=$(this).text();if(event.length){const temp=jQuery("<input>");$(document.body).append(temp),temp.val(event).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Shortcode Copied")}})},WPGMZA.extend(WPGMZA.MapEditPage,WPGMZA.EventDispatcher),WPGMZA.MapEditPage.createInstance=function(){return new(WPGMZA.isProVersion()&&WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?WPGMZA.ProMapEditPage:WPGMZA.MapEditPage)},WPGMZA.MapEditPage.prototype.initDataTables=function(){var self=this;$("[data-wpgmza-datatable][data-wpgmza-rest-api-route]").each(function(index,el){var featureType=$(el).attr("data-wpgmza-feature-type");self[featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)})},WPGMZA.MapEditPage.prototype.initFeaturePanels=function(){var self=this;$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").each(function(index,el){var featurePanelElement=$(el).find(".wpgmza-feature-panel-container > *"),el=$(el).attr("data-wpgmza-feature-type"),panelClassName=WPGMZA.capitalizeWords(el)+"Panel",panelClassName=WPGMZA[panelClassName].createInstance(featurePanelElement,self);self[el+"Panel"]=panelClassName})},WPGMZA.MapEditPage.prototype.initJQueryUIControls=function(){var mapContainer,self=this;$("#wpgmaps_tabs").tabs(),mapContainer=$("#wpgmza-map-container").detach(),$("#wpgmaps_tabs_markers").tabs(),$(".map_wrapper").prepend(mapContainer),$("#slider-range-max").slider({range:"max",min:1,max:21,value:$("input[name='map_start_zoom']").val(),slide:function(event,ui){$("input[name='map_start_zoom']").val(ui.value),self.map.setZoom(ui.value)}})},WPGMZA.MapEditPage.prototype.onShiftClick=function(event){var checkbox=event.currentTarget,checkbox=jQuery(checkbox).closest("tr");if(this.lastSelectedRow&&event.shiftKey){var event=this.lastSelectedRow.index(),currIndex=checkbox.index(),startIndex=Math.min(event,currIndex),endIndex=Math.max(event,currIndex),rows=jQuery("[data-wpgmza-admin-marker-datatable] tbody>tr");jQuery("[data-wpgmza-admin-marker-datatable] input[name='mark']").prop("checked",!1);for(var i=startIndex;i<=endIndex;i++)jQuery(rows[i]).find("input[name='mark']").prop("checked",!0)}this.lastSelectedRow=checkbox},WPGMZA.MapEditPage.prototype.onMapTypeChanged=function(event){if("open-layers"!=WPGMZA.settings.engine){var mapTypeId;switch(event.target.value){case"2":mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"3":mapTypeId=google.maps.MapTypeId.HYBRID;break;case"4":mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:mapTypeId=google.maps.MapTypeId.ROADMAP}this.map.setOptions({mapTypeId:mapTypeId})}},WPGMZA.MapEditPage.prototype.onMarkerUpdated=function(event){this.markerDataTable.reload()},WPGMZA.MapEditPage.prototype.onZoomChanged=function(event){$(".map_start_zoom").val(this.map.getZoom())},WPGMZA.MapEditPage.prototype.onBoundsChanged=function(event){var location=this.map.getCenter();$("#wpgmza_start_location").val(location.lat+","+location.lng),$("input[name='map_start_lat']").val(location.lat),$("input[name='map_start_lng']").val(location.lng),$("#wpgmza_start_zoom").val(this.map.getZoom()),$("#wpgmaps_save_reminder").show()},WPGMZA.MapEditPage.prototype.onMapHeightTypeChange=function(event){"%"==event.target.value&&$("#wpgmza_height_warning").show()},WPGMZA.MapEditPage.prototype.onRightClick=function(event){var marker,self=this;this.drawingManager&&this.drawingManager.mode!=WPGMZA.DrawingManager.MODE_MARKER||(this.rightClickMarker||(this.rightClickMarker=WPGMZA.Marker.createInstance({draggable:!0}),this.rightClickMarker.on("dragend",function(event){$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng)}),this.map.on("click",function(event){self.rightClickMarker.setMap(null),$(".wpgmza-marker-panel [data-ajax-name='address']").val("")})),(marker=this.rightClickMarker).setPosition(event.latLng),marker.setMap(this.map),$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng))},WPGMZA.MapEditPage.prototype.onDeletePolygon=function(event){var cur_id=parseInt($(this).attr("id")),data={action:"delete_poly",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_Path[cur_id].setMap(null),delete WPGM_PathData[cur_id],delete WPGM_Path[cur_id],$("#wpgmza_poly_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeletePolyline=function(event){var cur_id=$(this).attr("id"),data={action:"delete_polyline",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_PathLine[cur_id].setMap(null),delete WPGM_PathLineData[cur_id],delete WPGM_PathLine[cur_id],$("#wpgmza_polyline_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteHeatmap=function(event){var cur_id=$(this).attr("id"),data={action:"delete_dataset",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){heatmap[cur_id].setMap(null),delete heatmap[cur_id],$("#wpgmza_heatmap_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteCircle=function(event){var circle_id=$(this).attr("id"),data={action:"delete_circle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,circle_id:circle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-5 table").replaceWith(response),circle_array.forEach(function(circle){if(circle.id==circle_id)return circle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.onDeleteRectangle=function(event){var rectangle_id=$(this).attr("id"),data={action:"delete_rectangle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,rectangle_id:rectangle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-6 table").replaceWith(response),rectangle_array.forEach(function(rectangle){if(rectangle.id==rectangle_id)return rectangle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.shouldAddressFieldUseEnhancedAutocomplete=function(element){return!(!element||!element.id||"wpgmza_add_address_map_editor"!==element.id)},WPGMZA.MapEditPage.prototype.onKeyUpEnhancedAutocomplete=function(event,element){if(!element._wpgmzaAddressInput||!element._wpgmzaAddressInput.googleAutocompleteLoaded){element._wpgmzaEnhancedAutocomplete||(element._wpgmzaEnhancedAutocomplete={identifiedTypingSpeed:!1,typingTimeout:!1,startTyping:!1,keyStrokeCount:1,avgTimeBetweenStrokes:300,totalTimeForKeyStrokes:0,ajaxRequest:!1,ajaxTimeout:!1,requestErrorCount:0,disabledFlag:!1,disabledCheckCount:0});let enhancedAutocomplete=element._wpgmzaEnhancedAutocomplete;if(-1!==["Escape","Alt","Control","Option","Shift","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].indexOf(event.key))$("#wpgmza_autocomplete_search_results").hide();else{if(enhancedAutocomplete.disabledFlag)return enhancedAutocomplete.disabledCheckCount++,void(5<=enhancedAutocomplete.disabledCheckCount&&this.swapEnhancedAutocomplete(element));let googleApiKey=!1;if(WPGMZA.settings&&(WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key)&&(googleApiKey=WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key),!enhancedAutocomplete.identifiedTypingSpeed){let d=new Date;return enhancedAutocomplete.typingTimeout&&clearTimeout(enhancedAutocomplete.typingTimeout),enhancedAutocomplete.typingTimeout=setTimeout(()=>{enhancedAutocomplete.startTyping=!1,enhancedAutocomplete.avgTimeBetweenStrokes=300,enhancedAutocomplete.totalTimeForKeyStrokes=0},1500),enhancedAutocomplete.startTyping?1<enhancedAutocomplete.keyStrokeCount&&(enhancedAutocomplete.currentTimeBetweenStrokes=d.getTime()-enhancedAutocomplete.startTyping,enhancedAutocomplete.totalTimeForKeyStrokes+=enhancedAutocomplete.currentTimeBetweenStrokes,enhancedAutocomplete.avgTimeBetweenStrokes=enhancedAutocomplete.totalTimeForKeyStrokes/(enhancedAutocomplete.keyStrokeCount-1),enhancedAutocomplete.startTyping=d.getTime(),3<=enhancedAutocomplete.keyStrokeCount&&(enhancedAutocomplete.identifiedTypingSpeed=enhancedAutocomplete.avgTimeBetweenStrokes)):enhancedAutocomplete.startTyping=d.getTime(),void enhancedAutocomplete.keyStrokeCount++}if(enhancedAutocomplete.ajaxTimeout&&clearTimeout(enhancedAutocomplete.ajaxTimeout),$("#wpgmza_autocomplete_search_results").html('<div class="wpgmza-pad-5">Searching...</div>'),$("#wpgmza_autocomplete_search_results").show(),enhancedAutocomplete.currentSearch=$(element).val(),enhancedAutocomplete.currentSearch&&0<enhancedAutocomplete.currentSearch.trim().length){if(!1!==enhancedAutocomplete.ajaxRequest&&enhancedAutocomplete.ajaxRequest.abort(),enhancedAutocomplete.requestParams={domain:window.location.hostname},"localhost"===enhancedAutocomplete.requestParams.domain)try{var path,paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(path=paths[1],enhancedAutocomplete.requestParams.domain+="-"+path)}catch(ex){}enhancedAutocomplete.requestParams.url="https://wpgmaps.us-3.evennode.com/api/v1/autocomplete",enhancedAutocomplete.requestParams.query={s:enhancedAutocomplete.currentSearch,d:enhancedAutocomplete.requestParams.domain,hash:WPGMZA.siteHash},googleApiKey&&(enhancedAutocomplete.requestParams.query.k=googleApiKey),WPGMZA.settings&&(WPGMZA.settings.engine&&(enhancedAutocomplete.requestParams.query.engine=WPGMZA.settings.engine),WPGMZA.settings.internal_engine&&(enhancedAutocomplete.requestParams.query.build=WPGMZA.settings.internal_engine)),enhancedAutocomplete.requestParams.query=new URLSearchParams(enhancedAutocomplete.requestParams.query),enhancedAutocomplete.requestParams.url+="?"+enhancedAutocomplete.requestParams.query.toString(),enhancedAutocomplete.ajaxTimeout=setTimeout(()=>{enhancedAutocomplete.ajaxRequest=$.ajax({url:enhancedAutocomplete.requestParams.url,type:"GET",dataType:"json",success:results=>{try{if(results instanceof Object)if(results.error)"error1"==results.error?($("#wpgmza_autoc_disabled").html(WPGMZA.localized_strings.cloud_api_key_error_1),$("#wpgmza_autoc_disabled").fadeIn("slow"),$("#wpgmza_autocomplete_search_results").hide(),enhancedAutocomplete.disabledFlag=!0):(console.error(results.error),this.swapEnhancedAutocomplete(element));else{$("#wpgmza_autocomplete_search_results").html("");let html="";for(var i in results)html+="<div class='wpgmza_ac_result "+(""===html?"":"border-top")+"' data-id='"+i+"' data-lat='"+results[i].lat+"' data-lng='"+results[i].lng+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i].icon+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>"+results[i].place_name+"</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>"+results[i].formatted_address+"</span></div></div></div>";(!html||html.length<=0)&&(html="<div class='p-2 text-center'><small>No results found...</small></div>"),$("#wpgmza_autocomplete_search_results").html(html),$("#wpgmza_autocomplete_search_results").show(),enhancedAutocomplete.disabledCheckCount=0,enhancedAutocomplete.requestErrorCount=0}else this.swapEnhancedAutocomplete(element)}catch(ex){console.error("WP Go Maps Plugin: There was an error returning the list of places for your search"),this.swapEnhancedAutocomplete(element)}},error:()=>{$("#wpgmza_autocomplete_search_results").hide(),enhancedAutocomplete.requestErrorCount++,3<=enhancedAutocomplete.requestErrorCount&&this.swapEnhancedAutocomplete(element)}})},2*enhancedAutocomplete.identifiedTypingSpeed)}else $("#wpgmza_autocomplete_search_results").hide()}}},WPGMZA.MapEditPage.prototype.swapEnhancedAutocomplete=function(element){element._wpgmzaAddressInput&&!element._wpgmzaAddressInput.googleAutocompleteLoaded&&element._wpgmzaAddressInput.loadGoogleAutocomplete(),$("#wpgmza_autocomplete_search_results").hide(),$("#wpgmza_autoc_disabled").hide()},$(document).ready(function(event){WPGMZA.mapEditPage=WPGMZA.MapEditPage.createInstance()}))}),jQuery(function($){WPGMZA.PointlabelPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PointlabelPanel,WPGMZA.FeaturePanel),WPGMZA.PointlabelPanel.createInstance=function(element,mapEditPage){return new WPGMZA.PointlabelPanel(element,mapEditPage)},WPGMZA.PointlabelPanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getPosition().toString())},WPGMZA.PointlabelPanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.PointlabelPanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.PointlabelPanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){WPGMZA.PolygonPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolygonPanel,WPGMZA.FeaturePanel),WPGMZA.PolygonPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolygonPanel:WPGMZA.PolygonPanel)(element,mapEditPage)},Object.defineProperty(WPGMZA.PolygonPanel.prototype,"drawingManagerCompleteEvent",{get:function(){return"polygonclosed"}})}),jQuery(function($){WPGMZA.PolylinePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolylinePanel,WPGMZA.FeaturePanel),WPGMZA.PolylinePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolylinePanel:WPGMZA.PolylinePanel)(element,mapEditPage)}}),jQuery(function($){WPGMZA.RectanglePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.RectanglePanel,WPGMZA.FeaturePanel),WPGMZA.RectanglePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProRectanglePanel:WPGMZA.RectanglePanel)(element,mapEditPage)},WPGMZA.RectanglePanel.prototype.updateFields=function(){var bounds=this.feature.getBounds();bounds.north&&bounds.west&&bounds.south&&bounds.east&&($(this.element).find("[data-ajax-name='cornerA']").val(bounds.north+", "+bounds.west),$(this.element).find("[data-ajax-name='cornerB']").val(bounds.south+", "+bounds.east))},WPGMZA.RectanglePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.RectanglePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.RectanglePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.OLCircle=function(options,olFeature){var center,geom;Parent.call(this,options,olFeature),options=options||{},olFeature?(olFeature=olFeature.getGeometry(),center=ol.proj.toLonLat(olFeature.getCenter()),geom=olFeature,options.center=new WPGMZA.LatLng(center[1],center[0]),options.radius=olFeature.getRadius()/1e3):geom=new ol.geom.Circle(ol.proj.fromLonLat([parseFloat(options.center.lng),parseFloat(options.center.lat)]),1e3*options.radius),this.layer=new ol.layer.Vector({source:new ol.source.Vector}),this.olFeature=new ol.Feature({geometry:geom}),this.layer.getSource().addFeature(this.olFeature),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaCircle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.OLCircle.prototype=Object.create(Parent.prototype),WPGMZA.OLCircle.prototype.constructor=WPGMZA.OLCircle,WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)},WPGMZA.OLCircle.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olFeature.getGeometry().getCenter());return new WPGMZA.LatLng({lat:lonLat[1],lng:lonLat[0]})},WPGMZA.OLCircle.prototype.recreate=function(){var radius,y,x;this.olFeature&&(this.layer.getSource().removeFeature(this.olFeature),delete this.olFeature),this.center&&this.radius&&(radius=1e3*parseFloat(this.radius),x=this.center.lng,y=this.center.lat,x=ol.geom.Polygon.circular([x,y],radius,64).clone().transform("EPSG:4326","EPSG:3857"),this.olFeature=new ol.Feature(x),this.layer.getSource().addFeature(this.olFeature))},WPGMZA.OLCircle.prototype.setVisible=function(visible){this.layer.setVisible(!!visible)},WPGMZA.OLCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.recreate()},WPGMZA.OLCircle.prototype.getRadius=function(){return this.layer.getSource().getFeatures()[0].getGeometry().getRadius()/1e3},WPGMZA.OLCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments)},WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLDrawingManager=function(map){WPGMZA.DrawingManager.call(this,map),this.source=new ol.source.Vector({wrapX:!1}),this.layer=new ol.layer.Vector({source:this.source})},WPGMZA.OLDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.OLDrawingManager.prototype.constructor=WPGMZA.OLDrawingManager,WPGMZA.OLDrawingManager.prototype.setOptions=function(options){var params={};options.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(options.strokeColor,options.strokeOpacity)})),options.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(options.fillColor,options.fillOpacity)})),this.layer.setStyle(new ol.style.Style(params))},WPGMZA.OLDrawingManager.prototype.setDrawingMode=function(mode){var type,endEventType,self=this;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),this.interaction&&(this.map.olMap.removeInteraction(this.interaction),this.interaction=null),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:return;case WPGMZA.DrawingManager.MODE_POLYGON:type="Polygon",endEventType="polygonclosed";break;case WPGMZA.DrawingManager.MODE_POLYLINE:type="LineString",endEventType="polylinecomplete";break;case WPGMZA.DrawingManager.MODE_CIRCLE:type="Circle",endEventType="circlecomplete";break;case WPGMZA.DrawingManager.MODE_RECTANGLE:type="Circle",endEventType="rectanglecomplete";break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:return;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:type="Circle",endEventType="imageoverlaycomplete";break;default:throw new Error("Invalid drawing mode")}WPGMZA.mapEditPage&&WPGMZA.mapEditPage.selectInteraction&&WPGMZA.mapEditPage.map.olMap.removeInteraction(WPGMZA.mapEditPage.selectInteraction);var options={source:this.source,type:type};mode!=WPGMZA.DrawingManager.MODE_RECTANGLE&&mode!=WPGMZA.DrawingManager.MODE_IMAGEOVERLAY||(options.geometryFunction=ol.interaction.Draw.createBox()),this.interaction=new ol.interaction.Draw(options),this.interaction.on("drawend",function(event){if(endEventType){var WPGMZAEvent=new WPGMZA.Event(endEventType);switch(mode){case WPGMZA.DrawingManager.MODE_POLYGON:WPGMZAEvent.enginePolygon=event.feature;break;case WPGMZA.DrawingManager.MODE_POLYLINE:WPGMZAEvent.enginePolyline=event.feature;break;case WPGMZA.DrawingManager.MODE_CIRCLE:WPGMZAEvent.engineCircle=event.feature;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:WPGMZAEvent.engineRectangle=event.feature;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:WPGMZAEvent.engineImageoverlay={engineRectangle:event.feature};break;default:throw new Error("Drawing mode not implemented")}self.dispatchEvent(WPGMZAEvent)}}),this.map.olMap.addInteraction(this.interaction)}}),jQuery(function($){WPGMZA.OLFeature=function(options){WPGMZA.assertInstangeOf(this,"OLFeature"),WPGMZA.Feature.apply(this,arguments)},WPGMZA.extend(WPGMZA.OLFeature,WPGMZA.Feature),WPGMZA.OLFeature.getOLStyle=function(options){var translated={};if(!options)return new ol.style.Style;var name,opacity,weight,map={fillcolor:"fillColor",opacity:"fillOpacity",linecolor:"strokeColor",lineopacity:"strokeOpacity",linethickness:"strokeWeight"};for(name in options=$.extend({},options))name in map&&(options[map[name]]=options[name]);return options.strokeColor&&(weight=opacity=1,"strokeOpacity"in options&&(opacity=options.strokeOpacity),"strokeWeight"in options&&(weight=options.strokeWeight),translated.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToString(options.strokeColor,opacity),width:weight})),options.fillColor&&(opacity=1,"fillOpacity"in options&&(opacity=options.fillOpacity),weight=WPGMZA.hexOpacityToString(options.fillColor,opacity),translated.fill=new ol.style.Fill({color:weight})),new ol.style.Style(translated)},WPGMZA.OLFeature.setInteractionsOnFeature=function(feature,enable){enable?feature.modifyInteraction||(feature.snapInteraction=new ol.interaction.Snap({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.snapInteraction),feature.modifyInteraction=new ol.interaction.Modify({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.modifyInteraction),feature.modifyInteraction.on("modifyend",function(event){feature.trigger("change")})):feature.modifyInteraction&&(feature.map&&(feature.map.olMap.removeInteraction(feature.snapInteraction),feature.map.olMap.removeInteraction(feature.modifyInteraction)),delete feature.snapInteraction,delete feature.modifyInteraction)}}),jQuery(function($){WPGMZA.OLGeocoder=function(){},WPGMZA.OLGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.OLGeocoder.prototype.constructor=WPGMZA.OLGeocoder,WPGMZA.OLGeocoder.prototype.getResponseFromCache=function(query,callback){WPGMZA.restAPI.call("/geocode-cache",{data:{query:JSON.stringify(query)},success:function(response,xhr,status){response.lng=response.lon,callback(response)},useCompressedPathVariable:!0})},WPGMZA.OLGeocoder.prototype.getResponseFromNominatim=function(options,callback){var data={q:options.address,format:"json"};options.componentRestrictions&&options.componentRestrictions.country?data.country=options.componentRestrictions.country:options.country&&(data.country=options.country),$.ajax("https://nominatim.openstreetmap.org/search/",{data:data,success:function(response,xhr,status){callback(response)},error:function(response,xhr,status){callback(null,WPGMZA.Geocoder.FAIL)}})},WPGMZA.OLGeocoder.prototype.cacheResponse=function(query,response){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_store_nominatim_cache",query:JSON.stringify(query),response:JSON.stringify(response)},method:"POST"})},WPGMZA.OLGeocoder.prototype.clearCache=function(callback){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_clear_nominatim_cache"},method:"POST",success:function(response){callback(response)}})},WPGMZA.OLGeocoder.prototype.getLatLngFromAddress=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.getAddressFromLatLng=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.geocode=function(options,callback){var latLng,finish,location,self=this;if(!options)throw new Error("Invalid options");if(WPGMZA.LatLng.REGEXP.test(options.address))return latLng=WPGMZA.LatLng.fromString(options.address),void callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng}],WPGMZA.Geocoder.SUCCESS);if(options.location&&(options.latLng=new WPGMZA.LatLng(options.location)),options.address)location=options.address,finish=function(response,status){for(var i=0;i<response.length;i++)response[i].geometry={location:new WPGMZA.LatLng({lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)})},response[i].latLng={lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)},response[i].bounds=new WPGMZA.LatLngBounds(new WPGMZA.LatLng({lat:response[i].boundingbox[1],lng:response[i].boundingbox[2]}),new WPGMZA.LatLng({lat:response[i].boundingbox[0],lng:response[i].boundingbox[3]})),response[i].lng=response[i].lon;callback(response,status)};else{if(!options.latLng)throw new Error("You must supply either a latLng or address");location=options.latLng.toString(),finish=function(response,status){var address=response[0].display_name;options.fullResult&&(address=response[0]),callback([address],status)}}var query={location:location,options:options};this.getResponseFromCache(query,function(response){response.length?finish(response,WPGMZA.Geocoder.SUCCESS):self.getResponseFromNominatim($.extend(options,{address:location}),function(response,status){status==WPGMZA.Geocoder.FAIL?callback(null,WPGMZA.Geocoder.FAIL):0==response.length?callback([],WPGMZA.Geocoder.ZERO_RESULTS):(finish(response,WPGMZA.Geocoder.SUCCESS),self.cacheResponse(query,response))})})}}),jQuery(function($){var Parent;WPGMZA.OLInfoWindow=function(feature){var self=this;Parent.call(this,feature),this.element=$("<div class='wpgmza-infowindow ol-info-window-container ol-info-window-plain'></div>")[0],$(this.element).on("click",".ol-info-window-close",function(event){self.close()})},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.OLInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.OLInfoWindow.prototype.constructor=WPGMZA.OLInfoWindow,Object.defineProperty(WPGMZA.OLInfoWindow.prototype,"isPanIntoViewAllowed",{get:function(){return!0}}),WPGMZA.OLInfoWindow.prototype.open=function(map,feature){var self=this,latLng=feature.getPosition();return!!latLng&&(!!Parent.prototype.open.call(this,map,feature)&&(this.parent=map,this.overlay&&this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=new ol.Overlay({element:this.element,stopEvent:!0,insertFirst:!0}),this.overlay.setPosition(ol.proj.fromLonLat([latLng.lng,latLng.lat])),self.feature.map.olMap.addOverlay(this.overlay),$(this.element).show(),this.setContent(this.content),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&WPGMZA.getImageDimensions(feature.getIcon(),function(size){$(self.element).css({left:Math.round(size.width/2)+"px"})}),this.autoResize(),this.trigger("infowindowopen"),void this.trigger("domready")))},WPGMZA.OLInfoWindow.prototype.close=function(event){this.overlay&&($(this.element).hide(),WPGMZA.InfoWindow.prototype.close.call(this),this.trigger("infowindowclose"),this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=null)},WPGMZA.OLInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html;var eaBtn=WPGMZA.isProVersion()?"":this.addEditButton();$(this.element).html(eaBtn+"<i class='fa fa-times ol-info-window-close' aria-hidden='true'></i>"+html)},WPGMZA.OLInfoWindow.prototype.setOptions=function(options){options.maxWidth&&$(this.element).css({"max-width":options.maxWidth+"px"})},WPGMZA.OLInfoWindow.prototype.onOpen=function(){var self=this,imgs=$(this.element).find("img"),numImages=imgs.length,numImagesLoaded=0;WPGMZA.InfoWindow.prototype.onOpen.apply(this,arguments);let canAutoPan=!0;function inside(el,viewport){el=$(el)[0].getBoundingClientRect(),viewport=$(viewport)[0].getBoundingClientRect();return el.left>=viewport.left&&el.left<=viewport.right&&el.right<=viewport.right&&el.right>=viewport.left&&el.top>=viewport.top&&el.top<=viewport.bottom&&el.bottom<=viewport.bottom&&el.bottom>=viewport.top}function panIntoView(){var height=$(self.element).height();self.feature.map.animateNudge(0,.45*-(height+180),self.feature.getPosition())}void 0!==this.feature._osDisableAutoPan&&this.feature._osDisableAutoPan&&(canAutoPan=!1,this.feature._osDisableAutoPan=!1),this.isPanIntoViewAllowed&&canAutoPan&&(imgs.each(function(index,el){el.onload=function(){++numImagesLoaded!=numImages||inside(self.element,self.feature.map.element)||panIntoView()}}),0!=numImages||inside(self.element,self.feature.map.element)||panIntoView())},WPGMZA.OLInfoWindow.prototype.autoResize=function(){var mapWidth,mapHeight;$(this.element).css("max-height","none"),$(this.feature.map.element).length&&(mapHeight=$(this.feature.map.element).height(),mapWidth=$(this.feature.map.element).width(),mapHeight=mapHeight-180,$(this.element).height()>mapHeight&&$(this.element).css("max-height",mapHeight+"px"),mapHeight=648<mapWidth?648:mapWidth-120,$(this.element).width()>mapHeight&&$(this.element).css("max-width",mapHeight+"px"))}}),jQuery(function($){var Parent;WPGMZA.OLMap=function(element,options){var self=this,options=(Parent.call(this,element),this.setOptions(options),this.settings.toOLViewOptions());if($(this.element).html(""),this.olMap=new ol.Map({target:$(element)[0],layers:[this.getTileLayer()],view:this.getTileView(options)}),this.customTileMode&&!ol.extent.containsCoordinate(this.customTileModeExtent,this.olMap.getView().getCenter())){const view=this.olMap.getView();view.setCenter(ol.extent.getCenter(this.customTileModeExtent)),this.wrapLongitude(),this.onBoundsChanged()}function isSettingDisabled(value){return"yes"===value||!!value}this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_draggable)):interaction instanceof ol.interaction.DoubleClickZoom?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_clickzoom)):interaction instanceof ol.interaction.MouseWheelZoom&&interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_scroll))},this),"greedy"!=this.settings.wpgmza_force_greedy_gestures&&"yes"!=this.settings.wpgmza_force_greedy_gestures&&1!=this.settings.wpgmza_force_greedy_gestures&&(this.gestureOverlay=$("<div class='wpgmza-gesture-overlay'></div>"),this.gestureOverlayTimeoutID=null,WPGMZA.isTouchDevice()?(this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&self.olMap.removeInteraction(interaction)}),this.olMap.addInteraction(new ol.interaction.DragPan({condition:function(olBrowserEvent){let allowed=!1;olBrowserEvent=olBrowserEvent.originalEvent;return olBrowserEvent instanceof PointerEvent?this.targetPointers&&this.targetPointers.length&&(allowed=2==this.targetPointers.length):olBrowserEvent instanceof TouchEvent&&olBrowserEvent.touches&&olBrowserEvent.touches.length&&(allowed=2==olBrowserEvent.touches.length),allowed||self.showGestureOverlay(),allowed}})),this.gestureOverlay.text(WPGMZA.localized_strings.use_two_fingers)):(this.olMap.on("wheel",function(event){if(!ol.events.condition.platformModifierKeyOnly(event))return self.showGestureOverlay(),event.originalEvent.preventDefault(),!1}),this.gestureOverlay.text(WPGMZA.localized_strings.use_ctrl_scroll_to_zoom))),this.olMap.getControls().forEach(function(control){control instanceof ol.control.Zoom&&1==WPGMZA.settings.wpgmza_settings_map_zoom&&self.olMap.removeControl(control)},this),isSettingDisabled(WPGMZA.settings.wpgmza_settings_map_full_screen_control)||this.olMap.addControl(new ol.control.FullScreen),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(this.markerLayer=new ol.layer.Vector({source:new ol.source.Vector({features:[]})}),this.olMap.addLayer(this.markerLayer),this.olMap.on("click",function(event){var event=self.olMap.getFeaturesAtPixel(event.pixel);event&&event.length&&((event=event[0].wpgmzaMarker)&&(event.trigger("click"),event.trigger("select")))})),this.olMap.on("movestart",function(event){self.isBeingDragged=!0}),this.olMap.on("moveend",function(event){self.wrapLongitude(),self.isBeingDragged=!1,self.dispatchEvent("dragend"),self.onIdle()}),this.olMap.getView().on("change:resolution",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged"),setTimeout(function(){self.onIdle()},10)}),this.olMap.getView().on("change",function(){self.onBoundsChanged()}),self.onBoundsChanged(),this._mouseoverNativeFeatures=[],this.olMap.on("pointermove",function(event){if(!event.dragging){try{var featuresUnderPixel=event.target.getFeaturesAtPixel(event.pixel)}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),-1==self._mouseoverNativeFeatures.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseover"),self._mouseoverNativeFeatures.push(nativeFeature)));for(i=self._mouseoverNativeFeatures.length-1;0<=i;i--)nativeFeature=self._mouseoverNativeFeatures[i],-1==nativeFeaturesUnderPixel.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseout"),self._mouseoverNativeFeatures.splice(i,1))}}),$(this.element).on("click contextmenu",function(event){event=event||window.event;var isRight,latLng=self.pixelsToLatLng(event.offsetX,event.offsetY);if("which"in event?isRight=3==event.which:"button"in event&&(isRight=2==event.button),1==event.which||1==event.button){if(self.isBeingDragged)return;if($(event.target).closest(".ol-marker").length)return;try{var featuresUnderPixel=self.olMap.getFeaturesAtPixel([event.offsetX,event.offsetY])}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),nativeFeature.trigger("click"));return 0<featuresUnderPixel.length?void 0:void self.trigger({type:"click",latLng:latLng})}if(isRight)return self.onRightClick(event)}),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},Parent=WPGMZA.isProVersion()?WPGMZA.ProMap:WPGMZA.Map,WPGMZA.OLMap.prototype=Object.create(Parent.prototype),WPGMZA.OLMap.prototype.constructor=WPGMZA.OLMap,WPGMZA.OLMap.prototype.getTileLayer=function(){var options={};if(WPGMZA.settings.tile_server_url&&(options.url=WPGMZA.settings.tile_server_url,"custom_override"===WPGMZA.settings.tile_server_url&&(WPGMZA.settings.tile_server_url_override&&""!==WPGMZA.settings.tile_server_url_override.trim()?options.url=WPGMZA.settings.tile_server_url_override.trim():options.url="https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"),WPGMZA.settings.open_layers_api_key&&""!==WPGMZA.settings.open_layers_api_key&&(options.url+="?apikey="+WPGMZA.settings.open_layers_api_key.trim())),this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height){var width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height);let imageDimensions=null;try{window.devicePixelRatio&&1!=window.devicePixelRatio&&(imageDimensions=[width,height])}catch(ex){}if(this.settings.custom_tile_image)return width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),new ol.layer.Image({source:new ol.source.ImageStatic({attributions:this.settings.custom_tile_image_attribution||"©",url:this.settings.custom_tile_image,projection:height,imageExtent:width,imageSize:imageDimensions})})}return new ol.layer.Tile({source:new ol.source.OSM(options)})},WPGMZA.OLMap.prototype.getTileView=function(viewOptions){var width,height;return this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height&&(width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height),this.settings.custom_tile_image&&(width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),viewOptions.projection=height,this.customTileModeExtent=width,this.customTileMode=!0)),new ol.View(viewOptions)},WPGMZA.OLMap.prototype.wrapLongitude=function(){var transformed=ol.proj.transform(this.olMap.getView().getCenter(),"EPSG:3857","EPSG:4326"),transformed={lat:transformed[1],lng:transformed[0]};-180<=transformed.lng&&transformed.lng<=180||(transformed.lng=transformed.lng-360*Math.floor(transformed.lng/360),180<transformed.lng&&(transformed.lng-=360),this.setCenter(transformed))},WPGMZA.OLMap.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olMap.getView().getCenter());return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.setCenter=function(latLng){var view=this.olMap.getView();WPGMZA.Map.prototype.setCenter.call(this,latLng),view.setCenter(ol.proj.fromLonLat([latLng.lng,latLng.lat])),this.wrapLongitude(),this.onBoundsChanged()},WPGMZA.OLMap.prototype.getBounds=function(){var bounds=this.olMap.getView().calculateExtent(this.olMap.getSize()),nativeBounds=new WPGMZA.LatLngBounds,topLeft=ol.proj.toLonLat([bounds[0],bounds[1]]),bounds=ol.proj.toLonLat([bounds[2],bounds[3]]);return nativeBounds.north=topLeft[1],nativeBounds.south=bounds[1],nativeBounds.west=topLeft[0],nativeBounds.east=bounds[0],nativeBounds},WPGMZA.OLMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=this.olMap.getView(),southWest=ol.extent.boundingExtent([ol.proj.fromLonLat([parseFloat(southWest.lng),parseFloat(southWest.lat)]),ol.proj.fromLonLat([parseFloat(northEast.lng),parseFloat(northEast.lat)])]);bounds.fit(southWest,this.olMap.getSize())},WPGMZA.OLMap.prototype.panTo=function(latLng,zoom){var view=this.olMap.getView(),options={center:ol.proj.fromLonLat([parseFloat(latLng.lng),parseFloat(latLng.lat)]),duration:500};1<arguments.length&&(options.zoom=parseInt(zoom)),view.animate(options)},WPGMZA.OLMap.prototype.getZoom=function(){return Math.round(this.olMap.getView().getZoom())},WPGMZA.OLMap.prototype.setZoom=function(value){this.olMap.getView().setZoom(value)},WPGMZA.OLMap.prototype.getMinZoom=function(){return this.olMap.getView().getMinZoom()},WPGMZA.OLMap.prototype.setMinZoom=function(value){this.olMap.getView().setMinZoom(value)},WPGMZA.OLMap.prototype.getMaxZoom=function(){return this.olMap.getView().getMaxZoom()},WPGMZA.OLMap.prototype.setMaxZoom=function(value){this.olMap.getView().setMaxZoom(value)},WPGMZA.OLMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.olMap&&this.olMap.getView().setProperties(this.settings.toOLViewOptions())},WPGMZA.OLMap.prototype.addMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.addOverlay(marker.overlay):(this.markerLayer.getSource().addFeature(marker.feature),marker.featureInSource=!0),Parent.prototype.addMarker.call(this,marker)},WPGMZA.OLMap.prototype.removeMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.removeOverlay(marker.overlay):(this.markerLayer.getSource().removeFeature(marker.feature),marker.featureInSource=!1),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.OLMap.prototype.addPolygon=function(polygon){this.olMap.addLayer(polygon.layer),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.OLMap.prototype.removePolygon=function(polygon){this.olMap.removeLayer(polygon.layer),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.OLMap.prototype.addPolyline=function(polyline){this.olMap.addLayer(polyline.layer),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.OLMap.prototype.removePolyline=function(polyline){this.olMap.removeLayer(polyline.layer),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.OLMap.prototype.addCircle=function(circle){this.olMap.addLayer(circle.layer),Parent.prototype.addCircle.call(this,circle)},WPGMZA.OLMap.prototype.removeCircle=function(circle){this.olMap.removeLayer(circle.layer),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.OLMap.prototype.addRectangle=function(rectangle){this.olMap.addLayer(rectangle.layer),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.removeRectangle=function(rectangle){this.olMap.removeLayer(rectangle.layer),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));x=this.olMap.getCoordinateFromPixel([x,y]);if(!x)return{x:null,y:null};y=ol.proj.toLonLat(x);return{lat:y[1],lng:y[0]}},WPGMZA.OLMap.prototype.latLngToPixels=function(latLng){latLng=ol.proj.fromLonLat([latLng.lng,latLng.lat]),latLng=this.olMap.getPixelFromCoordinate(latLng);return latLng?{x:latLng[0],y:latLng[1]}:{x:null,y:null}},WPGMZA.OLMap.prototype.enableBicycleLayer=function(value){value?(this.bicycleLayer||(this.bicycleLayer=new ol.layer.Tile({source:new ol.source.OSM({url:"http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png"})})),this.olMap.addLayer(this.bicycleLayer)):this.bicycleLayer&&this.olMap.removeLayer(this.bicycleLayer)},WPGMZA.OLMap.prototype.showGestureOverlay=function(){var self=this;clearTimeout(this.gestureOverlayTimeoutID),$(this.gestureOverlay).stop().animate({opacity:"100"}),$(this.element).append(this.gestureOverlay),$(this.gestureOverlay).css({"line-height":$(this.element).height()+"px",opacity:"1.0"}),$(this.gestureOverlay).show(),this.gestureOverlayTimeoutID=setTimeout(function(){self.gestureOverlay.fadeOut(2e3)},2e3)},WPGMZA.OLMap.prototype.onElementResized=function(event){this.olMap.updateSize()},WPGMZA.OLMap.prototype.onRightClick=function(event){if($(event.target).closest(".ol-marker, .wpgmza_modern_infowindow, .wpgmza-modern-store-locator").length)return!0;var parentOffset=$(this.element).offset(),relX=event.pageX-parentOffset.left,parentOffset=event.pageY-parentOffset.top,relX=this.pixelsToLatLng(relX,parentOffset);return this.trigger({type:"rightclick",latLng:relX}),$(this.element).trigger({type:"rightclick",latLng:relX}),event.preventDefault(),!1},WPGMZA.OLMap.prototype.enableAllInteractions=function(){this.olMap.getInteractions().forEach(function(interaction){(interaction instanceof ol.interaction.DragPan||interaction instanceof ol.interaction.DoubleClickZoom||interaction instanceof ol.interaction.MouseWheelZoom)&&interaction.setActive(!0)},this)}}),jQuery(function($){var Parent;WPGMZA.OLMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toLatLngLiteral():options[name]instanceof WPGMZA.Map||(settings[name]=options[name]);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT){var img=$("<img alt=''/>")[0];img.onload=function(event){self.updateElementHeight(),self.map&&self.map.olMap.updateSize()},img.src=WPGMZA.defaultMarkerIcon,this.element=$("<div class='ol-marker'></div>")[0],this.element.appendChild(img),this.element.wpgmzaMarker=this,$(this.element).on("mouseover",function(event){self.dispatchEvent("mouseover")}),$(this.element).on("mouseout",function(event){self.dispatchEvent("mouseout")}),this.overlay=new ol.Overlay({element:this.element,position:origin,positioning:"bottom-center",stopEvent:!1}),this.overlay.setPosition(origin),this.animation?this.setAnimation(this.animation):this.anim&&this.setAnimation(this.anim),options&&options.draggable&&this.setDraggable(!0),this.rebindClickListener()}else{if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)throw new Error("Invalid marker render mode");this.feature=new ol.Feature({geometry:new ol.geom.Point(origin)}),this.feature.setStyle(this.getVectorLayerStyle()),(this.feature.wpgmzaMarker=this).feature.wpgmzaFeature=this}this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.OLMarker.prototype=Object.create(Parent.prototype),WPGMZA.OLMarker.prototype.constructor=WPGMZA.OLMarker,WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT="element",WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER="vector",WPGMZA.OLMarker.renderMode=WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT,"open-layers"==WPGMZA.settings.engine&&WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(WPGMZA.OLMarker.defaultVectorLayerStyle=new ol.style.Style({image:new ol.style.Icon({anchor:[.5,1],src:WPGMZA.defaultMarkerIcon})}),WPGMZA.OLMarker.hiddenVectorLayerStyle=new ol.style.Style({})),WPGMZA.OLMarker.prototype.getVectorLayerStyle=function(){return this.vectorLayerStyle||WPGMZA.OLMarker.defaultVectorLayerStyle},WPGMZA.OLMarker.prototype.updateElementHeight=function(height,calledOnFocus){var self=this;0!=(height=height||$(this.element).find("img").height())||calledOnFocus||$(window).one("focus",function(event){self.updateElementHeight(!1,!0)}),$(this.element).css({height:height+"px"})},WPGMZA.OLMarker.prototype.addLabel=function(){this.setLabel(this.getLabelText())},WPGMZA.OLMarker.prototype.setLabel=function(label){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker labels are not currently supported in Vector Layer rendering mode"):label?(this.label||(this.label=$("<div class='ol-marker-label'/>"),$(this.element).append(this.label)),this.label.html(label)):this.label&&$(this.element).find(".ol-marker-label").remove()},WPGMZA.OLMarker.prototype.getVisible=function(visible){if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)return"none"!=this.overlay.getElement().style.display},WPGMZA.OLMarker.prototype.setVisible=function(visible){var style;Parent.prototype.setVisible.call(this,visible),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?visible?(style=this.getVectorLayerStyle(),this.feature.setStyle(style)):this.feature.setStyle(null):this.overlay.getElement().style.display=visible?"block":"none"},WPGMZA.OLMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng);latLng=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?this.feature.setGeometry(new ol.geom.Point(latLng)):this.overlay.setPosition(latLng)},WPGMZA.OLMarker.prototype.updateOffset=function(x,y){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker offset is not currently supported in Vector Layer rendering mode"):(x=this._offset.x,y=this._offset.y,this.element.style.position="relative",this.element.style.left=x+"px",this.element.style.top=y+"px")},WPGMZA.OLMarker.prototype.setAnimation=function(anim){if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker animation is not currently supported in Vector Layer rendering mode");else switch(Parent.prototype.setAnimation.call(this,anim),anim){case WPGMZA.Marker.ANIMATION_NONE:$(this.element).removeAttr("data-anim");break;case WPGMZA.Marker.ANIMATION_BOUNCE:$(this.element).attr("data-anim","bounce");break;case WPGMZA.Marker.ANIMATION_DROP:$(this.element).attr("data-anim","drop")}},WPGMZA.OLMarker.prototype.setDraggable=function(draggable){var self=this;if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker dragging is not currently supported in Vector Layer rendering mode");else if(draggable){draggable={disabled:!1};this.jQueryDraggableInitialized||(draggable.start=function(event){self.onDragStart(event)},draggable.stop=function(event){self.onDragEnd(event)});try{$(this.element).draggable(draggable),this.jQueryDraggableInitialized=!0,this.rebindClickListener()}catch(ex){}}else $(this.element).draggable({disabled:!0})},WPGMZA.OLMarker.prototype.setOpacity=function(opacity){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker opacity is not currently supported in Vector Layer rendering mode"):$(this.element).css({opacity:opacity})},WPGMZA.OLMarker.prototype.onDragStart=function(event){this.isBeingDragged=!0,this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!1)})},WPGMZA.OLMarker.prototype.onDragEnd=function(event){var offset_top=parseFloat($(this.element).css("top").match(/-?\d+/)[0]),offset_left=parseFloat($(this.element).css("left").match(/-?\d+/)[0]),currentLatLng=($(this.element).css({top:"0px",left:"0px"}),this.getPosition()),currentLatLng=this.map.latLngToPixels(currentLatLng),offset_left={x:currentLatLng.x+offset_left,y:currentLatLng.y+offset_top},currentLatLng=this.map.pixelsToLatLng(offset_left);this.setPosition(currentLatLng),this.isBeingDragged=!1,this.trigger({type:"dragend",latLng:currentLatLng}),this.trigger("change"),"yes"!=this.map.settings.wpgmza_settings_map_draggable&&this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!0)})},WPGMZA.OLMarker.prototype.onElementClick=function(event){event=event.currentTarget.wpgmzaMarker;event.isBeingDragged||(event.dispatchEvent("click"),event.dispatchEvent("select"))},WPGMZA.OLMarker.prototype.rebindClickListener=function(){$(this.element).off("click",this.onElementClick),$(this.element).on("click",this.onElementClick)}}),jQuery(function($){WPGMZA.OLModernStoreLocatorCircle=function(map,settings){WPGMZA.ModernStoreLocatorCircle.call(this,map,settings)},WPGMZA.OLModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.OLModernStoreLocatorCircle.prototype.constructor=WPGMZA.OLModernStoreLocatorCircle,WPGMZA.OLModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this,olViewportElement=$(this.map.element).children(".ol-viewport");this.canvas=document.createElement("canvas"),this.canvas.className="wpgmza-ol-canvas-overlay",olViewportElement.find(".ol-layers .ol-layer:first-child").prepend(this.canvas),this.renderFunction=function(event){self.canvas.width==olViewportElement.width()&&self.canvas.height==olViewportElement.height()||(self.canvas.width=olViewportElement.width(),self.canvas.height=olViewportElement.height(),$(this.canvas).css({width:olViewportElement.width()+"px",height:olViewportElement.height()+"px"})),self.draw()},this.map.olMap.on("postrender",this.renderFunction)},WPGMZA.OLModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvas.getContext(type)},WPGMZA.OLModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvas.width,height:this.canvas.height}},WPGMZA.OLModernStoreLocatorCircle.prototype.getCenterPixels=function(){return this.map.latLngToPixels(this.settings.center)},WPGMZA.OLModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){return{x:0,y:0}},WPGMZA.OLModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var center=new WPGMZA.LatLng(this.settings.center),outer=new WPGMZA.LatLng(center),km=(outer.moveByDistance(km,90),this.map.latLngToPixels(center)),center=this.map.latLngToPixels(outer);return Math.abs(center.x-km.x)},WPGMZA.OLModernStoreLocatorCircle.prototype.getScale=function(){return 1},WPGMZA.OLModernStoreLocatorCircle.prototype.destroy=function(){$(this.canvas).remove(),this.map.olMap.un("postrender",this.renderFunction),this.map=null,this.canvas=null}}),jQuery(function($){WPGMZA.OLModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),(WPGMZA.isProVersion()?$(".wpgmza_map[data-map-id='"+map_id+"']"):$("#wpgmza_map")).append(this.element)},WPGMZA.OLModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator),WPGMZA.OLModernStoreLocator.prototype.constructor=WPGMZA.OLModernStoreLocator}),jQuery(function($){var Parent=WPGMZA.Pointlabel;WPGMZA.OLPointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),this.updateNativeFeature()},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.OLPointlabel,Parent),WPGMZA.OLPointlabel.prototype.updateNativeFeature=function(){var options=this.getScalarProperties();options.name&&this.textFeature.setText(options.name),this.textFeature.refresh()}}),jQuery(function($){var Parent;WPGMZA.OLPolygon=function(options,olFeature){if(Parent.call(this,options,olFeature),olFeature)this.olFeature=olFeature;else{var coordinates=[[]];if(options&&options.polydata)for(var paths=this.parseGeometry(options.polydata),i=0;i<=paths.length;i++)coordinates[0].push(ol.proj.fromLonLat([parseFloat(paths[i%paths.length].lng),parseFloat(paths[i%paths.length].lat)]));this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolygon:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.OLPolygon.prototype=Object.create(Parent.prototype),WPGMZA.OLPolygon.prototype.constructor=WPGMZA.OLPolygon,WPGMZA.OLPolygon.prototype.getGeometry=function(){for(var coordinates=this.olFeature.getGeometry().getCoordinates()[0],result=[],i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolygon.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent;WPGMZA.OLPolyline=function(options,olFeature){if(WPGMZA.Polyline.call(this,options),olFeature)this.olFeature=olFeature;else{var coordinates=[];if(options&&options.polydata)for(var path=this.parseGeometry(options.polydata),i=0;i<path.length;i++){if(!WPGMZA.isNumeric(path[i].lat))throw new Error("Invalid latitude");if(!WPGMZA.isNumeric(path[i].lng))throw new Error("Invalid longitude");coordinates.push(ol.proj.fromLonLat([parseFloat(path[i].lng),parseFloat(path[i].lat)]))}this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolyline:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.Polyline,WPGMZA.OLPolyline.prototype=Object.create(Parent.prototype),WPGMZA.OLPolyline.prototype.constructor=WPGMZA.OLPolyline,WPGMZA.OLPolyline.prototype.getGeometry=function(){for(var result=[],coordinates=this.olFeature.getGeometry().getCoordinates(),i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolyline.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.OLRectangle=function(options,olFeature){var coordinates;Parent.apply(this,arguments),olFeature?this.olFeature=olFeature:(coordinates=[[]],options.cornerA&&options.cornerB&&(coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)]))),this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})),this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaRectangle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.extend(WPGMZA.OLRectangle,Parent),WPGMZA.OLRectangle.prototype.getBounds=function(){var extent=this.olFeature.getGeometry().getExtent(),topLeft=ol.extent.getTopLeft(extent),extent=ol.extent.getBottomRight(extent),topLeft=ol.proj.toLonLat(topLeft),extent=ol.proj.toLonLat(extent),topLeft=new WPGMZA.LatLng(topLeft[1],topLeft[0]),extent=new WPGMZA.LatLng(extent[1],extent[0]);return new WPGMZA.LatLngBounds(topLeft,extent)},WPGMZA.OLRectangle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.OLTextOverlay(options)},WPGMZA.extend(WPGMZA.OLText,WPGMZA.Text),WPGMZA.OLText.prototype.refresh=function(){this.overlay&&this.overlay.refresh()}}),jQuery(function($){WPGMZA.OLTextOverlay=function(options){var coords;options.position&&options.map&&(coords=ol.proj.fromLonLat([options.position.lng,options.position.lat]),this.olFeature=new ol.Feature({geometry:new ol.geom.Point(coords)}),this.styleOptions=options||{},this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.getStyle()}),this.layer.setZIndex(10),options.map.olMap.addLayer(this.layer))},WPGMZA.OLTextOverlay.prototype.getStyle=function(){var i,defaults={fontSize:11,fillColor:"#000000",strokeColor:"#ffffff"};for(i in defaults)void 0===this.styleOptions[i]&&(this.styleOptions[i]=defaults[i]);let labelStyles=new ol.style.Style({text:new ol.style.Text({font:"bold "+this.styleOptions.fontSize+'px "Open Sans", "Arial Unicode MS", "sans-serif"',placement:"point",fill:new ol.style.Fill({color:this.styleOptions.fillColor}),stroke:new ol.style.Stroke({color:this.styleOptions.strokeColor,width:1})})});return labelStyles.getText().setText(this.styleOptions.text||""),labelStyles},WPGMZA.OLTextOverlay.prototype.refresh=function(){this.layer&&this.layer.setStyle(this.getStyle())},WPGMZA.OLTextOverlay.prototype.setPosition=function(position){this.olFeature&&(position=ol.proj.fromLonLat([parseFloat(position.lng),parseFloat(position.lat)]),this.olFeature.setGeometry(new ol.geom.Point(position)))},WPGMZA.OLTextOverlay.prototype.setText=function(text){this.styleOptions.text=text},WPGMZA.OLTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.styleOptions.fontSize=size},WPGMZA.OLTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.fillColor=color},WPGMZA.OLTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.strokeColor=color},WPGMZA.OLTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.layer&&this.layer.setOpacity(opacity)},WPGMZA.OLTextOverlay.prototype.remove=function(){this.styleOptions.map&&this.styleOptions.map.olMap.removeLayer(this.layer)}}),jQuery(function($){WPGMZA.OLThemeEditor=function(){var self=this;WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-ol-theme-editor"),this.element.length?(this.mapElement=WPGMZA.maps[0].element,$(this.element).find('input[name="wpgmza_ol_tile_filter"]').on("change",function(event){self.onFilterChange(event.currentTarget)})):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.OLThemeEditor,WPGMZA.EventDispatcher),WPGMZA.OLThemeEditor.prototype.onFilterChange=function(context){context instanceof HTMLInputElement&&(context=$(context).val(),this.mapElement&&$(this.mapElement).css("--wpgmza-ol-tile-filter",context))}}),jQuery(function($){WPGMZA.OLThemePanel=function(){var self=this;this.element=$("#wpgmza-ol-theme-panel"),this.map=WPGMZA.maps[0],this.element.length?(this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),WPGMZA.OLThemePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.OLThemePanel.prototype.onThemePresetClick=function(event){if(event.currentTarget){const element=$(event.currentTarget);event=element.data("filter");if(event&&$('input[name="wpgmza_ol_tile_filter"]').length){const input=$('input[name="wpgmza_ol_tile_filter"]').get(0);input.wpgmzaCSSFilterInput&&input.wpgmzaCSSFilterInput.parseFilters(event)}}}}),jQuery(function($){WPGMZA.DataTable=function(element){var version,self=this;if(!$.fn.dataTable)return console.warn("The dataTables library is not loaded. Cannot create a dataTable. Did you enable 'Do not enqueue dataTables'?"),void(WPGMZA.settings.wpgmza_do_not_enqueue_datatables&&WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT&&alert("You have selected 'Do not enqueue DataTables' in WP Go Maps' settings. No 3rd party software is loading the DataTables library. Because of this, the marker table cannot load. Please uncheck this option to use the marker table."));$.fn.dataTable.ext?$.fn.dataTable.ext.errMode="throw":(version=$.fn.dataTable.version||"unknown",console.warn("You appear to be running an outdated or modified version of the dataTables library. This may cause issues with table functionality. This is usually caused by 3rd party software loading an older version of DataTables. The loaded version is "+version+", we recommend version 1.10.12 or above.")),$.fn.dataTable.Api&&$.fn.dataTable.Api.register("processing()",function(show){return this.iterator("table",function(ctx){ctx.oApi._fnProcessingDisplay(ctx,show)})}),this.element=element,(this.element.wpgmzaDataTable=this).dataTableElement=this.getDataTableElement();var settings=this.getDataTableSettings();this.phpClass=$(element).attr("data-wpgmza-php-class"),(this.wpgmzaDataTable=this).useCompressedPathVariable=WPGMZA.restAPI.isCompressedPathVariableSupported&&WPGMZA.settings.enable_compressed_path_variables,this.method=this.useCompressedPathVariable?"GET":"POST",null==this.getLanguageURL()||"//cdn.datatables.net/plug-ins/1.10.12/i18n/English.json"==this.getLanguageURL()?(this.dataTable=$(this.dataTableElement).DataTable(settings),this.dataTable.ajax.reload()):$.ajax(this.getLanguageURL(),{success:function(response,status,xhr){self.languageJSON=response,self.dataTable=$(self.dataTableElement).DataTable(settings),self.dataTable.ajax.reload()}})},WPGMZA.DataTable.prototype.getDataTableElement=function(){return $(this.element).find("table")},WPGMZA.DataTable.prototype.onAJAXRequest=function(data,settings){var params={phpClass:this.phpClass},attr=$(this.element).attr("data-wpgmza-ajax-parameters");return attr&&$.extend(params,JSON.parse(attr)),$.extend(data,params)},WPGMZA.DataTable.prototype.onDataTableAjaxRequest=function(data,callback,settings){var self=this,element=this.element,element=$(element).attr("data-wpgmza-rest-api-route"),data=this.onAJAXRequest(data,settings),draw=data.draw;if(delete data.draw,!element)throw new Error("No data-wpgmza-rest-api-route attribute specified");settings={method:"POST",useCompressedPathVariable:!0,data:data,dataType:"json",cache:!this.preventCaching,beforeSend:function(xhr){xhr.setRequestHeader("X-DataTables-Draw",draw)},success:function(response,status,xhr){response.draw=draw,self.lastResponse=response,callback(response),$("[data-marker-icon-src]").each(function(index,element){WPGMZA.MarkerIcon.createInstance($(element).attr("data-marker-icon-src")).applyToElement(element)})}};return WPGMZA.restAPI.call(element,settings)},WPGMZA.DataTable.prototype.getDataTableSettings=function(){var self=this,element=this.element,options={},element=((options=$(element).attr("data-wpgmza-datatable-options")?JSON.parse($(element).attr("data-wpgmza-datatable-options")):options).deferLoading=!0,options.processing=!0,options.serverSide=!0,options.ajax=function(data,callback,settings){return WPGMZA.DataTable.prototype.onDataTableAjaxRequest.apply(self,arguments)},WPGMZA.AdvancedTableDataTable&&this instanceof WPGMZA.AdvancedTableDataTable&&WPGMZA.settings.wpgmza_default_items&&(options.iDisplayLength=parseInt(WPGMZA.settings.wpgmza_default_items)),options.aLengthMenu=[[5,10,25,50,100,-1],["5","10","25","50","100",WPGMZA.localized_strings.all]],this.getLanguageURL());return element&&(options.language={url:element}),options},WPGMZA.DataTable.prototype.getLanguageURL=function(){if(!WPGMZA.locale)return null;var languageURL;switch(WPGMZA.locale.substr(0,2)){case"af":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Afrikaans.json";break;case"sq":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Albanian.json";break;case"am":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Amharic.json";break;case"ar":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Arabic.json";break;case"hy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Armenian.json";break;case"az":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Azerbaijan.json";break;case"bn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bangla.json";break;case"eu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Basque.json";break;case"be":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Belarusian.json";break;case"bg":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bulgarian.json";break;case"ca":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Catalan.json";break;case"zh":languageURL="zh_TW"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Chinese-traditional.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Chinese.json";break;case"hr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Croatian.json";break;case"cs":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Czech.json";break;case"da":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Danish.json";break;case"nl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Dutch.json";break;case"et":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Estonian.json";break;case"fi":languageURL=WPGMZA.locale.match(/^fil/)?WPGMZA.pluginDirURL+"languages/datatables/Filipino.json":WPGMZA.pluginDirURL+"languages/datatables/Finnish.json";break;case"fr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/French.json";break;case"gl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Galician.json";break;case"ka":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Georgian.json";break;case"de":languageURL=WPGMZA.pluginDirURL+"languages/datatables/German.json";break;case"el":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Greek.json";break;case"gu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Gujarati.json";break;case"he":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hebrew.json";break;case"hi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hindi.json";break;case"hu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hungarian.json";break;case"is":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Icelandic.json";break;case"id":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Indonesian.json";break;case"ga":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Irish.json";break;case"it":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Italian.json";break;case"ja":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Japanese.json";break;case"kk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kazakh.json";break;case"ko":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Korean.json";break;case"ky":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kyrgyz.json";break;case"lv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Latvian.json";break;case"lt":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Lithuanian.json";break;case"mk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Macedonian.json";break;case"ml":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Malay.json";break;case"mn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Mongolian.json";break;case"ne":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Nepali.json";break;case"nb":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Bokmal.json";break;case"nn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Nynorsk.json";break;case"ps":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Pashto.json";break;case"fa":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Persian.json";break;case"pl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Polish.json";break;case"pt":languageURL="pt_BR"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Portuguese-Brasil.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Portuguese.json";break;case"ro":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Romanian.json";break;case"ru":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Russian.json";break;case"sr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Serbian.json";break;case"si":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Sinhala.json";break;case"sk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovak.json";break;case"sl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovenian.json";break;case"es":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Spanish.json";break;case"sw":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swahili.json";break;case"sv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swedish.json";break;case"ta":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Tamil.json";break;case"te":languageURL=WPGMZA.pluginDirURL+"languages/datatables/telugu.json";break;case"th":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Thai.json";break;case"tr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Turkish.json";break;case"uk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Ukrainian.json";break;case"ur":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Urdu.json";break;case"uz":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Uzbek.json";break;case"vi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Vietnamese.json";break;case"cy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Welsh.json"}return languageURL},WPGMZA.DataTable.prototype.onAJAXResponse=function(response){},WPGMZA.DataTable.prototype.reload=function(){this.dataTable&&this.dataTable.ajax.reload(null,!1)}}),jQuery(function($){WPGMZA.AdminFeatureDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),this.initModals(),$(element).on("click",".wpgmza.bulk_delete",function(event){self.onBulkDelete(event)}),$(element).on("click",".wpgmza.select_all_markers",function(event){self.onSelectAll(event)}),$(element).on("click",".wpgmza.bulk_edit",function(event){self.onBulkEdit(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)}),$(element).on("click","[data-duplicate-feature-id]",function(event){self.onDuplicate(event)}),$(element).on("click","[data-move-map-feature-id]",function(event){self.onMoveMap(event)})},WPGMZA.extend(WPGMZA.AdminFeatureDataTable,WPGMZA.DataTable),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featurePanel",{get:function(){return WPGMZA.mapEditPage[this.featureType+"Panel"]}}),WPGMZA.AdminFeatureDataTable.prototype.initModals=function(){this.moveModal=!1,this.bulkEditorModal=!1,"marker"===this.featureType&&($(".wpgmza-map-select-modal").length&&(this.moveModal=WPGMZA.GenericModal.createInstance($(".wpgmza-map-select-modal"))),$(".wpgmza-bulk-marker-editor-modal").length&&(this.bulkEditorModal=WPGMZA.GenericModal.createInstance($(".wpgmza-bulk-marker-editor-modal"))))},WPGMZA.AdminFeatureDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaFeatureData=index},options},WPGMZA.AdminFeatureDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0],plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/"+plural+"/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}}))},WPGMZA.AdminFeatureDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminFeatureDataTable.prototype.onBulkEdit=function(event){const self=this,ids=[];WPGMZA.maps[0];const plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),this.bulkEditorModal&&ids.length&&this.bulkEditorModal.show(function(data){data.ids=ids,data.action="bulk_edit",WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:data,success:function(response,status,xhr){self.reload()}})})},WPGMZA.AdminFeatureDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))},WPGMZA.AdminFeatureDataTable.prototype.onDuplicate=function(event){const self=this;let id=!1;id=null==event.currentTarget?event:$(event.currentTarget).attr("data-duplicate-feature-id");event=this.featureType+"s";WPGMZA.restAPI.call("/"+event+"/",{method:"POST",data:{id:id,action:"duplicate"},success:function(response,status,xhr){self.reload()}})},WPGMZA.AdminFeatureDataTable.prototype.onMoveMap=function(event){const self=this;let id=!1,plural=(id=null==event.currentTarget?event:$(event.currentTarget).attr("data-move-map-feature-id"),this.featureType+"s");this.moveModal&&this.moveModal.show(function(data){data=!!data.map_id&&parseInt(data.map_id);data&&WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:{id:id,map_id:data,action:"move_map"},success:function(response,status,xhr){self.reload()}})})}}),jQuery(function($){WPGMZA.AdminMapDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),$(element).on("mousedown","button[data-action='edit']",function(event){switch(event.which){case 1:var map_id=$(event.target).attr("data-map-id");window.location.href=window.location.href+"&action=edit&map_id="+map_id;break;case 2:map_id=$(event.target).attr("data-map-id");window.open(window.location.href+"&action=edit&map_id="+map_id)}}),$(element).find(".wpgmza.select_all_maps").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete_maps").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","button[data-action='duplicate']",function(event){event=$(event.target).attr("data-map-id");WPGMZA.restAPI.call("/maps/",{method:"POST",data:{id:event,action:"duplicate"},success:function(response,status,xhr){self.reload()}})}),$(element).on("click","button[data-action='trash']",function(event){confirm(WPGMZA.localized_strings.map_delete_prompt_text)&&(event=$(event.target).attr("data-map-id"),WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{id:event},success:function(response,status,xhr){self.reload()}}))})},WPGMZA.extend(WPGMZA.AdminMapDataTable,WPGMZA.DataTable),WPGMZA.AdminMapDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMapData=index},options},WPGMZA.AdminMapDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminMapDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMapData.id)}),confirm(WPGMZA.localized_strings.map_bulk_delete_prompt_text)&&WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},$(document).ready(function(event){$("[data-wpgmza-admin-map-datatable]").each(function(index,el){WPGMZA.AdminMapDataTable=new WPGMZA.AdminMapDataTable(el)})})}),jQuery(function($){WPGMZA.AdminMarkerDataTable=function(element){var self=this;this.preventCaching=!0,WPGMZA.DataTable.call(this,element),$(element).on("click","[data-delete-marker-id]",function(event){self.onDeleteMarker(event)}),$(element).find(".wpgmza.select_all_markers").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)})},WPGMZA.AdminMarkerDataTable.prototype=Object.create(WPGMZA.DataTable.prototype),WPGMZA.AdminMarkerDataTable.prototype.constructor=WPGMZA.AdminMarkerDataTable,WPGMZA.AdminMarkerDataTable.createInstance=function(element){return new WPGMZA.AdminMarkerDataTable(element)},WPGMZA.AdminMarkerDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMarkerData=index},options},WPGMZA.AdminMarkerDataTable.prototype.onEditMarker=function(event){WPGMZA.animatedScroll("#wpgmaps_tabs_markers")},WPGMZA.AdminMarkerDataTable.prototype.onDeleteMarker=function(event){var self=this,id=$(event.currentTarget).attr("data-delete-marker-id"),event={action:"delete_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:id};$.post(ajaxurl,event,function(response){WPGMZA.mapEditPage.map.removeMarkerByID(id),self.reload()})},WPGMZA.AdminMarkerDataTable.prototype.onApproveMarker=function(event){var cur_id=$(this).attr("id"),cur_id={action:"approve_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:cur_id};$.post(ajaxurl,cur_id,function(response){wpgmza_InitMap(),wpgmza_reinitialisetbl()})},WPGMZA.AdminMarkerDataTable.prototype.onSelectAll=function(event){$(this.element).find("input[name='mark']").prop("checked",!0)},WPGMZA.AdminMarkerDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMarkerData.id)}),ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/markers/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},WPGMZA.AdminMarkerDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.mapEditPage.map.setZoom(6),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))}});
js/v8/wp-google-maps.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["./wp-google-maps/js/v8/wp-google-maps.combined.js"],"names":["jQuery","$","core","MARKER_PULL_DATABASE","MARKER_PULL_XML","PAGE_MAP_LIST","PAGE_MAP_EDIT","PAGE_SETTINGS","PAGE_STYLING","PAGE_SUPPORT","PAGE_INSTALLER","PAGE_CATEGORIES","PAGE_ADVANCED","PAGE_CUSTOM_FIELDS","maps","events","settings","restAPI","localized_strings","loadingHTML","preloaderHTML","getCurrentPage","WPGMZA","getQueryParamValue","window","location","href","match","getScrollAnimationOffset","scroll_animation_offset","height","getScrollAnimationDuration","scroll_animation_milliseconds","animateScroll","element","milliseconds","offset","animate","scrollTop","top","extend","child","parent","constructor","prototype","Object","create","guid","d","Date","getTime","performance","now","replace","c","r","Math","random","floor","toString","hexOpacityToRGBA","colour","opacity","hex","parseInt","parseFloat","hexOpacityToString","arr","hexToRgba","test","substring","split","length","join","g","b","a","rgbaToString","rgba","latLngRegexp","isLatLngString","str","m","LatLng","lat","lng","stringToLatLng","result","Error","isHexColorString","imageDimensionsCache","getImageDimensions","src","callback","img","document","createElement","onload","event","width","decodeEntities","input","e","String","fromCharCode","isDeveloperMode","this","developer_mode","Cookies","get","isProVersion","_isProVersion","openMediaDialog","config","file_frame","uploader","param","set_to_post_id","open","wp","media","frames","title","button","text","multiple","on","attachment","state","first","toJSON","id","url","getCurrentPosition","error","watch","options","nativeFunction","userLocationDenied","code","message","navigator","geolocation","enableHighAccuracy","position","trigger","err","console","warn","watchPosition","runCatchableTask","friendlyErrorContainer","friendlyError","FriendlyError","html","append","show","capitalizeWords","string","toUpperCase","pluralize","singularize","assertInstanceOf","instance","instanceName","pro","engine","fullInstanceName","getMapByID","i","isGoogleAutocompleteSupported","google","places","Autocomplete","CloudAPI","isBeingUsed","googleAPIStatus","wpgmza_google_api_status","isSafari","ua","userAgent","toLowerCase","isTouchDevice","isDeviceiOS","MSStream","platform","isModernComponentStyleAllowed","InternalEngine","isLegacy","user_interface_style","isElementInView","pageTop","pageBottom","elementTop","elementBottom","isFullScreen","wpgmzaisFullScreen","isNumeric","num","isNaN","isFinite","name","regex","RegExp","decodeURIComponent","notification","time","arguments","setTimeout","find","remove","initMaps","body","each","index","el","wpgmzaMap","Map","createInstance","ex","nextInitTimeoutID","initCapsules","capsuleModules","CapsuleModules","onScroll","isInView","wpgmzaScrollIntoViewTriggerFlag","initInstallerRedirect","hide","key","uc","reloadOnOptIn","reloadOnOptOut","WPGMZA_localized_data","value","useLegacyGlobals","fullscreenElement","preventDefault","ajax","ajaxurl","method","data","action","nonce","ajaxnonce","set","reload","altKey","altKeyDown","elements","filter","protocol","warning","unsecure_geolocation","after","RestAPI","cloudAPI","Compatibility","preventDocumentWriteGoogleMapsAPI","old","write","content","call","compatiblityModule","root","factory","exports","module","define","amd","bind","global","CSS","escape","cssEscape","TypeError","codeUnit","firstCodeUnit","charCodeAt","charAt","PI","deg2rad","deg","Distance","MILES","KILOMETERS","MILES_PER_KILOMETER","KILOMETERS_PER_MILE","uiToMeters","uiDistance","distance_units","uiToKilometers","uiToMiles","kilometersToUI","km","between","lat1","lon1","lat2","lon2","dLat","dLon","sin","cos","atan2","sqrt","EliasFano","isSupported","decodingTablesInitialised","createDecodingTable","decodingTableHighBits","decodingTableDocIDNumber","decodingTableHighBitsCarryover","Uint8Array","zeroCount","j","encode","list","lastDocID","buffer1","bufferLength1","buffer2","bufferLength2","compressedBufferPointer1","compressedBufferPointer2","averageDelta","averageDeltaLog","log2","lowBitsLength","lowBitsMask","prev","maxCompressedSize","ceil","compressedBuffer","forEach","docID","docIDDelta","unaryCodeLength","pointer","decode","resultPointer","lowBitsPointer","listCount","lowBitsCount","lowBits","cb","highBitsPointer","docIDNumber","EventDispatcher","_listenersByType","addEventListener","type","listener","thisObject","useCapture","types","Function","target","hasOwnProperty","push","removeEventListener","obj","splice","off","hasEventListener","dispatchEvent","Event","path","unshift","phase","CAPTURING_PHASE","_cancelled","_triggerListeners","AT_TARGET","BUBBLING_PHASE","topMostElement","customEvent","AddressInput","map","HTMLInputElement","json","fields","attr","JSON","parse","wpgmza_store_locator_restrict","country","_wpgmzaAddressInput","googleAutocompleteLoaded","shouldAutoLoadGoogleAutocomplete","loadGoogleAutocomplete","cloudAutoComplete","CloudAutocomplete","googleMapsApiKey","wpgmza_google_maps_api_key","googleAutoComplete","setComponentRestrictions","proxies","capsules","prepareCapsules","flagCapsules","getConstructor","ProCapsuleModules","proxyMap","markers","showPreloader","getMarkerByID","markerFilter","MarkerFilter","let","addClass","registerStoreLocator","mapId","mapProxy","capsule","StoreLocator","isCapsule","redirectUrl","ColorInput","dataAttributes","format","anchor","container","autoClose","autoOpen","supportAlpha","supportPalette","wheelBorderWidth","wheelPadding","wheelBorderColor","parseOptions","initialized","sliderInvert","lockSlide","lockPicker","mouse","down","color","h","s","l","wrap","renderControls","parseColor","clamp","min","max","degreesToRadians","degrees","hueToRgb","p","q","t","getMousePositionInCanvas","canvas","rect","getBoundingClientRect","x","clientX","left","y","clientY","assign","getColor","override","hsl","rgb","hslToRgb","rgbToHex","setColor","updatePreview","commit","update","trim","indexOf","parts","rgbToHsl","hexToRgb","bounds","delta","repeat","slice","floatToPrecision","chroma","abs","exp","diff","round","float","precision","toFixed","self","insertAfter","onTogglePicker","preview","swatch","picker","stopPropagation","renderPicker","renderWheel","renderFields","renderPalette","wheel","handle","slider","radius","degreeStep","context","getContext","clearRect","grid","fillStyle","fillRect","onPickerMouseSelect","clearStates","group","toggle","blocks","hsla","keys","view","updateFieldView","rows","labels","controls","label","originalEvent","currentTarget","onFieldChange","palette","variations","mutator","variation","control","elem","css","updateWheel","center","pattern","createPattern","beginPath","arc","closePath","fill","startAngle","endAngle","moveTo","gradient","createRadialGradient","strokeGradient","addColorStop","lineWidth","strokeStyle","stroke","createLinearGradient","shadow","updateHandles","updateFields","updatePalette","localRadius","localHandleOffset","handleStyles","sliderDegrees","sliderStyles","background","val","localPosition","dir","angle","distance","range","pickerScaler","pickerEdge","field","block","closest","raw","tA","toggleClass","hasClass","syncValue","ready","wpgmzaColorInput","CSSBackdropFilterInput","filters","blur","enable","unit","brightness","contrast","grayscale","hue_rotate","invert","sepia","saturate","parseFilters","FILTER_PATTERN","VALUE_PATTERN","getFilters","setFilters","clearFilters","matches","Array","valueArg","numericValue","itemWrappers","printType","wrapper","toggleWrap","toggleInput","toggleLabel","controlWrap","controlAttributes","controlInput","controlLabel","slide","ui","change","wpgmzaRelativeSlider","is","setFilterState","removeClass","setFilterValue","row","prop","wpgmzaCSSBackdropFilterInput","CSSFilterInput","wpgmzaCSSFilterInput","CSSStateBlock","HTMLElement","tabs","items","bindEvents","click","onClick","item","wpgmzaCSSStateBlock","CSSUnitInput","suffix","parseUnits","VALID_TYPES","getUnits","setUnits","validateSuffix","unitValueInput","unitSuffixToggle","unitValueStepDownBtn","unitValueStepUpBtn","unitValueStepperWrap","unitInnerWrap","increment","decrement","defaultSuffix","wpgmzaCSSUnitInput","DrawingManager","mode","MODE_NONE","onMapClick","MODE_MARKER","MODE_POLYGON","MODE_POLYLINE","MODE_CIRCLE","MODE_RECTANGLE","MODE_HEATMAP","MODE_POINTLABEL","MODE_IMAGEOVERLAY","OLDrawingManager","GoogleDrawingManager","setDrawingMode","pointlabel","Pointlabel","latLng","addPointlabel","setEditable","onPointlabelComplete","enginePointlabel","EmbeddedMedia","apply","corners","handles","activeCorner","onMoveHandle","onDeactivateHandle","onDetach","detatchAll","querySelectorAll","wpgmzaEmbeddedMedia","onSelect","destroyHandles","onActivateHandle","corner","getMousePosition","maxTop","getAnchorPosition","applyResize","createHandles","mutating","bindHandle","padding","maxWidth","pos","pageX","pageY","bubbles","cancelable","PHASE_CAPTURE","FancyControls","formatToggleSwitch","div","parentNode","replaceWith","formatToggleButton","yes","no","Feature","MapObject","parseGeometry","subject","coords","results","pairs","setOptions","updateNativeFeature","editable","setDraggable","draggable","getScalarProperties","props","layer","setStyle","OLFeature","getOLStyle","googleFeature","GenericModal","complete","cancel","_onComplete","_onCancel","ProGenericModal","onComplete","onCancel","getData","Geocoder","SUCCESS","ZERO_RESULTS","FAIL","GoogleGeocoder","OLGeocoder","getLatLngFromAddress","address","getAddressFromLatLng","geocode","GoogleAPIErrorHandler","_error","currentPage","is_admin","userCanAdministrator","googleMapsAPIErrorDialog","errorMessageList","templateListItem","messagesAlreadyDisplayed","onErrorMessage","addErrorMessage","no_google_maps_api_key","urls","li","clone","buttonContainer","buttonTemplate","documentation","z-index","googleAPIErrorHandler","InfoWindow","feature","onOpen","STATE_CLOSED","onFeatureAdded","OPEN_BY_CLICK","OPEN_BY_HOVER","STATE_OPEN","GoogleProInfoWindow","GoogleInfoWindow","OLProInfoWindow","OLInfoWindow","defineProperty","getContent","contentHtml","addEditButton","Marker","workOutDistanceBetweenTwoMarkers","location1","location2","distanceToDisplay","distanceUnits","extra_html","store_locator_show_distance","storeLocator","STATE_APPLIED","currentLatLng","getPosition","store_locator_distance","kilometers_away","miles_away","disable_infowindows","wpgmza_settings_disable_infowindows","disableInfoWindow","close","setContent","infoopen","Installer","currentApiKey","skipButton","step","findMax","next","triggerSubStep","setEngine","setApiKey","setTileServer","getAutoKey","launcher","launchQuickStart","skip","defaultEngine","loadStep","checkAutoSkip","NODE_SERVER","prepareAddressFields","addressInput","loadSubSteps","autoFocus","applyStepConditionState","stepWrapper","latitude","longitude","geocoder","domain","hostname","paths","pathname","getActiveBlock","focus","saveOptions","apiKey","server","previewLink","tileServer","condition","continueButton","hasSatisfiedStepCondition","satisfied","popupDimensions","screen","attributes","formData","wpgmza_maps_engine","tile_server_url","api_key","success","response","status","xhr","hideAutoKeyError","showAutoKeyError","codeOrMsg","installer","LEGACY","ATLAS_NOVUS","internalEngine","getEngine","InternalViewport","limits","getContainer","RECT_TYPE_LARGE","RECT_TYPE_MEDIUM","RECT_TYPE_SMALL","CONTAINER_THRESHOLD_MEDIUM","CONTAINER_THRESHOLD_SMALL","getRectType","wrapMeasurement","trace","localize","traceLimits","overlays","panels","offsetWidth","offsetHeight","max_width","localized","tag","replaceAll","classes","arg","_lat","_lng","REGEXP","isValid","fromString","fromCurrentPosition","geocodeAddress","fromGoogleLatLng","googleLatLng","toGoogleLatLngArray","nativeLatLng","toGoogleLatLng","toLatLngLiteral","moveByDistance","kilometers","heading","theta","phi1","lambda1","sinPhi1","cosPhi1","sinDelta","cosDelta","sinTheta","sinPhi2","phi2","asin","lambda2","getGreatCircleDistance","arg1","arg2","other","toRadians","deltaPhi","deltaLambda","LatLngBounds","southWest","northEast","south","north","west","east","fromGoogleLatLngBounds","googleLatLngBounds","getSouthWest","getNorthEast","fromGoogleLatLngBoundsLiteral","southwest","northeast","isInInitialState","undefined","extendByPixelMargin","latLngToPixels","pixelsToLatLng","contains","toLiteral","legacyGlobals","marker_pull","marker_array","MYMAP","infoWindow_poly","markerClusterer","heatmap","WPGM_Path","WPGM_Path_Polygon","WPGM_PathLine","WPGM_PathLineData","WPGM_PathData","original_iw","wpgmza_user_marker","wpgmaps_localize_marker_data","wpgmaps_localize_polygon_settings","wpgmaps_localize_heatmap_settings","wpgmaps_localize_polyline_settings","wpgmza_cirtcle_data_array","wpgmza_rectangle_data_array","wpgmzaForceLegacyMarkerClusterer","bindLegacyGlobalProperty","InitMap","resetLocations","searchLocations","fillInAddress","searchLocationsNear","MapListPage","$temp","select","execCommand","mapListPage","MapSettings","getAttribute","addSettings","other_settings","toOLViewOptions","ol","proj","fromLonLat","zoom","empty","start_location","map_start_lng","map_start_lat","start_zoom","map_start_zoom","map_min_zoom","map_max_zoom","minZoom","maxZoom","toGoogleMapsOptions","latLngCoords","formatCoord","coord","isSettingDisabled","zoomControl","wpgmza_settings_map_zoom","panControl","wpgmza_settings_map_pan","mapTypeControl","wpgmza_settings_map_type","streetViewControl","wpgmza_settings_map_streetview","fullscreenControl","wpgmza_settings_map_full_screen_control","wpgmza_settings_map_draggable","disableDoubleClickZoom","wpgmza_settings_map_clickzoom","wpgmza_settings_map_tilt_controls","rotateControl","tilt","wpgmza_settings_map_scroll","scrollwheel","wpgmza_force_greedy_gestures","gestureHandling","mapTypeId","MapTypeId","SATELLITE","HYBRID","TERRAIN","ROADMAP","wpgmza_theme_data","styles","GoogleMap","parseThemeData","elementor","hasAttribute","engineElement","polygons","polylines","circles","rectangles","pointlabels","api_consent_html","loadSettings","loadStyling","shortcodeAttributes","innerStack","setDimensions","setAlignment","initInternalViewport","onInit","fullscreen","onFullScreenChange","wpgmzaLegacyGlobals","mc","init","placeMarkers","nightTimeThemeData","elementType","stylers","featureType","GoogleProMap","OLProMap","OLMap","_markersPlaced","getCenter","setCenter","getZoom","setZoom","initPreloader","initStoreLocator","autoFetchFeatures","fetchFeatures","preloader","stylingSettings","tileFilter","wpgmza_ol_tile_filter","internalViewport","selectors","storeLocatorElement","getFeatureArrays","arrays","heatmaps","imageoverlays","getRESTParameters","defaults","stringify","getFilteringParameters","fetchFeaturesViaREST","limit","includeUnapproved","excludeIntegrated","acf_post_id","acfPostID","fetchFeaturesXhr","abort","fetchMarkersBatchSize","enable_batch_loading","fetchNextBatch","useCompressedPathVariable","onMarkersFetched","exclude","onFeaturesFetched","fetchFeaturesViaXML","markerXMLPathURL","fetchFeaturesExcludingMarkersViaREST","map_id","mashup_ids","mashupIDs","Worker","Blob","URL","enable_asynchronous_xml_parsing","source","loadXMLAsWebWorker","blob","worker","createObjectURL","onmessage","postMessage","command","filesLoaded","converter","XMLCacheConverter","converted","concat","convert","wpgmza_settings_marker_pull","substr","expectMoreBatches","startFiltered","cat","marker","isFiltered","setVisible","addMarker","triggerEvent","categories","fitMapBoundsToMarkers","getGeographicDistance","map_width","map_width_type","map_height","map_height_type","wpgmza_map_align","removeMarker","infoWindow","removeAllMarkers","getMarkerByTitle","removeMarkerByID","addPolygon","polygon","Polygon","removePolygon","getPolygonByID","removePolygonByID","getPolylineByID","addPolyline","polyline","Polyline","removePolyline","removePolylineByID","addCircle","circle","Circle","removeCircle","getCircleByID","removeCircleByID","addRectangle","rectangle","Rectangle","removeRectangle","getRectangleByID","removeRectangleByID","removePointlabel","getPointlabelByID","removePointlabelByID","resetBounds","latlng","panTo","nudge","nudged","nudgeLatLng","pixels","animateNudge","origin","onWindowResize","onElementResized","onBoundsChanged","onIdle","hasVisibleMarkers","isFilterable","getVisible","closeAllInfoWindows","openStreetView","closeStreetView","invisibleMaps","visibilityWorkaroundIntervalID","setInterval","toArray","MapsEngineDialog","wpgmzaUnbindSaveReminder","remodal","onButtonClicked","wpgmza_maps_engine_dialog_done","ignoreInstallerRedirect","mapsEngineDialog","params","filteredMarkers","filteringParams","onFilteringComplete","updateTimeoutID","hideAll","allowByFilter","_offset","description","link","icon","approved","pic","setPosition","onAdded","handleLegacyGlobals","GoogleProMarker","GoogleMarker","OLProMarker","OLMarker","ANIMATION_NONE","ANIMATION_BOUNCE","ANIMATION_DROP","updateOffset","onMouseOver","_osDisableAutoPan","openInfoWindow","cloned","pro_version","marker_id","initInfoWindow","lastInteractedMarker","wpgmza_settings_map_open_marker_by","getIcon","stripProtocol","defaultMarkerIcon","default_marker_icon","setOffset","getAnimation","anim","setAnimation","animation","visible","getMap","setMap","getDraggable","setOpacity","panIntoView","ModernStoreLocatorCircle","mapElement","mapSize","initCanvasLayer","shadowColor","shadowBlur","centerRingRadius","centerRingLineWidth","numInnerRings","innerRingLineWidth","innerRingFade","numOuterRings","ringLineWidth","mainRingLineWidth","numSpokes","spokesStartAngle","numRadiusLabels","radiusLabelsStartAngle","radiusLabelFont","GoogleModernStoreLocatorCircle","OLModernStoreLocatorCircle","onResize","draw","onUpdate","functionName","getResolutionScale","devicePixelRatio","getRadius","setRadius","getTransformedRadius","getCanvasDimensions","validateSettings","canvasDimensions","canvasWidth","canvasHeight","setTransform","end","scale","getScale","getWorldOriginOffset","worldPoint","translate","getCenterPixels","ringSpacing","grad","start","save","spokeAngle","setLineDash","lineTo","restore","font","textAlign","textBaseline","textAngle","radiusString","rotate","measureText","fillText","ModernStoreLocator","original","inner","numCategories","icons","store_locator_query_string","titleSearch","placeholder","store_locator_name_string","keyCode","searchButton","resetButton","STATE_INITIAL","children","category_id","wpgmza_category_data","image","background-image","prepend","optionsButton","before","padding-left","outerWidth","onMouseOverCategory","onMouseLeaveCategory","position_cat","$p_map","p_cat","outerHeight","padding-bottom","GoogleModernStoreLocator","OLModernStoreLocator","stop","fadeIn","fadeOut","NativeMapsAppIcon","PersistentAdminNotice","dismissButton","ajaxActionButton","onDismiss","onAjaxAction","slug","wpgmza_security","relay","wpgmzaPersistentAdminNotice","enumerable","_map","textFeature","GoogleProPointlabel","GooglePointlabel","OLProPointlabel","OLPointlabel","createEditableMarker","setIcon","labelpointIcon","_prevMap","_dragEndCallback","onDragEnd","onMapMouseDown","_mouseDown","onWindowMouseUp","onMapMouseMove","begin","external","enginePolygon","fillcolor","linecolor","lineopacity","linethickness","GoogleProPolygon","GooglePolygon","OLProPolygon","OLPolygon","engineObject","googlePolyline","_layergroup","Shape","BASE_LAYER_INDEX","GooglePolyline","OLPolyline","getPoints","points","layergroup","setLayergroup","zIndex","PopoutPanel","sendAJAXFallbackRequest","route","addNonce","CONTEXT_AJAX","resturl","useAJAXFallback","CONTEXT_REST","serverCanInflate","Version","compare","EQUAL_TO","disable_compressed_path_variables","enable_compressed_path_variables","compressParams","markerIDs","encoded","compressed","pako","deflate","ch","btoa","midcbp","TextEncoder","getNonce","restnoncetable","sort","setRESTNonce","shouldAddNonce","setRequestHeader","restnonce","base","beforeSend","isAdmin","includes","compressedParams","compressedRoute","attemptedCompressedPathVariable","fallbackRoute","fallbackParams","post","simulateDelete","isCompressedPathVariableSupported","isCompressedPathVariableAllowed","base64","isServerIIS","cache","skip_cache","maxURLLength","compressedPathVariableURLLimitWarningDisplayed","onSuccess","rawResult","parseExc","nativeCallFunction","dismiss_blocked_notice","$_GET","query","wpgmza_i","wpgmza_l","aux","SettingsPage","_keypressHistory","_codemirrors","updateEngineSpecificControls","updateStorageControls","updateBatchControls","updateGDPRControls","updateWooControls","onKeyPress","ttype","confirm","wpgmza_dz_nonce","alert","settingsPage","flushGeocodeCache","elmnt","getElementById","classList","add","pageYOffset","scrollTo","behavior","activate","refresh","wrapAll","CodeMirror","fromTextArea","lineNumbers","theme","removeAttr","showNoticeControls","vgmCheckbox","showOverrideTextarea","clearCache","_developerModeRevealed","Parent","engineFeature","engineCircle","ProShape","lineColor","lineOpacity","OLProCircle","OLCircle","GoogleProCircle","GoogleCircle","engineRectangle","cornerA","cornerB","OLProRectangle","OLRectangle","GoogleProRectangle","GoogleRectangle","SidebarGroupings","actionBar","dynamicAction","dynamicLabel","openTab","intelliFeaturePanel","openTabByFeatureType","closeCurrent","resetScroll","initUpsellBlocks","tab","groupId","openTabByGroupId","mapEditPage","hasGroup","closeAll","updateActionBar","markersPlaced","featurePlural","upsellWrappers","currentWrapper","cardLength","nextCard","nextCardElem","_center","addressElement","radiusElement","wpgmza_store_locator_default_radius","onGeocodeComplete","store_locator_style","legacyModernAdapter","onSearch","onReset","which","onQueryParamSearch","_bounds","store_locator_bounce","_marker","_circle","wpgmza_store_locator_radius_style","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","clickable","circleStrokeColor","onRedirectSearch","setVisualState","countryRestriction","address_not_found","showError","URLSearchParams","getZoomFromRadius","log","LN2","factor","store_locator_not_found_message","zero_results","queryCenter","queryRadius","errorElement","StylingPage","styleGuide","prepareControl","applyPreset","parseUserPreset","PRESETS","default","--wpgmza-component-color","--wpgmza-component-text-color","--wpgmza-component-color-accent","--wpgmza-component-text-color-accent","--wpgmza-color-grey-500","--wpgmza-component-border-radius","--wpgmza-component-font-size","--wpgmza-component-backdrop-filter","glass","rounded","activeInput","colorInput","unitInput","resetControl","updateControl","steps","backdropInput","user","fieldName","preset","fieldValue","stylingPage","SupportPage","info","temp","supportPage","Text","GoogleText","OLText","overlay","setText","setFontSize","size","setFillColor","setLineColor","ThemeEditor","olThemeEditor","OLThemeEditor","appendTo","initHTML","themeEditor","updatePosition","features","all","administrative","landscape","poi","road","transit","water","geometry","textarea","refreshColorInputs","parseJSON","isArray","jsonCopy","highlightFeatures","highlightElements","loadElementStylers","v","ii","vv","hue","lightness","xaturation","gamma","visibility","weight","writeElementStylers","new_feature_element_stylers","indexJSON","saturation","invert_lightness","themePanel","updateMapTheme","ThemePanel","olThemePanel","OLThemePanel","owlCarousel","dots","onThemePresetClick","previewImageCenter","previewImageZoom","selectedData","existingData","allPresetData","overwrite_theme_data","invalid_theme_data","Tour","findElements","prepare","prompt","INPUT_CHANGE_INTERVAL","AutoInit","adminTours","running","promptAction","onPromptAction","_wpgmzaChangeTimer","clearTimeout","dismiss","onFramedClick","Element","frame","boundary","_lastFramePlacement","pointerEvent","PointerEvent","right","bottom","shouldDismiss","clearViewport","stepElement","_lastAutoStepTimer","nextStep","delay","getStepDelay","anchorElement","querySelector","anchorRect","computedStyles","getComputedStyle","frameStyle","borderRadius","short","tour","request","GREATER_THAN","LESS_THAN","v1","v2","v1parts","v2parts","xml","remap","linkd","nodeName","tXml","f","tagName","k","searchId","exec","lastIndexOf","simplify","simplefy","_attributes","domToXml","O","inputData","totalFiles","dataForMainThread","onXMLLoaded","readyState","node","convertAndAppend","responseText","loadNextFile","XMLHttpRequest","onreadystatechange","send","Integration","integrationModules","Blocks","instances","__","registerBlockType","InspectorControls","_wp$components","Dashicon","PanelBody","i18n","editor","components","_wp$editor","BlockControls","Toolbar","Button","Tooltip","TextareaControl","CheckboxControl","TextControl","SelectControl","RichText","Gutenberg","getBlockDefinition","getBlockTitle","getBlockInspectorControls","React","class","adminurl","aria-hidden","getBlockAttributes","_this","category","verifyCategory","keywords","edit","isSelected","className","getCategories","gutenberg","onclick","GoogleUICompatibility","style","vendor","head","googleUICompatibility","googleCircle","wpgmzaCircle","addListener","ProCircle","googleOptions","googleDrawingManager","drawing","drawingControl","polygonOptions","polylineOptions","circleOptions","rectangleOptions","googleMap","onPolygonClosed","onPolylineComplete","onCircleComplete","onRectangleComplete","googleMode","OverlayType","POLYGON","POLYLINE","CIRCLE","RECTANGLE","onVertexClicked","googlePolygon","enginePolyline","googleRectangle","onImageoverlayComplete","onHeatmapPointAdded","googleMarker","imageFolderURL","Point","engineImageoverlay","componentRestrictions","nativeStatus","GeocoderStatus","OK","NO_ADDRESS","fullResult","NO_RESULTS","formatted_address","GoogleHTMLOverlay","OverlayView","onAdd","getPanes","overlayMouseTarget","appendChild","onRemove","updateElementPosition","projection","getProjection","fromLatLngToDivPixel","setFeature","Z_INDEX","ProInfoWindow","googleObject","createGoogleInfoWindow","googleInfoWindow","setZIndex","disableAutoPan","intervalID","eaBtn","clearInterval","wpgmzaFeature","loadGoogleMap","wpgmzaEvent","getStreetView","pov","getPov","pitch","ProMap","eval","bicycle","enableBicycleLayer","traffic","enableTrafficLayer","transport_layer","enablePublicTransportLayer","showPointsOfInterest","wpgmza_show_point_of_interest","initializing","hide_point_of_interest","getBounds","nativeBounds","topLeft","bottomRight","fitBounds","fitBoundsToVisibleMarkers","bicycleLayer","BicyclingLayer","trafficLayer","TrafficLayer","publicTransportLayer","TransitLayer","getMinZoom","min_zoom","setMinZoom","getMaxZoom","max_zoom","setMaxZoom","topRight","fromLatLngToPoint","bottomLeft","pow","fromPointToLatLng","enableAllInteractions","setPov","firstChild","_stackedComponentsMoved","innerContainer","wpgmzaMarker","googleMarkerPosition","ProMarker","_opacity","setLabel","Image","defaultAnchor","canvasLayer","resize_","setAnimate","CanvasLayer","resizeHandler","updateHandler","resolutionScale","scheduleUpdate","spherical","equator","offsetAtEquator","computeOffset","getTopLeft","destroy","restrict","ControlPosition","TOP_CENTER","pointFeature","ProPointlabel","polydata","wpgmzaPolygon","ProPolygon","getEditable","getOptions","getPaths","getPath","removeAt","vertex","getGeometry","getLength","getAt","setPath","wpgmzaPolyline","wpgmzaRectangle","ProRectangle","GoogleTextOverlay","minWidth","floatPane","GoogleVertexContextMenu","innerHTML","addDomListener","removeVertex","divListener","getDiv","removeListener","removeChild","point","FeaturePanel","drawingManager","writersblock","initDefaults","setMode","MODE_ADD","drawingInstructionsElement","detach","editingInstructionsElement","newPanel","onTabActivated","oldPanel","onTabDeactivated","onEditFeature","onDeleteFeature","onSave","drawingManagerCompleteEvent","onDrawingComplete","onDrawingModeChanged","onPropertyChanged","MODE_EDIT","prevEditableFeature","wpgmzaDataTable","_mode","initDataTable","AdminFeatureDataTable","setCaptionType","featureAccordion","sidebarTriggerDelegate","setTargetFeature","onFeatureChanged","showInstructions","reset","tinyMCE","WritersBlock","_codeEditor","expectedBaseClass","functionSuffix","populate","imageInputSingle","wpgmzaImageInputSingle","parseImage","serializeFormData","discardChanges","updateFeatureByID","getByIDFunction","removeFunction","addFunction","featureString","onAddFeature","general_delete_prompt_text","featureDataTable","dataTable","processing","geometryField","nativeFeature","_dirtyFields","isNew","no_shape_polyline","no_shape_polygon","no_shape_rectangle","no_shape_circle","eventType","initWritersBlock","getWritersBlockConfig","onEditorChange","customTools","tools","custom-media","mediaId","mediaUrl","writeHtml","library","code-editor","_codeEditorActive","toolbarItems","toolbar","tool","setAttribute","__editor","editedHtml","validator","sourceHtml","enabledTools","onUpdateSelection","packet","pingedSelection","getSelection","hidePopupTools","hasDirtyField","MarkerPanel","ProMarkerPanel","adjustSubMode","onAdjustFeature","onApproveMarker","addressField","aPos","geocodingData","cloud_lat","cloud_lng","addressUnchanged","getElementsByName","no_address","geocode_fail","CirclePanel","ProCirclePanel","wpgmza_autoCompleteDisabled","MapEditPage","wrapInner","sidebarGroupings","initDataTables","initFeaturePanels","initJQueryUIControls","locale","buttonClass","colorBtn","clipboard","readText","then","textcopy","catch","c_ex","shouldAddressFieldUseEnhancedAutocomplete","onKeyUpEnhancedAutocomplete","onMapHeightTypeChange","onShiftClick","onMapTypeChanged","onMarkerUpdated","onZoomChanged","onRightClick","onDeletePolygon","onDeletePolyline","evevnt","onDeleteHeatmap","onDeleteCircle","onDeleteRectangle","nearestRow","nearestHint","shortcode","ProMapEditPage","featurePanelElement","panelClassName","mapContainer","checkbox","lastSelectedRow","shiftKey","prevIndex","currIndex","startIndex","endIndex","markerDataTable","rightClickMarker","cur_id","security","wpgmza_legacy_map_edit_page_vars","ajax_nonce","poly_id","circle_id","circle_array","rectangle_id","rectangle_array","_wpgmzaEnhancedAutocomplete","identifiedTypingSpeed","typingTimeout","startTyping","keyStrokeCount","avgTimeBetweenStrokes","totalTimeForKeyStrokes","ajaxRequest","ajaxTimeout","requestErrorCount","disabledFlag","disabledCheckCount","enhancedAutocomplete","swapEnhancedAutocomplete","googleApiKey","currentTimeBetweenStrokes","currentSearch","requestParams","hash","siteHash","internal_engine","build","dataType","cloud_api_key_error_1","PointlabelPanel","PolygonPanel","ProPolygonPanel","PolylinePanel","ProPolylinePanel","RectanglePanel","ProRectanglePanel","olFeature","geom","toLonLat","Vector","getSource","addFeature","getFeatures","setProperties","setInteractionsOnFeature","lonLat","recreate","circle3857","removeFeature","circular","transform","wrapX","Stroke","Fill","Style","endEventType","interaction","olMap","removeInteraction","selectInteraction","geometryFunction","Draw","createBox","WPGMZAEvent","addInteraction","assertInstangeOf","translated","modifyInteraction","snapInteraction","Snap","Modify","getResponseFromCache","lon","getResponseFromNominatim","countrycodes","cacheResponse","finish","boundingbox","display_name","removeOverlay","Overlay","stopEvent","insertFirst","addOverlay","renderMode","RENDER_MODE_VECTOR_LAYER","autoResize","max-width","imgs","numImages","numImagesLoaded","canAutoPan","inside","viewport","isPanIntoViewAllowed","mapWidth","mapHeight","maxHeight","viewOptions","layers","getTileLayer","getTileView","customTileMode","extent","containsCoordinate","customTileModeExtent","getView","wrapLongitude","getInteractions","DragPan","setActive","DoubleClickZoom","MouseWheelZoom","gestureOverlay","gestureOverlayTimeoutID","olBrowserEvent","allowed","targetPointers","TouchEvent","touches","showGestureOverlay","use_two_fingers","platformModifierKeyOnly","use_ctrl_scroll_to_zoom","getControls","Zoom","removeControl","addControl","FullScreen","markerLayer","addLayer","getFeaturesAtPixel","pixel","isBeingDragged","_mouseoverNativeFeatures","dragging","featuresUnderPixel","nativeFeaturesUnderPixel","getProperties","isRight","offsetX","offsetY","tile_server_url_override","open_layers_api_key","custom_tile_enabled","custom_tile_image_width","custom_tile_image_height","imageDimensions","custom_tile_image","Projection","units","ImageStatic","attributions","custom_tile_image_attribution","imageExtent","imageSize","Tile","OSM","View","transformed","calculateExtent","getSize","boundingExtent","fit","duration","RENDER_MODE_HTML_ELEMENT","featureInSource","removeLayer","getCoordinateFromPixel","getPixelFromCoordinate","line-height","updateSize","parentOffset","relX","relY","updateElementHeight","positioning","rebindClickListener","getVectorLayerStyle","defaultVectorLayerStyle","Icon","hiddenVectorLayerStyle","vectorLayerStyle","calledOnFocus","one","addLabel","getLabelText","getElement","display","setGeometry","disabled","jQueryDraggableInitialized","onDragStart","pixelsBeforeDrag","pixelsAfterDrag","latLngAfterDrag","onElementClick","olViewportElement","renderFunction","outer","centerPixels","outerPixels","un","coordinates","getCoordinates","LineString","olStyle","getExtent","getBottomRight","topLeftLonLat","bottomRightLonLat","topLeftLatLng","bottomRightLatLng","OLTextOverlay","styleOptions","getStyle","fontSize","labelStyles","placement","getText","onFilterChange","DataTable","version","fn","wpgmza_do_not_enqueue_datatables","ext","errMode","Api","register","iterator","ctx","oApi","_fnProcessingDisplay","dataTableElement","getDataTableElement","getDataTableSettings","phpClass","getLanguageURL","languageJSON","onAJAXRequest","onDataTableAjaxRequest","preventCaching","lastResponse","MarkerIcon","applyToElement","languageURL","deferLoading","serverSide","AdvancedTableDataTable","wpgmza_default_items","iDisplayLength","aLengthMenu","language","pluginDirURL","onAJAXResponse","allSelected","initModals","onBulkDelete","onSelectAll","onBulkEdit","onCenterMarker","onDuplicate","onMoveMap","moveModal","bulkEditorModal","createdRow","meta","wpgmzaFeatureData","ids","plural","AdminMapDataTable","map_delete_prompt_text","wpgmzaMapData","map_bulk_delete_prompt_text","AdminMarkerDataTable","onDeleteMarker","wpgmzaMarkerData","onEditMarker","animatedScroll","legacyajaxnonce","wpgmza_InitMap","wpgmza_reinitialisetbl"],"mappings":"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