mapping-component-package-jp 0.0.56 → 0.0.57
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.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -3
- package/src/components/JPMapComponentNew.tsx +92 -0
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/function p(){return l||(l=1,"production"!==process.env.NODE_ENV&&function(){var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),f=Symbol.iterator;var v=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];!function(e,t,o){var n=v.ReactDebugCurrentFrame,i=n.getStackAddendum();""!==i&&(t+="%s",o=o.concat([i]));var s=o.map((function(e){return String(e)}));s.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,s)}("error",e,o)}var L;function C(e){return e.displayName||"Context"}function I(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case i:return"Fragment";case n:return"Portal";case r:return"Profiler";case s:return"StrictMode";case p:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return C(e)+".Consumer";case a:return C(e._context)+".Provider";case c:return function(e,t,o){var n=e.displayName;if(n)return n;var i=t.displayName||t.name||"";return""!==i?o+"("+i+")":o}(e,e.render,"ForwardRef");case d:var t=e.displayName||null;return null!==t?t:I(e.type)||"Memo";case h:var o=e,g=o._payload,m=o._init;try{return I(m(g))}catch(e){return null}}return null}L=Symbol.for("react.module.reference");var b,w,k,M,x,z,P,E=Object.assign,S=0;function O(){}O.__reactDisabledLog=!0;var _,T=v.ReactCurrentDispatcher;function B(e,t,o){if(void 0===_)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);_=n&&n[1]||""}return"\n"+_+e}var R,D=!1,A="function"==typeof WeakMap?WeakMap:Map;function U(e,t){if(!e||D)return"";var o,n=R.get(e);if(void 0!==n)return n;D=!0;var i,s=Error.prepareStackTrace;Error.prepareStackTrace=void 0,i=T.current,T.current=null,function(){if(0===S){b=console.log,w=console.info,k=console.warn,M=console.error,x=console.group,z=console.groupCollapsed,P=console.groupEnd;var e={configurable:!0,enumerable:!0,value:O,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}S++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){o=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){o=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){o=e}e()}}catch(t){if(t&&o&&"string"==typeof t.stack){for(var a=t.stack.split("\n"),l=o.stack.split("\n"),c=a.length-1,g=l.length-1;c>=1&&g>=0&&a[c]!==l[g];)g--;for(;c>=1&&g>=0;c--,g--)if(a[c]!==l[g]){if(1!==c||1!==g)do{if(c--,--g<0||a[c]!==l[g]){var p="\n"+a[c].replace(" at new "," at ");return e.displayName&&p.includes("<anonymous>")&&(p=p.replace("<anonymous>",e.displayName)),"function"==typeof e&&R.set(e,p),p}}while(c>=1&&g>=0);break}}}finally{D=!1,T.current=i,function(){if(0==--S){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:b}),info:E({},e,{value:w}),warn:E({},e,{value:k}),error:E({},e,{value:M}),group:E({},e,{value:x}),groupCollapsed:E({},e,{value:z}),groupEnd:E({},e,{value:P})})}S<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=s}var u=e?e.displayName||e.name:"",d=u?B(u):"";return"function"==typeof e&&R.set(e,d),d}function Z(e,t,o){if(null==e)return"";if("function"==typeof e)return U(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return B(e);switch(e){case p:return B("Suspense");case u:return B("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return U(e.render,!1);case d:return Z(e.type,t,o);case h:var i=e,s=i._payload,r=i._init;try{return Z(r(s),t,o)}catch(e){}}return""}R=new A;var W=Object.prototype.hasOwnProperty,j={},F=v.ReactDebugCurrentFrame;function N(e){if(e){var t=e._owner,o=Z(e.type,e._source,t?t.type:null);F.setExtraStackFrame(o)}else F.setExtraStackFrame(null)}var V=Array.isArray;function H(e){return V(e)}function $(e){return""+e}function G(e){if(function(e){try{return $(e),!1}catch(e){return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),$(e)}var Y,K,J,q=v.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};J={};function Q(e,t,n,i,s){var r,a={},l=null,c=null;for(r in void 0!==n&&(G(n),l=""+n),function(e){if(W.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(G(t.key),l=""+t.key),function(e){if(W.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&q.current&&t&&q.current.stateNode!==t){var o=I(q.current.type);J[o]||(y('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',I(q.current.type),e.ref),J[o]=!0)}}(t,s)),t)W.call(t,r)&&!X.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps){var g=e.defaultProps;for(r in g)void 0===a[r]&&(a[r]=g[r])}if(l||c){var p="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var o=function(){Y||(Y=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}(a,p),c&&function(e,t){var o=function(){K||(K=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}(a,p)}return function(e,t,n,i,s,r,a){var l={$$typeof:o,type:e,key:t,ref:n,props:a,_owner:r,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,s,i,q.current,a)}var ee,te=v.ReactCurrentOwner,oe=v.ReactDebugCurrentFrame;function ne(e){if(e){var t=e._owner,o=Z(e.type,e._source,t?t.type:null);oe.setExtraStackFrame(o)}else oe.setExtraStackFrame(null)}function ie(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}function se(){if(te.current){var e=I(te.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ee=!1;var re={};function ae(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=function(e){var t=se();if(!t){var o="string"==typeof e?e:e.displayName||e.name;o&&(t="\n\nCheck the top-level render call using <"+o+">.")}return t}(t);if(!re[o]){re[o]=!0;var n="";e&&e._owner&&e._owner!==te.current&&(n=" It was passed a child from "+I(e._owner.type)+"."),ne(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,n),ne(null)}}}function le(e,t){if("object"==typeof e)if(H(e))for(var o=0;o<e.length;o++){var n=e[o];ie(n)&&ae(n,t)}else if(ie(e))e._store&&(e._store.validated=!0);else if(e){var i=function(e){if(null===e||"object"!=typeof e)return null;var t=f&&e[f]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof i&&i!==e.entries)for(var s,r=i.call(e);!(s=r.next()).done;)ie(s.value)&&ae(s.value,t)}}function ce(e){var t,o=e.type;if(null!=o&&"string"!=typeof o){if("function"==typeof o)t=o.propTypes;else{if("object"!=typeof o||o.$$typeof!==c&&o.$$typeof!==d)return;t=o.propTypes}if(t){var n=I(o);!function(e,t,o,n,i){var s=Function.call.bind(W);for(var r in e)if(s(e,r)){var a=void 0;try{if("function"!=typeof e[r]){var l=Error((n||"React class")+": "+o+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}a=e[r](t,r,n,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}!a||a instanceof Error||(N(i),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",o,r,typeof a),N(null)),a instanceof Error&&!(a.message in j)&&(j[a.message]=!0,N(i),y("Failed %s type: %s",o,a.message),N(null))}}(t,e.props,"prop",n,e)}else if(void 0!==o.PropTypes&&!ee){ee=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I(o)||"Unknown")}"function"!=typeof o.getDefaultProps||o.getDefaultProps.isReactClassApproved||y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ge={};function pe(e,t,n,g,f,v){var C=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===r||e===s||e===p||e===u||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===d||e.$$typeof===a||e.$$typeof===l||e.$$typeof===c||e.$$typeof===L||void 0!==e.getModuleId)}(e);if(!C){var b="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(b+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;b+=se(),null===e?w="null":H(e)?w="array":void 0!==e&&e.$$typeof===o?(w="<"+(I(e.type)||"Unknown")+" />",b=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,b)}var k=Q(e,t,n,f,v);if(null==k)return k;if(C){var M=t.children;if(void 0!==M)if(g)if(H(M)){for(var x=0;x<M.length;x++)le(M[x],e);Object.freeze&&Object.freeze(M)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else le(M,e)}if(W.call(t,"key")){var z=I(e),P=Object.keys(t).filter((function(e){return"key"!==e})),E=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!ge[z+E])y('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',E,z,P.length>0?"{"+P.join(": ..., ")+": ...}":"{}",z),ge[z+E]=!0}return e===i?function(e){for(var t=Object.keys(e.props),o=0;o<t.length;o++){var n=t[o];if("children"!==n&&"key"!==n){ne(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),ne(null);break}}null!==e.ref&&(ne(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),ne(null))}(k):ce(k),k}var ue=function(e,t,o){return pe(e,t,o,!1)},de=function(e,t,o){return pe(e,t,o,!0)};g.Fragment=i,g.jsx=ue,g.jsxs=de}()),g}var u=(c||(c=1,"production"===process.env.NODE_ENV?r.exports=function(){if(s)return a;s=1;var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var s,a={},c=null,g=null;for(s in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(g=t.ref),t)i.call(t,s)&&!l.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps)void 0===a[s]&&(a[s]=t[s]);return{$$typeof:o,type:e,key:c,ref:g,props:a,_owner:r.current}}return a.Fragment=n,a.jsx=c,a.jsxs=c,a}():r.exports=p()),r.exports),d=function(e,t){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},d(e,t)};
|
|
10
|
+
*/function p(){return l||(l=1,"production"!==process.env.NODE_ENV&&function(){var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),f=Symbol.iterator;var v=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];!function(e,t,o){var n=v.ReactDebugCurrentFrame,i=n.getStackAddendum();""!==i&&(t+="%s",o=o.concat([i]));var s=o.map((function(e){return String(e)}));s.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,s)}("error",e,o)}var L;function C(e){return e.displayName||"Context"}function I(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case i:return"Fragment";case n:return"Portal";case r:return"Profiler";case s:return"StrictMode";case p:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return C(e)+".Consumer";case a:return C(e._context)+".Provider";case c:return function(e,t,o){var n=e.displayName;if(n)return n;var i=t.displayName||t.name||"";return""!==i?o+"("+i+")":o}(e,e.render,"ForwardRef");case d:var t=e.displayName||null;return null!==t?t:I(e.type)||"Memo";case h:var o=e,g=o._payload,m=o._init;try{return I(m(g))}catch(e){return null}}return null}L=Symbol.for("react.module.reference");var b,w,k,M,x,z,P,E=Object.assign,S=0;function O(){}O.__reactDisabledLog=!0;var _,T=v.ReactCurrentDispatcher;function B(e,t,o){if(void 0===_)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);_=n&&n[1]||""}return"\n"+_+e}var R,D=!1,A="function"==typeof WeakMap?WeakMap:Map;function U(e,t){if(!e||D)return"";var o,n=R.get(e);if(void 0!==n)return n;D=!0;var i,s=Error.prepareStackTrace;Error.prepareStackTrace=void 0,i=T.current,T.current=null,function(){if(0===S){b=console.log,w=console.info,k=console.warn,M=console.error,x=console.group,z=console.groupCollapsed,P=console.groupEnd;var e={configurable:!0,enumerable:!0,value:O,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}S++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){o=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){o=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){o=e}e()}}catch(t){if(t&&o&&"string"==typeof t.stack){for(var a=t.stack.split("\n"),l=o.stack.split("\n"),c=a.length-1,g=l.length-1;c>=1&&g>=0&&a[c]!==l[g];)g--;for(;c>=1&&g>=0;c--,g--)if(a[c]!==l[g]){if(1!==c||1!==g)do{if(c--,--g<0||a[c]!==l[g]){var p="\n"+a[c].replace(" at new "," at ");return e.displayName&&p.includes("<anonymous>")&&(p=p.replace("<anonymous>",e.displayName)),"function"==typeof e&&R.set(e,p),p}}while(c>=1&&g>=0);break}}}finally{D=!1,T.current=i,function(){if(0==--S){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:b}),info:E({},e,{value:w}),warn:E({},e,{value:k}),error:E({},e,{value:M}),group:E({},e,{value:x}),groupCollapsed:E({},e,{value:z}),groupEnd:E({},e,{value:P})})}S<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=s}var u=e?e.displayName||e.name:"",d=u?B(u):"";return"function"==typeof e&&R.set(e,d),d}function Z(e,t,o){if(null==e)return"";if("function"==typeof e)return U(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return B(e);switch(e){case p:return B("Suspense");case u:return B("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return U(e.render,!1);case d:return Z(e.type,t,o);case h:var i=e,s=i._payload,r=i._init;try{return Z(r(s),t,o)}catch(e){}}return""}R=new A;var W=Object.prototype.hasOwnProperty,j={},F=v.ReactDebugCurrentFrame;function N(e){if(e){var t=e._owner,o=Z(e.type,e._source,t?t.type:null);F.setExtraStackFrame(o)}else F.setExtraStackFrame(null)}var V=Array.isArray;function H(e){return V(e)}function $(e){return""+e}function G(e){if(function(e){try{return $(e),!1}catch(e){return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),$(e)}var Y,K,J=v.ReactCurrentOwner,q={key:!0,ref:!0,__self:!0,__source:!0};function X(e,t,n,i,s){var r,a={},l=null,c=null;for(r in void 0!==n&&(G(n),l=""+n),function(e){if(W.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(G(t.key),l=""+t.key),function(e){if(W.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e){"string"==typeof e.ref&&J.current}(t)),t)W.call(t,r)&&!q.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps){var g=e.defaultProps;for(r in g)void 0===a[r]&&(a[r]=g[r])}if(l||c){var p="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var o=function(){Y||(Y=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}(a,p),c&&function(e,t){var o=function(){K||(K=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}(a,p)}return function(e,t,n,i,s,r,a){var l={$$typeof:o,type:e,key:t,ref:n,props:a,_owner:r,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,s,i,J.current,a)}var Q,ee=v.ReactCurrentOwner,te=v.ReactDebugCurrentFrame;function oe(e){if(e){var t=e._owner,o=Z(e.type,e._source,t?t.type:null);te.setExtraStackFrame(o)}else te.setExtraStackFrame(null)}function ne(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}function ie(){if(ee.current){var e=I(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Q=!1;var se={};function re(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=function(e){var t=ie();if(!t){var o="string"==typeof e?e:e.displayName||e.name;o&&(t="\n\nCheck the top-level render call using <"+o+">.")}return t}(t);if(!se[o]){se[o]=!0;var n="";e&&e._owner&&e._owner!==ee.current&&(n=" It was passed a child from "+I(e._owner.type)+"."),oe(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,n),oe(null)}}}function ae(e,t){if("object"==typeof e)if(H(e))for(var o=0;o<e.length;o++){var n=e[o];ne(n)&&re(n,t)}else if(ne(e))e._store&&(e._store.validated=!0);else if(e){var i=function(e){if(null===e||"object"!=typeof e)return null;var t=f&&e[f]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof i&&i!==e.entries)for(var s,r=i.call(e);!(s=r.next()).done;)ne(s.value)&&re(s.value,t)}}function le(e){var t,o=e.type;if(null!=o&&"string"!=typeof o){if("function"==typeof o)t=o.propTypes;else{if("object"!=typeof o||o.$$typeof!==c&&o.$$typeof!==d)return;t=o.propTypes}if(t){var n=I(o);!function(e,t,o,n,i){var s=Function.call.bind(W);for(var r in e)if(s(e,r)){var a=void 0;try{if("function"!=typeof e[r]){var l=Error((n||"React class")+": "+o+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}a=e[r](t,r,n,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}!a||a instanceof Error||(N(i),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",o,r,typeof a),N(null)),a instanceof Error&&!(a.message in j)&&(j[a.message]=!0,N(i),y("Failed %s type: %s",o,a.message),N(null))}}(t,e.props,"prop",n,e)}else if(void 0!==o.PropTypes&&!Q){Q=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I(o)||"Unknown")}"function"!=typeof o.getDefaultProps||o.getDefaultProps.isReactClassApproved||y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ce={};function ge(e,t,n,g,f,v){var C=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===r||e===s||e===p||e===u||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===d||e.$$typeof===a||e.$$typeof===l||e.$$typeof===c||e.$$typeof===L||void 0!==e.getModuleId)}(e);if(!C){var b="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(b+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;b+=ie(),null===e?w="null":H(e)?w="array":void 0!==e&&e.$$typeof===o?(w="<"+(I(e.type)||"Unknown")+" />",b=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,b)}var k=X(e,t,n,f,v);if(null==k)return k;if(C){var M=t.children;if(void 0!==M)if(g)if(H(M)){for(var x=0;x<M.length;x++)ae(M[x],e);Object.freeze&&Object.freeze(M)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ae(M,e)}if(W.call(t,"key")){var z=I(e),P=Object.keys(t).filter((function(e){return"key"!==e})),E=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!ce[z+E])y('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',E,z,P.length>0?"{"+P.join(": ..., ")+": ...}":"{}",z),ce[z+E]=!0}return e===i?function(e){for(var t=Object.keys(e.props),o=0;o<t.length;o++){var n=t[o];if("children"!==n&&"key"!==n){oe(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),oe(null);break}}null!==e.ref&&(oe(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),oe(null))}(k):le(k),k}var pe=function(e,t,o){return ge(e,t,o,!1)},ue=function(e,t,o){return ge(e,t,o,!0)};g.Fragment=i,g.jsx=pe,g.jsxs=ue}()),g}var u=(c||(c=1,"production"===process.env.NODE_ENV?r.exports=function(){if(s)return a;s=1;var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var s,a={},c=null,g=null;for(s in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(g=t.ref),t)i.call(t,s)&&!l.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps)void 0===a[s]&&(a[s]=t[s]);return{$$typeof:o,type:e,key:c,ref:g,props:a,_owner:r.current}}return a.Fragment=n,a.jsx=c,a.jsxs=c,a}():r.exports=p()),r.exports),d=function(e,t){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},d(e,t)};
|
|
11
11
|
/*! *****************************************************************************
|
|
12
12
|
Copyright (c) Microsoft Corporation.
|
|
13
13
|
|
|
@@ -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 Oe{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 _e{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(Oe.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((e=>Oe.getVisible(e))).length}push(e){this.markers.push(e)}delete(){this.marker&&(Oe.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Te{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Be(e)}}const Be=e=>e.map((e=>new _e({position:Oe.getPosition(e),markers:[e]})));class Re extends Te{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 Me(Object.assign({maxZoom:this.maxZoom,radius:o},n))}calculate(e){let t=!1;const o={zoom:e.map.getZoom()};if(!he(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const o=this.markers.map((e=>{const t=Oe.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=!he(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 _e({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 _e({markers:[n],position:Oe.getPosition(n)})}}class De{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 Ae{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(Oe.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 Ue{constructor(){!function(e,t){for(let o in t.prototype)e.prototype[o]=t.prototype[o]}(Ue,google.maps.OverlayView)}}var Ze;!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(Ze||(Ze={}));const We=(e,t,o)=>{o.fitBounds(t.bounds)};class je extends Ue{constructor({map:e,markers:t=[],algorithmOptions:o={},algorithm:n=new Re(o),renderer:i=new Ae,onClusterClick:s=We}){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&&(Oe.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,Ze.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)||Oe.setMap(t.marker,null):o.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame((()=>o.forEach((e=>Oe.setMap(e,null)))))}google.maps.event.trigger(this,Ze.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=>Oe.setMap(e,null))),this.clusters.forEach((e=>e.delete())),this.clusters=[]}renderClusters(){const e=new De(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=>Oe.setMap(e,null))),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,Ze.CLUSTER_CLICK,o),this.onClusterClick(e,o,t)}))),Oe.setMap(o.marker,t)}))}}function Fe(t){var o=function(){I(!!e.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=e.useContext(b);return I(!!t,"useGoogleMap needs a GoogleMap available up in the tree"),t}(),n=e.useState(null),i=n[0],s=n[1];return e.useEffect((function(){if(o&&null===i){var e=new je(m(m({},t),{map:o}));s(e)}}),[o]),i}e.memo((function(e){var t=e.children,o=Fe(e.options);return null!==o?t(o):null}));var Ne={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Ve={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}};e.memo((function(o){var n=o.children,i=o.anchor,s=o.options,r=o.position,a=o.zIndex,l=o.onCloseClick,c=o.onDomReady,g=o.onContentChanged,p=o.onPositionChanged,u=o.onZindexChanged,d=o.onLoad,h=o.onUnmount,f=e.useContext(b),v=e.useState(null),y=v[0],L=v[1],C=e.useState(null),w=C[0],k=C[1],M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useRef(null);return e.useEffect((function(){null!==y&&(y.close(),i?y.open(f,i):y.getPosition()&&y.open(f))}),[f,y,i]),e.useEffect((function(){s&&null!==y&&y.setOptions(s)}),[y,s]),e.useEffect((function(){r&&null!==y&&y.setPosition(r)}),[r]),e.useEffect((function(){"number"==typeof a&&null!==y&&y.setZIndex(a)}),[a]),e.useEffect((function(){y&&l&&(null!==w&&google.maps.event.removeListener(w),k(google.maps.event.addListener(y,"closeclick",l)))}),[l]),e.useEffect((function(){y&&c&&(null!==x&&google.maps.event.removeListener(x),z(google.maps.event.addListener(y,"domready",c)))}),[c]),e.useEffect((function(){y&&g&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(y,"content_changed",g)))}),[g]),e.useEffect((function(){y&&p&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(y,"position_changed",p)))}),[p]),e.useEffect((function(){y&&u&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(y,"zindex_changed",u)))}),[u]),e.useEffect((function(){var e=new google.maps.InfoWindow(m({},s||{}));return L(e),A.current=document.createElement("div"),l&&k(google.maps.event.addListener(e,"closeclick",l)),c&&z(google.maps.event.addListener(e,"domready",c)),g&&S(google.maps.event.addListener(e,"content_changed",g)),p&&T(google.maps.event.addListener(e,"position_changed",p)),u&&D(google.maps.event.addListener(e,"zindex_changed",u)),e.setContent(A.current),r&&e.setPosition(r),a&&e.setZIndex(a),i?e.open(f,i):e.getPosition()?e.open(f):I(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),d&&d(e),function(){w&&google.maps.event.removeListener(w),E&&google.maps.event.removeListener(E),x&&google.maps.event.removeListener(x),_&&google.maps.event.removeListener(_),R&&google.maps.event.removeListener(R),h&&h(e),e.close()}}),[]),A.current?t.createPortal(e.Children.only(n),A.current):null})),function(o){function n(){var e=null!==o&&o.apply(this,arguments)||this;return e.registeredEvents=[],e.containerElement=null,e.state={infoWindow:null},e.open=function(t,o){o?t.open(e.context,o):t.getPosition()?t.open(e.context):I(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")},e.setInfoWindowCallback=function(){null!==e.state.infoWindow&&null!==e.containerElement&&(e.state.infoWindow.setContent(e.containerElement),e.open(e.state.infoWindow,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoWindow))},e}h(n,o),n.prototype.componentDidMount=function(){var e=new google.maps.InfoWindow(m({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=z({updaterMap:Ve,eventMap:Ne,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},n.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ve,eventMap:Ne,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},n.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(x(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},n.prototype.render=function(){return this.containerElement?t.createPortal(e.Children.only(this.props.children),this.containerElement):null},n.contextType=b}(e.PureComponent);var He={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},$e={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)}},Ge={};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onLoad,C=t.onUnmount,I=e.useContext(b),w=e.useState(null),k=w[0],M=w[1],x=e.useState(null),z=x[0],P=x[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),Z=U[0],W=U[1],j=e.useState(null),F=j[0],N=j[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],K=G[1],J=e.useState(null),q=J[0],X=J[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1];return e.useEffect((function(){null!==k&&k.setMap(I)}),[I]),e.useEffect((function(){void 0!==o&&null!==k&&k.setOptions(o)}),[k,o]),e.useEffect((function(){void 0!==n&&null!==k&&k.setDraggable(n)}),[k,n]),e.useEffect((function(){void 0!==i&&null!==k&&k.setEditable(i)}),[k,i]),e.useEffect((function(){void 0!==s&&null!==k&&k.setVisible(s)}),[k,s]),e.useEffect((function(){void 0!==r&&null!==k&&k.setPath(r)}),[k,r]),e.useEffect((function(){k&&a&&(null!==z&&google.maps.event.removeListener(z),P(google.maps.event.addListener(k,"dblclick",a)))}),[a]),e.useEffect((function(){k&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(k,"dragend",l)))}),[l]),e.useEffect((function(){k&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(k,"dragstart",c)))}),[c]),e.useEffect((function(){k&&g&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(k,"mousedown",g)))}),[g]),e.useEffect((function(){k&&p&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(k,"mousemove",p)))}),[p]),e.useEffect((function(){k&&u&&(null!==F&&google.maps.event.removeListener(F),N(google.maps.event.addListener(k,"mouseout",u)))}),[u]),e.useEffect((function(){k&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(k,"mouseover",d)))}),[d]),e.useEffect((function(){k&&h&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(k,"mouseup",h)))}),[h]),e.useEffect((function(){k&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(k,"rightclick",f)))}),[f]),e.useEffect((function(){k&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(k,"click",v)))}),[v]),e.useEffect((function(){k&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(k,"drag",y)))}),[y]),e.useEffect((function(){var e=new google.maps.Polyline(m(m({},o||Ge),{map:I}));return r&&e.setPath(r),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),a&&P(google.maps.event.addListener(e,"dblclick",a)),l&&O(google.maps.event.addListener(e,"dragend",l)),c&&B(google.maps.event.addListener(e,"dragstart",c)),g&&A(google.maps.event.addListener(e,"mousedown",g)),p&&W(google.maps.event.addListener(e,"mousemove",p)),u&&N(google.maps.event.addListener(e,"mouseout",u)),d&&$(google.maps.event.addListener(e,"mouseover",d)),h&&K(google.maps.event.addListener(e,"mouseup",h)),f&&X(google.maps.event.addListener(e,"rightclick",f)),v&&te(google.maps.event.addListener(e,"click",v)),y&&ie(google.maps.event.addListener(e,"drag",y)),M(e),L&&L(e),function(){null!==z&&google.maps.event.removeListener(z),null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==F&&google.maps.event.removeListener(F),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),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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polyline(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:$e,eventMap:He,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polyline&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:$e,eventMap:He,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),x(this.registeredEvents),this.state.polyline.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Ye={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Ke={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)}};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.paths,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,C=t.onLoad,I=t.onUnmount,w=t.onEdit,k=e.useContext(b),M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useState(null),U=A[0],Z=A[1],W=e.useState(null),j=W[0],F=W[1],N=e.useState(null),V=N[0],H=N[1],$=e.useState(null),G=$[0],Y=$[1],K=e.useState(null),J=K[0],q=K[1],X=e.useState(null),Q=X[0],ee=X[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1];return e.useEffect((function(){null!==x&&x.setMap(k)}),[k]),e.useEffect((function(){void 0!==o&&null!==x&&x.setOptions(o)}),[x,o]),e.useEffect((function(){void 0!==n&&null!==x&&x.setDraggable(n)}),[x,n]),e.useEffect((function(){void 0!==i&&null!==x&&x.setEditable(i)}),[x,i]),e.useEffect((function(){void 0!==s&&null!==x&&x.setVisible(s)}),[x,s]),e.useEffect((function(){void 0!==r&&null!==x&&x.setPath(r)}),[x,r]),e.useEffect((function(){void 0!==a&&null!==x&&x.setPaths(a)}),[x,a]),e.useEffect((function(){x&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(x,"dblclick",l)))}),[l]),e.useEffect((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]),e.useEffect((function(){x&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(x,"dragend",c)))}),[c]),e.useEffect((function(){x&&g&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(x,"dragstart",g)))}),[g]),e.useEffect((function(){x&&p&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(x,"mousedown",p)))}),[p]),e.useEffect((function(){x&&u&&(null!==j&&google.maps.event.removeListener(j),F(google.maps.event.addListener(x,"mousemove",u)))}),[u]),e.useEffect((function(){x&&d&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(x,"mouseout",d)))}),[d]),e.useEffect((function(){x&&h&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(x,"mouseover",h)))}),[h]),e.useEffect((function(){x&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(x,"mouseup",f)))}),[f]),e.useEffect((function(){x&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(x,"rightclick",v)))}),[v]),e.useEffect((function(){x&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(x,"click",y)))}),[y]),e.useEffect((function(){x&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(x,"drag",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Polygon(m(m({},o||{}),{map:k}));return r&&e.setPath(r),a&&e.setPaths(a),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),l&&S(google.maps.event.addListener(e,"dblclick",l)),c&&T(google.maps.event.addListener(e,"dragend",c)),g&&D(google.maps.event.addListener(e,"dragstart",g)),p&&Z(google.maps.event.addListener(e,"mousedown",p)),u&&F(google.maps.event.addListener(e,"mousemove",u)),d&&H(google.maps.event.addListener(e,"mouseout",d)),h&&Y(google.maps.event.addListener(e,"mouseover",h)),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)),z(e),C&&C(e),function(){null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==j&&google.maps.event.removeListener(j),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),I&&I(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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polygon(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Ke,eventMap:Ye,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polygon&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ke,eventMap:Ye,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),x(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Je={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"},qe={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)}};e.memo((function(t){var o=t.options,n=t.bounds,i=t.draggable,s=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onBoundsChanged,C=t.onLoad,I=t.onUnmount,w=e.useContext(b),k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],R=T[1],D=e.useState(null),A=D[0],U=D[1],Z=e.useState(null),W=Z[0],j=Z[1],F=e.useState(null),N=F[0],V=F[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==M&&M.setMap(w)}),[w]),e.useEffect((function(){void 0!==o&&null!==M&&M.setOptions(o)}),[M,o]),e.useEffect((function(){void 0!==i&&null!==M&&M.setDraggable(i)}),[M,i]),e.useEffect((function(){void 0!==s&&null!==M&&M.setEditable(s)}),[M,s]),e.useEffect((function(){void 0!==r&&null!==M&&M.setVisible(r)}),[M,r]),e.useEffect((function(){void 0!==n&&null!==M&&M.setBounds(n)}),[M,n]),e.useEffect((function(){M&&a&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(M,"dblclick",a)))}),[a]),e.useEffect((function(){M&&l&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(M,"dragend",l)))}),[l]),e.useEffect((function(){M&&c&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(M,"dragstart",c)))}),[c]),e.useEffect((function(){M&&g&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(M,"mousedown",g)))}),[g]),e.useEffect((function(){M&&p&&(null!==W&&google.maps.event.removeListener(W),j(google.maps.event.addListener(M,"mousemove",p)))}),[p]),e.useEffect((function(){M&&u&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(M,"mouseout",u)))}),[u]),e.useEffect((function(){M&&d&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(M,"mouseover",d)))}),[d]),e.useEffect((function(){M&&h&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(M,"mouseup",h)))}),[h]),e.useEffect((function(){M&&f&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(M,"rightclick",f)))}),[f]),e.useEffect((function(){M&&v&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(M,"click",v)))}),[v]),e.useEffect((function(){M&&y&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(M,"drag",y)))}),[y]),e.useEffect((function(){M&&L&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(M,"bounds_changed",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Rectangle(m(m({},o||{}),{map:w}));return void 0!==r&&e.setVisible(r),void 0!==s&&e.setEditable(s),void 0!==i&&e.setDraggable(i),void 0!==n&&e.setBounds(n),a&&E(google.maps.event.addListener(e,"dblclick",a)),l&&_(google.maps.event.addListener(e,"dragend",l)),c&&R(google.maps.event.addListener(e,"dragstart",c)),g&&U(google.maps.event.addListener(e,"mousedown",g)),p&&j(google.maps.event.addListener(e,"mousemove",p)),u&&V(google.maps.event.addListener(e,"mouseout",u)),d&&G(google.maps.event.addListener(e,"mouseover",d)),h&&J(google.maps.event.addListener(e,"mouseup",h)),f&&Q(google.maps.event.addListener(e,"rightclick",f)),v&&oe(google.maps.event.addListener(e,"click",v)),y&&se(google.maps.event.addListener(e,"drag",y)),L&&le(google.maps.event.addListener(e,"bounds_changed",L)),x(e),C&&C(e),function(){null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),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),null!==ae&&google.maps.event.removeListener(ae),I&&I(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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Rectangle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:qe,eventMap:Je,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:qe,eventMap:Je,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),x(this.registeredEvents),this.state.rectangle.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Xe={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"},Qe={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)}},et={};e.memo((function(t){var o=t.options,n=t.center,i=t.radius,s=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,C=t.onCenterChanged,I=t.onRadiusChanged,w=t.onLoad,k=t.onUnmount,M=e.useContext(b),x=e.useState(null),z=x[0],P=x[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),Z=U[0],W=U[1],j=e.useState(null),F=j[0],N=j[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],K=G[1],J=e.useState(null),q=J[0],X=J[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1],se=e.useState(null),re=se[0],ae=se[1],le=e.useState(null),ce=le[0],ge=le[1],pe=e.useState(null),ue=pe[0],de=pe[1];return e.useEffect((function(){null!==z&&z.setMap(M)}),[M]),e.useEffect((function(){void 0!==o&&null!==z&&z.setOptions(o)}),[z,o]),e.useEffect((function(){void 0!==s&&null!==z&&z.setDraggable(s)}),[z,s]),e.useEffect((function(){void 0!==r&&null!==z&&z.setEditable(r)}),[z,r]),e.useEffect((function(){void 0!==a&&null!==z&&z.setVisible(a)}),[z,a]),e.useEffect((function(){"number"==typeof i&&null!==z&&z.setRadius(i)}),[z,i]),e.useEffect((function(){void 0!==n&&null!==z&&z.setCenter(n)}),[z,n]),e.useEffect((function(){z&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(z,"dblclick",l)))}),[l]),e.useEffect((function(){z&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(z,"dragend",c)))}),[c]),e.useEffect((function(){z&&g&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(z,"dragstart",g)))}),[g]),e.useEffect((function(){z&&p&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(z,"mousedown",p)))}),[p]),e.useEffect((function(){z&&u&&(null!==F&&google.maps.event.removeListener(F),N(google.maps.event.addListener(z,"mousemove",u)))}),[u]),e.useEffect((function(){z&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(z,"mouseout",d)))}),[d]),e.useEffect((function(){z&&h&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(z,"mouseover",h)))}),[h]),e.useEffect((function(){z&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(z,"mouseup",f)))}),[f]),e.useEffect((function(){z&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(z,"rightclick",v)))}),[v]),e.useEffect((function(){z&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(z,"click",y)))}),[y]),e.useEffect((function(){z&&L&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(z,"drag",L)))}),[L]),e.useEffect((function(){z&&C&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(z,"center_changed",C)))}),[y]),e.useEffect((function(){z&&I&&(null!==ue&&google.maps.event.removeListener(ue),de(google.maps.event.addListener(z,"radius_changed",I)))}),[I]),e.useEffect((function(){var e=new google.maps.Circle(m(m({},o||et),{map:M}));return"number"==typeof i&&e.setRadius(i),void 0!==n&&e.setCenter(n),"number"==typeof i&&e.setRadius(i),void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==s&&e.setDraggable(s),l&&O(google.maps.event.addListener(e,"dblclick",l)),c&&B(google.maps.event.addListener(e,"dragend",c)),g&&A(google.maps.event.addListener(e,"dragstart",g)),p&&W(google.maps.event.addListener(e,"mousedown",p)),u&&N(google.maps.event.addListener(e,"mousemove",u)),d&&$(google.maps.event.addListener(e,"mouseout",d)),h&&K(google.maps.event.addListener(e,"mouseover",h)),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)),C&&ge(google.maps.event.addListener(e,"center_changed",C)),I&&de(google.maps.event.addListener(e,"radius_changed",I)),P(e),w&&w(e),function(){null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==F&&google.maps.event.removeListener(F),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!==ce&&google.maps.event.removeListener(ce),null!==ue&&google.maps.event.removeListener(ue),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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Circle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Qe,eventMap:Xe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.circle&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Qe,eventMap:Xe,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),x(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var tt={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ot={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)}};e.memo((function(t){var o=t.options,n=t.onClick,i=t.onDblClick,s=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,c=t.onMouseUp,g=t.onRightClick,p=t.onAddFeature,u=t.onRemoveFeature,d=t.onRemoveProperty,h=t.onSetGeometry,f=t.onSetProperty,v=t.onLoad,y=t.onUnmount,L=e.useContext(b),C=e.useState(null),I=C[0],w=C[1],k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],R=T[1],D=e.useState(null),A=D[0],U=D[1],Z=e.useState(null),W=Z[0],j=Z[1],F=e.useState(null),N=F[0],V=F[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==I&&I.setMap(L)}),[L]),e.useEffect((function(){I&&i&&(null!==M&&google.maps.event.removeListener(M),x(google.maps.event.addListener(I,"dblclick",i)))}),[i]),e.useEffect((function(){I&&s&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(I,"mousedown",s)))}),[s]),e.useEffect((function(){I&&r&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(I,"mousemove",r)))}),[r]),e.useEffect((function(){I&&a&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(I,"mouseout",a)))}),[a]),e.useEffect((function(){I&&l&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(I,"mouseover",l)))}),[l]),e.useEffect((function(){I&&c&&(null!==W&&google.maps.event.removeListener(W),j(google.maps.event.addListener(I,"mouseup",c)))}),[c]),e.useEffect((function(){I&&g&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(I,"rightclick",g)))}),[g]),e.useEffect((function(){I&&n&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(I,"click",n)))}),[n]),e.useEffect((function(){I&&p&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(I,"addfeature",p)))}),[p]),e.useEffect((function(){I&&u&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(I,"removefeature",u)))}),[u]),e.useEffect((function(){I&&d&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(I,"removeproperty",d)))}),[d]),e.useEffect((function(){I&&h&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(I,"setgeometry",h)))}),[h]),e.useEffect((function(){I&&f&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(I,"setproperty",f)))}),[f]),e.useEffect((function(){if(null!==L){var e=new google.maps.Data(m(m({},o||{}),{map:L}));i&&x(google.maps.event.addListener(e,"dblclick",i)),s&&E(google.maps.event.addListener(e,"mousedown",s)),r&&_(google.maps.event.addListener(e,"mousemove",r)),a&&R(google.maps.event.addListener(e,"mouseout",a)),l&&U(google.maps.event.addListener(e,"mouseover",l)),c&&j(google.maps.event.addListener(e,"mouseup",c)),g&&V(google.maps.event.addListener(e,"rightclick",g)),n&&G(google.maps.event.addListener(e,"click",n)),p&&J(google.maps.event.addListener(e,"addfeature",p)),u&&Q(google.maps.event.addListener(e,"removefeature",u)),d&&oe(google.maps.event.addListener(e,"removeproperty",d)),h&&se(google.maps.event.addListener(e,"setgeometry",h)),f&&le(google.maps.event.addListener(e,"setproperty",f)),w(e),v&&v(e)}return function(){I&&(null!==M&&google.maps.event.removeListener(M),null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),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),null!==ae&&google.maps.event.removeListener(ae),y&&y(I),I.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}h(t,e),t.prototype.componentDidMount=function(){if(null!==this.context){var e=new google.maps.Data(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:ot,eventMap:tt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)}},t.prototype.componentDidUpdate=function(e){null!==this.state.data&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:ot,eventMap:tt,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),x(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var nt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},it={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}};function st(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function rt(e,t){return new t(e.lat,e.lng)}function at(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 lt(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=at,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,rt));var i,s,r}function ct(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function gt(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 pt(){}!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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.KmlLayer(m(m({},this.props.options),{map:this.context}));this.registeredEvents=z({updaterMap:it,eventMap:nt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:it,eventMap:nt,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),x(this.registeredEvents),this.state.kmlLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.position,i=t.bounds,s=t.mapPaneName,r=t.zIndex,a=t.onLoad,l=t.onUnmount,c=t.getPixelPositionOffset,g=t.children,p=e.useContext(b),u=e.useMemo((function(){var e=document.createElement("div");return e.style.position="absolute",e}),[]),d=e.useMemo((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 h(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=lt(this.getProjection(),m({},this.container?st(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,s,o,i,c)}),[u,s,o,i]);return e.useEffect((function(){return null==a||a(d),null==d||d.setMap(p),function(){null==l||l(d),null==d||d.setMap(null)}}),[p,d]),e.useEffect((function(){u.style.zIndex="".concat(r)}),[r,u]),n.createPortal(g,u)})),function(t){function o(o){var n=t.call(this,o)||this;n.state={paneEl:null,containerStyle:{position:"absolute"}},n.updatePane=function(){var e=n.props.mapPaneName,t=n.overlayView.getPanes();I(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?n.setState({paneEl:t[e]}):n.setState({paneEl:null})},n.onAdd=function(){var e,t;n.updatePane(),null===(t=(e=n.props).onLoad)||void 0===t||t.call(e,n.overlayView)},n.onPositionElement=function(){var e,t,o=lt(n.overlayView.getProjection(),m({x:0,y:0},n.containerRef.current?st(n.containerRef.current,n.props.getPixelPositionOffset):{}),n.props.bounds,n.props.position),i=n.state.containerStyle,s=i.left,r=i.top,a=i.width,l=i.height;t={left:s,top:r,width:a,height:l},((e=o).left!==t.left||e.top!==t.top||e.width!==t.height||e.height!==t.height)&&n.setState({containerStyle:{top:o.top||0,left:o.left||0,width:o.width||0,height:o.height||0,position:"absolute"}})},n.draw=function(){n.onPositionElement()},n.onRemove=function(){var e,t;n.setState((function(){return{paneEl:null}})),null===(t=(e=n.props).onUnmount)||void 0===t||t.call(e,n.overlayView)},n.containerRef=e.createRef();var i=new google.maps.OverlayView;return i.onAdd=n.onAdd,i.draw=n.draw,i.onRemove=n.onRemove,n.overlayView=i,n}h(o,t),o.prototype.componentDidMount=function(){this.overlayView.setMap(this.context)},o.prototype.componentDidUpdate=function(e){var t=ct(e.position),o=ct(this.props.position),n=gt(e.bounds),i=gt(this.props.bounds);t===o&&n===i||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},o.prototype.componentWillUnmount=function(){this.overlayView.setMap(null)},o.prototype.render=function(){var t=this.state.paneEl;return t?n.createPortal(u.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:e.Children.only(this.props.children)}),t):null},o.FLOAT_PANE="floatPane",o.MAP_PANE="mapPane",o.MARKER_LAYER="markerLayer",o.OVERLAY_LAYER="overlayLayer",o.OVERLAY_MOUSE_TARGET="overlayMouseTarget",o.contextType=b}(e.PureComponent);var ut={onDblClick:"dblclick",onClick:"click"},dt={opacity:function(e,t){e.setOpacity(t)}};e.memo((function(t){var o=t.url,n=t.bounds,i=t.options,s=t.visible,r=e.useContext(b),a=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),l=e.useMemo((function(){return new google.maps.GroundOverlay(o,a,m({},i))}),[]);return e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){void 0!==o&&null!==l&&(l.set("url",o),l.setMap(r))}),[l,o]),e.useEffect((function(){void 0!==s&&null!==l&&l.setOpacity(s?1:0)}),[l,s]),e.useEffect((function(){var e=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));void 0!==n&&null!==l&&(l.set("bounds",e),l.setMap(r))}),[l,n]),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}h(t,e),t.prototype.componentDidMount=function(){I(!!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,m(m({},this.props.options),{map:this.context}));this.registeredEvents=z({updaterMap:dt,eventMap:ut,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:dt,eventMap:ut,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:pt},t.contextType=b}(e.PureComponent);var ht={},mt={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.data,n=t.onLoad,i=t.onUnmount,s=t.options,r=e.useContext(b),a=e.useState(null),l=a[0],c=a[1];return e.useEffect((function(){google.maps.visualization||I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),e.useEffect((function(){I(!!o,"data property is required in HeatmapLayer %s",o)}),[o]),e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){s&&null!==l&&l.setOptions(s)}),[l,s]),e.useEffect((function(){var e=new google.maps.visualization.HeatmapLayer(m(m({},s||{}),{data:o,map:r}));return c(e),n&&n(e),function(){null!==l&&(i&&i(l),l.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}h(t,e),t.prototype.componentDidMount=function(){I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),I(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(m(m({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=z({updaterMap:mt,eventMap:ht,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},t.prototype.componentDidUpdate=function(e){x(this.registeredEvents),this.registeredEvents=z({updaterMap:mt,eventMap:ht,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),x(this.registeredEvents),this.state.heatmapLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var ft={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},vt={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}h(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:vt,eventMap:ft,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{streetViewPanorama:o}}),this.setStreetViewPanoramaCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:vt,eventMap:ft,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),x(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),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}h(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}(e.PureComponent),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}h(t,e),t.prototype.componentDidMount=function(){I(!!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}}(e.PureComponent);var yt={onDirectionsChanged:"directions_changed"},Lt={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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=z({updaterMap:Lt,eventMap:yt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Lt,eventMap:yt,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),x(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},t.prototype.render=function(){return u.jsx(u.Fragment,{})},t.contextType=b}(e.PureComponent),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}h(t,e),t.prototype.componentDidMount=function(){I(!!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}}(e.PureComponent);var Ct={onPlacesChanged:"places_changed"},It={bounds:function(e,t){e.setBounds(t)}};!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={searchBox:null},o.setSearchBoxCallback=function(){null!==o.state.searchBox&&o.props.onLoad&&o.props.onLoad(o.state.searchBox)},o}h(o,t),o.prototype.componentDidMount=function(){if(I(!!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:It,eventMap:Ct,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},o.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:It,eventMap:Ct,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},o.prototype.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),x(this.registeredEvents))},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,children:e.Children.only(this.props.children)})},o.contextType=b}(e.PureComponent);var bt={onPlaceChanged:"place_changed"},wt={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 kt(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(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={autocomplete:null},o.setAutocompleteCallback=function(){null!==o.state.autocomplete&&o.props.onLoad&&o.props.onLoad(o.state.autocomplete)},o}h(o,t),o.prototype.componentDidMount=function(){var e;I(!!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:wt,eventMap:bt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{autocomplete:o}}),this.setAutocompleteCallback)}},o.prototype.componentDidUpdate=function(e){x(this.registeredEvents),this.registeredEvents=z({updaterMap:wt,eventMap:bt,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},o.prototype.componentWillUnmount=function(){null!==this.state.autocomplete&&x(this.registeredEvents)},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,className:this.props.className,children:e.Children.only(this.props.children)})},o.defaultProps={className:""},o.contextType=b}(e.PureComponent);var Mt=function(){function e(){}return e.clearString=function(e){return e.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/"/g,""")},e}();function xt(e){return e*Math.PI/180}function zt(e){return 180*e/Math.PI}class Pt{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 u(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 d(){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,u(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",d),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",d),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),u(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 Et{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 St{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 Ot(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 St([],((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 _t(o/t,n/t,0,e);return 0===t||s.d<0?new _t(i[0][0],i[0][1],0,e):s}(e);const u=new _t(n+a/2,i+l/2,0,e);u.d>p.d&&(p=u);let d=2;function h(n,i,s){const r=new _t(n,i,s,e);d++,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 ${d} 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: ${d}\nbest distance: ${p.d}`);const f=[p.x,p.y];return f.distance=p.d,f}function _t(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,Tt(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 Tt(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 Bt,Rt={exports:{}};var Dt=(Bt||(Bt=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)}(Rt)),Rt.exports),At=i(Dt);class Ut{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,u=0;g<p;u++)g=(n+u)*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"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},d={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"},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"},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:"centerIcon"};function f(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:d,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(d):"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(u)})),"centerIcon"==i.getIcon().id?i.setIcon(m):i.setIcon(d)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"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(u)})),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(d):"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(u)})),"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(d):"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(u)})),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(d):"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(u)})),"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(d):"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(u)})),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(d):"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(u)})),"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(d):"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(u)})),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: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(d):"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(u)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(m):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(d):"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(u)})),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 Ut).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()),u=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",u)}},v.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ut).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 Ut).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 Ut).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 Ut).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 Zt{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,u=0;g<p;u++)g=(n+u)*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"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},d={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"},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:"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"},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 C(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 I;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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),i.setIcon(f)})),r.push(i)),o}function I(){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 C.prototype=new google.maps.MVCObject,I.prototype=new google.maps.MVCObject,I.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"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("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()}))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:u,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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconBottom"==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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.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(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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconLeft"==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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Zt).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),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),this.set("startPin_position",n[1]),this.set("endPin_position",n[n.length-2])}},I.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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))},I.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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))},I.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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))},I.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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 C(e)}}class Wt{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,u=0;g<p;u++)g=(n+u)*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,u=null,d=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 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)"><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 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) 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(I):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(I)})),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(I):e.setIcon(C):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(I):e.setIcon(C)})),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(I):e.setIcon(C):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(I):e.setIcon(C)})),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(C):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(C)})),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(){(u=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),u.bindTo("position",this,"sizerRight_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)})),"sizerIconRight"==u.getIcon().id?u.setIcon(I):u.setIcon(f)})),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(I)})),r.push(u)),google.maps.event.addListener(u,"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(u,"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(){(d=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),d.bindTo("position",this,"sizerBottom_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)})),"sizerIconBottom"==d.getIcon().id?d.setIcon(I):d.setIcon(v)})),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(I)})),r.push(d)),google.maps.event.addListener(d,"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(d,"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(I):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(I)})),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 Wt).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),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),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 Wt).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 Wt).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 Wt).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 Wt).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 jt,Ft={exports:{}};jt||(jt=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)}(Ft));class Nt{constructor(e){var t,o,n,i,s,r,a=this,l=e,c=null,g=null,p=[],u=[],d=[],h={},m=[],f=[],v=[],y=[],L=[],C=[],I=[],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),u=l.clientWidth,d=c.clientWidth;return g.remove(),p.remove(),{nameWidth:u,areaWidth:d}}(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">${Mt.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=Ot(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 j(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 u=document.createElementNS(a,"style");u.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(u),l.appendChild(c);const d=document.createElementNS(a,"g");d.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]||""),d.appendChild(m),d.appendChild(f),l.appendChild(d),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?u.push(n.addListener("click",(()=>{W(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):u.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)}));d.push(a),l.fitBounds(r)}W(),M.forEach((function(e){var t=e.id.split("|");u.push(e.content.addEventListener("mouseover",(function(e){W(),A(e,t[1]+"<br>Farm "+t[2])}))),u.push(e.content.addEventListener("mousemove",Z)),u.push(e.content.addEventListener("mouseout",W))}))}}}function F(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function N(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function V(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function H(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function $(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function G(e,a,c,g,p,u,d){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 C=[];C.push([r-2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s+1.5*L*i]),f.push(C);var I=0;if(C.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||I++})),0==I){if(!(f.length>2)){h=K(L,e,g,p,u,d);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,u,d);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 u=Date.now()+Math.floor(1e5*Math.random()),h=new google.maps.Polygon({path:p,id:u.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 Pt).edit(l,h,x,g)}}));return d.push(y),l.fitBounds(f),u}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()),u=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(u),z=(z=new Ut).edit(l,u,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 d.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()),u=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(u),P=(P=new Zt).edit(l,u,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 d.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()),u=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(u),E=(E=new Wt).edit(l,u,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 d.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(),F(),$(),function(e,t,o,n,i,s,r,a,g){var u,m,f=e,v=null,y=null;c=new google.maps.LatLngBounds,f.forEach((function(e){u=e.poly.split(","),m=[],u.forEach((function(e){var t=At.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 C=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),s,r)}));d.push(C),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function te(e,t,o,n,i,s){H(),N(),V(),F(),$();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}))}));d.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}))}));d.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}))}));d.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(),F(),$();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}))}));d.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}))}));d.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}))}));d.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=At.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}}));d.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(),F(),$(),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(),F(),$(),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])})}));u.push(n);var i=e.content.addEventListener("mouseover",(function(e){W(),A(e,o)}));u.push(i);var s=e.content.addEventListener("mousemove",(function(e){Z(e)}));u.push(s);var r=e.content.addEventListener("mouseout",(function(e){W()}));u.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&&j(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)}))})),d.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(),I.forEach((function(e){e.setMap(null),e=null})),I=[],C.forEach((function(e){e.setMap(null),e=null})),C=[],F(),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 Pt).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 Pt).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=[],C=[],I=[],b=[],w=[],k=[],M=[],c=null},a.fmarkers_clear=function(){M.forEach((function(e){e.setMap(null),e=null})),M=[]},a.mapListeners_clear=function(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]},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 Pt).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 Pt).delete(l,x),x=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Ut).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 Zt).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 Wt).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 Pt).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 Pt).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,u){if(e)return G(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),f=h.lat(),v=h.lng(),y=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n-80*n)),y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n-80*n)));var L=Date.now()+Math.floor(1e5*Math.random()),C=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(C),x=(new Pt).edit(l,C,x,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,u){if(e)return G(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],C=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n-80*n)),L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n-80*n)),C.push([y+p*n-80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i+60*i]),f.push(C));var I=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:I.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),I},a.Shape_CircleFull_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,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 C=0,I=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Ut).get(s,r,z,C,I);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,u,P,x,z,d,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,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),P=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Ut).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 Ut).edit(l,_,z,P,E,c,C),O},a.Shape_CircleSector_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,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 C=60,I=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Zt).get(s,r,z,C,I);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,u,P,x,z,d,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,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Zt).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 Zt).edit(l,_,P,z,E,c,C),O},a.Shape_CircleSegment_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,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 C=0,I=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Zt).get(s,r,z,C,I);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,u,P,x,z,d,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,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),P=kt(M,x,M,x+80*n),S=(new Wt).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 Wt).edit(l,_,E,z,P,c,C),O},a.RenderRegionFarms=function(e,t,o,n,i){t&&j(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 Et(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 Pt).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 Zt).edit(l,o,P,i,s,t,C)}},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 Ut).edit(l,o,z,i,s,t,C)}},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 Wt).edit(l,o,E,i,s,t,C)}},a.RenderRegions=function(e,t,o,n,i,s){var r=null,a=null,c=null;L=[],d=[];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=At.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 u=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),i,s)}));d.push(u),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)})),j(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,u=[],d=0;d<o;++d)u.push((i=e,s=t,r=2*Math.PI*-d/o,a=void 0,l=void 0,c=void 0,g=void 0,p=void 0,a=xt(i[1]),l=xt(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?u:u.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,u){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 C=0;p&&(C=1);var I=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(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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)}));d.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(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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)}));d.push(x),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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=[],u=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&&u.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",id:r.Id});var m=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!c){var e=l.getProjection().fromLatLngToPoint(u.getSouthWest()),i=l.getProjection().fromLatLngToPoint(u.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),Q(u.getCenter(),t,o),c=!c}}));if(d.push(m),l.fitBounds(u),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)})),C=google.maps.event.addListener(a,"mouseout",(function(e){W()}));p.push(f),p.push(v),p.push(C)}if(s){var I=google.maps.event.addListener(a,"click",(function(e){h.PolygonOnClick({id:r.Id,poly:r.Poly,lat:e.latLng.lat(),lng:e.latLng.lng()})}));p.push(I)}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)}))}));d.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)}));d.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)}));d.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 Vt={width:"100%",height:"100%"},Ht={lat:-25.7652061,lng:28.2710333},$t=["places","marker","geometry"],Gt={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},Yt=e.memo((function(t){var o=t.gmAPIkey,n=t.jpMap,i=e.useState(null),s=i[0],r=i[1],a=function(t){var o=t.mapInstance,n=e.useRef(null);return e.useEffect((function(){if(o){var e=new Nt(o);return n.current=e,function(){n.current&&n.current.map_clear()}}}),[o]),{mapManager:n.current}}({mapInstance:s}).mapManager,l=function(t){var o=t.id,n=void 0===o?Z.id:o,i=t.version,s=void 0===i?Z.version:i,r=t.nonce,a=t.googleMapsApiKey,l=t.language,c=t.region,g=t.libraries,p=void 0===g?$:g,u=t.preventGoogleFontsLoading,d=t.mapIds,h=t.authReferrerPolicy,m=e.useRef(!1),f=e.useState(!1),v=f[0],y=f[1],L=e.useState(void 0),C=L[0],I=L[1];e.useEffect((function(){return m.current=!0,function(){m.current=!1}}),[]);var b=e.useMemo((function(){return new H({id:n,apiKey:a,version:s,libraries:p,language:l||"en",region:c||"US",mapIds:d||[],nonce:r||"",authReferrerPolicy:h||"origin"})}),[n,a,s,p,l,c,d,r,h]);e.useEffect((function(){v||b.load().then((function(){m.current&&y(!0)})).catch((function(e){I(e)}))}),[]),e.useEffect((function(){O&&u&&B()}),[u]);var w=e.useRef();return e.useEffect((function(){w.current&&p!==w.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"),w.current=p}),[p]),{isLoaded:v,loadError:C}}({id:"google-map-script",googleMapsApiKey:o,libraries:$t}).isLoaded,c=e.useCallback((function(e){r(e)}),[]);e.useEffect((function(){null!==s&&n({isMapInitialized:!0,mapObject:s,mapManager:a})}),[s,n]);var g=e.useCallback((function(e){r(null)}),[]);return l?u.jsx(S,{mapContainerStyle:Vt,center:Ht,zoom:5,options:Gt,onLoad:c,onUnmount:g,children:u.jsx(u.Fragment,{})}):u.jsx(u.Fragment,{})}));module.exports=Yt;
|
|
53
|
+
***************************************************************************** */class Oe{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 _e{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(Oe.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((e=>Oe.getVisible(e))).length}push(e){this.markers.push(e)}delete(){this.marker&&(Oe.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Te{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Be(e)}}const Be=e=>e.map((e=>new _e({position:Oe.getPosition(e),markers:[e]})));class Re extends Te{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 Me(Object.assign({maxZoom:this.maxZoom,radius:o},n))}calculate(e){let t=!1;const o={zoom:e.map.getZoom()};if(!he(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const o=this.markers.map((e=>{const t=Oe.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=!he(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 _e({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 _e({markers:[n],position:Oe.getPosition(n)})}}class De{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 Ae{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(Oe.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 Ue{constructor(){!function(e,t){for(let o in t.prototype)e.prototype[o]=t.prototype[o]}(Ue,google.maps.OverlayView)}}var Ze;!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(Ze||(Ze={}));const We=(e,t,o)=>{o.fitBounds(t.bounds)};class je extends Ue{constructor({map:e,markers:t=[],algorithmOptions:o={},algorithm:n=new Re(o),renderer:i=new Ae,onClusterClick:s=We}){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&&(Oe.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,Ze.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)||Oe.setMap(t.marker,null):o.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame((()=>o.forEach((e=>Oe.setMap(e,null)))))}google.maps.event.trigger(this,Ze.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=>Oe.setMap(e,null))),this.clusters.forEach((e=>e.delete())),this.clusters=[]}renderClusters(){const e=new De(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=>Oe.setMap(e,null))),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,Ze.CLUSTER_CLICK,o),this.onClusterClick(e,o,t)}))),Oe.setMap(o.marker,t)}))}}function Fe(t){var o=function(){I(!!e.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=e.useContext(b);return I(!!t,"useGoogleMap needs a GoogleMap available up in the tree"),t}(),n=e.useState(null),i=n[0],s=n[1];return e.useEffect((function(){if(o&&null===i){var e=new je(m(m({},t),{map:o}));s(e)}}),[o]),i}e.memo((function(e){var t=e.children,o=Fe(e.options);return null!==o?t(o):null}));var Ne={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Ve={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}};e.memo((function(o){var n=o.children,i=o.anchor,s=o.options,r=o.position,a=o.zIndex,l=o.onCloseClick,c=o.onDomReady,g=o.onContentChanged,p=o.onPositionChanged,u=o.onZindexChanged,d=o.onLoad,h=o.onUnmount,f=e.useContext(b),v=e.useState(null),y=v[0],L=v[1],C=e.useState(null),w=C[0],k=C[1],M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useRef(null);return e.useEffect((function(){null!==y&&(y.close(),i?y.open(f,i):y.getPosition()&&y.open(f))}),[f,y,i]),e.useEffect((function(){s&&null!==y&&y.setOptions(s)}),[y,s]),e.useEffect((function(){r&&null!==y&&y.setPosition(r)}),[r]),e.useEffect((function(){"number"==typeof a&&null!==y&&y.setZIndex(a)}),[a]),e.useEffect((function(){y&&l&&(null!==w&&google.maps.event.removeListener(w),k(google.maps.event.addListener(y,"closeclick",l)))}),[l]),e.useEffect((function(){y&&c&&(null!==x&&google.maps.event.removeListener(x),z(google.maps.event.addListener(y,"domready",c)))}),[c]),e.useEffect((function(){y&&g&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(y,"content_changed",g)))}),[g]),e.useEffect((function(){y&&p&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(y,"position_changed",p)))}),[p]),e.useEffect((function(){y&&u&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(y,"zindex_changed",u)))}),[u]),e.useEffect((function(){var e=new google.maps.InfoWindow(m({},s||{}));return L(e),A.current=document.createElement("div"),l&&k(google.maps.event.addListener(e,"closeclick",l)),c&&z(google.maps.event.addListener(e,"domready",c)),g&&S(google.maps.event.addListener(e,"content_changed",g)),p&&T(google.maps.event.addListener(e,"position_changed",p)),u&&D(google.maps.event.addListener(e,"zindex_changed",u)),e.setContent(A.current),r&&e.setPosition(r),a&&e.setZIndex(a),i?e.open(f,i):e.getPosition()?e.open(f):I(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),d&&d(e),function(){w&&google.maps.event.removeListener(w),E&&google.maps.event.removeListener(E),x&&google.maps.event.removeListener(x),_&&google.maps.event.removeListener(_),R&&google.maps.event.removeListener(R),h&&h(e),e.close()}}),[]),A.current?t.createPortal(e.Children.only(n),A.current):null})),function(o){function n(){var e=null!==o&&o.apply(this,arguments)||this;return e.registeredEvents=[],e.containerElement=null,e.state={infoWindow:null},e.open=function(t,o){o?t.open(e.context,o):t.getPosition()?t.open(e.context):I(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")},e.setInfoWindowCallback=function(){null!==e.state.infoWindow&&null!==e.containerElement&&(e.state.infoWindow.setContent(e.containerElement),e.open(e.state.infoWindow,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoWindow))},e}h(n,o),n.prototype.componentDidMount=function(){var e=new google.maps.InfoWindow(m({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=z({updaterMap:Ve,eventMap:Ne,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},n.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ve,eventMap:Ne,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},n.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(x(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},n.prototype.render=function(){return this.containerElement?t.createPortal(e.Children.only(this.props.children),this.containerElement):null},n.contextType=b}(e.PureComponent);var He={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},$e={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)}},Ge={};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onLoad,C=t.onUnmount,I=e.useContext(b),w=e.useState(null),k=w[0],M=w[1],x=e.useState(null),z=x[0],P=x[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),Z=U[0],W=U[1],j=e.useState(null),F=j[0],N=j[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],K=G[1],J=e.useState(null),q=J[0],X=J[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1];return e.useEffect((function(){null!==k&&k.setMap(I)}),[I]),e.useEffect((function(){void 0!==o&&null!==k&&k.setOptions(o)}),[k,o]),e.useEffect((function(){void 0!==n&&null!==k&&k.setDraggable(n)}),[k,n]),e.useEffect((function(){void 0!==i&&null!==k&&k.setEditable(i)}),[k,i]),e.useEffect((function(){void 0!==s&&null!==k&&k.setVisible(s)}),[k,s]),e.useEffect((function(){void 0!==r&&null!==k&&k.setPath(r)}),[k,r]),e.useEffect((function(){k&&a&&(null!==z&&google.maps.event.removeListener(z),P(google.maps.event.addListener(k,"dblclick",a)))}),[a]),e.useEffect((function(){k&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(k,"dragend",l)))}),[l]),e.useEffect((function(){k&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(k,"dragstart",c)))}),[c]),e.useEffect((function(){k&&g&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(k,"mousedown",g)))}),[g]),e.useEffect((function(){k&&p&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(k,"mousemove",p)))}),[p]),e.useEffect((function(){k&&u&&(null!==F&&google.maps.event.removeListener(F),N(google.maps.event.addListener(k,"mouseout",u)))}),[u]),e.useEffect((function(){k&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(k,"mouseover",d)))}),[d]),e.useEffect((function(){k&&h&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(k,"mouseup",h)))}),[h]),e.useEffect((function(){k&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(k,"rightclick",f)))}),[f]),e.useEffect((function(){k&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(k,"click",v)))}),[v]),e.useEffect((function(){k&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(k,"drag",y)))}),[y]),e.useEffect((function(){var e=new google.maps.Polyline(m(m({},o||Ge),{map:I}));return r&&e.setPath(r),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),a&&P(google.maps.event.addListener(e,"dblclick",a)),l&&O(google.maps.event.addListener(e,"dragend",l)),c&&B(google.maps.event.addListener(e,"dragstart",c)),g&&A(google.maps.event.addListener(e,"mousedown",g)),p&&W(google.maps.event.addListener(e,"mousemove",p)),u&&N(google.maps.event.addListener(e,"mouseout",u)),d&&$(google.maps.event.addListener(e,"mouseover",d)),h&&K(google.maps.event.addListener(e,"mouseup",h)),f&&X(google.maps.event.addListener(e,"rightclick",f)),v&&te(google.maps.event.addListener(e,"click",v)),y&&ie(google.maps.event.addListener(e,"drag",y)),M(e),L&&L(e),function(){null!==z&&google.maps.event.removeListener(z),null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==F&&google.maps.event.removeListener(F),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),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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polyline(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:$e,eventMap:He,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polyline&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:$e,eventMap:He,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),x(this.registeredEvents),this.state.polyline.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Ye={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Ke={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)}};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.paths,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,C=t.onLoad,I=t.onUnmount,w=t.onEdit,k=e.useContext(b),M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useState(null),U=A[0],Z=A[1],W=e.useState(null),j=W[0],F=W[1],N=e.useState(null),V=N[0],H=N[1],$=e.useState(null),G=$[0],Y=$[1],K=e.useState(null),J=K[0],q=K[1],X=e.useState(null),Q=X[0],ee=X[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1];return e.useEffect((function(){null!==x&&x.setMap(k)}),[k]),e.useEffect((function(){void 0!==o&&null!==x&&x.setOptions(o)}),[x,o]),e.useEffect((function(){void 0!==n&&null!==x&&x.setDraggable(n)}),[x,n]),e.useEffect((function(){void 0!==i&&null!==x&&x.setEditable(i)}),[x,i]),e.useEffect((function(){void 0!==s&&null!==x&&x.setVisible(s)}),[x,s]),e.useEffect((function(){void 0!==r&&null!==x&&x.setPath(r)}),[x,r]),e.useEffect((function(){void 0!==a&&null!==x&&x.setPaths(a)}),[x,a]),e.useEffect((function(){x&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(x,"dblclick",l)))}),[l]),e.useEffect((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]),e.useEffect((function(){x&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(x,"dragend",c)))}),[c]),e.useEffect((function(){x&&g&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(x,"dragstart",g)))}),[g]),e.useEffect((function(){x&&p&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(x,"mousedown",p)))}),[p]),e.useEffect((function(){x&&u&&(null!==j&&google.maps.event.removeListener(j),F(google.maps.event.addListener(x,"mousemove",u)))}),[u]),e.useEffect((function(){x&&d&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(x,"mouseout",d)))}),[d]),e.useEffect((function(){x&&h&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(x,"mouseover",h)))}),[h]),e.useEffect((function(){x&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(x,"mouseup",f)))}),[f]),e.useEffect((function(){x&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(x,"rightclick",v)))}),[v]),e.useEffect((function(){x&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(x,"click",y)))}),[y]),e.useEffect((function(){x&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(x,"drag",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Polygon(m(m({},o||{}),{map:k}));return r&&e.setPath(r),a&&e.setPaths(a),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),l&&S(google.maps.event.addListener(e,"dblclick",l)),c&&T(google.maps.event.addListener(e,"dragend",c)),g&&D(google.maps.event.addListener(e,"dragstart",g)),p&&Z(google.maps.event.addListener(e,"mousedown",p)),u&&F(google.maps.event.addListener(e,"mousemove",u)),d&&H(google.maps.event.addListener(e,"mouseout",d)),h&&Y(google.maps.event.addListener(e,"mouseover",h)),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)),z(e),C&&C(e),function(){null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==j&&google.maps.event.removeListener(j),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),I&&I(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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polygon(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Ke,eventMap:Ye,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polygon&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ke,eventMap:Ye,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),x(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Je={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"},qe={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)}};e.memo((function(t){var o=t.options,n=t.bounds,i=t.draggable,s=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onBoundsChanged,C=t.onLoad,I=t.onUnmount,w=e.useContext(b),k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],R=T[1],D=e.useState(null),A=D[0],U=D[1],Z=e.useState(null),W=Z[0],j=Z[1],F=e.useState(null),N=F[0],V=F[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==M&&M.setMap(w)}),[w]),e.useEffect((function(){void 0!==o&&null!==M&&M.setOptions(o)}),[M,o]),e.useEffect((function(){void 0!==i&&null!==M&&M.setDraggable(i)}),[M,i]),e.useEffect((function(){void 0!==s&&null!==M&&M.setEditable(s)}),[M,s]),e.useEffect((function(){void 0!==r&&null!==M&&M.setVisible(r)}),[M,r]),e.useEffect((function(){void 0!==n&&null!==M&&M.setBounds(n)}),[M,n]),e.useEffect((function(){M&&a&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(M,"dblclick",a)))}),[a]),e.useEffect((function(){M&&l&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(M,"dragend",l)))}),[l]),e.useEffect((function(){M&&c&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(M,"dragstart",c)))}),[c]),e.useEffect((function(){M&&g&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(M,"mousedown",g)))}),[g]),e.useEffect((function(){M&&p&&(null!==W&&google.maps.event.removeListener(W),j(google.maps.event.addListener(M,"mousemove",p)))}),[p]),e.useEffect((function(){M&&u&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(M,"mouseout",u)))}),[u]),e.useEffect((function(){M&&d&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(M,"mouseover",d)))}),[d]),e.useEffect((function(){M&&h&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(M,"mouseup",h)))}),[h]),e.useEffect((function(){M&&f&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(M,"rightclick",f)))}),[f]),e.useEffect((function(){M&&v&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(M,"click",v)))}),[v]),e.useEffect((function(){M&&y&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(M,"drag",y)))}),[y]),e.useEffect((function(){M&&L&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(M,"bounds_changed",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Rectangle(m(m({},o||{}),{map:w}));return void 0!==r&&e.setVisible(r),void 0!==s&&e.setEditable(s),void 0!==i&&e.setDraggable(i),void 0!==n&&e.setBounds(n),a&&E(google.maps.event.addListener(e,"dblclick",a)),l&&_(google.maps.event.addListener(e,"dragend",l)),c&&R(google.maps.event.addListener(e,"dragstart",c)),g&&U(google.maps.event.addListener(e,"mousedown",g)),p&&j(google.maps.event.addListener(e,"mousemove",p)),u&&V(google.maps.event.addListener(e,"mouseout",u)),d&&G(google.maps.event.addListener(e,"mouseover",d)),h&&J(google.maps.event.addListener(e,"mouseup",h)),f&&Q(google.maps.event.addListener(e,"rightclick",f)),v&&oe(google.maps.event.addListener(e,"click",v)),y&&se(google.maps.event.addListener(e,"drag",y)),L&&le(google.maps.event.addListener(e,"bounds_changed",L)),x(e),C&&C(e),function(){null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),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),null!==ae&&google.maps.event.removeListener(ae),I&&I(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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Rectangle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:qe,eventMap:Je,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:qe,eventMap:Je,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),x(this.registeredEvents),this.state.rectangle.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Xe={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"},Qe={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)}},et={};e.memo((function(t){var o=t.options,n=t.center,i=t.radius,s=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,C=t.onCenterChanged,I=t.onRadiusChanged,w=t.onLoad,k=t.onUnmount,M=e.useContext(b),x=e.useState(null),z=x[0],P=x[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),Z=U[0],W=U[1],j=e.useState(null),F=j[0],N=j[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],K=G[1],J=e.useState(null),q=J[0],X=J[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1],se=e.useState(null),re=se[0],ae=se[1],le=e.useState(null),ce=le[0],ge=le[1],pe=e.useState(null),ue=pe[0],de=pe[1];return e.useEffect((function(){null!==z&&z.setMap(M)}),[M]),e.useEffect((function(){void 0!==o&&null!==z&&z.setOptions(o)}),[z,o]),e.useEffect((function(){void 0!==s&&null!==z&&z.setDraggable(s)}),[z,s]),e.useEffect((function(){void 0!==r&&null!==z&&z.setEditable(r)}),[z,r]),e.useEffect((function(){void 0!==a&&null!==z&&z.setVisible(a)}),[z,a]),e.useEffect((function(){"number"==typeof i&&null!==z&&z.setRadius(i)}),[z,i]),e.useEffect((function(){void 0!==n&&null!==z&&z.setCenter(n)}),[z,n]),e.useEffect((function(){z&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(z,"dblclick",l)))}),[l]),e.useEffect((function(){z&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(z,"dragend",c)))}),[c]),e.useEffect((function(){z&&g&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(z,"dragstart",g)))}),[g]),e.useEffect((function(){z&&p&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(z,"mousedown",p)))}),[p]),e.useEffect((function(){z&&u&&(null!==F&&google.maps.event.removeListener(F),N(google.maps.event.addListener(z,"mousemove",u)))}),[u]),e.useEffect((function(){z&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(z,"mouseout",d)))}),[d]),e.useEffect((function(){z&&h&&(null!==Y&&google.maps.event.removeListener(Y),K(google.maps.event.addListener(z,"mouseover",h)))}),[h]),e.useEffect((function(){z&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(z,"mouseup",f)))}),[f]),e.useEffect((function(){z&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(z,"rightclick",v)))}),[v]),e.useEffect((function(){z&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(z,"click",y)))}),[y]),e.useEffect((function(){z&&L&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(z,"drag",L)))}),[L]),e.useEffect((function(){z&&C&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(z,"center_changed",C)))}),[y]),e.useEffect((function(){z&&I&&(null!==ue&&google.maps.event.removeListener(ue),de(google.maps.event.addListener(z,"radius_changed",I)))}),[I]),e.useEffect((function(){var e=new google.maps.Circle(m(m({},o||et),{map:M}));return"number"==typeof i&&e.setRadius(i),void 0!==n&&e.setCenter(n),"number"==typeof i&&e.setRadius(i),void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==s&&e.setDraggable(s),l&&O(google.maps.event.addListener(e,"dblclick",l)),c&&B(google.maps.event.addListener(e,"dragend",c)),g&&A(google.maps.event.addListener(e,"dragstart",g)),p&&W(google.maps.event.addListener(e,"mousedown",p)),u&&N(google.maps.event.addListener(e,"mousemove",u)),d&&$(google.maps.event.addListener(e,"mouseout",d)),h&&K(google.maps.event.addListener(e,"mouseover",h)),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)),C&&ge(google.maps.event.addListener(e,"center_changed",C)),I&&de(google.maps.event.addListener(e,"radius_changed",I)),P(e),w&&w(e),function(){null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==Z&&google.maps.event.removeListener(Z),null!==F&&google.maps.event.removeListener(F),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!==ce&&google.maps.event.removeListener(ce),null!==ue&&google.maps.event.removeListener(ue),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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Circle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Qe,eventMap:Xe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.circle&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Qe,eventMap:Xe,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),x(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var tt={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ot={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)}};e.memo((function(t){var o=t.options,n=t.onClick,i=t.onDblClick,s=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,c=t.onMouseUp,g=t.onRightClick,p=t.onAddFeature,u=t.onRemoveFeature,d=t.onRemoveProperty,h=t.onSetGeometry,f=t.onSetProperty,v=t.onLoad,y=t.onUnmount,L=e.useContext(b),C=e.useState(null),I=C[0],w=C[1],k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],R=T[1],D=e.useState(null),A=D[0],U=D[1],Z=e.useState(null),W=Z[0],j=Z[1],F=e.useState(null),N=F[0],V=F[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==I&&I.setMap(L)}),[L]),e.useEffect((function(){I&&i&&(null!==M&&google.maps.event.removeListener(M),x(google.maps.event.addListener(I,"dblclick",i)))}),[i]),e.useEffect((function(){I&&s&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(I,"mousedown",s)))}),[s]),e.useEffect((function(){I&&r&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(I,"mousemove",r)))}),[r]),e.useEffect((function(){I&&a&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(I,"mouseout",a)))}),[a]),e.useEffect((function(){I&&l&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(I,"mouseover",l)))}),[l]),e.useEffect((function(){I&&c&&(null!==W&&google.maps.event.removeListener(W),j(google.maps.event.addListener(I,"mouseup",c)))}),[c]),e.useEffect((function(){I&&g&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(I,"rightclick",g)))}),[g]),e.useEffect((function(){I&&n&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(I,"click",n)))}),[n]),e.useEffect((function(){I&&p&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(I,"addfeature",p)))}),[p]),e.useEffect((function(){I&&u&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(I,"removefeature",u)))}),[u]),e.useEffect((function(){I&&d&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(I,"removeproperty",d)))}),[d]),e.useEffect((function(){I&&h&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(I,"setgeometry",h)))}),[h]),e.useEffect((function(){I&&f&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(I,"setproperty",f)))}),[f]),e.useEffect((function(){if(null!==L){var e=new google.maps.Data(m(m({},o||{}),{map:L}));i&&x(google.maps.event.addListener(e,"dblclick",i)),s&&E(google.maps.event.addListener(e,"mousedown",s)),r&&_(google.maps.event.addListener(e,"mousemove",r)),a&&R(google.maps.event.addListener(e,"mouseout",a)),l&&U(google.maps.event.addListener(e,"mouseover",l)),c&&j(google.maps.event.addListener(e,"mouseup",c)),g&&V(google.maps.event.addListener(e,"rightclick",g)),n&&G(google.maps.event.addListener(e,"click",n)),p&&J(google.maps.event.addListener(e,"addfeature",p)),u&&Q(google.maps.event.addListener(e,"removefeature",u)),d&&oe(google.maps.event.addListener(e,"removeproperty",d)),h&&se(google.maps.event.addListener(e,"setgeometry",h)),f&&le(google.maps.event.addListener(e,"setproperty",f)),w(e),v&&v(e)}return function(){I&&(null!==M&&google.maps.event.removeListener(M),null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),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),null!==ae&&google.maps.event.removeListener(ae),y&&y(I),I.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}h(t,e),t.prototype.componentDidMount=function(){if(null!==this.context){var e=new google.maps.Data(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:ot,eventMap:tt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)}},t.prototype.componentDidUpdate=function(e){null!==this.state.data&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:ot,eventMap:tt,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),x(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var nt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},it={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}};function st(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function rt(e,t){return new t(e.lat,e.lng)}function at(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 lt(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=at,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,rt));var i,s,r}function ct(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function gt(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 pt(){}!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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.KmlLayer(m(m({},this.props.options),{map:this.context}));this.registeredEvents=z({updaterMap:it,eventMap:nt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:it,eventMap:nt,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),x(this.registeredEvents),this.state.kmlLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.position,i=t.bounds,s=t.mapPaneName,r=t.zIndex,a=t.onLoad,l=t.onUnmount,c=t.getPixelPositionOffset,g=t.children,p=e.useContext(b),u=e.useMemo((function(){var e=document.createElement("div");return e.style.position="absolute",e}),[]),d=e.useMemo((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 h(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=lt(this.getProjection(),m({},this.container?st(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,s,o,i,c)}),[u,s,o,i]);return e.useEffect((function(){return null==a||a(d),null==d||d.setMap(p),function(){null==l||l(d),null==d||d.setMap(null)}}),[p,d]),e.useEffect((function(){u.style.zIndex="".concat(r)}),[r,u]),n.createPortal(g,u)})),function(t){function o(o){var n=t.call(this,o)||this;n.state={paneEl:null,containerStyle:{position:"absolute"}},n.updatePane=function(){var e=n.props.mapPaneName,t=n.overlayView.getPanes();I(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?n.setState({paneEl:t[e]}):n.setState({paneEl:null})},n.onAdd=function(){var e,t;n.updatePane(),null===(t=(e=n.props).onLoad)||void 0===t||t.call(e,n.overlayView)},n.onPositionElement=function(){var e=lt(n.overlayView.getProjection(),m({x:0,y:0},n.containerRef.current?st(n.containerRef.current,n.props.getPixelPositionOffset):{}),n.props.bounds,n.props.position),t=n.state.containerStyle,o=t.left,i=t.top;t.width;var s,r,a=t.height;r={left:o,top:i,height:a},((s=e).left!==r.left||s.top!==r.top||s.width!==r.height||s.height!==r.height)&&n.setState({containerStyle:{top:e.top||0,left:e.left||0,width:e.width||0,height:e.height||0,position:"absolute"}})},n.draw=function(){n.onPositionElement()},n.onRemove=function(){var e,t;n.setState((function(){return{paneEl:null}})),null===(t=(e=n.props).onUnmount)||void 0===t||t.call(e,n.overlayView)},n.containerRef=e.createRef();var i=new google.maps.OverlayView;return i.onAdd=n.onAdd,i.draw=n.draw,i.onRemove=n.onRemove,n.overlayView=i,n}h(o,t),o.prototype.componentDidMount=function(){this.overlayView.setMap(this.context)},o.prototype.componentDidUpdate=function(e){var t=ct(e.position),o=ct(this.props.position),n=gt(e.bounds),i=gt(this.props.bounds);t===o&&n===i||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},o.prototype.componentWillUnmount=function(){this.overlayView.setMap(null)},o.prototype.render=function(){var t=this.state.paneEl;return t?n.createPortal(u.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:e.Children.only(this.props.children)}),t):null},o.FLOAT_PANE="floatPane",o.MAP_PANE="mapPane",o.MARKER_LAYER="markerLayer",o.OVERLAY_LAYER="overlayLayer",o.OVERLAY_MOUSE_TARGET="overlayMouseTarget",o.contextType=b}(e.PureComponent);var ut={onDblClick:"dblclick",onClick:"click"},dt={opacity:function(e,t){e.setOpacity(t)}};e.memo((function(t){var o=t.url,n=t.bounds,i=t.options,s=t.visible,r=e.useContext(b),a=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),l=e.useMemo((function(){return new google.maps.GroundOverlay(o,a,m({},i))}),[]);return e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){void 0!==o&&null!==l&&(l.set("url",o),l.setMap(r))}),[l,o]),e.useEffect((function(){void 0!==s&&null!==l&&l.setOpacity(s?1:0)}),[l,s]),e.useEffect((function(){var e=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));void 0!==n&&null!==l&&(l.set("bounds",e),l.setMap(r))}),[l,n]),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}h(t,e),t.prototype.componentDidMount=function(){I(!!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,m(m({},this.props.options),{map:this.context}));this.registeredEvents=z({updaterMap:dt,eventMap:ut,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:dt,eventMap:ut,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:pt},t.contextType=b}(e.PureComponent);var ht={},mt={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.data,n=t.onLoad,i=t.onUnmount,s=t.options,r=e.useContext(b),a=e.useState(null),l=a[0],c=a[1];return e.useEffect((function(){google.maps.visualization||I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),e.useEffect((function(){I(!!o,"data property is required in HeatmapLayer %s",o)}),[o]),e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){s&&null!==l&&l.setOptions(s)}),[l,s]),e.useEffect((function(){var e=new google.maps.visualization.HeatmapLayer(m(m({},s||{}),{data:o,map:r}));return c(e),n&&n(e),function(){null!==l&&(i&&i(l),l.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}h(t,e),t.prototype.componentDidMount=function(){I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),I(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(m(m({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=z({updaterMap:mt,eventMap:ht,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},t.prototype.componentDidUpdate=function(e){x(this.registeredEvents),this.registeredEvents=z({updaterMap:mt,eventMap:ht,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),x(this.registeredEvents),this.state.heatmapLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var ft={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},vt={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}h(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:vt,eventMap:ft,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{streetViewPanorama:o}}),this.setStreetViewPanoramaCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:vt,eventMap:ft,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),x(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),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}h(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}(e.PureComponent),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}h(t,e),t.prototype.componentDidMount=function(){I(!!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}}(e.PureComponent);var yt={onDirectionsChanged:"directions_changed"},Lt={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}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=z({updaterMap:Lt,eventMap:yt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Lt,eventMap:yt,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),x(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},t.prototype.render=function(){return u.jsx(u.Fragment,{})},t.contextType=b}(e.PureComponent),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}h(t,e),t.prototype.componentDidMount=function(){I(!!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}}(e.PureComponent);var Ct={onPlacesChanged:"places_changed"},It={bounds:function(e,t){e.setBounds(t)}};!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={searchBox:null},o.setSearchBoxCallback=function(){null!==o.state.searchBox&&o.props.onLoad&&o.props.onLoad(o.state.searchBox)},o}h(o,t),o.prototype.componentDidMount=function(){if(I(!!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:It,eventMap:Ct,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},o.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:It,eventMap:Ct,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},o.prototype.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),x(this.registeredEvents))},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,children:e.Children.only(this.props.children)})},o.contextType=b}(e.PureComponent);var bt={onPlaceChanged:"place_changed"},wt={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 kt(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(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={autocomplete:null},o.setAutocompleteCallback=function(){null!==o.state.autocomplete&&o.props.onLoad&&o.props.onLoad(o.state.autocomplete)},o}h(o,t),o.prototype.componentDidMount=function(){var e;I(!!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:wt,eventMap:bt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{autocomplete:o}}),this.setAutocompleteCallback)}},o.prototype.componentDidUpdate=function(e){x(this.registeredEvents),this.registeredEvents=z({updaterMap:wt,eventMap:bt,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},o.prototype.componentWillUnmount=function(){null!==this.state.autocomplete&&x(this.registeredEvents)},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,className:this.props.className,children:e.Children.only(this.props.children)})},o.defaultProps={className:""},o.contextType=b}(e.PureComponent);var Mt=function(){function e(){}return e.clearString=function(e){return e.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/"/g,""")},e}();function xt(e){return e*Math.PI/180}function zt(e){return 180*e/Math.PI}class Pt{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 u(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 d(){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,u(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",d),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",d),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),u(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 Et{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 St{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 Ot(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 St([],((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 _t(o/t,n/t,0,e);return 0===t||s.d<0?new _t(i[0][0],i[0][1],0,e):s}(e);const u=new _t(n+a/2,i+l/2,0,e);u.d>p.d&&(p=u);let d=2;function h(n,i,s){const r=new _t(n,i,s,e);d++,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 ${d} 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: ${d}\nbest distance: ${p.d}`);const f=[p.x,p.y];return f.distance=p.d,f}function _t(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,Tt(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 Tt(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 Bt,Rt={exports:{}};var Dt=(Bt||(Bt=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)}(Rt)),Rt.exports),At=i(Dt);class Ut{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,u=0;g<p;u++)g=(n+u)*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"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},d={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"},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"},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:"centerIcon"};function f(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:d,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(d):"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(u)})),"centerIcon"==i.getIcon().id?i.setIcon(m):i.setIcon(d)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"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(u)})),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(d):"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(u)})),"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(d):"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(u)})),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(d):"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(u)})),"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(d):"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(u)})),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(d):"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(u)})),"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(d):"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(u)})),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: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(d):"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(u)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(m):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(d):"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(u)})),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 Ut).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()),u=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",u)}},v.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ut).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 Ut).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 Ut).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 Ut).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 Zt{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,u=0;g<p;u++)g=(n+u)*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"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},d={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"},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:"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"},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 C(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 I;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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),i.setIcon(f)})),r.push(i)),o}function I(){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 C.prototype=new google.maps.MVCObject,I.prototype=new google.maps.MVCObject,I.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"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("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()}))},I.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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:u,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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconBottom"==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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.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(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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconLeft"==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(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),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()}))},I.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Zt).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),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),this.set("startPin_position",n[1]),this.set("endPin_position",n[n.length-2])}},I.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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))},I.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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))},I.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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))},I.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).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 C(e)}}class Wt{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,u=0;g<p;u++)g=(n+u)*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,u=null,d=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 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)"><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 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) 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(I):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(I)})),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(I):e.setIcon(C):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(I):e.setIcon(C)})),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(I):e.setIcon(C):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(I):e.setIcon(C)})),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(C):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(C)})),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(){(u=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),u.bindTo("position",this,"sizerRight_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)})),"sizerIconRight"==u.getIcon().id?u.setIcon(I):u.setIcon(f)})),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(I)})),r.push(u)),google.maps.event.addListener(u,"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(u,"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(){(d=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),d.bindTo("position",this,"sizerBottom_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)})),"sizerIconBottom"==d.getIcon().id?d.setIcon(I):d.setIcon(v)})),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(I)})),r.push(d)),google.maps.event.addListener(d,"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(d,"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(I):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(I)})),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 Wt).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),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),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 Wt).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 Wt).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 Wt).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 Wt).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 jt,Ft={exports:{}};jt||(jt=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)}(Ft));class Nt{constructor(e){var t,o,n,i,s,r,a=this,l=e,c=null,g=null,p=[],u=[],d=[],h={},m=[],f=[],v=[],y=[],L=[],C=[],I=[],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),u=l.clientWidth,d=c.clientWidth;return g.remove(),p.remove(),{nameWidth:u,areaWidth:d}}(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">${Mt.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=Ot(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 j(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 u=document.createElementNS(a,"style");u.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(u),l.appendChild(c);const d=document.createElementNS(a,"g");d.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]||""),d.appendChild(m),d.appendChild(f),l.appendChild(d),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?u.push(n.addListener("click",(()=>{W(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):u.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)}));d.push(a),l.fitBounds(r)}W(),M.forEach((function(e){var t=e.id.split("|");u.push(e.content.addEventListener("mouseover",(function(e){W(),A(e,t[1]+"<br>Farm "+t[2])}))),u.push(e.content.addEventListener("mousemove",Z)),u.push(e.content.addEventListener("mouseout",W))}))}}}function F(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function N(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function V(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function H(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function $(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function G(e,a,c,g,p,u,d){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 C=[];C.push([r-2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s+1.5*L*i]),f.push(C);var I=0;if(C.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||I++})),0==I){if(!(f.length>2)){h=K(L,e,g,p,u,d);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,u,d);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 u=Date.now()+Math.floor(1e5*Math.random()),h=new google.maps.Polygon({path:p,id:u.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 Pt).edit(l,h,x,g)}}));return d.push(y),l.fitBounds(f),u}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()),u=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(u),z=(z=new Ut).edit(l,u,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 d.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()),u=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(u),P=(P=new Zt).edit(l,u,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 d.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()),u=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(u),E=(E=new Wt).edit(l,u,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 d.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(),F(),$(),function(e,t,o,n,i,s,r,a,g){var u,m,f=e,v=null,y=null;c=new google.maps.LatLngBounds,f.forEach((function(e){u=e.poly.split(","),m=[],u.forEach((function(e){var t=At.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 C=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),s,r)}));d.push(C),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function te(e,t,o,n,i,s){H(),N(),V(),F(),$();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}))}));d.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}))}));d.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}))}));d.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(),F(),$();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}))}));d.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}))}));d.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}))}));d.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=At.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}}));d.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(),F(),$(),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(),F(),$(),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])})}));u.push(n);var i=e.content.addEventListener("mouseover",(function(e){W(),A(e,o)}));u.push(i);var s=e.content.addEventListener("mousemove",(function(e){Z(e)}));u.push(s);var r=e.content.addEventListener("mouseout",(function(e){W()}));u.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&&j(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)}))})),d.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(),I.forEach((function(e){e.setMap(null),e=null})),I=[],C.forEach((function(e){e.setMap(null),e=null})),C=[],F(),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 Pt).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 Pt).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=[],C=[],I=[],b=[],w=[],k=[],M=[],c=null},a.fmarkers_clear=function(){M.forEach((function(e){e.setMap(null),e=null})),M=[]},a.mapListeners_clear=function(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]},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 Pt).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 Pt).delete(l,x),x=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Ut).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 Zt).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 Wt).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 Pt).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 Pt).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,u){if(e)return G(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),f=h.lat(),v=h.lng(),y=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n-80*n)),y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n-80*n)));var L=Date.now()+Math.floor(1e5*Math.random()),C=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(C),x=(new Pt).edit(l,C,x,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,u){if(e)return G(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],C=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n-80*n)),L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n-80*n)),C.push([y+p*n-80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i+60*i]),f.push(C));var I=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:I.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),I},a.Shape_CircleFull_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,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 C=0,I=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Ut).get(s,r,z,C,I);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,u,P,x,z,d,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,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),P=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Ut).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 Ut).edit(l,_,z,P,E,c,C),O},a.Shape_CircleSector_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,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 C=60,I=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Zt).get(s,r,z,C,I);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,u,P,x,z,d,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,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Zt).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 Zt).edit(l,_,P,z,E,c,C),O},a.Shape_CircleSegment_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,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 C=0,I=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Zt).get(s,r,z,C,I);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,u,P,x,z,d,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,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),P=kt(M,x,M,x+80*n),S=(new Wt).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 Wt).edit(l,_,E,z,P,c,C),O},a.RenderRegionFarms=function(e,t,o,n,i){t&&j(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 Et(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 Pt).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 Zt).edit(l,o,P,i,s,t,C)}},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 Ut).edit(l,o,z,i,s,t,C)}},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 Wt).edit(l,o,E,i,s,t,C)}},a.RenderRegions=function(e,t,o,n,i,s){var r=null,a=null,c=null;L=[],d=[];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=At.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 u=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),i,s)}));d.push(u),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)})),j(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,u=[],d=0;d<o;++d)u.push((i=e,s=t,r=2*Math.PI*-d/o,a=void 0,l=void 0,c=void 0,g=void 0,p=void 0,a=xt(i[1]),l=xt(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?u:u.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,u){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 C=0;p&&(C=1);var I=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(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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)}));d.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(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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)}));d.push(x),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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=[],u=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&&u.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",id:r.Id});var m=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!c){var e=l.getProjection().fromLatLngToPoint(u.getSouthWest()),i=l.getProjection().fromLatLngToPoint(u.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),Q(u.getCenter(),t,o),c=!c}}));if(d.push(m),l.fitBounds(u),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)})),C=google.maps.event.addListener(a,"mouseout",(function(e){W()}));p.push(f),p.push(v),p.push(C)}if(s){var I=google.maps.event.addListener(a,"click",(function(e){h.PolygonOnClick({id:r.Id,poly:r.Poly,lat:e.latLng.lat(),lng:e.latLng.lng()})}));p.push(I)}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)}))}));d.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)}));d.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)}));d.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 Vt={width:"100%",height:"100%"},Ht={lat:-25.7652061,lng:28.2710333},$t=["places","marker","geometry"],Gt={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},Yt=e.memo((function(t){var o=t.gmAPIkey,n=t.jpMap,i=e.useState(null),s=i[0],r=i[1],a=function(t){var o=t.mapInstance,n=e.useRef(null);return e.useEffect((function(){if(o){var e=new Nt(o);return n.current=e,function(){n.current&&n.current.map_clear()}}}),[o]),{mapManager:n.current}}({mapInstance:s}).mapManager,l=function(t){var o=t.id,n=void 0===o?Z.id:o,i=t.version,s=void 0===i?Z.version:i,r=t.nonce,a=t.googleMapsApiKey,l=t.language,c=t.region,g=t.libraries,p=void 0===g?$:g,u=t.preventGoogleFontsLoading,d=t.mapIds,h=t.authReferrerPolicy,m=e.useRef(!1),f=e.useState(!1),v=f[0],y=f[1],L=e.useState(void 0),C=L[0],I=L[1];e.useEffect((function(){return m.current=!0,function(){m.current=!1}}),[]);var b=e.useMemo((function(){return new H({id:n,apiKey:a,version:s,libraries:p,language:l||"en",region:c||"US",mapIds:d||[],nonce:r||"",authReferrerPolicy:h||"origin"})}),[n,a,s,p,l,c,d,r,h]);e.useEffect((function(){v||b.load().then((function(){m.current&&y(!0)})).catch((function(e){I(e)}))}),[]),e.useEffect((function(){O&&u&&B()}),[u]);var w=e.useRef();return e.useEffect((function(){w.current&&p!==w.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"),w.current=p}),[p]),{isLoaded:v,loadError:C}}({id:"google-map-script",googleMapsApiKey:o,libraries:$t}).isLoaded,c=e.useCallback((function(e){r(e)}),[]);e.useEffect((function(){null!==s&&n({isMapInitialized:!0,mapObject:s,mapManager:a})}),[s,n]);var g=e.useCallback((function(e){r(null)}),[]);return l?u.jsx(S,{mapContainerStyle:Vt,center:Ht,zoom:5,options:Gt,onLoad:c,onUnmount:g,children:u.jsx(u.Fragment,{})}):u.jsx(u.Fragment,{})}));module.exports=Yt;
|
|
54
54
|
//# sourceMappingURL=index.js.map
|