1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8791],{69378:function(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,a;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!==r--;)if(!Object.prototype.hasOwnProperty.call(n,a[r]))return!1;for(r=o;0!==r--;){var i=a[r];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n}},51949:function(e,t,n){"use strict";function o(e){this.message=e}o.prototype=new Error,o.prototype.name="InvalidCharacterError";var r="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new o("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,a=0,i=0,s="";r=t.charAt(i++);~r&&(n=a%4?64*n+r:r,a++%4)?s+=String.fromCharCode(255&n>>(-2*a&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return s};function a(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return r(t)}}function i(e){this.message=e}i.prototype=new Error,i.prototype.name="InvalidTokenError",t.Z=function(e,t){if("string"!=typeof e)throw new i("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(a(e.split(".")[n]))}catch(e){throw new i("Invalid token specified: "+e.message)}}},73614:function(e,t,n){var o;e.exports=(o=n(2784),function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(4)},function(e,t,n){e.exports=n(6)()},function(e,t){e.exports=o},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return decodeURIComponent(e.replace(new RegExp("^(?:.*[&\\?]"+encodeURIComponent(t).replace(/[\.\+\*]/g,"\\$&")+"(?:\\=([^&]*))?)?.*$","i"),"$1"))}},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=o(n(2)),c=o(n(1)),d=o(n(5)),p=o(n(3)),f=function(){var e=!1;try{e=!!(window.navigator&&window.navigator.standalone||navigator.userAgent.match("CriOS")||navigator.userAgent.match(/mobile/i))}catch(t){}return e},g=function(e){function t(){var e,n,o;r(this,t);for(var i=arguments.length,l=Array(i),u=0;u<i;u++)l[u]=arguments[u];return n=o=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),o.state={isSdkLoaded:!1,isProcessing:!1},o.responseApi=function(e){window.FB.api("/me",{locale:o.props.language,fields:o.props.fields},(function(t){s(t,e),o.props.callback(t)}))},o.checkLoginState=function(e){o.setStateIfMounted({isProcessing:!1}),e.authResponse?o.responseApi(e.authResponse):o.props.onFailure?o.props.onFailure({status:e.status}):o.props.callback({status:e.status})},o.checkLoginAfterRefresh=function(e){"connected"===e.status?o.checkLoginState(e):window.FB.login((function(e){return o.checkLoginState(e)}),!0)},o.click=function(e){if(o.state.isSdkLoaded&&!o.state.isProcessing&&!o.props.isDisabled){o.setState({isProcessing:!0});var t=o.props,n=t.scope,r=t.appId,a=t.onClick,i=t.returnScopes,s=t.responseType,l=t.redirectUri,u=t.disableMobileRedirect,c=t.authType,p=t.state;if("function"!=typeof a||(a(e),!e.defaultPrevented)){var f={client_id:r,redirect_uri:l,state:p,return_scopes:i,scope:n,response_type:s,auth_type:c};if(o.props.isMobile&&!u)window.location.href="https://www.facebook.com/dialog/oauth"+(0,d.default)(f);else{if(!window.FB)return void(o.props.onFailure&&o.props.onFailure({status:"facebookNotLoaded"}));window.FB.login(o.checkLoginState,{scope:n,return_scopes:i,auth_type:f.auth_type})}}}},a(o,n)}
1return i(t,e),l(t,[{key:"componentDidMount",value:function(){if(this._isMounted=!0,document.getElementById("facebook-jssdk"))this.sdkLoaded();else{this.setFbAsyncInit(),this.loadSdkAsynchronously();var e=document.getElementById("fb-root");e||((e=document.createElement("div")).id="fb-root",document.body.appendChild(e))}}},{key:"componentWillReceiveProps",value:function(e){this.state.isSdkLoaded&&e.autoLoad&&!this.props.autoLoad&&window.FB.getLoginStatus(this.checkLoginAfterRefresh)}},{key:"componentWillUnmount",value:function(){this._isMounted=!1}},{key:"setStateIfMounted",value:function(e){this._isMounted&&this.setState(e)}},{key:"setFbAsyncInit",value:function(){var e=this,t=this.props,n=t.appId,o=t.xfbml,r=t.cookie,a=t.version,i=t.autoLoad;window.fbAsyncInit=function(){window.FB.init({version:"v"+a,appId:n,xfbml:o,cookie:r}),e.setStateIfMounted({isSdkLoaded:!0}),(i||e.isRedirectedFromFb())&&window.FB.getLoginStatus(e.checkLoginAfterRefresh)}}},{key:"isRedirectedFromFb",value:function(){var e=window.location.search;return(0,p.default)(e,"code")||(0,p.default)(e,"granted_scopes")}},{key:"sdkLoaded",value:function(){this.setState({isSdkLoaded:!0})}},{key:"loadSdkAsynchronously",value:function(){var e=this.props.language;!function(t,n,o){var r=t.getElementsByTagName(n)[0],a=r,i=r;t.getElementById(o)||((i=t.createElement(n)).id=o,i.src="https://connect.facebook.net/"+e+"/sdk.js",a.parentNode.insertBefore(i,a))}(document,"script","facebook-jssdk")}},{key:"render",value:function(){var e=this.props.render;if(!e)throw new Error("ReactFacebookLogin requires a render prop to render");var t={onClick:this.click,isDisabled:!!this.props.isDisabled,isProcessing:this.state.isProcessing,isSdkLoaded:this.state.isSdkLoaded};return this.props.render(t)}}]),t}(u.default.Component);g.propTypes={isDisabled:c.default.bool,callback:c.default.func.isRequired,appId:c.default.string.isRequired,xfbml:c.default.bool,cookie:c.default.bool,authType:c.default.string,scope:c.default.string,state:c.default.string,responseType:c.default.string,returnScopes:c.default.bool,redirectUri:c.default.string,autoLoad:c.default.bool,disableMobileRedirect:c.default.bool,isMobile:c.default.bool,fields:c.default.string,version:c.default.string,language:c.default.string,onClick:c.default.func,onFailure:c.default.func,render:c.default.func.isRequired},g.defaultProps={redirectUri:"undefined"!=typeof window?window.location.href:"/",scope:"public_profile,email",returnScopes:!1,xfbml:!1,cookie:!1,authType:"",fields:"name",version:"2.3",language:"en_US",disableMobileRedirect:!1,isMobile:f(),onFailure:null,state:"facebookdirect",responseType:"code"},t.default=g},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"?"+Object.keys(e).map((function(t){return t+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";function o(){}var r=n(7);e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=n}]))},22931:function(e,t,n){"use strict";n.d(t,{D5:function(){return T},_Q:function(){return W},un:function(){return v}});var o=n(2784),r=n(28316),a=n(69378);function i(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},s.apply(this,arguments)}function l(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}const u="NOT_LOADED",c="LOADING",d="LOADED",p="FAILED",f="AUTH_FAILURE";class g{static async load(e,t){var n;const o=e.libraries?e.libraries.split(","):[],r=this.serializeParams(e);this.listeners.push(t),null!=(n=window.google)&&null!=(n=n.maps)&&n.importLibrary?(this.serializedApiParams||(this.loadingStatus=d),this.notifyLoadingStatusListeners()):(this.serializedApiParams=r,this.initImportLibrary(e)),this.serializedApiParams&&this.serializedApiParams!==r&&c
1onsole.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 a=["maps",...o];await Promise.all(a.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,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.nonce)||"",r.onerror=()=>{this.loadingStatus=p,this.notifyLoadingStatusListeners(),n(new Error("The Google Maps JavaScript API could not load."))},window.__googleMapsCallback__=()=>{this.loadingStatus=d,this.notifyLoadingStatusListeners(),t()},window.gm_authFailure=()=>{this.loadingStatus=f,this.notifyLoadingStatusListeners()},this.loadingStatus=c,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)}}g.loadingStatus=u,g.serializedApiParams=void 0,g.listeners=[];const m=["onLoad","apiKey","version","libraries"],h=["children"],b=o.createContext(null);const v=e=>{const{children:t}=e,n=l(e,h),{mapInstances:r,addMapInstance:a,removeMapInstance:u,clearMapInstances:c}=function(){const[e,t]=(0,o.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t((t=>s({},t,{[n]:e})))},removeMapInstance:(e="default")=>{t((t=>l(t,[e].map(i))))},clearMapInstances:()=>{t({})}}}(),{status:d,loadedLibraries:p,importLibrary:f}=function(e){const{onLoad:t,apiKey:n,version:r,libraries:a=[]}=e,i=l(e,m),[u,c]=(0,o.useState)(g.loadingStatus),[d,p]=(0,o.useReducer)(((e,t)=>s({},e,{[t.name]:t.value})),{}),f=(0,o.useMemo)((()=>null==a?void 0:a.join(",")),[a]),h=(0,o.useMemo)((()=>JSON.stringify(s({apiKey:n,version:r},i))),[n,r,i]),b=(0,o.useCallback)((async e=>{var t;if(d[e])return d[e];if(null==(t=google)||null==(t=t.maps)||!t.importLibrary)throw new Error("[api-provider-internal] importLibrary was called before google.maps.importLibrary was defined.");const n=await window.google.maps.importLibrary(e);return p({name:e,value:n}),n}),[d]);return(0,o.useEffect)((()=>{(async()=>{try{const e=s({key:n},i);r&&(e.v=r),(null==f?void 0:f.length)>0&&(e.libraries=f),void 0===e.solutionChannel?e.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""===e.solutionChannel&&delete e.solutionChannel,await g.load(e,(e=>c(e)));for(const t of["core","maps",...a])await b(t);t&&t()}catch(e){console.error("<ApiProvider> failed to load the Google Maps JavaScript API",e)}})()}),[n,f,h]),{status:u,loadedLibraries:d,importLibrary:b}}(n),v=(0,o.useMemo)((()=>({mapInstances:r,addMapInstance:a,removeMapInstance:u,clearMapInstances:c,status:d,loadedLibraries:p,importLibrary:f})),[r,a,u,c,d,p,f]);return o.createElement(b.Provider,{value:v},t)};function y(e,t,n){const o={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(k.includes(e)){const e=o,n=t.getCenter(),r=t.getZoom(),a=t.getHeading()||0,i=t.getTilt()||0,s=t.getBounds();return n&&s&&Number.isFinite(r)||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.toJSON())||{lat:0,lng:0},zoom:r||0,heading:a,tilt:i,bounds:(null==s?void 0:s.toJSON())||{north:90,east:180,south:-90,west:-180}},e}if(C.includes(e)){var r;if(!n)throw new Error("[createEvent] mouse events must provide a srcEvent");const e=o;
1return e.domEvent=n.domEvent,e.stoppable=!0,e.stop=()=>n.stop(),e.detail={latLng:(null==(r=n.latLng)?void 0:r.toJSON())||null,placeId:n.placeId},e}return o}const w={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"},k=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],C=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],S=Object.keys(w);function O(e,t){const n=(0,o.useRef)(void 0);n.current&&a(t,n.current)||(n.current=t),(0,o.useEffect)(e,n.current)}const L=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","zoomControl","zoomControlOptions"]);function E(){var e;return(null==(e=(0,o.useContext)(b))?void 0:e.status)||u}function I(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 _=()=>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 P(){return E()===d}function M(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.toJSON())||{lat:0,lng:0},zoom:o||0,heading:r,tilt:a})}
1(e,n),t()}));return()=>o.remove()}),[e,t]),n}const x=["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps"],F=["padding"];class R{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 j(e,t){const n=P(),[r,a]=(0,o.useState)(null),[i,s]=function(){const[e,t]=(0,o.useState)(null);return[e,(0,o.useCallback)((e=>t(e)),[t])]}(),u=M(r),{id:c,defaultBounds:d,defaultCenter:p,defaultZoom:f,defaultHeading:g,defaultTilt:m,reuseMaps:h}=e,b=l(e,x),v=void 0!==e.zoom||void 0!==e.defaultZoom,y=void 0!==e.center||void 0!==e.defaultCenter;d||v&&y||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"),!b.center&&p&&(b.center=p),!b.zoom&&Number.isFinite(f)&&(b.zoom=f),!b.heading&&Number.isFinite(g)&&(b.heading=g),!b.tilt&&Number.isFinite(m)&&(b.tilt=m);for(const o of Object.keys(b))void 0===b[o]&&delete b[o];const w=(0,o.useRef)();return(0,o.useEffect)((()=>{if(!i||!n)return;const{addMapInstance:o,removeMapInstance:r}=t,s=e.mapId,p=s||"default";let f,g;if(h&&R.has(p)?(g=R.pop(p),f=g.getDiv(),i.appendChild(f),g.setOptions(b),setTimeout((()=>g.setCenter(g.getCenter())),0)):(f=document.createElement("div"),f.style.height="100%",i.appendChild(f),g=new google.maps.Map(f,b)),a(g),o(g,c),d){const{padding:e}=d,t=l(d,F);g.fitBounds(t,e)}else v&&y||g.fitBounds({east:180,west:-180,south:-90,north:90});if(w.current){const{mapId:e,cameraState:t}=w.current;e!==s&&g.setOptions(t)}return()=>{w.current={mapId:s,cameraState:u.current},f.remove(),h?R.push(p,g):google.maps.event.clearInstanceListeners(g),a(null),r(c)}}),[i,n,c,e.mapId]),[r,s,u]}R.entries={};const A=o.createContext(null),T=e=>{const{children:t,id:n,className:r,style:a}=e,i=(0,o.useContext)(b),l=E();if(!i)throw new Error("<Map> can only be used inside an <ApiProvider> component.");const[u,c,d]=j(e,i);!function(e,t,n){const r=n.center?I(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,u=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!==u&&t.current.tilt!==u&&(n.tilt=u,o=!0),o&&e.moveCamera(n)}))}(u,d,e),function(e,t){for(const n of S){const r=t[n],a=w[n];(0,o.useEffect)((()=>{if(!e)return;if(!r)return;const t=google.maps.event.addListener(e,a,(t=>{r(y(a,e,t))}));return()=>t.remove()}),[e,a,r])}}(u,e),function(e,t){const n={},o=Object.keys(t);for(const r of o)L.has(r)&&(n[r]=t[r]);O((()=>{e&&e.setOptions(n)}),[n])}(u,e);const p=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}(u,e),g=!!e.controlled;(0,o.useEffect)((()=>{if(u)return p&&u.setOptions({disableDefaultUI:!0}),(p||g)&&u.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{u.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}}),[u,p,g,e.gestureHandling,e.keyboardShortcuts]);const m=e.center?I(e.center):null;let h=null,v=null;m&&Number.isFinite(m.lat)&&Number.isFinite(m.lng)&&(h=m.lat,v=m.lng);const k=(0,o.useMemo)((()=>{var t,n,o,r,a;return{center:{lat:null!=(t=h)?t:0,lng:null!=(n=v)?n:0},zoom:null!=(o=e.zoom)?o:0,heading:null!=(r=e.heading)?r:0,tilt:null!=(a=e.tilt)?a:0}}),[h,v,e.zoom,e.heading,e.tilt]);(0,o.useLayoutEffect)((()=>{if(!u||!g)return;u.moveCamera(k);const e=u.addListener("bounds_changed",(()=>{u.moveCamera(k)}));return()=>e.remove()}),[u,g,k]);const C=(0,o.useMemo)((()=>s({width:"100%",height:"100%",position:"relative",zIndex:p?-1:0},a)),[a,p]),P=(0,o.useMemo)((()=>({map:u})),[u]);return l===f?o.createElement("div",{style:s({position:"relative"},r?{}:C),className:r},o.createElement(_,null)):o.createElement("div",s({ref:c,"data-testid":"map",style:r?void 0:C,className:r},n?{id:n}:{}),u?o.createElement(A.Provider,{value:P},t):null)};T.deckGLViewProps=!0;const z=new Set;function N(...e){const t=JSON.stringify(e);z.has(t)||(z.add(t),console.error(...e))}const D=(e=null)=>{const t=(0,o.useContext)(b),{map:n}=(0,o.useContext)(A)||{};if(null===t)return N("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 B(e){const t=P(),n=(0,o.useContext)(b);return(0,o.useEffect)((()=>{t&&n&&n.importLibrary(e)}),[t,n,e]),(null==n?void 0:n.loadedLibraries[e])||null}function U(e,t,n){if(null!=t&&"object"!==typeof t)throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");const o=e.style;if(null!=n){for(const e in n)if(n.hasOwnProperty(e)&&(null==t||!t.hasOwnProperty(e))){0===e.indexOf("--")?o.setProperty(e,""):"float"===e?o.cssFloat="":o[e]=""}if(null!=t)for(const e in t){const r=t[e];t.hasOwnProperty(e)&&n[e]!==r&&Z(o,e,r)}}else{if(null==t)return;for(const e in t)t.hasOwnProperty(e)&&Z(o,e,t[e])}}function Z(e,t,n){const o=0===t.indexOf("--");var r;null==n||"boolean"===typeof n||""===n?o?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":o?e.setProperty(t,n):"number"!==typeof n||0===n||(r=t,H.has(r))?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}const H=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","o
1pacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]);function J(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 G(e,t,n){(0,o.useEffect)((()=>{e&&(e[t]=n)}),[e,t,n])}const q=o.createContext(null);const W=(0,o.forwardRef)(((e,t)=>{const{children:n}=e,[a,i]=function(e){const[t,n]=(0,o.useState)(null),[r,a]=(0,o.useState)(null),i=(0,o.useRef)(null),s=D(),l=B("marker"),{children:u,className:c,style:d,onClick:p,onDrag:f,onDragStart:g,onDragEnd:m,collisionBehavior:h,clickable:b,draggable:v,position:y,title:w,zIndex:k}=e,C=o.Children.count(u);return(0,o.useEffect)((()=>{if(!s||!l)return;const e=new l.AdvancedMarkerElement;e.map=s,n(e);let t=null;return C>0&&(t=document.createElement("div"),e.content=t,a(t)),()=>{var o;e.map=null,null==(o=t)||o.remove(),n(null),a(null)}}),[s,l,C]),(0,o.useEffect)((()=>{t&&t.content&&(t.content.className=c||"")}),[t,c]),G(r,"className",null!=c?c:""),(0,o.useEffect)((()=>{r&&(U(r,d||null,i.current),i.current=d||null)}),[r,c,d]),G(t,"position",y),G(t,"title",null!=w?w:""),G(t,"zIndex",k),G(t,"collisionBehavior",h),(0,o.useEffect)((()=>{t&&(t.gmpDraggable=void 0!==v?v:!!(f||g||m))}),[t,v,f,m,g]),(0,o.useEffect)((()=>{t&&(t.gmpClickable=void 0!==b?b:!!p)}),[t,b,p]),J(t,"click",p),J(t,"drag",f),J(t,"dragstart",g),J(t,"dragend",m),[t,r]}(e),s=(0,o.useMemo)((()=>a?{marker:a}:null),[a]);return(0,o.useImperativeHandle)(t,(()=>a),[a]),i?o.createElement(q.Provider,{value:s},(0,r.createPortal)(n,i)):null}));const V=["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"];(0,o.forwardRef)(((e,t)=>{const n=function(e){const[t,n]=(0,o.useState)(null),r=D(),{onClick:a,onDrag:i,onDragStart:s,onDragEnd:u,onMouseOver:c,onMouseOut:d}=e,p=l(e,V),{position:f,draggable:g}=p;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(p);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),i&&n.addListener(e,"drag",i),s&&n.addListener(e,"dragstart",s),u&&n.addListener(e,"dragend",u),c&&n.addListener(e,"mouseover",c),d&&n.addListener(e,"mouseout",d),t.setDraggable(Boolean(g)),()=>{n.clearInstanceListeners(e)}}),[t,g,a,i,s,u,c,d]),(0,o.useEffect)((()=>{t&&p&&t.setOptions(p)}),[t,p]),(0,o.useEffect)((()=>{!g&&f&&t&&t.setPosition(f)}),[g,f,t]),t}(e);return(0,o.useImperativeHandle)(t,(()=>n),[n]),o.createElement(o.Fragment,null)}))},96412:function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,{Z:function(){return o}})},13089:function(e,t,n){"use strict";function o(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function r(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}n.d(t,{Z:function(){return r}})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.