(window["webpackJsonpLIS"] = window["webpackJsonpLIS"] || []).push([[0],{

/***/ "./node_modules/@newland/assets-neos/Scripts/common/lock.class.js":
/*!************************************************************************!*\
  !*** ./node_modules/@newland/assets-neos/Scripts/common/lock.class.js ***!
  \************************************************************************/
/*! exports provided: Lock */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Lock\", function() { return Lock; });\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Lock = /*#__PURE__*/function () {\n  function Lock() {\n    _classCallCheck(this, Lock);\n\n    /** @member {boolean} */\n    this.isLocked = false;\n    /** @member Function[] */\n\n    this.queue = [];\n  }\n\n  _createClass(Lock, [{\n    key: \"acquire\",\n    value: function () {\n      var _acquire = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var _this = this;\n\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (this.isLocked) {\n                  _context.next = 3;\n                  break;\n                }\n\n                this.isLocked = true;\n                return _context.abrupt(\"return\");\n\n              case 3:\n                _context.next = 5;\n                return new Promise(function (resolve) {\n                  _this.queue.push(resolve);\n                });\n\n              case 5:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function acquire() {\n        return _acquire.apply(this, arguments);\n      }\n\n      return acquire;\n    }()\n  }, {\n    key: \"release\",\n    value: function release() {\n      this.isLocked = false;\n\n      if (this.queue.length === 0) {\n        return;\n      }\n\n      var next = this.queue.splice(0, 1)[0];\n      next();\n    }\n  }, {\n    key: \"lock\",\n    value: function () {\n      var _lock = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(callback) {\n        var resultOrPromise, result;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return this.acquire();\n\n              case 2:\n                resultOrPromise = callback();\n\n                if (!(resultOrPromise instanceof Promise)) {\n                  _context2.next = 9;\n                  break;\n                }\n\n                _context2.next = 6;\n                return resultOrPromise;\n\n              case 6:\n                _context2.t0 = _context2.sent;\n                _context2.next = 10;\n                break;\n\n              case 9:\n                _context2.t0 = resultOrPromise;\n\n              case 10:\n                result = _context2.t0;\n                this.release();\n                return _context2.abrupt(\"return\", result);\n\n              case 13:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function lock(_x) {\n        return _lock.apply(this, arguments);\n      }\n\n      return lock;\n    }()\n  }]);\n\n  return Lock;\n}();\n\n//# sourceURL=webpack://LIS/./node_modules/@newland/assets-neos/Scripts/common/lock.class.js?");

/***/ }),

/***/ "./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-handler.js":
/*!*********************************************************************************************************!*\
  !*** ./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-handler.js ***!
  \*********************************************************************************************************/
