{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/aspect.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-img.js","webpack:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/leaflet/dist/images/marker-icon-2x.png","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?e440","webpack:///./node_modules/leaflet/dist/images/marker-icon.png","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?26d7","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.js","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?2793","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue?348c","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?3fe4","webpack:///./node_modules/vue2-leaflet/dist/components/LMap.js","webpack:///./node_modules/vue2-leaflet/dist/components/LTileLayer.js","webpack:///./node_modules/vue2-leaflet/dist/components/LMarker.js","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?c552","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?6103","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue?2a04","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue?2627","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue?9424","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue?d274","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue?4009","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue?5170","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue?3782","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue?c6ab","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue?3496","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?925f","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?22e0","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?5410","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue?8005","webpack:///src/components/av-skeleton/table/AvSkeletonTable.vue","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue?cf7a","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue?7283","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue?770e","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue?f5fd","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?23b8","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?4f0b","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?8900","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?a747","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?ac76","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?d474","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue","webpack:///./node_modules/leaflet/dist/leaflet-src.js","webpack:///./node_modules/leaflet/dist/images/marker-shadow.png","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?bba0"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","animation","height","size","type","variant","width","BSkeleton","extend","name","functional","render","h","_ref","_class","data","staticClass","style","class","concat","id","inline","novalidate","validated","BForm","children","attrs","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","len","length","arr2","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","isArray","CLASS_NAME","aspect","tag","BAspect","mixins","computed","padding","this","ratio","_aspect$split$map","split","map","v","_aspect$split$map2","math","$sizer","paddingBottom","$content","marginLeft","normalizeSlot","cardImg","noAspect","BSkeletonImg","$img","formValidation","resetFormData","clearFormData","arguments","refFormObserver","ref","resetObserver","_refFormObserver$valu","reset","getValidationState","dirty","fieldRequired","required","changed","_ref$valid","valid","result","resetForm","nextTick","clearForm","module","exports","loading","BSkeletonWrapper","slots","scopedSlots","$slots","$scopedSlots","slotScope","role","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","target","source","forEach","getOwnPropertyDescriptors","defineProperties","BFormRadio","inject","bvGroup","default","watch","computedLocalChecked","newValue","oldValue","$emit","_vm","_h","$createElement","_c","_self","_v","_u","fn","invalid","on","$event","preventDefault","onSubmit","fieldControl","CNPJ","optional","validationContext","slot","loadingDealership","validatingCnpj","checkStateCnpj","saving","cnpjExist","model","dealershipLocal","callback","$$v","$set","expression","errors","Codigo","Cadastrada","limitDigits","RazaoSocial","NomeFantasia","GrupoEmpresaId","groupTitle","loadingGroup","$store","state","appConfig","isRTL","groupOptions","reduceOptionValue","Matriz","Status","confirmationOptions","getAtivoMd","DataCancelamento","CodigoFaturamento","faturarCodigoBir","PendenciaFinanceira","financeOptions","EmailFaturamento","Observacoes","Site","Email","Telefone","InscricaoEstadual","InscricaoMunicipal","DataInauguracao","DataNomeacao","Associada","Montadora","CEP","Logradouro","Numero","Bairro","Complemento","EstadoId","loadingState","stateOptions","MunicipioId","loadingCities","municipioOptions","changeCityId","cityId","Coordenadas","loadingCoordenates","searchAddress","searchCoordinates","coordinates","zoom","center","url","updateCoordinates","staticRenderFns","debounce","time","timeout","args","context","clearTimeout","setTimeout","capitalizeFirstLetter","string","charAt","toUpperCase","propsBinder","vueElement","leafletElement","options","loop","setMethodName","deepValue","custom","$watch","newVal","oldVal","deep","collectionCleaner","optionsMerger","instance","defaultProps","$options","def","console","warn","Options","script","bounds","maxBounds","Number","minZoom","maxZoom","paddingBottomRight","paddingTopLeft","worldCopyJump","Boolean","crs","EPSG3857","maxBoundsViscosity","inertia","inertiaDeceleration","inertiaMaxSpeed","easeLinearity","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","noBlockingAnimations","ready","lastSetCenter","lastSetBounds","lastSetZoom","layerControl","layersToAdd","layersInControl","fitBoundsOptions","animate","beforeDestroy","mapObject","remove","mounted","this$1","$el","setBounds","moveEndHandler","overlayAddHandler","overlayRemoveHandler","$listeners","$nextTick","methods","registerLayerControl","lControlLayers","addControl","layer","addLayer","alreadyAdded","layerType","exist","find","l","_leaflet_id","visible","hideLayer","removeLayer","alreadyRemoved","setZoom","setCenter","newCenter","oldCenter","getCenter","lat","lng","panTo","newBounds","isValid","oldBounds","getBounds","boundsChanged","equals","fitBounds","setPaddingBottomRight","setPaddingTopLeft","setPadding","setCrs","log","getZoom","e","updateVisibleProp","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","originalRender","existing","beforeCreate","HEAD","isOldIE","navigator","userAgent","toLowerCase","addStyle","styles","css","group","media","ids","Set","has","code","sources","btoa","unescape","encodeURIComponent","JSON","stringify","element","document","createElement","setAttribute","head","getElementsByTagName","appendChild","styleSheet","cssText","join","index","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","__vue_script__","__vue_render__","_t","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","findRealParent","firstVueParent","found","$parent","Layer","pane","String","attribution","layerOptions","unbindPopup","unbindTooltip","parentContainer","setAttribution","val","old","attributionControl","removeAttribution","addAttribution","setName","setLayerType","setVisible","isVisible","tooltip","getTooltip","popup","getPopup","GridLayer","opacity","zIndex","tileSize","noWrap","gridLayerOptions","assign","TileLayerMixin","tms","subdomains","detectRetina","tileLayerOptions","tileLayerClass","Function","draggable","latLng","icon","Default","zIndexOffset","latLngSync","setDraggable","dragging","enable","disable","setLatLng","oldLatLng","getLatLng","newLatLng","event","latlng","display","Icon","_getIconUrl","mergeOptions","iconRetinaUrl","require","iconUrl","shadowUrl","DealershipsEdit","_Vue","_this","_classCallCheck","_len","_key","_callSuper","params","GRUPO_EMPRESA_TITLE","label","option","_inherits","_createClass","get","Estado","Municipio","validCnpj","$route","dealershipId","editing","fetchGetDealershipById","getStates","getGroups","useDealerships","getFieldControl","_this2","useState","requestGetCityByStateId","then","response","Data","city","Id","CidadeCodigoIbge","CodigoIbge","Nome","area","AreaInfluenciaNome","region","RegiaoOperacionalNome","ibgeCode","catch","$toast","component","ToastificationContent","title","finally","Latitude","Longitude","$refs","mapRef","setView","cpnj","_this3","regexApenasNumeros","cpnjSanatize","replace","requestValidCnpj","isValidCnpj","_this4","requestGet","_this5","requestList","paginar","municipios","keyCode","which","inputValue","fromCharCode","_this6","useGroup","requestListGroup","draw","paginate","_this7","geocodeEndpoint","apiKey","fetch","json","results","_data$results$0$geome","geometry","location","_this8","validate","success","business","municipioId","grupoEmpresaId","cnpj","razaoSocial","nomeFantasia","montadora","ativo","associada","codigo","cadastrada","telefone","mail","Mail","emailFaturamento","site","inscricaoEstadual","inscricaoMunicipal","dataInauguracao","dataNomeacao","dataCancelamento","pendenciaFinanceira","codigoFaturamento","matriz","observacoes","endereco","Endereco","enderecoId","EnderecoId","cep","logradouro","numero","complemento","bairro","cidadeCodigoIbge","latitude","longitude","requestUpdate","$router","error","text","Errors","reduce","accumulator","currentValue","str","requestCreate","querySelectorAll","y","getBoundingClientRect","top","window","scrollY","scroll","behavior","Vue","__decorate","Watch","Component","components","BCard","BRow","BCol","BFormInput","BFormGroup","BButton","BInputGroup","BInputGroupAppend","BFormInvalidFeedback","vSelect","LMap","LTileLayer","LMarker","ValidationProvider","ValidationObserver","AvButton","AvSkeletonInput","directives","Ripple","staticStyle","AvSkeletonCard","AvIcon","AvSkeletonMediaTabs","_l","AvSkeletonBoard","Prop","AvSkeletonTable","_dec","AvCard","AvSkeletonVerticalNavMenu","generateColumnHeight","AvSkeletonChartBar","Math","round","random","AvSkeletonChartPie","global","factory","version","freeze","dest","j","src","create","F","proto","bind","lastId","stamp","throttle","lock","wrapperFn","later","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","digits","pow","trim","splitWords","setOptions","hasOwnProperty","getParamString","existingUrl","uppercase","indexOf","templateRe","Error","array","el","emptyImageUrl","getPrefixed","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","requestAnimFrame","immediate","cancelAnimFrame","Util","Class","checkDeprecatedMixinEvents","includes","L","Mixin","Events","stack","NewClass","initialize","callInitHooks","parentProto","__super__","statics","_initHooks","_initHooksCalled","include","addInitHook","init","types","_on","off","_off","_events","typeListeners","newListener","ctx","listeners","_firingCount","splice","fire","propagate","listens","sourceTarget","_propagateEvent","_eventParents","once","handler","addEventParent","removeEventParent","propagatedFrom","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","Point","trunc","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","alt","isNaN","toLatLng","c","lon","clone","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","contains","abs","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","min2","max2","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","sw2","ne2","sw","_southWest","ne","_northEast","pad","bufferRatio","heightBuffer","widthBuffer","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","margin","precision","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","CRS","latLngToPoint","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","LN2","getProjectedBounds","infinite","s","transform","wrapLng","wrapLat","wrapLatLngBounds","latShift","lngShift","newSw","newNe","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","toTransformation","EPSG900913","svgCreate","createElementNS","pointsToPath","rings","closed","len2","p","svg","style$1","documentElement","ie","ielt9","edge","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touch","L_NO_TOUCH","DocumentTouch","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","canvas","getContext","createSVGRect","vml","div","innerHTML","shape","firstChild","adj","Browser","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","TAG_WHITE_LIST","_pointers","_pointerDocListener","_pointersCount","addPointerListener","_addPointerStart","_addPointerMove","_addPointerEnd","removePointerListener","onDown","pointerType","MSPOINTER_TYPE_MOUSE","tagName","_handlePointer","_globalPointerDown","_globalPointerMove","_globalPointerUp","pointerId","touches","changedTouches","onMove","buttons","onUp","_touchstart","_touchend","_pre","addDoubleTapListener","last","touch$$1","doubleTap","delay","onTouchStart","count","now","delta","onTouchEnd","cancelBubble","prop","newTouch","button","passive","removeDoubleTapListener","touchstart","touchend","dblclick","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","getComputedStyle","create$1","className","container","parentNode","empty","toFront","lastChild","toBack","hasClass","classList","getClass","RegExp","addClass","classes","setClass","removeClass","baseVal","correspondingElement","setOpacity","_setOpacityIE","filterName","filters","item","Enabled","Opacity","setTransform","offset","pos","setPosition","_leaflet_pos","left","getPosition","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","tabIndex","restoreOutline","outline","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","boundingClientRect","DomUtil","addOne","eventsKey","removeOne","originalHandler","isExternalTarget","filterClick","attachEvent","detachEvent","stopPropagation","originalEvent","_stopped","skipped","disableScrollPropagation","disableClickPropagation","fakeStop","returnValue","stop","getMousePosition","clientX","clientY","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","detail","lastClick","skipEvents","events","related","relatedTarget","timeStamp","elapsed","_simulatedClick","_simulated","DomEvent","addListener","removeListener","PosAnimation","run","newPos","duration","_el","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","_runFrame","_easeOut","progress","t","Map","layers","renderer","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_zoom","_limitZoom","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","pan","moved","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","containerPoint","latLngToContainerPoint","centerOffset","containerPointToLatLng","_getBoundsCenterZoom","paddingTL","paddingBR","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitWorld","panBy","_panAnim","_onPanTransitionStep","_onPanTransitionEnd","noMoveStart","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","to","startZoom","w0","w1","u1","rho","rho2","r","s1","s2","t1","b1","sq","sinh","cosh","tanh","r0","w","u","easeOut","start","S","frame","_flyToFrame","_move","getScaleZoom","_moveEnd","_moveStart","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","halfPixelBounds","paddedBounds","diff","invalidateSize","oldSize","_lastCenter","newSize","debounceMoveend","locate","_locateOptions","_handleGeolocationError","message","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","coords","accuracy","timestamp","addHandler","HandlerClass","_containerId","_container","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","position","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","zoomChanged","_getNewPixelOrigin","pinch","_getZoomSpan","remove$$1","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","_draggableMoved","_fireDOMEvent","_mouseEvents","synth","isMarker","_radius","bubblingMouseEvents","enabled","boxZoom","whenReady","pixelOrigin","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","pxBounds","projectedMaxBounds","minOffset","maxOffset","dx","_rebound","dy","right","proxy","mapPane","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","createMap","Control","_map","removeControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","control","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","section","mouseenter","mouseleave","link","_layersLink","href","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","_createRadioElement","checked","radioHtml","radioFragment","input","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","disabled","_expand","_collapse","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","pow10","Attribution","prefix","_attributions","getAttribution","setPrefix","attribs","prefixAndAttribs","Handler","_enabled","addHooks","removeHooks","_lastCode","START","END","mousedown","pointerdown","MSPointerDown","MOVE","Draggable","clickTolerance","dragStartTarget","preventOutline$$1","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","_moving","first","sizedParent","_startPoint","_parentScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_animRequest","_lastEvent","_updatePosition","simplify","tolerance","sqTolerance","_reducePoints","_simplifyDP","pointToSegmentDistance","p1","p2","_sqClosestPointOnSegment","closestPointOnSegment","ArrayConstructor","Uint8Array","markers","_simplifyDPStep","newPoints","sqDist","maxSqDist","reducedPoints","prev","_sqDist","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","LineUtil","clipPolygon","clippedPoints","k","edges","_code","PolyUtil","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","method","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","layerGroup","FeatureGroup","setStyle","bringToFront","bringToBack","featureGroup","popupAnchor","tooltipAnchor","createIcon","oldIcon","_createIcon","createShadow","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginTop","IconDefault","iconSize","shadowSize","imagePath","_detectIconPath","path","MarkerDrag","marker","_marker","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","Marker","interactive","keyboard","riseOnHover","riseOffset","_initIcon","update","_removeIcon","_removeShadow","viewreset","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","circleMarker","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","circle","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","jLen","_parts","halfDist","segDist","dist","_rings","addLatLng","_defaultShape","_convertLatLngs","flat","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","_simplifyPoints","_updatePoly","part","polyline","Polygon","f","pop","clipped","polygon","GeoJSON","geojson","addData","feature","features","geometries","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","properties","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","geoJson","ImageOverlay","crossOrigin","errorOverlayUrl","_url","_image","_initImage","styleOpts","setUrl","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","imageOverlay","VideoOverlay","autoplay","keepAspectRatio","vid","onloadeddata","sourceElements","videoOverlay","video","SVGOverlay","svgOverlay","DivOverlay","_source","_removeTimeout","getContent","_content","setContent","content","visibility","_updateContent","_updateLayout","isOpen","_prepareOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","openOn","openPopup","closeOnClick","closePopupOnClick","preclick","_close","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","_onCloseButtonClick","whiteSpace","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","togglePopup","isPopupOpen","setPopupContent","Tooltip","direction","permanent","sticky","closeTooltip","_setPosition","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","bindTooltip","_tooltip","_initTooltipInteractions","_tooltipHandlersAdded","_moveTooltip","_openTooltip","mousemove","toggleTooltip","isTooltipOpen","setTooltipContent","DivIcon","bgPos","Element","backgroundPosition","divIcon","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","viewprereset","_invalidateAll","createTile","getTileSize","compare","edgeZIndex","isFinite","nextFrame","willPrune","tile","current","loaded","fade","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_updateLevels","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","_clampZoom","noPrune","tileZoom","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","WebkitBackfaceVisibility","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","gridLayer","TileLayer","errorTileUrl","zoomOffset","zoomReverse","_onTileRemove","noRedraw","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","getAttribute","tilePoint","complete","tileLayer","TileLayerWMS","defaultWmsParams","service","request","format","transparent","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","tileLayerWMS","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","ev","_updateTransform","currentCenterPoint","_center","destCenterPoint","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","beginPath","clip","_drawing","restore","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","moving","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","canvas$1","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","create$2","SVG","zoomstart","_onZoomStart","_rootGroup","_svgSize","removeAttribute","svg$1","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","rectangle","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","noInertia","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","_lastMousePos","_timer","_performZoom","d2","d3","d4","tap","tapTolerance","Tap","_fireClick","_holdTimeout","_isTapValid","_simulateEvent","touchmove","simulatedEvent","createEvent","initMouseEvent","dispatchEvent","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","moveFn","Projection","oldL","noConflict"],"mappings":"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","file":"js/chunk-71bc1ac3.a8868cc8.js","sourcesContent":["function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SKELETON } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING, 'wave'),\n height: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text'),\n variant: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING)\n}, NAME_SKELETON); // --- Main component ---\n// @vue/component\n\nexport var BSkeleton = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var data = _ref.data,\n props = _ref.props;\n var size = props.size,\n animation = props.animation,\n variant = props.variant;\n return h('div', mergeData(data, {\n staticClass: 'b-skeleton',\n style: {\n width: size || props.width,\n height: size || props.height\n },\n class: (_class = {}, _defineProperty(_class, \"b-skeleton-\".concat(props.type), true), _defineProperty(_class, \"b-skeleton-animate-\".concat(animation), animation), _defineProperty(_class, \"bg-\".concat(variant), variant), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { Vue } from '../../vue';\nimport { NAME_ASPECT } from '../../constants/components';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_ASPECT, RX_ASPECT_SEPARATOR } from '../../constants/regex';\nimport { mathAbs } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar CLASS_NAME = 'b-aspect'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Accepts a number (i.e. `16 / 9`, `1`, `4 / 3`)\n // Or a string (i.e. '16/9', '16:9', '4:3' '1:1')\n aspect: makeProp(PROP_TYPE_NUMBER_STRING, '1:1'),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_ASPECT); // --- Main component ---\n// @vue/component\n\nexport var BAspect = /*#__PURE__*/Vue.extend({\n name: NAME_ASPECT,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n padding: function padding() {\n var aspect = this.aspect;\n var ratio = 1;\n\n if (RX_ASPECT.test(aspect)) {\n // Width and/or Height can be a decimal value below `1`, so\n // we only fallback to `1` if the value is `0` or `NaN`\n var _aspect$split$map = aspect.split(RX_ASPECT_SEPARATOR).map(function (v) {\n return toFloat(v) || 1;\n }),\n _aspect$split$map2 = _slicedToArray(_aspect$split$map, 2),\n width = _aspect$split$map2[0],\n height = _aspect$split$map2[1];\n\n ratio = width / height;\n } else {\n ratio = toFloat(aspect) || 1;\n }\n\n return \"\".concat(100 / mathAbs(ratio), \"%\");\n }\n },\n render: function render(h) {\n var $sizer = h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-sizer flex-grow-1\"),\n style: {\n paddingBottom: this.padding,\n height: 0\n }\n });\n var $content = h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-content flex-grow-1 w-100 mw-100\"),\n style: {\n marginLeft: '-100%'\n }\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: \"\".concat(CLASS_NAME, \" d-flex\")\n }, [$sizer, $content]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_SKELETON_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BAspect } from '../aspect';\nimport { BSkeleton } from './skeleton'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING),\n aspect: makeProp(PROP_TYPE_STRING, '16:9'),\n cardImg: makeProp(PROP_TYPE_STRING),\n height: makeProp(PROP_TYPE_STRING),\n noAspect: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING)\n}, NAME_SKELETON_IMG); // --- Main component ---\n// @vue/component\n\nexport var BSkeletonImg = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props;\n var aspect = props.aspect,\n width = props.width,\n height = props.height,\n animation = props.animation,\n variant = props.variant,\n cardImg = props.cardImg;\n var $img = h(BSkeleton, {\n props: {\n type: 'img',\n width: width,\n height: height,\n animation: animation,\n variant: variant\n },\n class: _defineProperty({}, \"card-img-\".concat(cardImg), cardImg)\n });\n return props.noAspect ? $img : h(BAspect, {\n props: {\n aspect: aspect\n }\n }, [$img]);\n }\n});","import { ref, nextTick } from \"@vue/composition-api\";\n\n// ===========================================================\n// ! This is coupled with \"veeValidate\" plugin\n// ===========================================================\n\nexport default function formValidation(\n resetFormData,\n clearFormData = () => {}\n) {\n // ------------------------------------------------\n // refFormObserver\n // ! This is for veeValidate Observer\n // * Used for veeValidate form observer\n // ------------------------------------------------\n const refFormObserver = ref(null);\n\n // ------------------------------------------------\n // resetObserver\n // ! This function is coupled with veeValidate\n // * It resets form observer\n // ------------------------------------------------\n const resetObserver = () => {\n refFormObserver.value?.reset();\n };\n\n // ------------------------------------------------\n // getValidationState\n // ! This function is coupled with veeValidate\n // * It returns true/false based on validation\n // ------------------------------------------------\n // eslint-disable-next-line object-curly-newline\n const getValidationState = ({\n dirty,\n validated,\n required: fieldRequired,\n changed,\n valid = null,\n }) => {\n const result = dirty || validated ? valid : null;\n return !fieldRequired && !changed ? null : result;\n };\n\n // ------------------------------------------------\n // resetForm\n // ! This function is coupled with veeValidate\n // * This uses resetFormData arg to reset form data\n // ------------------------------------------------\n const resetForm = () => {\n resetFormData();\n nextTick(() => {\n resetObserver();\n });\n };\n\n // ------------------------------------------------\n // clearForm\n // ! This function is coupled with veeValidate\n // * This uses clearFormData arg to reset form data\n // ------------------------------------------------\n const clearForm = () => {\n clearFormData();\n nextTick(() => {\n resetObserver();\n });\n };\n\n return {\n refFormObserver,\n resetObserver,\n getValidationState,\n resetForm,\n clearForm,\n };\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcY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\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DealershipsAddEdit.vue?vue&type=style&index=0&id=717373ca&prod&lang=scss&scoped=true\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartBar.vue?vue&type=style&index=0&id=29a124e8&prod&scoped=true&lang=scss\"","import { Vue, mergeData } from '../../vue';\nimport { NAME_SKELETON_WRAPPER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_LOADING } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n loading: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_SKELETON_WRAPPER); // --- Main component ---\n// @vue/component\n\nexport var BSkeletonWrapper = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON_WRAPPER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var slotScope = {};\n\n if (props.loading) {\n return h('div', mergeData(data, {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-busy': true\n },\n staticClass: 'b-skeleton-wrapper',\n key: 'loading'\n }), normalizeSlot(SLOT_NAME_LOADING, slotScope, $scopedSlots, $slots));\n }\n\n return normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots);\n }\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonBoard.vue?vue&type=style&index=0&id=2865710c&prod&scoped=true&lang=scss\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_RADIO } from '../../constants/components';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formRadioCheckProps), formSizeProps), formStateProps)), NAME_FORM_RADIO); // --- Main component ---\n// @vue/component\n\nexport var BFormRadio = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO,\n mixins: [idMixin, formRadioCheckMixin, // Includes shared render function\n formControlMixin, formSizeMixin, formStateMixin],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: props,\n watch: {\n computedLocalChecked: function computedLocalChecked(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }\n }\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonTable.vue?vue&type=style&index=0&id=1629bcbb&prod&lang=scss&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('div',{staticClass:\"d-flex\"},[_c('feather-icon',{attrs:{\"icon\":\"BookIcon\",\"size\":\"19\"}}),_c('h4',{staticClass:\"mb-0 ml-50\"},[_vm._v(\"Informações da Empresa\")])],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('b-form',{staticClass:\"mt-1\",on:{\"reset\":function($event){$event.preventDefault();return _vm.formValidation.resetForm($event)},\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('b-row',[(_vm.fieldControl.CNPJ.required || _vm.fieldControl.CNPJ.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"CNPJ\",\"rules\":(\"\" + (_vm.fieldControl.CNPJ.required\n ? 'required|validarCnpj'\n : 'validarCnpj'))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"cnpj\"}},[_c('template',{slot:\"label\"},[_vm._v(\" CNPJ \"),(_vm.fieldControl.CNPJ.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{class:{\n 'is-loading': _vm.validatingCnpj,\n },attrs:{\"type\":\"number\",\"id\":\"cnpj\",\"state\":_vm.checkStateCnpj(validationContext),\"trim\":\"\",\"disabled\":_vm.validatingCnpj || _vm.saving},on:{\"change\":_vm.cnpjExist},model:{value:(_vm.dealershipLocal.CNPJ),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"CNPJ\", $$v)},expression:\"dealershipLocal.CNPJ\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Codigo.required ||\n _vm.fieldControl.Codigo.optional ||\n _vm.dealershipLocal.Cadastrada\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Codigo\",\"rules\":(\"\" + (_vm.fieldControl.Codigo.required || _vm.dealershipLocal.Cadastrada\n ? 'required|min:6|max:7'\n : 'min:6|max:7'))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"codigo\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Código \"),(\n _vm.fieldControl.Codigo.required ||\n _vm.dealershipLocal.Cadastrada\n )?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"type\":\"number\",\"id\":\"codigo\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"disabled\":_vm.saving},on:{\"keypress\":_vm.limitDigits},model:{value:(_vm.dealershipLocal.Codigo),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Codigo\", $$v)},expression:\"dealershipLocal.Codigo\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.RazaoSocial.required ||\n _vm.fieldControl.RazaoSocial.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Razão Social\",\"rules\":(\"\" + (_vm.fieldControl.RazaoSocial.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"corporaty-name\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Razão Social \"),(_vm.fieldControl.RazaoSocial.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"corporaty-name\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"255\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.RazaoSocial),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"RazaoSocial\", $$v)},expression:\"dealershipLocal.RazaoSocial\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.NomeFantasia.required ||\n _vm.fieldControl.NomeFantasia.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Nome Fantasia\",\"rules\":(\"\" + (_vm.fieldControl.NomeFantasia.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"fantasy-name\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Nome Fantasia \"),(_vm.fieldControl.NomeFantasia.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"fantasy-name\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"255\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.NomeFantasia),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"NomeFantasia\", $$v)},expression:\"dealershipLocal.NomeFantasia\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.GrupoEmpresaId.required ||\n _vm.fieldControl.GrupoEmpresaId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"12\"}},[_c('validation-provider',{attrs:{\"name\":_vm.groupTitle,\"rules\":(\"\" + (_vm.fieldControl.GrupoEmpresaId.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"economic-group\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" \"+_vm._s(_vm.groupTitle)+\" \"),(_vm.fieldControl.GrupoEmpresaId.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership || _vm.loadingGroup)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership || !_vm.loadingGroup)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.groupOptions,\"reduce\":_vm.reduceOptionValue,\"clearable\":false,\"input-id\":\"economic-group\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.GrupoEmpresaId),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"GrupoEmpresaId\", $$v)},expression:\"dealershipLocal.GrupoEmpresaId\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Matriz.required || _vm.fieldControl.Matriz.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":_vm.dealershipLocal.Status === false ? 4 : 6}},[_c('validation-provider',{attrs:{\"name\":\"Matriz\",\"rules\":(\"\" + (_vm.fieldControl.Matriz.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"matriz\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Matriz \"),(_vm.fieldControl.Matriz.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"reduce\":_vm.reduceOptionValue,\"clearable\":false,\"input-id\":\"matriz\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Matriz),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Matriz\", $$v)},expression:\"dealershipLocal.Matriz\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Status.required || _vm.fieldControl.Status.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":_vm.getAtivoMd}},[_c('validation-provider',{attrs:{\"name\":\"Ativo\",\"rules\":(\"\" + (_vm.fieldControl.Status.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"active\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Ativo \"),(_vm.fieldControl.Status.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"input-id\":\"active\",\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Status),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Status\", $$v)},expression:\"dealershipLocal.Status\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.dealershipLocal.Status === false &&\n (_vm.fieldControl.DataCancelamento.required ||\n _vm.fieldControl.DataCancelamento.optional)\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Cancelamento\",\"rules\":_vm.dealershipLocal.Status === false ||\n _vm.fieldControl.DataCancelamento.required\n ? 'required'\n : ''},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"data-cancelamento\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Data Cancelamento \"),(\n _vm.dealershipLocal.Status === false ||\n _vm.fieldControl.DataCancelamento.required\n )?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"data-cancelamento\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"type\":\"date\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.DataCancelamento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"DataCancelamento\", $$v)},expression:\"dealershipLocal.DataCancelamento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.CodigoFaturamento.required ||\n _vm.fieldControl.CodigoFaturamento.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":_vm.faturarCodigoBir ? 6 : 12}},[_c('validation-provider',{attrs:{\"name\":\"Faturar para outro BIR\",\"rules\":(\"\" + (_vm.fieldControl.CodigoFaturamento.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"faturarCodigoBir\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Faturar para outro BIR?\"),(_vm.fieldControl.CodigoFaturamento.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"input-id\":\"faturarCodigoBir\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.faturarCodigoBir),callback:function ($$v) {_vm.faturarCodigoBir=$$v},expression:\"faturarCodigoBir\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.faturarCodigoBir &&\n (_vm.fieldControl.CodigoFaturamento.required ||\n _vm.fieldControl.CodigoFaturamento.optional)\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"BIR de Faturamento\",\"rules\":_vm.faturarCodigoBir ? 'required|min:6|max:7' : 'min:6|max:7'},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"code-bir\"}},[_c('template',{slot:\"label\"},[_vm._v(\" BIR de Faturamento \"),(_vm.faturarCodigoBir)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"code-bir\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"number\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.CodigoFaturamento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"CodigoFaturamento\", $$v)},expression:\"dealershipLocal.CodigoFaturamento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.PendenciaFinanceira.required ||\n _vm.fieldControl.PendenciaFinanceira.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Pendência Financeira\",\"rules\":(\"\" + (_vm.fieldControl.PendenciaFinanceira.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"pendenciaFinanceira\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Pendência Financeira \"),(_vm.fieldControl.PendenciaFinanceira.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"input-id\":\"pendenciaFinanceira\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.financeOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.PendenciaFinanceira),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"PendenciaFinanceira\", $$v)},expression:\"dealershipLocal.PendenciaFinanceira\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(_vm.fieldControl.EmailFaturamento.required || _vm.fieldControl.EmailFaturamento.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"E-mail de faturamento\",\"rules\":(\"\" + (_vm.fieldControl.EmailFaturamento.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"e-mail\"}},[_c('template',{slot:\"label\"},[_vm._v(\" E-mail de Faturamento \"),(_vm.fieldControl.EmailFaturamento.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"type\":\"email\",\"id\":\"email-faturamento\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"50\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.EmailFaturamento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"EmailFaturamento\", $$v)},expression:\"dealershipLocal.EmailFaturamento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Observacoes.required ||\n _vm.fieldControl.Observacoes.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('validation-provider',{attrs:{\"name\":\"Observações\",\"rules\":(\"\" + (_vm.fieldControl.Observacoes.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Observações\",\"label-for\":\"comments\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Observações \"),(_vm.fieldControl.Observacoes.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"comments\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"maxlength\":\"255\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Observacoes),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Observacoes\", $$v)},expression:\"dealershipLocal.Observacoes\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(_vm.fieldControl.Site.required || _vm.fieldControl.Site.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Site\",\"rules\":(\"\" + (_vm.fieldControl.Site.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"site\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Site \"),(_vm.fieldControl.Site.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"site\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"maxlength\":\"100\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Site),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Site\", $$v)},expression:\"dealershipLocal.Site\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(_vm.fieldControl.Email.required || _vm.fieldControl.Email.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"E-mail\",\"rules\":(\"\" + (_vm.fieldControl.Email.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"e-mail\"}},[_c('template',{slot:\"label\"},[_vm._v(\" E-mail \"),(_vm.fieldControl.Email.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"type\":\"email\",\"id\":\"e-mail\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"50\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Mail),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Mail\", $$v)},expression:\"dealershipLocal.Mail\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Telefone.required || _vm.fieldControl.Telefone.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Telefone\",\"rules\":(\"\" + (_vm.fieldControl.Telefone.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"telefone\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Telefone \"),(_vm.fieldControl.Telefone.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"telefone\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"text\",\"maxlength\":\"14\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Telefone),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Telefone\", $$v)},expression:\"dealershipLocal.Telefone\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.InscricaoEstadual.required ||\n _vm.fieldControl.InscricaoEstadual.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Inscrição Estadual\",\"rules\":(\"\" + (_vm.fieldControl.InscricaoEstadual.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"inscrição-estadual\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Inscrição Estadual \"),(_vm.fieldControl.InscricaoEstadual.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"inscrição-estadual\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"15\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.InscricaoEstadual),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"InscricaoEstadual\", $$v)},expression:\"dealershipLocal.InscricaoEstadual\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.InscricaoMunicipal.required ||\n _vm.fieldControl.InscricaoMunicipal.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Inscrição Municipal\",\"rules\":(\"\" + (_vm.fieldControl.InscricaoMunicipal.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"inscrição-municipal\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Inscrição Municipal \"),(_vm.fieldControl.InscricaoMunicipal.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"inscrição-municipal\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"maxlength\":\"15\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.InscricaoMunicipal),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"InscricaoMunicipal\", $$v)},expression:\"dealershipLocal.InscricaoMunicipal\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.DataInauguracao.required ||\n _vm.fieldControl.DataInauguracao.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inauguração\",\"rules\":(\"\" + (_vm.fieldControl.DataInauguracao.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"data-inauguracao\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Data Inauguração \"),(_vm.fieldControl.DataInauguracao.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"data-inauguracao\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"date\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.DataInauguracao),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"DataInauguracao\", $$v)},expression:\"dealershipLocal.DataInauguracao\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.DataNomeacao.required ||\n _vm.fieldControl.DataNomeacao.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Nomeação\",\"rules\":(\"\" + (_vm.fieldControl.DataNomeacao.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"data-nomeacao\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Data Nomeação \"),(_vm.fieldControl.DataNomeacao.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"data-nomeacao\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"type\":\"date\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.DataNomeacao),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"DataNomeacao\", $$v)},expression:\"dealershipLocal.DataNomeacao\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Associada.required ||\n _vm.fieldControl.Associada.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Associada\",\"rules\":(\"\" + (_vm.fieldControl.Associada.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"association\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Associada\"),(_vm.fieldControl.Associada.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"input-id\":\"association\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Associada),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Associada\", $$v)},expression:\"dealershipLocal.Associada\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Montadora.required ||\n _vm.fieldControl.Montadora.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Montadora\",\"rules\":(\"\" + (_vm.fieldControl.Montadora.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"montadora\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[(_vm.fieldControl.Montadora.required)?_c('template',{slot:\"label\"},[_vm._v(\" Montadora\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]):_vm._e(),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"input-id\":\"montadora\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Montadora),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Montadora\", $$v)},expression:\"dealershipLocal.Montadora\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Cadastrada.required ||\n _vm.fieldControl.Cadastrada.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Empresa Cadastrada\",\"rules\":(\"\" + (_vm.fieldControl.Cadastrada.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"empresaCadastrada\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[(_vm.fieldControl.Cadastrada.required)?_c('template',{slot:\"label\"},[_vm._v(\" Empresa Cadastrada\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]):_vm._e(),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"input-id\":\"empresaCadastrada\",\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Cadastrada),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Cadastrada\", $$v)},expression:\"dealershipLocal.Cadastrada\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e()],1),(_vm.showLocationInfo)?_c('div',{staticClass:\"d-flex mt-2 mb-1\"},[_c('feather-icon',{attrs:{\"icon\":\"MapPinIcon\",\"size\":\"19\"}}),_c('h4',{staticClass:\"mb-0 ml-50\"},[_vm._v(\"Localização\")])],1):_vm._e(),_c('b-row',[(_vm.fieldControl.CEP.required || _vm.fieldControl.CEP.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"CEP\",\"rules\":(\"\" + (_vm.fieldControl.CEP.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"cep\"}},[_c('template',{slot:\"label\"},[_vm._v(\" CEP\"),(_vm.fieldControl.CEP.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"cep\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"number\",\"maxlength\":\"8\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.CEP),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"CEP\", $$v)},expression:\"dealershipLocal.CEP\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Logradouro.required ||\n _vm.fieldControl.Logradouro.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Logradouro\",\"rules\":(\"\" + (_vm.fieldControl.Logradouro.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"logradouro\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Logradouro\"),(_vm.fieldControl.Logradouro.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"logradouro\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Ex: Rua A, 100, Bairro Centro\",\"maxlength\":\"100\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Logradouro),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Logradouro\", $$v)},expression:\"dealershipLocal.Logradouro\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Numero.required || _vm.fieldControl.Numero.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Número\",\"rules\":(\"\" + (_vm.fieldControl.Numero.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"number\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Número\"),(_vm.fieldControl.Numero.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"number\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"type\":\"number\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Numero),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Numero\", $$v)},expression:\"dealershipLocal.Numero\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Bairro.required || _vm.fieldControl.Bairro.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Bairro\",\"rules\":(\"\" + (_vm.fieldControl.Bairro.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"bairro\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Bairro\"),(_vm.fieldControl.Bairro.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"bairro\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"80\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Bairro),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Bairro\", $$v)},expression:\"dealershipLocal.Bairro\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Complemento.required ||\n _vm.fieldControl.Complemento.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Complemento\",\"rules\":(\"\" + (_vm.fieldControl.Complemento.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"complement\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Complemento \"),(_vm.fieldControl.Complemento.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"complement\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Complemento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Complemento\", $$v)},expression:\"dealershipLocal.Complemento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.EstadoId.required || _vm.fieldControl.EstadoId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"8\"}},[_c('validation-provider',{attrs:{\"name\":\"Estado\",\"rules\":(\"\" + (_vm.fieldControl.EstadoId.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"state\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Estado\"),(_vm.fieldControl.EstadoId.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership || _vm.loadingState)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingState)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"input-id\":\"state\",\"options\":_vm.stateOptions,\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},on:{\"input\":function($event){_vm.dealershipLocal.MunicipioId = null}},model:{value:(_vm.dealershipLocal.EstadoId),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"EstadoId\", $$v)},expression:\"dealershipLocal.EstadoId\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.MunicipioId.required ||\n _vm.fieldControl.MunicipioId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Região Operacional\",\"label-for\":\"regiao-operacional\"}},[(_vm.loadingDealership || _vm.loadingCities)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"regiao-operacional\",\"trim\":\"\",\"readonly\":\"\"},model:{value:(_vm.dealershipLocal.RegiaoOperacionalNome),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"RegiaoOperacionalNome\", $$v)},expression:\"dealershipLocal.RegiaoOperacionalNome\"}}):_vm._e()],1)],1):_vm._e(),(\n _vm.fieldControl.MunicipioId.required ||\n _vm.fieldControl.MunicipioId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"8\"}},[_c('validation-provider',{attrs:{\"name\":\"Município\",\"rules\":(\"\" + (_vm.fieldControl.MunicipioId.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"city\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Município\"),(_vm.fieldControl.MunicipioId.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership || _vm.loadingCities)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingCities)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"input-id\":\"city\",\"options\":_vm.municipioOptions,\"disabled\":_vm.saving || !_vm.dealershipLocal.EstadoId},on:{\"input\":_vm.changeCityId},model:{value:(_vm.cityId),callback:function ($$v) {_vm.cityId=$$v},expression:\"cityId\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.MunicipioId.required ||\n _vm.fieldControl.MunicipioId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Área Operacional\",\"label-for\":\"area-operacional\"}},[(_vm.loadingDealership || _vm.loadingCities)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"area-operacional\",\"trim\":\"\",\"readonly\":\"\"},model:{value:(_vm.dealershipLocal.AreaInfluenciaNome),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"AreaInfluenciaNome\", $$v)},expression:\"dealershipLocal.AreaInfluenciaNome\"}}):_vm._e()],1)],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Pesquisar endereço\",\"label-for\":\"search-address\"}},[(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),_c('b-input-group',{staticClass:\"mb-1\"},[(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"search-address\",\"trim\":\"\",\"disabled\":_vm.loadingCoordenates || _vm.saving},model:{value:(_vm.searchAddress),callback:function ($$v) {_vm.searchAddress=$$v},expression:\"searchAddress\"}}):_vm._e(),_c('b-input-group-append',[(!_vm.loadingDealership)?_c('av-button',{attrs:{\"variant\":\"outline-primary\",\"type\":\"button\",\"disabled\":_vm.loadingCoordenates || _vm.saving},on:{\"click\":_vm.searchCoordinates}},[_vm._v(\" \"+_vm._s(_vm.loadingCoordenates ? \"Buscando...\" : \"Buscar\")+\" \")]):_vm._e()],1)],1)],1)],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Latitude\",\"rules\":(\"\" + (_vm.fieldControl.Coordenadas.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"latitude-address\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Latitude\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"latitude-address\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext)},model:{value:(_vm.coordinates[0]),callback:function ($$v) {_vm.$set(_vm.coordinates, 0, $$v)},expression:\"coordinates[0]\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Latitude\",\"rules\":(\"\" + (_vm.fieldControl.Coordenadas.required ? 'required' : ''))},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"longitude-address\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Longitude\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"longitude-address\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext)},model:{value:(_vm.coordinates[1]),callback:function ($$v) {_vm.$set(_vm.coordinates, 1, $$v)},expression:\"coordinates[1]\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('l-map',{ref:\"mapRef\",attrs:{\"zoom\":_vm.zoom,\"center\":_vm.center}},[_c('l-tile-layer',{attrs:{\"url\":_vm.url}}),_c('l-marker',{attrs:{\"lat-lng\":_vm.coordinates,\"draggable\":\"\"},on:{\"dragend\":_vm.updateCoordinates}})],1)],1):_vm._e()],1),_c('b-row',{staticClass:\"mt-2\"},[_c('b-col',[_c('av-button',{staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"loading\":_vm.loading || _vm.saving,\"type\":\"submit\",\"disabled\":_vm.loading || _vm.saving}},[_vm._v(_vm._s(_vm.saving ? \"Salvando...\" : \"Salvar\"))]),_c('av-button',{attrs:{\"variant\":\"outline-secondary\",\"to\":{ name: 'admin-panel-dealerships-list' },\"disabled\":_vm.loading || _vm.saving}},[_vm._v(\" Cancelar \")])],1)],1)],1)]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { setOptions, CRS, map, DomEvent, latLng, latLngBounds } from 'leaflet';\n\nvar debounce = function (fn, time) {\n var timeout;\n\n return function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(function () {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nvar capitalizeFirstLetter = function (string) {\n if (!string || typeof string.charAt !== 'function') {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nvar propsBinder = function (vueElement, leafletElement, props, options) {\n var loop = function ( key ) {\n var setMethodName = 'set' + capitalizeFirstLetter(key);\n var deepValue =\n props[key].type === Object ||\n props[key].type === Array ||\n Array.isArray(props[key].type);\n if (props[key].custom && vueElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n vueElement[setMethodName](newVal, oldVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (setMethodName === 'setOptions') {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n setOptions(leafletElement, newVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (leafletElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n leafletElement[setMethodName](newVal);\n },\n {\n deep: deepValue,\n }\n );\n }\n };\n\n for (var key in props) loop( key );\n};\n\nvar collectionCleaner = function (options) {\n var result = {};\n for (var key in options) {\n var value = options[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n }\n return result;\n};\n\nvar optionsMerger = function (props, instance) {\n var options =\n instance.options && instance.options.constructor === Object\n ? instance.options\n : {};\n props = props && props.constructor === Object ? props : {};\n var result = collectionCleaner(options);\n props = collectionCleaner(props);\n var defaultProps = instance.$options.props;\n for (var key in props) {\n var def = defaultProps[key]\n ? defaultProps[key].default\n : Symbol('unique');\n if (result[key] && def !== props[key]) {\n console.warn(\n (key + \" props is overriding the value passed in the options props\")\n );\n result[key] = props[key];\n } else if (!result[key]) {\n result[key] = props[key];\n }\n }\n return result;\n};\n\nvar Options = {\n props: {\n options: {\n type: Object,\n default: function () { return ({}); }\n }\n }\n};\n\n//\n\n/**\n * Base component, contains and wrap all the other components.\n */\nvar script = {\n name: 'LMap',\n mixins: [Options],\n props: {\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n custom: true,\n default: function () { return [0, 0]; },\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n custom: true,\n default: null,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: null,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n custom: true,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: null,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: null,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n custom: true,\n default: null,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n custom: true,\n default: null,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n custom: true,\n default: null,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The crs option for the map\n * @values CRS.EPSG3857\n */\n crs: {\n type: Object,\n custom: true,\n default: function () { return CRS.EPSG3857; },\n },\n maxBoundsViscosity: {\n type: Number,\n default: null,\n },\n inertia: {\n type: Boolean,\n default: null,\n },\n inertiaDeceleration: {\n type: Number,\n default: null,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: null,\n },\n easeLinearity: {\n type: Number,\n default: null,\n },\n zoomAnimation: {\n type: Boolean,\n default: null,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: null,\n },\n fadeAnimation: {\n type: Boolean,\n default: null,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: null,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n },\n data: function data() {\n return {\n ready: false,\n lastSetCenter: null,\n lastSetBounds: null,\n lastSetZoom: null,\n layerControl: undefined,\n layersToAdd: [],\n layersInControl: [],\n };\n },\n computed: {\n fitBoundsOptions: function fitBoundsOptions() {\n var options = {\n animate: this.noBlockingAnimations ? false : null,\n };\n if (this.padding) {\n options.padding = this.padding;\n } else {\n if (this.paddingBottomRight) {\n options.paddingBottomRight = this.paddingBottomRight;\n }\n if (this.paddingTopLeft) {\n options.paddingTopLeft = this.paddingTopLeft;\n }\n }\n return options;\n },\n },\n beforeDestroy: function beforeDestroy() {\n if (this.mapObject) {\n this.mapObject.remove();\n }\n },\n mounted: function mounted() {\n var this$1 = this;\n\n var options = optionsMerger(\n {\n minZoom: this.minZoom,\n maxZoom: this.maxZoom,\n maxBounds: this.maxBounds,\n maxBoundsViscosity: this.maxBoundsViscosity,\n worldCopyJump: this.worldCopyJump,\n crs: this.crs,\n center: this.center,\n zoom: this.zoom,\n inertia: this.inertia,\n inertiaDeceleration: this.inertiaDeceleration,\n inertiaMaxSpeed: this.inertiaMaxSpeed,\n easeLinearity: this.easeLinearity,\n zoomAnimation: this.zoomAnimation,\n zoomAnimationThreshold: this.zoomAnimationThreshold,\n fadeAnimation: this.fadeAnimation,\n markerZoomAnimation: this.markerZoomAnimation,\n },\n this\n );\n this.mapObject = map(this.$el, options);\n this.setBounds(this.bounds);\n this.mapObject.on('moveend', debounce(this.moveEndHandler, 100));\n this.mapObject.on('overlayadd', this.overlayAddHandler);\n this.mapObject.on('overlayremove', this.overlayRemoveHandler);\n DomEvent.on(this.mapObject, this.$listeners);\n propsBinder(this, this.mapObject, this.$options.props);\n this.ready = true;\n /**\n * DEPRECATED event\n * @deprecated\n */\n this.$emit('leaflet:load');\n this.$nextTick(function () {\n /**\n * Triggers when the component is ready\n * @type {object}\n * @property {object} mapObject - reference to leaflet map object\n */\n this$1.$emit('ready', this$1.mapObject);\n });\n },\n methods: {\n registerLayerControl: function registerLayerControl(lControlLayers) {\n var this$1 = this;\n\n this.layerControl = lControlLayers;\n this.mapObject.addControl(lControlLayers.mapObject);\n this.layersToAdd.forEach(function (layer) {\n this$1.layerControl.addLayer(layer);\n });\n this.layersToAdd = [];\n },\n addLayer: function addLayer(layer, alreadyAdded) {\n if (layer.layerType !== undefined) {\n if (this.layerControl === undefined) {\n this.layersToAdd.push(layer);\n } else {\n var exist = this.layersInControl.find(\n function (l) { return l.mapObject._leaflet_id === layer.mapObject._leaflet_id; }\n );\n if (!exist) {\n this.layerControl.addLayer(layer);\n this.layersInControl.push(layer);\n }\n }\n }\n if (!alreadyAdded && layer.visible !== false) {\n this.mapObject.addLayer(layer.mapObject);\n }\n },\n hideLayer: function hideLayer(layer) {\n this.mapObject.removeLayer(layer.mapObject);\n },\n removeLayer: function removeLayer(layer, alreadyRemoved) {\n if (layer.layerType !== undefined) {\n if (this.layerControl === undefined) {\n this.layersToAdd = this.layersToAdd.filter(\n function (l) { return l.name !== layer.name; }\n );\n } else {\n this.layerControl.removeLayer(layer);\n this.layersInControl = this.layersInControl.filter(\n function (l) { return l.mapObject._leaflet_id !== layer.mapObject._leaflet_id; }\n );\n }\n }\n if (!alreadyRemoved) {\n this.mapObject.removeLayer(layer.mapObject);\n }\n },\n setZoom: function setZoom(newVal, oldVal) {\n this.mapObject.setZoom(newVal, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setCenter: function setCenter(newVal, oldVal) {\n if (newVal == null) {\n return;\n }\n var newCenter = latLng(newVal);\n var oldCenter = this.lastSetCenter || this.mapObject.getCenter();\n if (oldCenter.lat !== newCenter.lat || oldCenter.lng !== newCenter.lng) {\n this.lastSetCenter = newCenter;\n this.mapObject.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n setBounds: function setBounds(newVal, oldVal) {\n if (!newVal) {\n return;\n }\n var newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n var oldBounds = this.lastSetBounds || this.mapObject.getBounds();\n var boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n this.lastSetBounds = newBounds;\n this.mapObject.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n setPaddingBottomRight: function setPaddingBottomRight(newVal, oldVal) {\n this.paddingBottomRight = newVal;\n },\n setPaddingTopLeft: function setPaddingTopLeft(newVal, oldVal) {\n this.paddingTopLeft = newVal;\n },\n setPadding: function setPadding(newVal, oldVal) {\n this.padding = newVal;\n },\n setCrs: function setCrs(newVal, oldVal) {\n console.log('Changing CRS is not yet supported by Leaflet');\n },\n fitBounds: function fitBounds(bounds) {\n this.mapObject.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n moveEndHandler: function moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n this.$emit('update:zoom', this.mapObject.getZoom());\n var center = this.mapObject.getCenter();\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n this.$emit('update:center', center);\n var bounds = this.mapObject.getBounds();\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n this.$emit('update:bounds', bounds);\n },\n overlayAddHandler: function overlayAddHandler(e) {\n var layer = this.layersInControl.find(function (l) { return l.name === e.name; });\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler: function overlayRemoveHandler(e) {\n var layer = this.layersInControl.find(function (l) { return l.name === e.name; });\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return function (id, style) { return addStyle(id, style); };\r\n}\r\nvar HEAD;\r\nvar styles = {};\r\nfunction addStyle(id, css) {\r\n var group = isOldIE ? css.media || 'default' : id;\r\n var style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n var code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n { style.element.setAttribute('media', css.media); }\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n var index = style.ids.size - 1;\r\n var textNode = document.createTextNode(code);\r\n var nodes = style.element.childNodes;\r\n if (nodes[index])\r\n { style.element.removeChild(nodes[index]); }\r\n if (nodes.length)\r\n { style.element.insertBefore(textNode, nodes[index]); }\r\n else\r\n { style.element.appendChild(textNode); }\r\n }\r\n }\r\n}\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vue2leaflet-map\"},[(_vm.ready)?_vm._t(\"default\"):_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = function (inject) {\n if (!inject) { return }\n inject(\"data-v-49b28618_0\", { source: \".vue2leaflet-map{height:100%;width:100%}\", map: undefined, media: undefined });\n\n };\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n createInjector,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { setOptions, tileLayer, DomEvent } from 'leaflet';\n\nvar capitalizeFirstLetter = function (string) {\n if (!string || typeof string.charAt !== 'function') {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nvar propsBinder = function (vueElement, leafletElement, props, options) {\n var loop = function ( key ) {\n var setMethodName = 'set' + capitalizeFirstLetter(key);\n var deepValue =\n props[key].type === Object ||\n props[key].type === Array ||\n Array.isArray(props[key].type);\n if (props[key].custom && vueElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n vueElement[setMethodName](newVal, oldVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (setMethodName === 'setOptions') {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n setOptions(leafletElement, newVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (leafletElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n leafletElement[setMethodName](newVal);\n },\n {\n deep: deepValue,\n }\n );\n }\n };\n\n for (var key in props) loop( key );\n};\n\nvar collectionCleaner = function (options) {\n var result = {};\n for (var key in options) {\n var value = options[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n }\n return result;\n};\n\nvar optionsMerger = function (props, instance) {\n var options =\n instance.options && instance.options.constructor === Object\n ? instance.options\n : {};\n props = props && props.constructor === Object ? props : {};\n var result = collectionCleaner(options);\n props = collectionCleaner(props);\n var defaultProps = instance.$options.props;\n for (var key in props) {\n var def = defaultProps[key]\n ? defaultProps[key].default\n : Symbol('unique');\n if (result[key] && def !== props[key]) {\n console.warn(\n (key + \" props is overriding the value passed in the options props\")\n );\n result[key] = props[key];\n } else if (!result[key]) {\n result[key] = props[key];\n }\n }\n return result;\n};\n\nvar findRealParent = function (firstVueParent) {\n var found = false;\n while (firstVueParent && !found) {\n if (firstVueParent.mapObject === undefined) {\n firstVueParent = firstVueParent.$parent;\n } else {\n found = true;\n }\n }\n return firstVueParent;\n};\n\nvar Layer = {\n props: {\n pane: {\n type: String,\n default: 'overlayPane',\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n },\n mounted: function mounted() {\n this.layerOptions = {\n attribution: this.attribution,\n pane: this.pane,\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.unbindPopup();\n this.unbindTooltip();\n this.parentContainer.removeLayer(this);\n },\n methods: {\n setAttribution: function setAttribution(val, old) {\n var attributionControl = this.$parent.mapObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName: function setName() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setLayerType: function setLayerType() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setVisible: function setVisible(isVisible) {\n if (this.mapObject) {\n if (isVisible) {\n this.parentContainer.addLayer(this);\n } else {\n if (this.parentContainer.hideLayer) {\n this.parentContainer.hideLayer(this);\n } else {\n this.parentContainer.removeLayer(this);\n }\n }\n }\n },\n unbindTooltip: function unbindTooltip() {\n var tooltip = this.mapObject ? this.mapObject.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup: function unbindPopup() {\n var popup = this.mapObject ? this.mapObject.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp: function updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n this.$emit('update:visible', value);\n },\n },\n};\n\nvar GridLayer = {\n mixins: [Layer],\n props: {\n pane: {\n type: String,\n default: 'tilePane'\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0\n },\n zIndex: {\n type: Number,\n default: 1\n },\n tileSize: {\n type: Number,\n default: 256\n },\n noWrap: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted () {\n this.gridLayerOptions = Object.assign({}, this.layerOptions,\n {pane: this.pane,\n opacity: this.opacity,\n zIndex: this.zIndex,\n tileSize: this.tileSize,\n noWrap: this.noWrap});\n }\n};\n\nvar TileLayerMixin = {\n mixins: [GridLayer],\n props: {\n tms: {\n type: Boolean,\n default: false\n },\n subdomains: {\n type: String,\n default: 'abc'\n },\n detectRetina: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted () {\n this.tileLayerOptions = Object.assign({}, this.gridLayerOptions,\n {tms: this.tms,\n subdomains: this.subdomains,\n detectRetina: this.detectRetina});\n },\n render: function render () {\n return null;\n }\n};\n\nvar Options = {\n props: {\n options: {\n type: Object,\n default: function () { return ({}); }\n }\n }\n};\n\n//\n\n/**\n * Load tiles from a map server and display them accordingly to map zoom, center and size\n */\nvar script = {\n name: 'LTileLayer',\n mixins: [TileLayerMixin, Options],\n props: {\n url: {\n type: String,\n default: null,\n },\n tileLayerClass: {\n type: Function,\n default: tileLayer,\n },\n },\n mounted: function mounted() {\n var this$1 = this;\n\n var options = optionsMerger(this.tileLayerOptions, this);\n this.mapObject = this.tileLayerClass(this.url, options);\n DomEvent.on(this.mapObject, this.$listeners);\n propsBinder(this, this.mapObject, this.$options.props);\n this.parentContainer = findRealParent(this.$parent);\n this.parentContainer.addLayer(this, !this.visible);\n this.$nextTick(function () {\n /**\n * Triggers when the component is ready\n * @type {object}\n * @property {object} mapObject - reference to leaflet map object\n */\n this$1.$emit('ready', this$1.mapObject);\n });\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = undefined;\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { setOptions, Icon, marker, DomEvent, latLng } from 'leaflet';\n\nvar debounce = function (fn, time) {\n var timeout;\n\n return function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(function () {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nvar capitalizeFirstLetter = function (string) {\n if (!string || typeof string.charAt !== 'function') {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nvar propsBinder = function (vueElement, leafletElement, props, options) {\n var loop = function ( key ) {\n var setMethodName = 'set' + capitalizeFirstLetter(key);\n var deepValue =\n props[key].type === Object ||\n props[key].type === Array ||\n Array.isArray(props[key].type);\n if (props[key].custom && vueElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n vueElement[setMethodName](newVal, oldVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (setMethodName === 'setOptions') {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n setOptions(leafletElement, newVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (leafletElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n leafletElement[setMethodName](newVal);\n },\n {\n deep: deepValue,\n }\n );\n }\n };\n\n for (var key in props) loop( key );\n};\n\nvar collectionCleaner = function (options) {\n var result = {};\n for (var key in options) {\n var value = options[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n }\n return result;\n};\n\nvar optionsMerger = function (props, instance) {\n var options =\n instance.options && instance.options.constructor === Object\n ? instance.options\n : {};\n props = props && props.constructor === Object ? props : {};\n var result = collectionCleaner(options);\n props = collectionCleaner(props);\n var defaultProps = instance.$options.props;\n for (var key in props) {\n var def = defaultProps[key]\n ? defaultProps[key].default\n : Symbol('unique');\n if (result[key] && def !== props[key]) {\n console.warn(\n (key + \" props is overriding the value passed in the options props\")\n );\n result[key] = props[key];\n } else if (!result[key]) {\n result[key] = props[key];\n }\n }\n return result;\n};\n\nvar findRealParent = function (firstVueParent) {\n var found = false;\n while (firstVueParent && !found) {\n if (firstVueParent.mapObject === undefined) {\n firstVueParent = firstVueParent.$parent;\n } else {\n found = true;\n }\n }\n return firstVueParent;\n};\n\nvar Layer = {\n props: {\n pane: {\n type: String,\n default: 'overlayPane',\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n },\n mounted: function mounted() {\n this.layerOptions = {\n attribution: this.attribution,\n pane: this.pane,\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.unbindPopup();\n this.unbindTooltip();\n this.parentContainer.removeLayer(this);\n },\n methods: {\n setAttribution: function setAttribution(val, old) {\n var attributionControl = this.$parent.mapObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName: function setName() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setLayerType: function setLayerType() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setVisible: function setVisible(isVisible) {\n if (this.mapObject) {\n if (isVisible) {\n this.parentContainer.addLayer(this);\n } else {\n if (this.parentContainer.hideLayer) {\n this.parentContainer.hideLayer(this);\n } else {\n this.parentContainer.removeLayer(this);\n }\n }\n }\n },\n unbindTooltip: function unbindTooltip() {\n var tooltip = this.mapObject ? this.mapObject.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup: function unbindPopup() {\n var popup = this.mapObject ? this.mapObject.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp: function updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n this.$emit('update:visible', value);\n },\n },\n};\n\nvar Options = {\n props: {\n options: {\n type: Object,\n default: function () { return ({}); }\n }\n }\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script = {\n name: 'LMarker',\n mixins: [Layer, Options],\n props: {\n pane: {\n type: String,\n default: 'markerPane',\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n custom: false,\n default: function () { return new Icon.Default(); },\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n },\n data: function data() {\n return {\n ready: false,\n };\n },\n mounted: function mounted() {\n var this$1 = this;\n\n var options = optionsMerger(\n Object.assign({}, this.layerOptions,\n {icon: this.icon,\n zIndexOffset: this.zIndexOffset,\n draggable: this.draggable}),\n this\n );\n this.mapObject = marker(this.latLng, options);\n DomEvent.on(this.mapObject, this.$listeners);\n this.mapObject.on('move', debounce(this.latLngSync, 100));\n propsBinder(this, this.mapObject, this.$options.props);\n this.parentContainer = findRealParent(this.$parent);\n this.parentContainer.addLayer(this, !this.visible);\n this.ready = true;\n this.$nextTick(function () {\n /**\n * Triggers when the component is ready\n * @type {object}\n * @property {object} mapObject - reference to leaflet map object\n */\n this$1.$emit('ready', this$1.mapObject);\n });\n },\n methods: {\n setDraggable: function setDraggable(newVal, oldVal) {\n if (this.mapObject.dragging) {\n newVal\n ? this.mapObject.dragging.enable()\n : this.mapObject.dragging.disable();\n }\n },\n setLatLng: function setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (this.mapObject) {\n var oldLatLng = this.mapObject.getLatLng();\n var newLatLng = latLng(newVal);\n if (\n newLatLng.lat !== oldLatLng.lat ||\n newLatLng.lng !== oldLatLng.lng\n ) {\n this.mapObject.setLatLng(newLatLng);\n }\n }\n },\n latLngSync: function latLngSync(event) {\n this.$emit('update:latLng', event.latlng);\n this.$emit('update:lat-lng', event.latlng);\n },\n },\n render: function(h) {\n if (this.ready && this.$slots.default) {\n return h('div', { style: { display: 'none' } }, this.$slots.default);\n }\n return null;\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\n\n /* style */\n var __vue_inject_styles__ = undefined;\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = undefined;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = normalizeComponent(\n {},\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n BCard,\n BRow,\n BCol,\n BForm,\n BFormInput,\n BFormGroup,\n BButton,\n BInputGroup,\n BInputGroupAppend,\n BFormInvalidFeedback,\n} from \"bootstrap-vue\";\nimport { ValidationProvider, ValidationObserver } from \"vee-validate\";\nimport formValidation from \"@core/comp-functions/forms/form-validation\";\nimport Ripple from \"vue-ripple-directive\";\nimport vSelect from \"vue-select\";\nimport { AvButton } from \"@/components\";\nimport { AvSkeletonInput } from \"@/components/av-skeleton\";\nimport { LMap, LTileLayer, LMarker } from \"vue2-leaflet\";\nimport { Icon } from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\nimport { BFormRadio } from \"bootstrap-vue\";\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\n\n// Services\nimport { useDealerships, useGroup, useState } from \"@/services\";\n\n// Interfaces\nimport {\n IDealerships,\n IFieldControl,\n IResponseCreateDealership,\n IResponseGetDealership,\n IUpdateDealershipBody,\n} from \"@core/services/interfaces/business/dealerships/IDealershipsService\";\nimport {\n ICityStateApi,\n IResponseGetCitiesByStateId,\n IResponseListState,\n IStateApi,\n} from \"@core/services/interfaces/covarege-area/state/IStateService\";\nimport { IOption } from \"@core/services/interfaces/IUtil\";\nimport {\n IResponseListGroup,\n TDataGroup,\n} from \"@core/services/interfaces/business/group/IGroupService\";\n\n// eslint-disable-next-line no-underscore-dangle\ndelete Icon.Default.prototype._getIconUrl;\nIcon.Default.mergeOptions({\n iconRetinaUrl: require(\"leaflet/dist/images/marker-icon-2x.png\"),\n iconUrl: require(\"leaflet/dist/images/marker-icon.png\"),\n shadowUrl: require(\"leaflet/dist/images/marker-shadow.png\"),\n});\n/* eslint-disable global-require */\n\ninterface IOptionCity extends IOption {\n area: string;\n region: string;\n ibgeCode: string;\n}\n\n@Component({\n name: \"DealershipsEdit\",\n components: {\n BCard,\n BRow,\n BCol,\n BForm,\n BFormInput,\n BFormGroup,\n BButton,\n BInputGroup,\n BInputGroupAppend,\n BFormInvalidFeedback,\n vSelect,\n LMap,\n LTileLayer,\n LMarker,\n // Form Validation\n ValidationProvider,\n ValidationObserver,\n BFormRadio,\n AvButton,\n AvSkeletonInput,\n },\n directives: {\n Ripple,\n },\n})\nexport default class DealershipsEdit extends Vue {\n // Data\n groupTitle = this.$store.state[\"appConfig\"].params.GRUPO_EMPRESA_TITLE;\n dealershipLocal: IDealerships = {} as IDealerships;\n faturarCodigoBir = false;\n searchAddress = \"\";\n url = \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\";\n zoom = 8;\n center = [-15.7931351608, -47.8585332325];\n coordinates: [number, number] = [-15.7931351608, -47.8585332325];\n dealershipId: string = \"\";\n cityId: IOptionCity | null = null;\n editing: boolean = false;\n stateOptions: IOption[] = [];\n groupOptions: IOption[] = [];\n municipioOptions: IOption[] = [];\n geocodeEndpoint: string = \"https://maps.googleapis.com/maps/api/geocode/json\";\n apiKey: string = \"AIzaSyBk_fiUOC8dyqXCxeQfYZfDYAcBNKQkMgc\";\n confirmationOptions: IOption[] = [\n { label: \"Sim\", value: true },\n { label: \"Não\", value: false },\n ];\n financeOptions = [\n { label: \"Adimplente\", value: false },\n { label: \"Inadimplente\", value: true },\n ];\n\n // Loading Control\n loading: boolean = false;\n saving: boolean = false;\n loadingDealership = false;\n loadingState = false;\n loadingCities = false;\n loadingCoordenates = false;\n loadingGroup = false;\n validatingCnpj = false;\n validCnpj = false;\n\n fieldControl = {} as IFieldControl;\n\n formValidation = formValidation();\n\n // Computeds\n get estadoValue(): string {\n return this.dealershipLocal.Estado;\n }\n\n get cidadeValue(): string {\n return this.dealershipLocal.Municipio;\n }\n\n get getAtivoMd(): number {\n if (\n !this.fieldControl.DataCancelamento.required ||\n !this.fieldControl.DataCancelamento.optional\n )\n return 12;\n\n return this.dealershipLocal.Status === false ? 4 : 6;\n }\n\n get isValidCnpj(): boolean | null {\n if (typeof this.dealershipLocal.CNPJ == \"undefined\") {\n return null;\n }\n\n return this.dealershipLocal.CNPJ != \"\" ? this.validCnpj : null;\n }\n\n get showLocationInfo(): boolean {\n if (this.fieldControl.CEP.required || this.fieldControl.CEP.optional)\n return true;\n if (\n this.fieldControl.Logradouro.required ||\n this.fieldControl.Logradouro.optional\n )\n return true;\n if (this.fieldControl.Numero.required || this.fieldControl.Numero.optional)\n return true;\n if (this.fieldControl.Bairro.required || this.fieldControl.Bairro.optional)\n return true;\n if (\n this.fieldControl.Complemento.required ||\n this.fieldControl.Complemento.optional\n )\n return true;\n if (\n this.fieldControl.EstadoId.required ||\n this.fieldControl.EstadoId.optional\n )\n return true;\n if (\n this.fieldControl.MunicipioId.required ||\n this.fieldControl.MunicipioId.optional\n )\n return true;\n if (\n this.fieldControl.Coordenadas.required ||\n this.fieldControl.Coordenadas.optional\n )\n return true;\n\n return false;\n }\n\n // LifeCycle\n created() {\n if (this.$route.params.id) {\n this.dealershipId = this.$route.params.id;\n }\n\n if (this.dealershipId != \"\") {\n this.editing = true;\n this.fetchGetDealershipById();\n }\n\n this.getStates();\n this.getGroups();\n\n this.fieldControl = useDealerships.getFieldControl();\n }\n\n @Watch(\"dealershipLocal.EstadoId\")\n fetchGetCitiesByStateId() {\n this.loadingCities = true;\n\n useState\n .requestGetCityByStateId(this.dealershipLocal.EstadoId)\n .then((response: IResponseGetCitiesByStateId) => {\n this.municipioOptions = response.data.Data.data.map(\n (city: ICityStateApi) => {\n if (city.Id == this.dealershipLocal.MunicipioId) {\n this.dealershipLocal.CidadeCodigoIbge = city.CodigoIbge;\n this.cityId = {\n label: city.Nome,\n value: city.Id,\n area: city.AreaInfluenciaNome,\n region: city.RegiaoOperacionalNome,\n ibgeCode: city.CodigoIbge,\n };\n }\n\n return {\n label: city.Nome,\n value: city.Id,\n area: city.AreaInfluenciaNome,\n region: city.RegiaoOperacionalNome,\n ibgeCode: city.CodigoIbge,\n };\n }\n );\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar os municípios!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingCities = false;\n });\n }\n\n @Watch(\"coordinates\")\n watchSelectedLatLng() {\n this.dealershipLocal.Latitude = this.coordinates[0];\n this.dealershipLocal.Longitude = this.coordinates[1];\n\n const map = this.$refs.mapRef as LMap;\n if (map && map.mapObject) {\n map.mapObject.setView(this.coordinates);\n }\n }\n\n // Methods\n cnpjExist(cpnj: string) {\n const regexApenasNumeros = /[^\\d]/g;\n const cpnjSanatize = (cpnj || \"\").replace(regexApenasNumeros, \"\");\n\n if (cpnjSanatize.length == 14) {\n this.validatingCnpj = true;\n\n useDealerships\n .requestValidCnpj(cpnj, this.dealershipId != \"\" ? true : false)\n .then((valid) => {\n if (typeof valid == \"boolean\") this.validCnpj = valid;\n else this.validCnpj = false;\n\n if (!valid) {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Esse CNPJ já ta em uso\",\n icon: \"AlertTriangleIcon\",\n variant: \"warning\",\n },\n });\n }\n })\n .catch(() => {\n this.validCnpj = false;\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Não foi possível validar esse CNPJ!\",\n icon: \"AlertTriangleIcon\",\n variant: \"warning\",\n },\n });\n })\n .finally(() => {\n this.validatingCnpj = false;\n });\n } else {\n this.validCnpj = false;\n }\n }\n\n checkStateCnpj(validationContext: any): boolean | null {\n if (this.validatingCnpj) {\n return null;\n }\n\n const formValidation =\n this.formValidation.getValidationState(validationContext);\n\n if (formValidation === null && this.isValidCnpj === null) {\n return null;\n } else if (this.isValidCnpj === null) {\n return formValidation;\n } else {\n return this.isValidCnpj;\n }\n }\n\n fetchGetDealershipById() {\n this.loadingDealership = true;\n useDealerships\n .requestGet(this.dealershipId)\n .then((response: IResponseGetDealership) => {\n this.dealershipLocal = response.data.Data;\n this.cnpjExist(this.dealershipLocal.CNPJ);\n\n if (this.dealershipLocal.CodigoFaturamento) {\n this.faturarCodigoBir = true;\n }\n\n if (this.dealershipLocal.Longitude && this.dealershipLocal.Latitude) {\n this.coordinates = [\n this.dealershipLocal.Latitude,\n this.dealershipLocal.Longitude,\n ];\n }\n\n if (!this.dealershipLocal.Complemento) {\n this.dealershipLocal.Complemento = \"\";\n }\n\n if (this.dealershipLocal.DataInauguracao) {\n this.dealershipLocal.DataInauguracao =\n this.dealershipLocal.DataInauguracao.split(\"T\")[0];\n }\n\n if (this.dealershipLocal.DataNomeacao) {\n this.dealershipLocal.DataNomeacao =\n this.dealershipLocal.DataNomeacao.split(\"T\")[0];\n }\n\n if (this.dealershipLocal.DataCancelamento) {\n this.dealershipLocal.DataCancelamento =\n this.dealershipLocal.DataCancelamento.split(\"T\")[0];\n }\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar a concessionária!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingDealership = false;\n });\n }\n\n getStates() {\n this.loadingState = true;\n\n useState\n .requestList({\n paginar: false,\n municipios: [],\n })\n .then((response: IResponseListState) => {\n this.stateOptions = response.data.Data.data.map((state: IStateApi) => {\n return { label: state.Nome, value: state.Id };\n });\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar os estados!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingState = false;\n });\n }\n\n limitDigits(event: KeyboardEvent) {\n const keyCode = event.keyCode || event.which;\n const inputValue = String.fromCharCode(keyCode);\n const newValue = (this.dealershipLocal.Codigo || \"\") + inputValue;\n\n if (newValue.length > 9) {\n event.preventDefault();\n return;\n }\n }\n\n getGroups() {\n this.loadingGroup = true;\n\n useGroup\n .requestListGroup({\n draw: 1,\n length: 10000,\n paginate: false,\n })\n .then((response: IResponseListGroup) => {\n this.groupOptions = response.data.data.map((group: TDataGroup) => {\n return { label: group.Nome, value: group.Id };\n });\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar os estados!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingGroup = false;\n });\n }\n\n reduceOptionValue = (option: { label: string; value: any }): any => {\n return option.value;\n };\n\n changeCityId(option: IOptionCity): void {\n this.dealershipLocal.MunicipioId = option.value;\n this.dealershipLocal.AreaInfluenciaNome = option.area;\n this.dealershipLocal.RegiaoOperacionalNome = option.region;\n this.dealershipLocal.CidadeCodigoIbge = option.ibgeCode;\n }\n\n updateCoordinates(e: any) {\n this.coordinates = [e.target.getLatLng().lat, e.target.getLatLng().lng];\n }\n\n searchCoordinates() {\n this.loadingCoordenates = true;\n const url = `${this.geocodeEndpoint}?address=${encodeURIComponent(\n this.searchAddress\n )}&key=${this.apiKey}`;\n fetch(url)\n .then((response) => response.json())\n .then((data) => {\n if (data.results && data.results.length > 0) {\n const { lat, lng } = data.results[0].geometry.location;\n this.coordinates = [lat, lng];\n }\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar coordenadas!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingCoordenates = false;\n });\n }\n\n onSubmit() {\n this.saving = true;\n\n this.$refs.refFormObserver\n // @ts-ignore\n .validate()\n .then((success: boolean) => {\n if (success && this.isValidCnpj) {\n let business: IUpdateDealershipBody = {\n id: this.dealershipId != \"\" ? this.dealershipId : undefined,\n municipioId: this.dealershipLocal.MunicipioId || \"\",\n grupoEmpresaId: this.dealershipLocal.GrupoEmpresaId,\n cnpj: this.dealershipLocal.CNPJ,\n razaoSocial: this.dealershipLocal.RazaoSocial,\n nomeFantasia: this.dealershipLocal.NomeFantasia,\n montadora: this.dealershipLocal.Montadora,\n ativo: this.dealershipLocal.Status,\n associada: this.dealershipLocal.Associada,\n codigo: this.dealershipLocal.Codigo,\n cadastrada: this.dealershipLocal.Cadastrada,\n telefone: this.dealershipLocal.Telefone,\n mail: this.dealershipLocal.Mail,\n emailFaturamento: this.dealershipLocal.EmailFaturamento,\n site: this.dealershipLocal.Site,\n inscricaoEstadual: this.dealershipLocal.InscricaoEstadual,\n inscricaoMunicipal: this.dealershipLocal.InscricaoMunicipal,\n dataInauguracao: this.dealershipLocal.DataInauguracao,\n dataNomeacao: this.dealershipLocal.DataNomeacao,\n dataCancelamento: this.dealershipLocal.DataCancelamento,\n pendenciaFinanceira: this.dealershipLocal.PendenciaFinanceira,\n codigoFaturamento: this.dealershipLocal.CodigoFaturamento,\n matriz: this.dealershipLocal.Matriz,\n observacoes: this.dealershipLocal.Observacoes,\n endereco: null,\n };\n\n if (\n this.fieldControl.Endereco.required ||\n this.fieldControl.Endereco.optional\n ) {\n business.endereco = {\n enderecoId: this.dealershipLocal.EnderecoId,\n cep: this.dealershipLocal.CEP,\n logradouro: this.dealershipLocal.Logradouro,\n numero: this.dealershipLocal.Numero,\n complemento: this.dealershipLocal.Complemento || \"\",\n bairro: this.dealershipLocal.Bairro,\n cidadeCodigoIbge: this.dealershipLocal.CidadeCodigoIbge || \"\",\n latitude: this.dealershipLocal.Latitude,\n longitude: this.dealershipLocal.Longitude,\n };\n }\n\n if (this.dealershipId != \"\") {\n useDealerships\n .requestUpdate(business)\n .then(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Empresa atualizada com sucesso!\",\n icon: \"CheckIcon\",\n variant: \"success\",\n },\n });\n\n this.$router.push({\n name: \"admin-panel-dealerships-list\",\n });\n })\n .catch((error: any) => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao atualizar empresa!\",\n text: error.response.data.Errors.reduce(\n (accumulator: string, currentValue: string) => {\n const str = accumulator != \"\" ? \" | \" : \"\";\n return str + \" \" + currentValue;\n },\n \"\"\n ),\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.saving = false;\n });\n } else {\n useDealerships\n .requestCreate(business)\n .then((response: IResponseCreateDealership) => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Empresa criada com sucesso!\",\n icon: \"CheckIcon\",\n variant: \"success\",\n },\n });\n\n this.$router.push({\n name: \"admin-panel-dealerships-list\",\n });\n })\n .catch((error: any) => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao criar empresa!\",\n text: error.response.data.Errors.reduce(\n (accumulator: string, currentValue: string) => {\n const str = accumulator != \"\" ? \" | \" : \"\";\n return str + \" \" + currentValue;\n },\n \"\"\n ),\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.saving = false;\n });\n }\n } else {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Preencha todos os campos obrigatórios!\",\n icon: \"AlertTriangleIcon\",\n variant: \"warning\",\n },\n });\n\n if (document.querySelectorAll(\".is-invalid\").length) {\n const y =\n document\n .querySelectorAll(\".is-invalid\")[0]\n .getBoundingClientRect().top +\n window.scrollY -\n 125;\n window.scroll({\n top: y,\n behavior: \"smooth\",\n });\n }\n\n this.saving = false;\n }\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title:\n \"Ocorreu um erro inesperado! Acione a administração do sistema\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n\n this.saving = false;\n });\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DealershipsAddEdit.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DealershipsAddEdit.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DealershipsAddEdit.vue?vue&type=template&id=717373ca&scoped=true\"\nimport script from \"./DealershipsAddEdit.vue?vue&type=script&lang=ts\"\nexport * from \"./DealershipsAddEdit.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DealershipsAddEdit.vue?vue&type=style&index=0&id=717373ca&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"717373ca\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-skeleton-wrapper',[_c('b-card',{staticStyle:{\"width\":\"325px\"},attrs:{\"img-top\":\"\",\"no-body\":\"\"}},[_c('b-skeleton-img',{attrs:{\"card-img\":\"top\"}}),_c('div',{staticClass:\"tw-p-5 tw-pt-0\"},[_c('div',{staticClass:\"tw-flex tw-mt-8 items-strecth tw-space-x-10\"},[_c('div',{staticClass:\"tw-flex-col tw-w-2/3 tw-justify-between\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow tw-mb-1\",attrs:{\"height\":\"15px\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"15px\",\"width\":\"80%\"}})],1),_c('div',{staticClass:\"tw-flex tw-w-1/3 tw-justify-between tw-space-x-10\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"50%\"}})],1)]),_c('hr',{staticClass:\"tw-m-0\"}),_c('div',{staticClass:\"tw-flex tw-mt-5 tw-justify-between tw-space-x-10\"},[_c('div',{staticClass:\"tw-flex-col tw-w-1/3 tw-justify-between\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow tw-mb-1\",attrs:{\"height\":\"20px\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"8px\",\"width\":\"100%\"}})],1),_c('div',{staticClass:\"tw-flex tw-flex-col tw-w-1/3 tw-justify-between\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow tw-mb-1\",attrs:{\"width\":\"80%\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\"})],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BCard, BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\nimport AvIcon from \"@/components/av-icon/AvIcon.vue\";\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component( {\n name: \"AvSkeletonCard\",\n components: {\n BCard,\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper,\n AvIcon,\n }\n} )\nexport default class AvSkeletonCard extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonCard.vue?vue&type=template&id=5d9e84a1\"\nimport script from \"./AvSkeletonCard.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonCard.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-skeleton-wrapper',[_c('div',{staticClass:\"tw-flex tw-flex-col\"},[_c('div',[_c('b-skeleton',{attrs:{\"width\":\"100%\",\"height\":\"32px\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport { Component } from \"vue-property-decorator\";\nimport { BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\n@Component({\n name: \"AvSkeletonInput\",\n components: {\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper\n },\n})\nexport default class AvSkeletonInput extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonInput.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonInput.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonInput.vue?vue&type=template&id=27ca8fd7\"\nimport script from \"./AvSkeletonInput.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonInput.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-skeleton-wrapper',[_c('div',{staticClass:\"tw-flex tw-flex-col\"},[_c('b-skeleton',{key:\"fotos\",staticClass:\"tw-w-full tw-p-4 tw-pt-8\",attrs:{\"height\":\"448px\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport { Component } from \"vue-property-decorator\";\nimport { BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\n@Component({\n name: \"AvSkeletonMediaTabs\",\n components: {\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper,\n },\n})\nexport default class AvSkeletonMediaTabs extends Vue {\n index: number = 0;\n\n classParaMobile(index: number): string {\n return index <= 2 ? \"tw-flex\" : \"hidden\";\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonMediaTabs.vue?vue&type=template&id=0563017e\"\nimport script from \"./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tw-w-full\"},[_c('div',{staticClass:\"board-avonale\"},_vm._l((_vm.quantity),function(i){return _c('av-skeleton-card',{key:i})}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { AvSkeletonCard } from \"@/components/av-skeleton\";\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component( {\n name: \"AvSkeletonBoard\",\n components: {\n AvSkeletonCard,\n }\n} )\nexport default class AvSkeletonBoard extends Vue {\n @Prop( { required: true } ) quantity!: number;\n};\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonBoard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonBoard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonBoard.vue?vue&type=template&id=2865710c&scoped=true\"\nimport script from \"./AvSkeletonBoard.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonBoard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AvSkeletonBoard.vue?vue&type=style&index=0&id=2865710c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2865710c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('av-card',[_c('div',{staticClass:\"table__skeleton-row\"},[_c('b-skeleton',{attrs:{\"height\":\"30px\"}})],1),_c('div',{staticClass:\"tw-flex tw-space-x-5 table__skeleton-row\"},[_c('b-skeleton',{attrs:{\"width\":\"20%\",\"height\":\"30px\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"30px\"}})],1),_c('div',{staticClass:\"tw-flex tw-space-x-10 table__skeleton-row\"},[_c('div',{staticClass:\"tw-flex tw-space-x-2 tw-flex-grow\"},_vm._l((7),function(i){return _c('b-skeleton',{key:i,attrs:{\"width\":\"100%\",\"height\":\"35px\"}})}),1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AvSkeletonTable.vue?vue&type=template&id=1629bcbb&scoped=true\"\nimport script from \"./AvSkeletonTable.vue?vue&type=script&lang=js\"\nexport * from \"./AvSkeletonTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./AvSkeletonTable.vue?vue&type=style&index=0&id=1629bcbb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1629bcbb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-skeleton-wrapper',[_c('div',{staticClass:\"tw-w-full tw-p-4 tw-pt-8\"},_vm._l((6),function(index){return _c('b-skeleton',{key:index,staticClass:\"tw-flex-grow tw-mb-10\",attrs:{\"height\":\"50px\"}})}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component( {\n name: \"AvSkeletonVerticalNavMenu\",\n components: {\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper,\n }\n} )\nexport default class AvSkeletonVerticalNavMenu extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonVerticalNavMenu.vue?vue&type=template&id=17e40616\"\nimport script from \"./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-skeleton-wrapper',[_c('b-skeleton',{staticClass:\"mb-0\",attrs:{\"height\":\"21px\"}}),_c('hr',{staticClass:\"tw-m-0\"}),_c('b-row',{staticClass:\"skeleton-bar\",style:({ height: _vm.height })},_vm._l((_vm.columns),function(i){return _c('b-col',{key:i,staticClass:\"skeleton-bar-column\",style:({ height: _vm.height })},[_c('b-skeleton',{staticClass:\"w-100\",attrs:{\"height\":_vm.generateColumnHeight(i),\"card-img\":\"top\"}})],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BRow, BCol, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component({\n name: \"AvSkeletonChartBar\",\n components: {\n BRow,\n BCol,\n BSkeleton,\n BSkeletonWrapper,\n },\n})\nexport default class AvSkeletonChartBar extends Vue {\n @Prop({ default: \"350px\" }) height!: string;\n @Prop({ default: 3 }) columns!: number;\n\n generateColumnHeight(index: number): string {\n return Math.round(Math.random() * 100) + 1 + \"%\";\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonChartBar.vue?vue&type=template&id=29a124e8&scoped=true\"\nimport script from \"./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AvSkeletonChartBar.vue?vue&type=style&index=0&id=29a124e8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29a124e8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-skeleton-wrapper',[_c('b-skeleton',{staticClass:\"mb-0\",attrs:{\"height\":\"21px\"}}),_c('hr',{staticClass:\"tw-m-0\"}),_c('div',{staticClass:\"pie-skeleton-legends\"},[_c('b-skeleton',{staticClass:\"pie-skeleton-legend\",attrs:{\"height\":\"15px\"}}),_c('b-skeleton',{staticClass:\"pie-skeleton-legend\",attrs:{\"height\":\"15px\"}})],1),_c('div',{staticClass:\"pie-skeleton-wrapper\",style:({ height: _vm.height })},[_c('b-skeleton',{staticClass:\"pie-skeleton-item\"}),_c('b-skeleton',{staticClass:\"pie-skeleton-item\"})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BRow, BCol, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component({\n name: \"AvSkeletonChartPie\",\n components: {\n BRow,\n BCol,\n BSkeleton,\n BSkeletonWrapper,\n },\n})\nexport default class AvSkeletonChartPie extends Vue {\n @Prop({ default: \"300px\" }) height!: string;\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonChartPie.vue?vue&type=template&id=289921e8&scoped=true\"\nimport script from \"./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AvSkeletonChartPie.vue?vue&type=style&index=0&id=289921e8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"289921e8\",\n null\n \n)\n\nexport default component.exports","/* @preserve\n * Leaflet 1.6.0, a JS library for interactive maps. http://leafletjs.com\n * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.L = {})));\n}(this, (function (exports) { 'use strict';\n\nvar version = \"1.6.0\";\n\n/*\r\n * @namespace Util\r\n *\r\n * Various utility functions, used by Leaflet internally.\r\n */\r\n\r\nvar freeze = Object.freeze;\r\nObject.freeze = function (obj) { return obj; };\r\n\r\n// @function extend(dest: Object, src?: Object): Object\r\n// Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.\r\nfunction extend(dest) {\r\n\tvar i, j, len, src;\r\n\r\n\tfor (j = 1, len = arguments.length; j < len; j++) {\r\n\t\tsrc = arguments[j];\r\n\t\tfor (i in src) {\r\n\t\t\tdest[i] = src[i];\r\n\t\t}\r\n\t}\r\n\treturn dest;\r\n}\r\n\r\n// @function create(proto: Object, properties?: Object): Object\r\n// Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)\r\nvar create = Object.create || (function () {\r\n\tfunction F() {}\r\n\treturn function (proto) {\r\n\t\tF.prototype = proto;\r\n\t\treturn new F();\r\n\t};\r\n})();\r\n\r\n// @function bind(fn: Function, …): Function\r\n// Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\r\n// Has a `L.bind()` shortcut.\r\nfunction bind(fn, obj) {\r\n\tvar slice = Array.prototype.slice;\r\n\r\n\tif (fn.bind) {\r\n\t\treturn fn.bind.apply(fn, slice.call(arguments, 1));\r\n\t}\r\n\r\n\tvar args = slice.call(arguments, 2);\r\n\r\n\treturn function () {\r\n\t\treturn fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);\r\n\t};\r\n}\r\n\r\n// @property lastId: Number\r\n// Last unique ID used by [`stamp()`](#util-stamp)\r\nvar lastId = 0;\r\n\r\n// @function stamp(obj: Object): Number\r\n// Returns the unique ID of an object, assigning it one if it doesn't have it.\r\nfunction stamp(obj) {\r\n\t/*eslint-disable */\r\n\tobj._leaflet_id = obj._leaflet_id || ++lastId;\r\n\treturn obj._leaflet_id;\r\n\t/* eslint-enable */\r\n}\r\n\r\n// @function throttle(fn: Function, time: Number, context: Object): Function\r\n// Returns a function which executes function `fn` with the given scope `context`\r\n// (so that the `this` keyword refers to `context` inside `fn`'s code). The function\r\n// `fn` will be called no more than one time per given amount of `time`. The arguments\r\n// received by the bound function will be any arguments passed when binding the\r\n// function, followed by any arguments passed when invoking the bound function.\r\n// Has an `L.throttle` shortcut.\r\nfunction throttle(fn, time, context) {\r\n\tvar lock, args, wrapperFn, later;\r\n\r\n\tlater = function () {\r\n\t\t// reset lock and call if queued\r\n\t\tlock = false;\r\n\t\tif (args) {\r\n\t\t\twrapperFn.apply(context, args);\r\n\t\t\targs = false;\r\n\t\t}\r\n\t};\r\n\r\n\twrapperFn = function () {\r\n\t\tif (lock) {\r\n\t\t\t// called too soon, queue to call later\r\n\t\t\targs = arguments;\r\n\r\n\t\t} else {\r\n\t\t\t// call and lock until later\r\n\t\t\tfn.apply(context, arguments);\r\n\t\t\tsetTimeout(later, time);\r\n\t\t\tlock = true;\r\n\t\t}\r\n\t};\r\n\r\n\treturn wrapperFn;\r\n}\r\n\r\n// @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number\r\n// Returns the number `num` modulo `range` in such a way so it lies within\r\n// `range[0]` and `range[1]`. The returned value will be always smaller than\r\n// `range[1]` unless `includeMax` is set to `true`.\r\nfunction wrapNum(x, range, includeMax) {\r\n\tvar max = range[1],\r\n\t min = range[0],\r\n\t d = max - min;\r\n\treturn x === max && includeMax ? x : ((x - min) % d + d) % d + min;\r\n}\r\n\r\n// @function falseFn(): Function\r\n// Returns a function which always returns `false`.\r\nfunction falseFn() { return false; }\r\n\r\n// @function formatNum(num: Number, digits?: Number): Number\r\n// Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.\r\nfunction formatNum(num, digits) {\r\n\tvar pow = Math.pow(10, (digits === undefined ? 6 : digits));\r\n\treturn Math.round(num * pow) / pow;\r\n}\r\n\r\n// @function trim(str: String): String\r\n// Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\r\nfunction trim(str) {\r\n\treturn str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\r\n}\r\n\r\n// @function splitWords(str: String): String[]\r\n// Trims and splits the string on whitespace and returns the array of parts.\r\nfunction splitWords(str) {\r\n\treturn trim(str).split(/\\s+/);\r\n}\r\n\r\n// @function setOptions(obj: Object, options: Object): Object\r\n// Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.\r\nfunction setOptions(obj, options) {\r\n\tif (!obj.hasOwnProperty('options')) {\r\n\t\tobj.options = obj.options ? create(obj.options) : {};\r\n\t}\r\n\tfor (var i in options) {\r\n\t\tobj.options[i] = options[i];\r\n\t}\r\n\treturn obj.options;\r\n}\r\n\r\n// @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String\r\n// Converts an object into a parameter URL string, e.g. `{a: \"foo\", b: \"bar\"}`\r\n// translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will\r\n// be appended at the end. If `uppercase` is `true`, the parameter names will\r\n// be uppercased (e.g. `'?A=foo&B=bar'`)\r\nfunction getParamString(obj, existingUrl, uppercase) {\r\n\tvar params = [];\r\n\tfor (var i in obj) {\r\n\t\tparams.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i]));\r\n\t}\r\n\treturn ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');\r\n}\r\n\r\nvar templateRe = /\\{ *([\\w_-]+) *\\}/g;\r\n\r\n// @function template(str: String, data: Object): String\r\n// Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`\r\n// and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string\r\n// `('Hello foo, bar')`. You can also specify functions instead of strings for\r\n// data values — they will be evaluated passing `data` as an argument.\r\nfunction template(str, data) {\r\n\treturn str.replace(templateRe, function (str, key) {\r\n\t\tvar value = data[key];\r\n\r\n\t\tif (value === undefined) {\r\n\t\t\tthrow new Error('No value provided for variable ' + str);\r\n\r\n\t\t} else if (typeof value === 'function') {\r\n\t\t\tvalue = value(data);\r\n\t\t}\r\n\t\treturn value;\r\n\t});\r\n}\r\n\r\n// @function isArray(obj): Boolean\r\n// Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\r\nvar isArray = Array.isArray || function (obj) {\r\n\treturn (Object.prototype.toString.call(obj) === '[object Array]');\r\n};\r\n\r\n// @function indexOf(array: Array, el: Object): Number\r\n// Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\r\nfunction indexOf(array, el) {\r\n\tfor (var i = 0; i < array.length; i++) {\r\n\t\tif (array[i] === el) { return i; }\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n// @property emptyImageUrl: String\r\n// Data URI string containing a base64-encoded empty GIF image.\r\n// Used as a hack to free memory from unused images on WebKit-powered\r\n// mobile devices (by setting image `src` to this string).\r\nvar emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\r\n\r\n// inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\r\nfunction getPrefixed(name) {\r\n\treturn window['webkit' + name] || window['moz' + name] || window['ms' + name];\r\n}\r\n\r\nvar lastTime = 0;\r\n\r\n// fallback for IE 7-8\r\nfunction timeoutDefer(fn) {\r\n\tvar time = +new Date(),\r\n\t timeToCall = Math.max(0, 16 - (time - lastTime));\r\n\r\n\tlastTime = time + timeToCall;\r\n\treturn window.setTimeout(fn, timeToCall);\r\n}\r\n\r\nvar requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer;\r\nvar cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||\r\n\t\tgetPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };\r\n\r\n// @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number\r\n// Schedules `fn` to be executed when the browser repaints. `fn` is bound to\r\n// `context` if given. When `immediate` is set, `fn` is called immediately if\r\n// the browser doesn't have native support for\r\n// [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),\r\n// otherwise it's delayed. Returns a request ID that can be used to cancel the request.\r\nfunction requestAnimFrame(fn, context, immediate) {\r\n\tif (immediate && requestFn === timeoutDefer) {\r\n\t\tfn.call(context);\r\n\t} else {\r\n\t\treturn requestFn.call(window, bind(fn, context));\r\n\t}\r\n}\r\n\r\n// @function cancelAnimFrame(id: Number): undefined\r\n// Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).\r\nfunction cancelAnimFrame(id) {\r\n\tif (id) {\r\n\t\tcancelFn.call(window, id);\r\n\t}\r\n}\r\n\n\nvar Util = (Object.freeze || Object)({\n\tfreeze: freeze,\n\textend: extend,\n\tcreate: create,\n\tbind: bind,\n\tlastId: lastId,\n\tstamp: stamp,\n\tthrottle: throttle,\n\twrapNum: wrapNum,\n\tfalseFn: falseFn,\n\tformatNum: formatNum,\n\ttrim: trim,\n\tsplitWords: splitWords,\n\tsetOptions: setOptions,\n\tgetParamString: getParamString,\n\ttemplate: template,\n\tisArray: isArray,\n\tindexOf: indexOf,\n\temptyImageUrl: emptyImageUrl,\n\trequestFn: requestFn,\n\tcancelFn: cancelFn,\n\trequestAnimFrame: requestAnimFrame,\n\tcancelAnimFrame: cancelAnimFrame\n});\n\n// @class Class\r\n// @aka L.Class\r\n\r\n// @section\r\n// @uninheritable\r\n\r\n// Thanks to John Resig and Dean Edwards for inspiration!\r\n\r\nfunction Class() {}\r\n\r\nClass.extend = function (props) {\r\n\r\n\t// @function extend(props: Object): Function\r\n\t// [Extends the current class](#class-inheritance) given the properties to be included.\r\n\t// Returns a Javascript function that is a class constructor (to be called with `new`).\r\n\tvar NewClass = function () {\r\n\r\n\t\t// call the constructor\r\n\t\tif (this.initialize) {\r\n\t\t\tthis.initialize.apply(this, arguments);\r\n\t\t}\r\n\r\n\t\t// call all constructor hooks\r\n\t\tthis.callInitHooks();\r\n\t};\r\n\r\n\tvar parentProto = NewClass.__super__ = this.prototype;\r\n\r\n\tvar proto = create(parentProto);\r\n\tproto.constructor = NewClass;\r\n\r\n\tNewClass.prototype = proto;\r\n\r\n\t// inherit parent's statics\r\n\tfor (var i in this) {\r\n\t\tif (this.hasOwnProperty(i) && i !== 'prototype' && i !== '__super__') {\r\n\t\t\tNewClass[i] = this[i];\r\n\t\t}\r\n\t}\r\n\r\n\t// mix static properties into the class\r\n\tif (props.statics) {\r\n\t\textend(NewClass, props.statics);\r\n\t\tdelete props.statics;\r\n\t}\r\n\r\n\t// mix includes into the prototype\r\n\tif (props.includes) {\r\n\t\tcheckDeprecatedMixinEvents(props.includes);\r\n\t\textend.apply(null, [proto].concat(props.includes));\r\n\t\tdelete props.includes;\r\n\t}\r\n\r\n\t// merge options\r\n\tif (proto.options) {\r\n\t\tprops.options = extend(create(proto.options), props.options);\r\n\t}\r\n\r\n\t// mix given properties into the prototype\r\n\textend(proto, props);\r\n\r\n\tproto._initHooks = [];\r\n\r\n\t// add method for calling all hooks\r\n\tproto.callInitHooks = function () {\r\n\r\n\t\tif (this._initHooksCalled) { return; }\r\n\r\n\t\tif (parentProto.callInitHooks) {\r\n\t\t\tparentProto.callInitHooks.call(this);\r\n\t\t}\r\n\r\n\t\tthis._initHooksCalled = true;\r\n\r\n\t\tfor (var i = 0, len = proto._initHooks.length; i < len; i++) {\r\n\t\t\tproto._initHooks[i].call(this);\r\n\t\t}\r\n\t};\r\n\r\n\treturn NewClass;\r\n};\r\n\r\n\r\n// @function include(properties: Object): this\r\n// [Includes a mixin](#class-includes) into the current class.\r\nClass.include = function (props) {\r\n\textend(this.prototype, props);\r\n\treturn this;\r\n};\r\n\r\n// @function mergeOptions(options: Object): this\r\n// [Merges `options`](#class-options) into the defaults of the class.\r\nClass.mergeOptions = function (options) {\r\n\textend(this.prototype.options, options);\r\n\treturn this;\r\n};\r\n\r\n// @function addInitHook(fn: Function): this\r\n// Adds a [constructor hook](#class-constructor-hooks) to the class.\r\nClass.addInitHook = function (fn) { // (Function) || (String, args...)\r\n\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n\tvar init = typeof fn === 'function' ? fn : function () {\r\n\t\tthis[fn].apply(this, args);\r\n\t};\r\n\r\n\tthis.prototype._initHooks = this.prototype._initHooks || [];\r\n\tthis.prototype._initHooks.push(init);\r\n\treturn this;\r\n};\r\n\r\nfunction checkDeprecatedMixinEvents(includes) {\r\n\tif (typeof L === 'undefined' || !L || !L.Mixin) { return; }\r\n\r\n\tincludes = isArray(includes) ? includes : [includes];\r\n\r\n\tfor (var i = 0; i < includes.length; i++) {\r\n\t\tif (includes[i] === L.Mixin.Events) {\r\n\t\t\tconsole.warn('Deprecated include of L.Mixin.Events: ' +\r\n\t\t\t\t'this property will be removed in future releases, ' +\r\n\t\t\t\t'please inherit from L.Evented instead.', new Error().stack);\r\n\t\t}\r\n\t}\r\n}\n\n/*\r\n * @class Evented\r\n * @aka L.Evented\r\n * @inherits Class\r\n *\r\n * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * map.on('click', function(e) {\r\n * \talert(e.latlng);\r\n * } );\r\n * ```\r\n *\r\n * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:\r\n *\r\n * ```js\r\n * function onClick(e) { ... }\r\n *\r\n * map.on('click', onClick);\r\n * map.off('click', onClick);\r\n * ```\r\n */\r\n\r\nvar Events = {\r\n\t/* @method on(type: String, fn: Function, context?: Object): this\r\n\t * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).\r\n\t *\r\n\t * @alternative\r\n\t * @method on(eventMap: Object): this\r\n\t * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n\t */\r\n\ton: function (types, fn, context) {\r\n\r\n\t\t// types can be a map of types/handlers\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\t// we don't process space-separated events here for performance;\r\n\t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n\t\t\t\tthis._on(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// types can be a string of space-separated words\r\n\t\t\ttypes = splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._on(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/* @method off(type: String, fn?: Function, context?: Object): this\r\n\t * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.\r\n\t *\r\n\t * @alternative\r\n\t * @method off(eventMap: Object): this\r\n\t * Removes a set of type/listener pairs.\r\n\t *\r\n\t * @alternative\r\n\t * @method off: this\r\n\t * Removes all listeners to all events on the object. This includes implicitly attached events.\r\n\t */\r\n\toff: function (types, fn, context) {\r\n\r\n\t\tif (!types) {\r\n\t\t\t// clear all listeners if called without arguments\r\n\t\t\tdelete this._events;\r\n\r\n\t\t} else if (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis._off(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\ttypes = splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._off(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// attach listener (without syntactic sugar now)\r\n\t_on: function (type, fn, context) {\r\n\t\tthis._events = this._events || {};\r\n\r\n\t\t/* get/init listeners for type */\r\n\t\tvar typeListeners = this._events[type];\r\n\t\tif (!typeListeners) {\r\n\t\t\ttypeListeners = [];\r\n\t\t\tthis._events[type] = typeListeners;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\t// Less memory footprint.\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\t\tvar newListener = {fn: fn, ctx: context},\r\n\t\t listeners = typeListeners;\r\n\r\n\t\t// check if fn already there\r\n\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\tif (listeners[i].fn === fn && listeners[i].ctx === context) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlisteners.push(newListener);\r\n\t},\r\n\r\n\t_off: function (type, fn, context) {\r\n\t\tvar listeners,\r\n\t\t i,\r\n\t\t len;\r\n\r\n\t\tif (!this._events) { return; }\r\n\r\n\t\tlisteners = this._events[type];\r\n\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!fn) {\r\n\t\t\t// Set all removed listeners to noop so they are not called if remove happens in fire\r\n\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\tlisteners[i].fn = falseFn;\r\n\t\t\t}\r\n\t\t\t// clear all listeners for a type if function isn't specified\r\n\t\t\tdelete this._events[type];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\r\n\t\tif (listeners) {\r\n\r\n\t\t\t// find fn and remove it\r\n\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\tvar l = listeners[i];\r\n\t\t\t\tif (l.ctx !== context) { continue; }\r\n\t\t\t\tif (l.fn === fn) {\r\n\r\n\t\t\t\t\t// set the removed listener to noop so that's not called if remove happens in fire\r\n\t\t\t\t\tl.fn = falseFn;\r\n\r\n\t\t\t\t\tif (this._firingCount) {\r\n\t\t\t\t\t\t/* copy array in case events are being fired */\r\n\t\t\t\t\t\tthis._events[type] = listeners = listeners.slice();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlisteners.splice(i, 1);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// @method fire(type: String, data?: Object, propagate?: Boolean): this\r\n\t// Fires an event of the specified type. You can optionally provide an data\r\n\t// object — the first argument of the listener function will contain its\r\n\t// properties. The event can optionally be propagated to event parents.\r\n\tfire: function (type, data, propagate) {\r\n\t\tif (!this.listens(type, propagate)) { return this; }\r\n\r\n\t\tvar event = extend({}, data, {\r\n\t\t\ttype: type,\r\n\t\t\ttarget: this,\r\n\t\t\tsourceTarget: data && data.sourceTarget || this\r\n\t\t});\r\n\r\n\t\tif (this._events) {\r\n\t\t\tvar listeners = this._events[type];\r\n\r\n\t\t\tif (listeners) {\r\n\t\t\t\tthis._firingCount = (this._firingCount + 1) || 1;\r\n\t\t\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\t\tvar l = listeners[i];\r\n\t\t\t\t\tl.fn.call(l.ctx || this, event);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._firingCount--;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// propagate the event to parents (set with addEventParent)\r\n\t\t\tthis._propagateEvent(event);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method listens(type: String): Boolean\r\n\t// Returns `true` if a particular event type has any listeners attached to it.\r\n\tlistens: function (type, propagate) {\r\n\t\tvar listeners = this._events && this._events[type];\r\n\t\tif (listeners && listeners.length) { return true; }\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// also check parents for listeners if event propagates\r\n\t\t\tfor (var id in this._eventParents) {\r\n\t\t\t\tif (this._eventParents[id].listens(type, propagate)) { return true; }\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t// @method once(…): this\r\n\t// Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.\r\n\tonce: function (types, fn, context) {\r\n\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis.once(type, types[type], fn);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tvar handler = bind(function () {\r\n\t\t\tthis\r\n\t\t\t .off(types, fn, context)\r\n\t\t\t .off(types, handler, context);\r\n\t\t}, this);\r\n\r\n\t\t// add a listener that's executed once and removed after that\r\n\t\treturn this\r\n\t\t .on(types, fn, context)\r\n\t\t .on(types, handler, context);\r\n\t},\r\n\r\n\t// @method addEventParent(obj: Evented): this\r\n\t// Adds an event parent - an `Evented` that will receive propagated events\r\n\taddEventParent: function (obj) {\r\n\t\tthis._eventParents = this._eventParents || {};\r\n\t\tthis._eventParents[stamp(obj)] = obj;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeEventParent(obj: Evented): this\r\n\t// Removes an event parent, so it will stop receiving propagated events\r\n\tremoveEventParent: function (obj) {\r\n\t\tif (this._eventParents) {\r\n\t\t\tdelete this._eventParents[stamp(obj)];\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_propagateEvent: function (e) {\r\n\t\tfor (var id in this._eventParents) {\r\n\t\t\tthis._eventParents[id].fire(e.type, extend({\r\n\t\t\t\tlayer: e.target,\r\n\t\t\t\tpropagatedFrom: e.target\r\n\t\t\t}, e), true);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// aliases; we should ditch those eventually\r\n\r\n// @method addEventListener(…): this\r\n// Alias to [`on(…)`](#evented-on)\r\nEvents.addEventListener = Events.on;\r\n\r\n// @method removeEventListener(…): this\r\n// Alias to [`off(…)`](#evented-off)\r\n\r\n// @method clearAllEventListeners(…): this\r\n// Alias to [`off()`](#evented-off)\r\nEvents.removeEventListener = Events.clearAllEventListeners = Events.off;\r\n\r\n// @method addOneTimeEventListener(…): this\r\n// Alias to [`once(…)`](#evented-once)\r\nEvents.addOneTimeEventListener = Events.once;\r\n\r\n// @method fireEvent(…): this\r\n// Alias to [`fire(…)`](#evented-fire)\r\nEvents.fireEvent = Events.fire;\r\n\r\n// @method hasEventListeners(…): Boolean\r\n// Alias to [`listens(…)`](#evented-listens)\r\nEvents.hasEventListeners = Events.listens;\r\n\r\nvar Evented = Class.extend(Events);\n\n/*\r\n * @class Point\r\n * @aka L.Point\r\n *\r\n * Represents a point with `x` and `y` coordinates in pixels.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var point = L.point(200, 300);\r\n * ```\r\n *\r\n * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```js\r\n * map.panBy([200, 300]);\r\n * map.panBy(L.point(200, 300));\r\n * ```\r\n *\r\n * Note that `Point` does not inherit from Leafet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction Point(x, y, round) {\r\n\t// @property x: Number; The `x` coordinate of the point\r\n\tthis.x = (round ? Math.round(x) : x);\r\n\t// @property y: Number; The `y` coordinate of the point\r\n\tthis.y = (round ? Math.round(y) : y);\r\n}\r\n\r\nvar trunc = Math.trunc || function (v) {\r\n\treturn v > 0 ? Math.floor(v) : Math.ceil(v);\r\n};\r\n\r\nPoint.prototype = {\r\n\r\n\t// @method clone(): Point\r\n\t// Returns a copy of the current point.\r\n\tclone: function () {\r\n\t\treturn new Point(this.x, this.y);\r\n\t},\r\n\r\n\t// @method add(otherPoint: Point): Point\r\n\t// Returns the result of addition of the current and the given points.\r\n\tadd: function (point) {\r\n\t\t// non-destructive, returns a new point\r\n\t\treturn this.clone()._add(toPoint(point));\r\n\t},\r\n\r\n\t_add: function (point) {\r\n\t\t// destructive, used directly for performance in situations where it's safe to modify existing point\r\n\t\tthis.x += point.x;\r\n\t\tthis.y += point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method subtract(otherPoint: Point): Point\r\n\t// Returns the result of subtraction of the given point from the current.\r\n\tsubtract: function (point) {\r\n\t\treturn this.clone()._subtract(toPoint(point));\r\n\t},\r\n\r\n\t_subtract: function (point) {\r\n\t\tthis.x -= point.x;\r\n\t\tthis.y -= point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method divideBy(num: Number): Point\r\n\t// Returns the result of division of the current point by the given number.\r\n\tdivideBy: function (num) {\r\n\t\treturn this.clone()._divideBy(num);\r\n\t},\r\n\r\n\t_divideBy: function (num) {\r\n\t\tthis.x /= num;\r\n\t\tthis.y /= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method multiplyBy(num: Number): Point\r\n\t// Returns the result of multiplication of the current point by the given number.\r\n\tmultiplyBy: function (num) {\r\n\t\treturn this.clone()._multiplyBy(num);\r\n\t},\r\n\r\n\t_multiplyBy: function (num) {\r\n\t\tthis.x *= num;\r\n\t\tthis.y *= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method scaleBy(scale: Point): Point\r\n\t// Multiply each coordinate of the current point by each coordinate of\r\n\t// `scale`. In linear algebra terms, multiply the point by the\r\n\t// [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)\r\n\t// defined by `scale`.\r\n\tscaleBy: function (point) {\r\n\t\treturn new Point(this.x * point.x, this.y * point.y);\r\n\t},\r\n\r\n\t// @method unscaleBy(scale: Point): Point\r\n\t// Inverse of `scaleBy`. Divide each coordinate of the current point by\r\n\t// each coordinate of `scale`.\r\n\tunscaleBy: function (point) {\r\n\t\treturn new Point(this.x / point.x, this.y / point.y);\r\n\t},\r\n\r\n\t// @method round(): Point\r\n\t// Returns a copy of the current point with rounded coordinates.\r\n\tround: function () {\r\n\t\treturn this.clone()._round();\r\n\t},\r\n\r\n\t_round: function () {\r\n\t\tthis.x = Math.round(this.x);\r\n\t\tthis.y = Math.round(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method floor(): Point\r\n\t// Returns a copy of the current point with floored coordinates (rounded down).\r\n\tfloor: function () {\r\n\t\treturn this.clone()._floor();\r\n\t},\r\n\r\n\t_floor: function () {\r\n\t\tthis.x = Math.floor(this.x);\r\n\t\tthis.y = Math.floor(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method ceil(): Point\r\n\t// Returns a copy of the current point with ceiled coordinates (rounded up).\r\n\tceil: function () {\r\n\t\treturn this.clone()._ceil();\r\n\t},\r\n\r\n\t_ceil: function () {\r\n\t\tthis.x = Math.ceil(this.x);\r\n\t\tthis.y = Math.ceil(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method trunc(): Point\r\n\t// Returns a copy of the current point with truncated coordinates (rounded towards zero).\r\n\ttrunc: function () {\r\n\t\treturn this.clone()._trunc();\r\n\t},\r\n\r\n\t_trunc: function () {\r\n\t\tthis.x = trunc(this.x);\r\n\t\tthis.y = trunc(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method distanceTo(otherPoint: Point): Number\r\n\t// Returns the cartesian distance between the current and the given points.\r\n\tdistanceTo: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\tvar x = point.x - this.x,\r\n\t\t y = point.y - this.y;\r\n\r\n\t\treturn Math.sqrt(x * x + y * y);\r\n\t},\r\n\r\n\t// @method equals(otherPoint: Point): Boolean\r\n\t// Returns `true` if the given point has the same coordinates.\r\n\tequals: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn point.x === this.x &&\r\n\t\t point.y === this.y;\r\n\t},\r\n\r\n\t// @method contains(otherPoint: Point): Boolean\r\n\t// Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).\r\n\tcontains: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn Math.abs(point.x) <= Math.abs(this.x) &&\r\n\t\t Math.abs(point.y) <= Math.abs(this.y);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point for debugging purposes.\r\n\ttoString: function () {\r\n\t\treturn 'Point(' +\r\n\t\t formatNum(this.x) + ', ' +\r\n\t\t formatNum(this.y) + ')';\r\n\t}\r\n};\r\n\r\n// @factory L.point(x: Number, y: Number, round?: Boolean)\r\n// Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Number[])\r\n// Expects an array of the form `[x, y]` instead.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Object)\r\n// Expects a plain object of the form `{x: Number, y: Number}` instead.\r\nfunction toPoint(x, y, round) {\r\n\tif (x instanceof Point) {\r\n\t\treturn x;\r\n\t}\r\n\tif (isArray(x)) {\r\n\t\treturn new Point(x[0], x[1]);\r\n\t}\r\n\tif (x === undefined || x === null) {\r\n\t\treturn x;\r\n\t}\r\n\tif (typeof x === 'object' && 'x' in x && 'y' in x) {\r\n\t\treturn new Point(x.x, x.y);\r\n\t}\r\n\treturn new Point(x, y, round);\r\n}\n\n/*\r\n * @class Bounds\r\n * @aka L.Bounds\r\n *\r\n * Represents a rectangular area in pixel coordinates.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var p1 = L.point(10, 10),\r\n * p2 = L.point(40, 60),\r\n * bounds = L.bounds(p1, p2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * otherBounds.intersects([[10, 10], [40, 60]]);\r\n * ```\r\n *\r\n * Note that `Bounds` does not inherit from Leafet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction Bounds(a, b) {\r\n\tif (!a) { return; }\r\n\r\n\tvar points = b ? [a, b] : a;\r\n\r\n\tfor (var i = 0, len = points.length; i < len; i++) {\r\n\t\tthis.extend(points[i]);\r\n\t}\r\n}\r\n\r\nBounds.prototype = {\r\n\t// @method extend(point: Point): this\r\n\t// Extends the bounds to contain the given point.\r\n\textend: function (point) { // (Point)\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\t// @property min: Point\r\n\t\t// The top left corner of the rectangle.\r\n\t\t// @property max: Point\r\n\t\t// The bottom right corner of the rectangle.\r\n\t\tif (!this.min && !this.max) {\r\n\t\t\tthis.min = point.clone();\r\n\t\t\tthis.max = point.clone();\r\n\t\t} else {\r\n\t\t\tthis.min.x = Math.min(point.x, this.min.x);\r\n\t\t\tthis.max.x = Math.max(point.x, this.max.x);\r\n\t\t\tthis.min.y = Math.min(point.y, this.min.y);\r\n\t\t\tthis.max.y = Math.max(point.y, this.max.y);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getCenter(round?: Boolean): Point\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function (round) {\r\n\t\treturn new Point(\r\n\t\t (this.min.x + this.max.x) / 2,\r\n\t\t (this.min.y + this.max.y) / 2, round);\r\n\t},\r\n\r\n\t// @method getBottomLeft(): Point\r\n\t// Returns the bottom-left point of the bounds.\r\n\tgetBottomLeft: function () {\r\n\t\treturn new Point(this.min.x, this.max.y);\r\n\t},\r\n\r\n\t// @method getTopRight(): Point\r\n\t// Returns the top-right point of the bounds.\r\n\tgetTopRight: function () { // -> Point\r\n\t\treturn new Point(this.max.x, this.min.y);\r\n\t},\r\n\r\n\t// @method getTopLeft(): Point\r\n\t// Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)).\r\n\tgetTopLeft: function () {\r\n\t\treturn this.min; // left, top\r\n\t},\r\n\r\n\t// @method getBottomRight(): Point\r\n\t// Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)).\r\n\tgetBottomRight: function () {\r\n\t\treturn this.max; // right, bottom\r\n\t},\r\n\r\n\t// @method getSize(): Point\r\n\t// Returns the size of the given bounds\r\n\tgetSize: function () {\r\n\t\treturn this.max.subtract(this.min);\r\n\t},\r\n\r\n\t// @method contains(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\t// @alternative\r\n\t// @method contains(point: Point): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) {\r\n\t\tvar min, max;\r\n\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof Point) {\r\n\t\t\tobj = toPoint(obj);\r\n\t\t} else {\r\n\t\t\tobj = toBounds(obj);\r\n\t\t}\r\n\r\n\t\tif (obj instanceof Bounds) {\r\n\t\t\tmin = obj.min;\r\n\t\t\tmax = obj.max;\r\n\t\t} else {\r\n\t\t\tmin = max = obj;\r\n\t\t}\r\n\r\n\t\treturn (min.x >= this.min.x) &&\r\n\t\t (max.x <= this.max.x) &&\r\n\t\t (min.y >= this.min.y) &&\r\n\t\t (max.y <= this.max.y);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds\r\n\t// intersect if they have at least one point in common.\r\n\tintersects: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xIntersects = (max2.x >= min.x) && (min2.x <= max.x),\r\n\t\t yIntersects = (max2.y >= min.y) && (min2.y <= max.y);\r\n\r\n\t\treturn xIntersects && yIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds\r\n\t// overlap if their intersection is an area.\r\n\toverlaps: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xOverlaps = (max2.x > min.x) && (min2.x < max.x),\r\n\t\t yOverlaps = (max2.y > min.y) && (min2.y < max.y);\r\n\r\n\t\treturn xOverlaps && yOverlaps;\r\n\t},\r\n\r\n\tisValid: function () {\r\n\t\treturn !!(this.min && this.max);\r\n\t}\r\n};\r\n\r\n\r\n// @factory L.bounds(corner1: Point, corner2: Point)\r\n// Creates a Bounds object from two corners coordinate pairs.\r\n// @alternative\r\n// @factory L.bounds(points: Point[])\r\n// Creates a Bounds object from the given array of points.\r\nfunction toBounds(a, b) {\r\n\tif (!a || a instanceof Bounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new Bounds(a, b);\r\n}\n\n/*\r\n * @class LatLngBounds\r\n * @aka L.LatLngBounds\r\n *\r\n * Represents a rectangular geographical area on a map.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var corner1 = L.latLng(40.712, -74.227),\r\n * corner2 = L.latLng(40.774, -74.125),\r\n * bounds = L.latLngBounds(corner1, corner2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * map.fitBounds([\r\n * \t[40.712, -74.227],\r\n * \t[40.774, -74.125]\r\n * ]);\r\n * ```\r\n *\r\n * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range.\r\n *\r\n * Note that `LatLngBounds` does not inherit from Leafet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[])\r\n\tif (!corner1) { return; }\r\n\r\n\tvar latlngs = corner2 ? [corner1, corner2] : corner1;\r\n\r\n\tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n\t\tthis.extend(latlngs[i]);\r\n\t}\r\n}\r\n\r\nLatLngBounds.prototype = {\r\n\r\n\t// @method extend(latlng: LatLng): this\r\n\t// Extend the bounds to contain the given point\r\n\r\n\t// @alternative\r\n\t// @method extend(otherBounds: LatLngBounds): this\r\n\t// Extend the bounds to contain the given bounds\r\n\textend: function (obj) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLng) {\r\n\t\t\tsw2 = obj;\r\n\t\t\tne2 = obj;\r\n\r\n\t\t} else if (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj._southWest;\r\n\t\t\tne2 = obj._northEast;\r\n\r\n\t\t\tif (!sw2 || !ne2) { return this; }\r\n\r\n\t\t} else {\r\n\t\t\treturn obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this;\r\n\t\t}\r\n\r\n\t\tif (!sw && !ne) {\r\n\t\t\tthis._southWest = new LatLng(sw2.lat, sw2.lng);\r\n\t\t\tthis._northEast = new LatLng(ne2.lat, ne2.lng);\r\n\t\t} else {\r\n\t\t\tsw.lat = Math.min(sw2.lat, sw.lat);\r\n\t\t\tsw.lng = Math.min(sw2.lng, sw.lng);\r\n\t\t\tne.lat = Math.max(ne2.lat, ne.lat);\r\n\t\t\tne.lng = Math.max(ne2.lng, ne.lng);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method pad(bufferRatio: Number): LatLngBounds\r\n\t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n\t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n\t// Negative values will retract the bounds.\r\n\tpad: function (bufferRatio) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,\r\n\t\t widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio;\r\n\r\n\t\treturn new LatLngBounds(\r\n\t\t new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer),\r\n\t\t new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));\r\n\t},\r\n\r\n\t// @method getCenter(): LatLng\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function () {\r\n\t\treturn new LatLng(\r\n\t\t (this._southWest.lat + this._northEast.lat) / 2,\r\n\t\t (this._southWest.lng + this._northEast.lng) / 2);\r\n\t},\r\n\r\n\t// @method getSouthWest(): LatLng\r\n\t// Returns the south-west point of the bounds.\r\n\tgetSouthWest: function () {\r\n\t\treturn this._southWest;\r\n\t},\r\n\r\n\t// @method getNorthEast(): LatLng\r\n\t// Returns the north-east point of the bounds.\r\n\tgetNorthEast: function () {\r\n\t\treturn this._northEast;\r\n\t},\r\n\r\n\t// @method getNorthWest(): LatLng\r\n\t// Returns the north-west point of the bounds.\r\n\tgetNorthWest: function () {\r\n\t\treturn new LatLng(this.getNorth(), this.getWest());\r\n\t},\r\n\r\n\t// @method getSouthEast(): LatLng\r\n\t// Returns the south-east point of the bounds.\r\n\tgetSouthEast: function () {\r\n\t\treturn new LatLng(this.getSouth(), this.getEast());\r\n\t},\r\n\r\n\t// @method getWest(): Number\r\n\t// Returns the west longitude of the bounds\r\n\tgetWest: function () {\r\n\t\treturn this._southWest.lng;\r\n\t},\r\n\r\n\t// @method getSouth(): Number\r\n\t// Returns the south latitude of the bounds\r\n\tgetSouth: function () {\r\n\t\treturn this._southWest.lat;\r\n\t},\r\n\r\n\t// @method getEast(): Number\r\n\t// Returns the east longitude of the bounds\r\n\tgetEast: function () {\r\n\t\treturn this._northEast.lng;\r\n\t},\r\n\r\n\t// @method getNorth(): Number\r\n\t// Returns the north latitude of the bounds\r\n\tgetNorth: function () {\r\n\t\treturn this._northEast.lat;\r\n\t},\r\n\r\n\t// @method contains(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\r\n\t// @alternative\r\n\t// @method contains (latlng: LatLng): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) {\r\n\t\t\tobj = toLatLng(obj);\r\n\t\t} else {\r\n\t\t\tobj = toLatLngBounds(obj);\r\n\t\t}\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj.getSouthWest();\r\n\t\t\tne2 = obj.getNorthEast();\r\n\t\t} else {\r\n\t\t\tsw2 = ne2 = obj;\r\n\t\t}\r\n\r\n\t\treturn (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) &&\r\n\t\t (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.\r\n\tintersects: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat),\r\n\t\t lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng);\r\n\r\n\t\treturn latIntersects && lngIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.\r\n\toverlaps: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),\r\n\t\t lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);\r\n\r\n\t\treturn latOverlaps && lngOverlaps;\r\n\t},\r\n\r\n\t// @method toBBoxString(): String\r\n\t// Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.\r\n\ttoBBoxString: function () {\r\n\t\treturn [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');\r\n\t},\r\n\r\n\t// @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (bounds, maxMargin) {\r\n\t\tif (!bounds) { return false; }\r\n\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\treturn this._southWest.equals(bounds.getSouthWest(), maxMargin) &&\r\n\t\t this._northEast.equals(bounds.getNorthEast(), maxMargin);\r\n\t},\r\n\r\n\t// @method isValid(): Boolean\r\n\t// Returns `true` if the bounds are properly initialized.\r\n\tisValid: function () {\r\n\t\treturn !!(this._southWest && this._northEast);\r\n\t}\r\n};\r\n\r\n// TODO International date line?\r\n\r\n// @factory L.latLngBounds(corner1: LatLng, corner2: LatLng)\r\n// Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle.\r\n\r\n// @alternative\r\n// @factory L.latLngBounds(latlngs: LatLng[])\r\n// Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).\r\nfunction toLatLngBounds(a, b) {\r\n\tif (a instanceof LatLngBounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new LatLngBounds(a, b);\r\n}\n\n/* @class LatLng\r\n * @aka L.LatLng\r\n *\r\n * Represents a geographical point with a certain latitude and longitude.\r\n *\r\n * @example\r\n *\r\n * ```\r\n * var latlng = L.latLng(50.5, 30.5);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```\r\n * map.panTo([50, 30]);\r\n * map.panTo({lon: 30, lat: 50});\r\n * map.panTo({lat: 50, lng: 30});\r\n * map.panTo(L.latLng(50, 30));\r\n * ```\r\n *\r\n * Note that `LatLng` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction LatLng(lat, lng, alt) {\r\n\tif (isNaN(lat) || isNaN(lng)) {\r\n\t\tthrow new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');\r\n\t}\r\n\r\n\t// @property lat: Number\r\n\t// Latitude in degrees\r\n\tthis.lat = +lat;\r\n\r\n\t// @property lng: Number\r\n\t// Longitude in degrees\r\n\tthis.lng = +lng;\r\n\r\n\t// @property alt: Number\r\n\t// Altitude in meters (optional)\r\n\tif (alt !== undefined) {\r\n\t\tthis.alt = +alt;\r\n\t}\r\n}\r\n\r\nLatLng.prototype = {\r\n\t// @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (obj, maxMargin) {\r\n\t\tif (!obj) { return false; }\r\n\r\n\t\tobj = toLatLng(obj);\r\n\r\n\t\tvar margin = Math.max(\r\n\t\t Math.abs(this.lat - obj.lat),\r\n\t\t Math.abs(this.lng - obj.lng));\r\n\r\n\t\treturn margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point (for debugging purposes).\r\n\ttoString: function (precision) {\r\n\t\treturn 'LatLng(' +\r\n\t\t formatNum(this.lat, precision) + ', ' +\r\n\t\t formatNum(this.lng, precision) + ')';\r\n\t},\r\n\r\n\t// @method distanceTo(otherLatLng: LatLng): Number\r\n\t// Returns the distance (in meters) to the given `LatLng` calculated using the [Spherical Law of Cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines).\r\n\tdistanceTo: function (other) {\r\n\t\treturn Earth.distance(this, toLatLng(other));\r\n\t},\r\n\r\n\t// @method wrap(): LatLng\r\n\t// Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.\r\n\twrap: function () {\r\n\t\treturn Earth.wrapLatLng(this);\r\n\t},\r\n\r\n\t// @method toBounds(sizeInMeters: Number): LatLngBounds\r\n\t// Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`.\r\n\ttoBounds: function (sizeInMeters) {\r\n\t\tvar latAccuracy = 180 * sizeInMeters / 40075017,\r\n\t\t lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);\r\n\r\n\t\treturn toLatLngBounds(\r\n\t\t [this.lat - latAccuracy, this.lng - lngAccuracy],\r\n\t\t [this.lat + latAccuracy, this.lng + lngAccuracy]);\r\n\t},\r\n\r\n\tclone: function () {\r\n\t\treturn new LatLng(this.lat, this.lng, this.alt);\r\n\t}\r\n};\r\n\r\n\r\n\r\n// @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng\r\n// Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Array): LatLng\r\n// Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Object): LatLng\r\n// Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.\r\n\r\nfunction toLatLng(a, b, c) {\r\n\tif (a instanceof LatLng) {\r\n\t\treturn a;\r\n\t}\r\n\tif (isArray(a) && typeof a[0] !== 'object') {\r\n\t\tif (a.length === 3) {\r\n\t\t\treturn new LatLng(a[0], a[1], a[2]);\r\n\t\t}\r\n\t\tif (a.length === 2) {\r\n\t\t\treturn new LatLng(a[0], a[1]);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\tif (a === undefined || a === null) {\r\n\t\treturn a;\r\n\t}\r\n\tif (typeof a === 'object' && 'lat' in a) {\r\n\t\treturn new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);\r\n\t}\r\n\tif (b === undefined) {\r\n\t\treturn null;\r\n\t}\r\n\treturn new LatLng(a, b, c);\r\n}\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.Base\r\n * Object that defines coordinate reference systems for projecting\r\n * geographical points into pixel (screen) coordinates and back (and to\r\n * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See\r\n * [spatial reference system](http://en.wikipedia.org/wiki/Coordinate_reference_system).\r\n *\r\n * Leaflet defines the most usual CRSs by default. If you want to use a\r\n * CRS not defined by default, take a look at the\r\n * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.\r\n *\r\n * Note that the CRS instances do not inherit from Leafet's `Class` object,\r\n * and can't be instantiated. Also, new classes can't inherit from them,\r\n * and methods can't be added to them with the `include` function.\r\n */\r\n\r\nvar CRS = {\r\n\t// @method latLngToPoint(latlng: LatLng, zoom: Number): Point\r\n\t// Projects geographical coordinates into pixel coordinates for a given zoom.\r\n\tlatLngToPoint: function (latlng, zoom) {\r\n\t\tvar projectedPoint = this.projection.project(latlng),\r\n\t\t scale = this.scale(zoom);\r\n\r\n\t\treturn this.transformation._transform(projectedPoint, scale);\r\n\t},\r\n\r\n\t// @method pointToLatLng(point: Point, zoom: Number): LatLng\r\n\t// The inverse of `latLngToPoint`. Projects pixel coordinates on a given\r\n\t// zoom into geographical coordinates.\r\n\tpointToLatLng: function (point, zoom) {\r\n\t\tvar scale = this.scale(zoom),\r\n\t\t untransformedPoint = this.transformation.untransform(point, scale);\r\n\r\n\t\treturn this.projection.unproject(untransformedPoint);\r\n\t},\r\n\r\n\t// @method project(latlng: LatLng): Point\r\n\t// Projects geographical coordinates into coordinates in units accepted for\r\n\t// this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).\r\n\tproject: function (latlng) {\r\n\t\treturn this.projection.project(latlng);\r\n\t},\r\n\r\n\t// @method unproject(point: Point): LatLng\r\n\t// Given a projected coordinate returns the corresponding LatLng.\r\n\t// The inverse of `project`.\r\n\tunproject: function (point) {\r\n\t\treturn this.projection.unproject(point);\r\n\t},\r\n\r\n\t// @method scale(zoom: Number): Number\r\n\t// Returns the scale used when transforming projected coordinates into\r\n\t// pixel coordinates for a particular zoom. For example, it returns\r\n\t// `256 * 2^zoom` for Mercator-based CRS.\r\n\tscale: function (zoom) {\r\n\t\treturn 256 * Math.pow(2, zoom);\r\n\t},\r\n\r\n\t// @method zoom(scale: Number): Number\r\n\t// Inverse of `scale()`, returns the zoom level corresponding to a scale\r\n\t// factor of `scale`.\r\n\tzoom: function (scale) {\r\n\t\treturn Math.log(scale / 256) / Math.LN2;\r\n\t},\r\n\r\n\t// @method getProjectedBounds(zoom: Number): Bounds\r\n\t// Returns the projection's bounds scaled and transformed for the provided `zoom`.\r\n\tgetProjectedBounds: function (zoom) {\r\n\t\tif (this.infinite) { return null; }\r\n\r\n\t\tvar b = this.projection.bounds,\r\n\t\t s = this.scale(zoom),\r\n\t\t min = this.transformation.transform(b.min, s),\r\n\t\t max = this.transformation.transform(b.max, s);\r\n\r\n\t\treturn new Bounds(min, max);\r\n\t},\r\n\r\n\t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n\t// Returns the distance between two geographical coordinates.\r\n\r\n\t// @property code: String\r\n\t// Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)\r\n\t//\r\n\t// @property wrapLng: Number[]\r\n\t// An array of two numbers defining whether the longitude (horizontal) coordinate\r\n\t// axis wraps around a given range and how. Defaults to `[-180, 180]` in most\r\n\t// geographical CRSs. If `undefined`, the longitude axis does not wrap around.\r\n\t//\r\n\t// @property wrapLat: Number[]\r\n\t// Like `wrapLng`, but for the latitude (vertical) axis.\r\n\r\n\t// wrapLng: [min, max],\r\n\t// wrapLat: [min, max],\r\n\r\n\t// @property infinite: Boolean\r\n\t// If true, the coordinate space will be unbounded (infinite in both axes)\r\n\tinfinite: false,\r\n\r\n\t// @method wrapLatLng(latlng: LatLng): LatLng\r\n\t// Returns a `LatLng` where lat and lng has been wrapped according to the\r\n\t// CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.\r\n\twrapLatLng: function (latlng) {\r\n\t\tvar lng = this.wrapLng ? wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,\r\n\t\t lat = this.wrapLat ? wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,\r\n\t\t alt = latlng.alt;\r\n\r\n\t\treturn new LatLng(lat, lng, alt);\r\n\t},\r\n\r\n\t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n\t// Returns a `LatLngBounds` with the same size as the given one, ensuring\r\n\t// that its center is within the CRS's bounds.\r\n\t// Only accepts actual `L.LatLngBounds` instances, not arrays.\r\n\twrapLatLngBounds: function (bounds) {\r\n\t\tvar center = bounds.getCenter(),\r\n\t\t newCenter = this.wrapLatLng(center),\r\n\t\t latShift = center.lat - newCenter.lat,\r\n\t\t lngShift = center.lng - newCenter.lng;\r\n\r\n\t\tif (latShift === 0 && lngShift === 0) {\r\n\t\t\treturn bounds;\r\n\t\t}\r\n\r\n\t\tvar sw = bounds.getSouthWest(),\r\n\t\t ne = bounds.getNorthEast(),\r\n\t\t newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift),\r\n\t\t newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift);\r\n\r\n\t\treturn new LatLngBounds(newSw, newNe);\r\n\t}\r\n};\n\n/*\n * @namespace CRS\n * @crs L.CRS.Earth\n *\n * Serves as the base for CRS that are global such that they cover the earth.\n * Can only be used as the base for other CRS and cannot be used directly,\n * since it does not have a `code`, `projection` or `transformation`. `distance()` returns\n * meters.\n */\n\nvar Earth = extend({}, CRS, {\n\twrapLng: [-180, 180],\n\n\t// Mean Earth Radius, as recommended for use by\n\t// the International Union of Geodesy and Geophysics,\n\t// see http://rosettacode.org/wiki/Haversine_formula\n\tR: 6371000,\n\n\t// distance between two geographical points using spherical law of cosines approximation\n\tdistance: function (latlng1, latlng2) {\n\t\tvar rad = Math.PI / 180,\n\t\t lat1 = latlng1.lat * rad,\n\t\t lat2 = latlng2.lat * rad,\n\t\t sinDLat = Math.sin((latlng2.lat - latlng1.lat) * rad / 2),\n\t\t sinDLon = Math.sin((latlng2.lng - latlng1.lng) * rad / 2),\n\t\t a = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon,\n\t\t c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\t\treturn this.R * c;\n\t}\n});\n\n/*\r\n * @namespace Projection\r\n * @projection L.Projection.SphericalMercator\r\n *\r\n * Spherical Mercator projection — the most common projection for online maps,\r\n * used by almost all free and commercial tile providers. Assumes that Earth is\r\n * a sphere. Used by the `EPSG:3857` CRS.\r\n */\r\n\r\nvar earthRadius = 6378137;\r\n\r\nvar SphericalMercator = {\r\n\r\n\tR: earthRadius,\r\n\tMAX_LATITUDE: 85.0511287798,\r\n\r\n\tproject: function (latlng) {\r\n\t\tvar d = Math.PI / 180,\r\n\t\t max = this.MAX_LATITUDE,\r\n\t\t lat = Math.max(Math.min(max, latlng.lat), -max),\r\n\t\t sin = Math.sin(lat * d);\r\n\r\n\t\treturn new Point(\r\n\t\t\tthis.R * latlng.lng * d,\r\n\t\t\tthis.R * Math.log((1 + sin) / (1 - sin)) / 2);\r\n\t},\r\n\r\n\tunproject: function (point) {\r\n\t\tvar d = 180 / Math.PI;\r\n\r\n\t\treturn new LatLng(\r\n\t\t\t(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,\r\n\t\t\tpoint.x * d / this.R);\r\n\t},\r\n\r\n\tbounds: (function () {\r\n\t\tvar d = earthRadius * Math.PI;\r\n\t\treturn new Bounds([-d, -d], [d, d]);\r\n\t})()\r\n};\n\n/*\r\n * @class Transformation\r\n * @aka L.Transformation\r\n *\r\n * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`\r\n * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing\r\n * the reverse. Used by Leaflet in its projections code.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var transformation = L.transformation(2, 5, -1, 10),\r\n * \tp = L.point(1, 2),\r\n * \tp2 = transformation.transform(p), // L.point(7, 8)\r\n * \tp3 = transformation.untransform(p2); // L.point(1, 2)\r\n * ```\r\n */\r\n\r\n\r\n// factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Creates a `Transformation` object with the given coefficients.\r\nfunction Transformation(a, b, c, d) {\r\n\tif (isArray(a)) {\r\n\t\t// use array properties\r\n\t\tthis._a = a[0];\r\n\t\tthis._b = a[1];\r\n\t\tthis._c = a[2];\r\n\t\tthis._d = a[3];\r\n\t\treturn;\r\n\t}\r\n\tthis._a = a;\r\n\tthis._b = b;\r\n\tthis._c = c;\r\n\tthis._d = d;\r\n}\r\n\r\nTransformation.prototype = {\r\n\t// @method transform(point: Point, scale?: Number): Point\r\n\t// Returns a transformed point, optionally multiplied by the given scale.\r\n\t// Only accepts actual `L.Point` instances, not arrays.\r\n\ttransform: function (point, scale) { // (Point, Number) -> Point\r\n\t\treturn this._transform(point.clone(), scale);\r\n\t},\r\n\r\n\t// destructive transform (faster)\r\n\t_transform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\tpoint.x = scale * (this._a * point.x + this._b);\r\n\t\tpoint.y = scale * (this._c * point.y + this._d);\r\n\t\treturn point;\r\n\t},\r\n\r\n\t// @method untransform(point: Point, scale?: Number): Point\r\n\t// Returns the reverse transformation of the given point, optionally divided\r\n\t// by the given scale. Only accepts actual `L.Point` instances, not arrays.\r\n\tuntransform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\treturn new Point(\r\n\t\t (point.x / scale - this._b) / this._a,\r\n\t\t (point.y / scale - this._d) / this._c);\r\n\t}\r\n};\r\n\r\n// factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n\r\n// @factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Instantiates a Transformation object with the given coefficients.\r\n\r\n// @alternative\r\n// @factory L.transformation(coefficients: Array): Transformation\r\n// Expects an coefficients array of the form\r\n// `[a: Number, b: Number, c: Number, d: Number]`.\r\n\r\nfunction toTransformation(a, b, c, d) {\r\n\treturn new Transformation(a, b, c, d);\r\n}\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG3857\r\n *\r\n * The most common CRS for online maps, used by almost all free and commercial\r\n * tile providers. Uses Spherical Mercator projection. Set in by default in\r\n * Map's `crs` option.\r\n */\r\n\r\nvar EPSG3857 = extend({}, Earth, {\r\n\tcode: 'EPSG:3857',\r\n\tprojection: SphericalMercator,\r\n\r\n\ttransformation: (function () {\r\n\t\tvar scale = 0.5 / (Math.PI * SphericalMercator.R);\r\n\t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n\t}())\r\n});\r\n\r\nvar EPSG900913 = extend({}, EPSG3857, {\r\n\tcode: 'EPSG:900913'\r\n});\n\n// @namespace SVG; @section\n// There are several static functions which can be called without instantiating L.SVG:\n\n// @function create(name: String): SVGElement\n// Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),\n// corresponding to the class name passed. For example, using 'line' will return\n// an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).\nfunction svgCreate(name) {\n\treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n}\n\n// @function pointsToPath(rings: Point[], closed: Boolean): String\n// Generates a SVG path string for multiple rings, with each ring turning\n// into \"M..L..L..\" instructions\nfunction pointsToPath(rings, closed) {\n\tvar str = '',\n\ti, j, len, len2, points, p;\n\n\tfor (i = 0, len = rings.length; i < len; i++) {\n\t\tpoints = rings[i];\n\n\t\tfor (j = 0, len2 = points.length; j < len2; j++) {\n\t\t\tp = points[j];\n\t\t\tstr += (j ? 'L' : 'M') + p.x + ' ' + p.y;\n\t\t}\n\n\t\t// closes the ring for polygons; \"x\" is VML syntax\n\t\tstr += closed ? (svg ? 'z' : 'x') : '';\n\t}\n\n\t// SVG complains about empty path strings\n\treturn str || 'M0 0';\n}\n\n/*\r\n * @namespace Browser\r\n * @aka L.Browser\r\n *\r\n * A namespace with static properties for browser/feature detection used by Leaflet internally.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * if (L.Browser.ielt9) {\r\n * alert('Upgrade your browser, dude!');\r\n * }\r\n * ```\r\n */\r\n\r\nvar style$1 = document.documentElement.style;\r\n\r\n// @property ie: Boolean; `true` for all Internet Explorer versions (not Edge).\r\nvar ie = 'ActiveXObject' in window;\r\n\r\n// @property ielt9: Boolean; `true` for Internet Explorer versions less than 9.\r\nvar ielt9 = ie && !document.addEventListener;\r\n\r\n// @property edge: Boolean; `true` for the Edge web browser.\r\nvar edge = 'msLaunchUri' in navigator && !('documentMode' in document);\r\n\r\n// @property webkit: Boolean;\r\n// `true` for webkit-based browsers like Chrome and Safari (including mobile versions).\r\nvar webkit = userAgentContains('webkit');\r\n\r\n// @property android: Boolean\r\n// `true` for any browser running on an Android platform.\r\nvar android = userAgentContains('android');\r\n\r\n// @property android23: Boolean; `true` for browsers running on Android 2 or Android 3.\r\nvar android23 = userAgentContains('android 2') || userAgentContains('android 3');\r\n\r\n/* See https://stackoverflow.com/a/17961266 for details on detecting stock Android */\r\nvar webkitVer = parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10); // also matches AppleWebKit\r\n// @property androidStock: Boolean; `true` for the Android stock browser (i.e. not Chrome)\r\nvar androidStock = android && userAgentContains('Google') && webkitVer < 537 && !('AudioNode' in window);\r\n\r\n// @property opera: Boolean; `true` for the Opera browser\r\nvar opera = !!window.opera;\r\n\r\n// @property chrome: Boolean; `true` for the Chrome browser.\r\nvar chrome = userAgentContains('chrome');\r\n\r\n// @property gecko: Boolean; `true` for gecko-based browsers like Firefox.\r\nvar gecko = userAgentContains('gecko') && !webkit && !opera && !ie;\r\n\r\n// @property safari: Boolean; `true` for the Safari browser.\r\nvar safari = !chrome && userAgentContains('safari');\r\n\r\nvar phantom = userAgentContains('phantom');\r\n\r\n// @property opera12: Boolean\r\n// `true` for the Opera browser supporting CSS transforms (version 12 or later).\r\nvar opera12 = 'OTransition' in style$1;\r\n\r\n// @property win: Boolean; `true` when the browser is running in a Windows platform\r\nvar win = navigator.platform.indexOf('Win') === 0;\r\n\r\n// @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms.\r\nvar ie3d = ie && ('transition' in style$1);\r\n\r\n// @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms.\r\nvar webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23;\r\n\r\n// @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms.\r\nvar gecko3d = 'MozPerspective' in style$1;\r\n\r\n// @property any3d: Boolean\r\n// `true` for all browsers supporting CSS transforms.\r\nvar any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom;\r\n\r\n// @property mobile: Boolean; `true` for all browsers running in a mobile device.\r\nvar mobile = typeof orientation !== 'undefined' || userAgentContains('mobile');\r\n\r\n// @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device.\r\nvar mobileWebkit = mobile && webkit;\r\n\r\n// @property mobileWebkit3d: Boolean\r\n// `true` for all webkit-based browsers in a mobile device supporting CSS transforms.\r\nvar mobileWebkit3d = mobile && webkit3d;\r\n\r\n// @property msPointer: Boolean\r\n// `true` for browsers implementing the Microsoft touch events model (notably IE10).\r\nvar msPointer = !window.PointerEvent && window.MSPointerEvent;\r\n\r\n// @property pointer: Boolean\r\n// `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).\r\nvar pointer = !webkit && !!(window.PointerEvent || msPointer);\r\n\r\n// @property touch: Boolean\r\n// `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).\r\n// This does not necessarily mean that the browser is running in a computer with\r\n// a touchscreen, it only means that the browser is capable of understanding\r\n// touch events.\r\nvar touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window ||\r\n\t\t(window.DocumentTouch && document instanceof window.DocumentTouch));\r\n\r\n// @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device.\r\nvar mobileOpera = mobile && opera;\r\n\r\n// @property mobileGecko: Boolean\r\n// `true` for gecko-based browsers running in a mobile device.\r\nvar mobileGecko = mobile && gecko;\r\n\r\n// @property retina: Boolean\r\n// `true` for browsers on a high-resolution \"retina\" screen or on any screen when browser's display zoom is more than 100%.\r\nvar retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;\r\n\r\n// @property passiveEvents: Boolean\r\n// `true` for browsers that support passive events.\r\nvar passiveEvents = (function () {\r\n\tvar supportsPassiveOption = false;\r\n\ttry {\r\n\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function () {\r\n\t\t\t\tsupportsPassiveOption = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('testPassiveEventSupport', falseFn, opts);\r\n\t\twindow.removeEventListener('testPassiveEventSupport', falseFn, opts);\r\n\t} catch (e) {\r\n\t\t// Errors can safely be ignored since this is only a browser support test.\r\n\t}\r\n\treturn supportsPassiveOption;\r\n});\r\n\r\n// @property canvas: Boolean\r\n// `true` when the browser supports [`