(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{199:function(module,exports){eval("/**\n * A free-standing version of the GASend method found on App\n * that doesn't require App. Assumes the existence of the global\n * GA object.\n * @param target\n */\nmodule.exports.gaSend = function (target) {\n  var eventLabel = target.getAttribute('data-event-label') || target.getAttribute('data_event_label');\n  var eventAction = target.getAttribute('data-event-action') || eventLabel;\n  var eventCategory = target.getAttribute('data-event-category') || target.getAttribute('data_event_category');\n\n  if (eventCategory && eventAction) {\n    ga(function (tracker) {\n      tracker.send({\n        eventAction: eventAction,\n        eventCategory: eventCategory,\n        eventLabel: eventLabel,\n        hitType: 'event'\n      });\n    });\n  }\n};\n\n//# sourceURL=webpack:///./src/utilities/gaSend.js?")},458:function(module,exports,__webpack_require__){eval("var _interopRequireDefault = __webpack_require__(33);\n\nvar _jquery = _interopRequireDefault(__webpack_require__(21));\n\nvar _gaSend = __webpack_require__(199);\n\nvar _underscore = _interopRequireDefault(__webpack_require__(14));\n\nvar _backbone = _interopRequireDefault(__webpack_require__(29));\n\n__webpack_require__(197);\n\nvar _syncedListsMap = _interopRequireDefault(__webpack_require__(459));\n\nvar _loadingSpinner = _interopRequireDefault(__webpack_require__(475));\n\n__webpack_require__(476);\n\n// Standalone view to be consumed by pages in Tucson: map, cache details, etc\n// Synced-lists functionality\n_jquery[\"default\"].ajaxSetup({\n  xhrFields: {\n    withCredentials: true\n  }\n});\n\n(0, _jquery[\"default\"])(function () {\n  var SyncedLists = function () {\n    //wrapper for encapsulation\n    var Clock = new Date();\n    var AvailableLists;\n    var requestInProgress = false; //flag for preventing double adds\n\n    var View;\n    var refreshTimer;\n\n    var _viewModel = _backbone[\"default\"].Model.extend({\n      postNewList: function postNewList(listName) {\n        //add and sync\n        return this.get(\"availableLists\").create({\n          'name': listName,\n          'description': '',\n          'lastUpdateUtc': Clock.toISOString()\n        }, {\n          wait: true,\n          //don't add it to the collection until we get a 200\n          url: '/api/proxy/web/v1/lists',\n          error: function (err, xhr) {\n            //need to fire an event ourselves\n            this.get('availableLists').trigger('error', err, xhr);\n          }.bind(this),\n          success: function () {\n            this.get('availableLists').trigger('list:add');\n          }.bind(this),\n          beforeSend: function beforeSend(xhr) {\n            xhr.withCredentials = true;\n          }\n        });\n      }\n    });\n\n    var SyncedViewModel = new _viewModel();\n    /*\n     * _listModel\n     * @description Model reflecting the shape of an incoming List Resource\n     * Provides formatting for PUT requests and the testFull template flag\n     */\n\n    var _listModel = _backbone[\"default\"].Model.extend({\n      defaults: {\n        \"count\": 0,\n        \"type\": {\n          'code': 'bm'\n        }\n      },\n      parse: function parse(data) {\n        this.set('id', data.referenceCode);\n        return data;\n      },\n\n      /*\n       * url()\n       * @description overwritting the url() to add /geocaches onto the end\n       */\n      url: function url() {\n        //overwriting for adding the /geocaches uri part\n        var base = '/api/proxy/web/v1/lists/';\n        var extraPath = \"/geocaches\";\n        return base + this.get('referenceCode') + extraPath;\n      },\n      initialize: function initialize() {\n        _underscore[\"default\"].bindAll(this, 'testFull');\n      },\n      testFull: function testFull(evt) {\n        if (this.get('count') >= 1000) {\n          return true;\n        } else {\n          return false;\n        }\n      },\n\n      /*\n       * addToCount\n       * @description change the count attribute by some amount\n       * @param added (int) amount to add, or subtract\n       * @return this\n       */\n      addToCount: function addToCount(added) {\n        this.set('count', this.get('count') + added);\n        return this;\n      }\n    });\n    /*\n     * _availableLists\n     * @description A collection for keeping track of what the Server knows about the lists\n     * @model _listModel\n     */\n\n\n    var _availableLists = _backbone[\"default\"].Collection.extend({\n      url: '/web/v1/lists',\n      model: _listModel,\n      comparator: function comparator(m) {\n        return -Date.parse(m.get('lastUpdateUtc'));\n      },\n      parse: function parse(response) {\n        if (response.errors) {\n          console.log(response.errors);\n        }\n\n        return response.data;\n      },\n      initialize: function initialize() {\n        //get the lists right away\n        _jquery[\"default\"].ajax({\n          url: \"/api/proxy/web/v1/lists\",\n          type: \"GET\",\n          data: {\n            \"type\": 'bm',\n            \"skip\": 0,\n            \"take\": 100\n          },\n          success: function (d) {\n            //need to tell the init function that it worked even if empty\n            this.add(d.data);\n            this.trigger('fetch-complete');\n          }.bind(this)\n        });\n      }\n    });\n    /*\n     * AddMenu\n     * @description The reusable component that the user can add new lists and put cache items to\n     *\n     */\n\n\n    var AddMenu = _backbone[\"default\"].View.extend({\n      template: _syncedListsMap[\"default\"],\n      events: {\n        \"keyup #newListName\": \"createList\",\n        \"click .add-list-submit\": \"createList\",\n        \"click .list-item\": \"addToExisting\",\n        \"click .btn-close\": \"destroy\",\n        \"click .status.error\": \"showStatusMessage\"\n      },\n      initialize: function initialize(o) {\n        this.gcRefCode = o.gcRefCode;\n        this.model.set(window.addToListTemplateResources);\n        this.spinnerTpl = (0, _loadingSpinner[\"default\"])(); //render if we add a list\n\n        AvailableLists.on('list:add', this.newListAddSuccess, this);\n        AvailableLists.on('error', this.validationFailed, this);\n      },\n      render: function render() {\n        //build node\n        this.$el.html(this.template(this.model.toJSON()));\n        this.$el.attr('data-cid', this.cid);\n        this.delegateEvents(); //create refs for stuff later\n\n        this.$inputControl = this.$('.input-control');\n        this.$addStatus = this.$('.add-list-status');\n        this.$saveBtn = this.$('.add-list-submit'); //basic member\n\n        if (ListResources.isPremium.toLowerCase() !== \"true\") {\n          this.$saveBtn.attr('disabled', true).show();\n          this.$inputControl.attr('disabled', true);\n          this.bindPremiumUpsell(this.$inputControl);\n        } else {\n          this.$('#newListName').trigger('focus').one(\"keydown\", function () {\n            this.$inputControl.addClass('active');\n            this.$saveBtn.fadeIn();\n          }.bind(this));\n        } //this is garbage. test if we click out of the tool tip\n\n\n        (0, _jquery[\"default\"])('#Content').one('click', function (evt) {\n          if ((0, _jquery[\"default\"])(evt.currentTarget).closest(this.$el).length === 0) {\n            this.destroy();\n          }\n        }.bind(this));\n        return this;\n      },\n      bindPremiumUpsell: function bindPremiumUpsell($targ) {\n        $targ.qtip({\n          content: {\n            text: window.ListResources.upsellContent\n          },\n          style: {\n            classes: \"qtip-shadow qtip-upsell\",\n            tip: {\n              width: 24,\n              height: 12\n            }\n          },\n          position: {\n            at: \"bottom left\",\n            my: \"top center\",\n            adjust: {\n              x: 8\n            }\n          },\n          hide: {\n            fixed: true,\n            delay: 300\n          },\n          show: {\n            solo: true //event: false,\n            //ready: true\n\n          }\n        });\n      },\n\n      /*\n       * newListSuccess\n       * @description Event handle for a good POST. Immediately adds selected cache(s) to new list\n       */\n      newListAddSuccess: function newListAddSuccess() {\n        //this.gcRefCode\n        this.putToList(this.model.get('availableLists').at(0).cid, true);\n      },\n\n      /*\n       * showStatusMessage\n       * @description Handle to show .status-message if the error icon is clicked\n       * @param event\n       */\n      showStatusMessage: function showStatusMessage(evt) {\n        var $targ = (0, _jquery[\"default\"])(evt.target);\n        $targ.siblings('.status-message').html($targ.attr('title')).fadeIn();\n      },\n\n      /*\n       * createList\n       * @description Event handle for submit click and enter key\n       * POST list name\n       */\n      createList: function createList(evt) {\n        //capture the enterkey press?\n        if (evt.keyCode && evt.keyCode === 13 || evt.type === 'click') {\n          (0, _gaSend.gaSend)(evt.target);\n          this.$spinner = (0, _jquery[\"default\"])(this.spinnerTpl);\n          this.model.postNewList(this.$('.add-menu input').val());\n          this.$saveBtn.fadeOut('fast', function () {\n            this.$addStatus.append(this.$spinner);\n          }.bind(this));\n        }\n      },\n\n      /*\n       * _getElByCid\n       * @description Internal method to grab the List item by [data-cid]\n       * @serverParameters cid (string) The cid matching a model in availableLists\n       */\n      _getElByCid: function _getElByCid(cid) {\n        return this.$('[data-cid=\"' + cid + '\"]');\n      },\n\n      /*\n       * validationFailed\n       * @description Error handler listening to availableLists POST\n       * Prints errors based on status code, localized in ListResources page object\n       * @param model (_listModel) who failed to save\n       * @param xhr (xhr) the request\n       */\n      validationFailed: function validationFailed(model, xhr) {\n        var $problemChild = this._getElByCid(model.cid),\n            //lol\n        $statusEl;\n\n        if ($problemChild.length === 0) {\n          //is this a list item, or the main input\n          $problemChild = this.$inputControl.parent();\n        } //where to add the text\n\n\n        $statusEl = $problemChild.children('.status-message');\n        console.log(\"ERROR:\", JSON.parse(xhr.responseText).statusMessage, xhr);\n\n        if (xhr.status >= 400 && xhr.status < 500) {\n          return $statusEl.text(ListResources.badRequest).show();\n        } //server error\n\n\n        if (xhr.status >= 500 && xhr.status < 600) {\n          return $statusEl.text(ListResources.serverError).show();\n        }\n\n        return false;\n      },\n\n      /*\n       * showSaved\n       * @description Shows the saved status on a list item that has had chaches saved to it\n       * @param cid (string) the cid matching a modle in availableLists and on li[data-cid]\n       */\n      showSaved: function showSaved(cid) {\n        var $savedChild = this._getElByCid(cid),\n            $statusEl = $savedChild.children('.status');\n\n        this.$('.loading').fadeOut('fast', function () {\n          $statusEl.hide().removeClass('error').addClass('success').html(ListResources.saveSuccess).fadeIn();\n        });\n      },\n\n      /*\n       * addToExisting\n       * @description Event Handle for clicked List items. Double checks for disabled, then putToList()\n       * @param evt (event) click event\n       */\n      addToExisting: function addToExisting(evt) {\n        (0, _gaSend.gaSend)(evt.target);\n\n        var _$targ = (0, _jquery[\"default\"])(evt.target),\n            _$li = _$targ.closest('li');\n\n        if (_$targ.prop('disabled')) {\n          return;\n        }\n\n        _$li.find('.status').append(this.spinnerTpl);\n\n        this.putToList(_$li.data('cid'), false);\n      },\n\n      /*\n       * putToList\n       * @description Custom PUT request adding caches to a list. Contains success/fail callbacks.\n       * @param cid (string) cid of a model in availableLists to save to\n       * @param isNewList (bool) optional Is this a brand new list?\n       */\n      putToList: function putToList(cid, isNewList) {\n        var ListItem = SyncedViewModel.get('availableLists').get(cid);\n        var _payload = {\n          \"referenceCode\": this.gcRefCode\n        };\n\n        if (!requestInProgress) {\n          requestInProgress = true;\n          return _jquery[\"default\"].ajax({\n            url: ListItem.url(),\n            type: 'PUT',\n            method: 'PUT',\n            //jquery bug prior to 1.9\n            dataType: 'json',\n            contentType: \"application/json; charset=utf-8\",\n            data: JSON.stringify([_payload]),\n            error: function error(xhr, err, name) {\n              SyncedViewModel.get('availableLists').trigger('error', xhr, name, ListItem);\n            },\n            success: function (data) {\n              //the response will tell us how many actuall got added\n              ListItem.addToCount(data.updatedGeocaches.total);\n\n              if (isNewList === true) {\n                this.$spinner.fadeOut(function () {\n                  _underscore[\"default\"].delay(_underscore[\"default\"].bind(function () {\n                    //slight delay to finish animation\n                    this.$inputControl.addClass('success');\n                    this.$addStatus.append(\"<span class='status success'>\" + ListResources.saveSuccess + \"</span>\");\n                  }, this), 100);\n                }.bind(this));\n              } else {\n                this.showSaved(cid);\n              }\n            }.bind(this)\n          }).then(function () {\n            //allow a new add after we're done\n            requestInProgress = false;\n\n            _underscore[\"default\"].delay(_underscore[\"default\"].bind(this.destroy, this), 1100);\n          }.bind(this));\n        } else {\n          return false;\n        }\n      },\n\n      /*\n       * destroy\n       * @description fade out then remove this popup. Cleanup the SyncedViewModel too.\n       */\n      destroy: function destroy() {\n        if (requestInProgress) {\n          // hold on a min if we're still saving\n          _underscore[\"default\"].delay(_underscore[\"default\"].bind(this.destroy, this), 1000);\n        } else {\n          this.qTipApi.hide();\n        }\n      }\n    });\n    /*\n     * initSuccess\n     * @description start up models. triggered after access token comes back sucessfully\n     */\n\n\n    var initSuccess = function initSuccess(data) {\n      AvailableLists = new _availableLists();\n      AvailableLists.on(\"fetch-complete\", function () {\n        SyncedViewModel.set('availableLists', AvailableLists);\n        View = new AddMenu({\n          model: SyncedViewModel\n        });\n      });\n    };\n\n    var failureCount = 0; //leaflet needs a direct reference\n\n    window.FireAddToList = function (evt) {\n      var $targ = (0, _jquery[\"default\"])(evt.currentTarget);\n\n      if (ListResources.isPremium.toLowerCase() === \"true\") {\n        $targ.qtip({\n          content: {\n            text: function text(event, api) {\n              View.gcRefCode = $targ.attr('data-gcRefCode');\n              View.qTipApi = api;\n              return View.render().$el;\n            }\n          },\n          style: {\n            classes: \"qtip-light qtip-shadow pop-modal\",\n            def: false,\n            tip: {\n              width: 24,\n              height: 12\n            }\n          },\n          show: {\n            //immediate show, no click or focus\n            event: false,\n            solo: true,\n            ready: true\n          },\n          hide: {\n            //delay: 400,\n            event: \"unfocus\"\n          },\n          position: {\n            at: \"center left\",\n            my: \"center right\"\n          }\n        });\n      }\n\n      evt.preventDefault();\n    }; //google map plays nice with this\n\n\n    (0, _jquery[\"default\"])('#Content').on('click touchstart ', '.btn-add-to-list', window.FireAddToList);\n    var TipHolder;\n    (0, _jquery[\"default\"])('#Content').on('mouseover ', '.btn-add-to-list', function (evt) {\n      var $targ = (0, _jquery[\"default\"])(evt.currentTarget);\n\n      if (ListResources.isPremium === \"False\") {\n        TipHolder = $targ.qtip({\n          content: {\n            text: window.ListResources.upsellContent\n          },\n          style: {\n            classes: \"qtip-shadow qtip-upsell\",\n            tip: {\n              width: 24,\n              height: 12\n            }\n          },\n          position: {\n            at: \"bottom center\",\n            my: \"top center\"\n          },\n          hide: {\n            fixed: true,\n            delay: 300\n          },\n          show: {\n            // event: false,\n            // solo: true,\n            ready: true\n          }\n        });\n      }\n    });\n    initSuccess();\n  }();\n});\n\n//# sourceURL=webpack:///./src/views/external/synced-lists-map.js?")},459:function(module,exports,__webpack_require__){eval('var Handlebars = __webpack_require__(119);\nfunction __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }\nmodule.exports = (Handlebars["default"] || Handlebars).template({"1":function(container,depth0,helpers,partials,data) {\n    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {\n        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n          return parent[propertyName];\n        }\n        return undefined\n    };\n\n  return "<label class=\\"add-list-label\\">"\n    + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"addToListLabel") || (depth0 != null ? lookupProperty(depth0,"addToListLabel") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"addToListLabel","hash":{},"data":data,"loc":{"start":{"line":14,"column":30},"end":{"line":14,"column":48}}}) : helper)))\n    + "</label>\\n<ul class=\\"add-list\\">\\n"\n    + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"availableLists") : depth0)) != null ? lookupProperty(stack1,"models") : stack1),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":16,"column":1},"end":{"line":25,"column":10}}})) != null ? stack1 : "")\n    + "</ul>\\n";\n},"2":function(container,depth0,helpers,partials,data) {\n    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n          return parent[propertyName];\n        }\n        return undefined\n    };\n\n  return "\t\t<li data-cid=\\""\n    + alias2(((helper = (helper = lookupProperty(helpers,"cid") || (depth0 != null ? lookupProperty(depth0,"cid") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"cid","hash":{},"data":data,"loc":{"start":{"line":17,"column":16},"end":{"line":17,"column":23}}}) : helper)))\n    + "\\">\\n\t\t\t<button class=\\"list-item event-tracking\\" type=\\"button\\" "\n    + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"testFull") : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":18,"column":58},"end":{"line":18,"column":89}}})) != null ? stack1 : "")\n    + " data-event-category=\\"data\\" data-event-label=\\"Add to List\\" data-event-action=\\"Call to Action\\">"\n    + alias2(container.lambda(((stack1 = (depth0 != null ? lookupProperty(depth0,"attributes") : depth0)) != null ? lookupProperty(stack1,"name") : stack1), depth0))\n    + "</button>\\n\t\t\t<span class=\\"status "\n    + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"testFull") : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":19,"column":23},"end":{"line":19,"column":51}}})) != null ? stack1 : "")\n    + "\\" \\n\t\t\t\t"\n    + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"testFull") : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":20,"column":4},"end":{"line":20,"column":53}}})) != null ? stack1 : "")\n    + "></span>\\n\t\t\t<p class=\\"status-message\\">\\n\t\t\t\t"\n    + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"testFull") : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":44}}})) != null ? stack1 : "")\n    + "\\n\t\t\t</p>\\n\t\t</li>\\n";\n},"3":function(container,depth0,helpers,partials,data) {\n    return "disabled";\n},"5":function(container,depth0,helpers,partials,data) {\n    return "error";\n},"7":function(container,depth0,helpers,partials,data) {\n    var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n          return parent[propertyName];\n        }\n        return undefined\n    };\n\n  return "title=\\""\n    + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"listFullError") || (depth0 != null ? lookupProperty(depth0,"listFullError") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"listFullError","hash":{},"data":data,"loc":{"start":{"line":20,"column":27},"end":{"line":20,"column":44}}}) : helper)))\n    + "\\" ";\n},"9":function(container,depth0,helpers,partials,data) {\n    var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n          return parent[propertyName];\n        }\n        return undefined\n    };\n\n  return container.escapeExpression(((helper = (helper = lookupProperty(helpers,"listFullError") || (depth0 != null ? lookupProperty(depth0,"listFullError") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"listFullError","hash":{},"data":data,"loc":{"start":{"line":22,"column":20},"end":{"line":22,"column":37}}}) : helper)));\n},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {\n    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n          return parent[propertyName];\n        }\n        return undefined\n    };\n\n  return "<div class=\\"add-menu\\">\\n\t<label for=\\"newListName\\">"\n    + alias4(((helper = (helper = lookupProperty(helpers,"listNameLabel") || (depth0 != null ? lookupProperty(depth0,"listNameLabel") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"listNameLabel","hash":{},"data":data,"loc":{"start":{"line":2,"column":26},"end":{"line":2,"column":43}}}) : helper)))\n    + "</label>\\n\t<div class=\\"input-control\\">\\n\t\t<input type=\\"text\\" class=\\"\\" id=\\"newListName\\" name=\\"newListName\\" maxlength=\\"150\\" placeholder=\\""\n    + alias4(((helper = (helper = lookupProperty(helpers,"listNamePlaceholder") || (depth0 != null ? lookupProperty(depth0,"listNamePlaceholder") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"listNamePlaceholder","hash":{},"data":data,"loc":{"start":{"line":4,"column":95},"end":{"line":4,"column":118}}}) : helper)))\n    + "\\" />\\n\t\t<div class=\\"add-list-status\\">\\n\t\t\t<button class=\\"add-list-submit event-tracking\\" type=\\"button\\"  data-event-category=\\"data\\" data-event-label=\\"Add to New List\\" data-event-action=\\"Call to Action\\">\\n\t\t\t\t"\n    + alias4(((helper = (helper = lookupProperty(helpers,"addButton") || (depth0 != null ? lookupProperty(depth0,"addButton") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"addButton","hash":{},"data":data,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}}}) : helper)))\n    + "\\n\t\t\t</button>\\n\t\t</div>\\n\t</div>\\n\t<p class=\\"status-message\\"></p>\\n</div>\\n"\n    + ((stack1 = lookupProperty(helpers,"if").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"availableLists") : depth0)) != null ? lookupProperty(stack1,"length") : stack1),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":13,"column":0},"end":{"line":27,"column":7}}})) != null ? stack1 : "");\n},"useData":true});\n\n//# sourceURL=webpack:///./src/views/external/synced-lists-map.handlebars?')},475:function(module,exports,__webpack_require__){eval('var Handlebars = __webpack_require__(119);\nfunction __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }\nmodule.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {\n    return "<div class=\\"loading\\"></div>";\n},"useData":true});\n\n//# sourceURL=webpack:///./src/views/external/loading-spinner.handlebars?')},476:function(module,exports,__webpack_require__){eval("var api = __webpack_require__(51);\n            var content = __webpack_require__(477);\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.i, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};\n\n//# sourceURL=webpack:///./src/views/external/synced-lists-map.scss?")},477:function(module,exports,__webpack_require__){eval('// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(52);\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(120);\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(478);\nvar ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(479);\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\nexports.push([module.i, ".list-tooltip{font-size:14px;position:absolute;background:#fff;z-index:3;-webkit-box-shadow:-1px 3px 24px 1px rgba(126,125,122,0.5);-moz-box-shadow:-1px 3px 24px 1px rgba(126,125,122,0.5);box-shadow:-1px 3px 24px 1px rgba(126,125,122,0.5);width:100%;padding:14px;text-align:left;margin-bottom:25px;color:#4A4A4A;line-height:1.3}.list-tooltip a{color:#006CFF;font-size:14px}.list-tooltip a:hover{border-bottom-color:#006CFF}.list-tooltip p{margin-top:0}.list-tooltip .btn{float:right;clear:none;margin:0}.list-tooltip label{float:left}.cssfilters .list-tooltip{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-filter:drop-shadow(0px 1px 8px rgba(126,125,122,0.5));-moz-filter:drop-shadow(0px 1px 8px rgba(126,125,122,0.5));filter:drop-shadow(0px 1px 8px rgba(126,125,122,0.5));border-left-color:#fff}.pop-modal{position:fixed;font-size:14px;z-index:3;width:300px;background-color:#fff;border:1px solid #DFDFDF;text-align:left;color:#4A4A4A;-webkit-box-shadow:0px 0px 13px 0px #9b9b9b;-moz-box-shadow:0px 0px 13px 0px #9b9b9b;box-shadow:0px 0px 13px 0px #9b9b9b}.pop-modal .qtip-content{padding:24px}.cssfilters .pop-modal.sit-left:before{border-left-color:#fff}.cssfilters .pop-modal.sit-right:before{border-right-color:#fff}.pop-modal input{color:#4A4A4A}.pop-modal.sit-left:after,.pop-modal.sit-left:before{content:\\" \\";height:0;width:0;position:absolute;pointer-events:none;border:solid rgba(255,255,255,0)}.pop-modal.sit-left:after{border-color:rgba(255,255,255,0);border-width:19px;right:-38px;border-left-color:#fff;bottom:0;margin-bottom:23px}.pop-modal.sit-left:before{border-color:rgba(255,255,255,0);border-width:20px;right:-40px;border-left-color:rgba(0,0,0,0.35);bottom:0;margin-bottom:22px}.pop-modal.sit-right:after,.pop-modal.sit-right:before{content:\\" \\";height:0;width:0;position:absolute;pointer-events:none;border:solid rgba(255,255,255,0)}.pop-modal.sit-right:after{border-color:rgba(255,255,255,0);border-width:19px;left:-38px;border-right-color:#fff;top:0;margin-top:23px}.pop-modal.sit-right:before{border-color:rgba(255,255,255,0);border-width:20px;left:-40px;border-right-color:rgba(0,0,0,0.35);top:0;margin-top:22px}.pop-modal label{color:#7E7D7A;display:block;margin-bottom:0.5em}.pop-modal .add-menu input{border:2px solid #00B265;border-right:none;border-radius:0;font-size:14px;height:20px;line-height:20px;margin:0;padding:9px}.pop-modal .add-menu input::-webkit-input-placeholder{font-size:14px;color:#9B9B9B}.pop-modal .add-menu input:-moz-placeholder{font-size:14px;color:#9B9B9B}.pop-modal .add-menu input::-moz-placeholder{font-size:14px;color:#9B9B9B}.pop-modal .add-menu input:-ms-input-placeholder{font-size:14px;color:#9B9B9B}.pop-modal .input-control{display:flex;flex-flow:row nowrap;margin-bottom:1.5em;position:relative;width:100%}.pop-modal .input-control.success .add-list-submit{display:none}.pop-modal .input-control.success input{border-color:#fff}.pop-modal .input-control.success .add-list-status{border-color:#fff}.pop-modal .input-control.success span{padding:5px 10px}.pop-modal .status{cursor:pointer;position:absolute;right:5px;width:100px;height:25px;text-align:right;top:2px}.pop-modal .status .loading{height:25px;width:25px;position:absolute;right:4px}.pop-modal .status.success{color:#E0B70A}.pop-modal .status.error{color:#F35C00;width:35px !important;height:25px;display:block;margin-top:-3px;background:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") center center no-repeat}.pop-modal .status-message{margin:0;max-width:95%;display:none;color:#F35C00;font-size:14px;line-height:1.3}.add-list-label{border-bottom:1px solid #DFDFDF;display:inline-block;padding-bottom:2px}.add-list-status{border:2px solid #00B265;border-left:none;display:table-cell;width:100%;height:38px;margin:0;vertical-align:top}.add-list-status .loading{width:30px;height:30px;margin:4px;float:right}.add-list-submit{background:#00B265;border:0;color:#fff;display:none;font-size:1.15em;height:38px;overflow:hidden;padding:0 10px;width:100%;cursor:pointer}.add-list-submit[disabled]{background:#DFDFDF}.add-list{margin:0 10px 10px;padding:0;max-height:200px;overflow-y:auto}.add-list li{line-height:1.3;list-style-type:none;text-align:left;padding:7px 0;position:relative}.add-list li button{background:0;border:0;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0;color:#4A4A4A;cursor:pointer;font-size:16px;margin-bottom:6px}.add-list li button:hover,.add-list li button:active{background:0;color:#00B265}.add-list li button[disabled]{color:#9B9B9B}.add-list li button:focus{outline:none}.loading{background:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") no-repeat center;background-size:100%;font-size:20px;margin:0 auto;width:100%;max-width:150px;height:150px;position:relative;text-indent:-9999em}.spinner{margin:13px 0 0 50px;width:30px;text-align:center}.spinner>div{width:7px;height:7px;background-color:#00B265;border-radius:100%;display:inline-block;-webkit-animation:sk-bouncedelay 1.4s infinite ease-in-out both;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.spinner .bounce2{-webkit-animation-delay:-0.16s;animation-delay:-0.16s}@-webkit-keyframes sk-bouncedelay{0%,80%,100%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes sk-bouncedelay{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}\\n", ""]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/external/synced-lists-map.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--6-2')},478:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__["default"] = (__webpack_require__.p + "adc226bc0a93be67bed3cf859592214a.svg");\n\n//# sourceURL=webpack:///./ui-icons/icons/global/attention.svg?')},479:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__["default"] = (__webpack_require__.p + "6a81abd46ceb7a8aa02973e740b50c51.svg");\n\n//# sourceURL=webpack:///./ui-images/branding/loading-spinner.svg?')}},[[458,5,0]]]);