/*! exports provided: GeolocationHandler */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeolocationHandler\", function() { return GeolocationHandler; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utilities */ \"./node_modules/@newland/assets-neos/Scripts/toubiz-map/utilities.js\");\n/* harmony import */ var _leaflet_geolocation_marker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./leaflet-geolocation-marker */ \"./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-marker.js\");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar GeolocationHandler = /*#__PURE__*/function () {\n  function GeolocationHandler(L, map, options) {\n    _classCallCheck(this, GeolocationHandler);\n\n    this.L = L;\n    this.map = map;\n    this.enableControl();\n\n    if (!options.waitForUserIntent) {\n      this.onGeolocationIntent();\n    }\n  }\n\n  _createClass(GeolocationHandler, [{\n    key: \"onGeolocationIntent\",\n    value: function onGeolocationIntent() {\n      var _this = this;\n\n      Object(_utilities__WEBPACK_IMPORTED_MODULE_0__[\"getCurrentUserLocation\"])().then(function (position) {\n        _this.position = position;\n\n        _this.map.panTo(position);\n\n        _this.drawLocationMarker();\n      }).catch(console.warn);\n    }\n  }, {\n    key: \"enableControl\",\n    value: function enableControl() {\n      var _this2 = this;\n\n      this.L.Control.Geolocation = this.L.Control.extend({\n        onAdd: function onAdd() {\n          var geolocationControlDiv = document.createElement('div');\n          geolocationControlDiv.className = 'tb-map-custom-control tb-map-custom-control--leaflet leaflet-bar leaflet-control';\n          geolocationControlDiv.title = 'Map auf aktuellem Standort zentrieren';\n          geolocationControlDiv.innerHTML = \"\\n                    <svg class=\\\"c-icon tb-map-custom-control__icon\\\">\\n                        <use xlink:href=\\\"#tb-map-geolocation\\\"></use>\\n                    </svg>\\n                \";\n          geolocationControlDiv.addEventListener('click', function () {\n            return _this2.onGeolocationIntent();\n          });\n          return geolocationControlDiv;\n        },\n        onRemove: function onRemove() {}\n      });\n      this.L.control.geolocation = new this.L.Control.Geolocation({\n        position: 'topright'\n      });\n      this.L.control.geolocation.addTo(this.map);\n    }\n  }, {\n    key: \"drawLocationMarker\",\n    value: function () {\n      var _drawLocationMarker = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!this.marker) {\n                  this.marker = new _leaflet_geolocation_marker__WEBPACK_IMPORTED_MODULE_1__[\"GeolocationMarker\"](this.L, this.position, this.map);\n                }\n\n              case 1:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function drawLocationMarker() {\n        return _drawLocationMarker.apply(this, arguments);\n      }\n\n      return drawLocationMarker;\n    }()\n  }]);\n\n  return GeolocationHandler;\n}();\n\n//# sourceURL=webpack://LIS/./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-handler.js?");

/***/ }),

/***/ "./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-marker.js":
/*!********************************************************************************************************!*\
  !*** ./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-marker.js ***!
  \********************************************************************************************************/
/*! exports provided: GeolocationMarker */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GeolocationMarker\", function() { return GeolocationMarker; });\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GeolocationMarker = /*#__PURE__*/function () {\n  function GeolocationMarker(L, position, map) {\n    _classCallCheck(this, GeolocationMarker);\n\n    this.L = L;\n    this.position = position;\n    this.map = map;\n    this.draw();\n  }\n\n  _createClass(GeolocationMarker, [{\n    key: \"draw\",\n    value: function draw() {\n      var customIcon = this.L.divIcon({\n        iconSize: this.L.Point(20, 20),\n        className: 'tb-map-geolocation-marker-wrapper',\n        html: \"\\n                <div class=\\\"tb-map-geolocation-marker tb-map-geolocation-marker--leaflet\\\">\\n                    <span class=\\\"tb-map-geolocation-marker__backdrop\\\"></span>\\n                    <span class=\\\"tb-map-geolocation-marker__icon\\\"></span>\\n                </div>\\n            \"\n      });\n      this.L.marker(this.position, {\n        icon: customIcon,\n        keyboard: false,\n        title: 'Current position',\n        bubblingMouseEvents: true\n      }).addTo(this.map);\n    }\n  }]);\n\n  return GeolocationMarker;\n}();\n\n//# sourceURL=webpack://LIS/./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-marker.js?");

/***/ }),

/***/ "./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet.js":
/*!*************************************************************************************!*\
  !*** ./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet.js ***!
  \*************************************************************************************/
