File: //opt/netdata/usr/local/local/local/share/netdata/web/v3/4550.9b6ee250980fdcb91e74.chunk.js
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"4feb900574abdd30667a599041aadc4fc9f8ac80"};var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d25ab03c-9f72-4669-921f-4ee64ea7fb88",e._sentryDebugIdIdentifier="sentry-dbid-d25ab03c-9f72-4669-921f-4ee64ea7fb88")}catch(e){}}(),(globalThis.webpackChunkcloud_frontend=globalThis.webpackChunkcloud_frontend||[]).push([[4550],{54550(e,t,n){n.d(t,{J8:()=>U,T5:()=>A,c4:()=>h,ko:()=>D});var o=n(96540),r=n(40961),a=n(32017);function i(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function s(e,t,n,o){return new(n||(n=Promise))(function(r,a){function i(e){try{l(o.next(e))}catch(t){a(t)}}function s(e){try{l(o.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}l((o=o.apply(e,t||[])).next())})}"function"===typeof SuppressedError&&SuppressedError;const l="NOT_LOADED",d="LOADING",c="LOADED",u="FAILED",g="AUTH_FAILURE";class m{static load(e,t){return s(this,void 0,void 0,function*(){var n,o;const r=e.libraries?e.libraries.split(","):[],a=this.serializeParams(e);this.listeners.push(t),(null===(o=null===(n=window.google)||void 0===n?void 0:n.maps)||void 0===o?void 0:o.importLibrary)?(this.serializedApiParams||(this.loadingStatus=c),this.notifyLoadingStatusListeners()):(this.serializedApiParams=a,this.initImportLibrary(e)),this.serializedApiParams&&this.serializedApiParams!==a&&console.warn("[google-maps-api-loader] The maps API has already been loaded with different parameters and will not be loaded again. Refresh the page for new values to have effect.");const i=["maps",...r];yield Promise.all(i.map(e=>google.maps.importLibrary(e)))})}static serializeParams(e){return[e.v,e.key,e.language,e.region,e.authReferrerPolicy,e.solutionChannel].join("/")}static initImportLibrary(e){if(window.google||(window.google={}),window.google.maps||(window.google.maps={}),window.google.maps.importLibrary)return void console.error("[google-maps-api-loader-internal]: initImportLibrary must only be called once");let t=null;const n=()=>t||(t=new Promise((t,n)=>{var o;const r=document.createElement("script"),a=new URLSearchParams;for(const[i,s]of Object.entries(e)){const e=i.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase());a.set(e,String(s))}a.set("loading","async"),a.set("callback","__googleMapsCallback__"),r.async=!0,r.src="https://maps.googleapis.com/maps/api/js?"+a.toString(),r.nonce=(null===(o=document.querySelector("script[nonce]"))||void 0===o?void 0:o.nonce)||"",r.onerror=()=>{this.loadingStatus=u,this.notifyLoadingStatusListeners(),n(new Error("The Google Maps JavaScript API could not load."))},window.__googleMapsCallback__=()=>{this.loadingStatus=c,this.notifyLoadingStatusListeners(),t()},window.gm_authFailure=()=>{this.loadingStatus=g,this.notifyLoadingStatusListeners()},this.loadingStatus=d,this.notifyLoadingStatusListeners(),document.head.append(r)}),t);google.maps.importLibrary=e=>n().then(()=>google.maps.importLibrary(e))}static notifyLoadingStatusListeners(){for(const e of this.listeners)e(this.loadingStatus)}}m.loadingStatus=l,m.listeners=[];const p=["gmp_visgl_reactgooglemaps_v1.7.1"],f=o.createContext(null);const h=e=>{const{children:t}=e,n=i(e,["children"]),{mapInstances:r,addMapInstance:a,removeMapInstance:l,clearMapInstances:d}=function(){const[e,t]=(0,o.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>{var n=e;return t[n],i(t,["symbol"===typeof n?n:n+""])})},clearMapInstances:()=>{t({})}}}(),{status:c,loadedLibraries:u,importLibrary:g}=function(e){const{onLoad:t,onError:n,apiKey:r,version:a,libraries:l=[]}=e,d=i(e,["onLoad","onError","apiKey","version","libraries"]),[c,u]=(0,o.useState)(m.loadingStatus),[g,p]=(0,o.useReducer)((e,t)=>e[t.name]?e:Object.assign(Object.assign({},e),{[t.name]:t.value}),{}),f=(0,o.useMemo)(()=>null===l||void 0===l?void 0:l.join(","),[l]),h=(0,o.useMemo)(()=>JSON.stringify(Object.assign({apiKey:r,version:a},d)),[r,a,d]),v=(0,o.useCallback)(e=>s(this,void 0,void 0,function*(){var t;if(g[e])return g[e];if(!(null===(t=null===google||void 0===google?void 0:google.maps)||void 0===t?void 0:t.importLibrary))throw new Error("[api-provider-internal] importLibrary was called before google.maps.importLibrary was defined.");const n=yield window.google.maps.importLibrary(e);return p({name:e,value:n}),n}),[g]);return(0,o.useEffect)(()=>{(()=>{s(this,void 0,void 0,function*(){try{const e=Object.assign({key:r},d);a&&(e.v=a),(null===f||void 0===f?void 0:f.length)>0&&(e.libraries=f),(void 0===e.channel||e.channel<0||e.channel>999)&&delete e.channel,void 0===e.solutionChannel?e.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""===e.solutionChannel&&delete e.solutionChannel,yield m.load(e,e=>u(e));for(const t of["core","maps",...l])yield v(t);t&&t()}catch(e){n?n(e):console.error("<ApiProvider> failed to load the Google Maps JavaScript API",e)}})})()},[r,f,h]),{status:c,loadedLibraries:g,importLibrary:v}}(n),h=function(e){return(0,o.useMemo)(()=>e.disableUsageAttribution?null:p,[e.disableUsageAttribution])}(n),v=(0,o.useMemo)(()=>({mapInstances:r,addMapInstance:a,removeMapInstance:l,clearMapInstances:d,status:c,loadedLibraries:u,importLibrary:g,internalUsageAttributionIds:h}),[r,a,l,d,c,u,g,h]);return o.createElement(f.Provider,{value:v},t)};function v(e,t,n){var o;const r={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(y.includes(e)){const e=r,n=t.getCenter(),o=t.getZoom(),a=t.getHeading()||0,i=t.getTilt()||0,s=t.getBounds();return n&&s&&Number.isFinite(o)||console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),e.detail={center:(null===n||void 0===n?void 0:n.toJSON())||{lat:0,lng:0},zoom:o||0,heading:a,tilt:i,bounds:(null===s||void 0===s?void 0:s.toJSON())||{north:90,east:180,south:-90,west:-180}},e}if(E.includes(e)){if(!n)throw new Error("[createEvent] mouse events must provide a srcEvent");const e=r;return e.domEvent=n.domEvent,e.stoppable=!0,e.stop=()=>n.stop(),e.detail={latLng:(null===(o=n.latLng)||void 0===o?void 0:o.toJSON())||null,placeId:n.placeId},e}return r}const b={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},y=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],E=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],C=Object.keys(b);function w(e,t){const n=function(e){const t=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{t.current=e}),t.current}(e);return(0,o.useMemo)(()=>n&&t(n,e)?n:e,[e,n,t])}function O(e,t){!function(e,t,n){(0,o.useEffect)(e,[w(t,n)])}(e,t,a)}const I=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","headingInteractionEnabled","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","tiltInteractionEnabled","zoomControl","zoomControlOptions"]);function L(){var e;return(null===(e=(0,o.useContext)(f))||void 0===e?void 0:e.status)||l}function S(e){return function(e){return!(!e||"object"!==typeof e)&&"lat"in e&&"lng"in e&&Number.isFinite(e.lat)&&Number.isFinite(e.lng)}(e)?e:e.toJSON()}const T=()=>o.createElement("div",{style:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:999,display:"flex",flexFlow:"column nowrap",textAlign:"center",justifyContent:"center",fontSize:".8rem",color:"rgba(0,0,0,0.6)",background:"#dddddd",padding:"1rem 1.5rem"}},o.createElement("h2",null,"Error: AuthFailure"),o.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",o.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."));function M(){return L()===c}function k(e){const t=function(){const[,e]=(0,o.useReducer)(e=>e+1,0);return e}(),n=(0,o.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});return(0,o.useEffect)(()=>{if(!e)return;const o=google.maps.event.addListener(e,"bounds_changed",()=>{!function(e,t){const n=e.getCenter(),o=e.getZoom(),r=e.getHeading()||0,a=e.getTilt()||0,i=e.getBounds();n&&i&&Number.isFinite(o)||console.warn("[useTrackedCameraState] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),Object.assign(t.current,{center:(null===n||void 0===n?void 0:n.toJSON())||{lat:0,lng:0},zoom:o||0,heading:r,tilt:a})}(e,n),t()});return()=>o.remove()},[e,t]),n}class _{static has(e){return this.entries[e]&&this.entries[e].length>0}static pop(e){return this.entries[e]&&this.entries[e].pop()||null}static push(e,t){this.entries[e]||(this.entries[e]=[]),this.entries[e].push(t)}}function P(e,t){const n=M(),[r,a]=(0,o.useState)(null),[s,l]=function(){const[e,t]=(0,o.useState)(null);return[e,(0,o.useCallback)(e=>t(e),[t])]}(),d=k(r),{id:c,defaultBounds:u,defaultCenter:g,defaultZoom:m,defaultHeading:p,defaultTilt:f,reuseMaps:h,renderingType:v,colorScheme:b}=e,y=i(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),E=void 0!==e.zoom||void 0!==e.defaultZoom,C=void 0!==e.center||void 0!==e.defaultCenter;u||E&&C||console.warn("<Map> component is missing configuration. You have to provide zoom and center (via the `zoom`/`defaultZoom` and `center`/`defaultCenter` props) or specify the region to show using `defaultBounds`. See https://visgl.github.io/react-google-maps/docs/api-reference/components/map#required"),!y.center&&g&&(y.center=g),!y.zoom&&Number.isFinite(m)&&(y.zoom=m),!y.heading&&Number.isFinite(p)&&(y.heading=p),!y.tilt&&Number.isFinite(f)&&(y.tilt=f);const w=y.internalUsageAttributionIds;y.internalUsageAttributionIds=null==w?t.internalUsageAttributionIds:[...t.internalUsageAttributionIds||[],...w];for(const o of Object.keys(y))void 0===y[o]&&delete y[o];const O=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{if(!s||!n)return;const{addMapInstance:o,removeMapInstance:r}=t,{mapId:l}=e,g=`${l||"default"}:${v||"default"}:${b||"LIGHT"}`;let m,p;if(h&&_.has(g)?(p=_.pop(g),m=p.getDiv(),s.appendChild(m),p.setOptions(y),setTimeout(()=>p.setCenter(p.getCenter()),0)):(m=document.createElement("div"),m.style.height="100%",s.appendChild(m),p=new google.maps.Map(m,Object.assign(Object.assign(Object.assign({},y),v?{renderingType:v}:{}),b?{colorScheme:b}:{}))),a(p),o(p,c),u){const{padding:e}=u,t=i(u,["padding"]);p.fitBounds(t,e)}else E&&C||p.fitBounds({east:180,west:-180,south:-90,north:90});if(O.current){const{mapId:e,cameraState:t}=O.current;e!==l&&p.setOptions(t)}return()=>{O.current={mapId:l,cameraState:d.current},m.remove(),h?_.push(g,p):google.maps.event.clearInstanceListeners(p),a(null),r(c)}},[s,n,c,e.mapId,e.renderingType,e.colorScheme]),[r,l,d]}_.entries={};const N=o.createContext(null),A=e=>{const{children:t,id:n,className:r,style:a}=e,i=(0,o.useContext)(f),s=L();if(!i)throw new Error("<Map> can only be used inside an <ApiProvider> component.");const[l,d,c]=P(e,i);!function(e,t,n){const r=n.center?S(n.center):null;let a=null,i=null;r&&Number.isFinite(r.lat)&&Number.isFinite(r.lng)&&(a=r.lat,i=r.lng);const s=Number.isFinite(n.zoom)?n.zoom:null,l=Number.isFinite(n.heading)?n.heading:null,d=Number.isFinite(n.tilt)?n.tilt:null;(0,o.useLayoutEffect)(()=>{if(!e)return;const n={};let o=!1;null===a||null===i||t.current.center.lat===a&&t.current.center.lng===i||(n.center={lat:a,lng:i},o=!0),null!==s&&t.current.zoom!==s&&(n.zoom=s,o=!0),null!==l&&t.current.heading!==l&&(n.heading=l,o=!0),null!==d&&t.current.tilt!==d&&(n.tilt=d,o=!0),o&&e.moveCamera(n)})}(l,c,e),function(e,t){for(const n of C){const r=t[n],a=b[n];(0,o.useEffect)(()=>{if(!e)return;if(!r)return;const t=google.maps.event.addListener(e,a,t=>{r(v(a,e,t))});return()=>t.remove()},[e,a,r])}}(l,e),function(e,t){const n={},o=Object.keys(t);for(const r of o)I.has(r)&&(n[r]=t[r]);O(()=>{e&&e.setOptions(n)},[n])}(l,e);const u=function(e,t){const{viewport:n,viewState:r}=t,a=!!n;return(0,o.useLayoutEffect)(()=>{if(!e||!r)return;const{latitude:t,longitude:n,bearing:o,pitch:a,zoom:i}=r;e.moveCamera({center:{lat:t,lng:n},heading:o,tilt:a,zoom:i+1})},[e,r]),a}(l,e),m=!!e.controlled;(0,o.useEffect)(()=>{if(l)return u&&l.setOptions({disableDefaultUI:!0}),(u||m)&&l.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{l.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[l,u,m,e.gestureHandling,e.keyboardShortcuts]);const p=e.center?S(e.center):null;let h=null,y=null;p&&Number.isFinite(p.lat)&&Number.isFinite(p.lng)&&(h=p.lat,y=p.lng);const E=(0,o.useMemo)(()=>{var t,n,o;return{center:{lat:null!==h&&void 0!==h?h:0,lng:null!==y&&void 0!==y?y:0},zoom:null!==(t=e.zoom)&&void 0!==t?t:0,heading:null!==(n=e.heading)&&void 0!==n?n:0,tilt:null!==(o=e.tilt)&&void 0!==o?o:0}},[h,y,e.zoom,e.heading,e.tilt]);(0,o.useLayoutEffect)(()=>{if(!l||!m)return;l.moveCamera(E);const e=l.addListener("bounds_changed",()=>{l.moveCamera(E)});return()=>e.remove()},[l,m,E]);const w=(0,o.useMemo)(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:u?-1:0},a),[a,u]),M=(0,o.useMemo)(()=>({map:l}),[l]);return s===g?o.createElement("div",{style:Object.assign({position:"relative"},r?{}:w),className:r},o.createElement(T,null)):o.createElement("div",Object.assign({ref:d,"data-testid":"map",style:r?void 0:w,className:r},n?{id:n}:{}),l?o.createElement(N.Provider,{value:M},t):null)};A.deckGLViewProps=!0;const x=new Set;function z(...e){const t=JSON.stringify(e);x.has(t)||(x.add(t),console.error(...e))}const D=(e=null)=>{const t=(0,o.useContext)(f),{map:n}=(0,o.useContext)(N)||{};if(null===t)return z("useMap(): failed to retrieve APIProviderContext. Make sure that the <APIProvider> component exists and that the component you are calling `useMap()` from is a sibling of the <APIProvider>."),null;const{mapInstances:r}=t;return null!==e?r[e]||null:n||(r.default||null)};function F(e){const t=M(),n=(0,o.useContext)(f);return(0,o.useEffect)(()=>{t&&n&&n.importLibrary(e)},[t,n,e]),(null===n||void 0===n?void 0:n.loadedLibraries[e])||null}function R(e,t,n){(0,o.useEffect)(()=>{if(!e||!t||!n)return;const o=google.maps.event.addListener(e,t,n);return()=>o.remove()},[e,t,n])}function j(e,t,n){(0,o.useEffect)(()=>{e&&(e[t]=n)},[e,t,n])}function B(e,t,n){(0,o.useEffect)(()=>{if(e&&t&&n)return e.addEventListener(t,n),()=>e.removeEventListener(t,n)},[e,t,n])}const H=new class{constructor(){this.renderedStyles=new Set,this.styleElement=null}getStyleElement(){return this.styleElement||(this.styleElement=document.createElement("style"),this.styleElement.setAttribute("data-rgm-anchor-styles",""),document.head.appendChild(this.styleElement)),this.styleElement}addAdvancedMarkerPointerEventsOverwrite(){if(this.renderedStyles.has("marker-pointer-events"))return;this.getStyleElement().textContent+="\n gmp-advanced-marker[data-origin='rgm'] {\n pointer-events: none !important;\n }\n ",this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}};const G=o.createContext(null),Z={TOP_LEFT:["0%","0%"],TOP_CENTER:["50%","0%"],TOP:["50%","0%"],TOP_RIGHT:["100%","0%"],LEFT_CENTER:["0%","50%"],LEFT_TOP:["0%","0%"],LEFT:["0%","50%"],LEFT_BOTTOM:["0%","100%"],RIGHT_TOP:["100%","0%"],RIGHT:["100%","50%"],RIGHT_CENTER:["100%","50%"],RIGHT_BOTTOM:["100%","100%"],BOTTOM_LEFT:["0%","100%"],BOTTOM_CENTER:["50%","100%"],BOTTOM:["50%","100%"],BOTTOM_RIGHT:["100%","100%"],CENTER:["50%","50%"]},U=(0,o.forwardRef)((e,t)=>{const{children:n,style:a,className:i,anchorPoint:s}=e,[l,d]=function(e){const[t,n]=(0,o.useState)(null),[r,a]=(0,o.useState)(null),i=D(),s=F("marker"),{children:l,onClick:d,className:c,onMouseEnter:u,onMouseLeave:g,onDrag:m,onDragStart:p,onDragEnd:f,collisionBehavior:h,clickable:v,draggable:b,position:y,title:E,zIndex:C,anchorPoint:w,anchorLeft:O,anchorTop:I}=e,L=o.Children.count(l);return(0,o.useEffect)(()=>{if(!i||!s)return;const e=new s.AdvancedMarkerElement;e.map=i,n(e);let t=null;return L>0&&(t=document.createElement("div"),e.content=t,a(t)),()=>{e.map=null,null===t||void 0===t||t.remove(),n(null),a(null)}},[i,s,L]),(0,o.useEffect)(()=>{!(null===t||void 0===t?void 0:t.content)||!J(t.content)||L>0||(t.content.className=null!==c&&void 0!==c?c:"")},[t,c,L]),function(e,t,n,r,a){(0,o.useEffect)(()=>{if(!e||!a)return;const o=function(e,t){var n;if(!(null===(n=null===google||void 0===google?void 0:google.maps)||void 0===n?void 0:n.version))return;const o=google.maps.version.split("."),r=parseInt(o[0],10),a=parseInt(o[1],10);return r>e||r===e&&a>=t}(3,62),i=e.content;if(i&&J(i)){if(void 0!==n||void 0!==r)return o||console.warn(`AdvancedMarker: The anchorLeft and anchorTop props are only supported in Google Maps API version 3.62 and above. The current version is ${google.maps.version}.`),e.anchorLeft=n,e.anchorTop=r,void(void 0!==t&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set."));if(void 0!==t){const[n,r]=null!==t&&void 0!==t?t:Z.BOTTOM,a=`calc(-1 * ${n})`,s=`calc(-1 * ${r})`;o?(e.anchorLeft=a,e.anchorTop=s,i.style.transform=""):(i.style.transform=`translate(50%, 100%) translate(${a}, ${s})`,e.dataset.origin="rgm",H.addAdvancedMarkerPointerEventsOverwrite())}}},[e,t,n,r,a])}(t,w,O,I,L>0),j(t,"position",y),j(t,"title",null!==E&&void 0!==E?E:""),j(t,"zIndex",C),j(t,"collisionBehavior",h),(0,o.useEffect)(()=>{t&&(t.gmpDraggable=void 0!==b?b:!!(m||p||f))},[t,b,m,f,p]),(0,o.useEffect)(()=>{if(!t)return;const e=void 0!==v||Boolean(d)||Boolean(u)||Boolean(g);t.gmpClickable=e,e&&(null===t||void 0===t?void 0:t.content)&&J(t.content)&&(t.content.style.pointerEvents="all",d&&(t.content.style.cursor="pointer"))},[t,v,d,u,g]),R(t,"click",d),R(t,"drag",m),R(t,"dragstart",p),R(t,"dragend",f),B(null===t||void 0===t?void 0:t.element,"mouseenter",u),B(null===t||void 0===t?void 0:t.element,"mouseleave",g),[t,r]}(e),c=(0,o.useMemo)(()=>l?{marker:l}:null,[l]);return(0,o.useImperativeHandle)(t,()=>l,[l]),d?o.createElement(G.Provider,{value:c},(0,r.createPortal)(o.createElement($,{anchorPoint:s,styles:a,className:i},n),d)):null});function J(e){return e.nodeType===Node.ELEMENT_NODE}U.displayName="AdvancedMarker";const $=({children:e,styles:t,className:n})=>o.createElement("div",{className:n,style:t},e);new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]);(0,o.forwardRef)((e,t)=>{const n=function(e){const[t,n]=(0,o.useState)(null),r=D(),{onClick:a,onDrag:s,onDragStart:l,onDragEnd:d,onMouseOver:c,onMouseOut:u}=e,g=i(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:m,draggable:p}=g;return(0,o.useEffect)(()=>{if(!r)return void(void 0===r&&console.error("<Marker> has to be inside a Map component."));const e=new google.maps.Marker(g);return e.setMap(r),n(e),()=>{e.setMap(null),n(null)}},[r]),(0,o.useEffect)(()=>{if(!t)return;const e=t,n=google.maps.event;return a&&n.addListener(e,"click",a),s&&n.addListener(e,"drag",s),l&&n.addListener(e,"dragstart",l),d&&n.addListener(e,"dragend",d),c&&n.addListener(e,"mouseover",c),u&&n.addListener(e,"mouseout",u),t.setDraggable(Boolean(p)),()=>{n.clearInstanceListeners(e)}},[t,p,a,s,l,d,c,u]),(0,o.useEffect)(()=>{t&&g&&t.setOptions(g)},[t,g]),(0,o.useEffect)(()=>{!p&&m&&t&&t.setPosition(m)},[p,m,t]),t}(e);return(0,o.useImperativeHandle)(t,()=>n,[n]),o.createElement(o.Fragment,null)}).displayName="Marker"}}]);