mapping-component-package-jp 0.0.52 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs
CHANGED
|
@@ -50,5 +50,5 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
50
50
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
51
51
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
52
52
|
PERFORMANCE OF THIS SOFTWARE.
|
|
53
|
-
***************************************************************************** */class Ne{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class Ve{constructor({markers:e,position:t}){this.markers=e,t&&(t instanceof google.maps.LatLng?this._position=t:this._position=new google.maps.LatLng(t))}get bounds(){if(0===this.markers.length&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(Ne.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((e=>Ne.getVisible(e))).length}push(e){this.markers.push(e)}delete(){this.marker&&(Ne.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class He{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return $e(e)}}const $e=e=>e.map((e=>new Ve({position:Ne.getPosition(e),markers:[e]})));class Ge extends He{constructor(e){var{maxZoom:t,radius:o=60}=e,n=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new Ae(Object.assign({maxZoom:this.maxZoom,radius:o},n))}calculate(e){let t=!1;const o={zoom:e.map.getZoom()};if(!xe(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const o=this.markers.map((e=>{const t=Ne.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}}));this.superCluster.load(o)}return t||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(t=!xe(this.state,o)),this.state=o,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map((e=>this.transformCluster(e)))}transformCluster({geometry:{coordinates:[e,t]},properties:o}){if(o.cluster)return new Ve({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((e=>e.properties.marker)),position:{lat:t,lng:e}});const n=o.marker;return new Ve({markers:[n],position:Ne.getPosition(n)})}}class Ye{constructor(e,t){this.markers={sum:e.length};const o=t.map((e=>e.count)),n=o.reduce(((e,t)=>e+t),0);this.clusters={count:t.length,markers:{mean:n/t.length,sum:n,min:Math.min(...o),max:Math.max(...o)}}}}class Ke{render({count:e,position:t},o,n){const i=`<svg fill="${e>Math.max(10,o.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>\n</svg>`,s=`Cluster of ${e} markers`,r=Number(google.maps.Marker.MAX_ZINDEX)+e;if(Ne.isAdvancedMarkerAvailable(n)){const e=(new DOMParser).parseFromString(i,"image/svg+xml").documentElement;e.setAttribute("transform","translate(0 25)");const o={map:n,position:t,zIndex:r,title:s,content:e};return new google.maps.marker.AdvancedMarkerElement(o)}const a={position:t,zIndex:r,title:s,icon:{url:`data:image/svg+xml;base64,${btoa(i)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(a)}}class Je{constructor(){!function(e,t){for(let o in t.prototype)e.prototype[o]=t.prototype[o]}(Je,google.maps.OverlayView)}}var qe;!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(qe||(qe={}));const Xe=(e,t,o)=>{o.fitBounds(t.bounds)};class Qe extends Je{constructor({map:e,markers:t=[],algorithmOptions:o={},algorithm:n=new Ge(o),renderer:i=new Ke,onClusterClick:s=Xe}){super(),this.markers=[...t],this.clusters=[],this.algorithm=n,this.renderer=i,this.onClusterClick=s,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach((e=>{this.addMarker(e,!0)})),t||this.render()}removeMarker(e,t){const o=this.markers.indexOf(e);return-1!==o&&(Ne.setMap(e,null),this.markers.splice(o,1),t||this.render(),!0)}removeMarkers(e,t){let o=!1;return e.forEach((e=>{o=this.removeMarker(e,!0)||o})),o&&!t&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,qe.CLUSTERING_BEGIN,this);const{clusters:t,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||null==o){const e=new Set;for(const o of t)1==o.markers.length&&e.add(o.markers[0]);const o=[];for(const t of this.clusters)null!=t.marker&&(1==t.markers.length?e.has(t.marker)||Ne.setMap(t.marker,null):o.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame((()=>o.forEach((e=>Ne.setMap(e,null)))))}google.maps.event.trigger(this,qe.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach((e=>Ne.setMap(e,null))),this.clusters.forEach((e=>e.delete())),this.clusters=[]}renderClusters(){const e=new Ye(this.markers,this.clusters),t=this.getMap();this.clusters.forEach((o=>{1===o.markers.length?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,t),o.markers.forEach((e=>Ne.setMap(e,null))),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,qe.CLUSTER_CLICK,o),this.onClusterClick(e,o,t)}))),Ne.setMap(o.marker,t)}))}}function et(e){var t=function(){T(!!c,"useGoogleMap is React hook and requires React version 16.8+");var e=c(B);return T(!!e,"useGoogleMap needs a GoogleMap available up in the tree"),e}(),o=i(null),n=o[0],r=o[1];return s((function(){if(t&&null===n){var o=new Qe(z(z({},e),{map:t}));r(o)}}),[t]),n}o((function(e){var t=e.children,o=et(e.options);return null!==o?t(o):null}));var tt={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},ot={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}};o((function(e){var t=e.children,o=e.anchor,r=e.options,a=e.position,l=e.zIndex,p=e.onCloseClick,d=e.onDomReady,u=e.onContentChanged,h=e.onPositionChanged,f=e.onZindexChanged,v=e.onLoad,y=e.onUnmount,L=c(B),I=i(null),C=I[0],b=I[1],w=i(null),k=w[0],M=w[1],x=i(null),P=x[0],E=x[1],S=i(null),O=S[0],_=S[1],R=i(null),D=R[0],A=R[1],U=i(null),Z=U[0],W=U[1],F=n(null);return s((function(){null!==C&&(C.close(),o?C.open(L,o):C.getPosition()&&C.open(L))}),[L,C,o]),s((function(){r&&null!==C&&C.setOptions(r)}),[C,r]),s((function(){a&&null!==C&&C.setPosition(a)}),[a]),s((function(){"number"==typeof l&&null!==C&&C.setZIndex(l)}),[l]),s((function(){C&&p&&(null!==k&&google.maps.event.removeListener(k),M(google.maps.event.addListener(C,"closeclick",p)))}),[p]),s((function(){C&&d&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(C,"domready",d)))}),[d]),s((function(){C&&u&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(C,"content_changed",u)))}),[u]),s((function(){C&&h&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(C,"position_changed",h)))}),[h]),s((function(){C&&f&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(C,"zindex_changed",f)))}),[f]),s((function(){var e=new google.maps.InfoWindow(z({},r||{}));return b(e),F.current=document.createElement("div"),p&&M(google.maps.event.addListener(e,"closeclick",p)),d&&E(google.maps.event.addListener(e,"domready",d)),u&&_(google.maps.event.addListener(e,"content_changed",u)),h&&A(google.maps.event.addListener(e,"position_changed",h)),f&&W(google.maps.event.addListener(e,"zindex_changed",f)),e.setContent(F.current),a&&e.setPosition(a),l&&e.setZIndex(l),o?e.open(L,o):e.getPosition()?e.open(L):T(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),v&&v(e),function(){k&&google.maps.event.removeListener(k),O&&google.maps.event.removeListener(O),P&&google.maps.event.removeListener(P),D&&google.maps.event.removeListener(D),Z&&google.maps.event.removeListener(Z),y&&y(e),e.close()}}),[]),F.current?m(g.only(t),F.current):null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.containerElement=null,t.state={infoWindow:null},t.open=function(e,o){o?e.open(t.context,o):e.getPosition()?e.open(t.context):T(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")},t.setInfoWindowCallback=function(){null!==t.state.infoWindow&&null!==t.containerElement&&(t.state.infoWindow.setContent(t.containerElement),t.open(t.state.infoWindow,t.props.anchor),t.props.onLoad&&t.props.onLoad(t.state.infoWindow))},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.InfoWindow(z({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=Z({updaterMap:ot,eventMap:tt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ot,eventMap:tt,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},t.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(U(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},t.prototype.render=function(){return this.containerElement?m(g.only(this.props.children),this.containerElement):null},t.contextType=B}(a);var nt={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},it={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},visible:function(e,t){e.setVisible(t)}},st={};o((function(e){var t=e.options,o=e.draggable,n=e.editable,r=e.visible,a=e.path,l=e.onDblClick,g=e.onDragEnd,p=e.onDragStart,d=e.onMouseDown,u=e.onMouseMove,h=e.onMouseOut,m=e.onMouseOver,f=e.onMouseUp,v=e.onRightClick,y=e.onClick,L=e.onDrag,I=e.onLoad,C=e.onUnmount,b=c(B),w=i(null),k=w[0],M=w[1],x=i(null),P=x[0],E=x[1],S=i(null),O=S[0],_=S[1],T=i(null),R=T[0],D=T[1],A=i(null),U=A[0],Z=A[1],W=i(null),F=W[0],j=W[1],N=i(null),V=N[0],H=N[1],$=i(null),G=$[0],Y=$[1],K=i(null),J=K[0],q=K[1],X=i(null),Q=X[0],ee=X[1],te=i(null),oe=te[0],ne=te[1],ie=i(null),se=ie[0],re=ie[1];return s((function(){null!==k&&k.setMap(b)}),[b]),s((function(){void 0!==t&&null!==k&&k.setOptions(t)}),[k,t]),s((function(){void 0!==o&&null!==k&&k.setDraggable(o)}),[k,o]),s((function(){void 0!==n&&null!==k&&k.setEditable(n)}),[k,n]),s((function(){void 0!==r&&null!==k&&k.setVisible(r)}),[k,r]),s((function(){void 0!==a&&null!==k&&k.setPath(a)}),[k,a]),s((function(){k&&l&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(k,"dblclick",l)))}),[l]),s((function(){k&&g&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(k,"dragend",g)))}),[g]),s((function(){k&&p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(k,"dragstart",p)))}),[p]),s((function(){k&&d&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(k,"mousedown",d)))}),[d]),s((function(){k&&u&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(k,"mousemove",u)))}),[u]),s((function(){k&&h&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(k,"mouseout",h)))}),[h]),s((function(){k&&m&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(k,"mouseover",m)))}),[m]),s((function(){k&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(k,"mouseup",f)))}),[f]),s((function(){k&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(k,"rightclick",v)))}),[v]),s((function(){k&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(k,"click",y)))}),[y]),s((function(){k&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(k,"drag",L)))}),[L]),s((function(){var e=new google.maps.Polyline(z(z({},t||st),{map:b}));return a&&e.setPath(a),void 0!==r&&e.setVisible(r),void 0!==n&&e.setEditable(n),void 0!==o&&e.setDraggable(o),l&&E(google.maps.event.addListener(e,"dblclick",l)),g&&_(google.maps.event.addListener(e,"dragend",g)),p&&D(google.maps.event.addListener(e,"dragstart",p)),d&&Z(google.maps.event.addListener(e,"mousedown",d)),u&&j(google.maps.event.addListener(e,"mousemove",u)),h&&H(google.maps.event.addListener(e,"mouseout",h)),m&&Y(google.maps.event.addListener(e,"mouseover",m)),f&&q(google.maps.event.addListener(e,"mouseup",f)),v&&ee(google.maps.event.addListener(e,"rightclick",v)),y&&ne(google.maps.event.addListener(e,"click",y)),L&&re(google.maps.event.addListener(e,"drag",L)),M(e),I&&I(e),function(){null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==J&&google.maps.event.removeListener(J),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),C&&C(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polyline:null},t.setPolylineCallback=function(){null!==t.state.polyline&&t.props.onLoad&&t.props.onLoad(t.state.polyline)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polyline(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:it,eventMap:nt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polyline&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:it,eventMap:nt,prevProps:e,nextProps:this.props,instance:this.state.polyline}))},t.prototype.componentWillUnmount=function(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),U(this.registeredEvents),this.state.polyline.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var rt={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},at={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},paths:function(e,t){e.setPaths(t)},visible:function(e,t){e.setVisible(t)}};o((function(e){var t=e.options,o=e.draggable,n=e.editable,r=e.visible,a=e.path,l=e.paths,g=e.onDblClick,p=e.onDragEnd,d=e.onDragStart,u=e.onMouseDown,h=e.onMouseMove,m=e.onMouseOut,f=e.onMouseOver,v=e.onMouseUp,y=e.onRightClick,L=e.onClick,I=e.onDrag,C=e.onLoad,b=e.onUnmount,w=e.onEdit,k=c(B),M=i(null),x=M[0],P=M[1],E=i(null),S=E[0],O=E[1],_=i(null),T=_[0],R=_[1],D=i(null),A=D[0],U=D[1],Z=i(null),W=Z[0],F=Z[1],j=i(null),N=j[0],V=j[1],H=i(null),$=H[0],G=H[1],Y=i(null),K=Y[0],J=Y[1],q=i(null),X=q[0],Q=q[1],ee=i(null),te=ee[0],oe=ee[1],ne=i(null),ie=ne[0],se=ne[1],re=i(null),ae=re[0],le=re[1];return s((function(){null!==x&&x.setMap(k)}),[k]),s((function(){void 0!==t&&null!==x&&x.setOptions(t)}),[x,t]),s((function(){void 0!==o&&null!==x&&x.setDraggable(o)}),[x,o]),s((function(){void 0!==n&&null!==x&&x.setEditable(n)}),[x,n]),s((function(){void 0!==r&&null!==x&&x.setVisible(r)}),[x,r]),s((function(){void 0!==a&&null!==x&&x.setPath(a)}),[x,a]),s((function(){void 0!==l&&null!==x&&x.setPaths(l)}),[x,l]),s((function(){x&&g&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(x,"dblclick",g)))}),[g]),s((function(){x&&(google.maps.event.addListener(x.getPath(),"insert_at",(function(){null==w||w(x)})),google.maps.event.addListener(x.getPath(),"set_at",(function(){null==w||w(x)})))}),[x,w]),s((function(){x&&p&&(null!==T&&google.maps.event.removeListener(T),R(google.maps.event.addListener(x,"dragend",p)))}),[p]),s((function(){x&&d&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(x,"dragstart",d)))}),[d]),s((function(){x&&u&&(null!==W&&google.maps.event.removeListener(W),F(google.maps.event.addListener(x,"mousedown",u)))}),[u]),s((function(){x&&h&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(x,"mousemove",h)))}),[h]),s((function(){x&&m&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(x,"mouseout",m)))}),[m]),s((function(){x&&f&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(x,"mouseover",f)))}),[f]),s((function(){x&&v&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(x,"mouseup",v)))}),[v]),s((function(){x&&y&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(x,"rightclick",y)))}),[y]),s((function(){x&&L&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(x,"click",L)))}),[L]),s((function(){x&&I&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(x,"drag",I)))}),[I]),s((function(){var e=new google.maps.Polygon(z(z({},t||{}),{map:k}));return a&&e.setPath(a),l&&e.setPaths(l),void 0!==r&&e.setVisible(r),void 0!==n&&e.setEditable(n),void 0!==o&&e.setDraggable(o),g&&O(google.maps.event.addListener(e,"dblclick",g)),p&&R(google.maps.event.addListener(e,"dragend",p)),d&&U(google.maps.event.addListener(e,"dragstart",d)),u&&F(google.maps.event.addListener(e,"mousedown",u)),h&&V(google.maps.event.addListener(e,"mousemove",h)),m&&G(google.maps.event.addListener(e,"mouseout",m)),f&&J(google.maps.event.addListener(e,"mouseover",f)),v&&Q(google.maps.event.addListener(e,"mouseup",v)),y&&oe(google.maps.event.addListener(e,"rightclick",y)),L&&se(google.maps.event.addListener(e,"click",L)),I&&le(google.maps.event.addListener(e,"drag",I)),P(e),C&&C(e),function(){null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==A&&google.maps.event.removeListener(A),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),null!==$&&google.maps.event.removeListener($),null!==K&&google.maps.event.removeListener(K),null!==X&&google.maps.event.removeListener(X),null!==te&&google.maps.event.removeListener(te),null!==ie&&google.maps.event.removeListener(ie),b&&b(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polygon:null},t.setPolygonCallback=function(){null!==t.state.polygon&&t.props.onLoad&&t.props.onLoad(t.state.polygon)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polygon(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:at,eventMap:rt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polygon&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:at,eventMap:rt,prevProps:e,nextProps:this.props,instance:this.state.polygon}))},t.prototype.componentWillUnmount=function(){null!==this.state.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),U(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var lt={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},ct={bounds:function(e,t){e.setBounds(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},visible:function(e,t){e.setVisible(t)}};o((function(e){var t=e.options,o=e.bounds,n=e.draggable,r=e.editable,a=e.visible,l=e.onDblClick,g=e.onDragEnd,p=e.onDragStart,d=e.onMouseDown,u=e.onMouseMove,h=e.onMouseOut,m=e.onMouseOver,f=e.onMouseUp,v=e.onRightClick,y=e.onClick,L=e.onDrag,I=e.onBoundsChanged,C=e.onLoad,b=e.onUnmount,w=c(B),k=i(null),M=k[0],x=k[1],P=i(null),E=P[0],S=P[1],O=i(null),_=O[0],T=O[1],R=i(null),D=R[0],A=R[1],U=i(null),Z=U[0],W=U[1],F=i(null),j=F[0],N=F[1],V=i(null),H=V[0],$=V[1],G=i(null),Y=G[0],K=G[1],J=i(null),q=J[0],X=J[1],Q=i(null),ee=Q[0],te=Q[1],oe=i(null),ne=oe[0],ie=oe[1],se=i(null),re=se[0],ae=se[1],le=i(null),ce=le[0],ge=le[1];return s((function(){null!==M&&M.setMap(w)}),[w]),s((function(){void 0!==t&&null!==M&&M.setOptions(t)}),[M,t]),s((function(){void 0!==n&&null!==M&&M.setDraggable(n)}),[M,n]),s((function(){void 0!==r&&null!==M&&M.setEditable(r)}),[M,r]),s((function(){void 0!==a&&null!==M&&M.setVisible(a)}),[M,a]),s((function(){void 0!==o&&null!==M&&M.setBounds(o)}),[M,o]),s((function(){M&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(M,"dblclick",l)))}),[l]),s((function(){M&&g&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(M,"dragend",g)))}),[g]),s((function(){M&&p&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(M,"dragstart",p)))}),[p]),s((function(){M&&d&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(M,"mousedown",d)))}),[d]),s((function(){M&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(M,"mousemove",u)))}),[u]),s((function(){M&&h&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(M,"mouseout",h)))}),[h]),s((function(){M&&m&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(M,"mouseover",m)))}),[m]),s((function(){M&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(M,"mouseup",f)))}),[f]),s((function(){M&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(M,"rightclick",v)))}),[v]),s((function(){M&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(M,"click",y)))}),[y]),s((function(){M&&L&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(M,"drag",L)))}),[L]),s((function(){M&&I&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(M,"bounds_changed",I)))}),[I]),s((function(){var e=new google.maps.Rectangle(z(z({},t||{}),{map:w}));return void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==n&&e.setDraggable(n),void 0!==o&&e.setBounds(o),l&&S(google.maps.event.addListener(e,"dblclick",l)),g&&T(google.maps.event.addListener(e,"dragend",g)),p&&A(google.maps.event.addListener(e,"dragstart",p)),d&&W(google.maps.event.addListener(e,"mousedown",d)),u&&N(google.maps.event.addListener(e,"mousemove",u)),h&&$(google.maps.event.addListener(e,"mouseout",h)),m&&K(google.maps.event.addListener(e,"mouseover",m)),f&&X(google.maps.event.addListener(e,"mouseup",f)),v&&te(google.maps.event.addListener(e,"rightclick",v)),y&&ie(google.maps.event.addListener(e,"click",y)),L&&ae(google.maps.event.addListener(e,"drag",L)),I&&ge(google.maps.event.addListener(e,"bounds_changed",I)),x(e),C&&C(e),function(){null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==re&&google.maps.event.removeListener(re),null!==ce&&google.maps.event.removeListener(ce),b&&b(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={rectangle:null},t.setRectangleCallback=function(){null!==t.state.rectangle&&t.props.onLoad&&t.props.onLoad(t.state.rectangle)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Rectangle(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:ct,eventMap:lt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ct,eventMap:lt,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))},t.prototype.componentWillUnmount=function(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),U(this.registeredEvents),this.state.rectangle.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var gt={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},pt={center:function(e,t){e.setCenter(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},radius:function(e,t){e.setRadius(t)},visible:function(e,t){e.setVisible(t)}},dt={};o((function(e){var t=e.options,o=e.center,n=e.radius,r=e.draggable,a=e.editable,l=e.visible,g=e.onDblClick,p=e.onDragEnd,d=e.onDragStart,u=e.onMouseDown,h=e.onMouseMove,m=e.onMouseOut,f=e.onMouseOver,v=e.onMouseUp,y=e.onRightClick,L=e.onClick,I=e.onDrag,C=e.onCenterChanged,b=e.onRadiusChanged,w=e.onLoad,k=e.onUnmount,M=c(B),x=i(null),P=x[0],E=x[1],S=i(null),O=S[0],_=S[1],T=i(null),R=T[0],D=T[1],A=i(null),U=A[0],Z=A[1],W=i(null),F=W[0],j=W[1],N=i(null),V=N[0],H=N[1],$=i(null),G=$[0],Y=$[1],K=i(null),J=K[0],q=K[1],X=i(null),Q=X[0],ee=X[1],te=i(null),oe=te[0],ne=te[1],ie=i(null),se=ie[0],re=ie[1],ae=i(null),le=ae[0],ce=ae[1],ge=i(null),pe=ge[0],de=ge[1],ue=i(null),he=ue[0],me=ue[1];return s((function(){null!==P&&P.setMap(M)}),[M]),s((function(){void 0!==t&&null!==P&&P.setOptions(t)}),[P,t]),s((function(){void 0!==r&&null!==P&&P.setDraggable(r)}),[P,r]),s((function(){void 0!==a&&null!==P&&P.setEditable(a)}),[P,a]),s((function(){void 0!==l&&null!==P&&P.setVisible(l)}),[P,l]),s((function(){"number"==typeof n&&null!==P&&P.setRadius(n)}),[P,n]),s((function(){void 0!==o&&null!==P&&P.setCenter(o)}),[P,o]),s((function(){P&&g&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(P,"dblclick",g)))}),[g]),s((function(){P&&p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(P,"dragend",p)))}),[p]),s((function(){P&&d&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(P,"dragstart",d)))}),[d]),s((function(){P&&u&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(P,"mousedown",u)))}),[u]),s((function(){P&&h&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(P,"mousemove",h)))}),[h]),s((function(){P&&m&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(P,"mouseout",m)))}),[m]),s((function(){P&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(P,"mouseover",f)))}),[f]),s((function(){P&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(P,"mouseup",v)))}),[v]),s((function(){P&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(P,"rightclick",y)))}),[y]),s((function(){P&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(P,"click",L)))}),[L]),s((function(){P&&I&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener(P,"drag",I)))}),[I]),s((function(){P&&C&&(null!==pe&&google.maps.event.removeListener(pe),de(google.maps.event.addListener(P,"center_changed",C)))}),[L]),s((function(){P&&b&&(null!==he&&google.maps.event.removeListener(he),me(google.maps.event.addListener(P,"radius_changed",b)))}),[b]),s((function(){var e=new google.maps.Circle(z(z({},t||dt),{map:M}));return"number"==typeof n&&e.setRadius(n),void 0!==o&&e.setCenter(o),"number"==typeof n&&e.setRadius(n),void 0!==l&&e.setVisible(l),void 0!==a&&e.setEditable(a),void 0!==r&&e.setDraggable(r),g&&_(google.maps.event.addListener(e,"dblclick",g)),p&&D(google.maps.event.addListener(e,"dragend",p)),d&&Z(google.maps.event.addListener(e,"dragstart",d)),u&&j(google.maps.event.addListener(e,"mousedown",u)),h&&H(google.maps.event.addListener(e,"mousemove",h)),m&&Y(google.maps.event.addListener(e,"mouseout",m)),f&&q(google.maps.event.addListener(e,"mouseover",f)),v&&ee(google.maps.event.addListener(e,"mouseup",v)),y&&ne(google.maps.event.addListener(e,"rightclick",y)),L&&re(google.maps.event.addListener(e,"click",L)),I&&ce(google.maps.event.addListener(e,"drag",I)),C&&de(google.maps.event.addListener(e,"center_changed",C)),b&&me(google.maps.event.addListener(e,"radius_changed",b)),E(e),w&&w(e),function(){null!==O&&google.maps.event.removeListener(O),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==J&&google.maps.event.removeListener(J),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),null!==se&&google.maps.event.removeListener(se),null!==pe&&google.maps.event.removeListener(pe),null!==he&&google.maps.event.removeListener(he),k&&k(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={circle:null},t.setCircleCallback=function(){null!==t.state.circle&&t.props.onLoad&&t.props.onLoad(t.state.circle)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Circle(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:pt,eventMap:gt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.circle&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:pt,eventMap:gt,prevProps:e,nextProps:this.props,instance:this.state.circle}))},t.prototype.componentWillUnmount=function(){var e;null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),U(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var ut={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ht={add:function(e,t){e.add(t)},addgeojson:function(e,t,o){e.addGeoJson(t,o)},contains:function(e,t){e.contains(t)},foreach:function(e,t){e.forEach(t)},loadgeojson:function(e,t,o,n){e.loadGeoJson(t,o,n)},overridestyle:function(e,t,o){e.overrideStyle(t,o)},remove:function(e,t){e.remove(t)},revertstyle:function(e,t){e.revertStyle(t)},controlposition:function(e,t){e.setControlPosition(t)},controls:function(e,t){e.setControls(t)},drawingmode:function(e,t){e.setDrawingMode(t)},map:function(e,t){e.setMap(t)},style:function(e,t){e.setStyle(t)},togeojson:function(e,t){e.toGeoJson(t)}};o((function(e){var t=e.options,o=e.onClick,n=e.onDblClick,r=e.onMouseDown,a=e.onMouseMove,l=e.onMouseOut,g=e.onMouseOver,p=e.onMouseUp,d=e.onRightClick,u=e.onAddFeature,h=e.onRemoveFeature,m=e.onRemoveProperty,f=e.onSetGeometry,v=e.onSetProperty,y=e.onLoad,L=e.onUnmount,I=c(B),C=i(null),b=C[0],w=C[1],k=i(null),M=k[0],x=k[1],P=i(null),E=P[0],S=P[1],O=i(null),_=O[0],T=O[1],R=i(null),D=R[0],A=R[1],U=i(null),Z=U[0],W=U[1],F=i(null),j=F[0],N=F[1],V=i(null),H=V[0],$=V[1],G=i(null),Y=G[0],K=G[1],J=i(null),q=J[0],X=J[1],Q=i(null),ee=Q[0],te=Q[1],oe=i(null),ne=oe[0],ie=oe[1],se=i(null),re=se[0],ae=se[1],le=i(null),ce=le[0],ge=le[1];return s((function(){null!==b&&b.setMap(I)}),[I]),s((function(){b&&n&&(null!==M&&google.maps.event.removeListener(M),x(google.maps.event.addListener(b,"dblclick",n)))}),[n]),s((function(){b&&r&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(b,"mousedown",r)))}),[r]),s((function(){b&&a&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(b,"mousemove",a)))}),[a]),s((function(){b&&l&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(b,"mouseout",l)))}),[l]),s((function(){b&&g&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(b,"mouseover",g)))}),[g]),s((function(){b&&p&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(b,"mouseup",p)))}),[p]),s((function(){b&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(b,"rightclick",d)))}),[d]),s((function(){b&&o&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(b,"click",o)))}),[o]),s((function(){b&&u&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(b,"addfeature",u)))}),[u]),s((function(){b&&h&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(b,"removefeature",h)))}),[h]),s((function(){b&&m&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(b,"removeproperty",m)))}),[m]),s((function(){b&&f&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(b,"setgeometry",f)))}),[f]),s((function(){b&&v&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(b,"setproperty",v)))}),[v]),s((function(){if(null!==I){var e=new google.maps.Data(z(z({},t||{}),{map:I}));n&&x(google.maps.event.addListener(e,"dblclick",n)),r&&S(google.maps.event.addListener(e,"mousedown",r)),a&&T(google.maps.event.addListener(e,"mousemove",a)),l&&A(google.maps.event.addListener(e,"mouseout",l)),g&&W(google.maps.event.addListener(e,"mouseover",g)),p&&N(google.maps.event.addListener(e,"mouseup",p)),d&&$(google.maps.event.addListener(e,"rightclick",d)),o&&K(google.maps.event.addListener(e,"click",o)),u&&X(google.maps.event.addListener(e,"addfeature",u)),h&&te(google.maps.event.addListener(e,"removefeature",h)),m&&ie(google.maps.event.addListener(e,"removeproperty",m)),f&&ae(google.maps.event.addListener(e,"setgeometry",f)),v&&ge(google.maps.event.addListener(e,"setproperty",v)),w(e),y&&y(e)}return function(){b&&(null!==M&&google.maps.event.removeListener(M),null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==re&&google.maps.event.removeListener(re),null!==ce&&google.maps.event.removeListener(ce),L&&L(b),b.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={data:null},t.setDataCallback=function(){null!==t.state.data&&t.props.onLoad&&t.props.onLoad(t.state.data)},t}x(t,e),t.prototype.componentDidMount=function(){if(null!==this.context){var e=new google.maps.Data(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:ht,eventMap:ut,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)}},t.prototype.componentDidUpdate=function(e){null!==this.state.data&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ht,eventMap:ut,prevProps:e,nextProps:this.props,instance:this.state.data}))},t.prototype.componentWillUnmount=function(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),U(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var mt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},ft={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}};function vt(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function yt(e,t){return new t(e.lat,e.lng)}function Lt(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))}function It(e,t,o,n){return void 0!==o?function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o.getNorthEast()),i=e&&e.fromLatLngToDivPixel(o.getSouthWest());return n&&i?{left:"".concat(i.x+t.x,"px"),top:"".concat(n.y+t.y,"px"),width:"".concat(n.x-i.x-t.x,"px"),height:"".concat(i.y-n.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}}(e,t,(i=o,s=google.maps.LatLngBounds,r=Lt,i instanceof s?i:r(i,s))):function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o);if(n){var i=n.x,s=n.y;return{left:"".concat(i+t.x,"px"),top:"".concat(s+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,function(e,t,o){return e instanceof t?e:o(e,t)}(n,google.maps.LatLng,yt));var i,s,r}function Ct(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function bt(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}function wt(){}!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={kmlLayer:null},t.setKmlLayerCallback=function(){null!==t.state.kmlLayer&&t.props.onLoad&&t.props.onLoad(t.state.kmlLayer)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.KmlLayer(z(z({},this.props.options),{map:this.context}));this.registeredEvents=Z({updaterMap:ft,eventMap:mt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ft,eventMap:mt,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))},t.prototype.componentWillUnmount=function(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),U(this.registeredEvents),this.state.kmlLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a),o((function(e){var t=e.position,o=e.bounds,n=e.mapPaneName,i=e.zIndex,a=e.onLoad,l=e.onUnmount,g=e.getPixelPositionOffset,p=e.children,d=c(B),u=r((function(){var e=document.createElement("div");return e.style.position="absolute",e}),[]),m=r((function(){return function(e,t,o,n,i){var s=function(e){function t(t,o,n,i){var s=e.call(this)||this;return s.container=t,s.pane=o,s.position=n,s.bounds=i,s}return x(t,e),t.prototype.onAdd=function(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)},t.prototype.draw=function(){for(var e=It(this.getProjection(),z({},this.container?vt(this.container,i):{x:0,y:0}),this.bounds,this.position),t=0,o=Object.entries(e);t<o.length;t++){var n=o[t],s=n[0],r=n[1];this.container.style[s]=r}},t.prototype.onRemove=function(){null!==this.container.parentNode&&this.container.parentNode.removeChild(this.container)},t}(google.maps.OverlayView);return new s(e,t,o,n)}(u,n,t,o,g)}),[u,n,t,o]);return s((function(){return null==a||a(m),null==m||m.setMap(d),function(){null==l||l(m),null==m||m.setMap(null)}}),[d,m]),s((function(){u.style.zIndex="".concat(i)}),[i,u]),h.createPortal(p,u)})),function(e){function t(t){var o=e.call(this,t)||this;o.state={paneEl:null,containerStyle:{position:"absolute"}},o.updatePane=function(){var e=o.props.mapPaneName,t=o.overlayView.getPanes();T(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?o.setState({paneEl:t[e]}):o.setState({paneEl:null})},o.onAdd=function(){var e,t;o.updatePane(),null===(t=(e=o.props).onLoad)||void 0===t||t.call(e,o.overlayView)},o.onPositionElement=function(){var e,t,n=It(o.overlayView.getProjection(),z({x:0,y:0},o.containerRef.current?vt(o.containerRef.current,o.props.getPixelPositionOffset):{}),o.props.bounds,o.props.position),i=o.state.containerStyle,s=i.left,r=i.top,a=i.width,l=i.height;t={left:s,top:r,width:a,height:l},((e=n).left!==t.left||e.top!==t.top||e.width!==t.height||e.height!==t.height)&&o.setState({containerStyle:{top:n.top||0,left:n.left||0,width:n.width||0,height:n.height||0,position:"absolute"}})},o.draw=function(){o.onPositionElement()},o.onRemove=function(){var e,t;o.setState((function(){return{paneEl:null}})),null===(t=(e=o.props).onUnmount)||void 0===t||t.call(e,o.overlayView)},o.containerRef=l();var n=new google.maps.OverlayView;return n.onAdd=o.onAdd,n.draw=o.draw,n.onRemove=o.onRemove,o.overlayView=n,o}x(t,e),t.prototype.componentDidMount=function(){this.overlayView.setMap(this.context)},t.prototype.componentDidUpdate=function(e){var t=Ct(e.position),o=Ct(this.props.position),n=bt(e.bounds),i=bt(this.props.bounds);t===o&&n===i||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},t.prototype.componentWillUnmount=function(){this.overlayView.setMap(null)},t.prototype.render=function(){var e=this.state.paneEl;return e?h.createPortal(k.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:g.only(this.props.children)}),e):null},t.FLOAT_PANE="floatPane",t.MAP_PANE="mapPane",t.MARKER_LAYER="markerLayer",t.OVERLAY_LAYER="overlayLayer",t.OVERLAY_MOUSE_TARGET="overlayMouseTarget",t.contextType=B}(a);var kt={onDblClick:"dblclick",onClick:"click"},Mt={opacity:function(e,t){e.setOpacity(t)}};o((function(e){var t=e.url,o=e.bounds,n=e.options,i=e.visible,a=c(B),l=new google.maps.LatLngBounds(new google.maps.LatLng(o.south,o.west),new google.maps.LatLng(o.north,o.east)),g=r((function(){return new google.maps.GroundOverlay(t,l,z({},n))}),[]);return s((function(){null!==g&&g.setMap(a)}),[a]),s((function(){void 0!==t&&null!==g&&(g.set("url",t),g.setMap(a))}),[g,t]),s((function(){void 0!==i&&null!==g&&g.setOpacity(i?1:0)}),[g,i]),s((function(){var e=new google.maps.LatLngBounds(new google.maps.LatLng(o.south,o.west),new google.maps.LatLng(o.north,o.east));void 0!==o&&null!==g&&(g.set("bounds",e),g.setMap(a))}),[g,o]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={groundOverlay:null},t.setGroundOverlayCallback=function(){null!==t.state.groundOverlay&&t.props.onLoad&&t.props.onLoad(t.state.groundOverlay)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,z(z({},this.props.options),{map:this.context}));this.registeredEvents=Z({updaterMap:Mt,eventMap:kt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Mt,eventMap:kt,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))},t.prototype.componentWillUnmount=function(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))},t.prototype.render=function(){return null},t.defaultProps={onLoad:wt},t.contextType=B}(a);var xt={},zt={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}};o((function(e){var t=e.data,o=e.onLoad,n=e.onUnmount,r=e.options,a=c(B),l=i(null),g=l[0],p=l[1];return s((function(){google.maps.visualization||T(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),s((function(){T(!!t,"data property is required in HeatmapLayer %s",t)}),[t]),s((function(){null!==g&&g.setMap(a)}),[a]),s((function(){r&&null!==g&&g.setOptions(r)}),[g,r]),s((function(){var e=new google.maps.visualization.HeatmapLayer(z(z({},r||{}),{data:t,map:a}));return p(e),o&&o(e),function(){null!==g&&(n&&n(g),g.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={heatmapLayer:null},t.setHeatmapLayerCallback=function(){null!==t.state.heatmapLayer&&t.props.onLoad&&t.props.onLoad(t.state.heatmapLayer)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),T(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(z(z({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=Z({updaterMap:zt,eventMap:xt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},t.prototype.componentDidUpdate=function(e){U(this.registeredEvents),this.registeredEvents=Z({updaterMap:zt,eventMap:xt,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})},t.prototype.componentWillUnmount=function(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),U(this.registeredEvents),this.state.heatmapLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var Pt={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},Et={register:function(e,t,o){e.registerPanoProvider(t,o)},links:function(e,t){e.setLinks(t)},motionTracking:function(e,t){e.setMotionTracking(t)},options:function(e,t){e.setOptions(t)},pano:function(e,t){e.setPano(t)},position:function(e,t){e.setPosition(t)},pov:function(e,t){e.setPov(t)},visible:function(e,t){e.setVisible(t)},zoom:function(e,t){e.setZoom(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={streetViewPanorama:null},t.setStreetViewPanoramaCallback=function(){null!==t.state.streetViewPanorama&&t.props.onLoad&&t.props.onLoad(t.state.streetViewPanorama)},t}x(t,e),t.prototype.componentDidMount=function(){var e,t,o=null!==(t=null===(e=this.context)||void 0===e?void 0:e.getStreetView())&&void 0!==t?t:null;this.registeredEvents=Z({updaterMap:Et,eventMap:Pt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{streetViewPanorama:o}}),this.setStreetViewPanoramaCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Et,eventMap:Pt,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),U(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},t.prototype.render=function(){return null},t.contextType=B}(a),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={streetViewService:null},t.setStreetViewServiceCallback=function(){null!==t.state.streetViewService&&t.props.onLoad&&t.props.onLoad(t.state.streetViewService)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.StreetViewService;this.setState((function(){return{streetViewService:e}}),this.setStreetViewServiceCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},t.prototype.render=function(){return null},t.contextType=B}(a),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={directionsService:null},t.setDirectionsServiceCallback=function(){null!==t.state.directionsService&&t.props.onLoad&&t.props.onLoad(t.state.directionsService)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var e=new google.maps.DirectionsService;this.setState((function(){return{directionsService:e}}),this.setDirectionsServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.directionsService&&this.state.directionsService.route(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.directionsService&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},t.prototype.render=function(){return null}}(a);var St={onDirectionsChanged:"directions_changed"},Ot={directions:function(e,t){e.setDirections(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},panel:function(e,t){e.setPanel(t)},routeIndex:function(e,t){e.setRouteIndex(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={directionsRenderer:null},t.setDirectionsRendererCallback=function(){null!==t.state.directionsRenderer&&(t.state.directionsRenderer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.directionsRenderer))},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Z({updaterMap:Ot,eventMap:St,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Ot,eventMap:St,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))},t.prototype.componentWillUnmount=function(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),U(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},t.prototype.render=function(){return k.jsx(k.Fragment,{})},t.contextType=B}(a),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={distanceMatrixService:null},t.setDistanceMatrixServiceCallback=function(){null!==t.state.distanceMatrixService&&t.props.onLoad&&t.props.onLoad(t.state.distanceMatrixService)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var e=new google.maps.DistanceMatrixService;this.setState((function(){return{distanceMatrixService:e}}),this.setDistanceMatrixServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.distanceMatrixService&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.distanceMatrixService&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},t.prototype.render=function(){return null}}(a);var _t={onPlacesChanged:"places_changed"},Tt={bounds:function(e,t){e.setBounds(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.containerElement=l(),t.state={searchBox:null},t.setSearchBoxCallback=function(){null!==t.state.searchBox&&t.props.onLoad&&t.props.onLoad(t.state.searchBox)},t}x(t,e),t.prototype.componentDidMount=function(){if(T(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=Z({updaterMap:Tt,eventMap:_t,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},t.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Tt,eventMap:_t,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},t.prototype.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),U(this.registeredEvents))},t.prototype.render=function(){return k.jsx("div",{ref:this.containerElement,children:g.only(this.props.children)})},t.contextType=B}(a);var Bt={onPlaceChanged:"place_changed"},Rt={bounds:function(e,t){e.setBounds(t)},restrictions:function(e,t){e.setComponentRestrictions(t)},fields:function(e,t){e.setFields(t)},options:function(e,t){e.setOptions(t)},types:function(e,t){e.setTypes(t)}};function Dt(e,t,o,n){var i=o*Math.PI/180-e*Math.PI/180,s=n*Math.PI/180-t*Math.PI/180,r=Math.sin(i/2)*Math.sin(i/2)+Math.cos(e*Math.PI/180)*Math.cos(o*Math.PI/180)*Math.sin(s/2)*Math.sin(s/2);return 6378137*(2*Math.atan2(Math.sqrt(r),Math.sqrt(1-r)))}!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.containerElement=l(),t.state={autocomplete:null},t.setAutocompleteCallback=function(){null!==t.state.autocomplete&&t.props.onLoad&&t.props.onLoad(t.state.autocomplete)},t}x(t,e),t.prototype.componentDidMount=function(){var e;T(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var o=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=Z({updaterMap:Rt,eventMap:Bt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{autocomplete:o}}),this.setAutocompleteCallback)}},t.prototype.componentDidUpdate=function(e){U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Rt,eventMap:Bt,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},t.prototype.componentWillUnmount=function(){null!==this.state.autocomplete&&U(this.registeredEvents)},t.prototype.render=function(){return k.jsx("div",{ref:this.containerElement,className:this.props.className,children:g.only(this.props.children)})},t.defaultProps={className:""},t.contextType=B}(a);var At=function(){function e(){}return e.clearString=function(e){return e.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/"/g,""")},e}();function Ut(e){return e*Math.PI/180}function Zt(e){return 180*e/Math.PI}class Wt{constructor(){}delete(e,t){return t.getPath().forEach((function(e,t){e.marker&&(e.marker.setMap(null),e.marker=void 0),e.ghostMarker&&(e.ghostMarker.setMap(null),e.ghostMarker=void 0)})),t}edit(e,t,o,n){if(n){0;var i={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};0;var s={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,0.4)" stroke="#303030" stroke-width="0.3" stroke-opacity="0.01" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};0;var r={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60)};0;var a={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0)}}else i={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1},s={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:.4,anchor:new google.maps.Point(4,4),strokeWeight:.3,strokeOpacity:.01,strokeColor:"#303030",scale:1};var l=new google.maps.Polyline({map:e,strokeColor:"#ffa500",strokeOpacity:1,strokeWeight:3});function c(e){return t.getPath().getAt(e)}function g(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function p(){0===l.getPath().getLength()&&(this.marker.editIndex<t.getPath().getLength()-1?l.setPath([this.marker.getPosition(),this.getPosition(),c(this.marker.editIndex+1)]):this.marker.editIndex==t.getPath().getLength()-1&&l.setPath([this.marker.getPosition(),this.getPosition(),c(0)])),l.getPath().setAt(1,this.getPosition())}function d(e){var o,n,i,s=c(e.editIndex);o=0===e.editIndex?c(t.getPath().getLength()-1):c(e.editIndex-1),n=e.editIndex==t.getPath().getLength()-1?c(0):c(e.editIndex+1),i=e.getPosition(),s&&s.ghostMarker&&(google.maps.geometry?s.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(s,n,.5)):s.ghostMarker.setPosition(new google.maps.LatLng(s.lat()+.5*(n.lat()-s.lat()),s.lng()+.5*(n.lng()-s.lng())))),o&&o.ghostMarker&&(google.maps.geometry?o.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(o,i,.5)):o.ghostMarker.setPosition(new google.maps.LatLng(o.lat()+.5*(i.lat()-o.lat()),o.lng()+.5*(i.lng()-o.lng()))))}function u(){this.setIcon(s);var e=this.getPosition(),o=this.marker.editIndex+1;l.getPath().forEach((function(){l.getPath().pop()})),t.getPath().insertAt(o,e),y(c(o),i).editIndex=o,d(this.marker),h(c(o)),t.getPath().forEach((function(e,t){e.marker&&(e.marker.editIndex=t)})),google.maps.event.trigger(t,"insert_at",o,e)}function h(o){if(o.marker.editIndex<t.getPath().getLength()-1){var n=c(o.marker.editIndex+1);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",u),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}if(o.marker.editIndex==t.getPath().getLength()-1){var i,r;n=c(0);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",u),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}return null}function m(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function f(){var e=this.getPosition();e.marker=this,e.ghostMarker=c(this.editIndex).ghostMarker,t.getPath().setAt(this.editIndex,e),d(this)}function v(){google.maps.event.trigger(t,"update_at",this.editIndex,this.getPosition())}function y(t,o){var n=t.marker;return n||(n=new google.maps.Marker({position:t,map:e,icon:o,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(n,"dragstart",m),google.maps.event.addListener(n,"drag",f),google.maps.event.addListener(n,"dragend",v),t.marker=n),n.setPosition(t),n}function L(e,t,o,n){return t.setMap(e),t.getPath().forEach((function(e,t){var o=i;n&&1===t&&(o=r),y(e,o).editIndex=t,h(e)})),t}return L.prototype=new google.maps.MVCObject,new L(e,t,o,n)}}class Ft{IsValid="";Poly="";Area=0;Perimeter=0;Latitude=0;Longitude=0;constructor(e,t,o,n,i,s){this.Poly=e,this.Area=t,this.Perimeter=o,this.Latitude=n,this.Longitude=i,this.IsValid=s,this.GeoJSON=void 0}}class jt{constructor(e=[],t=(e,t)=>e<t?-1:e>t?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:o}=this,n=t[e];for(;e>0;){const i=e-1>>1,s=t[i];if(o(n,s)>=0)break;t[e]=s,e=i}t[e]=n}_down(e){const{data:t,compare:o}=this,n=this.length>>1,i=t[e];for(;e<n;){let n=1+(e<<1);const s=n+1;if(s<this.length&&o(t[s],t[n])<0&&(n=s),o(t[n],i)>=0)break;t[e]=t[n],e=n}t[e]=i}}function Nt(e,t=1,o=!1){let n=1/0,i=1/0,s=-1/0,r=-1/0;for(const[t,o]of e[0])t<n&&(n=t),o<i&&(i=o),t>s&&(s=t),o>r&&(r=o);const a=s-n,l=r-i,c=Math.max(t,Math.min(a,l));if(c===t){const e=[n,i];return e.distance=0,e}const g=new jt([],((e,t)=>t.max-e.max));let p=function(e){let t=0,o=0,n=0;const i=e[0];for(let e=0,s=i.length,r=s-1;e<s;r=e++){const s=i[e],a=i[r],l=s[0]*a[1]-a[0]*s[1];o+=(s[0]+a[0])*l,n+=(s[1]+a[1])*l,t+=3*l}const s=new Vt(o/t,n/t,0,e);return 0===t||s.d<0?new Vt(i[0][0],i[0][1],0,e):s}(e);const d=new Vt(n+a/2,i+l/2,0,e);d.d>p.d&&(p=d);let u=2;function h(n,i,s){const r=new Vt(n,i,s,e);u++,r.max>p.d+t&&g.push(r),r.d>p.d&&(p=r,o&&console.log(`found best ${Math.round(1e4*r.d)/1e4} after ${u} probes`))}let m=c/2;for(let e=n;e<s;e+=c)for(let t=i;t<r;t+=c)h(e+m,t+m,m);for(;g.length;){const{max:e,x:o,y:n,h:i}=g.pop();if(e-p.d<=t)break;m=i/2,h(o-m,n-m,m),h(o+m,n-m,m),h(o-m,n+m,m),h(o+m,n+m,m)}o&&console.log(`num probes: ${u}\nbest distance: ${p.d}`);const f=[p.x,p.y];return f.distance=p.d,f}function Vt(e,t,o,n){this.x=e,this.y=t,this.h=o,this.d=function(e,t,o){let n=!1,i=1/0;for(const s of o)for(let o=0,r=s.length,a=r-1;o<r;a=o++){const r=s[o],l=s[a];r[1]>t!=l[1]>t&&e<(l[0]-r[0])*(t-r[1])/(l[1]-r[1])+r[0]&&(n=!n),i=Math.min(i,Ht(e,t,r,l))}return 0===i?0:(n?1:-1)*Math.sqrt(i)}(e,t,n),this.max=this.d+this.h*Math.SQRT2}function Ht(e,t,o,n){let i=o[0],s=o[1],r=n[0]-i,a=n[1]-s;if(0!==r||0!==a){const o=((e-i)*r+(t-s)*a)/(r*r+a*a);o>1?(i=n[0],s=n[1]):o>0&&(i+=r*o,s+=a*o)}return r=e-i,a=t-s,r*r+a*a}var $t,Gt={exports:{}};var Yt=($t||($t=1,function(e){var t={};function o(e){return Math.floor(Math.abs(e)+.5)*(e>=0?1:-1)}function n(e,t,n){var i=2*((e=o(e*n))-(t=o(t*n)));i<0&&(i=-i-1);for(var s="";i>=32;)s+=String.fromCharCode(63+(32|31&i)),i/=32;return s+=String.fromCharCode(63+(0|i))}function i(e){for(var t=[],o=0;o<e.length;o++){var n=e[o].slice();t.push([n[1],n[0]])}return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,Number.isInteger(t)?t:5);n<e.length;){c=null,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);o=1&l?(-l-1)/2:l/2,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);i+=o,s+=1&l?(-l-1)/2:l/2,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var o=Math.pow(10,Number.isInteger(t)?t:5),i=n(e[0][0],0,o)+n(e[0][1],0,o),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=n(r[0],a[0],o),i+=n(r[1],a[1],o)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(i(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:i(t.decode(e,o))}},e.exports&&(e.exports=t)}(Gt)),Gt.exports),Kt=f(Yt);class Jt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,d=0;g<p;d++)g=(n+d)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a}reduce(e,t){var o=[];o.push(e.getAt(0));for(var n=1;n<e.getLength()-2;n++)n%10==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=360;if(s){var l='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';l+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',l+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',l+="</svg>";var c={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"}}else c={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function f(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:u,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new v;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"centerIcon"==i.getIcon().id?i.setIcon(m):i.setIcon(u)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),i.setIcon(m)})),r.push(i)),o}function v(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_()}return f.prototype=new google.maps.MVCObject,v.prototype=new google.maps.MVCObject,v.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},v.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:c,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconTop"==e.getIcon().id?e.setIcon(h):e.setIcon(c)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(h)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},v.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconRight"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},v.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(m):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},v.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:d,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(m):e.setIcon(d)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},v.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Jt).get(this.get("center").lat(),this.get("center").lng(),t,0,a);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),l=e.getSouthWest().lng(),c=new google.maps.LatLng(i,this.get("center").lng()),g=new google.maps.LatLng(this.get("center").lat(),s),p=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),l);this.set("sizerTop_position",c),this.set("sizerRight_position",g),this.set("sizerBottom_position",p),this.set("sizerLeft_position",d)}},v.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new f(e)}}class qt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;a.push(this.centerPoint),i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,d=0;g<p;d++)g=(n+d)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(this.centerPoint),a}reduce(e,t){for(var o=[],n=1;n<e.getLength()-2;n++)n%5==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=60,l=120;if(s){var c='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';c+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',c+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',c+="</svg>";var g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},v='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';v+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',v+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',v+="</svg>";var y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"startPinIcon"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},h={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function I(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:h,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new C;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"centerIcon"==i.getIcon().id?i.setIcon(f):i.setIcon(h)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),i.setIcon(f)})),r.push(i)),o}function C(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return I.prototype=new google.maps.MVCObject,C.prototype=new google.maps.MVCObject,C.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},C.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:y,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(f):e.setIcon(m):e.setIcon(y)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),a>90&&a<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},C.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:L,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(f):e.setIcon(m):e.setIcon(L)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),l>90&&l<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},C.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconTop"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},C.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconRight"==e.getIcon().id?e.setIcon(f):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},C.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:d,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(f):e.setIcon(d)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},C.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:u,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(f):e.setIcon(u)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},C.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new qt).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),d=new google.maps.LatLng(r,this.get("center").lng()),u=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",d),this.set("sizerLeft_position",u),this.set("startPin_position",n[1]),this.set("endPin_position",n[n.length-2])}},C.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new I(e)}}class Xt{centerPoint=null;startHeading=0;endHeading=160;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,d=0;g<p;d++)g=(n+d)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(a[0]),a}reduce(e,t){for(var o=[],n=0;n<e.getLength()-2;n++)n%5==0&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=0,l=160,c=null,g=null,p=null,d=null,u=null;if(s){var h='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';h+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',h+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',h+="</svg>";var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},v={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var I={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var C={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},b='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';b+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',b+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',b+="</svg>";var w={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"startPinIcon"},k={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else m={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},f={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},v={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},y={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},L={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function M(e,t){this.set("map",e),this.set("position",n),(c=new google.maps.Marker({icon:L,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"})).bindTo("map",this),c.bindTo("position",this);var i=new x;return i.bindTo("map",this),i.bindTo("center",this,"position"),this.bindTo("distance",i),this.bindTo("bounds",i),s&&(google.maps.event.addListener(c,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"centerIcon"==c.getIcon().id?c.setIcon(C):c.setIcon(L)})),google.maps.event.addListener(c,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),c.setIcon(C)})),r.push(c)),o}function x(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return M.prototype=new google.maps.MVCObject,x.prototype=new google.maps.MVCObject,x.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},x.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:w,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(C):e.setIcon(I):e.setIcon(w)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),a>90&&a<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},x.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:k,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(C):e.setIcon(I):e.setIcon(k)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),l>90&&l<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},x.prototype.addSizerTop_=function(){(g=new google.maps.Marker({icon:m,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"})).bindTo("map",this),g.bindTo("position",this,"sizerTop_position");var e=this;s&&(google.maps.event.addListener(g,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconTop"==g.getIcon().id?g.setIcon(I):g.setIcon(m)})),google.maps.event.addListener(g,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),g.setIcon(I)})),r.push(g)),google.maps.event.addListener(g,"drag",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()})),google.maps.event.addListener(g,"dragend",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()}))},x.prototype.addSizerRight_=function(){(d=new google.maps.Marker({icon:f,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"})).bindTo("map",this),d.bindTo("position",this,"sizerRight_position");var e=this;s&&(google.maps.event.addListener(d,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconRight"==d.getIcon().id?d.setIcon(C):d.setIcon(f)})),google.maps.event.addListener(d,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),d.setIcon(C)})),r.push(d)),google.maps.event.addListener(d,"drag",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()})),google.maps.event.addListener(d,"dragend",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()}))},x.prototype.addSizerBottom_=function(){(u=new google.maps.Marker({icon:v,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"})).bindTo("map",this),u.bindTo("position",this,"sizerBottom_position");var e=this;s&&(google.maps.event.addListener(u,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconBottom"==u.getIcon().id?u.setIcon(C):u.setIcon(v)})),google.maps.event.addListener(u,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),u.setIcon(C)})),r.push(u)),google.maps.event.addListener(u,"drag",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()})),google.maps.event.addListener(u,"dragend",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()}))},x.prototype.addSizerLeft_=function(){(p=new google.maps.Marker({icon:y,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"})).bindTo("map",this),p.bindTo("position",this,"sizerLeft_position");var e=this;s&&(google.maps.event.addListener(p,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconLeft"==p.getIcon().id?p.setIcon(C):p.setIcon(y)})),google.maps.event.addListener(p,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),p.setIcon(C)})),r.push(p)),google.maps.event.addListener(p,"drag",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()})),google.maps.event.addListener(p,"dragend",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()}))},x.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Xt).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),d=new google.maps.LatLng(r,this.get("center").lng()),u=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",d),this.set("sizerLeft_position",u),this.set("startPin_position",n[0]),this.set("endPin_position",n[n.length-2])}},x.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},x.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},x.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},x.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new M(e)}}var Qt,eo={exports:{}};Qt||(Qt=1,function(e){var t={};function o(e,t){e=Math.round(e*t),(e<<=1)<0&&(e=~e);for(var o="";e>=32;)o+=String.fromCharCode(63+(32|31&e)),e>>=5;return o+=String.fromCharCode(e+63)}function n(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o].slice().reverse());return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,t||5);n<e.length;){c=null,a=0,l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);o=1&l?~(l>>1):l>>1,a=l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);i+=o,s+=1&l?~(l>>1):l>>1,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var n=Math.pow(10,t||5),i=o(e[0][0],n)+o(e[0][1],n),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=o(r[0]-a[0],n),i+=o(r[1]-a[1],n)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(n(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:n(t.decode(e,o))}},e.exports&&(e.exports=t)}(eo));class to{constructor(e){var t,o,n,i,s,r,a=this,l=e,c=null,g=null,p=[],d=[],u=[],h={},m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],x=null,z=null,P=null,E=null,S=null,O=20,_=20,T=[];function B(e,t="white"){var o=R(e.Poly),n=o.y,i=o.x,s=`${e.Area} ha`,r=function(e,t,o,n){var i=document.createElement("div");i.id="locname"+e,i.style.display="inline-block",i.style.fontFamily="Arial, sans-serif",i.style.fontSize=n+"px",i.textContent=t;var s=document.createElement("div");s.id="locarea"+e,s.style.display="inline-block",s.style.fontFamily="Arial, sans-serif",s.style.fontSize=n+"px",s.textContent=o;var r=document.createElement("div");r.id="locnameContainer"+e,r.style.position="absolute",r.style.top="0",r.style.left="-1000px";var a=document.createElement("div");a.id="locareaContainer"+e,a.style.position="absolute",a.style.top="0",a.style.left="-1000px",r.appendChild(i),a.appendChild(s),document.body.appendChild(r),document.body.appendChild(a);var l=document.getElementById("locname"+e),c=document.getElementById("locarea"+e),g=document.getElementById("locnameContainer"+e),p=document.getElementById("locareaContainer"+e),d=l.clientWidth,u=c.clientWidth;return g.remove(),p.remove(),{nameWidth:d,areaWidth:u}}(e.Id,e.LocationName,s,8),a=`<svg viewBox="0 0 200 30" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="12" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${At.clearString(e.LocationName)}</text>\n <line x1="0" y1="15" x2="${Math.max(r.nameWidth,r.areaWidth)}" y2="15" style="stroke:${t};stroke-width:0.6"/>\n <text x="0" y="24" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${s}</text>\n </svg>`,c=new google.maps.Marker({map:l,position:new google.maps.LatLng(parseFloat(n),parseFloat(i)),icon:{anchor:new google.maps.Point(1.3*r.nameWidth/2,21),url:`data:image/svg+xml;utf-8, ${a}`},id:`pl_${e.Id}`});y.push(c)}function R(e){var t=Nt(e,1e-5);return{x:t[0],y:t[1]}}function D(e,t){!S&&e&&((S=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",S.innerHTML=t,S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function A(e,t){!S&&e&&((S=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",S.innerHTML=t,S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function U(e){S&&e&&(S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px")}function Z(e){S&&e&&(S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px")}function W(){S&&(document.body.removeChild(S),S=null)}function F(e,t,o="field",n,i,s){if(l.getMapCapabilities().isAdvancedMarkersAvailable&&e&&e.length>0){var r=new google.maps.LatLngBounds;if(e.forEach((function(e){var n,i=new google.maps.LatLngBounds;"farm"===o?(i.extend(new google.maps.LatLng(e.minLat,e.minLng)),i.extend(new google.maps.LatLng(e.maxLat,e.maxLng))):e.Poly[0].forEach((function(e){i.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),r.extend(i.getCenter());var s=function(e){const{iconName:t="pinIcon",fillColor:o="#f1a81e",width:n=30,height:i=41,strokeColor:s="#000000",strokeWidth:r=1}=e,a="http://www.w3.org/2000/svg",l=document.createElementNS(a,"svg");l.setAttribute("viewBox","0 0 57.64 83.57"),l.setAttribute("width",n),l.setAttribute("height",i),l.style.opacity=.8,l.style.zIndex=11e3;const c=document.createElementNS(a,"defs"),g=document.createElementNS(a,"clipPath");g.setAttribute("id",`clippath-${t}`);const p=document.createElementNS(a,"rect");p.setAttribute("width","57.64"),p.setAttribute("height","83.57"),c.appendChild(g),g.appendChild(p);const d=document.createElementNS(a,"style");d.textContent=`\n .cls-1 { clip-path: url(#clippath-${t}); }\n .cls-2 { fill: none; stroke: ${s}; stroke-width: ${r}; }\n .cls-3 { fill: ${o}; }\n `,c.appendChild(d),l.appendChild(c);const u=document.createElementNS(a,"g");u.setAttribute("class","cls-1");const h={pinIcon:"M16.01,31.23c-.07,7.22,5.73,12.51,11.98,12.86,3.84.22,7.17-1.04,9.9-3.73,2.36-2.32,3.64-5.2,3.77-8.49.31-7.8-5.87-13.21-12.29-13.47-7.66-.3-13.54,6.01-13.37,12.83M28.82.1c.43,0,.87-.03,1.3,0,.98.07,1.97.16,2.95.27,1.85.21,3.65.69,5.4,1.31,1.89.66,3.68,1.52,5.38,2.57,1.49.91,2.88,1.95,4.18,3.12,1.68,1.51,3.21,3.15,4.45,5.04.84,1.29,1.65,2.62,2.35,4,1.05,2.06,1.76,4.25,2.2,6.52.25,1.25.41,2.53.5,3.81.1,1.31.15,2.64.07,3.95-.15,2.38-.58,4.72-1.32,6.99-.64,1.97-1.49,3.87-2.54,5.67-1.07,1.83-2.08,3.7-3.13,5.54-.82,1.44-1.67,2.87-2.49,4.31-.8,1.39-1.58,2.78-2.37,4.17-.83,1.45-1.68,2.89-2.51,4.33-.68,1.18-1.34,2.37-2.02,3.55-1.3,2.26-2.61,4.52-3.91,6.79-1.02,1.77-2.02,3.55-3.04,5.32-.92,1.6-1.79,3.24-2.79,4.79-1.33,2.04-4.29,1.81-5.44-.18-1.33-2.3-2.67-4.6-3.99-6.91-1.42-2.46-2.82-4.93-4.23-7.39-1.18-2.06-2.36-4.12-3.54-6.18-1.36-2.37-2.74-4.73-4.1-7.1-1.29-2.25-2.57-4.5-3.83-6.76-1.21-2.17-2.46-4.32-3.6-6.53-1-1.93-1.66-4.01-2.09-6.14-.31-1.54-.58-3.09-.58-4.67,0-.48-.08-.96-.06-1.43.07-1.28.16-2.57.28-3.85.18-1.93.66-3.8,1.3-5.62.75-2.13,1.72-4.16,2.94-6.06,1.27-1.98,2.75-3.79,4.45-5.41,1.55-1.47,3.26-2.75,5.1-3.85,1.63-.98,3.36-1.77,5.14-2.42,1.61-.59,3.28-1.02,4.97-1.26,1.53-.22,3.09-.28,4.63-.41v.1"},m=document.createElementNS(a,"path");m.setAttribute("class","cls-3"),m.setAttribute("d",h[t]||"");const f=document.createElementNS(a,"path");return f.setAttribute("class","cls-2"),f.setAttribute("d",h[t]||""),u.appendChild(m),u.appendChild(f),l.appendChild(u),l}({iconName:t.name,fillColor:t.style.color,width:t.style.width,height:t.style.height,strokeColor:t.style.strokeColor,strokeWidth:t.style.strokeWidth});n=new google.maps.marker.AdvancedMarkerElement({map:l,position:i.getCenter(),content:s});const a="farm"===o?`${e.farmId}|${e.farmOrganization}|${e.farmName}`:`${e.Id}|${e.OrganisationName}|${e.FarmName}`;n.setAttribute("id",a),"farm"===o?d.push(n.addListener("click",(()=>{W(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):d.push(n.addListener("click",(()=>{W(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"field marker with id "+n.id+" clicked",code:200,data:e})}))),M.push(n)})),"farm"===o){if(n){var a=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),i,s)}));u.push(a),l.fitBounds(r)}W(),M.forEach((function(e){var t=e.id.split("|");d.push(e.content.addEventListener("mouseover",(function(e){W(),A(e,t[1]+"<br>Farm "+t[2])}))),d.push(e.content.addEventListener("mousemove",Z)),d.push(e.content.addEventListener("mouseout",W))}))}}}function j(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function N(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function V(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function H(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function $(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function G(e,a,c,g,p,d,u){var h;if(void 0===n||void 0===i){var v=l.getBounds();v&&(t=Math.abs(v.getSouthWest().lat()-v.getNorthEast().lat()),o=Math.abs(v.getNorthEast().lng()-v.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var y=R(f);s=y.y,r=y.x;for(var L=20;L>0;L--){var I=[];I.push([r-2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s+1.5*L*i]),f.push(I);var C=0;if(I.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||C++})),0==C){if(!(f.length>2)){h=K(L,e,g,p,d,u);break}for(var b=0,w=1;w<f.length-1;w++)for(var k=w+1;k<f.length;k++)Y(f[w],f[k])&&b++;if(0==b){h=K(L,e,g,p,d,u);break}f.pop()}else f.pop()}return h}function Y(e,t){const o=new google.maps.Polygon({paths:e.map((e=>new google.maps.LatLng(e[1],e[0])))}),n=new google.maps.Polygon({paths:t.map((e=>new google.maps.LatLng(e[1],e[0])))});for(let e=0;e<t.length;e++){const n=new google.maps.LatLng(t[e][1],t[e][0]);if(google.maps.geometry.poly.containsLocation(n,o))return!0}for(let t=0;t<e.length;t++){const o=new google.maps.LatLng(e[t][1],e[t][0]);if(google.maps.geometry.poly.containsLocation(o,n))return!0}return!1}function K(e,t,o,a,c,g){var p=[];p.push(new google.maps.LatLng(s+1.5*e*i,r-2*e*n)),p.push(new google.maps.LatLng(s+1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r-2*e*n)),p.reverse();var d=Date.now()+Math.floor(1e5*Math.random()),h=new google.maps.Polygon({path:p,id:d.toString(),content:"",strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(h);var f=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){f.extend(e)}));var v=!1,y=google.maps.event.addListener(l,"bounds_changed",(function(){if(!v){var e=l.getProjection().fromLatLngToPoint(f.getSouthWest()),t=l.getProjection().fromLatLngToPoint(f.getNorthEast()),n=l.getZoom(),i=1<<n;(t.x-e.x)*i>=c&&l.setZoom(n-1),Q(f.getCenter(),o,a),v=!v,x=(new Wt).edit(l,h,x,g)}}));return u.push(y),l.fitBounds(f),d}function J(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),d=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(d),z=(z=new Jt).edit(l,d,z,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),Q(h.getCenter(),t,o),f=!f}}));return u.push(v),l.fitBounds(h),p}function q(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),d=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(d),P=(P=new qt).edit(l,d,P,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),Q(h.getCenter(),t,o),f=!f}}));return u.push(v),l.fitBounds(h),p}function X(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),d=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(d),E=(E=new Xt).edit(l,d,E,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),Q(h.getCenter(),t,o),f=!f}}));return u.push(v),l.fitBounds(h),p}function Q(e,t,o){var n=1<<l.getZoom(),i=l.getProjection().fromLatLngToPoint(e),s=new google.maps.Point(t/n||0,o/n||0),r=new google.maps.Point(i.x-s.x,i.y+s.y),a=l.getProjection().fromPointToLatLng(r);l.setCenter(a)}function ee(e,t,o,n,i,s,r,a,g){H(),N(),V(),j(),$(),function(e,t,o,n,i,s,r,a,g){var d,m,f=e,v=null,y=null;c=new google.maps.LatLngBounds,f.forEach((function(e){d=e.poly.split(","),m=[],d.forEach((function(e){var t=Kt.decode(e);y=[],t.forEach((function(e){y.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),m.push(y)}));var t=e.name;"Ward"==e.type&&(t="Ward "+e.name),v=new google.maps.Polygon({paths:m,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,zIndex:1e4,id:e.id,content:t,type:e.type,map:l}),L.push(v)})),function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",zIndex:10010}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",zIndex:1e4}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.SAAdminPolyOnClick(this.id)})))}))}(g);var I=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),s,r)}));u.push(I),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function te(e,t,o,n,i,s){H(),N(),V(),j(),$();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend",code:200,data:null}):(H(),$(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend, zoom outside range",code:200,data:null}))}));u.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed",code:200,data:null}):(H(),$(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed, zoom outside range",code:200,data:null}))}));u.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed",code:200,data:null}):(H(),$(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed, zoom outside range",code:200,data:null}))}));u.push(g),l.getZoom()>=12&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e.parentFarms,a=e.farmPortions,g=e.erven;r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:5,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"pf",zIndex:10001});s&&l.fitBounds(c),L.push(a)}));a.length>0&&a.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.farm+"<br>Portion: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"fp",zIndex:10002});s&&l.fitBounds(c),L.push(a)}));g.length>0&&g.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Erf: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:2,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"er",zIndex:10003});s&&l.fitBounds(c),L.push(a)}));!function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:5,zIndex:10011}):"fp"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}):"er"==t.type&&t.setOptions({strokeColor:"#f1a81e",strokeWeight:2,zIndex:10013}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:5,zIndex:10001}):"fp"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}):"er"==t.type&&t.setOptions({strokeColor:"#000000",strokeWeight:2,zIndex:10003}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.SACadastralPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function oe(e,t,o,n,i,s){H(),N(),V(),j(),$();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend",code:200,data:null}):(H(),$(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend, zoom outside range",code:200,data:null}))}));u.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed",code:200,data:null}):(H(),$(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed, zoom outside range",code:200,data:null}))}));u.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed",code:200,data:null}):(H(),$(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed, zoom outside range",code:200,data:null}))}));u.push(g),l.getZoom()>=13&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e;r&&r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=e.poly.split(","),o=[];t.forEach((function(e){var t=Kt.decode(e),n=[];t.forEach((function(e){n.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),s&&c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),o.push(n)}));var n=e.area/1e4,i=e.category+"<br>"+n.toFixed(2)+" ha",r=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:i,zIndex:10001});s&&l.fitBounds(c),L.push(r)}));!function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10011}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10001}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.SADelineatedFieldPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function ne(e,t,o,n){var i=e;c=new google.maps.LatLngBounds;var s=!1;if(i.forEach((function(e){var t=new google.maps.LatLng(e.latitude,e.longitude);c.extend(new google.maps.LatLng(e.latitude,e.longitude));var o=new DOMParser,n='<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none">';n+='<g transform="translate(0.5, 4)"><path d="M0,0 32,0 16,27.7Z" stroke="#000000" stroke-width="1" fill="'+e.iconColor+'" fill-opacity="0.9"></path></g>',n+="</svg>";var i=o.parseFromString(n,"image/svg+xml").documentElement,s=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:i,zIndex:10002});s.setAttribute("id",e.id+"|"+e.name+"|"+e.companyName+"|"+e.jseAbbreviation+"|"+e.label+"|"+e.capacity+"|"+e.sagisCode),M.push(s)})),i.length>1){var r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!s){var e=l.getProjection().fromLatLngToPoint(c.getSouthWest()),i=l.getProjection().fromLatLngToPoint(c.getNorthEast()),r=l.getZoom(),a=1<<r;(i.x-e.x)*a>=n&&l.setZoom(r-1),l.getZoom()>16&&l.setZoom(16),Q(c.getCenter(),t,o),s=!s}}));u.push(r),l.fitBounds(c)}else if(1==i.length){r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){s||(Q(l.getCenter(),t,o),s=!s)}));l.panTo(new google.maps.LatLng(i[0].latitude,i[0].longitude)),l.setZoom(9)}}function ie(e,t,o,n,i,s,r){H(),N(),V(),j(),$(),function(e,t){var o=null;e.forEach((function(e){if((e.id==t||0===t)&&e&&e.poly&&e.poly.length>0){var n=google.maps.geometry.encoding.decodePath(e.poly,5);o=new google.maps.Polygon({map:l,path:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.regionName,zIndex:1e4}),L.push(o)}}))}(e,o),function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.CPRPolyOnClick({type:"SUCCESS",message:"CPRPoly clicked",code:200,data:t.id})})))}))}(r),ne(t,n,i,s),re()}function se(e,t,o,n,i,s,r){H(),N(),V(),j(),$(),function(e,t){var o,n,i=null;e.forEach((function(e){e.id!=t&&0!==t||e&&e.poly&&e.poly.length>0&&(n=[],e.poly.split(",").forEach((function(e){o=google.maps.geometry.encoding.decodePath(e,5),n.push(o)})),i=new google.maps.Polygon({map:l,paths:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.name,zIndex:1e4}),L.push(i))}))}(e,o),function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.CSProvincePolyOnClick({type:"SUCCESS",message:"CSProvincePoly clicked",code:200,data:t.id})})))}))}(r),ne(t,n,i,s),re()}function re(e){W(),M.forEach((function(e){var t=e.id.split("|"),o="<b>"+t[1]+"</b><br>";o+="Company: "+t[2]+" ("+t[3]+")<br>",o+="Type: "+t[4]+"<br>",parseInt(t[5])>0?o+="Capacity: "+t[5]+"t<br>":o+="Capacity: n/a<br>",parseInt(t[6])>0?o+="Sagis Code: "+t[6]:o+="Sagis Code: n/a";var n=e.addListener("click",(function(e){h.GSMarkerOnClick({type:"SUCCESS",message:"GSMarker clicked",code:200,data:parseInt(t[0])})}));d.push(n);var i=e.content.addEventListener("mouseover",(function(e){W(),A(e,o)}));d.push(i);var s=e.content.addEventListener("mousemove",(function(e){Z(e)}));d.push(s);var r=e.content.addEventListener("mouseout",(function(e){W()}));d.push(r)}))}a.eventHandlers_set=function(e){Object.assign(h,e)},a.eventHandlers_get=function(){return h},a.RenderFields=function(e,t){var o=new google.maps.LatLngBounds;e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={paths:n,id:e.Id,content:r};i=e.MapLocationFeature?{...i,content:r,strokeColor:e.MapLocationFeature.StrokeColor,strokeOpacity:e.MapLocationFeature.StrokeOpacity,strokeWeight:e.MapLocationFeature.StrokeWeight,fillColor:e.MapLocationFeature.FillColor,fillOpacity:e.MapLocationFeature.FillOpacity,zIndex:e.MapLocationFeature.ZIndex}:{...i,...t.polygonOptions.unselected};var s=new google.maps.Polygon(i);v.push(s),t.labelVisable&&B(e)}})),l.fitBounds(o),W(),v.forEach((function(e){p.push(google.maps.event.addListener(e,"mouseover",(function(t){W(),D(t,e.content)}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",W)),p.push(google.maps.event.addListener(e,"click",(function(e){W(),h.FieldOnClick(this.id)})))})),t.icon&&F(e,t.icon),v.forEach((function(e,t){e.setMap(l)})),m.forEach((function(e,t){e.setMap(l)})),l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)})),g=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))})),u.push(g)},a.destroy=function(){mapConfig=null,locations=[],selectedProvinceFieldId=null,defaultCenterLatitude=null,defaultCenterLongitude=null,m=[],v=[],y=[],a.map_clear()},a.map_clear=function(){if(N(),V(),H(),C.forEach((function(e){e.setMap(null),e=null})),C=[],I.forEach((function(e){e.setMap(null),e=null})),I=[],j(),b.forEach((function(e){e.setMap(null),e=null})),b=[],y.forEach((function(e){e.setMap(null),e=null})),y=[],v.forEach((function(e){e.setMap(null),e=null})),v=[],function(){null!=x&&(x=(new Wt).delete(l,x));m.forEach((function(e){e.setMap(null),e=null})),m=[]}(),$(),w.forEach((function(e){e.setMap(null),e=null})),k.forEach((function(e){e.setMap(null),e=null})),x&&(x=(new Wt).delete(l,x),x=null),z&&(z.setMap(null),z=null),P&&(P.setMap(null),P=null),E&&(E.setMap(null),E=null),l.overlayMapTypes)for(;l.overlayMapTypes.getLength()>0;)l.overlayMapTypes.pop();W(),T.length>0&&(T.forEach((e=>{e.setMap&&e.setMap(null)})),T=[]),m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],c=null},a.fmarkers_clear=function(){M.forEach((function(e){e.setMap(null),e=null})),M=[]},a.mapListeners_clear=function(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]},a.selectShape=function(e,t,o){if(console.log("Selecting shape:",e),console.log("Current locPolygons:",m),m.forEach((function(e){e&&(console.log("Applying unselected style to polygon:",e.id),null!=x&&e.isPolygon&&(x=(new Wt).delete(l,x),x=null,e.setMap(l)),null!=z&&e.isCircle&&(z.set("map",null),z=null),null!=P&&e.isCircleSector&&(P.set("map",null),P=null),null!=E&&e.isCircleSegment&&(E.set("map",null),E=null),e.setOptions({...o,editable:!1,draggable:!1}))})),e){const o=m.find((t=>t.id==e));o?(console.log("Applying selected style to shape:",e),o.setOptions(t)):console.warn("Shape not found in locPolygons:",e)}},a.isShapeInLocPolygons=function(e){return m.some((t=>t.id==e))},a.panAndZoomToShape=function(e){let t=m.find((t=>t.id==e))||v.find((t=>t.id==e));if(console.log("locPolygons - panAndZoomToShape",m),t&&l){const e=new google.maps.LatLngBounds;if(t.getPath)t.getPath().forEach((t=>e.extend(t)));else if(t.getCenter&&t.getRadius){const o=t.getCenter(),n=t.getRadius();e.extend(google.maps.geometry.spherical.computeOffset(o,n,0)),e.extend(google.maps.geometry.spherical.computeOffset(o,n,180))}else t.getBounds&&e.union(t.getBounds());const o=l.getZoom();l.fitBounds(e,{padding:50}),google.maps.event.addListenerOnce(l,"bounds_changed",(function(){const e=l.getZoom();Math.abs(e-o)>3&&l.setZoom(Math.min(e,18))}))}else console.error("Shape not found:",e)},a.Shape_Edit=function(e){m.forEach(((t,o)=>{t.id===e&&(t.setEditable(!0),o>0&&t.setDraggable(!0))}))},a.Shape_DrawingDone=function(e){m.forEach((function(t){if(t.id==e)if(t.isPolygon){if(null!=x){var o=x.getPath();t.setPath(o),x=(new Wt).delete(l,x),x=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Jt).reduce(z.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircle=!0,t.setEditable(!1),t.setDraggable(!1),z.setMap(null),z=null,t.setVisible(!0)}else if(t.isCircleSector){n=(new qt).reduce(P.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSector=!0,t.setEditable(!1),t.setDraggable(!1),P.setMap(null),P=null,t.setVisible(!0)}else if(t.isCircleSegment){n=(new Xt).reduce(E.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSegment=!0,t.setEditable(!1),t.setDraggable(!1),E.setMap(null),E=null,t.setVisible(!0)}}))},a.Shape_Delete=function(e,t){const o=l.getBounds(),n=l.getCenter(),i=l.getZoom();N(),this.eventHandlers_set(t);if(m.length>0&&m[0].id==e)a.Shape_DeleteAll();else{var s=-1;m.forEach((function(t,o){t.id==e&&(null!=x&&(x=(new Wt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=null),t.setMap(null),s=o)})),s>=0&&m.splice(s,1),n&&o&&(l.setZoom(i),l.setCenter(n),l.fitBounds(o))}},a.Shape_DeleteAll=function(e){const t=l.getBounds(),o=l.getCenter(),n=l.getZoom();N(),m.forEach((function(e){null!=x&&(x=(new Wt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=null),e.setMap(null),e=null})),m=[],o&&t&&(l.setZoom(n),l.setCenter(o),l.fitBounds(t))},a.Shape_PolygonCustomEdit_Add=function(e,s,r,a,c,g,p,d){if(e)return G(s,a,c,p,d,g,r);var u=l.getBounds(),h=l.getCenter(),f=h.lat(),v=h.lng(),y=[];u&&(t=Math.abs(u.getSouthWest().lat()-u.getNorthEast().lat()),o=Math.abs(u.getNorthEast().lng()-u.getSouthWest().lng()),n=o/a,i=t/c,y.push(new google.maps.LatLng(f+d*i+60*i,v+p*n-80*n)),y.push(new google.maps.LatLng(f+d*i+60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+d*i-60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+d*i-60*i,v+p*n-80*n)));var L=Date.now()+Math.floor(1e5*Math.random()),I=new google.maps.Polygon({map:l,path:y,id:L.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!1,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(I),x=(new Wt).edit(l,I,x,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,d){if(e)return G(s,a,c,p,d,g,r);var u=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],I=[];u&&(t=Math.abs(u.getSouthWest().lat()-u.getNorthEast().lat()),o=Math.abs(u.getNorthEast().lng()-u.getSouthWest().lng()),n=o/a,i=t/c,L.push(new google.maps.LatLng(v+d*i+60*i,y+p*n-80*n)),L.push(new google.maps.LatLng(v+d*i+60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+d*i-60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+d*i-60*i,y+p*n-80*n)),I.push([y+p*n-80*n,v+d*i+60*i]),I.push([y+p*n+80*n,v+d*i+60*i]),I.push([y+p*n+80*n,v+d*i-60*i]),I.push([y+p*n-80*n,v+d*i-60*i]),I.push([y+p*n-80*n,v+d*i+60*i]),f.push(I));var C=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:C.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!0,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return console.log("shape",b),m.push(b),C},a.Shape_CircleFull_Add=function(e,a,c,g,p,d,u,h,v,y){if(e){var L=function(e,a,c,g,p,d,u,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=0,C=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=Dt(s,r,k,M),P=(new Jt).get(s,r,z,I,C);P.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=J(e,g,p,d,P,x,z,u,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=J(e,g,p,d,P,x,z,u,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,d,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),P=new google.maps.LatLng(M,x),E=Dt(M,x,M,x+80*n),S=(new Jt).get(M,x,E,0,360),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),z=(z=new Jt).edit(l,_,z,P,E,c,I),O},a.Shape_CircleSector_Add=function(e,a,c,g,p,d,u,h,v,y){if(e){var L=function(e,a,c,g,p,d,u,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=60,C=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=Dt(s,r,k,M),P=(new qt).get(s,r,z,I,C);P.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=q(e,g,p,d,P,x,z,u,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=q(e,g,p,d,P,x,z,u,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,d,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),E=Dt(M,x,M,x+80*n),S=(new qt).get(M,x,E,60,120),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),P=(P=new qt).edit(l,_,P,z,E,c,I),O},a.Shape_CircleSegment_Add=function(e,a,c,g,p,d,u,h,v,y){if(e){var L=function(e,a,c,g,p,d,u,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=0,C=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=Dt(s,r,k,M),P=(new qt).get(s,r,z,I,C);P.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=X(e,g,p,d,P,x,z,u,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=X(e,g,p,d,P,x,z,u,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,d,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),P=Dt(M,x,M,x+80*n),S=(new Xt).get(M,x,P,0,160),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),E=(E=new Xt).edit(l,_,E,z,P,c,I),O},a.RenderRegionFarms=function(e,t,o,n,i){t&&F(e,t,"farm",o,n,i)},a.TriggerField_ChangeEvent=function(){var e,t,o=0,n=0,i="",s=new google.maps.LatLngBounds,r="",l=[];return m.forEach((function(e,t){var r;r=e.getPath(),({perimeter:n,area:o,path:i}=function(e,t,o,n,i,s){var r,a=[];if(0===e){for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));a[0].lat()!=a[a.length-1].lat()&&a[0].lng()!=a[a.length-1].lng()&&a.push(a[0]),google.maps.geometry.spherical.computeSignedArea(a)>0&&a.reverse(),i+=google.maps.geometry.spherical.computeSignedArea(a),s=google.maps.geometry.encoding.encodePath(a)+","}else{for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));i+=google.maps.geometry.spherical.computeSignedArea(a),s+=google.maps.geometry.encoding.encodePath(a)+","}return{perimeter:n,area:i,path:s}}(t,r,s,n,o,i)),l.push({path:i.split(",")[t],isHole:e.isHole})})),""!==(i=i.substr(0,i.length-1))&&(console.log("Checking field overlaps..."),a.checkForBackgroundFieldOverlaps()||(console.log("Overlap detected - setting error message"),r="Error: Field overlaps with an existing field")),o=-o,e=parseFloat(s.getCenter().lat()),t=parseFloat(s.getCenter().lng()),new Ft(i,o,n,e,t,r)},a.DrawField_AttachEvents=function(e){m.forEach((function(t){var o=google.maps.event.addListener(t,"mouseover",(function(){e.JS_ShapeOnMouseIn(this.id)}));p.push(o);var n=google.maps.event.addListener(t,"mouseout",(function(){e.JS_ShapeOnMouseOut(this.id)}));p.push(n);var i=google.maps.event.addListener(t,"click",(function(){e.ShapeSelect(this.id)}));p.push(i)}))},a.PolygonCustomEdit_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=o.getPath();n.getAt(0).lat()==n.getAt(n.getLength()-1).lat()&&n.getAt(0).lng()==n.getAt(n.getLength()-1).lng()&&n.pop(),o.setPath(n),o.setMap(null),x=(new Wt).edit(l,o,x,t)}},a.CircleSector_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));P=(new qt).edit(l,o,P,i,s,t,I)}},a.CircleFull_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));z=(new Jt).edit(l,o,z,i,s,t,I)}},a.CircleSegment_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){a.Shape_Delete(e);var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));E=(new Xt).edit(l,o,E,i,s,t,I)}},a.RenderRegions=function(e,t,o,n,i,s){var r=null,a=null,c=null;L=[],u=[];var g=new google.maps.LatLngBounds;e.forEach((function(e){const o="string"==typeof e.Id?e.Id.length>0:"number"==typeof e.Id&&e.Id>0;if(e&&o){var n=[];n=!e.Poly.length>0?e.Coords:e.Poly.split(",");var i=[];n.forEach((function(t,o){!e.Poly.length>0?(c=[],t.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),i.push(c)):(a=Kt.decode(t),c=[],a.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),g.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),i.push(c))}));var s={...t.polygonOptions.unselected,paths:i,id:e.Id,content:e.LocationName,map:l};r=new google.maps.Polygon(s),L.push(r)}}));var d=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),i,s)}));u.push(d),l.fitBounds(g),function(e,t){W(),L.forEach((function(e){e instanceof google.maps.Polygon?(p.push(google.maps.event.addListener(e,"mouseover",(function(t){W(),D(t,e.get("content"))}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",W)),p.push(google.maps.event.addListener(e,"click",(function(e){W()})))):console.warn("Invalid polygon object found in fpolies array:",e)})),F(e,t,"farm",!1)}(o,n)},a.Shape_Convert=function(e){m.forEach((function(t){if(t.id==e&&!t.isPolygon){var o,n=Date.now()+Math.floor(1e5*Math.random());if(t.isCircle){var i=function(e,t,o,n){for(var i,s,r,a,l,c,g,p,d=[],u=0;u<o;++u)d.push((i=e,s=t,r=2*Math.PI*-u/o,a=void 0,l=void 0,c=void 0,g=void 0,p=void 0,a=Ut(i[1]),l=Ut(i[0]),c=s/6378137,g=Math.asin(Math.sin(a)*Math.cos(c)+Math.cos(a)*Math.sin(c)*Math.cos(r)),p=l+Math.atan2(Math.sin(r)*Math.sin(c)*Math.cos(a),Math.cos(c)-Math.sin(a)*Math.sin(g)),new google.maps.LatLng({lat:Zt(g),lng:Zt(p)})));return n?d:d.reverse()}([t.getCenter().lng(),t.getCenter().lat()],t.getRadius(),72,t.isHole);o=new google.maps.Polygon({map:t.map,path:i,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter})}else t.isCircleSector?o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}):t.isCircleSegment&&(o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}));return m.push(o),n}}))},a.addToLocPolygons=function(e){(m=[]).push(e)},a.RenderBackgroundFields=function(e,t){var o=new google.maps.LatLngBounds;T.forEach((e=>{e.setMap(null)})),T=[],e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={...t.polygonOptions.other,paths:n,id:e.Id,content:r,map:l},s=new google.maps.Polygon(i);T.push(s)}})),l.fitBounds(o)},a.clearBackgroundFields=function(){T.forEach((e=>{e.setMap(null)})),T=[]},a.checkForBackgroundFieldOverlaps=function(){if(console.log("Checking overlaps - Background Fields:",T.length,"Local Polygons:",m.length),!T.length||!m.length)return console.log("No fields to check for overlap"),!0;for(const e of m)for(const t of T){const o=e.getPath().getArray(),n=t.getPath().getArray();for(const e of o)if(google.maps.geometry.poly.containsLocation(e,t))return console.log("Overlap detected: Local polygon point inside background field"),!1;for(const t of n)if(google.maps.geometry.poly.containsLocation(t,e))return console.log("Overlap detected: Background field point inside local polygon"),!1}return console.log("No overlaps detected"),!0},a.RenderSAAdministrative=function(e,t,o,n,i,s,r,a,l){ee(e,0,0,0,0,s,r,0,l)},a.RenderSACadastral=function(e,t,o,n,i,s){te(e,0,0,0,i,s)},a.RenderSADelineatedFields=function(e,t,o,n,i,s){oe(e,0,0,0,i,s)},a.RenderGSGPRegions=function(e,t,o,n,i,s,r){ie(e,t,o,n,i,s,r)},a.RenderGSProvinces=function(e,t,o,n,i,s,r){se(e,t,o,n,i,s,r)},a.NDVI_AddOverlay_DEA=function(e,t,o,n,i,s,r,a,c,g,p,d){var m,f,v=e[0],y=new google.maps.LatLngBounds;if(v&&v.Poly&&v.Poly.length>0&&v.Id>0){var L=R(v.Poly);m=L.y,f=L.x,v.Poly.forEach((function(e,t){e.forEach((function(e,o){0==t&&y.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))}))}))}else m=r,f=a;var I=0;p&&(I=1);var C=o,b=!1;if(!b){const e=document.createElement("img");e.src=s,e.width=120,e.height=120,e.style.transform="translate(0, 50%)";const t=new google.maps.LatLng(m,f);var w=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:e});M.push(w),b=!0}var k=[];if(l.getZoom()>17){var x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));u.push(x),l.setZoom(17)}else if(l.getZoom()<13){x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));u.push(x),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});z.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=0,n=[];k.forEach((function(t){-1==n.indexOf(t.z+"|"+t.x+"|"+t.y)&&t.z==e&&n.push(t.z+"|"+t.x+"|"+t.y)})),o.forEach((o=>{parseInt(o.substring(0,o.indexOf("|")))==e&&t++})),n.length==t?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(z)}},a.NDVI_RemoveOverlay=function(){l.overlayMapTypes.clear()},a.NDVI_DrawLocation=function(e,t,o,n,i){var s=e[0],r=null,a=!1;if(s&&s.Poly&&s.Poly.length>0&&s.Id>0){var c=[],g=new google.maps.LatLngBounds;s.Poly.forEach((function(e,t){var o=[];e.forEach((function(e){o.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),0==t&&g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),c.push(o)})),r=new google.maps.Polygon({map:l,paths:c,fillColor:"transparent"});var d=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!a){var e=l.getProjection().fromLatLngToPoint(g.getSouthWest()),i=l.getProjection().fromLatLngToPoint(g.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),Q(g.getCenter(),t,o),a=!a}}));if(u.push(d),l.fitBounds(g),i){var h=google.maps.event.addListener(r,"mouseover",(function(e){D(e,r.content)})),m=google.maps.event.addListener(r,"mousemove",(function(e){U(e)})),f=google.maps.event.addListener(r,"mouseout",(function(e){W()}));p.push(h),p.push(m),p.push(f)}L.push(r)}l.getZoom()>=13?y.forEach((function(e){e.setMap(l)})):y.forEach((function(e){e.setMap(null)}));var v=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))}));u.push(v)},a.NLC_AddOverlay=function(e,t,o,n,i,s){if(t&&Q(new google.maps.LatLng(o,n),i,s),l.getZoom()>14){var r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));u.push(r),l.setZoom(14)}else if(l.getZoom()<5){r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));u.push(r),l.setZoom(5)}else{var a=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(a)}},a.NLC_RemoveOverlay=function(){l.overlayMapTypes.clear()}}}var oo={width:"100%",height:"100%"},no={lat:-25.7652061,lng:28.2710333},io=["places","marker","geometry"],so={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},ro=o((function(e){var t=e.gmAPIkey,o=e.jpMap,a=i(null),l=a[0],c=a[1],g=function(e){var t=e.mapInstance,o=n(null);return s((function(){if(t){var e=new to(t);return o.current=e,function(){o.current&&o.current.map_clear()}}}),[t]),{mapManager:o.current}}({mapInstance:l}).mapManager,p=function(e){var t=e.id,o=void 0===t?q.id:t,a=e.version,l=void 0===a?q.version:a,c=e.nonce,g=e.googleMapsApiKey,p=e.language,d=e.region,u=e.libraries,h=void 0===u?ie:u,m=e.preventGoogleFontsLoading,f=e.mapIds,v=e.authReferrerPolicy,y=n(!1),L=i(!1),I=L[0],C=L[1],b=i(void 0),w=b[0],k=b[1];s((function(){return y.current=!0,function(){y.current=!1}}),[]);var M=r((function(){return new ne({id:o,apiKey:g,version:l,libraries:h,language:p||"en",region:d||"US",mapIds:f||[],nonce:c||"",authReferrerPolicy:v||"origin"})}),[o,g,l,h,p,d,f,c,v]);s((function(){I||M.load().then((function(){y.current&&C(!0)})).catch((function(e){k(e)}))}),[]),s((function(){N&&m&&$()}),[m]);var x=n();return s((function(){x.current&&h!==x.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),x.current=h}),[h]),{isLoaded:I,loadError:w}}({id:"google-map-script",googleMapsApiKey:t,libraries:io}).isLoaded,d=u((function(e){c(e)}),[]);s((function(){null!==l&&o({isMapInitialized:!0,mapObject:l,mapManager:g})}),[l,o]);var h=u((function(e){c(null)}),[]);return p?k.jsx(j,{mapContainerStyle:oo,center:no,zoom:5,options:so,onLoad:d,onUnmount:h,children:k.jsx(k.Fragment,{})}):k.jsx(k.Fragment,{})}));export{ro as default};
|
|
53
|
+
***************************************************************************** */class Ne{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class Ve{constructor({markers:e,position:t}){this.markers=e,t&&(t instanceof google.maps.LatLng?this._position=t:this._position=new google.maps.LatLng(t))}get bounds(){if(0===this.markers.length&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(Ne.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((e=>Ne.getVisible(e))).length}push(e){this.markers.push(e)}delete(){this.marker&&(Ne.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class He{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return $e(e)}}const $e=e=>e.map((e=>new Ve({position:Ne.getPosition(e),markers:[e]})));class Ge extends He{constructor(e){var{maxZoom:t,radius:o=60}=e,n=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new Ae(Object.assign({maxZoom:this.maxZoom,radius:o},n))}calculate(e){let t=!1;const o={zoom:e.map.getZoom()};if(!xe(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const o=this.markers.map((e=>{const t=Ne.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}}));this.superCluster.load(o)}return t||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(t=!xe(this.state,o)),this.state=o,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map((e=>this.transformCluster(e)))}transformCluster({geometry:{coordinates:[e,t]},properties:o}){if(o.cluster)return new Ve({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((e=>e.properties.marker)),position:{lat:t,lng:e}});const n=o.marker;return new Ve({markers:[n],position:Ne.getPosition(n)})}}class Ye{constructor(e,t){this.markers={sum:e.length};const o=t.map((e=>e.count)),n=o.reduce(((e,t)=>e+t),0);this.clusters={count:t.length,markers:{mean:n/t.length,sum:n,min:Math.min(...o),max:Math.max(...o)}}}}class Ke{render({count:e,position:t},o,n){const i=`<svg fill="${e>Math.max(10,o.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>\n</svg>`,s=`Cluster of ${e} markers`,r=Number(google.maps.Marker.MAX_ZINDEX)+e;if(Ne.isAdvancedMarkerAvailable(n)){const e=(new DOMParser).parseFromString(i,"image/svg+xml").documentElement;e.setAttribute("transform","translate(0 25)");const o={map:n,position:t,zIndex:r,title:s,content:e};return new google.maps.marker.AdvancedMarkerElement(o)}const a={position:t,zIndex:r,title:s,icon:{url:`data:image/svg+xml;base64,${btoa(i)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(a)}}class Je{constructor(){!function(e,t){for(let o in t.prototype)e.prototype[o]=t.prototype[o]}(Je,google.maps.OverlayView)}}var qe;!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(qe||(qe={}));const Xe=(e,t,o)=>{o.fitBounds(t.bounds)};class Qe extends Je{constructor({map:e,markers:t=[],algorithmOptions:o={},algorithm:n=new Ge(o),renderer:i=new Ke,onClusterClick:s=Xe}){super(),this.markers=[...t],this.clusters=[],this.algorithm=n,this.renderer=i,this.onClusterClick=s,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach((e=>{this.addMarker(e,!0)})),t||this.render()}removeMarker(e,t){const o=this.markers.indexOf(e);return-1!==o&&(Ne.setMap(e,null),this.markers.splice(o,1),t||this.render(),!0)}removeMarkers(e,t){let o=!1;return e.forEach((e=>{o=this.removeMarker(e,!0)||o})),o&&!t&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,qe.CLUSTERING_BEGIN,this);const{clusters:t,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||null==o){const e=new Set;for(const o of t)1==o.markers.length&&e.add(o.markers[0]);const o=[];for(const t of this.clusters)null!=t.marker&&(1==t.markers.length?e.has(t.marker)||Ne.setMap(t.marker,null):o.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame((()=>o.forEach((e=>Ne.setMap(e,null)))))}google.maps.event.trigger(this,qe.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach((e=>Ne.setMap(e,null))),this.clusters.forEach((e=>e.delete())),this.clusters=[]}renderClusters(){const e=new Ye(this.markers,this.clusters),t=this.getMap();this.clusters.forEach((o=>{1===o.markers.length?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,t),o.markers.forEach((e=>Ne.setMap(e,null))),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,qe.CLUSTER_CLICK,o),this.onClusterClick(e,o,t)}))),Ne.setMap(o.marker,t)}))}}function et(e){var t=function(){T(!!c,"useGoogleMap is React hook and requires React version 16.8+");var e=c(B);return T(!!e,"useGoogleMap needs a GoogleMap available up in the tree"),e}(),o=i(null),n=o[0],r=o[1];return s((function(){if(t&&null===n){var o=new Qe(z(z({},e),{map:t}));r(o)}}),[t]),n}o((function(e){var t=e.children,o=et(e.options);return null!==o?t(o):null}));var tt={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},ot={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}};o((function(e){var t=e.children,o=e.anchor,r=e.options,a=e.position,l=e.zIndex,p=e.onCloseClick,d=e.onDomReady,u=e.onContentChanged,h=e.onPositionChanged,f=e.onZindexChanged,v=e.onLoad,y=e.onUnmount,L=c(B),I=i(null),C=I[0],b=I[1],w=i(null),k=w[0],M=w[1],x=i(null),P=x[0],E=x[1],S=i(null),O=S[0],_=S[1],R=i(null),D=R[0],A=R[1],U=i(null),Z=U[0],W=U[1],F=n(null);return s((function(){null!==C&&(C.close(),o?C.open(L,o):C.getPosition()&&C.open(L))}),[L,C,o]),s((function(){r&&null!==C&&C.setOptions(r)}),[C,r]),s((function(){a&&null!==C&&C.setPosition(a)}),[a]),s((function(){"number"==typeof l&&null!==C&&C.setZIndex(l)}),[l]),s((function(){C&&p&&(null!==k&&google.maps.event.removeListener(k),M(google.maps.event.addListener(C,"closeclick",p)))}),[p]),s((function(){C&&d&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(C,"domready",d)))}),[d]),s((function(){C&&u&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(C,"content_changed",u)))}),[u]),s((function(){C&&h&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(C,"position_changed",h)))}),[h]),s((function(){C&&f&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(C,"zindex_changed",f)))}),[f]),s((function(){var e=new google.maps.InfoWindow(z({},r||{}));return b(e),F.current=document.createElement("div"),p&&M(google.maps.event.addListener(e,"closeclick",p)),d&&E(google.maps.event.addListener(e,"domready",d)),u&&_(google.maps.event.addListener(e,"content_changed",u)),h&&A(google.maps.event.addListener(e,"position_changed",h)),f&&W(google.maps.event.addListener(e,"zindex_changed",f)),e.setContent(F.current),a&&e.setPosition(a),l&&e.setZIndex(l),o?e.open(L,o):e.getPosition()?e.open(L):T(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),v&&v(e),function(){k&&google.maps.event.removeListener(k),O&&google.maps.event.removeListener(O),P&&google.maps.event.removeListener(P),D&&google.maps.event.removeListener(D),Z&&google.maps.event.removeListener(Z),y&&y(e),e.close()}}),[]),F.current?m(g.only(t),F.current):null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.containerElement=null,t.state={infoWindow:null},t.open=function(e,o){o?e.open(t.context,o):e.getPosition()?e.open(t.context):T(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")},t.setInfoWindowCallback=function(){null!==t.state.infoWindow&&null!==t.containerElement&&(t.state.infoWindow.setContent(t.containerElement),t.open(t.state.infoWindow,t.props.anchor),t.props.onLoad&&t.props.onLoad(t.state.infoWindow))},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.InfoWindow(z({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=Z({updaterMap:ot,eventMap:tt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ot,eventMap:tt,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},t.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(U(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},t.prototype.render=function(){return this.containerElement?m(g.only(this.props.children),this.containerElement):null},t.contextType=B}(a);var nt={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},it={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},visible:function(e,t){e.setVisible(t)}},st={};o((function(e){var t=e.options,o=e.draggable,n=e.editable,r=e.visible,a=e.path,l=e.onDblClick,g=e.onDragEnd,p=e.onDragStart,d=e.onMouseDown,u=e.onMouseMove,h=e.onMouseOut,m=e.onMouseOver,f=e.onMouseUp,v=e.onRightClick,y=e.onClick,L=e.onDrag,I=e.onLoad,C=e.onUnmount,b=c(B),w=i(null),k=w[0],M=w[1],x=i(null),P=x[0],E=x[1],S=i(null),O=S[0],_=S[1],T=i(null),R=T[0],D=T[1],A=i(null),U=A[0],Z=A[1],W=i(null),F=W[0],j=W[1],N=i(null),V=N[0],H=N[1],$=i(null),G=$[0],Y=$[1],K=i(null),J=K[0],q=K[1],X=i(null),Q=X[0],ee=X[1],te=i(null),oe=te[0],ne=te[1],ie=i(null),se=ie[0],re=ie[1];return s((function(){null!==k&&k.setMap(b)}),[b]),s((function(){void 0!==t&&null!==k&&k.setOptions(t)}),[k,t]),s((function(){void 0!==o&&null!==k&&k.setDraggable(o)}),[k,o]),s((function(){void 0!==n&&null!==k&&k.setEditable(n)}),[k,n]),s((function(){void 0!==r&&null!==k&&k.setVisible(r)}),[k,r]),s((function(){void 0!==a&&null!==k&&k.setPath(a)}),[k,a]),s((function(){k&&l&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(k,"dblclick",l)))}),[l]),s((function(){k&&g&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(k,"dragend",g)))}),[g]),s((function(){k&&p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(k,"dragstart",p)))}),[p]),s((function(){k&&d&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(k,"mousedown",d)))}),[d]),s((function(){k&&u&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(k,"mousemove",u)))}),[u]),s((function(){k&&h&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(k,"mouseout",h)))}),[h]),s((function(){k&&m&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(k,"mouseover",m)))}),[m]),s((function(){k&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(k,"mouseup",f)))}),[f]),s((function(){k&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(k,"rightclick",v)))}),[v]),s((function(){k&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(k,"click",y)))}),[y]),s((function(){k&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(k,"drag",L)))}),[L]),s((function(){var e=new google.maps.Polyline(z(z({},t||st),{map:b}));return a&&e.setPath(a),void 0!==r&&e.setVisible(r),void 0!==n&&e.setEditable(n),void 0!==o&&e.setDraggable(o),l&&E(google.maps.event.addListener(e,"dblclick",l)),g&&_(google.maps.event.addListener(e,"dragend",g)),p&&D(google.maps.event.addListener(e,"dragstart",p)),d&&Z(google.maps.event.addListener(e,"mousedown",d)),u&&j(google.maps.event.addListener(e,"mousemove",u)),h&&H(google.maps.event.addListener(e,"mouseout",h)),m&&Y(google.maps.event.addListener(e,"mouseover",m)),f&&q(google.maps.event.addListener(e,"mouseup",f)),v&&ee(google.maps.event.addListener(e,"rightclick",v)),y&&ne(google.maps.event.addListener(e,"click",y)),L&&re(google.maps.event.addListener(e,"drag",L)),M(e),I&&I(e),function(){null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==J&&google.maps.event.removeListener(J),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),C&&C(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polyline:null},t.setPolylineCallback=function(){null!==t.state.polyline&&t.props.onLoad&&t.props.onLoad(t.state.polyline)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polyline(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:it,eventMap:nt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polyline&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:it,eventMap:nt,prevProps:e,nextProps:this.props,instance:this.state.polyline}))},t.prototype.componentWillUnmount=function(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),U(this.registeredEvents),this.state.polyline.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var rt={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},at={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},paths:function(e,t){e.setPaths(t)},visible:function(e,t){e.setVisible(t)}};o((function(e){var t=e.options,o=e.draggable,n=e.editable,r=e.visible,a=e.path,l=e.paths,g=e.onDblClick,p=e.onDragEnd,d=e.onDragStart,u=e.onMouseDown,h=e.onMouseMove,m=e.onMouseOut,f=e.onMouseOver,v=e.onMouseUp,y=e.onRightClick,L=e.onClick,I=e.onDrag,C=e.onLoad,b=e.onUnmount,w=e.onEdit,k=c(B),M=i(null),x=M[0],P=M[1],E=i(null),S=E[0],O=E[1],_=i(null),T=_[0],R=_[1],D=i(null),A=D[0],U=D[1],Z=i(null),W=Z[0],F=Z[1],j=i(null),N=j[0],V=j[1],H=i(null),$=H[0],G=H[1],Y=i(null),K=Y[0],J=Y[1],q=i(null),X=q[0],Q=q[1],ee=i(null),te=ee[0],oe=ee[1],ne=i(null),ie=ne[0],se=ne[1],re=i(null),ae=re[0],le=re[1];return s((function(){null!==x&&x.setMap(k)}),[k]),s((function(){void 0!==t&&null!==x&&x.setOptions(t)}),[x,t]),s((function(){void 0!==o&&null!==x&&x.setDraggable(o)}),[x,o]),s((function(){void 0!==n&&null!==x&&x.setEditable(n)}),[x,n]),s((function(){void 0!==r&&null!==x&&x.setVisible(r)}),[x,r]),s((function(){void 0!==a&&null!==x&&x.setPath(a)}),[x,a]),s((function(){void 0!==l&&null!==x&&x.setPaths(l)}),[x,l]),s((function(){x&&g&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(x,"dblclick",g)))}),[g]),s((function(){x&&(google.maps.event.addListener(x.getPath(),"insert_at",(function(){null==w||w(x)})),google.maps.event.addListener(x.getPath(),"set_at",(function(){null==w||w(x)})))}),[x,w]),s((function(){x&&p&&(null!==T&&google.maps.event.removeListener(T),R(google.maps.event.addListener(x,"dragend",p)))}),[p]),s((function(){x&&d&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(x,"dragstart",d)))}),[d]),s((function(){x&&u&&(null!==W&&google.maps.event.removeListener(W),F(google.maps.event.addListener(x,"mousedown",u)))}),[u]),s((function(){x&&h&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(x,"mousemove",h)))}),[h]),s((function(){x&&m&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(x,"mouseout",m)))}),[m]),s((function(){x&&f&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(x,"mouseover",f)))}),[f]),s((function(){x&&v&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(x,"mouseup",v)))}),[v]),s((function(){x&&y&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(x,"rightclick",y)))}),[y]),s((function(){x&&L&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(x,"click",L)))}),[L]),s((function(){x&&I&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(x,"drag",I)))}),[I]),s((function(){var e=new google.maps.Polygon(z(z({},t||{}),{map:k}));return a&&e.setPath(a),l&&e.setPaths(l),void 0!==r&&e.setVisible(r),void 0!==n&&e.setEditable(n),void 0!==o&&e.setDraggable(o),g&&O(google.maps.event.addListener(e,"dblclick",g)),p&&R(google.maps.event.addListener(e,"dragend",p)),d&&U(google.maps.event.addListener(e,"dragstart",d)),u&&F(google.maps.event.addListener(e,"mousedown",u)),h&&V(google.maps.event.addListener(e,"mousemove",h)),m&&G(google.maps.event.addListener(e,"mouseout",m)),f&&J(google.maps.event.addListener(e,"mouseover",f)),v&&Q(google.maps.event.addListener(e,"mouseup",v)),y&&oe(google.maps.event.addListener(e,"rightclick",y)),L&&se(google.maps.event.addListener(e,"click",L)),I&&le(google.maps.event.addListener(e,"drag",I)),P(e),C&&C(e),function(){null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==A&&google.maps.event.removeListener(A),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),null!==$&&google.maps.event.removeListener($),null!==K&&google.maps.event.removeListener(K),null!==X&&google.maps.event.removeListener(X),null!==te&&google.maps.event.removeListener(te),null!==ie&&google.maps.event.removeListener(ie),b&&b(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polygon:null},t.setPolygonCallback=function(){null!==t.state.polygon&&t.props.onLoad&&t.props.onLoad(t.state.polygon)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polygon(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:at,eventMap:rt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polygon&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:at,eventMap:rt,prevProps:e,nextProps:this.props,instance:this.state.polygon}))},t.prototype.componentWillUnmount=function(){null!==this.state.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),U(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var lt={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},ct={bounds:function(e,t){e.setBounds(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},visible:function(e,t){e.setVisible(t)}};o((function(e){var t=e.options,o=e.bounds,n=e.draggable,r=e.editable,a=e.visible,l=e.onDblClick,g=e.onDragEnd,p=e.onDragStart,d=e.onMouseDown,u=e.onMouseMove,h=e.onMouseOut,m=e.onMouseOver,f=e.onMouseUp,v=e.onRightClick,y=e.onClick,L=e.onDrag,I=e.onBoundsChanged,C=e.onLoad,b=e.onUnmount,w=c(B),k=i(null),M=k[0],x=k[1],P=i(null),E=P[0],S=P[1],O=i(null),_=O[0],T=O[1],R=i(null),D=R[0],A=R[1],U=i(null),Z=U[0],W=U[1],F=i(null),j=F[0],N=F[1],V=i(null),H=V[0],$=V[1],G=i(null),Y=G[0],K=G[1],J=i(null),q=J[0],X=J[1],Q=i(null),ee=Q[0],te=Q[1],oe=i(null),ne=oe[0],ie=oe[1],se=i(null),re=se[0],ae=se[1],le=i(null),ce=le[0],ge=le[1];return s((function(){null!==M&&M.setMap(w)}),[w]),s((function(){void 0!==t&&null!==M&&M.setOptions(t)}),[M,t]),s((function(){void 0!==n&&null!==M&&M.setDraggable(n)}),[M,n]),s((function(){void 0!==r&&null!==M&&M.setEditable(r)}),[M,r]),s((function(){void 0!==a&&null!==M&&M.setVisible(a)}),[M,a]),s((function(){void 0!==o&&null!==M&&M.setBounds(o)}),[M,o]),s((function(){M&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(M,"dblclick",l)))}),[l]),s((function(){M&&g&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(M,"dragend",g)))}),[g]),s((function(){M&&p&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(M,"dragstart",p)))}),[p]),s((function(){M&&d&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(M,"mousedown",d)))}),[d]),s((function(){M&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(M,"mousemove",u)))}),[u]),s((function(){M&&h&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(M,"mouseout",h)))}),[h]),s((function(){M&&m&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(M,"mouseover",m)))}),[m]),s((function(){M&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(M,"mouseup",f)))}),[f]),s((function(){M&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(M,"rightclick",v)))}),[v]),s((function(){M&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(M,"click",y)))}),[y]),s((function(){M&&L&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(M,"drag",L)))}),[L]),s((function(){M&&I&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(M,"bounds_changed",I)))}),[I]),s((function(){var e=new google.maps.Rectangle(z(z({},t||{}),{map:w}));return void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==n&&e.setDraggable(n),void 0!==o&&e.setBounds(o),l&&S(google.maps.event.addListener(e,"dblclick",l)),g&&T(google.maps.event.addListener(e,"dragend",g)),p&&A(google.maps.event.addListener(e,"dragstart",p)),d&&W(google.maps.event.addListener(e,"mousedown",d)),u&&N(google.maps.event.addListener(e,"mousemove",u)),h&&$(google.maps.event.addListener(e,"mouseout",h)),m&&K(google.maps.event.addListener(e,"mouseover",m)),f&&X(google.maps.event.addListener(e,"mouseup",f)),v&&te(google.maps.event.addListener(e,"rightclick",v)),y&&ie(google.maps.event.addListener(e,"click",y)),L&&ae(google.maps.event.addListener(e,"drag",L)),I&&ge(google.maps.event.addListener(e,"bounds_changed",I)),x(e),C&&C(e),function(){null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==re&&google.maps.event.removeListener(re),null!==ce&&google.maps.event.removeListener(ce),b&&b(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={rectangle:null},t.setRectangleCallback=function(){null!==t.state.rectangle&&t.props.onLoad&&t.props.onLoad(t.state.rectangle)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Rectangle(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:ct,eventMap:lt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ct,eventMap:lt,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))},t.prototype.componentWillUnmount=function(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),U(this.registeredEvents),this.state.rectangle.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var gt={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},pt={center:function(e,t){e.setCenter(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},radius:function(e,t){e.setRadius(t)},visible:function(e,t){e.setVisible(t)}},dt={};o((function(e){var t=e.options,o=e.center,n=e.radius,r=e.draggable,a=e.editable,l=e.visible,g=e.onDblClick,p=e.onDragEnd,d=e.onDragStart,u=e.onMouseDown,h=e.onMouseMove,m=e.onMouseOut,f=e.onMouseOver,v=e.onMouseUp,y=e.onRightClick,L=e.onClick,I=e.onDrag,C=e.onCenterChanged,b=e.onRadiusChanged,w=e.onLoad,k=e.onUnmount,M=c(B),x=i(null),P=x[0],E=x[1],S=i(null),O=S[0],_=S[1],T=i(null),R=T[0],D=T[1],A=i(null),U=A[0],Z=A[1],W=i(null),F=W[0],j=W[1],N=i(null),V=N[0],H=N[1],$=i(null),G=$[0],Y=$[1],K=i(null),J=K[0],q=K[1],X=i(null),Q=X[0],ee=X[1],te=i(null),oe=te[0],ne=te[1],ie=i(null),se=ie[0],re=ie[1],ae=i(null),le=ae[0],ce=ae[1],ge=i(null),pe=ge[0],de=ge[1],ue=i(null),he=ue[0],me=ue[1];return s((function(){null!==P&&P.setMap(M)}),[M]),s((function(){void 0!==t&&null!==P&&P.setOptions(t)}),[P,t]),s((function(){void 0!==r&&null!==P&&P.setDraggable(r)}),[P,r]),s((function(){void 0!==a&&null!==P&&P.setEditable(a)}),[P,a]),s((function(){void 0!==l&&null!==P&&P.setVisible(l)}),[P,l]),s((function(){"number"==typeof n&&null!==P&&P.setRadius(n)}),[P,n]),s((function(){void 0!==o&&null!==P&&P.setCenter(o)}),[P,o]),s((function(){P&&g&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(P,"dblclick",g)))}),[g]),s((function(){P&&p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(P,"dragend",p)))}),[p]),s((function(){P&&d&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(P,"dragstart",d)))}),[d]),s((function(){P&&u&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(P,"mousedown",u)))}),[u]),s((function(){P&&h&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(P,"mousemove",h)))}),[h]),s((function(){P&&m&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(P,"mouseout",m)))}),[m]),s((function(){P&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(P,"mouseover",f)))}),[f]),s((function(){P&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(P,"mouseup",v)))}),[v]),s((function(){P&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(P,"rightclick",y)))}),[y]),s((function(){P&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(P,"click",L)))}),[L]),s((function(){P&&I&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener(P,"drag",I)))}),[I]),s((function(){P&&C&&(null!==pe&&google.maps.event.removeListener(pe),de(google.maps.event.addListener(P,"center_changed",C)))}),[L]),s((function(){P&&b&&(null!==he&&google.maps.event.removeListener(he),me(google.maps.event.addListener(P,"radius_changed",b)))}),[b]),s((function(){var e=new google.maps.Circle(z(z({},t||dt),{map:M}));return"number"==typeof n&&e.setRadius(n),void 0!==o&&e.setCenter(o),"number"==typeof n&&e.setRadius(n),void 0!==l&&e.setVisible(l),void 0!==a&&e.setEditable(a),void 0!==r&&e.setDraggable(r),g&&_(google.maps.event.addListener(e,"dblclick",g)),p&&D(google.maps.event.addListener(e,"dragend",p)),d&&Z(google.maps.event.addListener(e,"dragstart",d)),u&&j(google.maps.event.addListener(e,"mousedown",u)),h&&H(google.maps.event.addListener(e,"mousemove",h)),m&&Y(google.maps.event.addListener(e,"mouseout",m)),f&&q(google.maps.event.addListener(e,"mouseover",f)),v&&ee(google.maps.event.addListener(e,"mouseup",v)),y&&ne(google.maps.event.addListener(e,"rightclick",y)),L&&re(google.maps.event.addListener(e,"click",L)),I&&ce(google.maps.event.addListener(e,"drag",I)),C&&de(google.maps.event.addListener(e,"center_changed",C)),b&&me(google.maps.event.addListener(e,"radius_changed",b)),E(e),w&&w(e),function(){null!==O&&google.maps.event.removeListener(O),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==J&&google.maps.event.removeListener(J),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),null!==se&&google.maps.event.removeListener(se),null!==pe&&google.maps.event.removeListener(pe),null!==he&&google.maps.event.removeListener(he),k&&k(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={circle:null},t.setCircleCallback=function(){null!==t.state.circle&&t.props.onLoad&&t.props.onLoad(t.state.circle)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Circle(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:pt,eventMap:gt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.circle&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:pt,eventMap:gt,prevProps:e,nextProps:this.props,instance:this.state.circle}))},t.prototype.componentWillUnmount=function(){var e;null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),U(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var ut={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ht={add:function(e,t){e.add(t)},addgeojson:function(e,t,o){e.addGeoJson(t,o)},contains:function(e,t){e.contains(t)},foreach:function(e,t){e.forEach(t)},loadgeojson:function(e,t,o,n){e.loadGeoJson(t,o,n)},overridestyle:function(e,t,o){e.overrideStyle(t,o)},remove:function(e,t){e.remove(t)},revertstyle:function(e,t){e.revertStyle(t)},controlposition:function(e,t){e.setControlPosition(t)},controls:function(e,t){e.setControls(t)},drawingmode:function(e,t){e.setDrawingMode(t)},map:function(e,t){e.setMap(t)},style:function(e,t){e.setStyle(t)},togeojson:function(e,t){e.toGeoJson(t)}};o((function(e){var t=e.options,o=e.onClick,n=e.onDblClick,r=e.onMouseDown,a=e.onMouseMove,l=e.onMouseOut,g=e.onMouseOver,p=e.onMouseUp,d=e.onRightClick,u=e.onAddFeature,h=e.onRemoveFeature,m=e.onRemoveProperty,f=e.onSetGeometry,v=e.onSetProperty,y=e.onLoad,L=e.onUnmount,I=c(B),C=i(null),b=C[0],w=C[1],k=i(null),M=k[0],x=k[1],P=i(null),E=P[0],S=P[1],O=i(null),_=O[0],T=O[1],R=i(null),D=R[0],A=R[1],U=i(null),Z=U[0],W=U[1],F=i(null),j=F[0],N=F[1],V=i(null),H=V[0],$=V[1],G=i(null),Y=G[0],K=G[1],J=i(null),q=J[0],X=J[1],Q=i(null),ee=Q[0],te=Q[1],oe=i(null),ne=oe[0],ie=oe[1],se=i(null),re=se[0],ae=se[1],le=i(null),ce=le[0],ge=le[1];return s((function(){null!==b&&b.setMap(I)}),[I]),s((function(){b&&n&&(null!==M&&google.maps.event.removeListener(M),x(google.maps.event.addListener(b,"dblclick",n)))}),[n]),s((function(){b&&r&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(b,"mousedown",r)))}),[r]),s((function(){b&&a&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(b,"mousemove",a)))}),[a]),s((function(){b&&l&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(b,"mouseout",l)))}),[l]),s((function(){b&&g&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(b,"mouseover",g)))}),[g]),s((function(){b&&p&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(b,"mouseup",p)))}),[p]),s((function(){b&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(b,"rightclick",d)))}),[d]),s((function(){b&&o&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(b,"click",o)))}),[o]),s((function(){b&&u&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(b,"addfeature",u)))}),[u]),s((function(){b&&h&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(b,"removefeature",h)))}),[h]),s((function(){b&&m&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(b,"removeproperty",m)))}),[m]),s((function(){b&&f&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(b,"setgeometry",f)))}),[f]),s((function(){b&&v&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(b,"setproperty",v)))}),[v]),s((function(){if(null!==I){var e=new google.maps.Data(z(z({},t||{}),{map:I}));n&&x(google.maps.event.addListener(e,"dblclick",n)),r&&S(google.maps.event.addListener(e,"mousedown",r)),a&&T(google.maps.event.addListener(e,"mousemove",a)),l&&A(google.maps.event.addListener(e,"mouseout",l)),g&&W(google.maps.event.addListener(e,"mouseover",g)),p&&N(google.maps.event.addListener(e,"mouseup",p)),d&&$(google.maps.event.addListener(e,"rightclick",d)),o&&K(google.maps.event.addListener(e,"click",o)),u&&X(google.maps.event.addListener(e,"addfeature",u)),h&&te(google.maps.event.addListener(e,"removefeature",h)),m&&ie(google.maps.event.addListener(e,"removeproperty",m)),f&&ae(google.maps.event.addListener(e,"setgeometry",f)),v&&ge(google.maps.event.addListener(e,"setproperty",v)),w(e),y&&y(e)}return function(){b&&(null!==M&&google.maps.event.removeListener(M),null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==re&&google.maps.event.removeListener(re),null!==ce&&google.maps.event.removeListener(ce),L&&L(b),b.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={data:null},t.setDataCallback=function(){null!==t.state.data&&t.props.onLoad&&t.props.onLoad(t.state.data)},t}x(t,e),t.prototype.componentDidMount=function(){if(null!==this.context){var e=new google.maps.Data(z(z({},this.props.options||{}),{map:this.context}));this.registeredEvents=Z({updaterMap:ht,eventMap:ut,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)}},t.prototype.componentDidUpdate=function(e){null!==this.state.data&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ht,eventMap:ut,prevProps:e,nextProps:this.props,instance:this.state.data}))},t.prototype.componentWillUnmount=function(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),U(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var mt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},ft={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}};function vt(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function yt(e,t){return new t(e.lat,e.lng)}function Lt(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))}function It(e,t,o,n){return void 0!==o?function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o.getNorthEast()),i=e&&e.fromLatLngToDivPixel(o.getSouthWest());return n&&i?{left:"".concat(i.x+t.x,"px"),top:"".concat(n.y+t.y,"px"),width:"".concat(n.x-i.x-t.x,"px"),height:"".concat(i.y-n.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}}(e,t,(i=o,s=google.maps.LatLngBounds,r=Lt,i instanceof s?i:r(i,s))):function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o);if(n){var i=n.x,s=n.y;return{left:"".concat(i+t.x,"px"),top:"".concat(s+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,function(e,t,o){return e instanceof t?e:o(e,t)}(n,google.maps.LatLng,yt));var i,s,r}function Ct(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function bt(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}function wt(){}!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={kmlLayer:null},t.setKmlLayerCallback=function(){null!==t.state.kmlLayer&&t.props.onLoad&&t.props.onLoad(t.state.kmlLayer)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.KmlLayer(z(z({},this.props.options),{map:this.context}));this.registeredEvents=Z({updaterMap:ft,eventMap:mt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:ft,eventMap:mt,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))},t.prototype.componentWillUnmount=function(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),U(this.registeredEvents),this.state.kmlLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a),o((function(e){var t=e.position,o=e.bounds,n=e.mapPaneName,i=e.zIndex,a=e.onLoad,l=e.onUnmount,g=e.getPixelPositionOffset,p=e.children,d=c(B),u=r((function(){var e=document.createElement("div");return e.style.position="absolute",e}),[]),m=r((function(){return function(e,t,o,n,i){var s=function(e){function t(t,o,n,i){var s=e.call(this)||this;return s.container=t,s.pane=o,s.position=n,s.bounds=i,s}return x(t,e),t.prototype.onAdd=function(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)},t.prototype.draw=function(){for(var e=It(this.getProjection(),z({},this.container?vt(this.container,i):{x:0,y:0}),this.bounds,this.position),t=0,o=Object.entries(e);t<o.length;t++){var n=o[t],s=n[0],r=n[1];this.container.style[s]=r}},t.prototype.onRemove=function(){null!==this.container.parentNode&&this.container.parentNode.removeChild(this.container)},t}(google.maps.OverlayView);return new s(e,t,o,n)}(u,n,t,o,g)}),[u,n,t,o]);return s((function(){return null==a||a(m),null==m||m.setMap(d),function(){null==l||l(m),null==m||m.setMap(null)}}),[d,m]),s((function(){u.style.zIndex="".concat(i)}),[i,u]),h.createPortal(p,u)})),function(e){function t(t){var o=e.call(this,t)||this;o.state={paneEl:null,containerStyle:{position:"absolute"}},o.updatePane=function(){var e=o.props.mapPaneName,t=o.overlayView.getPanes();T(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?o.setState({paneEl:t[e]}):o.setState({paneEl:null})},o.onAdd=function(){var e,t;o.updatePane(),null===(t=(e=o.props).onLoad)||void 0===t||t.call(e,o.overlayView)},o.onPositionElement=function(){var e,t,n=It(o.overlayView.getProjection(),z({x:0,y:0},o.containerRef.current?vt(o.containerRef.current,o.props.getPixelPositionOffset):{}),o.props.bounds,o.props.position),i=o.state.containerStyle,s=i.left,r=i.top,a=i.width,l=i.height;t={left:s,top:r,width:a,height:l},((e=n).left!==t.left||e.top!==t.top||e.width!==t.height||e.height!==t.height)&&o.setState({containerStyle:{top:n.top||0,left:n.left||0,width:n.width||0,height:n.height||0,position:"absolute"}})},o.draw=function(){o.onPositionElement()},o.onRemove=function(){var e,t;o.setState((function(){return{paneEl:null}})),null===(t=(e=o.props).onUnmount)||void 0===t||t.call(e,o.overlayView)},o.containerRef=l();var n=new google.maps.OverlayView;return n.onAdd=o.onAdd,n.draw=o.draw,n.onRemove=o.onRemove,o.overlayView=n,o}x(t,e),t.prototype.componentDidMount=function(){this.overlayView.setMap(this.context)},t.prototype.componentDidUpdate=function(e){var t=Ct(e.position),o=Ct(this.props.position),n=bt(e.bounds),i=bt(this.props.bounds);t===o&&n===i||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},t.prototype.componentWillUnmount=function(){this.overlayView.setMap(null)},t.prototype.render=function(){var e=this.state.paneEl;return e?h.createPortal(k.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:g.only(this.props.children)}),e):null},t.FLOAT_PANE="floatPane",t.MAP_PANE="mapPane",t.MARKER_LAYER="markerLayer",t.OVERLAY_LAYER="overlayLayer",t.OVERLAY_MOUSE_TARGET="overlayMouseTarget",t.contextType=B}(a);var kt={onDblClick:"dblclick",onClick:"click"},Mt={opacity:function(e,t){e.setOpacity(t)}};o((function(e){var t=e.url,o=e.bounds,n=e.options,i=e.visible,a=c(B),l=new google.maps.LatLngBounds(new google.maps.LatLng(o.south,o.west),new google.maps.LatLng(o.north,o.east)),g=r((function(){return new google.maps.GroundOverlay(t,l,z({},n))}),[]);return s((function(){null!==g&&g.setMap(a)}),[a]),s((function(){void 0!==t&&null!==g&&(g.set("url",t),g.setMap(a))}),[g,t]),s((function(){void 0!==i&&null!==g&&g.setOpacity(i?1:0)}),[g,i]),s((function(){var e=new google.maps.LatLngBounds(new google.maps.LatLng(o.south,o.west),new google.maps.LatLng(o.north,o.east));void 0!==o&&null!==g&&(g.set("bounds",e),g.setMap(a))}),[g,o]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={groundOverlay:null},t.setGroundOverlayCallback=function(){null!==t.state.groundOverlay&&t.props.onLoad&&t.props.onLoad(t.state.groundOverlay)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,z(z({},this.props.options),{map:this.context}));this.registeredEvents=Z({updaterMap:Mt,eventMap:kt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Mt,eventMap:kt,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))},t.prototype.componentWillUnmount=function(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))},t.prototype.render=function(){return null},t.defaultProps={onLoad:wt},t.contextType=B}(a);var xt={},zt={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}};o((function(e){var t=e.data,o=e.onLoad,n=e.onUnmount,r=e.options,a=c(B),l=i(null),g=l[0],p=l[1];return s((function(){google.maps.visualization||T(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),s((function(){T(!!t,"data property is required in HeatmapLayer %s",t)}),[t]),s((function(){null!==g&&g.setMap(a)}),[a]),s((function(){r&&null!==g&&g.setOptions(r)}),[g,r]),s((function(){var e=new google.maps.visualization.HeatmapLayer(z(z({},r||{}),{data:t,map:a}));return p(e),o&&o(e),function(){null!==g&&(n&&n(g),g.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={heatmapLayer:null},t.setHeatmapLayerCallback=function(){null!==t.state.heatmapLayer&&t.props.onLoad&&t.props.onLoad(t.state.heatmapLayer)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),T(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(z(z({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=Z({updaterMap:zt,eventMap:xt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},t.prototype.componentDidUpdate=function(e){U(this.registeredEvents),this.registeredEvents=Z({updaterMap:zt,eventMap:xt,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})},t.prototype.componentWillUnmount=function(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),U(this.registeredEvents),this.state.heatmapLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=B}(a);var Pt={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},Et={register:function(e,t,o){e.registerPanoProvider(t,o)},links:function(e,t){e.setLinks(t)},motionTracking:function(e,t){e.setMotionTracking(t)},options:function(e,t){e.setOptions(t)},pano:function(e,t){e.setPano(t)},position:function(e,t){e.setPosition(t)},pov:function(e,t){e.setPov(t)},visible:function(e,t){e.setVisible(t)},zoom:function(e,t){e.setZoom(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={streetViewPanorama:null},t.setStreetViewPanoramaCallback=function(){null!==t.state.streetViewPanorama&&t.props.onLoad&&t.props.onLoad(t.state.streetViewPanorama)},t}x(t,e),t.prototype.componentDidMount=function(){var e,t,o=null!==(t=null===(e=this.context)||void 0===e?void 0:e.getStreetView())&&void 0!==t?t:null;this.registeredEvents=Z({updaterMap:Et,eventMap:Pt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{streetViewPanorama:o}}),this.setStreetViewPanoramaCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Et,eventMap:Pt,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),U(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},t.prototype.render=function(){return null},t.contextType=B}(a),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={streetViewService:null},t.setStreetViewServiceCallback=function(){null!==t.state.streetViewService&&t.props.onLoad&&t.props.onLoad(t.state.streetViewService)},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.StreetViewService;this.setState((function(){return{streetViewService:e}}),this.setStreetViewServiceCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},t.prototype.render=function(){return null},t.contextType=B}(a),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={directionsService:null},t.setDirectionsServiceCallback=function(){null!==t.state.directionsService&&t.props.onLoad&&t.props.onLoad(t.state.directionsService)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var e=new google.maps.DirectionsService;this.setState((function(){return{directionsService:e}}),this.setDirectionsServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.directionsService&&this.state.directionsService.route(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.directionsService&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},t.prototype.render=function(){return null}}(a);var St={onDirectionsChanged:"directions_changed"},Ot={directions:function(e,t){e.setDirections(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},panel:function(e,t){e.setPanel(t)},routeIndex:function(e,t){e.setRouteIndex(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={directionsRenderer:null},t.setDirectionsRendererCallback=function(){null!==t.state.directionsRenderer&&(t.state.directionsRenderer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.directionsRenderer))},t}x(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Z({updaterMap:Ot,eventMap:St,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Ot,eventMap:St,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))},t.prototype.componentWillUnmount=function(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),U(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},t.prototype.render=function(){return k.jsx(k.Fragment,{})},t.contextType=B}(a),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={distanceMatrixService:null},t.setDistanceMatrixServiceCallback=function(){null!==t.state.distanceMatrixService&&t.props.onLoad&&t.props.onLoad(t.state.distanceMatrixService)},t}x(t,e),t.prototype.componentDidMount=function(){T(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var e=new google.maps.DistanceMatrixService;this.setState((function(){return{distanceMatrixService:e}}),this.setDistanceMatrixServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.distanceMatrixService&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.distanceMatrixService&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},t.prototype.render=function(){return null}}(a);var _t={onPlacesChanged:"places_changed"},Tt={bounds:function(e,t){e.setBounds(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.containerElement=l(),t.state={searchBox:null},t.setSearchBoxCallback=function(){null!==t.state.searchBox&&t.props.onLoad&&t.props.onLoad(t.state.searchBox)},t}x(t,e),t.prototype.componentDidMount=function(){if(T(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=Z({updaterMap:Tt,eventMap:_t,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},t.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Tt,eventMap:_t,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},t.prototype.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),U(this.registeredEvents))},t.prototype.render=function(){return k.jsx("div",{ref:this.containerElement,children:g.only(this.props.children)})},t.contextType=B}(a);var Bt={onPlaceChanged:"place_changed"},Rt={bounds:function(e,t){e.setBounds(t)},restrictions:function(e,t){e.setComponentRestrictions(t)},fields:function(e,t){e.setFields(t)},options:function(e,t){e.setOptions(t)},types:function(e,t){e.setTypes(t)}};function Dt(e,t,o,n){var i=o*Math.PI/180-e*Math.PI/180,s=n*Math.PI/180-t*Math.PI/180,r=Math.sin(i/2)*Math.sin(i/2)+Math.cos(e*Math.PI/180)*Math.cos(o*Math.PI/180)*Math.sin(s/2)*Math.sin(s/2);return 6378137*(2*Math.atan2(Math.sqrt(r),Math.sqrt(1-r)))}!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.containerElement=l(),t.state={autocomplete:null},t.setAutocompleteCallback=function(){null!==t.state.autocomplete&&t.props.onLoad&&t.props.onLoad(t.state.autocomplete)},t}x(t,e),t.prototype.componentDidMount=function(){var e;T(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var o=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=Z({updaterMap:Rt,eventMap:Bt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{autocomplete:o}}),this.setAutocompleteCallback)}},t.prototype.componentDidUpdate=function(e){U(this.registeredEvents),this.registeredEvents=Z({updaterMap:Rt,eventMap:Bt,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},t.prototype.componentWillUnmount=function(){null!==this.state.autocomplete&&U(this.registeredEvents)},t.prototype.render=function(){return k.jsx("div",{ref:this.containerElement,className:this.props.className,children:g.only(this.props.children)})},t.defaultProps={className:""},t.contextType=B}(a);var At=function(){function e(){}return e.clearString=function(e){return e.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/"/g,""")},e}();function Ut(e){return e*Math.PI/180}function Zt(e){return 180*e/Math.PI}class Wt{constructor(){}delete(e,t){return t.getPath().forEach((function(e,t){e.marker&&(e.marker.setMap(null),e.marker=void 0),e.ghostMarker&&(e.ghostMarker.setMap(null),e.ghostMarker=void 0)})),t}edit(e,t,o,n){if(n){0;var i={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};0;var s={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,0.4)" stroke="#303030" stroke-width="0.3" stroke-opacity="0.01" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};0;var r={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60)};0;var a={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0)}}else i={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1},s={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:.4,anchor:new google.maps.Point(4,4),strokeWeight:.3,strokeOpacity:.01,strokeColor:"#303030",scale:1};var l=new google.maps.Polyline({map:e,strokeColor:"#ffa500",strokeOpacity:1,strokeWeight:3});function c(e){return t.getPath().getAt(e)}function g(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function p(){0===l.getPath().getLength()&&(this.marker.editIndex<t.getPath().getLength()-1?l.setPath([this.marker.getPosition(),this.getPosition(),c(this.marker.editIndex+1)]):this.marker.editIndex==t.getPath().getLength()-1&&l.setPath([this.marker.getPosition(),this.getPosition(),c(0)])),l.getPath().setAt(1,this.getPosition())}function d(e){var o,n,i,s=c(e.editIndex);o=0===e.editIndex?c(t.getPath().getLength()-1):c(e.editIndex-1),n=e.editIndex==t.getPath().getLength()-1?c(0):c(e.editIndex+1),i=e.getPosition(),s&&s.ghostMarker&&(google.maps.geometry?s.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(s,n,.5)):s.ghostMarker.setPosition(new google.maps.LatLng(s.lat()+.5*(n.lat()-s.lat()),s.lng()+.5*(n.lng()-s.lng())))),o&&o.ghostMarker&&(google.maps.geometry?o.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(o,i,.5)):o.ghostMarker.setPosition(new google.maps.LatLng(o.lat()+.5*(i.lat()-o.lat()),o.lng()+.5*(i.lng()-o.lng()))))}function u(){this.setIcon(s);var e=this.getPosition(),o=this.marker.editIndex+1;l.getPath().forEach((function(){l.getPath().pop()})),t.getPath().insertAt(o,e),y(c(o),i).editIndex=o,d(this.marker),h(c(o)),t.getPath().forEach((function(e,t){e.marker&&(e.marker.editIndex=t)})),google.maps.event.trigger(t,"insert_at",o,e)}function h(o){if(o.marker.editIndex<t.getPath().getLength()-1){var n=c(o.marker.editIndex+1);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",u),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}if(o.marker.editIndex==t.getPath().getLength()-1){var i,r;n=c(0);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",u),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}return null}function m(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function f(){var e=this.getPosition();e.marker=this,e.ghostMarker=c(this.editIndex).ghostMarker,t.getPath().setAt(this.editIndex,e),d(this)}function v(){google.maps.event.trigger(t,"update_at",this.editIndex,this.getPosition())}function y(t,o){var n=t.marker;return n||(n=new google.maps.Marker({position:t,map:e,icon:o,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(n,"dragstart",m),google.maps.event.addListener(n,"drag",f),google.maps.event.addListener(n,"dragend",v),t.marker=n),n.setPosition(t),n}function L(e,t,o,n){return t.setMap(e),t.getPath().forEach((function(e,t){var o=i;n&&1===t&&(o=r),y(e,o).editIndex=t,h(e)})),t}return L.prototype=new google.maps.MVCObject,new L(e,t,o,n)}}class Ft{IsValid="";Poly="";Area=0;Perimeter=0;Latitude=0;Longitude=0;constructor(e,t,o,n,i,s){this.Poly=e,this.Area=t,this.Perimeter=o,this.Latitude=n,this.Longitude=i,this.IsValid=s,this.GeoJSON=void 0}}class jt{constructor(e=[],t=(e,t)=>e<t?-1:e>t?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:o}=this,n=t[e];for(;e>0;){const i=e-1>>1,s=t[i];if(o(n,s)>=0)break;t[e]=s,e=i}t[e]=n}_down(e){const{data:t,compare:o}=this,n=this.length>>1,i=t[e];for(;e<n;){let n=1+(e<<1);const s=n+1;if(s<this.length&&o(t[s],t[n])<0&&(n=s),o(t[n],i)>=0)break;t[e]=t[n],e=n}t[e]=i}}function Nt(e,t=1,o=!1){let n=1/0,i=1/0,s=-1/0,r=-1/0;for(const[t,o]of e[0])t<n&&(n=t),o<i&&(i=o),t>s&&(s=t),o>r&&(r=o);const a=s-n,l=r-i,c=Math.max(t,Math.min(a,l));if(c===t){const e=[n,i];return e.distance=0,e}const g=new jt([],((e,t)=>t.max-e.max));let p=function(e){let t=0,o=0,n=0;const i=e[0];for(let e=0,s=i.length,r=s-1;e<s;r=e++){const s=i[e],a=i[r],l=s[0]*a[1]-a[0]*s[1];o+=(s[0]+a[0])*l,n+=(s[1]+a[1])*l,t+=3*l}const s=new Vt(o/t,n/t,0,e);return 0===t||s.d<0?new Vt(i[0][0],i[0][1],0,e):s}(e);const d=new Vt(n+a/2,i+l/2,0,e);d.d>p.d&&(p=d);let u=2;function h(n,i,s){const r=new Vt(n,i,s,e);u++,r.max>p.d+t&&g.push(r),r.d>p.d&&(p=r,o&&console.log(`found best ${Math.round(1e4*r.d)/1e4} after ${u} probes`))}let m=c/2;for(let e=n;e<s;e+=c)for(let t=i;t<r;t+=c)h(e+m,t+m,m);for(;g.length;){const{max:e,x:o,y:n,h:i}=g.pop();if(e-p.d<=t)break;m=i/2,h(o-m,n-m,m),h(o+m,n-m,m),h(o-m,n+m,m),h(o+m,n+m,m)}o&&console.log(`num probes: ${u}\nbest distance: ${p.d}`);const f=[p.x,p.y];return f.distance=p.d,f}function Vt(e,t,o,n){this.x=e,this.y=t,this.h=o,this.d=function(e,t,o){let n=!1,i=1/0;for(const s of o)for(let o=0,r=s.length,a=r-1;o<r;a=o++){const r=s[o],l=s[a];r[1]>t!=l[1]>t&&e<(l[0]-r[0])*(t-r[1])/(l[1]-r[1])+r[0]&&(n=!n),i=Math.min(i,Ht(e,t,r,l))}return 0===i?0:(n?1:-1)*Math.sqrt(i)}(e,t,n),this.max=this.d+this.h*Math.SQRT2}function Ht(e,t,o,n){let i=o[0],s=o[1],r=n[0]-i,a=n[1]-s;if(0!==r||0!==a){const o=((e-i)*r+(t-s)*a)/(r*r+a*a);o>1?(i=n[0],s=n[1]):o>0&&(i+=r*o,s+=a*o)}return r=e-i,a=t-s,r*r+a*a}var $t,Gt={exports:{}};var Yt=($t||($t=1,function(e){var t={};function o(e){return Math.floor(Math.abs(e)+.5)*(e>=0?1:-1)}function n(e,t,n){var i=2*((e=o(e*n))-(t=o(t*n)));i<0&&(i=-i-1);for(var s="";i>=32;)s+=String.fromCharCode(63+(32|31&i)),i/=32;return s+=String.fromCharCode(63+(0|i))}function i(e){for(var t=[],o=0;o<e.length;o++){var n=e[o].slice();t.push([n[1],n[0]])}return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,Number.isInteger(t)?t:5);n<e.length;){c=null,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);o=1&l?(-l-1)/2:l/2,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);i+=o,s+=1&l?(-l-1)/2:l/2,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var o=Math.pow(10,Number.isInteger(t)?t:5),i=n(e[0][0],0,o)+n(e[0][1],0,o),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=n(r[0],a[0],o),i+=n(r[1],a[1],o)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(i(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:i(t.decode(e,o))}},e.exports&&(e.exports=t)}(Gt)),Gt.exports),Kt=f(Yt);class Jt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,d=0;g<p;d++)g=(n+d)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a}reduce(e,t){var o=[];o.push(e.getAt(0));for(var n=1;n<e.getLength()-2;n++)n%10==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=360;if(s){var l='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';l+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',l+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',l+="</svg>";var c={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"}}else c={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function f(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:u,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new v;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"centerIcon"==i.getIcon().id?i.setIcon(m):i.setIcon(u)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),i.setIcon(m)})),r.push(i)),o}function v(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_()}return f.prototype=new google.maps.MVCObject,v.prototype=new google.maps.MVCObject,v.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},v.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:c,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconTop"==e.getIcon().id?e.setIcon(h):e.setIcon(c)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(h)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},v.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconRight"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},v.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(m):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},v.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:d,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(m):e.setIcon(d)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(u):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},v.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Jt).get(this.get("center").lat(),this.get("center").lng(),t,0,a);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),l=e.getSouthWest().lng(),c=new google.maps.LatLng(i,this.get("center").lng()),g=new google.maps.LatLng(this.get("center").lat(),s),p=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),l);this.set("sizerTop_position",c),this.set("sizerRight_position",g),this.set("sizerBottom_position",p),this.set("sizerLeft_position",d)}},v.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Jt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new f(e)}}class qt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;a.push(this.centerPoint),i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,d=0;g<p;d++)g=(n+d)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(this.centerPoint),a}reduce(e,t){for(var o=[],n=1;n<e.getLength()-2;n++)n%5==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=60,l=120;if(s){var c='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';c+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',c+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',c+="</svg>";var g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},v='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';v+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',v+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',v+="</svg>";var y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"startPinIcon"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},h={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function I(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:h,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new C;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"centerIcon"==i.getIcon().id?i.setIcon(f):i.setIcon(h)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),i.setIcon(f)})),r.push(i)),o}function C(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return I.prototype=new google.maps.MVCObject,C.prototype=new google.maps.MVCObject,C.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},C.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:y,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(f):e.setIcon(m):e.setIcon(y)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),a>90&&a<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},C.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:L,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(f):e.setIcon(m):e.setIcon(L)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),l>90&&l<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},C.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconTop"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},C.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconRight"==e.getIcon().id?e.setIcon(f):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},C.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:d,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(f):e.setIcon(d)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},C.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:u,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(f):e.setIcon(u)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(d):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},C.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new qt).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),d=new google.maps.LatLng(r,this.get("center").lng()),u=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",d),this.set("sizerLeft_position",u),this.set("startPin_position",n[1]),this.set("endPin_position",n[n.length-2])}},C.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new qt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new I(e)}}class Xt{centerPoint=null;startHeading=0;endHeading=160;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,d=0;g<p;d++)g=(n+d)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(a[0]),a}reduce(e,t){for(var o=[],n=0;n<e.getLength()-2;n++)n%5==0&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=0,l=160,c=null,g=null,p=null,d=null,u=null;if(s){var h='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';h+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',h+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',h+="</svg>";var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},v={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var I={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var C={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},b='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';b+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',b+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',b+="</svg>";var w={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"startPinIcon"},k={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else m={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},f={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},v={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},y={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},L={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function M(e,t){this.set("map",e),this.set("position",n),(c=new google.maps.Marker({icon:L,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"})).bindTo("map",this),c.bindTo("position",this);var i=new x;return i.bindTo("map",this),i.bindTo("center",this,"position"),this.bindTo("distance",i),this.bindTo("bounds",i),s&&(google.maps.event.addListener(c,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"centerIcon"==c.getIcon().id?c.setIcon(C):c.setIcon(L)})),google.maps.event.addListener(c,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),c.setIcon(C)})),r.push(c)),o}function x(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return M.prototype=new google.maps.MVCObject,x.prototype=new google.maps.MVCObject,x.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},x.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:w,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(C):e.setIcon(I):e.setIcon(w)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),a>90&&a<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},x.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:k,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(C):e.setIcon(I):e.setIcon(k)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),l>90&&l<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},x.prototype.addSizerTop_=function(){(g=new google.maps.Marker({icon:m,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"})).bindTo("map",this),g.bindTo("position",this,"sizerTop_position");var e=this;s&&(google.maps.event.addListener(g,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconTop"==g.getIcon().id?g.setIcon(I):g.setIcon(m)})),google.maps.event.addListener(g,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),g.setIcon(I)})),r.push(g)),google.maps.event.addListener(g,"drag",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()})),google.maps.event.addListener(g,"dragend",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()}))},x.prototype.addSizerRight_=function(){(d=new google.maps.Marker({icon:f,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"})).bindTo("map",this),d.bindTo("position",this,"sizerRight_position");var e=this;s&&(google.maps.event.addListener(d,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconRight"==d.getIcon().id?d.setIcon(C):d.setIcon(f)})),google.maps.event.addListener(d,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),d.setIcon(C)})),r.push(d)),google.maps.event.addListener(d,"drag",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()})),google.maps.event.addListener(d,"dragend",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()}))},x.prototype.addSizerBottom_=function(){(u=new google.maps.Marker({icon:v,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"})).bindTo("map",this),u.bindTo("position",this,"sizerBottom_position");var e=this;s&&(google.maps.event.addListener(u,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconBottom"==u.getIcon().id?u.setIcon(C):u.setIcon(v)})),google.maps.event.addListener(u,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),u.setIcon(C)})),r.push(u)),google.maps.event.addListener(u,"drag",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()})),google.maps.event.addListener(u,"dragend",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()}))},x.prototype.addSizerLeft_=function(){(p=new google.maps.Marker({icon:y,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"})).bindTo("map",this),p.bindTo("position",this,"sizerLeft_position");var e=this;s&&(google.maps.event.addListener(p,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconLeft"==p.getIcon().id?p.setIcon(C):p.setIcon(y)})),google.maps.event.addListener(p,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),p.setIcon(C)})),r.push(p)),google.maps.event.addListener(p,"drag",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()})),google.maps.event.addListener(p,"dragend",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()}))},x.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Xt).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),d=new google.maps.LatLng(r,this.get("center").lng()),u=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",d),this.set("sizerLeft_position",u),this.set("startPin_position",n[0]),this.set("endPin_position",n[n.length-2])}},x.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},x.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},x.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},x.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Xt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new M(e)}}var Qt,eo={exports:{}};Qt||(Qt=1,function(e){var t={};function o(e,t){e=Math.round(e*t),(e<<=1)<0&&(e=~e);for(var o="";e>=32;)o+=String.fromCharCode(63+(32|31&e)),e>>=5;return o+=String.fromCharCode(e+63)}function n(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o].slice().reverse());return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,t||5);n<e.length;){c=null,a=0,l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);o=1&l?~(l>>1):l>>1,a=l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);i+=o,s+=1&l?~(l>>1):l>>1,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var n=Math.pow(10,t||5),i=o(e[0][0],n)+o(e[0][1],n),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=o(r[0]-a[0],n),i+=o(r[1]-a[1],n)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(n(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:n(t.decode(e,o))}},e.exports&&(e.exports=t)}(eo));class to{constructor(e){var t,o,n,i,s,r,a=this,l=e,c=null,g=null,p=[],d=[],u=[],h={},m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],x=null,z=null,P=null,E=null,S=null,O=20,_=20,T=[];function B(e,t="white"){var o=R(e.Poly),n=o.y,i=o.x,s=`${e.Area} ha`,r=function(e,t,o,n){var i=document.createElement("div");i.id="locname"+e,i.style.display="inline-block",i.style.fontFamily="Arial, sans-serif",i.style.fontSize=n+"px",i.textContent=t;var s=document.createElement("div");s.id="locarea"+e,s.style.display="inline-block",s.style.fontFamily="Arial, sans-serif",s.style.fontSize=n+"px",s.textContent=o;var r=document.createElement("div");r.id="locnameContainer"+e,r.style.position="absolute",r.style.top="0",r.style.left="-1000px";var a=document.createElement("div");a.id="locareaContainer"+e,a.style.position="absolute",a.style.top="0",a.style.left="-1000px",r.appendChild(i),a.appendChild(s),document.body.appendChild(r),document.body.appendChild(a);var l=document.getElementById("locname"+e),c=document.getElementById("locarea"+e),g=document.getElementById("locnameContainer"+e),p=document.getElementById("locareaContainer"+e),d=l.clientWidth,u=c.clientWidth;return g.remove(),p.remove(),{nameWidth:d,areaWidth:u}}(e.Id,e.LocationName,s,8),a=`<svg viewBox="0 0 200 30" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="12" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${At.clearString(e.LocationName)}</text>\n <line x1="0" y1="15" x2="${Math.max(r.nameWidth,r.areaWidth)}" y2="15" style="stroke:${t};stroke-width:0.6"/>\n <text x="0" y="24" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${s}</text>\n </svg>`,c=new google.maps.Marker({map:l,position:new google.maps.LatLng(parseFloat(n),parseFloat(i)),icon:{anchor:new google.maps.Point(1.3*r.nameWidth/2,21),url:`data:image/svg+xml;utf-8, ${a}`},id:`pl_${e.Id}`});y.push(c)}function R(e){var t=Nt(e,1e-5);return{x:t[0],y:t[1]}}function D(e,t){!S&&e&&((S=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",S.innerHTML=t,S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function A(e,t){!S&&e&&((S=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",S.innerHTML=t,S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function U(e){S&&e&&(S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px")}function Z(e){S&&e&&(S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px")}function W(){S&&(document.body.removeChild(S),S=null)}function F(e,t,o="field",n,i,s){if(l.getMapCapabilities().isAdvancedMarkersAvailable&&e&&e.length>0){var r=new google.maps.LatLngBounds;if(e.forEach((function(e){var n,i=new google.maps.LatLngBounds;"farm"===o?(i.extend(new google.maps.LatLng(e.minLat,e.minLng)),i.extend(new google.maps.LatLng(e.maxLat,e.maxLng))):e.Poly[0].forEach((function(e){i.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),r.extend(i.getCenter());var s=function(e){const{iconName:t="pinIcon",fillColor:o="#f1a81e",width:n=30,height:i=41,strokeColor:s="#000000",strokeWidth:r=1}=e,a="http://www.w3.org/2000/svg",l=document.createElementNS(a,"svg");l.setAttribute("viewBox","0 0 57.64 83.57"),l.setAttribute("width",n),l.setAttribute("height",i),l.style.opacity=.8,l.style.zIndex=11e3;const c=document.createElementNS(a,"defs"),g=document.createElementNS(a,"clipPath");g.setAttribute("id",`clippath-${t}`);const p=document.createElementNS(a,"rect");p.setAttribute("width","57.64"),p.setAttribute("height","83.57"),c.appendChild(g),g.appendChild(p);const d=document.createElementNS(a,"style");d.textContent=`\n .cls-1 { clip-path: url(#clippath-${t}); }\n .cls-2 { fill: none; stroke: ${s}; stroke-width: ${r}; }\n .cls-3 { fill: ${o}; }\n `,c.appendChild(d),l.appendChild(c);const u=document.createElementNS(a,"g");u.setAttribute("class","cls-1");const h={pinIcon:"M16.01,31.23c-.07,7.22,5.73,12.51,11.98,12.86,3.84.22,7.17-1.04,9.9-3.73,2.36-2.32,3.64-5.2,3.77-8.49.31-7.8-5.87-13.21-12.29-13.47-7.66-.3-13.54,6.01-13.37,12.83M28.82.1c.43,0,.87-.03,1.3,0,.98.07,1.97.16,2.95.27,1.85.21,3.65.69,5.4,1.31,1.89.66,3.68,1.52,5.38,2.57,1.49.91,2.88,1.95,4.18,3.12,1.68,1.51,3.21,3.15,4.45,5.04.84,1.29,1.65,2.62,2.35,4,1.05,2.06,1.76,4.25,2.2,6.52.25,1.25.41,2.53.5,3.81.1,1.31.15,2.64.07,3.95-.15,2.38-.58,4.72-1.32,6.99-.64,1.97-1.49,3.87-2.54,5.67-1.07,1.83-2.08,3.7-3.13,5.54-.82,1.44-1.67,2.87-2.49,4.31-.8,1.39-1.58,2.78-2.37,4.17-.83,1.45-1.68,2.89-2.51,4.33-.68,1.18-1.34,2.37-2.02,3.55-1.3,2.26-2.61,4.52-3.91,6.79-1.02,1.77-2.02,3.55-3.04,5.32-.92,1.6-1.79,3.24-2.79,4.79-1.33,2.04-4.29,1.81-5.44-.18-1.33-2.3-2.67-4.6-3.99-6.91-1.42-2.46-2.82-4.93-4.23-7.39-1.18-2.06-2.36-4.12-3.54-6.18-1.36-2.37-2.74-4.73-4.1-7.1-1.29-2.25-2.57-4.5-3.83-6.76-1.21-2.17-2.46-4.32-3.6-6.53-1-1.93-1.66-4.01-2.09-6.14-.31-1.54-.58-3.09-.58-4.67,0-.48-.08-.96-.06-1.43.07-1.28.16-2.57.28-3.85.18-1.93.66-3.8,1.3-5.62.75-2.13,1.72-4.16,2.94-6.06,1.27-1.98,2.75-3.79,4.45-5.41,1.55-1.47,3.26-2.75,5.1-3.85,1.63-.98,3.36-1.77,5.14-2.42,1.61-.59,3.28-1.02,4.97-1.26,1.53-.22,3.09-.28,4.63-.41v.1"},m=document.createElementNS(a,"path");m.setAttribute("class","cls-3"),m.setAttribute("d",h[t]||"");const f=document.createElementNS(a,"path");return f.setAttribute("class","cls-2"),f.setAttribute("d",h[t]||""),u.appendChild(m),u.appendChild(f),l.appendChild(u),l}({iconName:t.name,fillColor:t.style.color,width:t.style.width,height:t.style.height,strokeColor:t.style.strokeColor,strokeWidth:t.style.strokeWidth});n=new google.maps.marker.AdvancedMarkerElement({map:l,position:i.getCenter(),content:s});const a="farm"===o?`${e.farmId}|${e.farmOrganization}|${e.farmName}`:`${e.Id}|${e.OrganisationName}|${e.FarmName}`;n.setAttribute("id",a),"farm"===o?d.push(n.addListener("click",(()=>{W(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):d.push(n.addListener("click",(()=>{W(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"field marker with id "+n.id+" clicked",code:200,data:e})}))),M.push(n)})),"farm"===o){if(n){var a=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),i,s)}));u.push(a),l.fitBounds(r)}W(),M.forEach((function(e){var t=e.id.split("|");d.push(e.content.addEventListener("mouseover",(function(e){W(),A(e,t[1]+"<br>Farm "+t[2])}))),d.push(e.content.addEventListener("mousemove",Z)),d.push(e.content.addEventListener("mouseout",W))}))}}}function j(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function N(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function V(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function H(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function $(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function G(e,a,c,g,p,d,u){var h;if(void 0===n||void 0===i){var v=l.getBounds();v&&(t=Math.abs(v.getSouthWest().lat()-v.getNorthEast().lat()),o=Math.abs(v.getNorthEast().lng()-v.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var y=R(f);s=y.y,r=y.x;for(var L=20;L>0;L--){var I=[];I.push([r-2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s+1.5*L*i]),f.push(I);var C=0;if(I.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||C++})),0==C){if(!(f.length>2)){h=K(L,e,g,p,d,u);break}for(var b=0,w=1;w<f.length-1;w++)for(var k=w+1;k<f.length;k++)Y(f[w],f[k])&&b++;if(0==b){h=K(L,e,g,p,d,u);break}f.pop()}else f.pop()}return h}function Y(e,t){const o=new google.maps.Polygon({paths:e.map((e=>new google.maps.LatLng(e[1],e[0])))}),n=new google.maps.Polygon({paths:t.map((e=>new google.maps.LatLng(e[1],e[0])))});for(let e=0;e<t.length;e++){const n=new google.maps.LatLng(t[e][1],t[e][0]);if(google.maps.geometry.poly.containsLocation(n,o))return!0}for(let t=0;t<e.length;t++){const o=new google.maps.LatLng(e[t][1],e[t][0]);if(google.maps.geometry.poly.containsLocation(o,n))return!0}return!1}function K(e,t,o,a,c,g){var p=[];p.push(new google.maps.LatLng(s+1.5*e*i,r-2*e*n)),p.push(new google.maps.LatLng(s+1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r-2*e*n)),p.reverse();var d=Date.now()+Math.floor(1e5*Math.random()),h=new google.maps.Polygon({path:p,id:d.toString(),content:"",strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(h);var f=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){f.extend(e)}));var v=!1,y=google.maps.event.addListener(l,"bounds_changed",(function(){if(!v){var e=l.getProjection().fromLatLngToPoint(f.getSouthWest()),t=l.getProjection().fromLatLngToPoint(f.getNorthEast()),n=l.getZoom(),i=1<<n;(t.x-e.x)*i>=c&&l.setZoom(n-1),Q(f.getCenter(),o,a),v=!v,x=(new Wt).edit(l,h,x,g)}}));return u.push(y),l.fitBounds(f),d}function J(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),d=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(d),z=(z=new Jt).edit(l,d,z,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),Q(h.getCenter(),t,o),f=!f}}));return u.push(v),l.fitBounds(h),p}function q(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),d=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(d),P=(P=new qt).edit(l,d,P,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),Q(h.getCenter(),t,o),f=!f}}));return u.push(v),l.fitBounds(h),p}function X(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),d=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(d),E=(E=new Xt).edit(l,d,E,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),Q(h.getCenter(),t,o),f=!f}}));return u.push(v),l.fitBounds(h),p}function Q(e,t,o){var n=1<<l.getZoom(),i=l.getProjection().fromLatLngToPoint(e),s=new google.maps.Point(t/n||0,o/n||0),r=new google.maps.Point(i.x-s.x,i.y+s.y),a=l.getProjection().fromPointToLatLng(r);l.setCenter(a)}function ee(e,t,o,n,i,s,r,a,g){H(),N(),V(),j(),$(),function(e,t,o,n,i,s,r,a,g){var d,m,f=e,v=null,y=null;c=new google.maps.LatLngBounds,f.forEach((function(e){d=e.poly.split(","),m=[],d.forEach((function(e){var t=Kt.decode(e);y=[],t.forEach((function(e){y.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),m.push(y)}));var t=e.name;"Ward"==e.type&&(t="Ward "+e.name),v=new google.maps.Polygon({paths:m,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,zIndex:1e4,id:e.id,content:t,type:e.type,map:l}),L.push(v)})),function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",zIndex:10010}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",zIndex:1e4}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.SAAdminPolyOnClick(this.id)})))}))}(g);var I=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),s,r)}));u.push(I),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function te(e,t,o,n,i,s){H(),N(),V(),j(),$();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend",code:200,data:null}):(H(),$(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend, zoom outside range",code:200,data:null}))}));u.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed",code:200,data:null}):(H(),$(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed, zoom outside range",code:200,data:null}))}));u.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed",code:200,data:null}):(H(),$(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed, zoom outside range",code:200,data:null}))}));u.push(g),l.getZoom()>=12&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e.parentFarms,a=e.farmPortions,g=e.erven;r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:5,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"pf",zIndex:10001});s&&l.fitBounds(c),L.push(a)}));a.length>0&&a.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.farm+"<br>Portion: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"fp",zIndex:10002});s&&l.fitBounds(c),L.push(a)}));g.length>0&&g.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Erf: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:2,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"er",zIndex:10003});s&&l.fitBounds(c),L.push(a)}));!function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:5,zIndex:10011}):"fp"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}):"er"==t.type&&t.setOptions({strokeColor:"#f1a81e",strokeWeight:2,zIndex:10013}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:5,zIndex:10001}):"fp"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}):"er"==t.type&&t.setOptions({strokeColor:"#000000",strokeWeight:2,zIndex:10003}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.SACadastralPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function oe(e,t,o,n,i,s){H(),N(),V(),j(),$();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend",code:200,data:null}):(H(),$(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend, zoom outside range",code:200,data:null}))}));u.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed",code:200,data:null}):(H(),$(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed, zoom outside range",code:200,data:null}))}));u.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed",code:200,data:null}):(H(),$(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed, zoom outside range",code:200,data:null}))}));u.push(g),l.getZoom()>=13&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e;r&&r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=e.poly.split(","),o=[];t.forEach((function(e){var t=Kt.decode(e),n=[];t.forEach((function(e){n.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),s&&c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),o.push(n)}));var n=e.area/1e4,i=e.category+"<br>"+n.toFixed(2)+" ha",r=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:i,zIndex:10001});s&&l.fitBounds(c),L.push(r)}));!function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10011}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10001}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.SADelineatedFieldPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function ne(e,t,o,n){var i=e;c=new google.maps.LatLngBounds;var s=!1;if(i.forEach((function(e){var t=new google.maps.LatLng(e.latitude,e.longitude);c.extend(new google.maps.LatLng(e.latitude,e.longitude));var o=new DOMParser,n='<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none">';n+='<g transform="translate(0.5, 4)"><path d="M0,0 32,0 16,27.7Z" stroke="#000000" stroke-width="1" fill="'+e.iconColor+'" fill-opacity="0.9"></path></g>',n+="</svg>";var i=o.parseFromString(n,"image/svg+xml").documentElement,s=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:i,zIndex:10002});s.setAttribute("id",e.id+"|"+e.name+"|"+e.companyName+"|"+e.jseAbbreviation+"|"+e.label+"|"+e.capacity+"|"+e.sagisCode),M.push(s)})),i.length>1){var r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!s){var e=l.getProjection().fromLatLngToPoint(c.getSouthWest()),i=l.getProjection().fromLatLngToPoint(c.getNorthEast()),r=l.getZoom(),a=1<<r;(i.x-e.x)*a>=n&&l.setZoom(r-1),l.getZoom()>16&&l.setZoom(16),Q(c.getCenter(),t,o),s=!s}}));u.push(r),l.fitBounds(c)}else if(1==i.length){r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){s||(Q(l.getCenter(),t,o),s=!s)}));l.panTo(new google.maps.LatLng(i[0].latitude,i[0].longitude)),l.setZoom(9)}}function ie(e,t,o,n,i,s,r){H(),N(),V(),j(),$(),function(e,t){var o=null;e.forEach((function(e){if((e.id==t||0===t)&&e&&e.poly&&e.poly.length>0){var n=google.maps.geometry.encoding.decodePath(e.poly,5);o=new google.maps.Polygon({map:l,path:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.regionName,zIndex:1e4}),L.push(o)}}))}(e,o),function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.CPRPolyOnClick({type:"SUCCESS",message:"CPRPoly clicked",code:200,data:t.id})})))}))}(r),ne(t,n,i,s),re()}function se(e,t,o,n,i,s,r){H(),N(),V(),j(),$(),function(e,t){var o,n,i=null;e.forEach((function(e){e.id!=t&&0!==t||e&&e.poly&&e.poly.length>0&&(n=[],e.poly.split(",").forEach((function(e){o=google.maps.geometry.encoding.decodePath(e,5),n.push(o)})),i=new google.maps.Polygon({map:l,paths:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.name,zIndex:1e4}),L.push(i))}))}(e,o),function(e){W(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),W(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),W()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){W(),h.CSProvincePolyOnClick({type:"SUCCESS",message:"CSProvincePoly clicked",code:200,data:t.id})})))}))}(r),ne(t,n,i,s),re()}function re(e){W(),M.forEach((function(e){var t=e.id.split("|"),o="<b>"+t[1]+"</b><br>";o+="Company: "+t[2]+" ("+t[3]+")<br>",o+="Type: "+t[4]+"<br>",parseInt(t[5])>0?o+="Capacity: "+t[5]+"t<br>":o+="Capacity: n/a<br>",parseInt(t[6])>0?o+="Sagis Code: "+t[6]:o+="Sagis Code: n/a";var n=e.addListener("click",(function(e){h.GSMarkerOnClick({type:"SUCCESS",message:"GSMarker clicked",code:200,data:parseInt(t[0])})}));d.push(n);var i=e.content.addEventListener("mouseover",(function(e){W(),A(e,o)}));d.push(i);var s=e.content.addEventListener("mousemove",(function(e){Z(e)}));d.push(s);var r=e.content.addEventListener("mouseout",(function(e){W()}));d.push(r)}))}a.eventHandlers_set=function(e){Object.assign(h,e)},a.eventHandlers_get=function(){return h},a.RenderFields=function(e,t){var o=new google.maps.LatLngBounds;e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={paths:n,id:e.Id,content:r};i=e.MapLocationFeature?{...i,content:r,strokeColor:e.MapLocationFeature.StrokeColor,strokeOpacity:e.MapLocationFeature.StrokeOpacity,strokeWeight:e.MapLocationFeature.StrokeWeight,fillColor:e.MapLocationFeature.FillColor,fillOpacity:e.MapLocationFeature.FillOpacity,zIndex:e.MapLocationFeature.ZIndex}:{...i,...t.polygonOptions.unselected};var s=new google.maps.Polygon(i);v.push(s),t.labelVisable&&B(e)}})),l.fitBounds(o),W(),v.forEach((function(e){p.push(google.maps.event.addListener(e,"mouseover",(function(t){W(),D(t,e.content)}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",W)),p.push(google.maps.event.addListener(e,"click",(function(e){W(),h.FieldOnClick(this.id)})))})),t.icon&&F(e,t.icon),v.forEach((function(e,t){e.setMap(l)})),m.forEach((function(e,t){e.setMap(l)})),l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)})),g=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))})),u.push(g)},a.destroy=function(){mapConfig=null,locations=[],selectedProvinceFieldId=null,defaultCenterLatitude=null,defaultCenterLongitude=null,m=[],v=[],y=[],a.map_clear()},a.map_clear=function(){if(N(),V(),H(),C.forEach((function(e){e.setMap(null),e=null})),C=[],I.forEach((function(e){e.setMap(null),e=null})),I=[],j(),b.forEach((function(e){e.setMap(null),e=null})),b=[],y.forEach((function(e){e.setMap(null),e=null})),y=[],v.forEach((function(e){e.setMap(null),e=null})),v=[],function(){null!=x&&(x=(new Wt).delete(l,x));m.forEach((function(e){e.setMap(null),e=null})),m=[]}(),$(),w.forEach((function(e){e.setMap(null),e=null})),k.forEach((function(e){e.setMap(null),e=null})),x&&(x=(new Wt).delete(l,x),x=null),z&&(z.setMap(null),z=null),P&&(P.setMap(null),P=null),E&&(E.setMap(null),E=null),l.overlayMapTypes)for(;l.overlayMapTypes.getLength()>0;)l.overlayMapTypes.pop();W(),T.length>0&&(T.forEach((e=>{e.setMap&&e.setMap(null)})),T=[]),m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],c=null},a.fmarkers_clear=function(){M.forEach((function(e){e.setMap(null),e=null})),M=[]},a.mapListeners_clear=function(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]},a.selectShape=function(e,t,o){if(console.log("Selecting shape:",e),console.log("Current locPolygons:",m),m.forEach((function(e){e&&(console.log("Applying unselected style to polygon:",e.id),null!=x&&e.isPolygon&&(x=(new Wt).delete(l,x),x=null,e.setMap(l)),null!=z&&e.isCircle&&(z.set("map",null),z=null),null!=P&&e.isCircleSector&&(P.set("map",null),P=null),null!=E&&e.isCircleSegment&&(E.set("map",null),E=null),e.setOptions({...o,editable:!1,draggable:!1}))})),e){const o=m.find((t=>t.id==e));o?(console.log("Applying selected style to shape:",e),o.setOptions(t)):console.warn("Shape not found in locPolygons:",e)}},a.isShapeInLocPolygons=function(e){return m.some((t=>t.id==e))},a.panAndZoomToShape=function(e){let t=m.find((t=>t.id==e))||v.find((t=>t.id==e));if(console.log("locPolygons - panAndZoomToShape",m),t&&l){const e=new google.maps.LatLngBounds;if(t.getPath)t.getPath().forEach((t=>e.extend(t)));else if(t.getCenter&&t.getRadius){const o=t.getCenter(),n=t.getRadius();e.extend(google.maps.geometry.spherical.computeOffset(o,n,0)),e.extend(google.maps.geometry.spherical.computeOffset(o,n,180))}else t.getBounds&&e.union(t.getBounds());const o=l.getZoom();l.fitBounds(e,{padding:50}),google.maps.event.addListenerOnce(l,"bounds_changed",(function(){const e=l.getZoom();Math.abs(e-o)>3&&l.setZoom(Math.min(e,18))}))}else console.error("Shape not found:",e)},a.Shape_Edit=function(e){m.forEach(((t,o)=>{t.id===e&&(t.setEditable(!0),o>0&&t.setDraggable(!0))}))},a.Shape_DrawingDone=function(e){m.forEach((function(t){if(t.id==e)if(t.isPolygon){if(null!=x){var o=x.getPath();t.setPath(o),x=(new Wt).delete(l,x),x=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Jt).reduce(z.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircle=!0,t.setEditable(!1),t.setDraggable(!1),z.setMap(null),z=null,t.setVisible(!0)}else if(t.isCircleSector){n=(new qt).reduce(P.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSector=!0,t.setEditable(!1),t.setDraggable(!1),P.setMap(null),P=null,t.setVisible(!0)}else if(t.isCircleSegment){n=(new Xt).reduce(E.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSegment=!0,t.setEditable(!1),t.setDraggable(!1),E.setMap(null),E=null,t.setVisible(!0)}}))},a.Shape_Delete=function(e,t){const o=l.getBounds(),n=l.getCenter(),i=l.getZoom();N(),this.eventHandlers_set(t);if(m.length>0&&m[0].id==e)a.Shape_DeleteAll();else{var s=-1;m.forEach((function(t,o){t.id==e&&(null!=x&&(x=(new Wt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=null),t.setMap(null),s=o)})),s>=0&&m.splice(s,1),n&&o&&(l.setZoom(i),l.setCenter(n),l.fitBounds(o))}},a.Shape_DeleteAll=function(e){const t=l.getBounds(),o=l.getCenter(),n=l.getZoom();N(),m.forEach((function(e){null!=x&&(x=(new Wt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=null),e.setMap(null),e=null})),m=[],o&&t&&(l.setZoom(n),l.setCenter(o),l.fitBounds(t))},a.Shape_PolygonCustomEdit_Add=function(e,s,r,a,c,g,p,d){if(e)return G(s,a,c,p,d,g,r);var u=l.getBounds(),h=l.getCenter(),f=h.lat(),v=h.lng(),y=[];u&&(t=Math.abs(u.getSouthWest().lat()-u.getNorthEast().lat()),o=Math.abs(u.getNorthEast().lng()-u.getSouthWest().lng()),n=o/a,i=t/c,y.push(new google.maps.LatLng(f+d*i+60*i,v+p*n-80*n)),y.push(new google.maps.LatLng(f+d*i+60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+d*i-60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+d*i-60*i,v+p*n-80*n)));var L=Date.now()+Math.floor(1e5*Math.random()),I=new google.maps.Polygon({map:l,path:y,id:L.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!1,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(I),x=(new Wt).edit(l,I,x,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,d){if(e)return G(s,a,c,p,d,g,r);var u=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],I=[];u&&(t=Math.abs(u.getSouthWest().lat()-u.getNorthEast().lat()),o=Math.abs(u.getNorthEast().lng()-u.getSouthWest().lng()),n=o/a,i=t/c,L.push(new google.maps.LatLng(v+d*i+60*i,y+p*n-80*n)),L.push(new google.maps.LatLng(v+d*i+60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+d*i-60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+d*i-60*i,y+p*n-80*n)),I.push([y+p*n-80*n,v+d*i+60*i]),I.push([y+p*n+80*n,v+d*i+60*i]),I.push([y+p*n+80*n,v+d*i-60*i]),I.push([y+p*n-80*n,v+d*i-60*i]),I.push([y+p*n-80*n,v+d*i+60*i]),f.push(I));var C=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:C.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!0,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return console.log("shape",b),m.push(b),C},a.Shape_CircleFull_Add=function(e,a,c,g,p,d,u,h,v,y){if(e){var L=function(e,a,c,g,p,d,u,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=0,C=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=Dt(s,r,k,M),P=(new Jt).get(s,r,z,I,C);P.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=J(e,g,p,d,P,x,z,u,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=J(e,g,p,d,P,x,z,u,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,d,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),P=new google.maps.LatLng(M,x),E=Dt(M,x,M,x+80*n),S=(new Jt).get(M,x,E,0,360),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),z=(z=new Jt).edit(l,_,z,P,E,c,I),O},a.Shape_CircleSector_Add=function(e,a,c,g,p,d,u,h,v,y){if(e){var L=function(e,a,c,g,p,d,u,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=60,C=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=Dt(s,r,k,M),P=(new qt).get(s,r,z,I,C);P.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=q(e,g,p,d,P,x,z,u,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=q(e,g,p,d,P,x,z,u,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,d,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),E=Dt(M,x,M,x+80*n),S=(new qt).get(M,x,E,60,120),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),P=(P=new qt).edit(l,_,P,z,E,c,I),O},a.Shape_CircleSegment_Add=function(e,a,c,g,p,d,u,h,v,y){if(e){var L=function(e,a,c,g,p,d,u,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=0,C=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=Dt(s,r,k,M),P=(new qt).get(s,r,z,I,C);P.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=X(e,g,p,d,P,x,z,u,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=X(e,g,p,d,P,x,z,u,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,d,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),P=Dt(M,x,M,x+80*n),S=(new Xt).get(M,x,P,0,160),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),E=(E=new Xt).edit(l,_,E,z,P,c,I),O},a.RenderRegionFarms=function(e,t,o,n,i){t&&F(e,t,"farm",o,n,i)},a.TriggerField_ChangeEvent=function(){var e,t,o=0,n=0,i="",s=new google.maps.LatLngBounds,r="",l=[];return m.forEach((function(e,t){var r;r=e.getPath(),({perimeter:n,area:o,path:i}=function(e,t,o,n,i,s){var r,a=[];if(0===e){for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));a[0].lat()!=a[a.length-1].lat()&&a[0].lng()!=a[a.length-1].lng()&&a.push(a[0]),google.maps.geometry.spherical.computeSignedArea(a)>0&&a.reverse(),i+=google.maps.geometry.spherical.computeSignedArea(a),s=google.maps.geometry.encoding.encodePath(a)+","}else{for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));i+=google.maps.geometry.spherical.computeSignedArea(a),s+=google.maps.geometry.encoding.encodePath(a)+","}return{perimeter:n,area:i,path:s}}(t,r,s,n,o,i)),l.push({path:i.split(",")[t],isHole:e.isHole})})),""!==(i=i.substr(0,i.length-1))&&(console.log("Checking field overlaps..."),a.checkForBackgroundFieldOverlaps()||(console.log("Overlap detected - setting error message"),r="Error: Field overlaps with an existing field")),o=-o,e=parseFloat(s.getCenter().lat()),t=parseFloat(s.getCenter().lng()),new Ft(i,o,n,e,t,r)},a.DrawField_AttachEvents=function(e){m.forEach((function(t){var o=google.maps.event.addListener(t,"mouseover",(function(){e.JS_ShapeOnMouseIn(this.id)}));p.push(o);var n=google.maps.event.addListener(t,"mouseout",(function(){e.JS_ShapeOnMouseOut(this.id)}));p.push(n);var i=google.maps.event.addListener(t,"click",(function(){e.ShapeSelect(this.id)}));p.push(i)}))},a.PolygonCustomEdit_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=o.getPath();n.getAt(0).lat()==n.getAt(n.getLength()-1).lat()&&n.getAt(0).lng()==n.getAt(n.getLength()-1).lng()&&n.pop(),o.setPath(n),o.setMap(null),x=(new Wt).edit(l,o,x,t)}},a.CircleSector_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));P=(new qt).edit(l,o,P,i,s,t,I)}},a.CircleFull_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));z=(new Jt).edit(l,o,z,i,s,t,I)}},a.CircleSegment_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){a.Shape_Delete(e);var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));E=(new Xt).edit(l,o,E,i,s,t,I)}},a.RenderRegions=function(e,t,o,n,i,s){var r=null,a=null,c=null;L=[],u=[];var g=new google.maps.LatLngBounds;e.forEach((function(e){const o="string"==typeof e.Id?e.Id.length>0:"number"==typeof e.Id&&e.Id>0;if(e&&o){var n=[];n=!e.Poly.length>0?e.Coords:e.Poly.split(",");var i=[];n.forEach((function(t,o){!e.Poly.length>0?(c=[],t.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),i.push(c)):(a=Kt.decode(t),c=[],a.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),g.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),i.push(c))}));var s={...t.polygonOptions.unselected,paths:i,id:e.Id,content:e.LocationName,map:l};r=new google.maps.Polygon(s),L.push(r)}}));var d=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),i,s)}));u.push(d),l.fitBounds(g),function(e,t){W(),L.forEach((function(e){e instanceof google.maps.Polygon?(p.push(google.maps.event.addListener(e,"mouseover",(function(t){W(),D(t,e.get("content"))}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",W)),p.push(google.maps.event.addListener(e,"click",(function(e){W()})))):console.warn("Invalid polygon object found in fpolies array:",e)})),F(e,t,"farm",!1)}(o,n)},a.Shape_Convert=function(e){m.forEach((function(t){if(t.id==e&&!t.isPolygon){var o,n=Date.now()+Math.floor(1e5*Math.random());if(t.isCircle){var i=function(e,t,o,n){for(var i,s,r,a,l,c,g,p,d=[],u=0;u<o;++u)d.push((i=e,s=t,r=2*Math.PI*-u/o,a=void 0,l=void 0,c=void 0,g=void 0,p=void 0,a=Ut(i[1]),l=Ut(i[0]),c=s/6378137,g=Math.asin(Math.sin(a)*Math.cos(c)+Math.cos(a)*Math.sin(c)*Math.cos(r)),p=l+Math.atan2(Math.sin(r)*Math.sin(c)*Math.cos(a),Math.cos(c)-Math.sin(a)*Math.sin(g)),new google.maps.LatLng({lat:Zt(g),lng:Zt(p)})));return n?d:d.reverse()}([t.getCenter().lng(),t.getCenter().lat()],t.getRadius(),72,t.isHole);o=new google.maps.Polygon({map:t.map,path:i,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter})}else t.isCircleSector?o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}):t.isCircleSegment&&(o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}));return m.push(o),n}}))},a.addToLocPolygons=function(e){(m=[]).push(e)},a.RenderBackgroundFields=function(e,t){var o=new google.maps.LatLngBounds;T.forEach((e=>{e.setMap(null)})),T=[],e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={...t.polygonOptions.other,paths:n,id:e.Id,content:r,map:l},s=new google.maps.Polygon(i);T.push(s)}})),l.fitBounds(o)},a.clearBackgroundFields=function(){T.forEach((e=>{e.setMap(null)})),T=[]},a.checkForBackgroundFieldOverlaps=function(){if(console.log("Checking overlaps - Background Fields:",T.length,"Local Polygons:",m.length),!T.length||!m.length)return console.log("No fields to check for overlap"),!0;for(const e of m)for(const t of T){const o=e.getPath().getArray(),n=t.getPath().getArray();for(const e of o)if(google.maps.geometry.poly.containsLocation(e,t))return console.log("Overlap detected: Local polygon point inside background field"),!1;for(const t of n)if(google.maps.geometry.poly.containsLocation(t,e))return console.log("Overlap detected: Background field point inside local polygon"),!1}return console.log("No overlaps detected"),!0},a.RenderSAAdministrative=function(e,t,o,n,i,s,r,a,l){ee(e,0,0,0,0,s,r,0,l)},a.RenderSACadastral=function(e,t,o,n,i,s){te(e,0,0,0,i,s)},a.RenderSADelineatedFields=function(e,t,o,n,i,s){oe(e,0,0,0,i,s)},a.RenderGSGPRegions=function(e,t,o,n,i,s,r){ie(e,t,o,n,i,s,r)},a.RenderGSProvinces=function(e,t,o,n,i,s,r){se(e,t,o,n,i,s,r)},a.NDVI_AddOverlay_DEA=function(e,t,o,n,i,s,r,a,c,g,p,d){var m,f,v=e[0],y=new google.maps.LatLngBounds;if(v&&v.Poly&&v.Poly.length>0&&v.Id>0){var L=R(v.Poly);m=L.y,f=L.x,v.Poly.forEach((function(e,t){e.forEach((function(e,o){0==t&&y.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))}))}))}else m=r,f=a;var I=0;p&&(I=1);var C=o,b=!1;if(!b){const e=document.createElement("img");e.src=s,e.width=120,e.height=120,e.style.transform="translate(0, 50%)";const t=new google.maps.LatLng(m,f);var w=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:e});M.push(w),b=!0}var k=[];if(l.getZoom()>17){var x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));u.push(x),l.setZoom(17)}else if(l.getZoom()<13){x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));u.push(x),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});z.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=0,n=[];k.forEach((function(t){-1==n.indexOf(t.z+"|"+t.x+"|"+t.y)&&t.z==e&&n.push(t.z+"|"+t.x+"|"+t.y)})),o.forEach((o=>{parseInt(o.substring(0,o.indexOf("|")))==e&&t++})),n.length==t?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(z)}},a.NDVI_RemoveOverlay=function(){l.overlayMapTypes.clear()},a.NDVI_DrawLocation=function(e,t,o,n,i,s){var r=e[0],a=null,c=!1;if(r&&r.Poly&&r.Poly.length>0&&r.Id>0){var g=[],d=new google.maps.LatLngBounds;r.Poly.forEach((function(e,t){var o=[];e.forEach((function(e){o.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),0==t&&d.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),g.push(o)})),a=new google.maps.Polygon({map:l,paths:g,fillColor:"transparent"});var m=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!c){var e=l.getProjection().fromLatLngToPoint(d.getSouthWest()),i=l.getProjection().fromLatLngToPoint(d.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),Q(d.getCenter(),t,o),c=!c}}));if(u.push(m),l.fitBounds(d),i){var f=google.maps.event.addListener(a,"mouseover",(function(e){D(e,a.content)})),v=google.maps.event.addListener(a,"mousemove",(function(e){U(e)})),I=google.maps.event.addListener(a,"mouseout",(function(e){W()}));p.push(f),p.push(v),p.push(I)}if(s){var C=google.maps.event.addListener(a,"click",(function(e){h.PolygonOnClick({id:this.id,lat:e.latLng.lat(),lng:e.latLng.lng()})}));p.push(C)}L.push(a)}l.getZoom()>=13?y.forEach((function(e){e.setMap(l)})):y.forEach((function(e){e.setMap(null)}));var b=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))}));u.push(b)},a.NLC_AddOverlay=function(e,t,o,n,i,s){if(t&&Q(new google.maps.LatLng(o,n),i,s),l.getZoom()>14){var r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));u.push(r),l.setZoom(14)}else if(l.getZoom()<5){r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));u.push(r),l.setZoom(5)}else{var a=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(a)}},a.NLC_RemoveOverlay=function(){l.overlayMapTypes.clear()}}}var oo={width:"100%",height:"100%"},no={lat:-25.7652061,lng:28.2710333},io=["places","marker","geometry"],so={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},ro=o((function(e){var t=e.gmAPIkey,o=e.jpMap,a=i(null),l=a[0],c=a[1],g=function(e){var t=e.mapInstance,o=n(null);return s((function(){if(t){var e=new to(t);return o.current=e,function(){o.current&&o.current.map_clear()}}}),[t]),{mapManager:o.current}}({mapInstance:l}).mapManager,p=function(e){var t=e.id,o=void 0===t?q.id:t,a=e.version,l=void 0===a?q.version:a,c=e.nonce,g=e.googleMapsApiKey,p=e.language,d=e.region,u=e.libraries,h=void 0===u?ie:u,m=e.preventGoogleFontsLoading,f=e.mapIds,v=e.authReferrerPolicy,y=n(!1),L=i(!1),I=L[0],C=L[1],b=i(void 0),w=b[0],k=b[1];s((function(){return y.current=!0,function(){y.current=!1}}),[]);var M=r((function(){return new ne({id:o,apiKey:g,version:l,libraries:h,language:p||"en",region:d||"US",mapIds:f||[],nonce:c||"",authReferrerPolicy:v||"origin"})}),[o,g,l,h,p,d,f,c,v]);s((function(){I||M.load().then((function(){y.current&&C(!0)})).catch((function(e){k(e)}))}),[]),s((function(){N&&m&&$()}),[m]);var x=n();return s((function(){x.current&&h!==x.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),x.current=h}),[h]),{isLoaded:I,loadError:w}}({id:"google-map-script",googleMapsApiKey:t,libraries:io}).isLoaded,d=u((function(e){c(e)}),[]);s((function(){null!==l&&o({isMapInitialized:!0,mapObject:l,mapManager:g})}),[l,o]);var h=u((function(e){c(null)}),[]);return p?k.jsx(j,{mapContainerStyle:oo,center:no,zoom:5,options:so,onLoad:d,onUnmount:h,children:k.jsx(k.Fragment,{})}):k.jsx(k.Fragment,{})}));export{ro as default};
|
|
54
54
|
//# sourceMappingURL=index.mjs.map
|