/*! exports provided: Leaflet */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Leaflet\", function() { return Leaflet; });\n/* harmony import */ var _abstract_map_with_markers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../abstract-map-with-markers */ \"./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/abstract-map-with-markers.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utilities */ \"./node_modules/@newland/assets-neos/Scripts/toubiz-map/utilities.js\");\n/* harmony import */ var _leaflet_geolocation_handler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./leaflet-geolocation-handler */ \"./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet-geolocation-handler.js\");\n/* harmony import */ var _common_lock_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lock.class */ \"./node_modules/@newland/assets-neos/Scripts/common/lock.class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n/**\n * @implements {MapWithTour}\n * @implements {MapWithInfoWindow}\n */\n\nvar Leaflet = /*#__PURE__*/function (_AbstractMapWithMarke) {\n  _inherits(Leaflet, _AbstractMapWithMarke);\n\n  var _super = _createSuper(Leaflet);\n\n  function Leaflet() {\n    _classCallCheck(this, Leaflet);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(Leaflet, [{\n    key: \"initialize\",\n    value: function initialize() {\n      /** @private {Lock} */\n      this.renderLock = new _common_lock_class__WEBPACK_IMPORTED_MODULE_3__[\"Lock\"]();\n      /** @private */\n\n      this.polylines = [];\n    }\n    /**\n     * @protected\n     * @returns {Promise}\n     */\n\n  }, {\n    key: \"render\",\n    value: function render(markers) {\n      var _this = this;\n\n      return this.renderLock.lock( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var mapMarkers;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(!_this.map && !_this.clusterer)) {\n                  _context.next = 9;\n                  break;\n                }\n\n                _context.next = 3;\n                return _this.initializeMap();\n\n              case 3:\n                _this.map = _context.sent;\n\n                _this.addZoomControls();\n\n                _context.next = 7;\n                return _this.initializeMarkerClusterer(_this.map);\n\n              case 7:\n                _this.clusterer = _context.sent;\n\n                if (_this.options.geolocation && _this.options.geolocation.enabled) {\n                  _this.addGeolocationHandling();\n                }\n\n              case 9:\n                mapMarkers = _this.getMapMarkers(markers);\n\n                _this.clusterer.clearLayers();\n\n                _this.clusterer.addLayer(new _this.L.LayerGroup(mapMarkers));\n\n              case 12:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      })));\n    }\n    /** @public */\n\n  }, {\n    key: \"centerMapOnMarkers\",\n    value: function centerMapOnMarkers(markers) {\n      var _this2 = this;\n\n      if (!this.map) {\n        setTimeout(function () {\n          return _this2.centerMapOnMarkers(markers);\n        }, 250);\n        return;\n      }\n\n      if (markers.length === 0) {\n        return;\n      }\n\n      if (markers.length === 1) {\n        this.map.setView(this.coordinatesToLatLng(markers[0].coordinates), this.options.zoom * 18 / 100);\n        return;\n      }\n\n      var bounds = this.L.latLngBounds(this.coordinatesToLatLng(markers[0].coordinates), this.coordinatesToLatLng(markers[1].coordinates));\n\n      var _iterator = _createForOfIteratorHelper(markers),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var marker = _step.value;\n          bounds.extend(this.coordinatesToLatLng(marker.coordinates));\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      this.map.fitBounds(bounds);\n    }\n    /**\n     * @public\n     * @param {Marker} marker\n     * @returns {Promise|void}\n     */\n\n  }, {\n    key: \"drawTourOntoMap\",\n    value: function drawTourOntoMap(marker, fitBoundsToTour) {\n      var _this3 = this;\n\n      if (!this.L) {\n        setTimeout(function () {\n          return _this3.drawTourOntoMap(marker);\n        }, 250);\n        return;\n      }\n\n      if (!marker.polyline) {\n        marker.polyline = this.L.polyline([], {\n          color: marker.tour.color || '#FF6347'\n        });\n      }\n\n      marker.polyline.setLatLngs(marker.tour.polygon).addTo(this.map);\n      this.polylines.push(marker.polyline);\n\n      if (fitBoundsToTour) {\n        this.map.fitBounds(this.L.latLngBounds(marker.tour.polygon).pad(.2));\n      }\n    }\n  }, {\n    key: \"clearTours\",\n    value: function clearTours() {\n      var _iterator2 = _createForOfIteratorHelper(this.polylines),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var polyline = _step2.value;\n          polyline.remove();\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      this.polylines = [];\n    }\n  }, {\n    key: \"openInfoWindow\",\n    value: function openInfoWindow(marker, content) {\n      if (!this.popup) {\n        this.popup = this.initializePopup(marker);\n      }\n\n      var latLng = this.coordinatesToLatLng(marker.coordinates);\n      this.popup.setLatLng(latLng).setContent(content).openOn(this.map);\n      this.popup.currentMarker = marker;\n\n      if (this.clusterer) {\n        this.clusterer.removeLayer(marker.mapMarker);\n      }\n\n      this.map.addLayer(marker.mapMarker);\n      Object(_utilities__WEBPACK_IMPORTED_MODULE_1__[\"trackOutdoorActiveIfConfigured\"])(marker);\n    }\n  }, {\n    key: \"closeInfoWindow\",\n    value: function closeInfoWindow() {\n      if (this.popup) {\n        if (this.popup.currentMarker) {\n          this.map.removeLayer(this.popup.currentMarker.mapMarker);\n\n          if (this.clusterer) {\n            this.clusterer.addLayer(this.popup.currentMarker.mapMarker);\n          }\n        }\n\n        this.popup.remove();\n        this.popup.currentMarker = null;\n      }\n    }\n    /**\n     * @protected\n     * @param {object} options\n     * @returns {object}\n     */\n\n  }, {\n    key: \"prepareOptions\",\n    value: function prepareOptions(options) {\n      options = _get(_getPrototypeOf(Leaflet.prototype), \"prepareOptions\", this).call(this, options);\n      options.tileLayer = options.tileLayer || {};\n      options.tileLayer.url = options.tileLayer.url || 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';\n      options.tileLayer.attribution = options.tileLayer.attribution || '';\n      return options;\n    }\n    /**\n     * @returns {Promise}\n     * @protected\n     */\n\n  }, {\n    key: \"initializeMap\",\n    value: function () {\n      var _initializeMap = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var center, map;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return Object(_utilities__WEBPACK_IMPORTED_MODULE_1__[\"loadLeaflet\"])();\n\n              case 2:\n                this.L = _context2.sent;\n                center = this.coordinatesToLatLng(this.options.center);\n                center.lat = center.lat || 47.980870;\n                center.lng = center.lng || 7.820810; // Initialize map\n\n                map = this.L.map(this.node, {\n                  fullscreenControl: false\n                }).setView(center, this.options.zoom * 18 / 100);\n                this.L.tileLayer(this.options.tileLayer.url, {\n                  attribution: this.options.tileLayer.attribution,\n                  maxZoom: 18\n                }).addTo(map);\n                this.L.control.scale().addTo(map);\n                return _context2.abrupt(\"return\", map);\n\n              case 10:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function initializeMap() {\n        return _initializeMap.apply(this, arguments);\n      }\n\n      return initializeMap;\n    }()\n    /**\n     * @protected\n     * @param {Marker~Coordinates} coordinates\n     * @returns {{lat: number, lng: number}}\n     */\n\n  }, {\n    key: \"coordinatesToLatLng\",\n    value: function coordinatesToLatLng(coordinates) {\n      return {\n        lat: coordinates.latitude,\n        lng: coordinates.longitude\n      };\n    }\n    /**\n     * @private\n     * @returns {Leaflet.Marker[]}\n     */\n\n  }, {\n    key: \"getMapMarkers\",\n    value: function getMapMarkers(markers) {\n      var _this4 = this;\n\n      var mapMarkers = [];\n\n      var _iterator3 = _createForOfIteratorHelper(markers),\n          _step3;\n\n      try {\n        var _loop = function _loop() {\n          var marker = _step3.value;\n\n          if (!marker.style.mapIcon && marker.style.iconUrl) {\n            marker.style.mapIcon = new _this4.L.Icon({\n              iconUrl: marker.style.iconUrl,\n              iconSize: [marker.style.width, marker.style.height],\n              iconAnchor: [marker.style.offsetX, marker.style.offsetY]\n            });\n          }\n\n          if (!marker.mapMarker) {\n            marker.mapMarker = new _this4.L.Marker(_this4.coordinatesToLatLng(marker.coordinates));\n            marker.mapMarker.on('click', function () {\n              return _this4.callMarkerClickListeners(marker);\n            });\n          }\n\n          if (marker.style.mapIcon) {\n            marker.mapMarker.setIcon(marker.style.mapIcon);\n          }\n\n          mapMarkers.push(marker.mapMarker);\n        };\n\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n\n      return mapMarkers;\n    }\n    /**\n     * @private\n     * @param {Leaflet} map\n     * @returns {Promise<void>}\n     */\n\n  }, {\n    key: \"initializeMarkerClusterer\",\n    value: function () {\n      var _initializeMarkerClusterer = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(map) {\n        var L, clustering, clusterer, clustererOptions, clustererInstance;\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                L = this.L;\n                clustering = this.options.clustering;\n                _context3.next = 4;\n                return Object(_utilities__WEBPACK_IMPORTED_MODULE_1__[\"loadLeafletClusterer\"])();\n\n              case 4:\n                clusterer = _context3.sent;\n                clustererOptions = {\n                  showCoverageOnHover: true,\n                  zoomToBoundsOnClick: true,\n                  spiderfyOnMaxZoom: true,\n                  // maxClusterRadius: 0,\n                  spiderLegPolylineOptions: {\n                    weight: 2.5,\n                    color: '#222',\n                    opacity: .75\n                  },\n                  iconCreateFunction: function iconCreateFunction(cluster) {\n                    return L.divIcon({\n                      iconSize: [40, 40],\n                      html: \"\\n                        <div class=\\\"tb-map-marker-cluster\\\" style=\\\"\\n                            background: \".concat(clustering.backgroundColor, \";\\n                            color: \").concat(clustering.color, \";\\n                            width: 100%;\\n                            height: 100%;\\n                        \\\">\\n                            <span class=\\\"tb-map-marker-cluster__label\\\">\\n                                \").concat(cluster.getChildCount(), \"\\n                            </span>\\n                        </div>\\n                    \"),\n                      className: 'tb-map-marker-cluster'\n                    });\n                  }\n                };\n\n                if (clustering.disabled) {\n                  // disable clustering for all zoom levels\n                  clustererOptions.disableClusteringAtZoom = 0;\n                }\n\n                clustererInstance = new clusterer.MarkerClusterGroup(clustererOptions);\n                map.addLayer(clustererInstance);\n                return _context3.abrupt(\"return\", clustererInstance);\n\n              case 10:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function initializeMarkerClusterer(_x) {\n        return _initializeMarkerClusterer.apply(this, arguments);\n      }\n\n      return initializeMarkerClusterer;\n    }()\n    /**\n     * @private\n     * @returns {Leaflet.Popup}\n     */\n\n  }, {\n    key: \"initializePopup\",\n    value: function initializePopup(marker) {\n      var offsetY = marker.style.height || 50;\n      return this.L.popup({\n        minWidth: 266,\n        maxWidth: 500,\n        autoPanPadding: [40, 50],\n        closeButton: false,\n        closeOnClick: false,\n        offset: [0, -offsetY]\n      });\n    }\n    /**\n     * Ensures that the zoom controls definitively are in the top right corner.\n     * @private\n     */\n\n  }, {\n    key: \"addZoomControls\",\n    value: function addZoomControls() {\n      if (this.map.zoomControl) {\n        this.map.removeControl(this.map.zoomControl);\n      }\n\n      this.map.zoomControl = this.L.control.zoom({\n        position: 'topright'\n      });\n      this.map.zoomControl.addTo(this.map);\n    }\n    /** @private */\n\n  }, {\n    key: \"addGeolocationHandling\",\n    value: function addGeolocationHandling() {\n      this.geolocationHandler = new _leaflet_geolocation_handler__WEBPACK_IMPORTED_MODULE_2__[\"GeolocationHandler\"](this.L, this.map, this.options.geolocation);\n    }\n  }]);\n\n  return Leaflet;\n}(_abstract_map_with_markers__WEBPACK_IMPORTED_MODULE_0__[\"AbstractMapWithMarkers\"]);\n\n//# sourceURL=webpack://LIS/./node_modules/@newland/assets-neos/Scripts/toubiz-map/map/leaflet/leaflet.js?");

/***/ }),

/***/ "./node_modules/@newland/assets-neos/Scripts/toubiz-map/utilities.js":
/*!***************************************************************************!*\
  !*** ./node_modules/@newland/assets-neos/Scripts/toubiz-map/utilities.js ***!
  \***************************************************************************/
/*! exports provided: trackOutdoorActiveIfConfigured, loadMapToolkit, loadLeaflet, loadLeafletClusterer, getCurrentUserLocation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trackOutdoorActiveIfConfigured\", function() { return trackOutdoorActiveIfConfigured; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadMapToolkit\", function() { return loadMapToolkit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadLeaflet\", function() { return loadLeaflet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadLeafletClusterer\", function() { return loadLeafletClusterer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCurrentUserLocation\", function() { return getCurrentUserLocation; });\n/* harmony import */ var _toubiz_poi_outdoor_active_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toubiz-poi/outdoor-active-api */ \"./node_modules/@newland/assets-neos/Scripts/toubiz-poi/outdoor-active-api.js\");\n/* harmony import */ var _common_load_utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/load-utilities */ \"./node_modules/@newland/assets-neos/Scripts/common/load-utilities.js\");\n\n\n/**\n * @param {Marker} marker\n * @private\n */\n\nfunction trackOutdoorActiveIfConfigured(marker) {\n  if (!marker.outdoorActiveTrackingId) {\n    return;\n  }\n\n  Object(_toubiz_poi_outdoor_active_api__WEBPACK_IMPORTED_MODULE_0__[\"loadOutdoorActiveForTracking\"])().then(function (oax) {\n    oax.api.trackTeaser(marker.outdoorActiveTrackingId);\n  });\n}\n/**\n * @param {string} toursprungApiKey\n * @param {string} googleMapsApiKey\n * @returns {Promise}\n */\n\nfunction loadMapToolkit(toursprungApiKey, googleMapsApiKey) {\n  var version = '8.9'; // TODO Load jQuery locally instead of from CDN\n\n  var scriptLoading = Object(_common_load_utilities__WEBPACK_IMPORTED_MODULE_1__[\"loadScript\"])('https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js', 'mtk-jquery').then(function () {\n    return Object(_common_load_utilities__WEBPACK_IMPORTED_MODULE_1__[\"loadScript\"])(\"https://static.maptoolkit.net/api/v\".concat(version, \"/mtk.de.js\"), 'mtk-script');\n  });\n  var styleLoading = Object(_common_load_utilities__WEBPACK_IMPORTED_MODULE_1__[\"loadStyle\"])(\"https://static.maptoolkit.net/api/v\".concat(version, \"/mtk.css\"), 'mtk-style'); // MTK also provides leaflet\n\n  Object(_common_load_utilities__WEBPACK_IMPORTED_MODULE_1__[\"ensureLoadingPromiseOnlyExistsOnce\"])('leaflet', function () {\n    return scriptLoading.then(function () {\n      return window.L;\n    });\n  });\n  return Promise.all([scriptLoading, styleLoading]).then(function () {\n    var initConfig = {\n      apiKey: toursprungApiKey\n    };\n\n    if (googleMapsApiKey) {\n      initConfig.googleApiKey = googleMapsApiKey;\n    }\n\n    window.MTK.init(initConfig);\n    return window.MTK;\n  });\n}\n/**\n * @returns {Promise}\n */\n\nfunction loadLeaflet() {\n  return Object(_common_load_utilities__WEBPACK_IMPORTED_MODULE_1__[\"ensureLoadingPromiseOnlyExistsOnce\"])('leaflet', function () {\n    Promise.all(/*! import() | leaflet */[__webpack_require__.e(\"vendors~leaflet~leaflet-fullscreen\"), __webpack_require__.e(\"vendors~leaflet\")]).then(__webpack_require__.t.bind(null, /*! leaflet/dist/leaflet.css */ \"./node_modules/leaflet/dist/leaflet.css\", 7));\n    Promise.all(/*! import() | leaflet-fullscreen */[__webpack_require__.e(\"vendors~leaflet~leaflet-fullscreen\"), __webpack_require__.e(\"leaflet-fullscreen\")]).then(__webpack_require__.t.bind(null, /*! leaflet-fullscreen/dist/leaflet.fullscreen.css */ \"./node_modules/leaflet-fullscreen/dist/leaflet.fullscreen.css\", 7));\n    Promise.all(/*! import() | leaflet-fullscreen */[__webpack_require__.e(\"vendors~leaflet~leaflet-fullscreen\"), __webpack_require__.e(\"leaflet-fullscreen\")]).then(__webpack_require__.t.bind(null, /*! leaflet-fullscreen */ \"./node_modules/leaflet-fullscreen/dist/Leaflet.fullscreen.js\", 7));\n    return Promise.all(/*! import() | leaflet */[__webpack_require__.e(\"vendors~leaflet~leaflet-fullscreen\"), __webpack_require__.e(\"vendors~leaflet\")]).then(__webpack_require__.t.bind(null, /*! leaflet */ \"./node_modules/leaflet/dist/leaflet-src.js\", 7));\n  });\n}\n/**\n * @returns {Promise}\n */\n\nfunction loadLeafletClusterer() {\n  return Object(_common_load_utilities__WEBPACK_IMPORTED_MODULE_1__[\"ensureLoadingPromiseOnlyExistsOnce\"])('leaflet-marker-cluster', function () {\n    __webpack_require__.e(/*! import() | leaflet-cluster */ \"vendors~leaflet-cluster\").then(__webpack_require__.t.bind(null, /*! leaflet.markercluster/dist/MarkerCluster.css */ \"./node_modules/leaflet.markercluster/dist/MarkerCluster.css\", 7));\n    __webpack_require__.e(/*! import() | leaflet-cluster */ \"vendors~leaflet-cluster\").then(__webpack_require__.t.bind(null, /*! leaflet.markercluster/dist/MarkerCluster.Default.css */ \"./node_modules/leaflet.markercluster/dist/MarkerCluster.Default.css\", 7));\n    return __webpack_require__.e(/*! import() | leaflet-cluster */ \"vendors~leaflet-cluster\").then(__webpack_require__.t.bind(null, /*! imports-loader?L=>window.L!leaflet.markercluster */ \"./node_modules/imports-loader/index.js?L=>window.L!./node_modules/leaflet.markercluster/dist/leaflet.markercluster-src.js\", 7));\n  });\n}\n/**\n * @returns {Promise}\n */\n\nvar getCurrentUserLocation = function getCurrentUserLocation() {\n  return new Promise(function (resolve, reject) {\n    if (navigator.geolocation) {\n      navigator.geolocation.getCurrentPosition(function (position) {\n        resolve({\n          lat: position.coords.latitude,\n          lng: position.coords.longitude\n        });\n      }, function () {\n        reject('Geolocation not enabled by User');\n      });\n    } else {\n      reject('Browser doesnt support Geolocation');\n    }\n  });\n};\n\n//# sourceURL=webpack://LIS/./node_modules/@newland/assets-neos/Scripts/toubiz-map/utilities.js?");

/***/ })

}]);