Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/cartforge.co/pub/static/frontend/Magento/blank/en_US/js/bundle/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/cartforge.co/pub/static/frontend/Magento/blank/en_US/js/bundle/bundle1.js
require.config({"config": {
        "jsbuild":{"Magepow_Productzoom/js/plugins/jquery.elevatezoom.js":"/*\n *\tjQuery elevateZoom 3.0.8\n *\tDemo's and documentation:\n *\twww.elevateweb.co.uk/image-zoom\n *\n *\tCopyright (c) 2012 Andrew Eades\n *\twww.elevateweb.co.uk\n *\n *\tDual licensed under the GPL and MIT licenses.\n *\thttp://en.wikipedia.org/wiki/MIT_License\n *\thttp://en.wikipedia.org/wiki/GNU_General_Public_License\n *\n\n/*\n *\tjQuery elevateZoom 3.0.3\n *\tDemo's and documentation:\n *\twww.elevateweb.co.uk/image-zoom\n *\n *\tCopyright (c) 2012 Andrew Eades\n *\twww.elevateweb.co.uk\n *\n *\tDual licensed under the GPL and MIT licenses.\n *\thttp://en.wikipedia.org/wiki/MIT_License\n *\thttp://en.wikipedia.org/wiki/GNU_General_Public_License\n */\n\n\nif ( typeof Object.create !== 'function' ) {\n\tObject.create = function( obj ) {\n\t\tfunction F() {};\n\t\tF.prototype = obj;\n\t\treturn new F();\n\t};\n}\n\n(function( $, window, document, undefined ) {\n\tvar ElevateZoom = {\n\t\t\tinit: function( options, elem ) {\n\t\t\t\tvar self = this;\n\n\t\t\t\tself.elem = elem;\n\t\t\t\tself.$elem = $( elem );\n\n\t\t\t\tself.imageSrc = self.$elem.data(\"zoom-image\") ? self.$elem.data(\"zoom-image\") : self.$elem.attr(\"src\");\n\n\t\t\t\tself.options = $.extend( {}, $.fn.elevateZoom.options, options );\n\n\t\t\t\t//TINT OVERRIDE SETTINGS\n\t\t\t\tif(self.options.tint) {\n\t\t\t\t\tself.options.lensColour = \"none\", //colour of the lens background\n\t\t\t\t\tself.options.lensOpacity =  \"1\" //opacity of the lens\n\t\t\t\t}\n\t\t\t\t//INNER OVERRIDE SETTINGS\n\t\t\t\tif(self.options.zoomType == \"inner\") {self.options.showLens = false;}\n\n\n\t\t\t\t//Remove alt on hover\n\n\t\t\t\tself.$elem.parent().removeAttr('title').removeAttr('alt');\n\n\t\t\t\tself.zoomImage = self.imageSrc;\n\n\t\t\t\tself.refresh( 1 );\n\n\n\n\t\t\t\t//Create the image swap from the gallery \n\t\t\t\t$('#'+self.options.gallery + ' a').click( function(e) { \n\n\t\t\t\t\t//Set a class on the currently active gallery image\n\t\t\t\t\tif(self.options.galleryActiveClass){\n\t\t\t\t\t\t$('#'+self.options.gallery + ' a').removeClass(self.options.galleryActiveClass);\n\t\t\t\t\t\t$(this).addClass(self.options.galleryActiveClass);\n\t\t\t\t\t}\n\t\t\t\t\t//stop any link on the a tag from working\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t//call the swap image function            \n\t\t\t\t\tif($(this).data(\"zoom-image\")){self.zoomImagePre = $(this).data(\"zoom-image\")}\n\t\t\t\t\telse{self.zoomImagePre = $(this).data(\"image\");}\n\t\t\t\t\tself.swaptheimage($(this).data(\"image\"), self.zoomImagePre);\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t},\n\n\t\t\trefresh: function( length ) {\n\t\t\t\tvar self = this;\n\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tself.fetch(self.imageSrc);\n\n\t\t\t\t}, length || self.options.refresh );\n\t\t\t},\n\n\t\t\tfetch: function(imgsrc) {\n\t\t\t\t//get the image\n\t\t\t\tvar self = this;\n\t\t\t\tvar newImg = new Image();\n\t\t\t\tnewImg.onload = function() {\n\t\t\t\t\t//set the large image dimensions - used to calculte ratio's\n\t\t\t\t\tself.largeWidth = newImg.width;\n\t\t\t\t\tself.largeHeight = newImg.height;\n\t\t\t\t\t//once image is loaded start the calls\n\t\t\t\t\tself.startZoom();\n\t\t\t\t\tself.currentImage = self.imageSrc;\n\t\t\t\t\t//let caller know image has been loaded\n\t\t\t\t\tself.options.onZoomedImageLoaded(self.$elem);\n\t\t\t\t}\n\t\t\t\tnewImg.src = imgsrc; // this must be done AFTER setting onload\n\n\t\t\t\treturn;\n\n\t\t\t},\n\n\t\t\tstartZoom: function( ) {\n\t\t\t\tvar self = this;\n\t\t\t\t//get dimensions of the non zoomed image\n\t\t\t\tself.nzWidth = self.$elem.width();\n\t\t\t\tself.nzHeight = self.$elem.height();\n\n\t\t\t\t//activated elements\n\t\t\t\tself.isWindowActive = false;\n\t\t\t\tself.isLensActive = false;\n\t\t\t\tself.isTintActive = false;\n\t\t\t\tself.overWindow = false;    \n\n\t\t\t\t//CrossFade Wrappe\n\t\t\t\tif(self.options.imageCrossfade){\n\t\t\t\t\tself.zoomWrap = self.$elem.wrap('<div style=\"height:'+self.nzHeight+'px;width:'+self.nzWidth+'px;\" class=\"zoomWrapper\" />');        \n\t\t\t\t\tself.$elem.css('position', 'absolute'); \n\t\t\t\t}\n\n\t\t\t\tself.zoomLock = 1;\n\t\t\t\tself.scrollingLock = false;\n\t\t\t\tself.changeBgSize = false;\n\t\t\t\tself.currentZoomLevel = self.options.zoomLevel;\n\n\n\t\t\t\t//get offset of the non zoomed image\n\t\t\t\tself.nzOffset = self.$elem.offset();\n\t\t\t\t//calculate the width ratio of the large/small image\n\t\t\t\tself.widthRatio = (self.largeWidth/self.currentZoomLevel) / self.nzWidth;\n\t\t\t\tself.heightRatio = (self.largeHeight/self.currentZoomLevel) / self.nzHeight; \n\n\n\t\t\t\t//if window zoom        \n\t\t\t\tif(self.options.zoomType == \"window\") {\n\t\t\t\t\tself.zoomWindowStyle = \"overflow: hidden;\"\n\t\t\t\t\t\t+ \"background-position: 0px 0px;text-align:center;\"  \n\t\t\t\t\t\t+ \"background-color: \" + String(self.options.zoomWindowBgColour)            \n\t\t\t\t\t\t+ \";width: \" + String(self.options.zoomWindowWidth) + \"px;\"\n\t\t\t\t\t\t+ \"height: \" + String(self.options.zoomWindowHeight)\n\t\t\t\t\t\t+ \"px;float: left;\"\n\t\t\t\t\t\t+ \"background-size: \"+ self.largeWidth/self.currentZoomLevel+ \"px \" +self.largeHeight/self.currentZoomLevel + \"px;\"\n\t\t\t\t\t\t+ \"display: none;z-index:100;\"\n\t\t\t\t\t\t+ \"border: \" + String(self.options.borderSize) \n\t\t\t\t\t\t+ \"px solid \" + self.options.borderColour \n\t\t\t\t\t\t+ \";background-repeat: no-repeat;\"\n\t\t\t\t\t\t+ \"position: absolute;\";\n\t\t\t\t}    \n\n\n\t\t\t\t//if inner  zoom    \n\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\t//has a border been put on the image? Lets cater for this\n\n\t\t\t\t\tvar borderWidth = self.$elem.css(\"border-left-width\");\n\n\t\t\t\t\tself.zoomWindowStyle = \"overflow: hidden;\"\n\t\t\t\t\t\t+ \"margin-left: \" + String(borderWidth) + \";\" \n\t\t\t\t\t\t+ \"margin-top: \" + String(borderWidth) + \";\"         \n\t\t\t\t\t\t+ \"background-position: 0px 0px;\"\n\t\t\t\t\t\t+ \"width: \" + String(self.nzWidth) + \"px;\"\n\t\t\t\t\t\t+ \"height: \" + String(self.nzHeight)\n\t\t\t\t\t\t+ \"px;float: left;\"\n\t\t\t\t\t\t+ \"display: none;\"\n\t\t\t\t\t\t+ \"cursor:\"+(self.options.cursor)+\";\"\n\t\t\t\t\t\t+ \"px solid \" + self.options.borderColour \n\t\t\t\t\t\t+ \";background-repeat: no-repeat;\"\n\t\t\t\t\t\t+ \"position: absolute;\";\n\t\t\t\t}    \n\n\n\n\t\t\t\t//lens style for window zoom\n\t\t\t\tif(self.options.zoomType == \"window\") {\n\n\n\t\t\t\t\t// adjust images less than the window height\n\n\t\t\t\t\tif(self.nzHeight < self.options.zoomWindowWidth/self.widthRatio){\n\t\t\t\t\t\tlensHeight = self.nzHeight;              \n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tlensHeight = String((self.options.zoomWindowHeight/self.heightRatio))\n\t\t\t\t\t}\n\t\t\t\t\tif(self.largeWidth < self.options.zoomWindowWidth){\n\t\t\t\t\t\tlensWidth = self.nzWidth;\n\t\t\t\t\t}       \n\t\t\t\t\telse{\n\t\t\t\t\t\tlensWidth =  (self.options.zoomWindowWidth/self.widthRatio);\n\t\t\t\t\t}\n\n\n\t\t\t\t\tself.lensStyle = \"background-position: 0px 0px;width: \" + String((self.options.zoomWindowWidth)/self.widthRatio) + \"px;height: \" + String((self.options.zoomWindowHeight)/self.heightRatio)\n\t\t\t\t\t+ \"px;float: right;display: none;\"\n\t\t\t\t\t+ \"overflow: hidden;\"\n\t\t\t\t\t+ \"z-index: 999;\"   \n\t\t\t\t\t+ \"-webkit-transform: translateZ(0);\"               \n\t\t\t\t\t+ \"opacity:\"+(self.options.lensOpacity)+\";filter: alpha(opacity = \"+(self.options.lensOpacity*100)+\"); zoom:1;\"\n\t\t\t\t\t+ \"width:\"+lensWidth+\"px;\"\n\t\t\t\t\t+ \"height:\"+lensHeight+\"px;\"\n\t\t\t\t\t+ \"background-color:\"+(self.options.lensColour)+\";\"\t\t\t\t\t\n\t\t\t\t\t+ \"cursor:\"+(self.options.cursor)+\";\"\n\t\t\t\t\t+ \"border: \"+(self.options.lensBorderSize)+\"px\" +\n\t\t\t\t\t\" solid \"+(self.options.lensBorderColour)+\";background-repeat: no-repeat;position: absolute;\";\n\t\t\t\t} \n\n\n\t\t\t\t//tint style\n\t\t\t\tself.tintStyle = \"display: block;\"\n\t\t\t\t\t+ \"position: absolute;\"\n\t\t\t\t\t+ \"background-color: \"+self.options.tintColour+\";\"\t\n\t\t\t\t\t+ \"filter:alpha(opacity=0);\"\t\t\n\t\t\t\t\t+ \"opacity: 0;\"\t\n\t\t\t\t\t+ \"width: \" + self.nzWidth + \"px;\"\n\t\t\t\t\t+ \"height: \" + self.nzHeight + \"px;\"\n\n\t\t\t\t\t;\n\n\t\t\t\t//lens style for lens zoom with optional round for modern browsers\n\t\t\t\tself.lensRound = '';\n\n\t\t\t\tif(self.options.zoomType == \"lens\") {\n\n\t\t\t\t\tself.lensStyle = \"background-position: 0px 0px;\"\n\t\t\t\t\t\t+ \"float: left;display: none;\"\n\t\t\t\t\t\t+ \"border: \" + String(self.options.borderSize) + \"px solid \" + self.options.borderColour+\";\"\n\t\t\t\t\t\t+ \"width:\"+ String(self.options.lensSize) +\"px;\"\n\t\t\t\t\t\t+ \"height:\"+ String(self.options.lensSize)+\"px;\"\n\t\t\t\t\t\t+ \"background-repeat: no-repeat;position: absolute;\";\n\n\n\t\t\t\t}\n\n\n\t\t\t\t//does not round in all browsers\n\t\t\t\tif(self.options.lensShape == \"round\") {\n\t\t\t\t\tself.lensRound = \"border-top-left-radius: \" + String(self.options.lensSize / 2 + self.options.borderSize) + \"px;\"\n\t\t\t\t\t+ \"border-top-right-radius: \" + String(self.options.lensSize / 2 + self.options.borderSize) + \"px;\"\n\t\t\t\t\t+ \"border-bottom-left-radius: \" + String(self.options.lensSize / 2 + self.options.borderSize) + \"px;\"\n\t\t\t\t\t+ \"border-bottom-right-radius: \" + String(self.options.lensSize / 2 + self.options.borderSize) + \"px;\";\n\n\t\t\t\t}\n\n\t\t\t\t//create the div's                                                + \"\"\n\t\t\t\t//self.zoomContainer = $('<div/>').addClass('zoomContainer').css({\"position\":\"relative\", \"height\":self.nzHeight, \"width\":self.nzWidth});\n\n\t\t\t\tself.zoomContainer = $('<div class=\"zoomContainer\" style=\"-webkit-transform: translateZ(0);position:absolute;left:'+self.nzOffset.left+'px;top:'+self.nzOffset.top+'px;height:'+self.nzHeight+'px;width:'+self.nzWidth+'px;\"></div>');\n\t\t\t\t$('body').append(self.zoomContainer);\t\n\n\n\t\t\t\t//this will add overflow hidden and contrain the lens on lens mode       \n\t\t\t\tif(self.options.containLensZoom && self.options.zoomType == \"lens\"){\n\t\t\t\t\tself.zoomContainer.css(\"overflow\", \"hidden\");\n\t\t\t\t}\n\t\t\t\tif(self.options.zoomType != \"inner\") {\n\t\t\t\t\tself.zoomLens = $(\"<div class='zoomLens' style='\" + self.lensStyle + self.lensRound +\"'>&nbsp;</div>\")\n\t\t\t\t\t.appendTo(self.zoomContainer)\n\t\t\t\t\t.click(function () {\n\t\t\t\t\t\tself.$elem.trigger('click');\n\t\t\t\t\t});\n\n\n\t\t\t\t\tif(self.options.tint) {\n\t\t\t\t\t\tself.tintContainer = $('<div/>').addClass('tintContainer');\t\n\t\t\t\t\t\tself.zoomTint = $(\"<div class='zoomTint' style='\"+self.tintStyle+\"'></div>\");\n\n\n\t\t\t\t\t\tself.zoomLens.wrap(self.tintContainer);\n\n\n\t\t\t\t\t\tself.zoomTintcss = self.zoomLens.after(self.zoomTint);\t\n\n\t\t\t\t\t\t//if tint enabled - set an image to show over the tint\n\n\t\t\t\t\t\tself.zoomTintImage = $('<img style=\"position: absolute; left: 0px; top: 0px; max-width: none; width: '+self.nzWidth+'px; height: '+self.nzHeight+'px;\" src=\"'+self.imageSrc+'\">')\n\t\t\t\t\t\t.appendTo(self.zoomLens)\n\t\t\t\t\t\t.click(function () {\n\n\t\t\t\t\t\t\tself.$elem.trigger('click');\n\t\t\t\t\t\t});\n\n\t\t\t\t\t}          \n\n\t\t\t\t}\n\n\n\n\n\n\n\n\t\t\t\t//create zoom window \n\t\t\t\tif(isNaN(self.options.zoomWindowPosition)){\n\t\t\t\t\tself.zoomWindow = $(\"<div style='z-index:999;left:\"+(self.windowOffsetLeft)+\"px;top:\"+(self.windowOffsetTop)+\"px;\" + self.zoomWindowStyle + \"' class='zoomWindow'>&nbsp;</div>\")\n\t\t\t\t\t.appendTo('body')\n\t\t\t\t\t.click(function () {\n\t\t\t\t\t\tself.$elem.trigger('click');\n\t\t\t\t\t});\n\t\t\t\t}else{\n\t\t\t\t\tself.zoomWindow = $(\"<div style='z-index:999;left:\"+(self.windowOffsetLeft)+\"px;top:\"+(self.windowOffsetTop)+\"px;\" + self.zoomWindowStyle + \"' class='zoomWindow'>&nbsp;</div>\")\n\t\t\t\t\t.appendTo(self.zoomContainer)\n\t\t\t\t\t.click(function () {\n\t\t\t\t\t\tself.$elem.trigger('click');\n\t\t\t\t\t});\n\t\t\t\t}              \n\t\t\t\tself.zoomWindowContainer = $('<div/>').addClass('zoomWindowContainer').css(\"width\",self.options.zoomWindowWidth);\n\t\t\t\tself.zoomWindow.wrap(self.zoomWindowContainer);\n\n\n\t\t\t\t//  self.captionStyle = \"text-align: left;background-color: black;color: white;font-weight: bold;padding: 10px;font-family: sans-serif;font-size: 11px\";                                                                                                                                                                                                                                          \n\t\t\t\t// self.zoomCaption = $('<div class=\"elevatezoom-caption\" style=\"'+self.captionStyle+'display: block; width: 280px;\">INSERT ALT TAG</div>').appendTo(self.zoomWindow.parent());\n\n\t\t\t\tif(self.options.zoomType == \"lens\") {\n\t\t\t\t\tself.zoomLens.css({ backgroundImage: \"url('\" + self.imageSrc + \"')\" }); \n\t\t\t\t}\n\t\t\t\tif(self.options.zoomType == \"window\") {\n\t\t\t\t\tself.zoomWindow.css({ backgroundImage: \"url('\" + self.imageSrc + \"')\" }); \n\t\t\t\t}\n\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\tself.zoomWindow.css({ backgroundImage: \"url('\" + self.imageSrc + \"')\" }); \n\t\t\t\t}\n\t\t\t\t/*-------------------END THE ZOOM WINDOW AND LENS----------------------------------*/\n\t\t\t\t//touch events\n\t\t\t\tself.$elem.bind('touchmove', function(e){    \n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tvar touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];  \n\t\t\t\t\tself.setPosition(touch);\n\n\t\t\t\t});  \n\t\t\t\tself.zoomContainer.bind('touchmove', function(e){ \n\t\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\t\tself.showHideWindow(\"show\");\n\n\t\t\t\t\t}\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tvar touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];  \n\t\t\t\t\tself.setPosition(touch); \n\n\t\t\t\t});  \t\n\t\t\t\tself.zoomContainer.bind('touchend', function(e){ \n\t\t\t\t\tself.showHideWindow(\"hide\");\n\t\t\t\t\tif(self.options.showLens) {self.showHideLens(\"hide\");}\n\t\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {self.showHideTint(\"hide\");}\n\t\t\t\t});  \t\n\n\t\t\t\tself.$elem.bind('touchend', function(e){ \n\t\t\t\t\tself.showHideWindow(\"hide\");\n\t\t\t\t\tif(self.options.showLens) {self.showHideLens(\"hide\");}\n\t\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {self.showHideTint(\"hide\");}\n\t\t\t\t});  \t\n\t\t\t\tif(self.options.showLens) {\n\t\t\t\t\tself.zoomLens.bind('touchmove', function(e){ \n\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];  \n\t\t\t\t\t\tself.setPosition(touch); \n\t\t\t\t\t});    \n\n\n\t\t\t\t\tself.zoomLens.bind('touchend', function(e){ \n\t\t\t\t\t\tself.showHideWindow(\"hide\");\n\t\t\t\t\t\tif(self.options.showLens) {self.showHideLens(\"hide\");}\n\t\t\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {self.showHideTint(\"hide\");}\n\t\t\t\t\t});  \n\t\t\t\t}\n\t\t\t\t//Needed to work in IE\n\t\t\t\tself.$elem.bind('mousemove', function(e){   \n\t\t\t\t\tif(self.overWindow == false){self.setElements(\"show\");}\n\t\t\t\t\t//make sure on orientation change the setposition is not fired\n\t\t\t\t\tif(self.lastX !== e.clientX || self.lastY !== e.clientY){\n\t\t\t\t\t\tself.setPosition(e);\n\t\t\t\t\t\tself.currentLoc = e;\n\t\t\t\t\t}   \n\t\t\t\t\tself.lastX = e.clientX;\n\t\t\t\t\tself.lastY = e.clientY;    \n\n\t\t\t\t});  \t\n\n\t\t\t\tself.zoomContainer.bind('mousemove', function(e){ \n\n\t\t\t\t\tif(self.overWindow == false){self.setElements(\"show\");} \n\n\t\t\t\t\t//make sure on orientation change the setposition is not fired \n\t\t\t\t\tif(self.lastX !== e.clientX || self.lastY !== e.clientY){\n\t\t\t\t\t\tself.setPosition(e);\n\t\t\t\t\t\tself.currentLoc = e;\n\t\t\t\t\t}   \n\t\t\t\t\tself.lastX = e.clientX;\n\t\t\t\t\tself.lastY = e.clientY;    \n\t\t\t\t});  \t\n\t\t\t\tif(self.options.zoomType != \"inner\") {\n\t\t\t\t\tself.zoomLens.bind('mousemove', function(e){      \n\t\t\t\t\t\t//make sure on orientation change the setposition is not fired\n\t\t\t\t\t\tif(self.lastX !== e.clientX || self.lastY !== e.clientY){\n\t\t\t\t\t\t\tself.setPosition(e);\n\t\t\t\t\t\t\tself.currentLoc = e;\n\t\t\t\t\t\t}   \n\t\t\t\t\t\tself.lastX = e.clientX;\n\t\t\t\t\t\tself.lastY = e.clientY;    \n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {\n\t\t\t\t\tself.zoomTint.bind('mousemove', function(e){ \n\t\t\t\t\t\t//make sure on orientation change the setposition is not fired\n\t\t\t\t\t\tif(self.lastX !== e.clientX || self.lastY !== e.clientY){\n\t\t\t\t\t\t\tself.setPosition(e);\n\t\t\t\t\t\t\tself.currentLoc = e;\n\t\t\t\t\t\t}   \n\t\t\t\t\t\tself.lastX = e.clientX;\n\t\t\t\t\t\tself.lastY = e.clientY;    \n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\tself.zoomWindow.bind('mousemove', function(e) {\n\t\t\t\t\t\t//self.overWindow = true;\n\t\t\t\t\t\t//make sure on orientation change the setposition is not fired\n\t\t\t\t\t\tif(self.lastX !== e.clientX || self.lastY !== e.clientY){\n\t\t\t\t\t\t\tself.setPosition(e);\n\t\t\t\t\t\t\tself.currentLoc = e;\n\t\t\t\t\t\t}   \n\t\t\t\t\t\tself.lastX = e.clientX;\n\t\t\t\t\t\tself.lastY = e.clientY;    \n\t\t\t\t\t});\n\n\t\t\t\t}\n\n\n\t\t\t\t//  lensFadeOut: 500,  zoomTintFadeIn\n\t\t\t\tself.zoomContainer.add(self.$elem).mouseenter(function(){\n\n\t\t\t\t\tif(self.overWindow == false){self.setElements(\"show\");} \n\n\n\t\t\t\t}).mouseleave(function(){\n\t\t\t\t\tif(!self.scrollLock){\n\t\t\t\t\t\tself.setElements(\"hide\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t//end ove image\n\n\n\n\n\n\t\t\t\tif(self.options.zoomType != \"inner\") {\n\t\t\t\t\tself.zoomWindow.mouseenter(function(){\n\t\t\t\t\t\tself.overWindow = true;   \n\t\t\t\t\t\tself.setElements(\"hide\");                  \n\t\t\t\t\t}).mouseleave(function(){\n\n\t\t\t\t\t\tself.overWindow = false;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t//end ove image\n\n\n\n//\t\t\t\tvar delta = parseInt(e.originalEvent.wheelDelta || -e.originalEvent.detail);\n\n\t\t\t\t//      $(this).empty();    \n\t\t\t\t//    return false;\n\n\t\t\t\t//fix for initial zoom setting\n\t\t\t\tif (self.options.zoomLevel != 1){\n\t\t\t\t\t//\tself.changeZoomLevel(self.currentZoomLevel);\n\t\t\t\t}\n\t\t\t\t//set the min zoomlevel\n\t\t\t\tif(self.options.minZoomLevel){\n\t\t\t\t\tself.minZoomLevel = self.options.minZoomLevel;\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tself.minZoomLevel = self.options.scrollZoomIncrement * 2;\n\t\t\t\t}\n\n\n\t\t\t\tif(self.options.scrollZoom){\n\n\n\t\t\t\t\tself.zoomContainer.add(self.$elem).bind('mousewheel DOMMouseScroll MozMousePixelScroll', function(e){\n\n\n//\t\t\t\t\t\tin IE there is issue with firing of mouseleave - So check whether still scrolling\n//\t\t\t\t\t\tand on mouseleave check if scrolllock          \n\t\t\t\t\t\tself.scrollLock = true;\n\t\t\t\t\t\tclearTimeout($.data(this, 'timer'));\n\t\t\t\t\t\t$.data(this, 'timer', setTimeout(function() {\n\t\t\t\t\t\t\tself.scrollLock = false;\n\t\t\t\t\t\t\t//do something\n\t\t\t\t\t\t}, 250));\n\n\t\t\t\t\t\tvar theEvent = e.originalEvent.wheelDelta || e.originalEvent.detail*-1\n\n\n\t\t\t\t\t\t//this.scrollTop += ( delta < 0 ? 1 : -1 ) * 30;\n\t\t\t\t\t\t//   e.preventDefault();\n\n\n\t\t\t\t\t\te.stopImmediatePropagation();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\n\n\t\t\t\t\t\tif(theEvent /120 > 0) {\n\t\t\t\t\t\t\t//scrolling up\n\t\t\t\t\t\t\tif(self.currentZoomLevel >= self.minZoomLevel){ \n\t\t\t\t\t\t\t\tself.changeZoomLevel(self.currentZoomLevel-self.options.scrollZoomIncrement);        \n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t//scrolling down\n\n\n\t\t\t\t\t\t\tif(self.options.maxZoomLevel){\n\t\t\t\t\t\t\t\tif(self.currentZoomLevel <= self.options.maxZoomLevel){           \n\t\t\t\t\t\t\t\t\tself.changeZoomLevel(parseFloat(self.currentZoomLevel)+self.options.scrollZoomIncrement);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t\t//andy \n\n\t\t\t\t\t\t\t\tself.changeZoomLevel(parseFloat(self.currentZoomLevel)+self.options.scrollZoomIncrement);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\n\t\t\t},\n\t\t\tsetElements: function(type) {\n\t\t\t\tvar self = this;\n        if(!self.options.zoomEnabled){return false;}\n\t\t\t\tif(type==\"show\"){\n\t\t\t\t\tif(self.isWindowSet){\n\t\t\t\t\t\tif(self.options.zoomType == \"inner\") {self.showHideWindow(\"show\");}\n\t\t\t\t\t\tif(self.options.zoomType == \"window\") {self.showHideWindow(\"show\");}\n\t\t\t\t\t\tif(self.options.showLens) {self.showHideLens(\"show\");}\n\t\t\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {self.showHideTint(\"show\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(type==\"hide\"){\n\t\t\t\t\tif(self.options.zoomType == \"window\") {self.showHideWindow(\"hide\");}\n\t\t\t\t\tif(!self.options.tint) {self.showHideWindow(\"hide\");}\n\t\t\t\t\tif(self.options.showLens) {self.showHideLens(\"hide\");}\n\t\t\t\t\tif(self.options.tint) {\tself.showHideTint(\"hide\");}\n\t\t\t\t}   \n\t\t\t},\n\t\t\tsetPosition: function(e) {\n      \n\t\t\t\tif (typeof e == 'undefined') return;\n\t\t\t\tvar self = this;\n        \n        \t\tif(!self.options.zoomEnabled){return false;}\n\n\t\t\t\t//recaclc offset each time in case the image moves\n\t\t\t\t//this can be caused by other on page elements\n\t\t\t\tself.nzHeight = self.$elem.height();\n\t\t\t\tself.nzWidth = self.$elem.width();\n\t\t\t\tself.nzOffset = self.$elem.offset();\n\n\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {\n\t\t\t\t\tself.zoomTint.css({ top: 0});\n\t\t\t\t\tself.zoomTint.css({ left: 0});\n\t\t\t\t}\n\t\t\t\t//set responsive       \n\t\t\t\t//will checking if the image needs changing before running this code work faster?\n\t\t\t\tif(self.options.responsive && !self.options.scrollZoom){\n\t\t\t\t\tif(self.options.showLens){ \n\t\t\t\t\t\tif(self.nzHeight < self.options.zoomWindowWidth/self.widthRatio){\n\t\t\t\t\t\t\tlensHeight = self.nzHeight;              \n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tlensHeight = String((self.options.zoomWindowHeight/self.heightRatio))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(self.largeWidth < self.options.zoomWindowWidth){\n\t\t\t\t\t\t\tlensWidth = self.nzWidth;\n\t\t\t\t\t\t}       \n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tlensWidth =  (self.options.zoomWindowWidth/self.widthRatio);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.widthRatio = self.largeWidth / self.nzWidth;\n\t\t\t\t\t\tself.heightRatio = self.largeHeight / self.nzHeight;        \n\t\t\t\t\t\tif(self.options.zoomType != \"lens\") {\n\n\n\t\t\t\t\t\t\t//possibly dont need to keep recalcalculating\n\t\t\t\t\t\t\t//if the lens is heigher than the image, then set lens size to image size\n\t\t\t\t\t\t\tif(self.nzHeight < self.options.zoomWindowWidth/self.widthRatio){\n\t\t\t\t\t\t\t\tlensHeight = self.nzHeight;  \n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t\tlensHeight = String((self.options.zoomWindowHeight/self.heightRatio))\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif(self.options.zoomWindowWidth < self.options.zoomWindowWidth){\n\t\t\t\t\t\t\t\tlensWidth = self.nzWidth;\n\t\t\t\t\t\t\t}       \n\t\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t\tlensWidth =  (self.options.zoomWindowWidth/self.widthRatio);\n\t\t\t\t\t\t\t}            \n\n\t\t\t\t\t\t\tself.zoomLens.css('width', lensWidth);    \n\t\t\t\t\t\t\tself.zoomLens.css('height', lensHeight); \n\n\t\t\t\t\t\t\tif(self.options.tint){    \n\t\t\t\t\t\t\t\tself.zoomTintImage.css('width', self.nzWidth);    \n\t\t\t\t\t\t\t\tself.zoomTintImage.css('height', self.nzHeight); \n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}                     \n\t\t\t\t\t\tif(self.options.zoomType == \"lens\") {  \n\n\t\t\t\t\t\t\tself.zoomLens.css({ width: String(self.options.lensSize) + 'px', height: String(self.options.lensSize) + 'px' })      \n\n\n\t\t\t\t\t\t}        \n\t\t\t\t\t\t//end responsive image change\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//container fix\n\t\t\t\tself.zoomContainer.css({ top: self.nzOffset.top});\n\t\t\t\tself.zoomContainer.css({ left: self.nzOffset.left});\n\t\t\t\tself.mouseLeft = parseInt(e.pageX - self.nzOffset.left);\n\t\t\t\tself.mouseTop = parseInt(e.pageY - self.nzOffset.top);\n\t\t\t\t//calculate the Location of the Lens\n\n\t\t\t\t//calculate the bound regions - but only if zoom window\n\t\t\t\tif(self.options.zoomType == \"window\") {\n\t\t\t\t\tself.Etoppos = (self.mouseTop < (self.zoomLens.height()/2));\n\t\t\t\t\tself.Eboppos = (self.mouseTop > self.nzHeight - (self.zoomLens.height()/2)-(self.options.lensBorderSize*2));\n\t\t\t\t\tself.Eloppos = (self.mouseLeft < 0+((self.zoomLens.width()/2))); \n\t\t\t\t\tself.Eroppos = (self.mouseLeft > (self.nzWidth - (self.zoomLens.width()/2)-(self.options.lensBorderSize*2)));  \n\t\t\t\t}\n\t\t\t\t//calculate the bound regions - but only for inner zoom\n\t\t\t\tif(self.options.zoomType == \"inner\"){ \n\t\t\t\t\tself.Etoppos = (self.mouseTop < ((self.nzHeight/2)/self.heightRatio) );\n\t\t\t\t\tself.Eboppos = (self.mouseTop > (self.nzHeight - ((self.nzHeight/2)/self.heightRatio)));\n\t\t\t\t\tself.Eloppos = (self.mouseLeft < 0+(((self.nzWidth/2)/self.widthRatio)));\n\t\t\t\t\tself.Eroppos = (self.mouseLeft > (self.nzWidth - (self.nzWidth/2)/self.widthRatio-(self.options.lensBorderSize*2)));  \n\t\t\t\t}\n\n\t\t\t\t// if the mouse position of the slider is one of the outerbounds, then hide  window and lens\n\t\t\t\tif (self.mouseLeft <= 0 || self.mouseTop < 0 || self.mouseLeft > self.nzWidth || self.mouseTop > self.nzHeight ) {\t\t\t\t          \n\t\t\t\t\tself.setElements(\"hide\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t//else continue with operations\n\t\t\t\telse {\n\n\n\t\t\t\t\t//lens options\n\t\t\t\t\tif(self.options.showLens) {\n\t\t\t\t\t\t//\t\tself.showHideLens(\"show\");\n\t\t\t\t\t\t//set background position of lens\n\t\t\t\t\t\tself.lensLeftPos = String(self.mouseLeft - self.zoomLens.width() / 2);\n\t\t\t\t\t\tself.lensTopPos = String(self.mouseTop - self.zoomLens.height() / 2);\n\n\n\t\t\t\t\t}\n\t\t\t\t\t//adjust the background position if the mouse is in one of the outer regions \n\n\t\t\t\t\t//Top region\n\t\t\t\t\tif(self.Etoppos){\n\t\t\t\t\t\tself.lensTopPos = 0;\n\t\t\t\t\t}\n\t\t\t\t\t//Left Region\n\t\t\t\t\tif(self.Eloppos){\n\t\t\t\t\t\tself.windowLeftPos = 0;\n\t\t\t\t\t\tself.lensLeftPos = 0;\n\t\t\t\t\t\tself.tintpos=0;\n\t\t\t\t\t}     \n\t\t\t\t\t//Set bottom and right region for window mode\n\t\t\t\t\tif(self.options.zoomType == \"window\") {\n\t\t\t\t\t\tif(self.Eboppos){\n\t\t\t\t\t\t\tself.lensTopPos = Math.max( (self.nzHeight)-self.zoomLens.height()-(self.options.lensBorderSize*2), 0 );\n\t\t\t\t\t\t} \n\t\t\t\t\t\tif(self.Eroppos){\n\t\t\t\t\t\t\tself.lensLeftPos = (self.nzWidth-(self.zoomLens.width())-(self.options.lensBorderSize*2));\n\t\t\t\t\t\t}  \n\t\t\t\t\t}  \n\t\t\t\t\t//Set bottom and right region for inner mode\n\t\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\t\tif(self.Eboppos){\n\t\t\t\t\t\t\tself.lensTopPos = Math.max( ((self.nzHeight)-(self.options.lensBorderSize*2)), 0 );\n\t\t\t\t\t\t} \n\t\t\t\t\t\tif(self.Eroppos){\n\t\t\t\t\t\t\tself.lensLeftPos = (self.nzWidth-(self.nzWidth)-(self.options.lensBorderSize*2));\n\t\t\t\t\t\t}  \n\n\t\t\t\t\t}\n\t\t\t\t\t//if lens zoom\n\t\t\t\t\tif(self.options.zoomType == \"lens\") {  \n\t\t\t\t\t\tself.windowLeftPos = String(((e.pageX - self.nzOffset.left) * self.widthRatio - self.zoomLens.width() / 2) * (-1));   \n\t\t\t\t\t\tself.windowTopPos = String(((e.pageY - self.nzOffset.top) * self.heightRatio - self.zoomLens.height() / 2) * (-1));\n\n\t\t\t\t\t\tself.zoomLens.css({ backgroundPosition: self.windowLeftPos + 'px ' + self.windowTopPos + 'px' });\n\n\t\t\t\t\t\tif(self.changeBgSize){  \n\n\t\t\t\t\t\t\tif(self.nzHeight>self.nzWidth){  \n\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){       \n\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t}   \n\n\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse{     \n\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){       \n\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });\n\t\t\t\t\t\t\t\t}   \n\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });            \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tself.changeBgSize = false;\n\t\t\t\t\t\t}    \n\n\t\t\t\t\t\tself.setWindowPostition(e);  \n\t\t\t\t\t}\n\t\t\t\t\t//if tint zoom   \n\t\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {\n\t\t\t\t\t\tself.setTintPosition(e);\n\n\t\t\t\t\t}\n\t\t\t\t\t//set the css background position \n\t\t\t\t\tif(self.options.zoomType == \"window\") {\n\t\t\t\t\t\tself.setWindowPostition(e);   \n\t\t\t\t\t}\n\t\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\t\tself.setWindowPostition(e);   \n\t\t\t\t\t}\n\t\t\t\t\tif(self.options.showLens) {\n\n\t\t\t\t\t\tif(self.fullwidth && self.options.zoomType != \"lens\"){\n\t\t\t\t\t\t\tself.lensLeftPos = 0;\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.zoomLens.css({ left: self.lensLeftPos + 'px', top: self.lensTopPos + 'px' })  \n\t\t\t\t\t}\n\n\t\t\t\t} //end else\n\n\n\n\t\t\t},\n\t\t\tshowHideWindow: function(change) {\n\t\t\t\tvar self = this;              \n\t\t\t\tif(change == \"show\"){      \n\t\t\t\t\tif(!self.isWindowActive){\n\t\t\t\t\t\tif(self.options.zoomWindowFadeIn){\n\t\t\t\t\t\t\tself.zoomWindow.stop(true, true, false).fadeIn(self.options.zoomWindowFadeIn);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{self.zoomWindow.show();}\n\t\t\t\t\t\tself.isWindowActive = true;\n\t\t\t\t\t}            \n\t\t\t\t}\n\t\t\t\tif(change == \"hide\"){\n\t\t\t\t\tif(self.isWindowActive){\n\t\t\t\t\t\tif(self.options.zoomWindowFadeOut){\n\t\t\t\t\t\t\tself.zoomWindow.stop(true, true).fadeOut(self.options.zoomWindowFadeOut);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{self.zoomWindow.hide();}\n\t\t\t\t\t\tself.isWindowActive = false;        \n\t\t\t\t\t}      \n\t\t\t\t}\n\t\t\t},\n\t\t\tshowHideLens: function(change) {\n\t\t\t\tvar self = this;              \n\t\t\t\tif(change == \"show\"){      \n\t\t\t\t\tif(!self.isLensActive){\n\t\t\t\t\t\tif(self.options.lensFadeIn){\n\t\t\t\t\t\t\tself.zoomLens.stop(true, true, false).fadeIn(self.options.lensFadeIn);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{self.zoomLens.show();}\n\t\t\t\t\t\tself.isLensActive = true;\n\t\t\t\t\t}            \n\t\t\t\t}\n\t\t\t\tif(change == \"hide\"){\n\t\t\t\t\tif(self.isLensActive){\n\t\t\t\t\t\tif(self.options.lensFadeOut){\n\t\t\t\t\t\t\tself.zoomLens.stop(true, true).fadeOut(self.options.lensFadeOut);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{self.zoomLens.hide();}\n\t\t\t\t\t\tself.isLensActive = false;        \n\t\t\t\t\t}      \n\t\t\t\t}\n\t\t\t},\n\t\t\tshowHideTint: function(change) {\n\t\t\t\tvar self = this;              \n\t\t\t\tif(change == \"show\"){      \n\t\t\t\t\tif(!self.isTintActive){\n\n\t\t\t\t\t\tif(self.options.zoomTintFadeIn){\n\t\t\t\t\t\t\tself.zoomTint.css({opacity:self.options.tintOpacity}).animate().stop(true, true).fadeIn(\"slow\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tself.zoomTint.css({opacity:self.options.tintOpacity}).animate();\n\t\t\t\t\t\t\tself.zoomTint.show();\n\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.isTintActive = true;\n\t\t\t\t\t}            \n\t\t\t\t}\n\t\t\t\tif(change == \"hide\"){      \n\t\t\t\t\tif(self.isTintActive){ \n\n\t\t\t\t\t\tif(self.options.zoomTintFadeOut){\n\t\t\t\t\t\t\tself.zoomTint.stop(true, true).fadeOut(self.options.zoomTintFadeOut);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{self.zoomTint.hide();}\n\t\t\t\t\t\tself.isTintActive = false;        \n\t\t\t\t\t}      \n\t\t\t\t}\n\t\t\t},\n\t\t\tsetLensPostition: function( e ) {\n\n\n\t\t\t},\n\t\t\tsetWindowPostition: function( e ) {\n\t\t\t\t//return obj.slice( 0, count );\n\t\t\t\tvar self = this;\n\n\t\t\t\tif(!isNaN(self.options.zoomWindowPosition)){\n\n\t\t\t\t\tswitch (self.options.zoomWindowPosition) { \n\t\t\t\t\tcase 1: //done         \n\t\t\t\t\t\tself.windowOffsetTop = (self.options.zoomWindowOffety);//DONE - 1\n\t\t\t\t\t\tif(!$('body').hasClass('rtl')){\n\t\t\t\t\t\t\tself.windowOffsetLeft =(+self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.windowOffsetLeft =(-self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tif(self.options.zoomWindowHeight > self.nzHeight){ //positive margin\n\n\t\t\t\t\t\t\tself.windowOffsetTop = ((self.options.zoomWindowHeight/2)-(self.nzHeight/2))*(-1);\n\t\t\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{ //negative margin\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3: //done        \n\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight - self.zoomWindow.height() - (self.options.borderSize*2)); //DONE 3,9\n\t\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t\tbreak;      \n\t\t\t\t\tcase 4: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight); //DONE - 4,5,6,7,8\n\t\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 5: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight); //DONE - 4,5,6,7,8\n\t\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth-self.zoomWindow.width()-(self.options.borderSize*2)); //DONE - 5,15\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 6: \n\t\t\t\t\t\tif(self.options.zoomWindowHeight > self.nzHeight){ //positive margin\n\t\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight);  //DONE - 4,5,6,7,8\n\n\t\t\t\t\t\t\tself.windowOffsetLeft =((self.options.zoomWindowWidth/2)-(self.nzWidth/2)+(self.options.borderSize*2))*(-1);  \n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{ //negative margin\n\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 7: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight);  //DONE - 4,5,6,7,8\n\t\t\t\t\t\tself.windowOffsetLeft = 0; //DONE 7, 13\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 8: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight); //DONE - 4,5,6,7,8\n\t\t\t\t\t\tself.windowOffsetLeft =(self.zoomWindow.width()+(self.options.borderSize*2) )* (-1);  //DONE 8,9,10,11,12\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 9:  //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.nzHeight - self.zoomWindow.height() - (self.options.borderSize*2)); //DONE 3,9\n\t\t\t\t\t\tself.windowOffsetLeft =(self.zoomWindow.width()+(self.options.borderSize*2) )* (-1);  //DONE 8,9,10,11,12\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 10: \n\t\t\t\t\t\tif(self.options.zoomWindowHeight > self.nzHeight){ //positive margin\n\n\t\t\t\t\t\t\tself.windowOffsetTop = ((self.options.zoomWindowHeight/2)-(self.nzHeight/2))*(-1);\n\t\t\t\t\t\t\tself.windowOffsetLeft =(self.zoomWindow.width()+(self.options.borderSize*2) )* (-1);  //DONE 8,9,10,11,12\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{ //negative margin\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 11: \n\t\t\t\t\t\tself.windowOffsetTop = (self.options.zoomWindowOffety);\n\t\t\t\t\t\tself.windowOffsetLeft =(self.zoomWindow.width()+(self.options.borderSize*2) )* (-1);  //DONE 8,9,10,11,12\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 12: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.zoomWindow.height()+(self.options.borderSize*2))*(-1); //DONE 12,13,14,15,16\n\t\t\t\t\t\tself.windowOffsetLeft =(self.zoomWindow.width()+(self.options.borderSize*2) )* (-1);  //DONE 8,9,10,11,12\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 13: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.zoomWindow.height()+(self.options.borderSize*2))*(-1); //DONE 12,13,14,15,16\n\t\t\t\t\t\tself.windowOffsetLeft =(0); //DONE 7, 13\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 14: \n\t\t\t\t\t\tif(self.options.zoomWindowHeight > self.nzHeight){ //positive margin\n\t\t\t\t\t\t\tself.windowOffsetTop = (self.zoomWindow.height()+(self.options.borderSize*2))*(-1); //DONE 12,13,14,15,16\n\n\t\t\t\t\t\t\tself.windowOffsetLeft =((self.options.zoomWindowWidth/2)-(self.nzWidth/2)+(self.options.borderSize*2))*(-1);  \n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{ //negative margin\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 15://done   \n\t\t\t\t\t\tself.windowOffsetTop = (self.zoomWindow.height()+(self.options.borderSize*2))*(-1); //DONE 12,13,14,15,16\n\t\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth-self.zoomWindow.width()-(self.options.borderSize*2)); //DONE - 5,15\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 16:  //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.zoomWindow.height()+(self.options.borderSize*2))*(-1); //DONE 12,13,14,15,16\n\t\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t\tbreak;            \n\t\t\t\t\tdefault: //done  \n\t\t\t\t\t\tself.windowOffsetTop = (self.options.zoomWindowOffety);//DONE - 1\n\t\t\t\t\tself.windowOffsetLeft =(self.nzWidth); //DONE 1, 2, 3, 4, 16\n\t\t\t\t\t} \n\t\t\t\t} //end isNAN\n\t\t\t\telse{\n\t\t\t\t\t//WE CAN POSITION IN A CLASS - ASSUME THAT ANY STRING PASSED IS\n\t\t\t\t\tself.externalContainer = $('#'+self.options.zoomWindowPosition);\n\t\t\t\t\tself.externalContainerWidth = self.externalContainer.width();\n\t\t\t\t\tself.externalContainerHeight = self.externalContainer.height();\n\t\t\t\t\tself.externalContainerOffset = self.externalContainer.offset();\n\n\t\t\t\t\tself.windowOffsetTop = self.externalContainerOffset.top;//DONE - 1\n\t\t\t\t\tself.windowOffsetLeft =self.externalContainerOffset.left; //DONE 1, 2, 3, 4, 16\n\n\t\t\t\t}\n\t\t\t\tself.isWindowSet = true;\n\t\t\t\tself.windowOffsetTop = self.windowOffsetTop + self.options.zoomWindowOffety;\n\t\t\t\tself.windowOffsetLeft = self.windowOffsetLeft + self.options.zoomWindowOffetx;\n\n\t\t\t\tself.zoomWindow.css({ top: self.windowOffsetTop});\n\t\t\t\tself.zoomWindow.css({ left: self.windowOffsetLeft});\n\n\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\tself.zoomWindow.css({ top: 0});\n\t\t\t\t\tself.zoomWindow.css({ left: 0});\n\n\t\t\t\t}   \n\n\n\t\t\t\tself.windowLeftPos = String(((e.pageX - self.nzOffset.left) * self.widthRatio - self.zoomWindow.width() / 2) * (-1));   \n\t\t\t\tself.windowTopPos = String(((e.pageY - self.nzOffset.top) * self.heightRatio - self.zoomWindow.height() / 2) * (-1));\n\t\t\t\tif(self.Etoppos){self.windowTopPos = 0;}\n\t\t\t\tif(self.Eloppos){self.windowLeftPos = 0;}     \n\t\t\t\tif(self.Eboppos){self.windowTopPos = (self.largeHeight/self.currentZoomLevel-self.zoomWindow.height())*(-1);  } \n\t\t\t\tif(self.Eroppos){self.windowLeftPos = ((self.largeWidth/self.currentZoomLevel-self.zoomWindow.width())*(-1));}    \n\n\t\t\t\t//stops micro movements\n\t\t\t\tif(self.fullheight){\n\t\t\t\t\tself.windowTopPos = 0;\n\n\t\t\t\t}\n\t\t\t\tif(self.fullwidth){\n\t\t\t\t\tself.windowLeftPos = 0;\n\n\t\t\t\t}\n\t\t\t\t//set the css background position \n\n\n\t\t\t\tif(self.options.zoomType == \"window\" || self.options.zoomType == \"inner\") {\n\n\t\t\t\t\tif(self.zoomLock == 1){\n\t\t\t\t\t\t//overrides for images not zoomable\n\t\t\t\t\t\tif(self.widthRatio <= 1){\n\n\t\t\t\t\t\t\tself.windowLeftPos = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(self.heightRatio <= 1){ \n\t\t\t\t\t\t\tself.windowTopPos = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// adjust images less than the window height\n\n\t\t\t\t\tif(self.largeHeight < self.options.zoomWindowHeight){\n\n\t\t\t\t\t\tself.windowTopPos = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(self.largeWidth < self.options.zoomWindowWidth){\n\t\t\t\t\t\tself.windowLeftPos = 0;\n\t\t\t\t\t}       \n\n\t\t\t\t\t//set the zoomwindow background position\n\t\t\t\t\tif (self.options.easing){\n\n\t\t\t\t\t\t//     if(self.changeZoom){\n\t\t\t\t\t\t//           clearInterval(self.loop);\n\t\t\t\t\t\t//           self.changeZoom = false;\n\t\t\t\t\t\t//           self.loop = false;\n\n\t\t\t\t\t\t//            }\n\t\t\t\t\t\t//set the pos to 0 if not set\n\t\t\t\t\t\tif(!self.xp){self.xp = 0;}\n\t\t\t\t\t\tif(!self.yp){self.yp = 0;}  \n\t\t\t\t\t\t//if loop not already started, then run it \n\t\t\t\t\t\tif (!self.loop){           \n\t\t\t\t\t\t\tself.loop = setInterval(function(){                \n\t\t\t\t\t\t\t\t//using zeno's paradox    \n\n\t\t\t\t\t\t\t\tself.xp += (self.windowLeftPos  - self.xp) / self.options.easingAmount; \n\t\t\t\t\t\t\t\tself.yp += (self.windowTopPos  - self.yp) / self.options.easingAmount;\n\t\t\t\t\t\t\t\tif(self.scrollingLock){\n\n\n\t\t\t\t\t\t\t\t\tclearInterval(self.loop);\n\t\t\t\t\t\t\t\t\tself.xp = self.windowLeftPos;\n\t\t\t\t\t\t\t\t\tself.yp = self.windowTopPos            \n\n\t\t\t\t\t\t\t\t\tself.xp = ((e.pageX - self.nzOffset.left) * self.widthRatio - self.zoomWindow.width() / 2) * (-1);\n\t\t\t\t\t\t\t\t\tself.yp = (((e.pageY - self.nzOffset.top) * self.heightRatio - self.zoomWindow.height() / 2) * (-1));                         \n\n\t\t\t\t\t\t\t\t\tif(self.changeBgSize){    \n\t\t\t\t\t\t\t\t\t\tif(self.nzHeight>self.nzWidth){  \n\t\t\t\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){      \n\t\t\t\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t\t\t\t}   \n\t\t\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse{   \n\t\t\t\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){      \n\t\t\t\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t\t\t\t}            \n\t\t\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });            \n\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t/*\n             if(!self.bgxp){self.bgxp = self.largeWidth/self.newvalue;}\n\t\t\t\t\t\tif(!self.bgyp){self.bgyp = self.largeHeight/self.newvalue ;}  \n                 if (!self.bgloop){   \n                 \tself.bgloop = setInterval(function(){   \n\n                 self.bgxp += (self.largeWidth/self.newvalue  - self.bgxp) / self.options.easingAmount; \n\t\t\t\t\t\t\t\tself.bgyp += (self.largeHeight/self.newvalue  - self.bgyp) / self.options.easingAmount;\n\n           self.zoomWindow.css({ \"background-size\": self.bgxp + 'px ' + self.bgyp + 'px' });\n\n\n                  }, 16);\n\n                 }\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\tself.changeBgSize = false;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ backgroundPosition: self.windowLeftPos + 'px ' + self.windowTopPos + 'px' });\n\t\t\t\t\t\t\t\t\tself.scrollingLock = false;\n\t\t\t\t\t\t\t\t\tself.loop = false;\n\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t\t\tif(self.changeBgSize){    \n\t\t\t\t\t\t\t\t\t\tif(self.nzHeight>self.nzWidth){ \n\t\t\t\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){      \n\t\t\t\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t\t\t\t}         \n\t\t\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse{                 \n\t\t\t\t\t\t\t\t\t\t\tif(self.options.zoomType != \"lens\"){     \n\t\t\t\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });\n\t\t\t\t\t\t\t\t\t\t\t}      \n\t\t\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });            \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tself.changeBgSize = false;\n\t\t\t\t\t\t\t\t\t}                   \n\n\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ backgroundPosition: self.xp + 'px ' + self.yp + 'px' });\n\t\t\t\t\t\t\t\t}       \n\t\t\t\t\t\t\t}, 16);\n\t\t\t\t\t\t}\n\t\t\t\t\t}   \n\t\t\t\t\telse{    \n\t\t\t\t\t\tif(self.changeBgSize){  \n\t\t\t\t\t\t\tif(self.nzHeight>self.nzWidth){  \n\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){      \n\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t\t} \n\n\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse{     \n\t\t\t\t\t\t\t\tif(self.options.zoomType == \"lens\"){      \n\t\t\t\t\t\t\t\t\tself.zoomLens.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\tif((self.largeHeight/self.newvaluewidth) < self.options.zoomWindowHeight){ \n\n\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvaluewidth + 'px ' + self.largeHeight/self.newvaluewidth + 'px' });            \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse{\n\n\t\t\t\t\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth/self.newvalueheight + 'px ' + self.largeHeight/self.newvalueheight + 'px' });   \n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tself.changeBgSize = false;\n\t\t\t\t\t\t}     \n\n\t\t\t\t\t\tself.zoomWindow.css({ backgroundPosition: self.windowLeftPos + 'px ' + self.windowTopPos + 'px' });       \n\t\t\t\t\t}\n\t\t\t\t} \n\t\t\t},\n\t\t\tsetTintPosition: function(e){\n\t\t\t\tvar self = this;\n\t\t\t\tself.nzOffset = self.$elem.offset();\n\t\t\t\tself.tintpos = String(((e.pageX - self.nzOffset.left)-(self.zoomLens.width() / 2)) * (-1)); \n\t\t\t\tself.tintposy = String(((e.pageY - self.nzOffset.top) - self.zoomLens.height() / 2) * (-1));\t\n\t\t\t\tif(self.Etoppos){\n\t\t\t\t\tself.tintposy = 0;\n\t\t\t\t}\n\t\t\t\tif(self.Eloppos){\n\t\t\t\t\tself.tintpos=0;\n\t\t\t\t}     \n\t\t\t\tif(self.Eboppos){\n\t\t\t\t\tself.tintposy = (self.nzHeight-self.zoomLens.height()-(self.options.lensBorderSize*2))*(-1);\n\t\t\t\t} \n\t\t\t\tif(self.Eroppos){\n\t\t\t\t\tself.tintpos = ((self.nzWidth-self.zoomLens.width()-(self.options.lensBorderSize*2))*(-1));\n\t\t\t\t}    \n\t\t\t\tif(self.options.tint) {\n\t\t\t\t\t//stops micro movements\n\t\t\t\t\tif(self.fullheight){\n\t\t\t\t\t\tself.tintposy = 0;\n\n\t\t\t\t\t}\n\t\t\t\t\tif(self.fullwidth){ \n\t\t\t\t\t\tself.tintpos = 0;\n\n\t\t\t\t\t}   \n\t\t\t\t\tself.zoomTintImage.css({'left': self.tintpos+'px'});\n\t\t\t\t\tself.zoomTintImage.css({'top': self.tintposy+'px'});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tswaptheimage: function(smallimage, largeimage){\n\t\t\t\tvar self = this;\n\t\t\t\tvar newImg = new Image(); \n\n\t\t\t\tif(self.options.loadingIcon){\n\t\t\t\t\tself.spinner = $('<div style=\"background: url(\\''+self.options.loadingIcon+'\\') no-repeat center;height:'+self.nzHeight+'px;width:'+self.nzWidth+'px;z-index: 2000;position: absolute; background-position: center center;\"></div>');\n\t\t\t\t\tself.$elem.after(self.spinner);\n\t\t\t\t}\n\n\t\t\t\tself.options.onImageSwap(self.$elem);\n\n\t\t\t\tnewImg.onload = function() {\n\t\t\t\t\tself.largeWidth = newImg.width;\n\t\t\t\t\tself.largeHeight = newImg.height;\n\t\t\t\t\tself.zoomImage = largeimage;\n\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth + 'px ' + self.largeHeight + 'px' });\n\t\t\t\t\tself.zoomWindow.css({ \"background-size\": self.largeWidth + 'px ' + self.largeHeight + 'px' });\n\n\n\t\t\t\t\tself.swapAction(smallimage, largeimage);\n\t\t\t\t\treturn;              \n\t\t\t\t}          \n\t\t\t\tnewImg.src = largeimage; // this must be done AFTER setting onload\n\n\t\t\t},\n\t\t\tswapAction: function(smallimage, largeimage){\n\n\n\t\t\t\tvar self = this;    \n\n\t\t\t\tvar newImg2 = new Image(); \n\t\t\t\tnewImg2.onload = function() {\n\t\t\t\t\t//re-calculate values\n\t\t\t\t\tself.nzHeight = newImg2.height;\n\t\t\t\t\tself.nzWidth = newImg2.width;\n\t\t\t\t\tself.options.onImageSwapComplete(self.$elem);\n\n\t\t\t\t\tself.doneCallback();  \n\t\t\t\t\treturn;      \n\t\t\t\t}          \n\t\t\t\tnewImg2.src = smallimage; \n\n\t\t\t\t//reset the zoomlevel to that initially set in options\n\t\t\t\tself.currentZoomLevel = self.options.zoomLevel;\n\t\t\t\tself.options.maxZoomLevel = false;\n\n\t\t\t\t//swaps the main image\n\t\t\t\t//self.$elem.attr(\"src\",smallimage);\n\t\t\t\t//swaps the zoom image     \n\t\t\t\tif(self.options.zoomType == \"lens\") {\n\t\t\t\t\tself.zoomLens.css({ backgroundImage: \"url('\" + largeimage + \"')\" }); \n\t\t\t\t}\n\t\t\t\tif(self.options.zoomType == \"window\") {\n\t\t\t\t\tself.zoomWindow.css({ backgroundImage: \"url('\" + largeimage + \"')\" }); \n\t\t\t\t}\n\t\t\t\tif(self.options.zoomType == \"inner\") {\n\t\t\t\t\tself.zoomWindow.css({ backgroundImage: \"url('\" + largeimage + \"')\" }); \n\t\t\t\t} \n\n\n\n\t\t\t\tself.currentImage = largeimage;\n\n\t\t\t\tif(self.options.imageCrossfade){\n\t\t\t\t\tvar oldImg = self.$elem;\n\t\t\t\t\tvar newImg = oldImg.clone();         \n\t\t\t\t\tself.$elem.attr(\"src\",smallimage)\n\t\t\t\t\tself.$elem.after(newImg);\n\t\t\t\t\tnewImg.stop(true).fadeOut(self.options.imageCrossfade, function() {\n\t\t\t\t\t\t$(this).remove();         \n\t\t\t\t\t});\n\n\t\t\t\t\t//       \t\t\t\tif(self.options.zoomType == \"inner\"){\n\t\t\t\t\t//remove any attributes on the cloned image so we can resize later\n\t\t\t\t\tself.$elem.width(\"auto\").removeAttr(\"width\");\n\t\t\t\t\tself.$elem.height(\"auto\").removeAttr(\"height\");\n\t\t\t\t\t//   }\n\n\t\t\t\t\toldImg.fadeIn(self.options.imageCrossfade);\n\n\t\t\t\t\tif(self.options.tint && self.options.zoomType != \"inner\") {\n\n\t\t\t\t\t\tvar oldImgTint = self.zoomTintImage;\n\t\t\t\t\t\tvar newImgTint = oldImgTint.clone();         \n\t\t\t\t\t\tself.zoomTintImage.attr(\"src\",largeimage)\n\t\t\t\t\t\tself.zoomTintImage.after(newImgTint);\n\t\t\t\t\t\tnewImgTint.stop(true).fadeOut(self.options.imageCrossfade, function() {\n\t\t\t\t\t\t\t$(this).remove();         \n\t\t\t\t\t\t});\n\n\n\n\t\t\t\t\t\toldImgTint.fadeIn(self.options.imageCrossfade);\n\n\n\t\t\t\t\t\t//self.zoomTintImage.attr(\"width\",elem.data(\"image\"));\n\n\t\t\t\t\t\t//resize the tint window\n\t\t\t\t\t\tself.zoomTint.css({ height: self.$elem.height()});\n\t\t\t\t\t\tself.zoomTint.css({ width: self.$elem.width()});\n\t\t\t\t\t}    \n\n\t\t\t\t\tself.zoomContainer.css(\"height\", self.$elem.height());\n\t\t\t\t\tself.zoomContainer.css(\"width\", self.$elem.width());\n\n\t\t\t\t\tif(self.options.zoomType == \"inner\"){ \n\t\t\t\t\t\tif(!self.options.constrainType){\n\t\t\t\t\t\t\tself.zoomWrap.parent().css(\"height\", self.$elem.height());\n\t\t\t\t\t\t\tself.zoomWrap.parent().css(\"width\", self.$elem.width());\n\n\t\t\t\t\t\t\tself.zoomWindow.css(\"height\", self.$elem.height());\n\t\t\t\t\t\t\tself.zoomWindow.css(\"width\", self.$elem.width());\n\t\t\t\t\t\t}\n\t\t\t\t\t} \n\n\t\t\t\t\tif(self.options.imageCrossfade){  \n\t\t\t\t\t\tself.zoomWrap.css(\"height\", self.$elem.height());\n\t\t\t\t\t\tself.zoomWrap.css(\"width\", self.$elem.width());\n\t\t\t\t\t} \n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tself.$elem.attr(\"src\",smallimage); \n\t\t\t\t\tif(self.options.tint) {\n\t\t\t\t\t\tself.zoomTintImage.attr(\"src\",largeimage);\n\t\t\t\t\t\t//self.zoomTintImage.attr(\"width\",elem.data(\"image\"));\n\t\t\t\t\t\tself.zoomTintImage.attr(\"height\",self.$elem.height());\n\t\t\t\t\t\t//self.zoomTintImage.attr('src') = elem.data(\"image\");\n\t\t\t\t\t\tself.zoomTintImage.css({ height: self.$elem.height()}); \n\t\t\t\t\t\tself.zoomTint.css({ height: self.$elem.height()});\n\n\t\t\t\t\t}\n\t\t\t\t\tself.zoomContainer.css(\"height\", self.$elem.height());\n\t\t\t\t\tself.zoomContainer.css(\"width\", self.$elem.width());\n\n\t\t\t\t\tif(self.options.imageCrossfade){  \n\t\t\t\t\t\tself.zoomWrap.css(\"height\", self.$elem.height());\n\t\t\t\t\t\tself.zoomWrap.css(\"width\", self.$elem.width());\n\t\t\t\t\t} \n\t\t\t\t}              \n\t\t\t\tif(self.options.constrainType){     \n\n\t\t\t\t\t//This will contrain the image proportions\n\t\t\t\t\tif(self.options.constrainType == \"height\"){ \n\n\t\t\t\t\t\tself.zoomContainer.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\tself.zoomContainer.css(\"width\", \"auto\");\n\n\t\t\t\t\t\tif(self.options.imageCrossfade){  \n\t\t\t\t\t\t\tself.zoomWrap.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomWrap.css(\"width\", \"auto\"); \n\t\t\t\t\t\t\tself.constwidth = self.zoomWrap.width();\n\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{                  \n\t\t\t\t\t\t\tself.$elem.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.$elem.css(\"width\", \"auto\");\n\t\t\t\t\t\t\tself.constwidth = self.$elem.width();\n\t\t\t\t\t\t} \n\n\t\t\t\t\t\tif(self.options.zoomType == \"inner\"){\n\n\t\t\t\t\t\t\tself.zoomWrap.parent().css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomWrap.parent().css(\"width\", self.constwidth);   \n\t\t\t\t\t\t\tself.zoomWindow.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomWindow.css(\"width\", self.constwidth);    \n\t\t\t\t\t\t}        \n\t\t\t\t\t\tif(self.options.tint){\n\t\t\t\t\t\t\tself.tintContainer.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.tintContainer.css(\"width\", self.constwidth);\n\t\t\t\t\t\t\tself.zoomTint.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomTint.css(\"width\", self.constwidth);\n\t\t\t\t\t\t\tself.zoomTintImage.css(\"height\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomTintImage.css(\"width\", self.constwidth); \n\t\t\t\t\t\t} \n\n\t\t\t\t\t}\n\t\t\t\t\tif(self.options.constrainType == \"width\"){       \n\t\t\t\t\t\tself.zoomContainer.css(\"height\", \"auto\");\n\t\t\t\t\t\tself.zoomContainer.css(\"width\", self.options.constrainSize);\n\n\t\t\t\t\t\tif(self.options.imageCrossfade){\n\t\t\t\t\t\t\tself.zoomWrap.css(\"height\", \"auto\");\n\t\t\t\t\t\t\tself.zoomWrap.css(\"width\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.constheight = self.zoomWrap.height();\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{            \n\t\t\t\t\t\t\tself.$elem.css(\"height\", \"auto\");\n\t\t\t\t\t\t\tself.$elem.css(\"width\", self.options.constrainSize); \n\t\t\t\t\t\t\tself.constheight = self.$elem.height();              \n\t\t\t\t\t\t} \n\t\t\t\t\t\tif(self.options.zoomType == \"inner\"){\n\t\t\t\t\t\t\tself.zoomWrap.parent().css(\"height\", self.constheight);\n\t\t\t\t\t\t\tself.zoomWrap.parent().css(\"width\", self.options.constrainSize);   \n\t\t\t\t\t\t\tself.zoomWindow.css(\"height\", self.constheight);\n\t\t\t\t\t\t\tself.zoomWindow.css(\"width\", self.options.constrainSize);    \n\t\t\t\t\t\t} \n\t\t\t\t\t\tif(self.options.tint){\n\t\t\t\t\t\t\tself.tintContainer.css(\"height\", self.constheight);\n\t\t\t\t\t\t\tself.tintContainer.css(\"width\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomTint.css(\"height\", self.constheight);\n\t\t\t\t\t\t\tself.zoomTint.css(\"width\", self.options.constrainSize);\n\t\t\t\t\t\t\tself.zoomTintImage.css(\"height\", self.constheight);\n\t\t\t\t\t\t\tself.zoomTintImage.css(\"width\", self.options.constrainSize); \n\t\t\t\t\t\t}   \n\n\t\t\t\t\t}        \n\n\n\t\t\t\t}\n\n\t\t\t},\n\t\t\tdoneCallback: function(){\n\n\t\t\t\tvar self = this;\n\t\t\t\tif(self.options.loadingIcon){\n\t\t\t\t\tself.spinner.hide();     \n\t\t\t\t}   \n\n\t\t\t\tself.nzOffset = self.$elem.offset();\n\t\t\t\tself.nzWidth = self.$elem.width();\n\t\t\t\tself.nzHeight = self.$elem.height();\n\n\t\t\t\t// reset the zoomlevel back to default\n\t\t\t\tself.currentZoomLevel = self.options.zoomLevel;\n\n\t\t\t\t//ratio of the large to small image\n\t\t\t\tself.widthRatio = self.largeWidth / self.nzWidth;\n\t\t\t\tself.heightRatio = self.largeHeight / self.nzHeight; \n\n\t\t\t\t//NEED TO ADD THE LENS SIZE FOR ROUND\n\t\t\t\t// adjust images less than the window height\n\t\t\t\tif(self.options.zoomType == \"window\") {\n\n\t\t\t\t\tif(self.nzHeight < self.options.zoomWindowWidth/self.widthRatio){\n\t\t\t\t\t\tlensHeight = self.nzHeight;  \n\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tlensHeight = String((self.options.zoomWindowHeight/self.heightRatio))\n\t\t\t\t\t}\n\n\t\t\t\t\tif(self.options.zoomWindowWidth < self.options.zoomWindowWidth){\n\t\t\t\t\t\tlensWidth = self.nzWidth;\n\t\t\t\t\t}       \n\t\t\t\t\telse{\n\t\t\t\t\t\tlensWidth =  (self.options.zoomWindowWidth/self.widthRatio);\n\t\t\t\t\t}\n\n\n\t\t\t\t\tif(self.zoomLens){\n\n\t\t\t\t\t\tself.zoomLens.css('width', lensWidth);    \n\t\t\t\t\t\tself.zoomLens.css('height', lensHeight); \n\n\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetCurrentImage: function(){\n\t\t\t\tvar self = this;  \n\t\t\t\treturn self.zoomImage; \n\t\t\t}, \n\t\t\tgetGalleryList: function(){\n\t\t\t\tvar self = this;   \n\t\t\t\t//loop through the gallery options and set them in list for fancybox\n\t\t\t\tself.gallerylist = [];\n\t\t\t\tif (self.options.gallery){ \n\n\n\t\t\t\t\t$('#'+self.options.gallery + ' a').each(function() {\n\n\t\t\t\t\t\tvar img_src = '';\n\t\t\t\t\t\tif($(this).data(\"zoom-image\")){\n\t\t\t\t\t\t\timg_src = $(this).data(\"zoom-image\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if($(this).data(\"image\")){\n\t\t\t\t\t\t\timg_src = $(this).data(\"image\");\n\t\t\t\t\t\t}\t\t\t\n\t\t\t\t\t\t//put the current image at the start\n\t\t\t\t\t\tif(img_src == self.zoomImage){\n\t\t\t\t\t\t\tself.gallerylist.unshift({\n\t\t\t\t\t\t\t\thref: ''+img_src+'',\n\t\t\t\t\t\t\t\ttitle: $(this).find('img').attr(\"title\")\n\t\t\t\t\t\t\t});\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tself.gallerylist.push({\n\t\t\t\t\t\t\t\thref: ''+img_src+'',\n\t\t\t\t\t\t\t\ttitle: $(this).find('img').attr(\"title\")\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t});\n\t\t\t\t}                                                       \n\t\t\t\t//if no gallery - return current image\n\t\t\t\telse{\n\t\t\t\t\tself.gallerylist.push({\n\t\t\t\t\t\thref: ''+self.zoomImage+'',\n\t\t\t\t\t\ttitle: $(this).find('img').attr(\"title\")\n\t\t\t\t\t}); \n\t\t\t\t}\n\t\t\t\treturn self.gallerylist;\n\n\t\t\t},\n\t\t\tchangeZoomLevel: function(value){\n\t\t\t\tvar self = this;   \n\n\t\t\t\t//flag a zoom, so can adjust the easing during setPosition     \n\t\t\t\tself.scrollingLock = true;   \n\n\t\t\t\t//round to two decimal places\n\t\t\t\tself.newvalue = parseFloat(value).toFixed(2);\n\t\t\t\tnewvalue = parseFloat(value).toFixed(2);\n\n\n\n\n\t\t\t\t//maxwidth & Maxheight of the image\n\t\t\t\tmaxheightnewvalue = self.largeHeight/((self.options.zoomWindowHeight / self.nzHeight) * self.nzHeight);     \n\t\t\t\tmaxwidthtnewvalue = self.largeWidth/((self.options.zoomWindowWidth / self.nzWidth) * self.nzWidth);   \t\n\n\n\n\n\t\t\t\t//calculate new heightratio\n\t\t\t\tif(self.options.zoomType != \"inner\")\n\t\t\t\t{\n\t\t\t\t\tif(maxheightnewvalue <= newvalue){\n\t\t\t\t\t\tself.heightRatio = (self.largeHeight/maxheightnewvalue) / self.nzHeight;\n\t\t\t\t\t\tself.newvalueheight = maxheightnewvalue;\n\t\t\t\t\t\tself.fullheight = true;\n\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tself.heightRatio = (self.largeHeight/newvalue) / self.nzHeight; \n\t\t\t\t\t\tself.newvalueheight = newvalue;\n\t\t\t\t\t\tself.fullheight = false;\n\n\t\t\t\t\t}\n\n\n//\t\t\t\t\tcalculate new width ratio\n\n\t\t\t\t\tif(maxwidthtnewvalue <= newvalue){\n\t\t\t\t\t\tself.widthRatio = (self.largeWidth/maxwidthtnewvalue) / self.nzWidth;\n\t\t\t\t\t\tself.newvaluewidth = maxwidthtnewvalue;\n\t\t\t\t\t\tself.fullwidth = true;\n\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tself.widthRatio = (self.largeWidth/newvalue) / self.nzWidth; \n\t\t\t\t\t\tself.newvaluewidth = newvalue;\n\t\t\t\t\t\tself.fullwidth = false;\n\n\t\t\t\t\t}\n\t\t\t\t\tif(self.options.zoomType == \"lens\"){\n\t\t\t\t\t\tif(maxheightnewvalue <= newvalue){\n\t\t\t\t\t\t\tself.fullwidth = true;\n\t\t\t\t\t\t\tself.newvaluewidth = maxheightnewvalue;\n\n\t\t\t\t\t\t} else{\n\t\t\t\t\t\t\tself.widthRatio = (self.largeWidth/newvalue) / self.nzWidth; \n\t\t\t\t\t\t\tself.newvaluewidth = newvalue;\n\n\t\t\t\t\t\t\tself.fullwidth = false;\n\t\t\t\t\t\t}}\n\t\t\t\t}\n\n\n\n\t\t\t\tif(self.options.zoomType == \"inner\")\n\t\t\t\t{\n\t\t\t\t\tmaxheightnewvalue = parseFloat(self.largeHeight/self.nzHeight).toFixed(2);     \n\t\t\t\t\tmaxwidthtnewvalue = parseFloat(self.largeWidth/self.nzWidth).toFixed(2);      \n\t\t\t\t\tif(newvalue > maxheightnewvalue){\n\t\t\t\t\t\tnewvalue = maxheightnewvalue;\n\t\t\t\t\t}\n\t\t\t\t\tif(newvalue > maxwidthtnewvalue){\n\t\t\t\t\t\tnewvalue = maxwidthtnewvalue;\n\t\t\t\t\t}      \n\n\n\t\t\t\t\tif(maxheightnewvalue <= newvalue){\n\n\n\t\t\t\t\t\tself.heightRatio = (self.largeHeight/newvalue) / self.nzHeight; \n\t\t\t\t\t\tif(newvalue > maxheightnewvalue){\n\t\t\t\t\t\t\tself.newvalueheight = maxheightnewvalue;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tself.newvalueheight = newvalue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.fullheight = true;\n\n\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\n\n\n\t\t\t\t\t\tself.heightRatio = (self.largeHeight/newvalue) / self.nzHeight; \n\n\t\t\t\t\t\tif(newvalue > maxheightnewvalue){\n\n\t\t\t\t\t\t\tself.newvalueheight = maxheightnewvalue;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tself.newvalueheight = newvalue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.fullheight = false;\n\t\t\t\t\t}\n\n\n\n\n\t\t\t\t\tif(maxwidthtnewvalue <= newvalue){   \n\n\t\t\t\t\t\tself.widthRatio = (self.largeWidth/newvalue) / self.nzWidth; \n\t\t\t\t\t\tif(newvalue > maxwidthtnewvalue){\n\n\t\t\t\t\t\t\tself.newvaluewidth = maxwidthtnewvalue;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tself.newvaluewidth = newvalue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tself.fullwidth = true;\n\n\n\t\t\t\t\t}\n\t\t\t\t\telse{  \n\n\t\t\t\t\t\tself.widthRatio = (self.largeWidth/newvalue) / self.nzWidth; \n\t\t\t\t\t\tself.newvaluewidth = newvalue;\n\t\t\t\t\t\tself.fullwidth = false;\n\t\t\t\t\t}        \n\n\n\t\t\t\t} //end inner\n\t\t\t\tscrcontinue = false;\n\n\t\t\t\tif(self.options.zoomType == \"inner\"){\n\n\t\t\t\t\tif(self.nzWidth >= self.nzHeight){\n\t\t\t\t\t\tif( self.newvaluewidth <= maxwidthtnewvalue){\n\t\t\t\t\t\t\tscrcontinue = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\n\t\t\t\t\t\t\tscrcontinue = false;\n\t\t\t\t\t\t\tself.fullheight = true;\n\t\t\t\t\t\t\tself.fullwidth = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(self.nzHeight > self.nzWidth){     \n\t\t\t\t\t\tif( self.newvaluewidth <= maxwidthtnewvalue){\n\t\t\t\t\t\t\tscrcontinue = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tscrcontinue = false;  \n\n\t\t\t\t\t\t\tself.fullheight = true;\n\t\t\t\t\t\t\tself.fullwidth = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(self.options.zoomType != \"inner\"){\n\t\t\t\t\tscrcontinue = true;\n\t\t\t\t}\n\n\t\t\t\tif(scrcontinue){\n\n\n\n\t\t\t\t\tself.zoomLock = 0;\n\t\t\t\t\tself.changeZoom = true;\n\n\t\t\t\t\t//if lens height is less than image height\n\n\n\t\t\t\t\tif(((self.options.zoomWindowHeight)/self.heightRatio) <= self.nzHeight){\n\n\n\t\t\t\t\t\tself.currentZoomLevel = self.newvalueheight; \n\t\t\t\t\t\tif(self.options.zoomType != \"lens\" && self.options.zoomType != \"inner\") {\n\t\t\t\t\t\t\tself.changeBgSize = true;\n\n\t\t\t\t\t\t\tself.zoomLens.css({height: String((self.options.zoomWindowHeight)/self.heightRatio) + 'px' }) \n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(self.options.zoomType == \"lens\" || self.options.zoomType == \"inner\") {  \n\t\t\t\t\t\t\tself.changeBgSize = true;  \n\t\t\t\t\t\t}\t\n\n\n\t\t\t\t\t} \n\n\n\n\n\t\t\t\t\tif((self.options.zoomWindowWidth/self.widthRatio) <= self.nzWidth){\n\n\n\n\t\t\t\t\t\tif(self.options.zoomType != \"inner\"){\n\t\t\t\t\t\t\tif(self.newvaluewidth > self.newvalueheight)   {\n\t\t\t\t\t\t\t\tself.currentZoomLevel = self.newvaluewidth;                 \n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(self.options.zoomType != \"lens\" && self.options.zoomType != \"inner\") {\n\t\t\t\t\t\t\tself.changeBgSize = true;\n\n\t\t\t\t\t\t\tself.zoomLens.css({width: String((self.options.zoomWindowWidth)/self.widthRatio) + 'px' })\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(self.options.zoomType == \"lens\" || self.options.zoomType == \"inner\") {  \n\t\t\t\t\t\t\tself.changeBgSize = true;\n\t\t\t\t\t\t}\t\n\n\t\t\t\t\t}\n\t\t\t\t\tif(self.options.zoomType == \"inner\"){\n\t\t\t\t\t\tself.changeBgSize = true;  \n\n\t\t\t\t\t\tif(self.nzWidth > self.nzHeight){\n\t\t\t\t\t\t\tself.currentZoomLevel = self.newvaluewidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(self.nzHeight > self.nzWidth){\n\t\t\t\t\t\t\tself.currentZoomLevel = self.newvaluewidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}      //under\n\n\t\t\t\t//sets the boundry change, called in setWindowPos\n\t\t\t\tself.setPosition(self.currentLoc);\n\t\t\t\t//\n\t\t\t},\n\t\t\tcloseAll: function(){\n\t\t\t\tif(self.zoomWindow){self.zoomWindow.hide();}\n\t\t\t\tif(self.zoomLens){self.zoomLens.hide();}\n\t\t\t\tif(self.zoomTint){self.zoomTint.hide();}\n\t\t\t},\n\t\t\tchangeState: function(value){\n      \tvar self = this;\n\t\t\t\tif(value == 'enable'){self.options.zoomEnabled = true;}\n\t\t\t\tif(value == 'disable'){self.options.zoomEnabled = false;}\n\n\t\t\t}\n\n\t};\n\n\n\n\n\t$.fn.elevateZoom = function( options ) {\n\t\treturn this.each(function() {\n\t\t\tvar elevate = Object.create( ElevateZoom );\n\n\t\t\televate.init( options, this );\n\n\t\t\t$.data( this, 'elevateZoom', elevate );\n\n\t\t});\n\t};\n\n\t$.fn.elevateZoom.options = {\n\t\t\tzoomActivation: \"hover\", // Can also be click (PLACEHOLDER FOR NEXT VERSION)\n      zoomEnabled: true, //false disables zoomwindow from showing\n\t\t\tpreloading: 1, //by default, load all the images, if 0, then only load images after activated (PLACEHOLDER FOR NEXT VERSION)\n\t\t\tzoomLevel: 1, //default zoom level of image\n\t\t\tscrollZoom: false, //allow zoom on mousewheel, true to activate\n\t\t\tscrollZoomIncrement: 0.1,  //steps of the scrollzoom\n\t\t\tminZoomLevel: false,\n\t\t\tmaxZoomLevel: false,\n\t\t\teasing: false,\n\t\t\teasingAmount: 12,\n\t\t\tlensSize: 200,\n\t\t\tzoomWindowWidth: 400,\n\t\t\tzoomWindowHeight: 400,\n\t\t\tzoomWindowOffetx: 0,\n\t\t\tzoomWindowOffety: 0,\n\t\t\tzoomWindowPosition: 1,\n\t\t\tzoomWindowBgColour: \"#fff\",\n\t\t\tlensFadeIn: false,\n\t\t\tlensFadeOut: false,\n\t\t\tdebug: false,\n\t\t\tzoomWindowFadeIn: false,\n\t\t\tzoomWindowFadeOut: false,\n\t\t\tzoomWindowAlwaysShow: false,\n\t\t\tzoomTintFadeIn: false,\n\t\t\tzoomTintFadeOut: false,\n\t\t\tborderSize: 4,\n\t\t\tshowLens: true,\n\t\t\tborderColour: \"#888\",\n\t\t\tlensBorderSize: 1,\n\t\t\tlensBorderColour: \"#000\",\n\t\t\tlensShape: \"square\", //can be \"round\"\n\t\t\tzoomType: \"window\", //window is default,  also \"lens\" available -\n\t\t\tcontainLensZoom: false,\n\t\t\tlensColour: \"white\", //colour of the lens background\n\t\t\tlensOpacity: 0.4, //opacity of the lens\n\t\t\tlenszoom: false,\n\t\t\ttint: false, //enable the tinting\n\t\t\ttintColour: \"#333\", //default tint color, can be anything, red, #ccc, rgb(0,0,0)\n\t\t\ttintOpacity: 0.4, //opacity of the tint\n\t\t\tgallery: false,\n\t\t\tgalleryActiveClass: \"zoomGalleryActive\",\n\t\t\timageCrossfade: false,\n\t\t\tconstrainType: false,  //width or height\n\t\t\tconstrainSize: false,  //in pixels the dimensions you want to constrain on\n\t\t\tloadingIcon: false, //http://www.example.com/spinner.gif\n\t\t\tcursor:\"default\", // user should set to what they want the cursor as, if they have set a click function\n\t\t\tresponsive:true,\n\t\t\tonComplete: $.noop,\n\t\t\tonZoomedImageLoaded: function() {},\n\t\t\tonImageSwap: $.noop,\n\t\t\tonImageSwapComplete: $.noop\n\t};\n\n})( jQuery, window, document );","Magefan_Blog/js/tagcanvas.min.js":"/**\n * Copyright (C) 2010-2021 Graham Breach\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Lesser General Public License for more details.\n * \n * You should have received a copy of the GNU Lesser General Public License\n * along with this program.  If not, see <http://www.gnu.org/licenses/>.\n */\n/**\n * TagCanvas 2.11\n * For more information, please contact <[email protected]>\n */\n(function(){\"use strict\";var r,C,p=Math.abs,o=Math.sin,l=Math.cos,g=Math.max,h=Math.min,af=Math.ceil,E=Math.sqrt,w=Math.pow,I={},D={},R={0:\"0,\",1:\"17,\",2:\"34,\",3:\"51,\",4:\"68,\",5:\"85,\",6:\"102,\",7:\"119,\",8:\"136,\",9:\"153,\",a:\"170,\",A:\"170,\",b:\"187,\",B:\"187,\",c:\"204,\",C:\"204,\",d:\"221,\",D:\"221,\",e:\"238,\",E:\"238,\",f:\"255,\",F:\"255,\"},f,d,b,T,z,F,M,c=document,v,e,P,j={};for(r=0;r<256;++r)C=r.toString(16),r<16&&(C='0'+C),D[C]=D[C.toUpperCase()]=r.toString()+',';function n(a){return typeof a!='undefined'}function B(a){return typeof a=='object'&&a!=null}function G(a,c,b){return isNaN(a)?b:h(b,g(c,a))}function x(){return!1}function q(){return(new Date).valueOf()}function ak(c,d){var b=[],e=c.length,a;for(a=0;a<e;++a)b.push(c[a]);return b.sort(d),b}function ai(a){for(var b=a.length-1,d,c;b;)c=~~(Math.random()*b),d=a[b],a[b]=a[c],a[c]=d,--b}function ag(){var a=window.AudioContext||window.webkitAudioContext;if(e=new a,!e){e='off';return}return e}function $(u,a,t,s,r,q,p){var j=s,h=r,i=t*.01,n=80*i,m=100*i,o=40*i,l=30*i,c=l/2,b=j+n,f=b-o,k=h+m,d=k-l,g=h+l,e=h+m/2;if(a.setTransform(1,0,0,1,0,0),a.setLineDash([]),a.globalAlpha=1,a.strokeStyle=p,a.lineWidth=q,a.lineJoin='round',a.beginPath(),a.moveTo(f,g),a.lineTo(f,d),a.moveTo(b,k),a.lineTo(f,d),a.lineTo(j,d),a.lineTo(j,g),a.lineTo(f,g),a.lineTo(b,h),u){a.lineTo(b,g),a.moveTo(b,d),a.lineTo(b,k),a.moveTo(b-c,e-c),a.lineTo(b+c,e+c),a.moveTo(b+c,e-c),a.lineTo(b-c,e+c),a.stroke();return}a.closePath(),a.stroke()}function s(a,b,c){this.x=a,this.y=b,this.z=c}z=s.prototype,z.length=function(){return E(this.x*this.x+this.y*this.y+this.z*this.z)},z.dot=function(a){return this.x*a.x+this.y*a.y+this.z*a.z},z.cross=function(a){var b=this.y*a.z-this.z*a.y,c=this.z*a.x-this.x*a.z,d=this.x*a.y-this.y*a.x;return new s(b,c,d)},z.angle=function(b){var c=this.dot(b),a;return c==0?Math.PI/2:(a=c/(this.length()*b.length()),a>=1)?0:a<=-1?Math.PI:Math.acos(a)},z.unit=function(){var a=this.length();return new s(this.x/a,this.y/a,this.z/a)};function ay(b,a){a=a*Math.PI/180,b=b*Math.PI/180;var c=o(b)*l(a),d=-o(a),e=-l(b)*l(a);return new s(c,d,e)}function m(a){this[1]={1:a[0],2:a[1],3:a[2]},this[2]={1:a[3],2:a[4],3:a[5]},this[3]={1:a[6],2:a[7],3:a[8]}}T=m.prototype,m.Identity=function(){return new m([1,0,0,0,1,0,0,0,1])},m.Rotation=function(e,a){var c=o(e),d=l(e),b=1-d;return new m([d+w(a.x,2)*b,a.x*a.y*b-a.z*c,a.x*a.z*b+a.y*c,a.y*a.x*b+a.z*c,d+w(a.y,2)*b,a.y*a.z*b-a.x*c,a.z*a.x*b-a.y*c,a.z*a.y*b+a.x*c,d+w(a.z,2)*b])},T.mul=function(c){var d=[],a,b,e=c.xform?1:0;for(a=1;a<=3;++a)for(b=1;b<=3;++b)e?d.push(this[a][1]*c[1][b]+this[a][2]*c[2][b]+this[a][3]*c[3][b]):d.push(this[a][b]*c);return new m(d)},T.xform=function(b){var a={},c=b.x,d=b.y,e=b.z;return a.x=c*this[1][1]+d*this[2][1]+e*this[3][1],a.y=c*this[1][2]+d*this[2][2]+e*this[3][2],a.z=c*this[1][3]+d*this[2][3]+e*this[3][3],a};function aB(g,j,k,m,f){var a,b,c,d,e=[],h=2/g,i;i=Math.PI*(3-E(5)+(parseFloat(f)?parseFloat(f):0));for(a=0;a<g;++a)b=a*h-1+h/2,c=E(1-b*b),d=a*i,e.push([l(d)*c*j,b*k,o(d)*c*m]);return e}function U(n,p,m,k,h,g){var b,f=[],i=2/n,j,a,d,c,e;j=Math.PI*(3-E(5)+(parseFloat(g)?parseFloat(g):0));for(a=0;a<n;++a)d=a*i-1+i/2,b=a*j,c=l(b),e=o(b),f.push(p?[d*m,c*k,e*h]:[c*m,d*k,e*h]);return f}function aa(k,e,f,h,i,j){var b,g=[],m=Math.PI*2/e,a,c,d;for(a=0;a<e;++a)b=a*m,c=l(b),d=o(b),g.push(k?[j*f,c*h,d*i]:[c*f,j*h,d*i]);return g}function ax(a,b,c,d,e){return U(a,0,b,c,d,e)}function aH(a,b,c,d,e){return U(a,1,b,c,d,e)}function aG(b,c,d,e,a){return a=isNaN(a)?0:a*1,aa(0,b,c,d,e,a)}function aF(b,c,d,e,a){return a=isNaN(a)?0:a*1,aa(1,b,c,d,e,a)}function av(b){var a=new Image;a.onload=function(){var c=a.width/2,d=a.height/2;b.centreFunc=function(b,g,h,e,f){b.setTransform(1,0,0,1,0,0),b.globalAlpha=1,b.drawImage(a,e-c,f-d)}},a.src=b.centreImage}function aE(a,c){var b=a,d,e,f=(c*1).toPrecision(3)+')';return a[0]==='#'?(I[a]||(a.length===4?I[a]='rgba('+R[a[1]]+R[a[2]]+R[a[3]]:I[a]='rgba('+D[a.substr(1,2)]+D[a.substr(3,2)]+D[a.substr(5,2)]),b=I[a]+f):a.substr(0,4)==='rgb('||a.substr(0,4)==='hsl('?b=a.replace('(','a(').replace(')',','+f):(a.substr(0,5)==='rgba('||a.substr(0,5)==='hsla(')&&(d=a.lastIndexOf(',')+1,e=a.indexOf(')'),c*=parseFloat(a.substring(d,e)),b=a.substr(0,d)+c.toPrecision(3)+')'),b}function k(b,d){if(window.G_vmlCanvasManager)return null;var a=c.createElement('canvas');return a.width=b,a.height=d,a}function aD(){var b=k(3,3),a,c;return!!b&&(a=b.getContext('2d'),a.strokeStyle='#000',a.shadowColor='#fff',a.shadowBlur=3,a.globalAlpha=0,a.strokeRect(2,2,2,2),a.globalAlpha=1,c=a.getImageData(2,2,1,1),b=null,c.data[0]>0)}function aC(a,c,f,d){var e=a.createLinearGradient(0,0,c,0),b;for(b in d)e.addColorStop(1-b,d[b]);a.fillStyle=e,a.fillRect(0,f,c,1)}function L(a,m,j){var l=1024,d=1,e=a.weightGradient,i,f,b,c;if(a.gCanvas)f=a.gCanvas.getContext('2d'),d=a.gCanvas.height;else{if(B(e[0])?d=e.length:e=[e],a.gCanvas=i=k(l,d),!i)return null;f=i.getContext('2d');for(b=0;b<d;++b)aC(f,l,b,e[b])}return j=g(h(j||0,d-1),0),c=f.getImageData(~~((l-1)*m),j,1,1).data,'rgba('+c[0]+','+c[1]+','+c[2]+','+c[3]/255+')'}function Y(b,i,q,k,o,n,h,d,a,g,f,l){var m=o+(d||0)+(a.length&&a[0]<0?p(a[0]):0),j=n+(d||0)+(a.length&&a[1]<0?p(a[1]):0),c,e;b.font=i,b.textBaseline='top',b.fillStyle=q,h&&(b.shadowColor=h),d&&(b.shadowBlur=d),a.length&&(b.shadowOffsetX=a[0],b.shadowOffsetY=a[1]);for(c=0;c<k.length;++c)e=0,f&&('right'==l?e=g-f[c]:'centre'==l&&(e=(g-f[c])/2)),b.fillText(k[c],m+e,j),j+=parseInt(i)}function y(d,a,b,f,e,c,g){c?(d.beginPath(),d.moveTo(a,b+e-c),d.arcTo(a,b,a+c,b,c),d.arcTo(a+f,b,a+f,b+c,c),d.arcTo(a+f,b+e,a+f-c,b+e,c),d.arcTo(a,b+e,a,b+e-c,c),d.closePath(),d[g?'stroke':'fill']()):d[g?'strokeRect':'fillRect'](a,b,f,e)}function O(a,b,c,d,e,f,g,h,i){this.strings=a,this.font=b,this.width=c,this.height=d,this.maxWidth=e,this.stringWidths=f,this.align=g,this.valign=h,this.scale=i}M=O.prototype,M.SetImage=function(a,b,c,d,e,f,g,h){this.image=a,this.iwidth=b*this.scale,this.iheight=c*this.scale,this.ipos=d,this.ipad=e*this.scale,this.iscale=h,this.ialign=f,this.ivalign=g},M.Align=function(c,d,a){var b=0;return a=='right'||a=='bottom'?b=d-c:a!='left'&&a!='top'&&(b=(d-c)/2),b},M.Create=function(G,D,F,b,A,m,q,j,E){var o,e,f,a,l,s,i,u,v,r,w,n,c,d,x,B=p(q[0]),C=p(q[1]),t,z;return j=g(j,B+m,C+m),l=2*(j+b),i=2*(j+b),e=this.width+l,f=this.height+i,v=r=j+b,this.image&&(w=n=j+b,c=this.iwidth,d=this.iheight,this.ipos=='top'||this.ipos=='bottom'?(c<this.width?w+=this.Align(c,this.width,this.ialign):v+=this.Align(this.width,c,this.align),this.ipos=='top'?r+=d+this.ipad:n+=this.height+this.ipad,e=g(e,c+l),f+=d+this.ipad):(d<this.height?n+=this.Align(d,this.height,this.ivalign):r+=this.Align(this.height,d,this.valign),this.ipos=='right'?w+=this.width+this.ipad:v+=c+this.ipad,e+=c+this.ipad,f=g(f,d+i))),o=k(e,f),!o?null:(l=i=b/2,s=e-b,u=f-b,x=h(E,s/2,u/2),a=o.getContext('2d'),D&&(a.fillStyle=D,y(a,l,i,s,u,x)),b&&(a.strokeStyle=F,a.lineWidth=b,y(a,l,i,s,u,x,!0)),(m||B||C)&&(t=k(e,f),t&&(z=a,a=t.getContext('2d'))),Y(a,this.font,G,this.strings,v,r,0,0,[],this.maxWidth,this.stringWidths,this.align),this.image&&a.drawImage(this.image,w,n,c,d),z&&(a=z,A&&(a.shadowColor=A),m&&(a.shadowBlur=m),a.shadowOffsetX=q[0],a.shadowOffsetY=q[1],a.drawImage(t,0,0)),o)};function H(a,c,d){var b=k(c,d),e;return b?(e=b.getContext('2d'),e.drawImage(a,(c-a.width)/2,(d-a.height)/2),b):null}function S(e,b,c){var a=k(b,c),d;return a?(d=a.getContext('2d'),d.drawImage(e,0,0,b,c),a):null}function W(n,u,t,e,s,c,v,d,r,w){var g=u+(2*d+c)*e,f=t+(2*d+c)*e,l=k(g,f),b,i,q,m,j,o,a,p;return l?(c*=e,r*=e,i=q=c/2,m=g-c,j=f-c,d=d*e+i,b=l.getContext('2d'),p=h(r,m/2,j/2),s&&(b.fillStyle=s,y(b,i,q,m,j,p)),c&&(b.strokeStyle=v,b.lineWidth=c,y(b,i,q,m,j,p,!0)),w?(o=k(g,f),a=o.getContext('2d'),a.drawImage(n,d,d,u,t),a.globalCompositeOperation='source-in',a.fillStyle=v,a.fillRect(0,0,g,f),a.globalCompositeOperation='destination-over',a.drawImage(l,0,0),a.globalCompositeOperation='source-over',b.drawImage(o,0,0)):b.drawImage(n,d,d,n.width,n.height),{image:l,width:g/e,height:f/e}):null}function at(l,f,c,d,j){var e,a,b=parseFloat(f),i=g(c,d);return e=k(c,d),!e?null:(f.indexOf('%')>0?b=i*b/100:b=b*j,a=e.getContext('2d'),a.globalCompositeOperation='source-over',a.fillStyle='#fff',b>=i/2?(b=h(c,d)/2,a.beginPath(),a.moveTo(c/2,d/2),a.arc(c/2,d/2,b,0,2*Math.PI,!1),a.fill(),a.closePath()):(b=h(c/2,d/2,b),y(a,0,0,c,d,b,!0),a.fill()),a.globalCompositeOperation='source-in',a.drawImage(l,0,0,c,d),e)}function ao(q,m,i,b,h,a,c){var g=p(c[0]),f=p(c[1]),j=m+(g>a?g+a:a*2)*b,l=i+(f>a?f+a:a*2)*b,n=b*((a||0)+(c[0]<0?g:0)),o=b*((a||0)+(c[1]<0?f:0)),e,d;return e=k(j,l),!e?null:(d=e.getContext('2d'),h&&(d.shadowColor=h),a&&(d.shadowBlur=a*b),c&&(d.shadowOffsetX=c[0]*b,d.shadowOffsetY=c[1]*b),d.drawImage(q,n,o,m,i),{image:e,width:j/b,height:l/b})}function ae(m,o,l){var c=parseInt(m.toString().length*l),h=parseInt(l*2*m.length),j=k(c,h),g,i,e,f,b,d,n,a;if(!j)return null;g=j.getContext('2d'),g.fillStyle='#000',g.fillRect(0,0,c,h),Y(g,l+'px '+o,'#fff',m,0,0,0,0,[],'centre'),i=g.getImageData(0,0,c,h),e=i.width,f=i.height,a={min:{x:e,y:f},max:{x:-1,y:-1}};for(d=0;d<f;++d)for(b=0;b<e;++b)n=(d*e+b)*4,i.data[n+1]>0&&(b<a.min.x&&(a.min.x=b),b>a.max.x&&(a.max.x=b),d<a.min.y&&(a.min.y=d),d>a.max.y&&(a.max.y=d));return e!=c&&(a.min.x*=c/e,a.max.x*=c/e),f!=h&&(a.min.y*=c/f,a.max.y*=c/f),j=null,a}function Q(a){return\"'\"+a.replace(/(\\'|\\\")/g,'').replace(/\\s*,\\s*/g,\"', '\")+\"'\"}function t(b,d,a){a=a||c,a.addEventListener?a.addEventListener(b,d,!1):a.attachEvent('on'+b,d)}function am(b,d,a){a=a||c,a.removeEventListener?a.removeEventListener(b,d):a.detachEvent('on'+b,d)}function A(g,e,j,a,b){var l=b.imageScale,h,c,k,m,f,d;if(!e.complete)return t('load',function(){A(g,e,j,a,b)},e);if(!g.complete)return t('load',function(){A(g,e,j,a,b)},g);if(j&&!j.complete)return t('load',function(){A(g,e,j,a,b)},j);e.width=e.width,e.height=e.height,l&&(g.width=e.width*l,g.height=e.height*l),a.iw=g.width,a.ih=g.height,b.txtOpt&&(c=g,h=b.zoomMax*b.txtScale,f=a.iw*h,d=a.ih*h,f<e.naturalWidth||d<e.naturalHeight?(c=S(g,f,d),c&&(a.fimage=c)):(f=a.iw,d=a.ih,h=1),parseFloat(b.imageRadius)&&(a.image=a.fimage=g=at(a.image,b.imageRadius,f,d,h)),a.HasText()||(b.shadow&&(c=ao(a.image,f,d,h,b.shadow,b.shadowBlur,b.shadowOffset),c&&(a.fimage=c.image,a.w=c.width,a.h=c.height)),(b.bgColour||b.bgOutlineThickness)&&(k=b.bgColour=='tag'?i(a.a,'background-color'):b.bgColour,m=b.bgOutline=='tag'?i(a.a,'color'):b.bgOutline||b.textColour,f=a.fimage.width,d=a.fimage.height,b.outlineMethod=='colour'&&(c=W(a.fimage,f,d,h,k,b.bgOutlineThickness,a.outline.colour,b.padding,b.bgRadius,1),c&&(a.oimage=c.image)),c=W(a.fimage,f,d,h,k,b.bgOutlineThickness,m,b.padding,b.bgRadius),c&&(a.fimage=c.image,a.w=c.width,a.h=c.height)),b.outlineMethod=='size'&&(b.outlineIncrease>0?(a.iw+=2*b.outlineIncrease,a.ih+=2*b.outlineIncrease,f=h*a.iw,d=h*a.ih,c=S(a.fimage,f,d),a.oimage=c,a.fimage=H(a.fimage,a.oimage.width,a.oimage.height)):(f=h*(a.iw+2*b.outlineIncrease),d=h*(a.ih+2*b.outlineIncrease),c=S(a.fimage,f,d),a.oimage=H(c,a.fimage.width,a.fimage.height))))),a.alt=j,a.Init()}function i(a,d){var b=c.defaultView,e=d.replace(/\\-([a-z])/g,function(a){return a.charAt(1).toUpperCase()});return b&&b.getComputedStyle&&b.getComputedStyle(a,null).getPropertyValue(d)||a.currentStyle&&a.currentStyle[e]}function aj(c,d,e){var b=1,a;return d?b=1*(c.getAttribute(d)||e):(a=i(c,'font-size'))&&(b=a.indexOf('px')>-1&&a.replace('px','')*1||a.indexOf('pt')>-1&&a.replace('pt','')*1.25||a*3.3),b}function u(a){return a.target&&n(a.target.id)?a.target.id:a.srcElement.parentNode.id}function K(a,c){var b,d,e=parseInt(i(c,'width'))/c.width,f=parseInt(i(c,'height'))/c.height;return n(a.offsetX)?b={x:a.offsetX,y:a.offsetY}:(d=X(c.id),n(a.changedTouches)&&(a=a.changedTouches[0]),a.pageX&&(b={x:a.pageX-d.x,y:a.pageY-d.y})),b&&e&&f&&(b.x/=e,b.y/=f),b}function an(c){var d=c.target||c.fromElement.parentNode,b=a.tc[d.id];b&&(b.mx=b.my=-1,b.UnFreeze(),b.EndDrag())}function ad(e){var g,c=a,b,d,f=u(e);for(g in c.tc)b=c.tc[g],b.tttimer&&(clearTimeout(b.tttimer),b.tttimer=null);f&&c.tc[f]&&(b=c.tc[f],(d=K(e,b.canvas))&&(b.mx=d.x,b.my=d.y,b.Drag(e,d)),b.drawn=0)}function ap(b){var e=a,f=c.addEventListener?0:1,d=u(b);d&&b.button==f&&e.tc[d]&&e.tc[d].BeginDrag(b)}function aq(b){var f=a,g=c.addEventListener?0:1,e=u(b),d;e&&b.button==g&&f.tc[e]&&(d=f.tc[e],ad(b),!d.EndDrag()&&!d.touchState&&d.Clicked(b))}function ar(c){var e=u(c),b=e&&a.tc[e],d;b&&c.changedTouches&&(c.touches.length==1&&b.touchState==0?(b.touchState=1,b.BeginDrag(c),(d=K(c,b.canvas))&&(b.mx=d.x,b.my=d.y,b.drawn=0)):c.targetTouches.length==2&&b.pinchZoom?(b.touchState=3,b.EndDrag(),b.BeginPinch(c)):(b.EndDrag(),b.EndPinch(),b.touchState=0))}function ac(c){var d=u(c),b=d&&a.tc[d];if(b&&c.changedTouches){switch(b.touchState){case 1:b.Draw(),b.Clicked();break;break;case 2:b.EndDrag();break;case 3:b.EndPinch()}b.touchState=0}}function au(c){var f,e=a,b,d,g=u(c);for(f in e.tc)b=e.tc[f],b.tttimer&&(clearTimeout(b.tttimer),b.tttimer=null);if(b=g&&e.tc[g],b&&c.changedTouches&&b.touchState){switch(b.touchState){case 1:case 2:(d=K(c,b.canvas))&&(b.mx=d.x,b.my=d.y,b.Drag(c,d)&&(b.touchState=2));break;case 3:b.Pinch(c)}b.drawn=0}}function ab(b){var d=a,c=u(b);c&&d.tc[c]&&(b.cancelBubble=!0,b.returnValue=!1,b.preventDefault&&b.preventDefault(),d.tc[c].Wheel((b.wheelDelta||b.detail)>0))}function aw(d){var c,b=a;clearTimeout(b.scrollTimer);for(c in b.tc)b.tc[c].Pause();b.scrollTimer=setTimeout(function(){var b,c=a;for(b in c.tc)c.tc[b].Resume()},b.scrollPause)}function al(){Z(q())}function Z(b){var c=a.tc,d;a.NextFrame(a.interval),b=b||q();for(d in c)c[d].Draw(b)}function az(){requestAnimationFrame(Z)}function aA(a){setTimeout(al,a)}function X(f){var g=c.getElementById(f),b=g.getBoundingClientRect(),a=c.documentElement,d=c.body,e=window,h=e.pageXOffset||a.scrollLeft,i=e.pageYOffset||a.scrollTop,j=a.clientLeft||d.clientLeft,k=a.clientTop||d.clientTop;return{x:b.left+h-j,y:b.top+i-k}}function aI(a,b,d,e){var c=a.radius*a.z1/(a.z1+a.z2+b.z);return{x:b.x*c*d,y:b.y*c*e,z:b.z,w:(a.z1-b.z)/a.z2}}function V(a){this.e=a,this.br=0,this.line=[],this.text=[],this.original=a.innerText||a.textContent}F=V.prototype,F.Empty=function(){for(var a=0;a<this.text.length;++a)if(this.text[a].length)return!1;return!0},F.Lines=function(c){var e=c?1:0,b,d,a;c=c||this.e,b=c.childNodes,d=b.length;for(a=0;a<d;++a)b[a].nodeName=='BR'?(this.text.push(this.line.join(' ')),this.br=1):b[a].nodeType==3?this.br?(this.line=[b[a].nodeValue],this.br=0):this.line.push(b[a].nodeValue):this.Lines(b[a]);return e||this.br||this.text.push(this.line.join(' ')),this.text},F.SplitWidth=function(h,e,f,g){var c,b,a,d=[];e.font=g+'px '+f;for(c=0;c<this.text.length;++c){a=this.text[c].split(/\\s+/),this.line=[a[0]];for(b=1;b<a.length;++b)e.measureText(this.line.join(' ')+' '+a[b]).width>h?(d.push(this.line.join(' ')),this.line=[a[b]]):this.line.push(a[b]);d.push(this.line.join(' '))}return this.text=d};function _(a,b){this.ts=null,this.tc=a,this.tag=b,this.x=this.y=this.w=this.h=this.sc=1,this.z=0,this.pulse=1,this.pulsate=a.pulsateTo<1,this.colour=a.outlineColour,this.adash=~~a.outlineDash,this.agap=~~a.outlineDashSpace||this.adash,this.aspeed=a.outlineDashSpeed*1,this.colour=='tag'?this.colour=i(b.a,'color'):this.colour=='tagbg'&&(this.colour=i(b.a,'background-color')),this.Draw=this.pulsate?this.DrawPulsate:this.DrawSimple,this.radius=a.outlineRadius|0,this.SetMethod(a.outlineMethod,a.altImage)}f=_.prototype,f.SetMethod=function(a,d){var b={block:['PreDraw','DrawBlock'],colour:['PreDraw','DrawColour'],outline:['PostDraw','DrawOutline'],classic:['LastDraw','DrawOutline'],size:['PreDraw','DrawSize'],none:['LastDraw']},c=b[a]||b.outline;a=='none'?this.Draw=function(){return 1}:this.drawFunc=this[c[1]],this[c[0]]=this.Draw,d&&(this.RealPreDraw=this.PreDraw,this.PreDraw=this.DrawAlt)},f.Update=function(d,e,i,j,a,f,g,h){var b=this.tc.outlineOffset,c=2*b;this.x=a*d+g-b,this.y=a*e+h-b,this.w=a*i+c,this.h=a*j+c,this.sc=a,this.z=f},f.Ants=function(k){if(!this.adash)return;var b=this.adash,c=this.agap,a=this.aspeed,j=b+c,h=0,g=b,f=c,i=0,d=0,e;a&&(d=p(a)*(q()-this.ts)/50,a<0&&(d=864e4-d),a=~~d%j),a?(b>=a?(h=b-a,g=a):(f=j-a,i=c-f),e=[h,f,g,i]):e=[b,c],k.setLineDash(e)},f.DrawOutline=function(a,d,e,b,c,f){var g=h(this.radius,c/2,b/2);a.strokeStyle=f,this.Ants(a),y(a,d,e,b,c,g,!0)},f.DrawSize=function(i,n,m,l,k,j,a,h,g){var f=a.w,e=a.h,c,b,d;return this.pulsate?(a.image?d=(a.image.height+this.tc.outlineIncrease)/a.image.height:d=a.oscale,b=a.fimage||a.image,c=1+(d-1)*(1-this.pulse),a.h*=c,a.w*=c):b=a.oimage,a.alpha=1,a.Draw(i,h,g,b),a.h=e,a.w=f,1},f.DrawColour=function(d,h,i,e,f,g,a,b,c){return a.oimage?(this.pulse<1?(a.alpha=1-w(this.pulse,2),a.Draw(d,b,c,a.fimage),a.alpha=this.pulse):a.alpha=1,a.Draw(d,b,c,a.oimage),1):this[a.image?'DrawColourImage':'DrawColourText'](d,h,i,e,f,g,a,b,c)},f.DrawColourText=function(f,h,i,j,g,e,a,b,c){var d=a.colour;return a.colour=e,a.alpha=1,a.Draw(f,b,c),a.colour=d,1},f.DrawColourImage=function(a,q,p,o,n,m,i,r,l){var f=a.canvas,e=~~g(q,0),d=~~g(p,0),c=h(f.width-e,o)+.5|0,b=h(f.height-d,n)+.5|0,j;return v?(v.width=c,v.height=b):v=k(c,b),!v?this.SetMethod('outline'):(j=v.getContext('2d'),j.drawImage(f,e,d,c,b,0,0,c,b),a.clearRect(e,d,c,b),this.pulsate?i.alpha=1-w(this.pulse,2):i.alpha=1,i.Draw(a,r,l),a.setTransform(1,0,0,1,0,0),a.save(),a.beginPath(),a.rect(e,d,c,b),a.clip(),a.globalCompositeOperation='source-in',a.fillStyle=m,a.fillRect(e,d,c,b),a.restore(),a.globalAlpha=1,a.globalCompositeOperation='destination-over',a.drawImage(v,0,0,c,b,e,d,c,b),a.globalCompositeOperation='source-over',1)},f.DrawAlt=function(b,a,c,d,f,g){var e=this.RealPreDraw(b,a,c,d,f,g);return a.alt&&(a.DrawImage(b,c,d,a.alt),e=1),e},f.DrawBlock=function(a,d,e,b,c,f){var g=h(this.radius,c/2,b/2);a.fillStyle=f,y(a,d,e,b,c,g)},f.DrawSimple=function(a,b,c,d,e,f){var g=this.tc;return a.setTransform(1,0,0,1,0,0),a.strokeStyle=this.colour,a.lineWidth=g.outlineThickness,a.shadowBlur=a.shadowOffsetX=a.shadowOffsetY=0,a.globalAlpha=f?e:1,this.drawFunc(a,this.x,this.y,this.w,this.h,this.colour,b,c,d)},f.DrawPulsate=function(h,d,e,f){var g=q()-this.ts,c=this.tc,b=c.pulsateTo+(1-c.pulsateTo)*(.5+l(2*Math.PI*g/(1e3*c.pulsateTime))/2);return this.pulse=b=a.Smooth(1,b),this.DrawSimple(h,d,e,f,b,1)},f.Active=function(d,a,b){var c=a>=this.x&&b>=this.y&&a<=this.x+this.w&&b<=this.y+this.h;return c?this.ts=this.ts||q():this.ts=null,c},f.PreDraw=f.PostDraw=f.LastDraw=x;function J(a,h,c,b,e,f,g,d,i,j,k,l,m,n){this.tc=a,this.image=null,this.text=h,this.text_original=n,this.line_widths=[],this.title=c.title||null,this.a=c,this.position=new s(b[0],b[1],b[2]),this.x=this.y=this.z=0,this.w=e,this.h=f,this.colour=g||a.textColour,this.bgColour=d||a.bgColour,this.bgRadius=i|0,this.bgOutline=j||this.colour,this.bgOutlineThickness=k|0,this.textFont=l||a.textFont,this.padding=m|0,this.sc=this.alpha=1,this.weighted=!a.weight,this.outline=new _(a,this),this.audio=null}d=J.prototype,d.Init=function(b){var a=this.tc;this.textHeight=a.textHeight,this.HasText()?this.Measure(a.ctxt,a):(this.w=this.iw,this.h=this.ih),this.SetShadowColour=a.shadowAlpha?this.SetShadowColourAlpha:this.SetShadowColourFixed,this.SetDraw(a)},d.Draw=x,d.HasText=function(){return this.text&&this.text[0].length>0},d.EqualTo=function(a){var b=a.getElementsByTagName('img');return this.a.href!=a.href?0:b.length?this.image.src==b[0].src:(a.innerText||a.textContent)==this.text_original},d.SetImage=function(a){this.image=this.fimage=a},d.SetAudio=function(a){this.audio=a,this.audio.load()},d.SetDraw=function(a){this.Draw=this.fimage?a.ie>7?this.DrawImageIE:this.DrawImage:this.DrawText,a.noSelect&&(this.CheckActive=x)},d.MeasureText=function(d){var a,e=this.text.length,b=0,c;for(a=0;a<e;++a)this.line_widths[a]=c=d.measureText(this.text[a]).width,b=g(b,c);return b},d.Measure=function(e,a){var f=ae(this.text,this.textFont,this.textHeight),b,k,h,i,g,l,j,c,d;j=f?f.max.y+f.min.y:this.textHeight,e.font=this.font=this.textHeight+'px '+this.textFont,l=this.MeasureText(e),a.txtOpt&&(b=a.txtScale,k=b*this.textHeight,h=k+'px '+this.textFont,i=[b*a.shadowOffset[0],b*a.shadowOffset[1]],e.font=h,g=this.MeasureText(e),d=new O(this.text,h,g+b,b*j+b,g,this.line_widths,a.textAlign,a.textVAlign,b),this.image&&d.SetImage(this.image,this.iw,this.ih,a.imagePosition,a.imagePadding,a.imageAlign,a.imageVAlign,a.imageScale),c=d.Create(this.colour,this.bgColour,this.bgOutline,b*this.bgOutlineThickness,a.shadow,b*a.shadowBlur,i,b*this.padding,b*this.bgRadius),a.outlineMethod=='colour'?this.oimage=d.Create(this.outline.colour,this.bgColour,this.outline.colour,b*this.bgOutlineThickness,a.shadow,b*a.shadowBlur,i,b*this.padding,b*this.bgRadius):a.outlineMethod=='size'&&(f=ae(this.text,this.textFont,this.textHeight+a.outlineIncrease),k=f.max.y+f.min.y,h=b*(this.textHeight+a.outlineIncrease)+'px '+this.textFont,e.font=h,g=this.MeasureText(e),d=new O(this.text,h,g+b,b*k+b,g,this.line_widths,a.textAlign,a.textVAlign,b),this.image&&d.SetImage(this.image,this.iw+a.outlineIncrease,this.ih+a.outlineIncrease,a.imagePosition,a.imagePadding,a.imageAlign,a.imageVAlign,a.imageScale),this.oimage=d.Create(this.colour,this.bgColour,this.bgOutline,b*this.bgOutlineThickness,a.shadow,b*a.shadowBlur,i,b*this.padding,b*this.bgRadius),this.oscale=this.oimage.width/c.width,a.outlineIncrease>0?c=H(c,this.oimage.width,this.oimage.height):this.oimage=H(this.oimage,c.width,c.height)),c&&(this.fimage=c,l=this.fimage.width/b,j=this.fimage.height/b),this.SetDraw(a),a.txtOpt=!!this.fimage),this.h=j,this.w=l},d.SetFont=function(a,b,c,d){this.textFont=a,this.colour=b,this.bgColour=c,this.bgOutline=d,this.Measure(this.tc.ctxt,this.tc)},d.SetWeight=function(c){var b=this.tc,e=b.weightMode.split(/[, ]/),d,a,f=c.length;if(!this.HasText())return;this.weighted=!0;for(a=0;a<f;++a)d=e[a]||'size','both'==d?(this.Weight(c[a],b.ctxt,b,'size',b.min_weight[a],b.max_weight[a],a),this.Weight(c[a],b.ctxt,b,'colour',b.min_weight[a],b.max_weight[a],a)):this.Weight(c[a],b.ctxt,b,d,b.min_weight[a],b.max_weight[a],a);this.Measure(b.ctxt,b)},d.Weight=function(b,i,a,d,f,h,e){b=isNaN(b)?1:b;var c=(b-f)/(h-f);'colour'==d?this.colour=L(a,c,e):'bgcolour'==d?this.bgColour=L(a,c,e):'bgoutline'==d?this.bgOutline=L(a,c,e):'outline'==d?this.outline.colour=L(a,c,e):'size'==d&&(a.weightSizeMin>0&&a.weightSizeMax>a.weightSizeMin?this.textHeight=a.weightSize*(a.weightSizeMin+(a.weightSizeMax-a.weightSizeMin)*c):this.textHeight=g(1,b*a.weightSize))},d.SetShadowColourFixed=function(a,b,c){a.shadowColor=b},d.SetShadowColourAlpha=function(a,b,c){a.shadowColor=aE(b,c)},d.DrawText=function(a,h,i){var e=this.tc,g=this.x,f=this.y,c=this.sc,b,d;a.globalAlpha=this.alpha,a.fillStyle=this.colour,e.shadow&&this.SetShadowColour(a,e.shadow,this.alpha),a.font=this.font,g+=h/c,f+=i/c-this.h/2;for(b=0;b<this.text.length;++b)d=g,'right'==e.textAlign?d+=this.w/2-this.line_widths[b]:'centre'==e.textAlign?d-=this.line_widths[b]/2:d-=this.w/2,a.setTransform(c,0,0,c,c*d,c*f),a.fillText(this.text[b],0,0),f+=this.textHeight},d.DrawImage=function(b,i,k,l){var e=this.x,f=this.y,a=this.sc,j=l||this.fimage,c=this.w,d=this.h,g=this.alpha,h=this.shadow;b.globalAlpha=g,h&&this.SetShadowColour(b,h,g),e+=i/a-c/2,f+=k/a-d/2,b.setTransform(a,0,0,a,a*e,a*f),b.drawImage(j,0,0,c,d)},d.DrawImageIE=function(b,d,e){var c=this.fimage,a=this.sc,f=c.width=this.w*a,g=c.height=this.h*a,h=this.x*a+d-f/2,i=this.y*a+e-g/2;b.setTransform(1,0,0,1,0,0),b.globalAlpha=this.alpha,b.drawImage(c,h,i)},d.Calc=function(g,e){var a,b=this.tc,d=b.minBrightness,f=b.maxBrightness,c=b.max_radius;return a=g.xform(this.position),this.xformed=a,a=aI(b,a,b.stretchX,b.stretchY),this.x=a.x,this.y=a.y,this.z=a.z,this.sc=a.w,this.alpha=e*G(d+(f-d)*(c-this.z)/(2*c),0,1),this.xformed},d.UpdateActive=function(h,e,f){var a=this.outline,b=this.w,c=this.h,d=this.x-b/2,g=this.y-c/2;return a.Update(d,g,b,c,this.sc,this.z,e,f),a},d.CheckActive=function(a,d,e){var b=this.tc,c=this.UpdateActive(a,d,e);return c.Active(a,b.mx,b.my)?c:null},d.Clicked=function(f){var b=this.a,a=b.target,d=b.href,e;if(a!=''&&a!='_self'){if(self.frames[a])self.frames[a].document.location=d;else{try{if(top.frames[a]){top.frames[a].document.location=d;return}}catch(a){}window.open(d,a)}return}if(c.createEvent){if(e=c.createEvent('MouseEvents'),e.initMouseEvent('click',1,1,window,0,0,0,0,0,0,0,0,0,0,null),!b.dispatchEvent(e))return}else if(b.fireEvent)if(!b.fireEvent('onclick'))return;c.location=d},d.StopAudio=function(){this.audio&&this.playing&&this.audio.pause(),this.stopped=1,this.playing=0},d.PlayAudio=function(){if(e==='off'||this.tc.audioOff)return;if(!e&&!ag())return;var a=this.tc.audio,c=this.tc.gain,d='suspended',b;if(this.audio)if(this.track||(this.track=e.createMediaElementSource(this.audio),this.gain=e.createGain(),this.track.connect(this.gain),this.gain.connect(e.destination)),a=this.audio,c=this.gain,!a.paused)return 1;if(a){if(e.state==d&&e.resume(),e.state==d)return;return c.gain.value=h(2,g(0,this.tc.audioVolume*1)),a.currentTime=0,this.stopped=0,b=a.play(),b!==void 0&&b.then(a=>{this.stopped?this.audio.pause():this.playing=1}),1}};function a(f,o,k){var d,i,b=c.getElementById(f),l=['id','class','innerHTML'];if(!b)throw 0;if(n(window.G_vmlCanvasManager)&&(b=window.G_vmlCanvasManager.initElement(b),this.ie=parseFloat(navigator.appVersion.split('MSIE')[1])),b&&(!b.getContext||!b.getContext('2d').fillText)){i=c.createElement('DIV');for(d=0;d<l.length;++d)i[l[d]]=b[l[d]];throw b.parentNode.insertBefore(i,b),b.parentNode.removeChild(b),0}for(d in a.options)this[d]=k&&n(k[d])?k[d]:n(a[d])?a[d]:a.options[d];if(this.canvas=b,this.ctxt=b.getContext('2d'),this.z1=250/g(this.depth,.001),this.z2=this.z1/this.zoom,this.radius=h(b.height,b.width)*.0075,this.max_radius=100,this.max_weight=[],this.min_weight=[],this.textFont=this.textFont&&Q(this.textFont),this.textHeight*=1,this.imageRadius=this.imageRadius.toString(),this.pulsateTo=G(this.pulsateTo,0,1),this.minBrightness=G(this.minBrightness,0,1),this.maxBrightness=G(this.maxBrightness,this.minBrightness,1),this.ctxt.textBaseline='top',this.lx=(this.lock+'').indexOf('x')+1,this.ly=(this.lock+'').indexOf('y')+1,this.frozen=this.dx=this.dy=this.fixedAnim=this.touchState=0,this.fixedAlpha=1,this.source=o||f,this.repeatTags=h(64,~~this.repeatTags),this.minTags=h(200,~~this.minTags),~~this.scrollPause>0?a.scrollPause=~~this.scrollPause:this.scrollPause=0,this.minTags>0&&this.repeatTags<1&&(d=this.GetTags().length)&&(this.repeatTags=af(this.minTags/d)-1),this.transform=m.Identity(),this.startTime=this.time=q(),this.mx=this.my=-1,this.centreImage&&av(this),this.Animate=this.dragControl?this.AnimateDrag:this.AnimatePosition,this.animTiming=typeof a[this.animTiming]=='function'?a[this.animTiming]:a.Smooth,this.shadowBlur||this.shadowOffset[0]||this.shadowOffset[1]?(this.ctxt.shadowColor=this.shadow,this.shadow=this.ctxt.shadowColor,this.shadowAlpha=aD()):delete this.shadow,this.activeAudio===!1?e='off':this.activeAudio&&this.LoadAudio(),this.Load(),o&&this.hideTags&&function(b){a.loaded?b.HideTags():t('load',function(){b.HideTags()},window)}(this),this.yaw=this.initial?this.initial[0]*this.maxSpeed:0,this.pitch=this.initial?this.initial[1]*this.maxSpeed:0,this.tooltip?(this.ctitle=b.title,b.title='',this.tooltip=='native'?this.Tooltip=this.TooltipNative:(this.Tooltip=this.TooltipDiv,this.ttdiv||(this.ttdiv=c.createElement('div'),this.ttdiv.className=this.tooltipClass,this.ttdiv.style.position='absolute',this.ttdiv.style.zIndex=b.style.zIndex+1,t('mouseover',function(a){a.target.style.display='none'},this.ttdiv),c.body.appendChild(this.ttdiv)))):this.Tooltip=this.TooltipNone,!this.noMouse&&!j[f]){j[f]=[['mousemove',ad],['mouseout',an],['mouseup',aq],['touchstart',ar],['touchend',ac],['touchcancel',ac],['touchmove',au]],this.dragControl&&(j[f].push(['mousedown',ap]),j[f].push(['selectstart',x])),this.wheelZoom&&(j[f].push(['mousewheel',ab]),j[f].push(['DOMMouseScroll',ab])),this.scrollPause&&j[f].push(['scroll',aw,window]);for(d=0;d<j[f].length;++d)i=j[f][d],t(i[0],i[1],i[2]?i[2]:b)}a.started||(a.NextFrame=window.requestAnimationFrame?az:aA,a.interval=this.interval,a.NextFrame(this.interval),a.started=1)}b=a.prototype,b.SourceElements=function(){return c.querySelectorAll?c.querySelectorAll('#'+this.source):[c.getElementById(this.source)]},b.HideTags=function(){var b=this.SourceElements(),a;for(a=0;a<b.length;++a)b[a].style.display='none'},b.GetTags=function(){var e=this.SourceElements(),c,f=[],a,b,d;for(d=0;d<=this.repeatTags;++d)for(a=0;a<e.length;++a){c=e[a].getElementsByTagName('a');for(b=0;b<c.length;++b)f.push(c[b])}return f},b.Message=function(j){var g=[],a,f,b=j.split(''),d,e,h,i;for(a=0;a<b.length;++a)b[a]!=' '&&(f=a-b.length/2,d=c.createElement('A'),d.href='#',d.innerText=b[a],h=100*o(f/9),i=-100*l(f/9),e=new J(this,b[a],d,[h,0,i],2,18,'#000','#fff',0,0,0,'monospace',2,b[a]),e.Init(),g.push(e));return g},b.AddAudio=function(b,c){if(e==='off')return;var a=b.getElementsByTagName('audio');a.length&&(c.SetAudio(a[0]),this.hasAudio=1)},b.CreateTag=function(b){var e,c,a,f,d,g,h,j,k=[0,0,0],l;if('text'!=this.imageMode)if(e=b.getElementsByTagName('img'),e.length)if(c=new Image,c.src=e[0].src,!this.imageMode)return a=new J(this,\"\",b,k,0,0),a.SetImage(c),A(c,e[0],e[1],a,this),this.AddAudio(b,a),a;if('image'!=this.imageMode&&(d=new V(b),f=d.Lines(),d.Empty()?d=null:(g=this.textFont||Q(i(b,'font-family')),this.splitWidth&&(f=d.SplitWidth(this.splitWidth,this.ctxt,g,this.textHeight)),h=this.bgColour=='tag'?i(b,'background-color'):this.bgColour,j=this.bgOutline=='tag'?i(b,'color'):this.bgOutline)),d||c)return a=new J(this,f,b,k,2,this.textHeight+2,this.textColour||i(b,'color'),h,this.bgRadius,j,this.bgOutlineThickness,g,this.padding,d&&d.original),c?(a.SetImage(c),A(c,e[0],e[1],a,this)):a.Init(),this.AddAudio(b,a),a},b.UpdateTag=function(a,b){var c=this.textColour||i(b,'color'),d=this.textFont||Q(i(b,'font-family')),e=this.bgColour=='tag'?i(b,'background-color'):this.bgColour,f=this.bgOutline=='tag'?i(b,'color'):this.bgOutline;a.a=b,a.title=b.title,(a.colour!=c||a.textFont!=d||a.bgColour!=e||a.bgOutline!=f)&&a.SetFont(d,c,e,f)},b.Weight=function(d){var f=d.length,c,b,a,e=[],g,h=this.weightFrom?this.weightFrom.split(/[, ]/):[null],i=h.length;for(b=0;b<f;++b){e[b]=[];for(a=0;a<i;++a)c=aj(d[b].a,h[a],this.textHeight),(!this.max_weight[a]||c>this.max_weight[a])&&(this.max_weight[a]=c),(!this.min_weight[a]||c<this.min_weight[a])&&(this.min_weight[a]=c),e[b][a]=c}for(a=0;a<i;++a)this.max_weight[a]>this.min_weight[a]&&(g=1);if(g)for(b=0;b<f;++b)d[b].SetWeight(e[b])},b.Load=function(){var c=this.GetTags(),b=[],d,k,l,h,i,j,f,a,e=[],m={sphere:aB,vcylinder:ax,hcylinder:aH,vring:aG,hring:aF};if(c.length){e.length=c.length;for(a=0;a<c.length;++a)e[a]=a;this.shuffleTags&&ai(e),h=100*this.radiusX,i=100*this.radiusY,j=100*this.radiusZ,this.max_radius=g(h,g(i,j));for(a=0;a<c.length;++a)k=this.CreateTag(c[e[a]]),k&&b.push(k);this.weight&&this.Weight(b,!0),this.shapeArgs?this.shapeArgs[0]=b.length:(l=this.shape.toString().split(/[(),]/),d=l.shift(),typeof window[d]=='function'?this.shape=window[d]:this.shape=m[d]||m.sphere,this.shapeArgs=[b.length,h,i,j].concat(l)),f=this.shape.apply(this,this.shapeArgs),this.listLength=b.length;for(a=0;a<b.length;++a)b[a].position=new s(f[a][0],f[a][1],f[a][2])}this.noTagsMessage&&!b.length&&(a=this.imageMode&&this.imageMode!='both'?this.imageMode+' ':'',b=this.Message('No '+a+'tags')),this.taglist=b},b.Update=function(){var e=this.GetTags(),d=[],j=this.taglist,k,f=[],c=[],h,i,g,a,b;if(!this.shapeArgs)return this.Load();if(e.length){g=this.listLength=e.length,i=j.length;for(a=0;a<i;++a)d.push(j[a]),c.push(a);for(a=0;a<g;++a){for(b=0,k=0;b<i;++b)j[b].EqualTo(e[a])&&(this.UpdateTag(d[b],e[a]),k=c[b]=-1);k||f.push(a)}for(a=0,b=0;a<i;++a)c[b]==-1?c.splice(b,1):++b;if(c.length){for(ai(c);c.length&&f.length;)a=c.shift(),b=f.shift(),d[a]=this.CreateTag(e[b]);for(c.sort(function(a,b){return a-b});c.length;)d.splice(c.pop(),1)}for(b=d.length/(f.length+1),a=0;f.length;)d.splice(af(++a*b),0,this.CreateTag(e[f.shift()]));this.shapeArgs[0]=g=d.length,h=this.shape.apply(this,this.shapeArgs);for(a=0;a<g;++a)d[a].position=new s(h[a][0],h[a][1],h[a][2]);this.weight&&this.Weight(d)}this.taglist=d},b.SetShadow=function(a){a.shadowBlur=this.shadowBlur,a.shadowOffsetX=this.shadowOffset[0],a.shadowOffsetY=this.shadowOffset[1]},b.LoadAudio=function(){if(!e&&!ag())return;this.audio=c.createElement('audio'),this.audio.src=this.activeAudio,this.track=e.createMediaElementSource(this.audio),this.gain=e.createGain(),this.track.connect(this.gain),this.gain.connect(e.destination),this.hasAudio=1,P=function(a){e.resume(),c.removeEventListener('click',P)},c.addEventListener('click',P)},b.ShowAudioIcon=function(){var a=this.audioIconSize,c=this.canvas,d=this.ctxt,k=c.width-a-3,f=c.height-a-3,g=this.audioIconThickness,h='#000',i='#fff',j=this.audioIconDark,b=this.audioOff,l='suspended';if(!e)return;b||(b=e.state===l),this.audioIcon&&this.hasAudio&&($(b,d,a,k,f,g+1,j?i:h),$(b,d,a,k,f,g,j?h:i))},b.CheckAudioIcon=function(){var a=this.audioIconSize,b=this.canvas,c=this.audioIconThickness/2,d=b.width-a-3-c,e=b.height-a-3-c;if(this.audioIcon&&this.mx>=d&&this.my>=e)return!0},b.ToggleAudio=function(){var a=this.audioOff||e&&e.state==='suspended';a||this.currentAudio&&this.currentAudio.StopAudio(),this.audioOff=!a},b.Draw=function(s){if(this.paused)return;var l=this.canvas,i=l.width,j=l.height,q=0,p=(s-this.time)*a.interval/1e3,h=i/2+this.offsetX,g=j/2+this.offsetY,d=this.ctxt,b,f,c,o=-1,e=this.taglist,k=e.length,t=this.active&&this.active.tag,m='',u=this.frontSelect,r=this.centreFunc==x,n;if(this.time=s,this.frozen&&this.drawn)return this.Animate(i,j,p);n=this.AnimateFixed(),d.setTransform(1,0,0,1,0,0);for(c=0;c<k;++c)e[c].Calc(this.transform,this.fixedAlpha);if(e=ak(e,function(a,b){return b.z-a.z}),n&&this.fixedAnim.active)b=this.fixedAnim.tag.UpdateActive(d,h,g);else if(this.active=null,this.CheckAudioIcon())m='pointer';else{for(c=0;c<k;++c)f=this.mx>=0&&this.my>=0&&this.taglist[c].CheckActive(d,h,g),f&&f.sc>q&&(!u||f.z<=0)&&(b=f,o=c,b.tag=this.taglist[c],q=f.sc);this.active=b}this.txtOpt||this.shadow&&this.SetShadow(d),d.clearRect(0,0,i,j);for(c=0;c<k;++c){if(!r&&e[c].z<=0){try{this.centreFunc(d,i,j,h,g)}catch(a){alert(a),this.centreFunc=x}r=!0}b&&b.tag==e[c]&&b.PreDraw(d,e[c],h,g)||e[c].Draw(d,h,g),b&&b.tag==e[c]&&b.PostDraw(d)}this.freezeActive&&b?this.Freeze():(this.UnFreeze(),this.drawn=k==this.listLength),this.fixedCallback&&(this.fixedCallback(this,this.fixedCallbackTag),this.fixedCallback=null),n||this.Animate(i,j,p),b&&(b.LastDraw(d),b.tag!=t&&(this.currentAudio&&this.currentAudio!=b.tag&&this.currentAudio.StopAudio(),b.tag.PlayAudio()&&(this.currentAudio=b.tag)),m=this.activeCursor),l.style.cursor=m,this.Tooltip(b,this.taglist[o]),this.audioIcon&&this.ShowAudioIcon()},b.TooltipNone=function(){},b.TooltipNative=function(b,a){b?this.canvas.title=a&&a.title?a.title:'':this.canvas.title=this.ctitle},b.SetTTDiv=function(c,d){var a=this,b=a.ttdiv.style;c!=a.ttdiv.innerHTML&&(b.display='none'),a.ttdiv.innerHTML=c,d&&(d.title=a.ttdiv.innerHTML),b.display=='none'&&!a.tttimer&&(a.tttimer=setTimeout(function(){var c=X(a.canvas.id);b.display='block',b.left=c.x+a.mx+'px',b.top=c.y+a.my+24+'px',a.tttimer=null},a.tooltipDelay))},b.TooltipDiv=function(b,a){b&&a&&a.title?this.SetTTDiv(a.title,a):!b&&this.mx!=-1&&this.my!=-1&&this.ctitle.length?this.SetTTDiv(this.ctitle):this.ttdiv.style.display='none'},b.Transform=function(c,a,b){if(a||b){var d=o(a),e=l(a),f=o(b),g=l(b),h=new m([g,0,f,0,1,0,-f,0,g]),i=new m([1,0,0,0,e,-d,0,d,e]);c.transform=c.transform.mul(h.mul(i))}},b.AnimateFixed=function(){var a,b,c,d,e;return!!(this.fadeIn&&(b=q()-this.startTime,b>=this.fadeIn?(this.fadeIn=0,this.fixedAlpha=1):this.fixedAlpha=b/this.fadeIn),this.fixedAnim)&&(this.fixedAnim.transform||(this.fixedAnim.transform=this.transform),a=this.fixedAnim,b=q()-a.t0,c=a.angle,d,e=this.animTiming(a.t,b),this.transform=a.transform,b>=a.t?(this.fixedCallbackTag=a.tag,this.fixedCallback=a.cb,this.fixedAnim=this.yaw=this.pitch=0):c*=e,d=m.Rotation(c,a.axis),this.transform=this.transform.mul(d),this.fixedAnim!=0)},b.AnimatePosition=function(g,h,f){var a=this,d=a.mx,e=a.my,b,c;!a.frozen&&d>=0&&e>=0&&d<g&&e<h?(b=a.maxSpeed,c=a.reverse?-1:1,a.lx||(a.yaw=(d*2*b/g-b)*c*f),a.ly||(a.pitch=(e*2*b/h-b)*-c*f),a.initial=null):a.initial||(a.frozen&&!a.freezeDecel?a.yaw=a.pitch=0:a.Decel(a)),this.Transform(a,a.pitch,a.yaw)},b.AnimateDrag=function(d,e,c){var a=this,b=100*c*a.maxSpeed/a.max_radius/a.zoom;a.dx||a.dy?(a.lx||(a.yaw=a.dx*b/a.stretchX),a.ly||(a.pitch=a.dy*-b/a.stretchY),a.dx=a.dy=0,a.initial=null):a.initial||a.Decel(a),this.Transform(a,a.pitch,a.yaw)},b.Freeze=function(){this.frozen||(this.preFreeze=[this.yaw,this.pitch],this.frozen=1,this.drawn=0)},b.UnFreeze=function(){this.frozen&&(this.yaw=this.preFreeze[0],this.pitch=this.preFreeze[1],this.frozen=0)},b.Decel=function(a){var b=a.minSpeed,c=p(a.yaw),d=p(a.pitch);!a.lx&&c>b&&(a.yaw=c>a.z0?a.yaw*a.decel:0),!a.ly&&d>b&&(a.pitch=d>a.z0?a.pitch*a.decel:0)},b.Zoom=function(a){this.z2=this.z1*(1/a),this.drawn=0},b.Clicked=function(b){if(this.CheckAudioIcon()){this.ToggleAudio();return}var a=this.active;try{a&&a.tag&&(this.clickToFront===!1||this.clickToFront===null?a.tag.Clicked(b):this.TagToFront(a.tag,this.clickToFront,function(){a.tag.Clicked(b)},!0))}catch(a){}},b.Wheel=function(a){var b=this.zoom+this.zoomStep*(a?1:-1);this.zoom=h(this.zoomMax,g(this.zoomMin,b)),this.Zoom(this.zoom)},b.BeginDrag=function(a){this.down=K(a,this.canvas),a.cancelBubble=!0,a.returnValue=!1,a.preventDefault&&a.preventDefault()},b.Drag=function(e,a){if(this.dragControl&&this.down){var d=this.dragThreshold*this.dragThreshold,b=a.x-this.down.x,c=a.y-this.down.y;(this.dragging||b*b+c*c>d)&&(this.dx=b,this.dy=c,this.dragging=1,this.down=a)}return this.dragging},b.EndDrag=function(){var a=this.dragging;return this.dragging=this.down=null,a};function ah(a){var b=a.targetTouches[0],c=a.targetTouches[1];return E(w(c.pageX-b.pageX,2)+w(c.pageY-b.pageY,2))}b.BeginPinch=function(a){this.pinched=[ah(a),this.zoom],a.preventDefault&&a.preventDefault()},b.Pinch=function(d){var b,c,a=this.pinched;if(!a)return;c=ah(d),b=a[1]*c/a[0],this.zoom=h(this.zoomMax,g(this.zoomMin,b)),this.Zoom(this.zoom)},b.EndPinch=function(a){this.pinched=null},b.Pause=function(){this.paused=!0},b.Resume=function(){this.paused=!1},b.SetSpeed=function(a){this.initial=a,this.yaw=a[0]*this.maxSpeed,this.pitch=a[1]*this.maxSpeed},b.FindTag=function(a){if(!n(a))return null;if(n(a.index)&&(a=a.index),!B(a))return this.taglist[a];var c,d,b;n(a.id)?(c='id',d=a.id):n(a.text)&&(c='innerText',d=a.text);for(b=0;b<this.taglist.length;++b)if(this.taglist[b].a[c]==d)return this.taglist[b]},b.RotateTag=function(a,h,i,j,f,g){var b=a.Calc(this.transform,1),c=new s(b.x,b.y,b.z),d=ay(i,h),e=c.angle(d),k=c.cross(d).unit();e==0?(this.fixedCallbackTag=a,this.fixedCallback=f):this.fixedAnim={angle:-e,axis:k,t:j,t0:q(),cb:f,tag:a,active:g}},b.TagToFront=function(a,b,c,d){this.RotateTag(a,0,0,b,c,d)},b.Volume=function(a){this.audioVolume=a*1},a.Start=function(b,c,d){a.Delete(b),a.tc[b]=new a(b,c,d)};function N(c,b){a.tc[b]&&a.tc[b][c]()}a.Linear=function(a,b){return b/a},a.Smooth=function(a,b){return.5-l(b*Math.PI/a)/2},a.Pause=function(a){N('Pause',a)},a.Resume=function(a){N('Resume',a)},a.Reload=function(a){N('Load',a)},a.Update=function(a){N('Update',a)},a.SetSpeed=function(c,b){return!!(B(b)&&a.tc[c]&&!isNaN(b[0])&&!isNaN(b[1]))&&(a.tc[c].SetSpeed(b),!0)},a.TagToFront=function(c,b){return!!B(b)&&(b.lat=b.lng=0,a.RotateTag(c,b))},a.RotateTag=function(c,b){if(B(b)&&a.tc[c]){isNaN(b.time)&&(b.time=500);var d=a.tc[c].FindTag(b);if(d)return a.tc[c].RotateTag(d,b.lat,b.lng,b.time,b.callback,b.active),!0}return!1},a.Delete=function(b){var d,e;if(j[b])if(e=c.getElementById(b),e)for(d=0;d<j[b].length;++d)am(j[b][d][0],j[b][d][1],e);delete j[b],delete a.tc[b]},a.tc={},a.options={z1:2e4,z2:2e4,z0:2e-4,freezeActive:!1,freezeDecel:!1,activeCursor:'pointer',pulsateTo:1,pulsateTime:3,reverse:!1,depth:.5,maxSpeed:.05,minSpeed:0,decel:.95,interval:20,minBrightness:.1,maxBrightness:1,outlineColour:'#ffff99',outlineThickness:2,outlineOffset:5,outlineMethod:'outline',outlineRadius:0,textColour:'#ff99ff',textHeight:15,textFont:'Helvetica, Arial, sans-serif',shadow:'#000',shadowBlur:0,shadowOffset:[0,0],initial:null,hideTags:!0,zoom:1,weight:!1,weightMode:'size',weightFrom:null,weightSize:1,weightSizeMin:null,weightSizeMax:null,weightGradient:{0:'#f00',0.33:'#ff0',0.66:'#0f0',1:'#00f'},txtOpt:!0,txtScale:2,frontSelect:!1,wheelZoom:!0,zoomMin:.3,zoomMax:3,zoomStep:.05,shape:'sphere',lock:null,tooltip:null,tooltipDelay:300,tooltipClass:'tctooltip',radiusX:1,radiusY:1,radiusZ:1,stretchX:1,stretchY:1,offsetX:0,offsetY:0,shuffleTags:!1,noSelect:!1,noMouse:!1,imageScale:1,paused:!1,dragControl:!1,dragThreshold:4,centreFunc:x,splitWidth:0,animTiming:'Smooth',clickToFront:!1,fadeIn:0,padding:0,bgColour:null,bgRadius:0,bgOutline:null,bgOutlineThickness:0,outlineIncrease:4,textAlign:'centre',textVAlign:'middle',imageMode:null,imagePosition:null,imagePadding:2,imageAlign:'centre',imageVAlign:'middle',noTagsMessage:!0,centreImage:null,pinchZoom:!1,repeatTags:0,minTags:0,imageRadius:0,scrollPause:!1,outlineDash:0,outlineDashSpace:0,outlineDashSpeed:1,activeAudio:'',audioVolume:1,audioIcon:1,audioIconSize:20,audioIconThickness:2,audioIconDark:0,altImage:0};for(r in a.options)a[r]=a.options[r];window.TagCanvas=a,t('load',function(){a.loaded=1},window)})()","Magefan_Blog/js/lazyload.js":"/**\n * Copyright \u00a9 Magefan ([email protected]). All rights reserved.\n * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).\n *\n * Glory to Ukraine! Glory to the heroes!\n */\n\n/**\n * Posts autload\n */\n define([\n    'domReady!',\n    'jquery'\n], function (domReady, $) {\n    'use strict';\n\n    var Lazyload = function (options) {\n\n        var that = this;\n\n        /**\n         * Lazyload default options.\n         * @type {Object}\n         */\n        that.defaults = {\n            expires: null,\n            path: '/',\n            domain: null,\n            secure: false,\n            lifetime: null\n        };\n\n        /**\n         * Init options\n         * @type {Object}\n         */\n        that.opt = $.extend(that.default, options);\n\n        /**\n         * Load new content\n         */\n        function startLoading()\n        {\n            if (that.opt.current_page < that.opt.last_page && !that.loading) {\n                that.loading = true;\n                $('.mfblog-show-onload').show();\n                $('.mfblog-hide-onload').hide();\n\n                $.ajax({\n                    \"url\": that.opt.page_url[that.opt.current_page + 1],\n                    \"cache\": true,\n                    \"success\": function (data) {\n                        var $html = $(data);\n                        var ws = that.opt.list_wrapper;\n                        var $nw = $html.find(ws);\n                        if ($nw.length) {\n                            $(ws).append($nw.html());\n                            that.opt.current_page++;\n                        }\n\n                        if ($html.find('[data-original]').length) {\n                            require(['jquery', 'Magefan_Blog/js/lib/mfblogunveil', 'domReady!'], function ($) {\n                                $('.mfblogunveil').mfblogunveil();\n                            });\n                        }\n\n                        endLoading();\n\n                    },\n                    \"fail\": function (xhr, ajaxOptions, thrownError) {\n                        console.log(thrownError);\n                        endLoading();\n                    }\n                });\n            }\n        }\n\n        /**\n         * On loading end\n         */\n        function endLoading()\n        {\n            that.loading = false;\n            $('.mfblog-show-onload').hide();\n            if (that.opt.current_page < that.opt.last_page) {\n                $('.mfblog-hide-onload').show();\n            }\n        }\n\n        /* Is not loading now */\n        endLoading();\n\n        /* If auto trigger enabled */\n        if (that.opt.auto_trigger) {\n            var $w = $(window);\n            $w.scroll(function () {\n                if ($w.scrollTop() + $w.height() >= $(that.opt.trigger_element).offset().top - that.opt.padding) {\n                    startLoading();\n                }\n            });\n        }\n\n        /* On trigger element click */\n        if (that.opt.trigger_element) {\n            $(that.opt.trigger_element).click(function () {\n                startLoading();\n            });\n        }\n    };\n\n    return function (options) {\n        new Lazyload(options)\n    };\n\n});\n","Magefan_Blog/js/jquery.tagcanvas.min.js":"/**\n * Copyright (C) 2010-2015 Graham Breach\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Lesser General Public License for more details.\n * \n * You should have received a copy of the GNU Lesser General Public License\n * along with this program.  If not, see <http://www.gnu.org/licenses/>.\n */\n/**\n * jQuery.tagcanvas 2.9\n * For more information, please contact <[email protected]>\n */\n(function(ap){var M,K,L=Math.abs,ah=Math.sin,w=Math.cos,s=Math.max,aE=Math.min,aq=Math.ceil,F=Math.sqrt,au=Math.pow,h={},l={},m={0:\"0,\",1:\"17,\",2:\"34,\",3:\"51,\",4:\"68,\",5:\"85,\",6:\"102,\",7:\"119,\",8:\"136,\",9:\"153,\",a:\"170,\",A:\"170,\",b:\"187,\",B:\"187,\",c:\"204,\",C:\"204,\",d:\"221,\",D:\"221,\",e:\"238,\",E:\"238,\",f:\"255,\",F:\"255,\"},x,c,Q,aG,H,aH,aa,C=document,p,b={};for(M=0;M<256;++M){K=M.toString(16);if(M<16){K=\"0\"+K}l[K]=l[K.toUpperCase()]=M.toString()+\",\"}function ai(i){return typeof i!=\"undefined\"}function I(i){return typeof i==\"object\"&&i!=null}function aw(i,j,aI){return isNaN(i)?aI:aE(aI,s(j,i))}function aB(){return false}function G(){return new Date().valueOf()}function A(aI,aL){var j=[],aJ=aI.length,aK;for(aK=0;aK<aJ;++aK){j.push(aI[aK])}j.sort(aL);return j}function an(j){var aJ=j.length-1,aI,aK;while(aJ){aK=~~(Math.random()*aJ);aI=j[aJ];j[aJ]=j[aK];j[aK]=aI;--aJ}}function ae(i,aI,j){this.x=i;this.y=aI;this.z=j}H=ae.prototype;H.length=function(){return F(this.x*this.x+this.y*this.y+this.z*this.z)};H.dot=function(i){return this.x*i.x+this.y*i.y+this.z*i.z};H.cross=function(j){var i=this.y*j.z-this.z*j.y,aJ=this.z*j.x-this.x*j.z,aI=this.x*j.y-this.y*j.x;return new ae(i,aJ,aI)};H.angle=function(j){var i=this.dot(j),aI;if(i==0){return Math.PI/2}aI=i/(this.length()*j.length());if(aI>=1){return 0}if(aI<=-1){return Math.PI}return Math.acos(aI)};H.unit=function(){var i=this.length();return new ae(this.x/i,this.y/i,this.z/i)};function aj(aI,j){j=j*Math.PI/180;aI=aI*Math.PI/180;var i=ah(aI)*w(j),aK=-ah(j),aJ=-w(aI)*w(j);return new ae(i,aK,aJ)}function R(i){this[1]={1:i[0],2:i[1],3:i[2]};this[2]={1:i[3],2:i[4],3:i[5]};this[3]={1:i[6],2:i[7],3:i[8]}}aG=R.prototype;R.Identity=function(){return new R([1,0,0,0,1,0,0,0,1])};R.Rotation=function(aJ,i){var j=ah(aJ),aI=w(aJ),aK=1-aI;return new R([aI+au(i.x,2)*aK,i.x*i.y*aK-i.z*j,i.x*i.z*aK+i.y*j,i.y*i.x*aK+i.z*j,aI+au(i.y,2)*aK,i.y*i.z*aK-i.x*j,i.z*i.x*aK-i.y*j,i.z*i.y*aK+i.x*j,aI+au(i.z,2)*aK])};aG.mul=function(aI){var aJ=[],aM,aL,aK=(aI.xform?1:0);for(aM=1;aM<=3;++aM){for(aL=1;aL<=3;++aL){if(aK){aJ.push(this[aM][1]*aI[1][aL]+this[aM][2]*aI[2][aL]+this[aM][3]*aI[3][aL])}else{aJ.push(this[aM][aL]*aI)}}}return new R(aJ)};aG.xform=function(aI){var j={},i=aI.x,aK=aI.y,aJ=aI.z;j.x=i*this[1][1]+aK*this[2][1]+aJ*this[3][1];j.y=i*this[1][2]+aK*this[2][2]+aJ*this[3][2];j.z=i*this[1][3]+aK*this[2][3]+aJ*this[3][3];return j};function q(aJ,aL,aR,aO,aQ){var aM,aP,j,aN,aS=[],aI=2/aJ,aK;aK=Math.PI*(3-F(5)+(parseFloat(aQ)?parseFloat(aQ):0));for(aM=0;aM<aJ;++aM){aP=aM*aI-1+(aI/2);j=F(1-aP*aP);aN=aM*aK;aS.push([w(aN)*j*aL,aP*aR,ah(aN)*j*aO])}return aS}function W(aK,aI,aN,aU,aR,aT){var aS,aV=[],aJ=2/aK,aL,aQ,aP,aO,aM;aL=Math.PI*(3-F(5)+(parseFloat(aT)?parseFloat(aT):0));for(aQ=0;aQ<aK;++aQ){aP=aQ*aJ-1+(aJ/2);aS=aQ*aL;aO=w(aS);aM=ah(aS);aV.push(aI?[aP*aN,aO*aU,aM*aR]:[aO*aN,aP*aU,aM*aR])}return aV}function N(aI,aJ,aM,aS,aQ,aO){var aR,aT=[],aK=Math.PI*2/aJ,aP,aN,aL;for(aP=0;aP<aJ;++aP){aR=aP*aK;aN=w(aR);aL=ah(aR);aT.push(aI?[aO*aM,aN*aS,aL*aQ]:[aN*aM,aO*aS,aL*aQ])}return aT}function am(aK,j,aI,aJ,i){return W(aK,0,j,aI,aJ,i)}function av(aK,j,aI,aJ,i){return W(aK,1,j,aI,aJ,i)}function d(aK,i,j,aI,aJ){aJ=isNaN(aJ)?0:aJ*1;return N(0,aK,i,j,aI,aJ)}function n(aK,i,j,aI,aJ){aJ=isNaN(aJ)?0:aJ*1;return N(1,aK,i,j,aI,aJ)}function ao(aI){var j=new Image;j.onload=function(){var aJ=j.width/2,i=j.height/2;aI.centreFunc=function(aO,aL,aM,aK,aN){aO.setTransform(1,0,0,1,0,0);aO.globalAlpha=1;aO.drawImage(j,aK-aJ,aN-i)}};j.src=aI.centreImage}function U(aL,i){var aK=aL,aJ,aI,j=(i*1).toPrecision(3)+\")\";if(aL[0]===\"#\"){if(!h[aL]){if(aL.length===4){h[aL]=\"rgba(\"+m[aL[1]]+m[aL[2]]+m[aL[3]]}else{h[aL]=\"rgba(\"+l[aL.substr(1,2)]+l[aL.substr(3,2)]+l[aL.substr(5,2)]}}aK=h[aL]+j}else{if(aL.substr(0,4)===\"rgb(\"||aL.substr(0,4)===\"hsl(\"){aK=(aL.replace(\"(\",\"a(\").replace(\")\",\",\"+j))}else{if(aL.substr(0,5)===\"rgba(\"||aL.substr(0,5)===\"hsla(\"){aJ=aL.lastIndexOf(\",\")+1,aI=aL.indexOf(\")\");i*=parseFloat(aL.substring(aJ,aI));aK=aL.substr(0,aJ)+i.toPrecision(3)+\")\"}}}return aK}function P(i,j){if(window.G_vmlCanvasManager){return null}var aI=C.createElement(\"canvas\");aI.width=i;aI.height=j;return aI}function al(){var j=P(3,3),aJ,aI;if(!j){return false}aJ=j.getContext(\"2d\");aJ.strokeStyle=\"#000\";aJ.shadowColor=\"#fff\";aJ.shadowBlur=3;aJ.globalAlpha=0;aJ.strokeRect(2,2,2,2);aJ.globalAlpha=1;aI=aJ.getImageData(2,2,1,1);j=null;return(aI.data[0]>0)}function ak(aM,j,aL,aK){var aJ=aM.createLinearGradient(0,0,j,0),aI;for(aI in aK){aJ.addColorStop(1-aI,aK[aI])}aM.fillStyle=aJ;aM.fillRect(0,aL,j,1)}function k(aK,aI,j){var aJ=1024,aO=1,aN=aK.weightGradient,aM,aQ,aL,aP;if(aK.gCanvas){aQ=aK.gCanvas.getContext(\"2d\");aO=aK.gCanvas.height}else{if(I(aN[0])){aO=aN.length}else{aN=[aN]}aK.gCanvas=aM=P(aJ,aO);if(!aM){return null}aQ=aM.getContext(\"2d\");for(aL=0;aL<aO;++aL){ak(aQ,aJ,aL,aN[aL])}}j=s(aE(j||0,aO-1),0);aP=aQ.getImageData(~~((aJ-1)*aI),j,1,1).data;return\"rgba(\"+aP[0]+\",\"+aP[1]+\",\"+aP[2]+\",\"+(aP[3]/255)+\")\"}function X(aR,aK,j,aV,aU,aS,aQ,aM,aJ,aT,aL,aP){var aO=aU+(aM||0)+(aJ.length&&aJ[0]<0?L(aJ[0]):0),aI=aS+(aM||0)+(aJ.length&&aJ[1]<0?L(aJ[1]):0),aN,aW;aR.font=aK;aR.textBaseline=\"top\";aR.fillStyle=j;aQ&&(aR.shadowColor=aQ);aM&&(aR.shadowBlur=aM);aJ.length&&(aR.shadowOffsetX=aJ[0],aR.shadowOffsetY=aJ[1]);for(aN=0;aN<aV.length;++aN){aW=0;if(aL){if(\"right\"==aP){aW=aT-aL[aN]}else{if(\"centre\"==aP){aW=(aT-aL[aN])/2}}}aR.fillText(aV[aN],aO+aW,aI);aI+=parseInt(aK)}}function at(aM,i,aL,j,aJ,aK,aI){if(aK){aM.beginPath();aM.moveTo(i,aL+aJ-aK);aM.arcTo(i,aL,i+aK,aL,aK);aM.arcTo(i+j,aL,i+j,aL+aK,aK);aM.arcTo(i+j,aL+aJ,i+j-aK,aL+aJ,aK);aM.arcTo(i,aL+aJ,i,aL+aJ-aK,aK);aM.closePath();aM[aI?\"stroke\":\"fill\"]()}else{aM[aI?\"strokeRect\":\"fillRect\"](i,aL,j,aJ)}}function g(aO,i,aM,aJ,aN,aI,aK,aL,j){this.strings=aO;this.font=i;this.width=aM;this.height=aJ;this.maxWidth=aN;this.stringWidths=aI;this.align=aK;this.valign=aL;this.scale=j}aa=g.prototype;aa.SetImage=function(aL,j,aJ,i,aK,aN,aI,aM){this.image=aL;this.iwidth=j*this.scale;this.iheight=aJ*this.scale;this.ipos=i;this.ipad=aK*this.scale;this.iscale=aM;this.ialign=aN;this.ivalign=aI};aa.Align=function(j,aI,i){var aJ=0;if(i==\"right\"||i==\"bottom\"){aJ=aI-j}else{if(i!=\"left\"&&i!=\"top\"){aJ=(aI-j)/2}}return aJ};aa.Create=function(aV,a1,aU,a2,a0,aZ,i,aY,aQ){var aO,aM,aW,a7,a4,a3,aK,aJ,aI,j,aN,aL,aP,aX,aT,a6=L(i[0]),a5=L(i[1]),aR,aS;aY=s(aY,a6+aZ,a5+aZ);a4=2*(aY+a2);aK=2*(aY+a2);aM=this.width+a4;aW=this.height+aK;aI=j=aY+a2;if(this.image){aN=aL=aY+a2;aP=this.iwidth;aX=this.iheight;if(this.ipos==\"top\"||this.ipos==\"bottom\"){if(aP<this.width){aN+=this.Align(aP,this.width,this.ialign)}else{aI+=this.Align(this.width,aP,this.align)}if(this.ipos==\"top\"){j+=aX+this.ipad}else{aL+=this.height+this.ipad}aM=s(aM,aP+a4);aW+=aX+this.ipad}else{if(aX<this.height){aL+=this.Align(aX,this.height,this.ivalign)}else{j+=this.Align(this.height,aX,this.valign)}if(this.ipos==\"right\"){aN+=this.width+this.ipad}else{aI+=aP+this.ipad}aM+=aP+this.ipad;aW=s(aW,aX+aK)}}aO=P(aM,aW);if(!aO){return null}a4=aK=a2/2;a3=aM-a2;aJ=aW-a2;aT=aE(aQ,a3/2,aJ/2);a7=aO.getContext(\"2d\");if(a1){a7.fillStyle=a1;at(a7,a4,aK,a3,aJ,aT)}if(a2){a7.strokeStyle=aU;a7.lineWidth=a2;at(a7,a4,aK,a3,aJ,aT,true)}if(aZ||a6||a5){aR=P(aM,aW);if(aR){aS=a7;a7=aR.getContext(\"2d\")}}X(a7,this.font,aV,this.strings,aI,j,0,0,[],this.maxWidth,this.stringWidths,this.align);if(this.image){a7.drawImage(this.image,aN,aL,aP,aX)}if(aS){a7=aS;a0&&(a7.shadowColor=a0);aZ&&(a7.shadowBlur=aZ);a7.shadowOffsetX=i[0];a7.shadowOffsetY=i[1];a7.drawImage(aR,0,0)}return aO};function v(aJ,j,aK){var aI=P(j,aK),aL;if(!aI){return null}aL=aI.getContext(\"2d\");aL.drawImage(aJ,(j-aJ.width)/2,(aK-aJ.height)/2);return aI}function ay(aJ,j,aK){var aI=P(j,aK),aL;if(!aI){return null}aL=aI.getContext(\"2d\");aL.drawImage(aJ,0,0,j,aK);return aI}function aD(aV,aQ,aW,a0,aR,aP,aN,aT,aL,aM){var aJ=aQ+((2*aT)+aP)*a0,aS=aW+((2*aT)+aP)*a0,aK=P(aJ,aS),aZ,aY,aI,aX,j,a1,aU,aO;if(!aK){return null}aP*=a0;aL*=a0;aY=aI=aP/2;aX=aJ-aP;j=aS-aP;aT=(aT*a0)+aY;aZ=aK.getContext(\"2d\");aO=aE(aL,aX/2,j/2);if(aR){aZ.fillStyle=aR;at(aZ,aY,aI,aX,j,aO)}if(aP){aZ.strokeStyle=aN;aZ.lineWidth=aP;at(aZ,aY,aI,aX,j,aO,true)}if(aM){a1=P(aJ,aS);aU=a1.getContext(\"2d\");aU.drawImage(aV,aT,aT,aQ,aW);aU.globalCompositeOperation=\"source-in\";aU.fillStyle=aN;aU.fillRect(0,0,aJ,aS);aU.globalCompositeOperation=\"destination-over\";aU.drawImage(aK,0,0);aU.globalCompositeOperation=\"source-over\";aZ.drawImage(a1,0,0)}else{aZ.drawImage(aV,aT,aT,aV.width,aV.height)}return{image:aK,width:aJ/a0,height:aS/a0}}function ar(aL,j,aK,aO,aP){var aM,aN,aI=parseFloat(j),aJ=s(aK,aO);aM=P(aK,aO);if(!aM){return null}if(j.indexOf(\"%\")>0){aI=aJ*aI/100}else{aI=aI*aP}aN=aM.getContext(\"2d\");aN.globalCompositeOperation=\"source-over\";aN.fillStyle=\"#fff\";if(aI>=aJ/2){aI=aE(aK,aO)/2;aN.beginPath();aN.moveTo(aK/2,aO/2);aN.arc(aK/2,aO/2,aI,0,2*Math.PI,false);aN.fill();aN.closePath()}else{aI=aE(aK/2,aO/2,aI);at(aN,0,0,aK,aO,aI,true);aN.fill()}aN.globalCompositeOperation=\"source-in\";aN.drawImage(aL,0,0,aK,aO);return aM}function Z(aO,aU,aQ,aK,aS,aT,aJ){var aV=L(aJ[0]),aP=L(aJ[1]),aL=aU+(aV>aT?aV+aT:aT*2)*aK,j=aQ+(aP>aT?aP+aT:aT*2)*aK,aN=aK*((aT||0)+(aJ[0]<0?aV:0)),aI=aK*((aT||0)+(aJ[1]<0?aP:0)),aM,aR;aM=P(aL,j);if(!aM){return null}aR=aM.getContext(\"2d\");aS&&(aR.shadowColor=aS);aT&&(aR.shadowBlur=aT*aK);aJ&&(aR.shadowOffsetX=aJ[0]*aK,aR.shadowOffsetY=aJ[1]*aK);aR.drawImage(aO,aN,aI,aU,aQ);return{image:aM,width:aL/aK,height:j/aK}}function t(aU,aM,aS){var aT=parseInt(aU.toString().length*aS),aL=parseInt(aS*2*aU.length),aJ=P(aT,aL),aP,j,aK,aO,aR,aQ,aI,aN;if(!aJ){return null}aP=aJ.getContext(\"2d\");aP.fillStyle=\"#000\";aP.fillRect(0,0,aT,aL);X(aP,aS+\"px \"+aM,\"#fff\",aU,0,0,0,0,[],\"centre\");j=aP.getImageData(0,0,aT,aL);aK=j.width;aO=j.height;aN={min:{x:aK,y:aO},max:{x:-1,y:-1}};for(aQ=0;aQ<aO;++aQ){for(aR=0;aR<aK;++aR){aI=(aQ*aK+aR)*4;if(j.data[aI+1]>0){if(aR<aN.min.x){aN.min.x=aR}if(aR>aN.max.x){aN.max.x=aR}if(aQ<aN.min.y){aN.min.y=aQ}if(aQ>aN.max.y){aN.max.y=aQ}}}}if(aK!=aT){aN.min.x*=(aT/aK);aN.max.x*=(aT/aK)}if(aO!=aL){aN.min.y*=(aT/aO);aN.max.y*=(aT/aO)}aJ=null;return aN}function o(i){return\"'\"+i.replace(/(\\'|\\\")/g,\"\").replace(/\\s*,\\s*/g,\"', '\")+\"'\"}function ad(i,j,aI){aI=aI||C;if(aI.addEventListener){aI.addEventListener(i,j,false)}else{aI.attachEvent(\"on\"+i,j)}}function a(i,j,aI){aI=aI||C;if(aI.removeEventListener){aI.removeEventListener(i,j)}else{aI.detachEvent(\"on\"+i,j)}}function ax(aM,aI,aQ,aL){var aR=aL.imageScale,aO,aJ,aN,j,aK,aP;if(!aI.complete){return ad(\"load\",function(){ax(aM,aI,aQ,aL)},aI)}if(!aM.complete){return ad(\"load\",function(){ax(aM,aI,aQ,aL)},aM)}aI.width=aI.width;aI.height=aI.height;if(aR){aM.width=aI.width*aR;aM.height=aI.height*aR}aQ.iw=aM.width;aQ.ih=aM.height;if(aL.txtOpt){aJ=aM;aO=aL.zoomMax*aL.txtScale;aK=aQ.iw*aO;aP=aQ.ih*aO;if(aK<aI.naturalWidth||aP<aI.naturalHeight){aJ=ay(aM,aK,aP);if(aJ){aQ.fimage=aJ}}else{aK=aQ.iw;aP=aQ.ih;aO=1}if(parseFloat(aL.imageRadius)){aQ.image=aQ.fimage=aM=ar(aQ.image,aL.imageRadius,aK,aP,aO)}if(!aQ.HasText()){if(aL.shadow){aJ=Z(aQ.image,aK,aP,aO,aL.shadow,aL.shadowBlur,aL.shadowOffset);if(aJ){aQ.fimage=aJ.image;aQ.w=aJ.width;aQ.h=aJ.height}}if(aL.bgColour||aL.bgOutlineThickness){aN=aL.bgColour==\"tag\"?Y(aQ.a,\"background-color\"):aL.bgColour;j=aL.bgOutline==\"tag\"?Y(aQ.a,\"color\"):(aL.bgOutline||aL.textColour);aK=aQ.fimage.width;aP=aQ.fimage.height;if(aL.outlineMethod==\"colour\"){aJ=aD(aQ.fimage,aK,aP,aO,aN,aL.bgOutlineThickness,aQ.outline.colour,aL.padding,aL.bgRadius,1);if(aJ){aQ.oimage=aJ.image}}aJ=aD(aQ.fimage,aK,aP,aO,aN,aL.bgOutlineThickness,j,aL.padding,aL.bgRadius);if(aJ){aQ.fimage=aJ.image;aQ.w=aJ.width;aQ.h=aJ.height}}if(aL.outlineMethod==\"size\"){if(aL.outlineIncrease>0){aQ.iw+=2*aL.outlineIncrease;aQ.ih+=2*aL.outlineIncrease;aK=aO*aQ.iw;aP=aO*aQ.ih;aJ=ay(aQ.fimage,aK,aP);aQ.oimage=aJ;aQ.fimage=v(aQ.fimage,aQ.oimage.width,aQ.oimage.height)}else{aK=aO*(aQ.iw+(2*aL.outlineIncrease));aP=aO*(aQ.ih+(2*aL.outlineIncrease));aJ=ay(aQ.fimage,aK,aP);aQ.oimage=v(aJ,aQ.fimage.width,aQ.fimage.height)}}}}aQ.Init()}function Y(aJ,aI){var j=C.defaultView,i=aI.replace(/\\-([a-z])/g,function(aK){return aK.charAt(1).toUpperCase()});return(j&&j.getComputedStyle&&j.getComputedStyle(aJ,null).getPropertyValue(aI))||(aJ.currentStyle&&aJ.currentStyle[i])}function u(j,aJ,aI){var i=1,aK;if(aJ){i=1*(j.getAttribute(aJ)||aI)}else{if(aK=Y(j,\"font-size\")){i=(aK.indexOf(\"px\")>-1&&aK.replace(\"px\",\"\")*1)||(aK.indexOf(\"pt\")>-1&&aK.replace(\"pt\",\"\")*1.25)||aK*3.3}}return i}function f(i){return i.target&&ai(i.target.id)?i.target.id:i.srcElement.parentNode.id}function S(aK,aL){var aJ,aI,i=parseInt(Y(aL,\"width\"))/aL.width,j=parseInt(Y(aL,\"height\"))/aL.height;if(ai(aK.offsetX)){aJ={x:aK.offsetX,y:aK.offsetY}}else{aI=ab(aL.id);if(ai(aK.changedTouches)){aK=aK.changedTouches[0]}if(aK.pageX){aJ={x:aK.pageX-aI.x,y:aK.pageY-aI.y}}}if(aJ&&i&&j){aJ.x/=i;aJ.y/=j}return aJ}function B(aI){var j=aI.target||aI.fromElement.parentNode,i=y.tc[j.id];if(i){i.mx=i.my=-1;i.UnFreeze();i.EndDrag()}}function af(aM){var aJ,aI=y,j,aL,aK=f(aM);for(aJ in aI.tc){j=aI.tc[aJ];if(j.tttimer){clearTimeout(j.tttimer);j.tttimer=null}}if(aK&&aI.tc[aK]){j=aI.tc[aK];if(aL=S(aM,j.canvas)){j.mx=aL.x;j.my=aL.y;j.Drag(aM,aL)}j.drawn=0}}function z(aJ){var j=y,i=C.addEventListener?0:1,aI=f(aJ);if(aI&&aJ.button==i&&j.tc[aI]){j.tc[aI].BeginDrag(aJ)}}function aF(aK){var aI=y,j=C.addEventListener?0:1,aJ=f(aK),i;if(aJ&&aK.button==j&&aI.tc[aJ]){i=aI.tc[aJ];af(aK);if(!i.EndDrag()&&!i.touchState){i.Clicked(aK)}}}function T(aJ){var j=f(aJ),i=(j&&y.tc[j]),aI;if(i&&aJ.changedTouches){if(aJ.touches.length==1&&i.touchState==0){i.touchState=1;i.BeginDrag(aJ);if(aI=S(aJ,i.canvas)){i.mx=aI.x;i.my=aI.y;i.drawn=0}}else{if(aJ.targetTouches.length==2&&i.pinchZoom){i.touchState=3;i.EndDrag();i.BeginPinch(aJ)}else{i.EndDrag();i.EndPinch();i.touchState=0}}}}function r(aI){var j=f(aI),i=(j&&y.tc[j]);if(i&&aI.changedTouches){switch(i.touchState){case 1:i.Draw();i.Clicked();break;case 2:i.EndDrag();break;case 3:i.EndPinch()}i.touchState=0}}function aA(aM){var aJ,aI=y,j,aL,aK=f(aM);for(aJ in aI.tc){j=aI.tc[aJ];if(j.tttimer){clearTimeout(j.tttimer);j.tttimer=null}}j=(aK&&aI.tc[aK]);if(j&&aM.changedTouches&&j.touchState){switch(j.touchState){case 1:case 2:if(aL=S(aM,j.canvas)){j.mx=aL.x;j.my=aL.y;if(j.Drag(aM,aL)){j.touchState=2}}break;case 3:j.Pinch(aM)}j.drawn=0}}function ag(aI){var i=y,j=f(aI);if(j&&i.tc[j]){aI.cancelBubble=true;aI.returnValue=false;aI.preventDefault&&aI.preventDefault();i.tc[j].Wheel((aI.wheelDelta||aI.detail)>0)}}function ac(aJ){var aI,j=y;clearTimeout(j.scrollTimer);for(aI in j.tc){j.tc[aI].Pause()}j.scrollTimer=setTimeout(function(){var aL,aK=y;for(aL in aK.tc){aK.tc[aL].Resume()}},j.scrollPause)}function O(){E(G())}function E(aJ){var j=y.tc,aI;y.NextFrame(y.interval);aJ=aJ||G();for(aI in j){j[aI].Draw(aJ)}}function ab(aI){var aL=C.getElementById(aI),i=aL.getBoundingClientRect(),aO=C.documentElement,aM=C.body,aN=window,aJ=aN.pageXOffset||aO.scrollLeft,aP=aN.pageYOffset||aO.scrollTop,aK=aO.clientLeft||aM.clientLeft,j=aO.clientTop||aM.clientTop;return{x:i.left+aJ-aK,y:i.top+aP-j}}function V(j,aJ,aK,aI){var i=j.radius*j.z1/(j.z1+j.z2+aJ.z);return{x:aJ.x*i*aK,y:aJ.y*i*aI,z:aJ.z,w:(j.z1-aJ.z)/j.z2}}function aC(i){this.e=i;this.br=0;this.line=[];this.text=[];this.original=i.innerText||i.textContent}aH=aC.prototype;aH.Empty=function(){for(var j=0;j<this.text.length;++j){if(this.text[j].length){return false}}return true};aH.Lines=function(aK){var aJ=aK?1:0,aL,j,aI;aK=aK||this.e;aL=aK.childNodes;j=aL.length;for(aI=0;aI<j;++aI){if(aL[aI].nodeName==\"BR\"){this.text.push(this.line.join(\" \"));this.br=1}else{if(aL[aI].nodeType==3){if(this.br){this.line=[aL[aI].nodeValue];this.br=0}else{this.line.push(aL[aI].nodeValue)}}else{this.Lines(aL[aI])}}}aJ||this.br||this.text.push(this.line.join(\" \"));return this.text};aH.SplitWidth=function(aI,aP,aM,aL){var aK,aJ,aO,aN=[];aP.font=aL+\"px \"+aM;for(aK=0;aK<this.text.length;++aK){aO=this.text[aK].split(/\\s+/);this.line=[aO[0]];for(aJ=1;aJ<aO.length;++aJ){if(aP.measureText(this.line.join(\" \")+\" \"+aO[aJ]).width>aI){aN.push(this.line.join(\" \"));this.line=[aO[aJ]]}else{this.line.push(aO[aJ])}}aN.push(this.line.join(\" \"))}return this.text=aN};function J(i,j){this.ts=null;this.tc=i;this.tag=j;this.x=this.y=this.w=this.h=this.sc=1;this.z=0;this.pulse=1;this.pulsate=i.pulsateTo<1;this.colour=i.outlineColour;this.adash=~~i.outlineDash;this.agap=~~i.outlineDashSpace||this.adash;this.aspeed=i.outlineDashSpeed*1;if(this.colour==\"tag\"){this.colour=Y(j.a,\"color\")}else{if(this.colour==\"tagbg\"){this.colour=Y(j.a,\"background-color\")}}this.Draw=this.pulsate?this.DrawPulsate:this.DrawSimple;this.radius=i.outlineRadius|0;this.SetMethod(i.outlineMethod)}x=J.prototype;x.SetMethod=function(aI){var j={block:[\"PreDraw\",\"DrawBlock\"],colour:[\"PreDraw\",\"DrawColour\"],outline:[\"PostDraw\",\"DrawOutline\"],classic:[\"LastDraw\",\"DrawOutline\"],size:[\"PreDraw\",\"DrawSize\"],none:[\"LastDraw\"]},i=j[aI]||j.outline;if(aI==\"none\"){this.Draw=function(){return 1}}else{this.drawFunc=this[i[1]]}this[i[0]]=this.Draw};x.Update=function(aO,aN,aP,aK,aL,aM,aJ,i){var j=this.tc.outlineOffset,aI=2*j;this.x=aL*aO+aJ-j;this.y=aL*aN+i-j;this.w=aL*aP+aI;this.h=aL*aK+aI;this.sc=aL;this.z=aM};x.Ants=function(aN){if(!this.adash){return}var aK=this.adash,aM=this.agap,aQ=this.aspeed,j=aK+aM,aL=0,aJ=aK,i=aM,aP=0,aO=0,aI;if(aQ){aO=L(aQ)*(G()-this.ts)/50;if(aQ<0){aO=8640000-aO}aQ=~~aO%j}if(aQ){if(aK>=aQ){aL=aK-aQ;aJ=aQ}else{i=j-aQ;aP=aM-i}aI=[aL,i,aJ,aP]}else{aI=[aK,aM]}aN.setLineDash(aI)};x.DrawOutline=function(aM,i,aL,j,aI,aK){var aJ=aE(this.radius,aI/2,j/2);aM.strokeStyle=aK;this.Ants(aM);at(aM,i,aL,j,aI,aJ,true)};x.DrawSize=function(aP,aS,aQ,aT,aN,j,aU,aJ,aR){var aM=aU.w,aI=aU.h,aK,aL,aO;if(this.pulsate){if(aU.image){aO=(aU.image.height+this.tc.outlineIncrease)/aU.image.height}else{aO=aU.oscale}aL=aU.fimage||aU.image;aK=1+((aO-1)*(1-this.pulse));aU.h*=aK;aU.w*=aK}else{aL=aU.oimage}aU.alpha=1;aU.Draw(aP,aJ,aR,aL);aU.h=aI;aU.w=aM;return 1};x.DrawColour=function(aJ,aM,aK,aN,aI,i,aO,j,aL){if(aO.oimage){if(this.pulse<1){aO.alpha=1-au(this.pulse,2);aO.Draw(aJ,j,aL,aO.fimage);aO.alpha=this.pulse}else{aO.alpha=1}aO.Draw(aJ,j,aL,aO.oimage);return 1}return this[aO.image?\"DrawColourImage\":\"DrawColourText\"](aJ,aM,aK,aN,aI,i,aO,j,aL)};x.DrawColourText=function(aK,aN,aL,aO,aI,i,aP,j,aM){var aJ=aP.colour;aP.colour=i;aP.alpha=1;aP.Draw(aK,j,aM);aP.colour=aJ;return 1};x.DrawColourImage=function(aN,aQ,aO,aR,aM,i,aU,j,aP){var aS=aN.canvas,aK=~~s(aQ,0),aJ=~~s(aO,0),aL=aE(aS.width-aK,aR)+0.5|0,aT=aE(aS.height-aJ,aM)+0.5|0,aI;if(p){p.width=aL,p.height=aT}else{p=P(aL,aT)}if(!p){return this.SetMethod(\"outline\")}aI=p.getContext(\"2d\");aI.drawImage(aS,aK,aJ,aL,aT,0,0,aL,aT);aN.clearRect(aK,aJ,aL,aT);if(this.pulsate){aU.alpha=1-au(this.pulse,2)}else{aU.alpha=1}aU.Draw(aN,j,aP);aN.setTransform(1,0,0,1,0,0);aN.save();aN.beginPath();aN.rect(aK,aJ,aL,aT);aN.clip();aN.globalCompositeOperation=\"source-in\";aN.fillStyle=i;aN.fillRect(aK,aJ,aL,aT);aN.restore();aN.globalAlpha=1;aN.globalCompositeOperation=\"destination-over\";aN.drawImage(p,0,0,aL,aT,aK,aJ,aL,aT);aN.globalCompositeOperation=\"source-over\";return 1};x.DrawBlock=function(aM,i,aL,j,aI,aK){var aJ=aE(this.radius,aI/2,j/2);aM.fillStyle=aK;at(aM,i,aL,j,aI,aJ)};x.DrawSimple=function(aM,i,j,aJ,aL,aK){var aI=this.tc;aM.setTransform(1,0,0,1,0,0);aM.strokeStyle=this.colour;aM.lineWidth=aI.outlineThickness;aM.shadowBlur=aM.shadowOffsetX=aM.shadowOffsetY=0;aM.globalAlpha=aK?aL:1;return this.drawFunc(aM,this.x,this.y,this.w,this.h,this.colour,i,j,aJ)};x.DrawPulsate=function(aM,i,j,aJ){var aK=G()-this.ts,aI=this.tc,aL=aI.pulsateTo+((1-aI.pulsateTo)*(0.5+(w(2*Math.PI*aK/(1000*aI.pulsateTime))/2)));this.pulse=aL=y.Smooth(1,aL);return this.DrawSimple(aM,i,j,aJ,aL,1)};x.Active=function(aJ,i,aI){var j=(i>=this.x&&aI>=this.y&&i<=this.x+this.w&&aI<=this.y+this.h);if(j){this.ts=this.ts||G()}else{this.ts=null}return j};x.PreDraw=x.PostDraw=x.LastDraw=aB;function e(aJ,aT,aP,aS,aQ,aK,aI,aM,aR,aL,aO,j,aN,i){this.tc=aJ;this.image=null;this.text=aT;this.text_original=i;this.line_widths=[];this.title=aP.title||null;this.a=aP;this.position=new ae(aS[0],aS[1],aS[2]);this.x=this.y=this.z=0;this.w=aQ;this.h=aK;this.colour=aI||aJ.textColour;this.bgColour=aM||aJ.bgColour;this.bgRadius=aR|0;this.bgOutline=aL||this.colour;this.bgOutlineThickness=aO|0;this.textFont=j||aJ.textFont;this.padding=aN|0;this.sc=this.alpha=1;this.weighted=!aJ.weight;this.outline=new J(aJ,this)}c=e.prototype;c.Init=function(j){var i=this.tc;this.textHeight=i.textHeight;if(this.HasText()){this.Measure(i.ctxt,i)}else{this.w=this.iw;this.h=this.ih}this.SetShadowColour=i.shadowAlpha?this.SetShadowColourAlpha:this.SetShadowColourFixed;this.SetDraw(i)};c.Draw=aB;c.HasText=function(){return this.text&&this.text[0].length>0};c.EqualTo=function(aI){var j=aI.getElementsByTagName(\"img\");if(this.a.href!=aI.href){return 0}if(j.length){return this.image.src==j[0].src}return(aI.innerText||aI.textContent)==this.text_original};c.SetImage=function(j){this.image=this.fimage=j};c.SetDraw=function(i){this.Draw=this.fimage?(i.ie>7?this.DrawImageIE:this.DrawImage):this.DrawText;i.noSelect&&(this.CheckActive=aB)};c.MeasureText=function(aL){var aJ,aI=this.text.length,j=0,aK;for(aJ=0;aJ<aI;++aJ){this.line_widths[aJ]=aK=aL.measureText(this.text[aJ]).width;j=s(j,aK)}return j};c.Measure=function(aN,aQ){var aO=t(this.text,this.textFont,this.textHeight),aR,i,aK,j,aI,aM,aP,aJ,aL;aP=aO?aO.max.y+aO.min.y:this.textHeight;aN.font=this.font=this.textHeight+\"px \"+this.textFont;aM=this.MeasureText(aN);if(aQ.txtOpt){aR=aQ.txtScale;i=aR*this.textHeight;aK=i+\"px \"+this.textFont;j=[aR*aQ.shadowOffset[0],aR*aQ.shadowOffset[1]];aN.font=aK;aI=this.MeasureText(aN);aL=new g(this.text,aK,aI+aR,(aR*aP)+aR,aI,this.line_widths,aQ.textAlign,aQ.textVAlign,aR);if(this.image){aL.SetImage(this.image,this.iw,this.ih,aQ.imagePosition,aQ.imagePadding,aQ.imageAlign,aQ.imageVAlign,aQ.imageScale)}aJ=aL.Create(this.colour,this.bgColour,this.bgOutline,aR*this.bgOutlineThickness,aQ.shadow,aR*aQ.shadowBlur,j,aR*this.padding,aR*this.bgRadius);if(aQ.outlineMethod==\"colour\"){this.oimage=aL.Create(this.outline.colour,this.bgColour,this.outline.colour,aR*this.bgOutlineThickness,aQ.shadow,aR*aQ.shadowBlur,j,aR*this.padding,aR*this.bgRadius)}else{if(aQ.outlineMethod==\"size\"){aO=t(this.text,this.textFont,this.textHeight+aQ.outlineIncrease);i=aO.max.y+aO.min.y;aK=(aR*(this.textHeight+aQ.outlineIncrease))+\"px \"+this.textFont;aN.font=aK;aI=this.MeasureText(aN);aL=new g(this.text,aK,aI+aR,(aR*i)+aR,aI,this.line_widths,aQ.textAlign,aQ.textVAlign,aR);if(this.image){aL.SetImage(this.image,this.iw+aQ.outlineIncrease,this.ih+aQ.outlineIncrease,aQ.imagePosition,aQ.imagePadding,aQ.imageAlign,aQ.imageVAlign,aQ.imageScale)}this.oimage=aL.Create(this.colour,this.bgColour,this.bgOutline,aR*this.bgOutlineThickness,aQ.shadow,aR*aQ.shadowBlur,j,aR*this.padding,aR*this.bgRadius);this.oscale=this.oimage.width/aJ.width;if(aQ.outlineIncrease>0){aJ=v(aJ,this.oimage.width,this.oimage.height)}else{this.oimage=v(this.oimage,aJ.width,aJ.height)}}}if(aJ){this.fimage=aJ;aM=this.fimage.width/aR;aP=this.fimage.height/aR}this.SetDraw(aQ);aQ.txtOpt=!!this.fimage}this.h=aP;this.w=aM};c.SetFont=function(j,aJ,aI,i){this.textFont=j;this.colour=aJ;this.bgColour=aI;this.bgOutline=i;this.Measure(this.tc.ctxt,this.tc)};c.SetWeight=function(aI){var j=this.tc,aK=j.weightMode.split(/[, ]/),i,aJ,aL=aI.length;if(!this.HasText()){return}this.weighted=true;for(aJ=0;aJ<aL;++aJ){i=aK[aJ]||\"size\";if(\"both\"==i){this.Weight(aI[aJ],j.ctxt,j,\"size\",j.min_weight[aJ],j.max_weight[aJ],aJ);this.Weight(aI[aJ],j.ctxt,j,\"colour\",j.min_weight[aJ],j.max_weight[aJ],aJ)}else{this.Weight(aI[aJ],j.ctxt,j,i,j.min_weight[aJ],j.max_weight[aJ],aJ)}}this.Measure(j.ctxt,j)};c.Weight=function(aI,aN,aJ,j,aM,aK,aL){aI=isNaN(aI)?1:aI;var i=(aI-aM)/(aK-aM);if(\"colour\"==j){this.colour=k(aJ,i,aL)}else{if(\"bgcolour\"==j){this.bgColour=k(aJ,i,aL)}else{if(\"bgoutline\"==j){this.bgOutline=k(aJ,i,aL)}else{if(\"outline\"==j){this.outline.colour=k(aJ,i,aL)}else{if(\"size\"==j){if(aJ.weightSizeMin>0&&aJ.weightSizeMax>aJ.weightSizeMin){this.textHeight=aJ.weightSize*(aJ.weightSizeMin+(aJ.weightSizeMax-aJ.weightSizeMin)*i)}else{this.textHeight=s(1,aI*aJ.weightSize)}}}}}}};c.SetShadowColourFixed=function(aI,j,i){aI.shadowColor=j};c.SetShadowColourAlpha=function(aI,j,i){aI.shadowColor=U(j,i)};c.DrawText=function(aK,aN,aJ){var aO=this.tc,aM=this.x,aL=this.y,aP=this.sc,j,aI;aK.globalAlpha=this.alpha;aK.fillStyle=this.colour;aO.shadow&&this.SetShadowColour(aK,aO.shadow,this.alpha);aK.font=this.font;aM+=aN/aP;aL+=(aJ/aP)-(this.h/2);for(j=0;j<this.text.length;++j){aI=aM;if(\"right\"==aO.textAlign){aI+=this.w/2-this.line_widths[j]}else{if(\"centre\"==aO.textAlign){aI-=this.line_widths[j]/2}else{aI-=this.w/2}}aK.setTransform(aP,0,0,aP,aP*aI,aP*aL);aK.fillText(this.text[j],0,0);aL+=this.textHeight}};c.DrawImage=function(aK,aR,aJ,aM){var aO=this.x,aL=this.y,aS=this.sc,j=aM||this.fimage,aP=this.w,aI=this.h,aN=this.alpha,aQ=this.shadow;aK.globalAlpha=aN;aQ&&this.SetShadowColour(aK,aQ,aN);aO+=(aR/aS)-(aP/2);aL+=(aJ/aS)-(aI/2);aK.setTransform(aS,0,0,aS,aS*aO,aS*aL);aK.drawImage(j,0,0,aP,aI)};c.DrawImageIE=function(aK,aO,aJ){var j=this.fimage,aP=this.sc,aN=j.width=this.w*aP,aI=j.height=this.h*aP,aM=(this.x*aP)+aO-(aN/2),aL=(this.y*aP)+aJ-(aI/2);aK.setTransform(1,0,0,1,0,0);aK.globalAlpha=this.alpha;aK.drawImage(j,aM,aL)};c.Calc=function(i,aI){var j,aL=this.tc,aK=aL.minBrightness,aJ=aL.maxBrightness,aM=aL.max_radius;j=i.xform(this.position);this.xformed=j;j=V(aL,j,aL.stretchX,aL.stretchY);this.x=j.x;this.y=j.y;this.z=j.z;this.sc=j.w;this.alpha=aI*aw(aK+(aJ-aK)*(aM-this.z)/(2*aM),0,1);return this.xformed};c.UpdateActive=function(aN,aI,aL){var aK=this.outline,j=this.w,aJ=this.h,i=this.x-j/2,aM=this.y-aJ/2;aK.Update(i,aM,j,aJ,this.sc,this.z,aI,aL);return aK};c.CheckActive=function(aK,i,aJ){var j=this.tc,aI=this.UpdateActive(aK,i,aJ);return aI.Active(aK,j.mx,j.my)?aI:null};c.Clicked=function(aL){var j=this.a,aI=j.target,aJ=j.href,i;if(aI!=\"\"&&aI!=\"_self\"){if(self.frames[aI]){self.frames[aI].document.location=aJ}else{try{if(top.frames[aI]){top.frames[aI].document.location=aJ;return}}catch(aK){}window.open(aJ,aI)}return}if(C.createEvent){i=C.createEvent(\"MouseEvents\");i.initMouseEvent(\"click\",1,1,window,0,0,0,0,0,0,0,0,0,0,null);if(!j.dispatchEvent(i)){return}}else{if(j.fireEvent){if(!j.fireEvent(\"onclick\")){return}}}C.location=aJ};function y(aO,j,aJ){var aI,aL,aN=C.getElementById(aO),aK=[\"id\",\"class\",\"innerHTML\"],aM;if(!aN){throw 0}if(ai(window.G_vmlCanvasManager)){aN=window.G_vmlCanvasManager.initElement(aN);this.ie=parseFloat(navigator.appVersion.split(\"MSIE\")[1])}if(aN&&(!aN.getContext||!aN.getContext(\"2d\").fillText)){aL=C.createElement(\"DIV\");for(aI=0;aI<aK.length;++aI){aL[aK[aI]]=aN[aK[aI]]}aN.parentNode.insertBefore(aL,aN);aN.parentNode.removeChild(aN);throw 0}for(aI in y.options){this[aI]=aJ&&ai(aJ[aI])?aJ[aI]:(ai(y[aI])?y[aI]:y.options[aI])}this.canvas=aN;this.ctxt=aN.getContext(\"2d\");this.z1=250/s(this.depth,0.001);this.z2=this.z1/this.zoom;this.radius=aE(aN.height,aN.width)*0.0075;this.max_radius=100;this.max_weight=[];this.min_weight=[];this.textFont=this.textFont&&o(this.textFont);this.textHeight*=1;this.imageRadius=this.imageRadius.toString();this.pulsateTo=aw(this.pulsateTo,0,1);this.minBrightness=aw(this.minBrightness,0,1);this.maxBrightness=aw(this.maxBrightness,this.minBrightness,1);this.ctxt.textBaseline=\"top\";this.lx=(this.lock+\"\").indexOf(\"x\")+1;this.ly=(this.lock+\"\").indexOf(\"y\")+1;this.frozen=this.dx=this.dy=this.fixedAnim=this.touchState=0;this.fixedAlpha=1;this.source=j||aO;this.repeatTags=aE(64,~~this.repeatTags);this.minTags=aE(200,~~this.minTags);if(~~this.scrollPause>0){y.scrollPause=~~this.scrollPause}else{this.scrollPause=0}if(this.minTags>0&&this.repeatTags<1&&(aI=this.GetTags().length)){this.repeatTags=aq(this.minTags/aI)-1}this.transform=R.Identity();this.startTime=this.time=G();this.mx=this.my=-1;this.centreImage&&ao(this);this.Animate=this.dragControl?this.AnimateDrag:this.AnimatePosition;this.animTiming=(typeof y[this.animTiming]==\"function\"?y[this.animTiming]:y.Smooth);if(this.shadowBlur||this.shadowOffset[0]||this.shadowOffset[1]){this.ctxt.shadowColor=this.shadow;this.shadow=this.ctxt.shadowColor;this.shadowAlpha=al()}else{delete this.shadow}this.Load();if(j&&this.hideTags){(function(i){if(y.loaded){i.HideTags()}else{ad(\"load\",function(){i.HideTags()},window)}})(this)}this.yaw=this.initial?this.initial[0]*this.maxSpeed:0;this.pitch=this.initial?this.initial[1]*this.maxSpeed:0;if(this.tooltip){this.ctitle=aN.title;aN.title=\"\";if(this.tooltip==\"native\"){this.Tooltip=this.TooltipNative}else{this.Tooltip=this.TooltipDiv;if(!this.ttdiv){this.ttdiv=C.createElement(\"div\");this.ttdiv.className=this.tooltipClass;this.ttdiv.style.position=\"absolute\";this.ttdiv.style.zIndex=aN.style.zIndex+1;ad(\"mouseover\",function(i){i.target.style.display=\"none\"},this.ttdiv);C.body.appendChild(this.ttdiv)}}}else{this.Tooltip=this.TooltipNone}if(!this.noMouse&&!b[aO]){b[aO]=[[\"mousemove\",af],[\"mouseout\",B],[\"mouseup\",aF],[\"touchstart\",T],[\"touchend\",r],[\"touchcancel\",r],[\"touchmove\",aA]];if(this.dragControl){b[aO].push([\"mousedown\",z]);b[aO].push([\"selectstart\",aB])}if(this.wheelZoom){b[aO].push([\"mousewheel\",ag]);b[aO].push([\"DOMMouseScroll\",ag])}if(this.scrollPause){b[aO].push([\"scroll\",ac,window])}for(aI=0;aI<b[aO].length;++aI){aL=b[aO][aI];ad(aL[0],aL[1],aL[2]?aL[2]:aN)}}if(!y.started){aM=window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;y.NextFrame=aM?y.NextFrameRAF:y.NextFrameTimeout;y.interval=this.interval;y.NextFrame(this.interval);y.started=1}}Q=y.prototype;Q.SourceElements=function(){if(C.querySelectorAll){return C.querySelectorAll(\"#\"+this.source)}return[C.getElementById(this.source)]};Q.HideTags=function(){var aI=this.SourceElements(),j;for(j=0;j<aI.length;++j){aI[j].style.display=\"none\"}};Q.GetTags=function(){var aN=this.SourceElements(),aM,aJ=[],aL,aK,aI;for(aI=0;aI<=this.repeatTags;++aI){for(aL=0;aL<aN.length;++aL){aM=aN[aL].getElementsByTagName(\"a\");for(aK=0;aK<aM.length;++aK){aJ.push(aM[aK])}}}return aJ};Q.Message=function(aN){var aP=[],aJ,j,aI=aN.split(\"\"),aL,aO,aM,aK;for(aJ=0;aJ<aI.length;++aJ){if(aI[aJ]!=\" \"){j=aJ-aI.length/2;aL=C.createElement(\"A\");aL.href=\"#\";aL.innerText=aI[aJ];aM=100*ah(j/9);aK=-100*w(j/9);aO=new e(this,aI[aJ],aL,[aM,0,aK],2,18,\"#000\",\"#fff\",0,0,0,\"monospace\",2,aI[aJ]);aO.Init();aP.push(aO)}}return aP};Q.CreateTag=function(aM){var aP,aK,aQ,aL,aO,aI,aN,aJ,j=[0,0,0];if(\"text\"!=this.imageMode){aP=aM.getElementsByTagName(\"img\");if(aP.length){aK=new Image;aK.src=aP[0].src;if(!this.imageMode){aQ=new e(this,\"\",aM,j,0,0);aQ.SetImage(aK);ax(aK,aP[0],aQ,this);return aQ}}}if(\"image\"!=this.imageMode){aO=new aC(aM);aL=aO.Lines();if(!aO.Empty()){aI=this.textFont||o(Y(aM,\"font-family\"));if(this.splitWidth){aL=aO.SplitWidth(this.splitWidth,this.ctxt,aI,this.textHeight)}aN=this.bgColour==\"tag\"?Y(aM,\"background-color\"):this.bgColour;aJ=this.bgOutline==\"tag\"?Y(aM,\"color\"):this.bgOutline}else{aO=null}}if(aO||aK){aQ=new e(this,aL,aM,j,2,this.textHeight+2,this.textColour||Y(aM,\"color\"),aN,this.bgRadius,aJ,this.bgOutlineThickness,aI,this.padding,aO&&aO.original);if(aK){aQ.SetImage(aK);ax(aK,aP[0],aQ,this)}else{aQ.Init()}return aQ}};Q.UpdateTag=function(aI,i){var aL=this.textColour||Y(i,\"color\"),j=this.textFont||o(Y(i,\"font-family\")),aK=this.bgColour==\"tag\"?Y(i,\"background-color\"):this.bgColour,aJ=this.bgOutline==\"tag\"?Y(i,\"color\"):this.bgOutline;aI.a=i;aI.title=i.title;if(aI.colour!=aL||aI.textFont!=j||aI.bgColour!=aK||aI.bgOutline!=aJ){aI.SetFont(j,aL,aK,aJ)}};Q.Weight=function(aO){var aK=aO.length,aM,aI,aP,aL=[],j,aJ=this.weightFrom?this.weightFrom.split(/[, ]/):[null],aN=aJ.length;for(aI=0;aI<aK;++aI){aL[aI]=[];for(aP=0;aP<aN;++aP){aM=u(aO[aI].a,aJ[aP],this.textHeight);if(!this.max_weight[aP]||aM>this.max_weight[aP]){this.max_weight[aP]=aM}if(!this.min_weight[aP]||aM<this.min_weight[aP]){this.min_weight[aP]=aM}aL[aI][aP]=aM}}for(aP=0;aP<aN;++aP){if(this.max_weight[aP]>this.min_weight[aP]){j=1}}if(j){for(aI=0;aI<aK;++aI){aO[aI].SetWeight(aL[aI])}}};Q.Load=function(){var aS=this.GetTags(),aN=[],aQ,aR,aM,aJ,aI,j,aK,aP,aL=[],aO={sphere:q,vcylinder:am,hcylinder:av,vring:d,hring:n};if(aS.length){aL.length=aS.length;for(aP=0;aP<aS.length;++aP){aL[aP]=aP}this.shuffleTags&&an(aL);aJ=100*this.radiusX;aI=100*this.radiusY;j=100*this.radiusZ;this.max_radius=s(aJ,s(aI,j));for(aP=0;aP<aS.length;++aP){aR=this.CreateTag(aS[aL[aP]]);if(aR){aN.push(aR)}}this.weight&&this.Weight(aN,true);if(this.shapeArgs){this.shapeArgs[0]=aN.length}else{aM=this.shape.toString().split(/[(),]/);aQ=aM.shift();if(typeof window[aQ]===\"function\"){this.shape=window[aQ]}else{this.shape=aO[aQ]||aO.sphere}this.shapeArgs=[aN.length,aJ,aI,j].concat(aM)}aK=this.shape.apply(this,this.shapeArgs);this.listLength=aN.length;for(aP=0;aP<aN.length;++aP){aN[aP].position=new ae(aK[aP][0],aK[aP][1],aK[aP][2])}}if(this.noTagsMessage&&!aN.length){aP=(this.imageMode&&this.imageMode!=\"both\"?this.imageMode+\" \":\"\");aN=this.Message(\"No \"+aP+\"tags\")}this.taglist=aN};Q.Update=function(){var aR=this.GetTags(),aQ=[],aL=this.taglist,aS,aP=[],aN=[],aJ,aO,aI,aM,aK;if(!this.shapeArgs){return this.Load()}if(aR.length){aI=this.listLength=aR.length;aO=aL.length;for(aM=0;aM<aO;++aM){aQ.push(aL[aM]);aN.push(aM)}for(aM=0;aM<aI;++aM){for(aK=0,aS=0;aK<aO;++aK){if(aL[aK].EqualTo(aR[aM])){this.UpdateTag(aQ[aK],aR[aM]);aS=aN[aK]=-1}}if(!aS){aP.push(aM)}}for(aM=0,aK=0;aM<aO;++aM){if(aN[aK]==-1){aN.splice(aK,1)}else{++aK}}if(aN.length){an(aN);while(aN.length&&aP.length){aM=aN.shift();aK=aP.shift();aQ[aM]=this.CreateTag(aR[aK])}aN.sort(function(j,i){return j-i});while(aN.length){aQ.splice(aN.pop(),1)}}aK=aQ.length/(aP.length+1);aM=0;while(aP.length){aQ.splice(aq(++aM*aK),0,this.CreateTag(aR[aP.shift()]))}this.shapeArgs[0]=aI=aQ.length;aJ=this.shape.apply(this,this.shapeArgs);for(aM=0;aM<aI;++aM){aQ[aM].position=new ae(aJ[aM][0],aJ[aM][1],aJ[aM][2])}this.weight&&this.Weight(aQ)}this.taglist=aQ};Q.SetShadow=function(i){i.shadowBlur=this.shadowBlur;i.shadowOffsetX=this.shadowOffset[0];i.shadowOffsetY=this.shadowOffset[1]};Q.Draw=function(aS){if(this.paused){return}var aM=this.canvas,aK=aM.width,aR=aM.height,aU=0,aJ=(aS-this.time)*y.interval/1000,aQ=aK/2+this.offsetX,aP=aR/2+this.offsetY,aY=this.ctxt,aO,aZ,aW,aI=-1,aL=this.taglist,aV=aL.length,j=this.frontSelect,aT=(this.centreFunc==aB),aN;this.time=aS;if(this.frozen&&this.drawn){return this.Animate(aK,aR,aJ)}aN=this.AnimateFixed();aY.setTransform(1,0,0,1,0,0);for(aW=0;aW<aV;++aW){aL[aW].Calc(this.transform,this.fixedAlpha)}aL=A(aL,function(a0,i){return i.z-a0.z});if(aN&&this.fixedAnim.active){aO=this.fixedAnim.tag.UpdateActive(aY,aQ,aP)}else{this.active=null;for(aW=0;aW<aV;++aW){aZ=this.mx>=0&&this.my>=0&&this.taglist[aW].CheckActive(aY,aQ,aP);if(aZ&&aZ.sc>aU&&(!j||aZ.z<=0)){aO=aZ;aI=aW;aO.tag=this.taglist[aW];aU=aZ.sc}}this.active=aO}this.txtOpt||(this.shadow&&this.SetShadow(aY));aY.clearRect(0,0,aK,aR);for(aW=0;aW<aV;++aW){if(!aT&&aL[aW].z<=0){try{this.centreFunc(aY,aK,aR,aQ,aP)}catch(aX){alert(aX);this.centreFunc=aB}aT=true}if(!(aO&&aO.tag==aL[aW]&&aO.PreDraw(aY,aL[aW],aQ,aP))){aL[aW].Draw(aY,aQ,aP)}aO&&aO.tag==aL[aW]&&aO.PostDraw(aY)}if(this.freezeActive&&aO){this.Freeze()}else{this.UnFreeze();this.drawn=(aV==this.listLength)}if(this.fixedCallback){this.fixedCallback(this,this.fixedCallbackTag);this.fixedCallback=null}aN||this.Animate(aK,aR,aJ);aO&&aO.LastDraw(aY);aM.style.cursor=aO?this.activeCursor:\"\";this.Tooltip(aO,this.taglist[aI])};Q.TooltipNone=function(){};Q.TooltipNative=function(j,i){if(j){this.canvas.title=i&&i.title?i.title:\"\"}else{this.canvas.title=this.ctitle}};Q.SetTTDiv=function(aJ,j){var i=this,aI=i.ttdiv.style;if(aJ!=i.ttdiv.innerHTML){aI.display=\"none\"}i.ttdiv.innerHTML=aJ;j&&(j.title=i.ttdiv.innerHTML);if(aI.display==\"none\"&&!i.tttimer){i.tttimer=setTimeout(function(){var aK=ab(i.canvas.id);aI.display=\"block\";aI.left=aK.x+i.mx+\"px\";aI.top=aK.y+i.my+24+\"px\";i.tttimer=null},i.tooltipDelay)}};Q.TooltipDiv=function(j,i){if(j&&i&&i.title){this.SetTTDiv(i.title,i)}else{if(!j&&this.mx!=-1&&this.my!=-1&&this.ctitle.length){this.SetTTDiv(this.ctitle)}else{this.ttdiv.style.display=\"none\"}}};Q.Transform=function(aL,i,aN){if(i||aN){var j=ah(i),aM=w(i),aO=ah(aN),aK=w(aN),aI=new R([aK,0,aO,0,1,0,-aO,0,aK]),aJ=new R([1,0,0,0,aM,-j,0,j,aM]);aL.transform=aL.transform.mul(aI.mul(aJ))}};Q.AnimateFixed=function(){var aI,j,aK,i,aJ;if(this.fadeIn){j=G()-this.startTime;if(j>=this.fadeIn){this.fadeIn=0;this.fixedAlpha=1}else{this.fixedAlpha=j/this.fadeIn}}if(this.fixedAnim){if(!this.fixedAnim.transform){this.fixedAnim.transform=this.transform}aI=this.fixedAnim,j=G()-aI.t0,aK=aI.angle,i,aJ=this.animTiming(aI.t,j);this.transform=aI.transform;if(j>=aI.t){this.fixedCallbackTag=aI.tag;this.fixedCallback=aI.cb;this.fixedAnim=this.yaw=this.pitch=0}else{aK*=aJ}i=R.Rotation(aK,aI.axis);this.transform=this.transform.mul(i);return(this.fixedAnim!=0)}return false};Q.AnimatePosition=function(aI,aL,aJ){var j=this,i=j.mx,aN=j.my,aK,aM;if(!j.frozen&&i>=0&&aN>=0&&i<aI&&aN<aL){aK=j.maxSpeed,aM=j.reverse?-1:1;j.lx||(j.yaw=((i*2*aK/aI)-aK)*aM*aJ);j.ly||(j.pitch=((aN*2*aK/aL)-aK)*-aM*aJ);j.initial=null}else{if(!j.initial){if(j.frozen&&!j.freezeDecel){j.yaw=j.pitch=0}else{j.Decel(j)}}}this.Transform(j,j.pitch,j.yaw)};Q.AnimateDrag=function(j,aK,aJ){var i=this,aI=100*aJ*i.maxSpeed/i.max_radius/i.zoom;if(i.dx||i.dy){i.lx||(i.yaw=i.dx*aI/i.stretchX);i.ly||(i.pitch=i.dy*-aI/i.stretchY);i.dx=i.dy=0;i.initial=null}else{if(!i.initial){i.Decel(i)}}this.Transform(i,i.pitch,i.yaw)};Q.Freeze=function(){if(!this.frozen){this.preFreeze=[this.yaw,this.pitch];this.frozen=1;this.drawn=0}};Q.UnFreeze=function(){if(this.frozen){this.yaw=this.preFreeze[0];this.pitch=this.preFreeze[1];this.frozen=0}};Q.Decel=function(i){var aI=i.minSpeed,aJ=L(i.yaw),j=L(i.pitch);if(!i.lx&&aJ>aI){i.yaw=aJ>i.z0?i.yaw*i.decel:0}if(!i.ly&&j>aI){i.pitch=j>i.z0?i.pitch*i.decel:0}};Q.Zoom=function(i){this.z2=this.z1*(1/i);this.drawn=0};Q.Clicked=function(aI){var i=this.active;try{if(i&&i.tag){if(this.clickToFront===false||this.clickToFront===null){i.tag.Clicked(aI)}else{this.TagToFront(i.tag,this.clickToFront,function(){i.tag.Clicked(aI)},true)}}}catch(j){}};Q.Wheel=function(j){var aI=this.zoom+this.zoomStep*(j?1:-1);this.zoom=aE(this.zoomMax,s(this.zoomMin,aI));this.Zoom(this.zoom)};Q.BeginDrag=function(i){this.down=S(i,this.canvas);i.cancelBubble=true;i.returnValue=false;i.preventDefault&&i.preventDefault()};Q.Drag=function(aK,aJ){if(this.dragControl&&this.down){var aI=this.dragThreshold*this.dragThreshold,j=aJ.x-this.down.x,i=aJ.y-this.down.y;if(this.dragging||j*j+i*i>aI){this.dx=j;this.dy=i;this.dragging=1;this.down=aJ}}return this.dragging};Q.EndDrag=function(){var i=this.dragging;this.dragging=this.down=null;return i};function D(aI){var j=aI.targetTouches[0],i=aI.targetTouches[1];return F(au(i.pageX-j.pageX,2)+au(i.pageY-j.pageY,2))}Q.BeginPinch=function(i){this.pinched=[D(i),this.zoom];i.preventDefault&&i.preventDefault()};Q.Pinch=function(j){var aJ,aI,i=this.pinched;if(!i){return}aI=D(j);aJ=i[1]*aI/i[0];this.zoom=aE(this.zoomMax,s(this.zoomMin,aJ));this.Zoom(this.zoom)};Q.EndPinch=function(i){this.pinched=null};Q.Pause=function(){this.paused=true};Q.Resume=function(){this.paused=false};Q.SetSpeed=function(j){this.initial=j;this.yaw=j[0]*this.maxSpeed;this.pitch=j[1]*this.maxSpeed};Q.FindTag=function(aI){if(!ai(aI)){return null}ai(aI.index)&&(aI=aI.index);if(!I(aI)){return this.taglist[aI]}var aJ,aK,j;if(ai(aI.id)){aJ=\"id\",aK=aI.id}else{if(ai(aI.text)){aJ=\"innerText\",aK=aI.text}}for(j=0;j<this.taglist.length;++j){if(this.taglist[j].a[aJ]==aK){return this.taglist[j]}}};Q.RotateTag=function(aQ,aJ,aP,i,aN,aI){var aO=aQ.Calc(this.transform,1),aL=new ae(aO.x,aO.y,aO.z),aK=aj(aP,aJ),j=aL.angle(aK),aM=aL.cross(aK).unit();if(j==0){this.fixedCallbackTag=aQ;this.fixedCallback=aN}else{this.fixedAnim={angle:-j,axis:aM,t:i,t0:G(),cb:aN,tag:aQ,active:aI}}};Q.TagToFront=function(i,aI,aJ,j){this.RotateTag(i,0,0,aI,aJ,j)};y.Start=function(aI,i,j){y.Delete(aI);y.tc[aI]=new y(aI,i,j)};function az(i,j){y.tc[j]&&y.tc[j][i]()}y.Linear=function(i,j){return j/i};y.Smooth=function(i,j){return 0.5-w(j*Math.PI/i)/2};y.Pause=function(i){az(\"Pause\",i)};y.Resume=function(i){az(\"Resume\",i)};y.Reload=function(i){az(\"Load\",i)};y.Update=function(i){az(\"Update\",i)};y.SetSpeed=function(j,i){if(I(i)&&y.tc[j]&&!isNaN(i[0])&&!isNaN(i[1])){y.tc[j].SetSpeed(i);return true}return false};y.TagToFront=function(j,i){if(!I(i)){return false}i.lat=i.lng=0;return y.RotateTag(j,i)};y.RotateTag=function(aI,i){if(I(i)&&y.tc[aI]){if(isNaN(i.time)){i.time=500}var j=y.tc[aI].FindTag(i);if(j){y.tc[aI].RotateTag(j,i.lat,i.lng,i.time,i.callback,i.active);return true}}return false};y.Delete=function(aJ){var j,aI;if(b[aJ]){aI=C.getElementById(aJ);if(aI){for(j=0;j<b[aJ].length;++j){a(b[aJ][j][0],b[aJ][j][1],aI)}}}delete b[aJ];delete y.tc[aJ]};y.NextFrameRAF=function(){requestAnimationFrame(E)};y.NextFrameTimeout=function(i){setTimeout(O,i)};y.tc={};y.options={z1:20000,z2:20000,z0:0.0002,freezeActive:false,freezeDecel:false,activeCursor:\"pointer\",pulsateTo:1,pulsateTime:3,reverse:false,depth:0.5,maxSpeed:0.05,minSpeed:0,decel:0.95,interval:20,minBrightness:0.1,maxBrightness:1,outlineColour:\"#ffff99\",outlineThickness:2,outlineOffset:5,outlineMethod:\"outline\",outlineRadius:0,textColour:\"#ff99ff\",textHeight:15,textFont:\"Helvetica, Arial, sans-serif\",shadow:\"#000\",shadowBlur:0,shadowOffset:[0,0],initial:null,hideTags:true,zoom:1,weight:false,weightMode:\"size\",weightFrom:null,weightSize:1,weightSizeMin:null,weightSizeMax:null,weightGradient:{0:\"#f00\",0.33:\"#ff0\",0.66:\"#0f0\",1:\"#00f\"},txtOpt:true,txtScale:2,frontSelect:false,wheelZoom:true,zoomMin:0.3,zoomMax:3,zoomStep:0.05,shape:\"sphere\",lock:null,tooltip:null,tooltipDelay:300,tooltipClass:\"tctooltip\",radiusX:1,radiusY:1,radiusZ:1,stretchX:1,stretchY:1,offsetX:0,offsetY:0,shuffleTags:false,noSelect:false,noMouse:false,imageScale:1,paused:false,dragControl:false,dragThreshold:4,centreFunc:aB,splitWidth:0,animTiming:\"Smooth\",clickToFront:false,fadeIn:0,padding:0,bgColour:null,bgRadius:0,bgOutline:null,bgOutlineThickness:0,outlineIncrease:4,textAlign:\"centre\",textVAlign:\"middle\",imageMode:null,imagePosition:null,imagePadding:2,imageAlign:\"centre\",imageVAlign:\"middle\",noTagsMessage:true,centreImage:null,pinchZoom:false,repeatTags:0,minTags:0,imageRadius:0,scrollPause:false,outlineDash:0,outlineDashSpace:0,outlineDashSpeed:1};for(M in y.options){y[M]=y.options[M]}window.TagCanvas=y;jQuery.fn.tagcanvas=function(j,i){var aI={pause:function(){ap(this).each(function(){az(\"Pause\",ap(this)[0].id)})},resume:function(){ap(this).each(function(){az(\"Resume\",ap(this)[0].id)})},reload:function(){ap(this).each(function(){az(\"Load\",ap(this)[0].id)})},update:function(){ap(this).each(function(){az(\"Update\",ap(this)[0].id)})},tagtofront:function(){ap(this).each(function(){y.TagToFront(ap(this)[0].id,i)})},rotatetag:function(){ap(this).each(function(){y.RotateTag(ap(this)[0].id,i)})},\"delete\":function(){ap(this).each(function(){y.Delete(ap(this)[0].id)})},setspeed:function(){ap(this).each(function(){y.SetSpeed(ap(this)[0].id,i)})}};if(typeof j==\"string\"&&aI[j]){aI[j].apply(this);return this}else{y.jquery=1;ap(this).each(function(){y.Start(ap(this)[0].id,i,j)});return y.started}};ad(\"load\",function(){y.loaded=1},window)})(jQuery);\n","Magefan_Blog/js/magefan-comments.js":"/**\n * Copyright \u00a9 Magefan ([email protected]). All rights reserved.\n * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).\n *\n * Glory to Ukraine! Glory to the heroes!\n */\n\ndefine(\n    [\n    'jquery',\n    'uiComponent',\n    'mage/validation'],\n    function ($, Component, validation) {\n    'use strict';\n\n\n    return Component.extend({\n        initialize: function ($options) {\n\n            var msgLifetime = 4000;\n            var $hd = $('#post-comments');\n\n            var getMessageHtml = function (msg, type) {\n                var h = '<div class=\"message-' + type + ' ' + type + ' message\">'\n                    + '<div>' + msg + '</div>'\n                +'</div>';\n                return $(h);\n            };\n\n            var processError = function ($form, msg) {\n                $form.find('[type=submit]').removeAttr('disabled');\n                var $h = getMessageHtml(msg, 'error');\n                $h.insertBefore($form);\n                setTimeout(function () {\n                    $h.remove();\n                }, msgLifetime);\n            };\n\n            var processSuccess = function ($form, msg) {\n                $form.find('[type=submit]').removeAttr('disabled');\n                var $h = getMessageHtml(msg, 'success');\n                $h.insertBefore($form);\n                $form.hide();\n                setTimeout(function () {\n                    $h.remove();\n                }, msgLifetime);\n            };\n\n            $hd.find('form').submit(function () {\n                var $form = $(this);\n                if ($form.validation() && $form.validation('isValid')) {\n                    $form.find('[type=submit]').attr('disabled', 'disabled');\n                    $.ajax({\n                        'method': 'post',\n                        'url': $form.attr('action'),\n                        'dataType': 'json',\n                        'data': $form.serialize(),\n                        'success': function (res) {\n                            if (res.success) {\n                                processSuccess($form, res.message);\n                            } else {\n                                processError($form, res.message);\n                            }\n                        },\n                        'error': function () {\n                            processError($form, 'Unexpected error. Please try again later or contact us.')\n                        }\n                    })\n                }\n                return false;\n            });\n\n            $hd.find('.more-comments-action').click(function () {\n                var id = $(this).data('comment');\n                $hd.find('.c-comment-parent-'+id).fadeIn();\n                $(this).hide();\n                return false;\n            });\n\n            $hd.find('form textarea').click(function () {\n                $(this).parents('.no-active').removeClass('no-active');\n            });\n\n            var $rf = $('#c-replyform-comment');\n            $hd.find('.reply-action').click(function () {\n                var id = $(this).data('comment');\n                $rf.hide();\n                $rf.appendTo('.c-post-'+id);\n                $rf.find('.refresh-value').val('').html('');\n                $rf.find('[name=parent_id]').val(id);\n                $rf.find('form').show();\n                $rf.fadeIn();\n                return false;\n            });\n\n            $hd.find('.reply-cancel-action').click(function () {\n                $rf.hide();\n            });\n\n            return this;\n        },\n\n    });\n    }\n);","Magefan_Blog/js/jquery.fancybox.min.js":"// ==================================================\n// fancyBox v3.2.8\n//\n// Licensed GPLv3 for open source use\n// or fancyBox Commercial License for commercial use\n//\n// http://fancyapps.com/fancybox/\n// Copyright 2017 fancyApps\n//\n// ==================================================\n!function(t,e,n,o){\"use strict\";function a(t){var e=n(t.currentTarget),o=t.data?t.data.options:{},a=e.attr(\"data-fancybox\")||\"\",i=0,s=[];t.isDefaultPrevented()||(t.preventDefault(),a?(s=o.selector?n(o.selector):t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox=\"'+a+'\"]'):n('[data-fancybox=\"'+a+'\"]'),i=s.index(e),i<0&&(i=0)):s=[e],n.fancybox.open(s,o,i))}if(n){if(n.fn.fancybox)return void(\"console\"in t&&console.log(\"fancyBox already initialized\"));var i={loop:!1,margin:[44,0],gutter:50,keyboard:!0,arrows:!0,infobar:!0,toolbar:!0,buttons:[\"slideShow\",\"fullScreen\",\"thumbs\",\"share\",\"close\"],idleTime:3,smallBtn:\"auto\",protect:!1,modal:!1,image:{preload:\"auto\"},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id=\"fancybox-frame{rnd}\" name=\"fancybox-frame{rnd}\" class=\"fancybox-iframe\" frameborder=\"0\" vspace=\"0\" hspace=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency=\"true\" src=\"\"></iframe>',preload:!0,css:{},attr:{scrolling:\"auto\"}},defaultType:\"image\",animationEffect:\"zoom\",animationDuration:500,zoomOpacity:\"auto\",transitionEffect:\"fade\",transitionDuration:366,slideClass:\"\",baseClass:\"\",baseTpl:'<div class=\"fancybox-container\" role=\"dialog\" tabindex=\"-1\"><div class=\"fancybox-bg\"></div><div class=\"fancybox-inner\"><div class=\"fancybox-infobar\"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class=\"fancybox-toolbar\">{{buttons}}</div><div class=\"fancybox-navigation\">{{arrows}}</div><div class=\"fancybox-stage\"></div><div class=\"fancybox-caption-wrap\"><div class=\"fancybox-caption\"></div></div></div></div>',spinnerTpl:'<div class=\"fancybox-loading\"></div>',errorTpl:'<div class=\"fancybox-error\"><p>{{ERROR}}<p></div>',btnTpl:{download:'<a download data-fancybox-download class=\"fancybox-button fancybox-button--download\" title=\"{{DOWNLOAD}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M20,23 L20,8 L20,23 L13,16 L20,23 L27,16 L20,23 M26,28 L13,28 L27,28 L14,28\" /></svg></a>',zoom:'<button data-fancybox-zoom class=\"fancybox-button fancybox-button--zoom\" title=\"{{ZOOM}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M 18,17 m-8,0 a 8,8 0 1,0 16,0 a 8,8 0 1,0 -16,0 M25,23 L31,29 L25,23\" /></svg></button>',close:'<button data-fancybox-close class=\"fancybox-button fancybox-button--close\" title=\"{{CLOSE}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M10,10 L30,30 M30,10 L10,30\" /></svg></button>',smallBtn:'<button data-fancybox-close class=\"fancybox-close-small\" title=\"{{CLOSE}}\"></button>',arrowLeft:'<button data-fancybox-prev class=\"fancybox-button fancybox-button--arrow_left\" title=\"{{PREV}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M10,20 L30,20 L10,20 L18,28 L10,20 L18,12 L10,20\"></path></svg></button>',arrowRight:'<button data-fancybox-next class=\"fancybox-button fancybox-button--arrow_right\" title=\"{{NEXT}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M30,20 L10,20 L30,20 L22,28 L30,20 L22,12 L30,20\"></path></svg></button>'},parentEl:\"body\",autoFocus:!1,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:4e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:\".fancybox-container\",axis:\"y\"},wheel:\"auto\",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return\"image\"===t.type&&\"zoom\"},clickSlide:\"close\",clickOutside:\"close\",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{idleTime:!1,margin:0,clickContent:function(t,e){return\"image\"===t.type&&\"toggleControls\"},clickSlide:function(t,e){return\"image\"===t.type?\"toggleControls\":\"close\"},dblclickContent:function(t,e){return\"image\"===t.type&&\"zoom\"},dblclickSlide:function(t,e){return\"image\"===t.type&&\"zoom\"}},lang:\"en\",i18n:{en:{CLOSE:\"Close\",NEXT:\"Next\",PREV:\"Previous\",ERROR:\"The requested content cannot be loaded. <br/> Please try again later.\",PLAY_START:\"Start slideshow\",PLAY_STOP:\"Pause slideshow\",FULL_SCREEN:\"Full screen\",THUMBS:\"Thumbnails\",DOWNLOAD:\"Download\",SHARE:\"Share\",ZOOM:\"Zoom\"},de:{CLOSE:\"Schliessen\",NEXT:\"Weiter\",PREV:\"Zur\u00fcck\",ERROR:\"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp\u00e4ter nochmal.\",PLAY_START:\"Diaschau starten\",PLAY_STOP:\"Diaschau beenden\",FULL_SCREEN:\"Vollbild\",THUMBS:\"Vorschaubilder\",DOWNLOAD:\"Herunterladen\",SHARE:\"Teilen\",ZOOM:\"Ma\u00dfstab\"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},u=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),d=function(){var t,n=e.createElement(\"fakeelement\"),a={transition:\"transitionend\",OTransition:\"oTransitionEnd\",MozTransition:\"transitionend\",WebkitTransition:\"webkitTransitionEnd\"};for(t in a)if(n.style[t]!==o)return a[t];return\"transitionend\"}(),f=function(t){return t&&t.length&&t[0].offsetHeight},p=function(t,o,a){var i=this;i.opts=n.extend(!0,{index:a},n.fancybox.defaults,o||{}),n.fancybox.isMobile&&(i.opts=n.extend(!0,{},i.opts,i.opts.mobile)),o&&n.isArray(o.buttons)&&(i.opts.buttons=o.buttons),i.id=i.opts.id||++c,i.group=[],i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=null,i.createGroup(t),i.group.length&&(i.$lastFocus=n(e.activeElement).blur(),i.slides={},i.init())};n.extend(p.prototype,{init:function(){var a,i,s,c=this,l=c.group[c.currIndex],u=l.opts,d=n.fancybox.scrollbarWidth;c.scrollTop=r.scrollTop(),c.scrollLeft=r.scrollLeft(),n.fancybox.getInstance()||(n(\"body\").addClass(\"fancybox-active\"),/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream?\"image\"!==l.type&&n(\"body\").css(\"top\",n(\"body\").scrollTop()*-1).addClass(\"fancybox-iosfix\"):!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(d===o&&(a=n('<div style=\"width:50px;height:50px;overflow:scroll;\" />').appendTo(\"body\"),d=n.fancybox.scrollbarWidth=a[0].offsetWidth-a[0].clientWidth,a.remove()),n(\"head\").append('<style id=\"fancybox-style-noscroll\" type=\"text/css\">.compensate-for-scrollbar { margin-right: '+d+\"px; }</style>\"),n(\"body\").addClass(\"compensate-for-scrollbar\"))),s=\"\",n.each(u.buttons,function(t,e){s+=u.btnTpl[e]||\"\"}),i=n(c.translate(c,u.baseTpl.replace(\"{{buttons}}\",s).replace(\"{{arrows}}\",u.btnTpl.arrowLeft+u.btnTpl.arrowRight))).attr(\"id\",\"fancybox-container-\"+c.id).addClass(\"fancybox-is-hidden\").addClass(u.baseClass).data(\"FancyBox\",c).appendTo(u.parentEl),c.$refs={container:i},[\"bg\",\"inner\",\"infobar\",\"toolbar\",\"stage\",\"caption\",\"navigation\"].forEach(function(t){c.$refs[t]=i.find(\".fancybox-\"+t)}),c.trigger(\"onInit\"),c.activate(),c.jumpTo(c.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang];return e.replace(/\\{\\{(\\w+)\\}\\}/g,function(t,e){var a=n[e];return a===o?t:a})},createGroup:function(t){var e=this,a=n.makeArray(t);n.each(a,function(t,a){var i,s,r,c,l={},u={};n.isPlainObject(a)?(l=a,u=a.opts||a):\"object\"===n.type(a)&&n(a).length?(i=n(a),u=i.data(),u=n.extend({},u,u.options||{}),u.$orig=i,l.src=u.src||i.attr(\"href\"),l.type||l.src||(l.type=\"inline\",l.src=a)):l={type:\"html\",src:a+\"\"},l.opts=n.extend(!0,{},e.opts,u),n.isArray(u.buttons)&&(l.opts.buttons=u.buttons),s=l.type||l.opts.type,r=l.src||\"\",!s&&r&&(r.match(/(^data:image\\/[a-z0-9+\\/=]*,)|(\\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\\?|#).*)?$)/i)?s=\"image\":r.match(/\\.(pdf)((\\?|#).*)?$/i)?s=\"pdf\":\"#\"===r.charAt(0)&&(s=\"inline\")),s?l.type=s:e.trigger(\"objectNeedsType\",l),l.index=e.group.length,l.opts.$orig&&!l.opts.$orig.length&&delete l.opts.$orig,!l.opts.$thumb&&l.opts.$orig&&(l.opts.$thumb=l.opts.$orig.find(\"img:first\")),l.opts.$thumb&&!l.opts.$thumb.length&&delete l.opts.$thumb,\"function\"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(a,[e,l])),\"function\"===n.type(e.opts.caption)&&(l.opts.caption=e.opts.caption.apply(a,[e,l])),l.opts.caption instanceof n||(l.opts.caption=l.opts.caption===o?\"\":l.opts.caption+\"\"),\"ajax\"===s&&(c=r.split(/\\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),\"auto\"==l.opts.smallBtn&&(n.inArray(s,[\"html\",\"inline\",\"ajax\"])>-1?(l.opts.toolbar=!1,l.opts.smallBtn=!0):l.opts.smallBtn=!1),\"pdf\"===s&&(l.type=\"iframe\",l.opts.iframe.preload=!1),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),e.group.push(l)})},addEvents:function(){var o=this;o.removeEvents(),o.$refs.container.on(\"click.fb-close\",\"[data-fancybox-close]\",function(t){t.stopPropagation(),t.preventDefault(),o.close(t)}).on(\"click.fb-prev touchend.fb-prev\",\"[data-fancybox-prev]\",function(t){t.stopPropagation(),t.preventDefault(),o.previous()}).on(\"click.fb-next touchend.fb-next\",\"[data-fancybox-next]\",function(t){t.stopPropagation(),t.preventDefault(),o.next()}).on(\"click.fb\",\"[data-fancybox-zoom]\",function(t){o[o.isScaledDown()?\"scaleToActual\":\"scaleToFit\"]()}),s.on(\"orientationchange.fb resize.fb\",function(t){t&&t.originalEvent&&\"resize\"===t.originalEvent.type?u(function(){o.update()}):(o.$refs.stage.hide(),setTimeout(function(){o.$refs.stage.show(),o.update()},600))}),r.on(\"focusin.fb\",function(t){var a=n.fancybox?n.fancybox.getInstance():null;a.isClosing||!a.current||!a.current.opts.trapFocus||n(t.target).hasClass(\"fancybox-container\")||n(t.target).is(e)||a&&\"fixed\"!==n(t.target).css(\"position\")&&!a.$refs.container.has(t.target).length&&(t.stopPropagation(),a.focus(),s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))}),r.on(\"keydown.fb\",function(t){var e=o.current,a=t.keyCode||t.which;if(e&&e.opts.keyboard&&!n(t.target).is(\"input\")&&!n(t.target).is(\"textarea\"))return 8===a||27===a?(t.preventDefault(),void o.close(t)):37===a||38===a?(t.preventDefault(),void o.previous()):39===a||40===a?(t.preventDefault(),void o.next()):void o.trigger(\"afterKeydown\",t,a)}),o.group[o.currIndex].opts.idleTime&&(o.idleSecondsCounter=0,r.on(\"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle\",function(t){o.idleSecondsCounter=0,o.isIdle&&o.showControls(),o.isIdle=!1}),o.idleInterval=t.setInterval(function(){o.idleSecondsCounter++,o.idleSecondsCounter>=o.group[o.currIndex].opts.idleTime&&!o.isDragging&&(o.isIdle=!0,o.idleSecondsCounter=0,o.hideControls())},1e3))},removeEvents:function(){var e=this;s.off(\"orientationchange.fb resize.fb\"),r.off(\"focusin.fb keydown.fb .fb-idle\"),this.$refs.container.off(\".fb-close .fb-prev .fb-next\"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e,a){var i,s,r,c,l,u,d,p=this,h=p.group.length;if(!(p.isDragging||p.isClosing||p.isAnimating&&p.firstRun)){if(t=parseInt(t,10),s=p.current?p.current.opts.loop:p.opts.loop,!s&&(t<0||t>=h))return!1;if(i=p.firstRun=null===p.firstRun,!(h<2&&!i&&p.isDragging)){if(c=p.current,p.prevIndex=p.currIndex,p.prevPos=p.currPos,r=p.createSlide(t),h>1&&((s||r.index>0)&&p.createSlide(t-1),(s||r.index<h-1)&&p.createSlide(t+1)),p.current=r,p.currIndex=r.index,p.currPos=r.pos,p.trigger(\"beforeShow\",i),p.updateControls(),u=n.fancybox.getTranslate(r.$slide),r.isMoved=(0!==u.left||0!==u.top)&&!r.$slide.hasClass(\"fancybox-animated\"),r.forcedDuration=o,n.isNumeric(e)?r.forcedDuration=e:e=r.opts[i?\"animationDuration\":\"transitionDuration\"],e=parseInt(e,10),i)return r.opts.animationEffect&&e&&p.$refs.container.css(\"transition-duration\",e+\"ms\"),p.$refs.container.removeClass(\"fancybox-is-hidden\"),f(p.$refs.container),p.$refs.container.addClass(\"fancybox-is-open\"),r.$slide.addClass(\"fancybox-slide--current\"),p.loadSlide(r),void p.preload();n.each(p.slides,function(t,e){n.fancybox.stop(e.$slide)}),r.$slide.removeClass(\"fancybox-slide--next fancybox-slide--previous\").addClass(\"fancybox-slide--current\"),r.isMoved?(l=Math.round(r.$slide.width()),n.each(p.slides,function(t,o){var a=o.pos-r.pos;n.fancybox.animate(o.$slide,{top:0,left:a*l+a*o.opts.gutter},e,function(){o.$slide.removeAttr(\"style\").removeClass(\"fancybox-slide--next fancybox-slide--previous\"),o.pos===p.currPos&&(r.isMoved=!1,p.complete())})})):p.$refs.stage.children().removeAttr(\"style\"),r.isLoaded?p.revealContent(r):p.loadSlide(r),p.preload(),c.pos!==r.pos&&(d=\"fancybox-slide--\"+(c.pos>r.pos?\"next\":\"previous\"),c.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous\"),c.isComplete=!1,e&&(r.isMoved||r.opts.transitionEffect)&&(r.isMoved?c.$slide.addClass(d):(d=\"fancybox-animated \"+d+\" fancybox-fx-\"+r.opts.transitionEffect,n.fancybox.animate(c.$slide,d,e,function(){c.$slide.removeClass(d).removeAttr(\"style\")}))))}}},createSlide:function(t){var e,o,a=this;return o=t%a.group.length,o=o<0?a.group.length+o:o,!a.slides[t]&&a.group[o]&&(e=n('<div class=\"fancybox-slide\"></div>').appendTo(a.$refs.stage),a.slides[t]=n.extend(!0,{},a.group[o],{pos:t,$slide:e,isLoaded:!1}),a.updateSlide(a.slides[t])),a.slides[t]},scaleToActual:function(t,e,a){var i,s,r,c,l,u=this,d=u.current,f=d.$content,p=parseInt(d.$slide.width(),10),h=parseInt(d.$slide.height(),10),g=d.width,b=d.height;\"image\"!=d.type||d.hasError||!f||u.isAnimating||(n.fancybox.stop(f),u.isAnimating=!0,t=t===o?.5*p:t,e=e===o?.5*h:e,i=n.fancybox.getTranslate(f),c=g/i.width,l=b/i.height,s=.5*p-.5*g,r=.5*h-.5*b,g>p&&(s=i.left*c-(t*c-t),s>0&&(s=0),s<p-g&&(s=p-g)),b>h&&(r=i.top*l-(e*l-e),r>0&&(r=0),r<h-b&&(r=h-b)),u.updateCursor(g,b),n.fancybox.animate(f,{top:r,left:s,scaleX:c,scaleY:l},a||330,function(){u.isAnimating=!1}),u.SlideShow&&u.SlideShow.isActive&&u.SlideShow.stop())},scaleToFit:function(t){var e,o=this,a=o.current,i=a.$content;\"image\"!=a.type||a.hasError||!i||o.isAnimating||(n.fancybox.stop(i),o.isAnimating=!0,e=o.getFitPos(a),o.updateCursor(e.width,e.height),n.fancybox.animate(i,{top:e.top,left:e.left,scaleX:e.width/i.width(),scaleY:e.height/i.height()},t||330,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,a,i,s,r=this,c=t.$content,l=t.width,u=t.height,d=t.opts.margin;return!(!c||!c.length||!l&&!u)&&(\"number\"===n.type(d)&&(d=[d,d]),2==d.length&&(d=[d[0],d[1],d[0],d[1]]),e=parseInt(r.$refs.stage.width(),10)-(d[1]+d[3]),o=parseInt(r.$refs.stage.height(),10)-(d[0]+d[2]),a=Math.min(1,e/l,o/u),i=Math.floor(a*l),s=Math.floor(a*u),{top:Math.floor(.5*(o-s))+d[0],left:Math.floor(.5*(e-i))+d[3],width:i,height:s})},update:function(){var t=this;n.each(t.slides,function(e,n){t.updateSlide(n)})},updateSlide:function(t){var e=this,o=t.$content;o&&(t.width||t.height)&&(e.isAnimating=!1,n.fancybox.stop(o),n.fancybox.setTranslate(o,e.getFitPos(t)),t.pos===e.currPos&&e.updateCursor()),t.$slide.trigger(\"refresh\"),e.trigger(\"onUpdate\",t)},updateCursor:function(t,e){var n,a=this,i=a.$refs.container.removeClass(\"fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut\");a.current&&!a.isClosing&&(a.isZoomable()?(i.addClass(\"fancybox-is-zoomable\"),n=t!==o&&e!==o?t<a.current.width&&e<a.current.height:a.isScaledDown(),n?i.addClass(\"fancybox-can-zoomIn\"):a.current.opts.touch?i.addClass(\"fancybox-can-drag\"):i.addClass(\"fancybox-can-zoomOut\")):a.current.opts.touch&&i.addClass(\"fancybox-can-drag\"))},isZoomable:function(){var t,e=this,o=e.current;if(o&&!e.isClosing)return!!(\"image\"===o.type&&o.isLoaded&&!o.hasError&&(\"zoom\"===o.opts.clickContent||n.isFunction(o.opts.clickContent)&&\"zoom\"===o.opts.clickContent(o))&&(t=e.getFitPos(o),o.width>t.width||o.height>t.height))},isScaledDown:function(){var t=this,e=t.current,o=e.$content,a=!1;return o&&(a=n.fancybox.getTranslate(o),a=a.width<e.width||a.height<e.height),a},canPan:function(){var t=this,e=t.current,n=e.$content,o=!1;return n&&(o=t.getFitPos(e),o=Math.abs(n.width()-o.width)>1||Math.abs(n.height()-o.height)>1),o},loadSlide:function(t){var e,o,a,i=this;if(!t.isLoading&&!t.isLoaded){switch(t.isLoading=!0,i.trigger(\"beforeLoad\",t),e=t.type,o=t.$slide,o.off(\"refresh\").trigger(\"onReset\").addClass(\"fancybox-slide--\"+(e||\"unknown\")).addClass(t.opts.slideClass),e){case\"image\":i.setImage(t);break;case\"iframe\":i.setIframe(t);break;case\"html\":i.setContent(t,t.src||t.content);break;case\"inline\":n(t.src).length?i.setContent(t,n(t.src)):i.setError(t);break;case\"ajax\":i.showLoading(t),a=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){\"success\"===n&&i.setContent(t,e)},error:function(e,n){e&&\"abort\"!==n&&i.setError(t)}})),o.one(\"onReset\",function(){a.abort()});break;default:i.setError(t)}return!0}},setImage:function(e){var o,a,i,s,r=this,c=e.opts.srcset||e.opts.image.srcset;if(c){i=t.devicePixelRatio||1,s=t.innerWidth*i,a=c.split(\",\").map(function(t){var e={};return t.trim().split(/\\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),a.sort(function(t,e){return t.value-e.value});for(var l=0;l<a.length;l++){var u=a[l];if(\"w\"===u.postfix&&u.value>=s||\"x\"===u.postfix&&u.value>=i){o=u;break}}!o&&a.length&&(o=a[a.length-1]),o&&(e.src=o.url,e.width&&e.height&&\"w\"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$content=n('<div class=\"fancybox-image-wrap\"></div>').addClass(\"fancybox-is-hidden\").appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n(\"<img />\").one(\"error\",function(){n(this).remove(),e.$ghost=null,r.setBigImage(e)}).one(\"load\",function(){r.afterLoad(e),r.setBigImage(e)}).addClass(\"fancybox-image\").appendTo(e.$content).attr(\"src\",e.opts.thumb||e.opts.$thumb.attr(\"src\"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n(\"<img />\");t.$image=o.one(\"error\",function(){e.setError(t)}).one(\"load\",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=this.naturalWidth,t.height=this.naturalHeight,t.opts.image.srcset&&o.attr(\"sizes\",\"100vw\").attr(\"srcset\",t.opts.image.srcset),e.hideLoading(t),t.$ghost?t.timouts=setTimeout(function(){t.timouts=null,t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))):e.afterLoad(t))}).addClass(\"fancybox-image\").attr(\"src\",t.src).appendTo(t.$content),(o[0].complete||\"complete\"==o[0].readyState)&&o[0].naturalWidth&&o[0].naturalHeight?o.trigger(\"load\"):o[0].error?o.trigger(\"error\"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},100)},setIframe:function(t){var e,a=this,i=t.opts.iframe,s=t.$slide;t.$content=n('<div class=\"fancybox-content'+(i.preload?\" fancybox-is-hidden\":\"\")+'\"></div>').css(i.css).appendTo(s),e=n(i.tpl.replace(/\\{rnd\\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(a.showLoading(t),e.on(\"load.fb error.fb\",function(e){this.isReady=1,t.$slide.trigger(\"refresh\"),a.afterLoad(t)}),s.on(\"refresh.fb\",function(){var n,a,s,r=t.$content,c=i.css.width,l=i.css.height;if(1===e[0].isReady){try{a=e.contents(),s=a.find(\"body\")}catch(t){}s&&s.length&&(c===o&&(n=e[0].contentWindow.document.documentElement.scrollWidth,c=Math.ceil(s.outerWidth(!0)+(r.width()-n)),c+=r.outerWidth()-r.innerWidth()),l===o&&(l=Math.ceil(s.outerHeight(!0)),l+=r.outerHeight()-r.innerHeight()),c&&r.width(c),l&&r.height(l)),r.removeClass(\"fancybox-is-hidden\")}})):this.afterLoad(t),e.attr(\"src\",t.src),t.opts.smallBtn===!0&&t.$content.prepend(a.translate(t,t.opts.btnTpl.smallBtn)),s.one(\"onReset\",function(){try{n(this).find(\"iframe\").hide().attr(\"src\",\"//about:blank\")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.parent(\".fancybox-slide--inline\").trigger(\"onReset\"),t.$placeholder=n(\"<div></div>\").hide().insertAfter(e),e.css(\"display\",\"inline-block\")):t.hasError||(\"string\"===n.type(e)&&(e=n(\"<div>\").append(n.trim(e)).contents(),3===e[0].nodeType&&(e=n(\"<div>\").html(e))),t.opts.filter&&(e=n(\"<div>\").html(e).find(t.opts.filter))),t.$slide.one(\"onReset\",function(){n(this).find(\"video,audio\").each(function(){this.pause()}),t.$placeholder&&(t.$placeholder.after(e.hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),this.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.removeClass(\"fancybox-slide--\"+t.type),this.setContent(t,this.translate(t,t.opts.errorTpl))},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger(\"afterLoad\",t),e.hideLoading(t),t.opts.smallBtn&&!t.$smallBtn&&(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content.filter(\"div,form\").first())),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on(\"contextmenu.fb\",function(t){return 2==t.button&&t.preventDefault(),!0}),\"image\"===t.type&&n('<div class=\"fancybox-spaceball\"></div>').appendTo(t.$content)),e.revealContent(t))},revealContent:function(t){var e,a,i,s,r,c=this,l=t.$slide,u=!1;return e=t.opts[c.firstRun?\"animationEffect\":\"transitionEffect\"],i=t.opts[c.firstRun?\"animationDuration\":\"transitionDuration\"],i=parseInt(t.forcedDuration===o?i:t.forcedDuration,10),!t.isMoved&&t.pos===c.currPos&&i||(e=!1),\"zoom\"!==e||t.pos===c.currPos&&i&&\"image\"===t.type&&!t.hasError&&(u=c.getThumbPos(t))||(e=\"fade\"),\"zoom\"===e?(r=c.getFitPos(t),r.scaleX=r.width/u.width,r.scaleY=r.height/u.height,delete r.width,delete r.height,s=t.opts.zoomOpacity,\"auto\"==s&&(s=Math.abs(t.width/t.height-u.width/u.height)>.1),s&&(u.opacity=.1,r.opacity=1),n.fancybox.setTranslate(t.$content.removeClass(\"fancybox-is-hidden\"),u),f(t.$content),void n.fancybox.animate(t.$content,r,i,function(){c.complete()})):(c.updateSlide(t),e?(n.fancybox.stop(l),a=\"fancybox-animated fancybox-slide--\"+(t.pos>=c.prevPos?\"next\":\"previous\")+\" fancybox-fx-\"+e,l.removeAttr(\"style\").removeClass(\"fancybox-slide--current fancybox-slide--next fancybox-slide--previous\").addClass(a),t.$content.removeClass(\"fancybox-is-hidden\"),f(l),void n.fancybox.animate(l,\"fancybox-slide--current\",i,function(e){l.removeClass(a).removeAttr(\"style\"),t.pos===c.currPos&&c.complete()},!0)):(f(l),t.$content.removeClass(\"fancybox-is-hidden\"),void(t.pos===c.currPos&&c.complete())))},getThumbPos:function(o){var a,i=this,s=!1,r=function(e){for(var o,a=e[0],i=a.getBoundingClientRect(),s=[];null!==a.parentElement;)\"hidden\"!==n(a.parentElement).css(\"overflow\")&&\"auto\"!==n(a.parentElement).css(\"overflow\")||s.push(a.parentElement.getBoundingClientRect()),a=a.parentElement;return o=s.every(function(t){var e=Math.min(i.right,t.right)-Math.max(i.left,t.left),n=Math.min(i.bottom,t.bottom)-Math.max(i.top,t.top);return e>0&&n>0}),o&&i.bottom>0&&i.right>0&&i.left<n(t).width()&&i.top<n(t).height()},c=o.opts.$thumb,l=c?c.offset():0;return l&&c[0].ownerDocument===e&&r(c)&&(a=i.$refs.stage.offset(),s={top:l.top-a.top+parseFloat(c.css(\"border-top-width\")||0),left:l.left-a.left+parseFloat(c.css(\"border-left-width\")||0),width:c.width(),height:c.height(),scaleX:1,scaleY:1}),s},complete:function(){var t=this,o=t.current,a={};if(!o.isMoved&&o.isLoaded&&!o.isComplete){o.isComplete=!0,o.$slide.siblings().trigger(\"onReset\"),f(o.$slide),o.$slide.addClass(\"fancybox-slide--complete\"),n.each(t.slides,function(e,o){o.pos>=t.currPos-1&&o.pos<=t.currPos+1?a[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),t.slides=a,t.updateCursor(),t.trigger(\"afterShow\");var i=o.$slide.find(\"video,audio\").first();i.length&&i[0].play(),(n(e.activeElement).is(\"[disabled]\")||o.opts.autoFocus&&\"image\"!=o.type&&\"iframe\"!==o.type)&&t.focus()}},preload:function(){var t,e,n=this;n.group.length<2||(t=n.slides[n.currPos+1],e=n.slides[n.currPos-1],t&&\"image\"===t.type&&n.loadSlide(t),e&&\"image\"===e.type&&n.loadSlide(e))},focus:function(){var t,e=this.current;this.isClosing||(e&&e.isComplete&&(t=e.$slide.find(\"input[autofocus]:enabled:visible:first\"),t.length||(t=e.$slide.find(\"button,:input,[tabindex],a\").filter(\":enabled:visible:first\"))),t=t&&t.length?t:this.$refs.container,t.focus())},activate:function(){var t=this;n(\".fancybox-container\").each(function(){var e=n(this).data(\"FancyBox\");e&&e.id!==t.id&&!e.isClosing&&(e.trigger(\"onDeactivate\"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger(\"onActivate\"),t.addEvents()},close:function(t,e){var o,a,i,s,r,c,l=this,p=l.current,h=function(){l.cleanUp(t)};return!l.isClosing&&(l.isClosing=!0,l.trigger(\"beforeClose\",t)===!1?(l.isClosing=!1,u(function(){l.update()}),!1):(l.removeEvents(),p.timouts&&clearTimeout(p.timouts),i=p.$content,o=p.opts.animationEffect,a=n.isNumeric(e)?e:o?p.opts.animationDuration:0,p.$slide.off(d).removeClass(\"fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated\"),p.$slide.siblings().trigger(\"onReset\").remove(),a&&l.$refs.container.removeClass(\"fancybox-is-open\").addClass(\"fancybox-is-closing\"),l.hideLoading(p),l.hideControls(),l.updateCursor(),\"zoom\"!==o||t!==!0&&i&&a&&\"image\"===p.type&&!p.hasError&&(c=l.getThumbPos(p))||(o=\"fade\"),\"zoom\"===o?(n.fancybox.stop(i),r=n.fancybox.getTranslate(i),r.width=r.width*r.scaleX,r.height=r.height*r.scaleY,s=p.opts.zoomOpacity,\"auto\"==s&&(s=Math.abs(p.width/p.height-c.width/c.height)>.1),s&&(c.opacity=0),r.scaleX=r.width/c.width,r.scaleY=r.height/c.height,r.width=c.width,r.height=c.height,n.fancybox.setTranslate(p.$content,r),f(p.$content),n.fancybox.animate(p.$content,c,a,h),!0):(o&&a?t===!0?setTimeout(h,a):n.fancybox.animate(p.$slide.removeClass(\"fancybox-slide--current\"),\"fancybox-animated fancybox-slide--previous fancybox-fx-\"+o,a,h):h(),!0)))},cleanUp:function(t){var o,a,i=this,r=n(\"body\");i.current.$slide.trigger(\"onReset\"),i.$refs.container.empty().remove(),i.trigger(\"afterClose\",t),i.$lastFocus&&i.current.opts.backFocus&&i.$lastFocus.focus(),i.current=null,o=n.fancybox.getInstance(),o?o.activate():(s.scrollTop(i.scrollTop).scrollLeft(i.scrollLeft),r.removeClass(\"fancybox-active compensate-for-scrollbar\"),r.hasClass(\"fancybox-iosfix\")&&(a=parseInt(e.body.style.top,10),r.removeClass(\"fancybox-iosfix\").css(\"top\",\"\").scrollTop(a*-1)),n(\"#fancybox-style-noscroll\").remove())},trigger:function(t,e){var o,a=Array.prototype.slice.call(arguments,1),i=this,s=e&&e.opts?e:i.current;return s?a.unshift(s):s=i,a.unshift(i),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,a)),o===!1?o:void(\"afterClose\"!==t&&i.$refs?i.$refs.container.trigger(t+\".fb\",a):r.trigger(t+\".fb\",a))},updateControls:function(t){var e=this,n=e.current,o=n.index,a=n.opts.caption,i=e.$refs.container,s=e.$refs.caption;n.$slide.trigger(\"refresh\"),e.$caption=a&&a.length?s.html(a):null,e.isHiddenControls||e.isIdle||e.showControls(),i.find(\"[data-fancybox-count]\").html(e.group.length),i.find(\"[data-fancybox-index]\").html(o+1),i.find(\"[data-fancybox-prev]\").prop(\"disabled\",!n.opts.loop&&o<=0),i.find(\"[data-fancybox-next]\").prop(\"disabled\",!n.opts.loop&&o>=e.group.length-1),\"image\"===n.type?i.find(\"[data-fancybox-download]\").attr(\"href\",n.opts.image.src||n.src).show():i.find(\"[data-fancybox-download],[data-fancybox-zoom]\").hide()},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass(\"fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav\")},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.isHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass(\"fancybox-show-toolbar\",!(!e.toolbar||!e.buttons)).toggleClass(\"fancybox-show-infobar\",!!(e.infobar&&t.group.length>1)).toggleClass(\"fancybox-show-nav\",!!(e.arrows&&t.group.length>1)).toggleClass(\"fancybox-is-modal\",!!e.modal),t.$caption?n.addClass(\"fancybox-show-caption \"):n.removeClass(\"fancybox-show-caption\")},toggleControls:function(){this.isHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:\"3.2.8\",defaults:i,getInstance:function(t){var e=n('.fancybox-container:not(\".fancybox-is-closing\"):last').data(\"FancyBox\"),o=Array.prototype.slice.call(arguments,1);return e instanceof p&&(\"string\"===n.type(t)?e[t].apply(e,o):\"function\"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new p(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},destroy:function(){this.close(!0),r.off(\"click.fb-start\")},isMobile:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement(\"div\");return t.getComputedStyle&&t.getComputedStyle(n).getPropertyValue(\"transform\")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;if(!t||!t.length)return!1;if(e=t.eq(0).css(\"transform\"),e&&e.indexOf(\"matrix\")!==-1?(e=e.split(\"(\")[1],e=e.split(\")\")[0],e=e.split(\",\")):e=[],e.length)e=e.length>10?[e[13],e[12],e[0],e[5]]:[e[5],e[4],e[0],e[3]],e=e.map(parseFloat);else{e=[0,0,1,1];var n=/\\.*translate\\((.*)px,(.*)px\\)/i,o=n.exec(t.eq(0).attr(\"style\"));o&&(e[0]=parseFloat(o[2]),e[1]=parseFloat(o[1]))}return{top:e[0],left:e[1],scaleX:e[2],scaleY:e[3],opacity:parseFloat(t.css(\"opacity\")),width:t.width(),height:t.height()}},setTranslate:function(t,e){var n=\"\",a={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().left:e.left)+\"px, \"+(e.top===o?t.position().top:e.top)+\"px\",n=this.use3d?\"translate3d(\"+n+\", 0px)\":\"translate(\"+n+\")\"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+\" \":\"\")+\"scale(\"+e.scaleX+\", \"+e.scaleY+\")\"),n.length&&(a.transform=n),e.opacity!==o&&(a.opacity=e.opacity),e.width!==o&&(a.width=e.width),e.height!==o&&(a.height=e.height),t.css(a)},animate:function(t,e,a,i,s){n.isFunction(a)&&(i=a,a=null),n.isPlainObject(e)||t.removeAttr(\"style\"),t.on(d,function(a){(!a||!a.originalEvent||t.is(a.originalEvent.target)&&\"z-index\"!=a.originalEvent.propertyName)&&(n.fancybox.stop(t),n.isPlainObject(e)?e.scaleX!==o&&e.scaleY!==o&&(t.css(\"transition-duration\",\"\"),e.width=Math.round(t.width()*e.scaleX),e.height=Math.round(t.height()*e.scaleY),e.scaleX=1,e.scaleY=1,n.fancybox.setTranslate(t,e)):s!==!0&&t.removeClass(e),n.isFunction(i)&&i(a))}),n.isNumeric(a)&&t.css(\"transition-duration\",a+\"ms\"),n.isPlainObject(e)?n.fancybox.setTranslate(t,e):t.addClass(e),e.scaleX&&t.hasClass(\"fancybox-image-wrap\")&&t.parent().addClass(\"fancybox-is-scaling\"),t.data(\"timer\",setTimeout(function(){t.trigger(\"transitionend\")},a+16))},stop:function(t){clearTimeout(t.data(\"timer\")),t.off(\"transitionend\").css(\"transition-duration\",\"\"),t.hasClass(\"fancybox-image-wrap\")&&t.parent().removeClass(\"fancybox-is-scaling\")}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n(\"body\").off(\"click.fb-start\",e).on(\"click.fb-start\",e,{options:t},a):this.off(\"click.fb-start\").on(\"click.fb-start\",{items:this,options:t},a),this},r.on(\"click.fb-start\",\"[data-fancybox]\",a)}}(window,document,window.jQuery||jQuery),function(t){\"use strict\";var e=function(e,n,o){if(e)return o=o||\"\",\"object\"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace(\"$\"+t,n||\"\")}),o.length&&(e+=(e.indexOf(\"?\")>0?\"&\":\"?\")+o),e},n={youtube:{matcher:/(youtube\\.com|youtu\\.be|youtube\\-nocookie\\.com)\\/(watch\\?(.*&)?v=|v\\/|u\\/|embed\\/?)?(videoseries\\?list=(.*)|[\\w-]{11}|\\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:\"transparent\",enablejsapi:1,html5:1},paramPlace:8,type:\"iframe\",url:\"//www.youtube.com/embed/$4\",thumb:\"//img.youtube.com/vi/$4/hqdefault.jpg\"},vimeo:{matcher:/^.+vimeo.com\\/(.*\\/)?([\\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:\"iframe\",url:\"//player.vimeo.com/video/$2\"},metacafe:{matcher:/metacafe.com\\/watch\\/(\\d+)\\/(.*)?/,type:\"iframe\",url:\"//www.metacafe.com/embed/$1/?ap=1\"},dailymotion:{matcher:/dailymotion.com\\/video\\/(.*)\\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:\"iframe\",url:\"//www.dailymotion.com/embed/video/$1\"},vine:{matcher:/vine.co\\/v\\/([a-zA-Z0-9\\?\\=\\-]+)/,\ntype:\"iframe\",url:\"//vine.co/v/$1/embed/simple\"},instagram:{matcher:/(instagr\\.am|instagram\\.com)\\/p\\/([a-zA-Z0-9_\\-]+)\\/?/i,type:\"image\",url:\"//$1/p/$2/media/?size=l\"},gmap_place:{matcher:/(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(((maps\\/(place\\/(.*)\\/)?\\@(.*),(\\d+.?\\d+?)z))|(\\?ll=))(.*)?/i,type:\"iframe\",url:function(t){return\"//maps.google.\"+t[2]+\"/?ll=\"+(t[9]?t[9]+\"&z=\"+Math.floor(t[10])+(t[12]?t[12].replace(/^\\//,\"&\"):\"\"):t[12])+\"&output=\"+(t[12]&&t[12].indexOf(\"layer=c\")>0?\"svembed\":\"embed\")}},gmap_search:{matcher:/(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(maps\\/search\\/)(.*)/i,type:\"iframe\",url:function(t){return\"//maps.google.\"+t[2]+\"/maps?q=\"+t[5].replace(\"query=\",\"q=\").replace(\"api=1\",\"\")+\"&output=embed\"}}};t(document).on(\"objectNeedsType.fb\",function(o,a,i){var s,r,c,l,u,d,f,p=i.src||\"\",h=!1;s=t.extend(!0,{},n,i.opts.media),t.each(s,function(n,o){if(c=p.match(o.matcher)){if(h=o.type,d={},o.paramPlace&&c[o.paramPlace]){u=c[o.paramPlace],\"?\"==u[0]&&(u=u.substring(1)),u=u.split(\"&\");for(var a=0;a<u.length;++a){var s=u[a].split(\"=\",2);2==s.length&&(d[s[0]]=decodeURIComponent(s[1].replace(/\\+/g,\" \")))}}return l=t.extend(!0,{},o.params,i.opts[n],d),p=\"function\"===t.type(o.url)?o.url.call(this,c,l,i):e(o.url,c,l),r=\"function\"===t.type(o.thumb)?o.thumb.call(this,c,l,i):e(o.thumb,c),\"vimeo\"===n&&(p=p.replace(\"&%23\",\"#\")),!1}}),h?(i.src=p,i.type=h,i.opts.thumb||i.opts.$thumb&&i.opts.$thumb.length||(i.opts.thumb=r),\"iframe\"===h&&(t.extend(!0,i.opts,{iframe:{preload:!1,attr:{scrolling:\"no\"}}}),i.contentProvider=f,i.opts.slideClass+=\" fancybox-slide--\"+(\"gmap_place\"==f||\"gmap_search\"==f?\"map\":\"video\"))):p&&(i.type=i.opts.defaultType)})}(window.jQuery||jQuery),function(t,e,n){\"use strict\";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),a=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),i=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?\"x\"===n?t.x-e.x:\"y\"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role=\"button\"],input,label,select,summary,textarea')||n.isFunction(t.get(0).onclick)||t.data(\"selectable\"))return!0;for(var e=0,o=t[0].attributes,a=o.length;e<a;e++)if(\"data-fancybox-\"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)[\"overflow-y\"],o=t.getComputedStyle(e)[\"overflow-x\"],a=(\"scroll\"===n||\"auto\"===n)&&e.scrollHeight>e.clientHeight,i=(\"scroll\"===o||\"auto\"===o)&&e.scrollWidth>e.clientWidth;return a||i},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass(\"fancybox-stage\")||t.is(\"body\"))break}return e},u=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on(\"touchstart.fb.touch mousedown.fb.touch\",n.proxy(e,\"ontouchstart\"))};u.prototype.destroy=function(){this.$container.off(\".fb.touch\")},u.prototype.ontouchstart=function(o){var a=this,c=n(o.target),u=a.instance,d=u.current,f=d.$content,p=\"touchstart\"==o.type;if(p&&a.$container.off(\"mousedown.fb.touch\"),!d||a.instance.isAnimating||a.instance.isClosing)return o.stopPropagation(),void o.preventDefault();if((!o.originalEvent||2!=o.originalEvent.button)&&c.length&&!r(c)&&!r(c.parent())&&!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left)&&(a.startPoints=i(o),a.startPoints)){if(a.$target=c,a.$content=f,a.canTap=!0,a.opts=d.opts.touch,n(e).off(\".fb.touch\"),n(e).on(p?\"touchend.fb.touch touchcancel.fb.touch\":\"mouseup.fb.touch mouseleave.fb.touch\",n.proxy(a,\"ontouchend\")),n(e).on(p?\"touchmove.fb.touch\":\"mousemove.fb.touch\",n.proxy(a,\"ontouchmove\")),!a.opts&&!u.canPan()||!c.is(a.$stage)&&!a.$stage.find(c).length)return void(c.is(\"img\")&&o.preventDefault());o.stopPropagation(),n.fancybox.isMobile&&(l(a.$target)||l(a.$target.parent()))||o.preventDefault(),a.canvasWidth=Math.round(d.$slide[0].clientWidth),a.canvasHeight=Math.round(d.$slide[0].clientHeight),a.startTime=(new Date).getTime(),a.distanceX=a.distanceY=a.distance=0,a.isPanning=!1,a.isSwiping=!1,a.isZooming=!1,a.sliderStartPos=a.sliderLastPos||{top:0,left:0},a.contentStartPos=n.fancybox.getTranslate(a.$content),a.contentLastPos=null,1!==a.startPoints.length||a.isZooming||(a.canTap=!0,\"image\"===d.type&&(a.contentStartPos.width>a.canvasWidth+1||a.contentStartPos.height>a.canvasHeight+1)?(n.fancybox.stop(a.$content),a.$content.css(\"transition-duration\",\"\"),a.isPanning=!0):a.isSwiping=!0,a.$container.addClass(\"fancybox-controls--isGrabbing\")),2!==a.startPoints.length||u.isAnimating||d.hasError||\"image\"!==d.type||!d.isLoaded&&!d.$ghost||(a.isZooming=!0,a.isSwiping=!1,a.isPanning=!1,n.fancybox.stop(a.$content),a.$content.css(\"transition-duration\",\"\"),a.centerPointStartX=.5*(a.startPoints[0].x+a.startPoints[1].x)-n(t).scrollLeft(),a.centerPointStartY=.5*(a.startPoints[0].y+a.startPoints[1].y)-n(t).scrollTop(),a.percentageOfImageAtPinchPointX=(a.centerPointStartX-a.contentStartPos.left)/a.contentStartPos.width,a.percentageOfImageAtPinchPointY=(a.centerPointStartY-a.contentStartPos.top)/a.contentStartPos.height,a.startDistanceBetweenFingers=s(a.startPoints[0],a.startPoints[1]))}},u.prototype.ontouchmove=function(t){var e=this;if(e.newPoints=i(t),n.fancybox.isMobile&&(l(e.$target)||l(e.$target.parent())))return t.stopPropagation(),void(e.canTap=!1);if((e.opts||e.instance.canPan())&&e.newPoints&&e.newPoints.length&&(e.distanceX=s(e.newPoints[0],e.startPoints[0],\"x\"),e.distanceY=s(e.newPoints[0],e.startPoints[0],\"y\"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&!e.tapped)){if(!e.$target.is(e.$stage)&&!e.$stage.find(e.$target).length)return;t.stopPropagation(),t.preventDefault(),e.isSwiping?e.onSwipe():e.isPanning?e.onPan():e.isZooming&&e.onZoom()}},u.prototype.onSwipe=function(){var e,i=this,s=i.isSwiping,r=i.sliderStartPos.left||0;return s===!0?void(Math.abs(i.distance)>10&&(i.canTap=!1,i.instance.group.length<2&&i.opts.vertical?i.isSwiping=\"y\":i.instance.isDragging||i.opts.vertical===!1||\"auto\"===i.opts.vertical&&n(t).width()>800?i.isSwiping=\"x\":(e=Math.abs(180*Math.atan2(i.distanceY,i.distanceX)/Math.PI),i.isSwiping=e>45&&e<135?\"y\":\"x\"),i.instance.isDragging=i.isSwiping,i.startPoints=i.newPoints,n.each(i.instance.slides,function(t,e){n.fancybox.stop(e.$slide),e.$slide.css(\"transition-duration\",\"\"),e.inTransition=!1,e.pos===i.instance.current.pos&&(i.sliderStartPos.left=n.fancybox.getTranslate(e.$slide).left)}),i.instance.SlideShow&&i.instance.SlideShow.isActive&&i.instance.SlideShow.stop())):(\"x\"==s&&(i.distanceX>0&&(i.instance.group.length<2||0===i.instance.current.index&&!i.instance.current.opts.loop)?r+=Math.pow(i.distanceX,.8):i.distanceX<0&&(i.instance.group.length<2||i.instance.current.index===i.instance.group.length-1&&!i.instance.current.opts.loop)?r-=Math.pow(-i.distanceX,.8):r+=i.distanceX),i.sliderLastPos={top:\"x\"==s?0:i.sliderStartPos.top+i.distanceY,left:r},i.requestId&&(a(i.requestId),i.requestId=null),void(i.requestId=o(function(){i.sliderLastPos&&(n.each(i.instance.slides,function(t,e){var o=e.pos-i.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:i.sliderLastPos.top,left:i.sliderLastPos.left+o*i.canvasWidth+o*e.opts.gutter})}),i.$container.addClass(\"fancybox-is-sliding\"))})))},u.prototype.onPan=function(){var t,e,i,s=this;s.canTap=!1,t=s.contentStartPos.width>s.canvasWidth?s.contentStartPos.left+s.distanceX:s.contentStartPos.left,e=s.contentStartPos.top+s.distanceY,i=s.limitMovement(t,e,s.contentStartPos.width,s.contentStartPos.height),i.scaleX=s.contentStartPos.scaleX,i.scaleY=s.contentStartPos.scaleY,s.contentLastPos=i,s.requestId&&(a(s.requestId),s.requestId=null),s.requestId=o(function(){n.fancybox.setTranslate(s.$content,s.contentLastPos)})},u.prototype.limitMovement=function(t,e,n,o){var a,i,s,r,c=this,l=c.canvasWidth,u=c.canvasHeight,d=c.contentStartPos.left,f=c.contentStartPos.top,p=c.distanceX,h=c.distanceY;return a=Math.max(0,.5*l-.5*n),i=Math.max(0,.5*u-.5*o),s=Math.min(l-n,.5*l-.5*n),r=Math.min(u-o,.5*u-.5*o),n>l&&(p>0&&t>a&&(t=a-1+Math.pow(-a+d+p,.8)||0),p<0&&t<s&&(t=s+1-Math.pow(s-d-p,.8)||0)),o>u&&(h>0&&e>i&&(e=i-1+Math.pow(-i+f+h,.8)||0),h<0&&e<r&&(e=r+1-Math.pow(r-f-h,.8)||0)),{top:e,left:t}},u.prototype.limitPosition=function(t,e,n,o){var a=this,i=a.canvasWidth,s=a.canvasHeight;return n>i?(t=t>0?0:t,t=t<i-n?i-n:t):t=Math.max(0,i/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},u.prototype.onZoom=function(){var e=this,i=e.contentStartPos.width,r=e.contentStartPos.height,c=e.contentStartPos.left,l=e.contentStartPos.top,u=s(e.newPoints[0],e.newPoints[1]),d=u/e.startDistanceBetweenFingers,f=Math.floor(i*d),p=Math.floor(r*d),h=(i-f)*e.percentageOfImageAtPinchPointX,g=(r-p)*e.percentageOfImageAtPinchPointY,b=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),m=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=b-e.centerPointStartX,v=m-e.centerPointStartY,x=c+(h+y),w=l+(g+v),$={top:w,left:x,scaleX:e.contentStartPos.scaleX*d,scaleY:e.contentStartPos.scaleY*d};e.canTap=!1,e.newWidth=f,e.newHeight=p,e.contentLastPos=$,e.requestId&&(a(e.requestId),e.requestId=null),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},u.prototype.ontouchend=function(t){var o=this,s=Math.max((new Date).getTime()-o.startTime,1),r=o.isSwiping,c=o.isPanning,l=o.isZooming;return o.endPoints=i(t),o.$container.removeClass(\"fancybox-controls--isGrabbing\"),n(e).off(\".fb.touch\"),o.requestId&&(a(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.instance.isDragging=!1,o.canTap?o.onTap(t):(o.speed=366,o.velocityX=o.distanceX/s*.5,o.velocityY=o.distanceY/s*.5,o.speedX=Math.max(.5*o.speed,Math.min(1.5*o.speed,1/Math.abs(o.velocityX)*o.speed)),void(c?o.endPanning():l?o.endZooming():o.endSwiping(r)))},u.prototype.endSwiping=function(t){var e=this,o=!1;e.sliderLastPos=null,\"y\"==t&&Math.abs(e.distanceY)>50?(n.fancybox.animate(e.instance.current.$slide,{top:e.sliderStartPos.top+e.distanceY+150*e.velocityY,opacity:0},150),o=e.instance.close(!0,300)):\"x\"==t&&e.distanceX>50&&e.instance.group.length>1?o=e.instance.previous(e.speedX):\"x\"==t&&e.distanceX<-50&&e.instance.group.length>1&&(o=e.instance.next(e.speedX)),o!==!1||\"x\"!=t&&\"y\"!=t||e.instance.jumpTo(e.instance.current.index,150),e.$container.removeClass(\"fancybox-is-sliding\")},u.prototype.endPanning=function(){var t,e,o,a=this;a.contentLastPos&&(a.opts.momentum===!1?(t=a.contentLastPos.left,e=a.contentLastPos.top):(t=a.contentLastPos.left+a.velocityX*a.speed,e=a.contentLastPos.top+a.velocityY*a.speed),o=a.limitPosition(t,e,a.contentStartPos.width,a.contentStartPos.height),o.width=a.contentStartPos.width,o.height=a.contentStartPos.height,n.fancybox.animate(a.$content,o,330))},u.prototype.endZooming=function(){var t,e,o,a,i=this,s=i.instance.current,r=i.newWidth,c=i.newHeight;i.contentLastPos&&(t=i.contentLastPos.left,e=i.contentLastPos.top,a={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(i.$content,a),r<i.canvasWidth&&c<i.canvasHeight?i.instance.scaleToFit(150):r>s.width||c>s.height?i.instance.scaleToActual(i.centerPointStartX,i.centerPointStartY,150):(o=i.limitPosition(t,e,r,c),n.fancybox.setTranslate(i.content,n.fancybox.getTranslate(i.$content)),n.fancybox.animate(i.$content,o,150)))},u.prototype.onTap=function(t){var e,o=this,a=n(t.target),s=o.instance,r=s.current,c=t&&i(t)||o.startPoints,l=c[0]?c[0].x-o.$stage.offset().left:0,u=c[0]?c[0].y-o.$stage.offset().top:0,d=function(e){var a=r.opts[e];if(n.isFunction(a)&&(a=a.apply(s,[r,t])),a)switch(a){case\"close\":s.close(o.startEvent);break;case\"toggleControls\":s.toggleControls(!0);break;case\"next\":s.next();break;case\"nextOrClose\":s.group.length>1?s.next():s.close(o.startEvent);break;case\"zoom\":\"image\"==r.type&&(r.isLoaded||r.$ghost)&&(s.canPan()?s.scaleToFit():s.isScaledDown()?s.scaleToActual(l,u):s.group.length<2&&s.close(o.startEvent))}};if(!(t.originalEvent&&2==t.originalEvent.button||l>a[0].clientWidth+a.offset().left)){if(a.is(\".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container\"))e=\"Outside\";else if(a.is(\".fancybox-slide\"))e=\"Slide\";else{if(!s.current.$content||!s.current.$content.has(t.target).length)return;e=\"Content\"}if(o.tapped){if(clearTimeout(o.tapped),o.tapped=null,Math.abs(l-o.tapX)>50||Math.abs(u-o.tapY)>50)return this;d(\"dblclick\"+e)}else o.tapX=l,o.tapY=u,r.opts[\"dblclick\"+e]&&r.opts[\"dblclick\"+e]!==r.opts[\"click\"+e]?o.tapped=setTimeout(function(){o.tapped=null,d(\"click\"+e)},500):d(\"click\"+e);return this}},n(e).on(\"onActivate.fb\",function(t,e){e&&!e.Guestures&&(e.Guestures=new u(e))}),n(e).on(\"beforeClose.fb\",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,window.jQuery||jQuery),function(t,e){\"use strict\";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class=\"fancybox-button fancybox-button--play\" title=\"{{PLAY_START}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M13,12 L27,20 L13,27 Z\" /><path d=\"M15,10 v19 M23,10 v19\" /></svg></button>'},slideShow:{autoStart:!1,speed:3e3}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this;t.$button=t.instance.$refs.toolbar.find(\"[data-fancybox-play]\").on(\"click\",function(){t.toggle()}),(t.instance.group.length<2||!t.instance.group[t.instance.currIndex].opts.slideShow)&&t.$button.hide()},set:function(t){var e=this;e.instance&&e.instance.current&&(t===!0||e.instance.current.opts.loop||e.instance.currIndex<e.instance.group.length-1)?e.timer=setTimeout(function(){e.isActive&&e.instance.jumpTo((e.instance.currIndex+1)%e.instance.group.length)},e.instance.current.opts.slideShow.speed):(e.stop(),e.instance.idleSecondsCounter=0,e.instance.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null},start:function(){var t=this,e=t.instance.current;e&&(t.isActive=!0,t.$button.attr(\"title\",e.opts.i18n[e.opts.lang].PLAY_STOP).removeClass(\"fancybox-button--play\").addClass(\"fancybox-button--pause\"),t.set(!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr(\"title\",e.opts.i18n[e.opts.lang].PLAY_START).removeClass(\"fancybox-button--pause\").addClass(\"fancybox-button--play\"),t.isActive=!1},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({\"onInit.fb\":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},\"beforeShow.fb\":function(t,e,n,o){var a=e&&e.SlideShow;o?a&&n.opts.slideShow.autoStart&&a.start():a&&a.isActive&&a.clear()},\"afterShow.fb\":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},\"afterKeydown.fb\":function(n,o,a,i,s){var r=o&&o.SlideShow;!r||!a.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is(\"button,a,input\")||(i.preventDefault(),r.toggle())},\"beforeClose.fb onDeactivate.fb\":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on(\"visibilitychange\",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,window.jQuery||jQuery),function(t,e){\"use strict\";var n=function(){var e,n,o,a=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"webkitRequestFullScreen\",\"webkitCancelFullScreen\",\"webkitCurrentFullScreenElement\",\"webkitCancelFullScreen\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\"]],i={};for(n=0;n<a.length;n++)if(e=a[n],e&&e[1]in t){for(o=0;o<e.length;o++)i[a[0][o]]=e[o];return i}return!1}();if(!n)return void(e&&e.fancybox&&(e.fancybox.defaults.btnTpl.fullScreen=!1));var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class=\"fancybox-button fancybox-button--fullscreen\" title=\"{{FULL_SCREEN}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M9,12 h22 v16 h-22 v-16 v16 h22 v-16 Z\" /></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on({\"onInit.fb\":function(t,e){var n;e&&e.group[e.currIndex].opts.fullScreen?(n=e.$refs.container,n.on(\"click.fb-fullscreen\",\"[data-fancybox-fullscreen]\",function(t){t.stopPropagation(),t.preventDefault(),o.toggle(n[0])}),e.opts.fullScreen&&e.opts.fullScreen.autoStart===!0&&o.request(n[0]),e.FullScreen=o):e&&e.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").hide()},\"afterKeydown.fb\":function(t,e,n,o,a){e&&e.FullScreen&&70===a&&(o.preventDefault(),e.FullScreen.toggle(e.$refs.container[0]))},\"beforeClose.fb\":function(t){t&&t.FullScreen&&o.exit()}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&\"image\"===n.current.type&&n.isAnimating&&(n.current.$content.css(\"transition\",\"none\"),n.isAnimating=!1,n.update(!0,!0,0)),n.trigger(\"onFullscreenChange\",t),n.$refs.container.toggleClass(\"fancybox-is-fullscreen\",t))})}(document,window.jQuery||jQuery),function(t,e){\"use strict\";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class=\"fancybox-button fancybox-button--thumbs\" title=\"{{THUMBS}}\"><svg viewBox=\"0 0 120 120\"><path d=\"M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z\" /></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:\".fancybox-container\",axis:\"y\"}},e.fancybox.defaults);var n=function(t){this.init(t)};e.extend(n.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this;e.instance=t,t.Thumbs=e;var n=t.group[0],o=t.group[1];e.opts=t.group[t.currIndex].opts.thumbs,e.$button=t.$refs.toolbar.find(\"[data-fancybox-thumbs]\"),e.opts&&n&&o&&(\"image\"==n.type||n.opts.thumb||n.opts.$thumb)&&(\"image\"==o.type||o.opts.thumb||o.opts.$thumb)?(e.$button.show().on(\"click\",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,n,o=this,a=o.instance,i=o.opts.parentEl;o.$grid=e('<div class=\"fancybox-thumbs fancybox-thumbs-'+o.opts.axis+'\"></div>').appendTo(a.$refs.container.find(i).addBack().filter(i)),t=\"<ul>\",e.each(a.group,function(e,o){n=o.opts.thumb||(o.opts.$thumb?o.opts.$thumb.attr(\"src\"):null),n||\"image\"!==o.type||(n=o.src),n&&n.length&&(t+='<li data-index=\"'+e+'\"  tabindex=\"0\" class=\"fancybox-thumbs-loading\"><img data-src=\"'+n+'\" /></li>')}),t+=\"</ul>\",o.$list=e(t).appendTo(o.$grid).on(\"click\",\"li\",function(){a.jumpTo(e(this).data(\"index\"))}),o.$list.find(\"img\").hide().one(\"load\",function(){var t,n,o,a,i=e(this).parent().removeClass(\"fancybox-thumbs-loading\"),s=i.outerWidth(),r=i.outerHeight();t=this.naturalWidth||this.width,n=this.naturalHeight||this.height,o=t/s,a=n/r,o>=1&&a>=1&&(o>a?(t/=a,n=r):(t=s,n/=o)),e(this).css({width:Math.floor(t),height:Math.floor(n),\"margin-top\":n>r?Math.floor(.3*r-.3*n):Math.floor(.5*r-.5*n),\"margin-left\":Math.floor(.5*s-.5*t)}).show()}).each(function(){this.src=e(this).data(\"src\")}),\"x\"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css(\"padding-right\"))+a.group.length*o.$list.children().eq(0).outerWidth(!0)+\"px\")},focus:function(t){var e,n,o=this,a=o.$list;o.instance.current&&(e=a.children().removeClass(\"fancybox-thumbs-active\").filter('[data-index=\"'+o.instance.current.index+'\"]').addClass(\"fancybox-thumbs-active\"),n=e.position(),\"y\"===o.opts.axis&&(n.top<0||n.top>a.height()-e.outerHeight())?a.stop().animate({scrollTop:a.scrollTop()+n.top},t):\"x\"===o.opts.axis&&(n.left<a.parent().scrollLeft()||n.left>a.parent().scrollLeft()+(a.parent().width()-e.outerWidth()))&&a.parent().stop().animate({scrollLeft:n.left},t))},update:function(){this.instance.$refs.container.toggleClass(\"fancybox-show-thumbs\",this.isVisible),this.isVisible?(this.$grid||this.create(),this.instance.trigger(\"onThumbsShow\"),this.focus(0)):this.$grid&&this.instance.trigger(\"onThumbsHide\"),this.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({\"onInit.fb\":function(t,e){var o;e&&!e.Thumbs&&(o=new n(e),o.isActive&&o.opts.autoStart===!0&&o.show())},\"beforeShow.fb\":function(t,e,n,o){var a=e&&e.Thumbs;a&&a.isVisible&&a.focus(o?0:250)},\"afterKeydown.fb\":function(t,e,n,o,a){var i=e&&e.Thumbs;i&&i.isActive&&71===a&&(o.preventDefault(),i.toggle())},\"beforeClose.fb\":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&n.opts.hideOnClose!==!1&&n.$grid.hide()}})}(document,window.jQuery),function(t,e){\"use strict\";function n(t){var e={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"/\":\"&#x2F;\",\"`\":\"&#x60;\",\"=\":\"&#x3D;\"};return String(t).replace(/[&<>\"'`=\\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class=\"fancybox-button fancybox-button--share\" title=\"{{SHARE}}\"><svg viewBox=\"0 0 40 40\"><path d=\"M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z\"></svg></button>'},share:{tpl:'<div class=\"fancybox-share\"><h1>{{SHARE}}</h1><p><a href=\"https://www.facebook.com/sharer/sharer.php?u={{src}}\" target=\"_blank\" class=\"fancybox-share_button\"><svg version=\"1.1\" viewBox=\"0 0 32 32\" fill=\"#3b5998\"><path d=\"M27.6 3h-23.2c-.8 0-1.4.6-1.4 1.4v23.1c0 .9.6 1.5 1.4 1.5h12.5v-10.1h-3.4v-3.9h3.4v-2.9c0-3.4 2.1-5.2 5-5.2 1.4 0 2.7.1 3 .2v3.5h-2.1c-1.6 0-1.9.8-1.9 1.9v2.5h3.9l-.5 3.9h-3.4v10.1h6.6c.8 0 1.4-.6 1.4-1.4v-23.2c.1-.8-.5-1.4-1.3-1.4z\"></path></svg><span>Facebook</span></a><a href=\"https://www.pinterest.com/pin/create/button/?url={{src}}&amp;description={{descr}}\" target=\"_blank\" class=\"fancybox-share_button\"><svg version=\"1.1\" viewBox=\"0 0 32 32\" fill=\"#c92228\"><path d=\"M16 3c-7.2 0-13 5.8-13 13 0 5.5 3.4 10.2 8.3 12.1-.1-1-.2-2.6 0-3.7.2-1 1.5-6.5 1.5-6.5s-.4-.8-.4-1.9c0-1.8 1-3.2 2.4-3.2 1.1 0 1.6.8 1.6 1.8 0 1.1-.7 2.8-1.1 4.3-.3 1.3.6 2.3 1.9 2.3 2.3 0 4.1-2.4 4.1-6 0-3.1-2.2-5.3-5.4-5.3-3.7 0-5.9 2.8-5.9 5.6 0 1.1.4 2.3 1 3 .1.1.1.2.1.4-.1.4-.3 1.3-.4 1.5-.1.2-.2.3-.4.2-1.6-.8-2.6-3.1-2.6-5 0-4.1 3-7.9 8.6-7.9 4.5 0 8 3.2 8 7.5 0 4.5-2.8 8.1-6.7 8.1-1.3 0-2.6-.7-3-1.5 0 0-.7 2.5-.8 3.1-.3 1.1-1.1 2.5-1.6 3.4 1.2.4 2.5.6 3.8.6 7.2 0 13-5.8 13-13 0-7.1-5.8-12.9-13-12.9z\"></path></svg><span>Pinterest</span></a><a href=\"https://twitter.com/intent/tweet?url={{src}}&amp;text={{descr}}\" target=\"_blank\" class=\"fancybox-share_button\"><svg version=\"1.1\" viewBox=\"0 0 32 32\" fill=\"#1da1f2\"><path d=\"M30 7.3c-1 .5-2.1.8-3.3.9 1.2-.7 2.1-1.8 2.5-3.2-1.1.7-2.3 1.1-3.6 1.4-1-1.1-2.5-1.8-4.2-1.8-3.2 0-5.7 2.6-5.7 5.7 0 .5.1.9.1 1.3-4.8-.2-9-2.5-11.8-6-.5.9-.8 1.9-.8 3 0 2 1 3.8 2.6 4.8-.9 0-1.8-.3-2.6-.7v.1c0 2.8 2 5.1 4.6 5.6-.5.1-1 .2-1.5.2-.4 0-.7 0-1.1-.1.7 2.3 2.9 3.9 5.4 4-2 1.5-4.4 2.5-7.1 2.5-.5 0-.9 0-1.4-.1 2.5 1.6 5.6 2.6 8.8 2.6 10.6 0 16.3-8.8 16.3-16.3v-.7c1.1-1 2-2 2.8-3.2z\"></path></svg><span>Twitter</span></a></p><p><input type=\"text\" value=\"{{src_raw}}\" onfocus=\"this.select()\" /></p></div>'}}),e(t).on(\"click\",\"[data-fancybox-share]\",function(){var t,o,a=e.fancybox.getInstance();a&&(t=a.current.opts.hash===!1?a.current.src:window.location,o=a.current.opts.share.tpl.replace(/\\{\\{src\\}\\}/g,encodeURIComponent(t)).replace(/\\{\\{src_raw\\}\\}/g,n(t)).replace(/\\{\\{descr\\}\\}/g,a.$caption?encodeURIComponent(a.$caption.text()):\"\"),e.fancybox.open({src:a.translate(a,o),type:\"html\",opts:{animationEffect:\"fade\",animationDuration:250}}))})}(document,window.jQuery||jQuery),function(t,e,n){\"use strict\";function o(){var t=e.location.hash.substr(1),n=t.split(\"-\"),o=n.length>1&&/^\\+?\\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,a=n.join(\"-\");return o<1&&(o=1),{hash:t,index:o,gallery:a}}function a(t){var e;\"\"!==t.gallery&&(e=n(\"[data-fancybox='\"+n.escapeSelector(t.gallery)+\"']\").eq(t.index-1),e.length||(e=n(\"#\"+n.escapeSelector(t.gallery))),e.length&&(s=!1,e.trigger(\"click\")))}function i(t){var e;return!!t&&(e=t.current?t.current.opts:t.opts,e.hash||(e.$orig?e.$orig.data(\"fancybox\"):\"\"))}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,n=function(t,e){return e?\"\\0\"===t?\"\ufffd\":t.slice(0,-1)+\"\\\\\"+t.charCodeAt(t.length-1).toString(16)+\" \":\"\\\\\"+t};return(t+\"\").replace(e,n)});var s=!0,r=null,c=null;n(function(){n.fancybox.defaults.hash!==!1&&(n(t).on({\"onInit.fb\":function(t,e){var n,a;e.group[e.currIndex].opts.hash!==!1&&(n=o(),a=i(e),a&&n.gallery&&a==n.gallery&&(e.currIndex=n.index-1))},\"beforeShow.fb\":function(n,o,a){var l;a&&a.opts.hash!==!1&&(l=i(o),l&&\"\"!==l&&(e.location.hash.indexOf(l)<0&&(o.opts.origHash=e.location.hash),r=l+(o.group.length>1?\"-\"+(a.index+1):\"\"),\"replaceState\"in e.history?(c&&clearTimeout(c),c=setTimeout(function(){e.history[s?\"pushState\":\"replaceState\"]({},t.title,e.location.pathname+e.location.search+\"#\"+r),c=null,s=!1},300)):e.location.hash=r))},\"beforeClose.fb\":function(o,a,s){var l,u;c&&clearTimeout(c),s.opts.hash!==!1&&(l=i(a),u=a&&a.opts.origHash?a.opts.origHash:\"\",l&&\"\"!==l&&(\"replaceState\"in history?e.history.replaceState({},t.title,e.location.pathname+e.location.search+u):(e.location.hash=u,n(e).scrollTop(a.scrollTop).scrollLeft(a.scrollLeft))),r=null)}}),n(e).on(\"hashchange.fb\",function(){var t=o();n.fancybox.getInstance()?!r||r===t.gallery+\"-\"+t.index||1===t.index&&r==t.gallery||(r=null,n.fancybox.close()):\"\"!==t.gallery&&a(t)}),setTimeout(function(){a(o())},50))})}(document,window,window.jQuery||jQuery),function(t,e){\"use strict\";var n=(new Date).getTime();e(t).on({\"onInit.fb\":function(t,e,o){e.$refs.stage.on(\"mousewheel DOMMouseScroll wheel MozMousePixelScroll\",function(t){var o,a,i,s,r,c=e.current;c.opts.wheel===!1||\"auto\"===c.opts.wheel&&\"image\"!==c.type||c.$slide.hasClass(\"fancybox-animated\")||e.group.length<1||(t.preventDefault(),t.stopPropagation(),t=t.originalEvent||t,o-n<250||(n=o,a=t.wheelDelta||-t.deltaY||-t.detail,i=Math.max(-1,Math.min(1,a)),s=\"undefined\"!=typeof t.wheelDeltaX||\"undefined\"!=typeof t.deltaX,r=!s||Math.abs(t.wheelDeltaX)<Math.abs(t.wheelDelta)||Math.abs(t.deltaX)<Math.abs(t.deltaY),i<0?e[r?\"previous\":\"next\"]():e[r?\"next\":\"previous\"]()))})}})}(document,window.jQuery||jQuery);","Magefan_Blog/js/lib/masonry.pkgd.min.js":"/*!\n * Masonry PACKAGED v4.1.1\n * Cascading grid layout library\n * http://masonry.desandro.com\n * MIT License\n * by David DeSandro\n */\n\n!function(t,e){\"function\"==typeof define&&define.amd?define(\"jquery-bridget/jquery-bridget\",[\"jquery\"],function(i){return e(t,i)}):\"object\"==typeof module&&module.exports?module.exports=e(t,require(\"jquery\")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){\"use strict\";function i(i,r,a){function h(t,e,n){var o,r=\"$().\"+i+'(\"'+e+'\")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+\" not initialized. Cannot call methods, i.e. \"+r);var d=u[e];if(!d||\"_\"==e.charAt(0))return void s(r+\" is not a valid method\");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if(\"string\"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s=\"undefined\"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){\"function\"==typeof define&&define.amd?define(\"ev-emitter/ev-emitter\",e):\"object\"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(\"undefined\"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){\"use strict\";\"function\"==typeof define&&define.amd?define(\"get-size/get-size\",[],function(){return e()}):\"object\"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){\"use strict\";function t(t){var e=parseFloat(t),i=-1==t.indexOf(\"%\")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a(\"Style returned \"+e+\". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1\"),e}function o(){if(!d){d=!0;var e=document.createElement(\"div\");e.style.width=\"200px\",e.style.padding=\"1px 2px 3px 4px\",e.style.borderStyle=\"solid\",e.style.borderWidth=\"1px 2px 3px 4px\",e.style.boxSizing=\"border-box\";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=s=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),\"string\"==typeof e&&(e=document.querySelector(e)),e&&\"object\"==typeof e&&e.nodeType){var r=n(e);if(\"none\"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox=\"border-box\"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,E=a.borderTopWidth+a.borderBottomWidth,z=d&&s,b=t(r.width);b!==!1&&(a.width=b+(z?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(z?0:g+E)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+E),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a=\"undefined\"==typeof console?e:function(t){console.error(t)},h=[\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"paddingBottom\",\"marginLeft\",\"marginRight\",\"marginTop\",\"marginBottom\",\"borderLeftWidth\",\"borderRightWidth\",\"borderTopWidth\",\"borderBottomWidth\"],u=h.length,d=!1;return r}),function(t,e){\"use strict\";\"function\"==typeof define&&define.amd?define(\"desandro-matches-selector/matches-selector\",e):\"object\"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){\"use strict\";var t=function(){var t=Element.prototype;if(t.matches)return\"matches\";if(t.matchesSelector)return\"matchesSelector\";for(var e=[\"webkit\",\"moz\",\"ms\",\"o\"],i=0;i<e.length;i++){var n=e[i],o=n+\"MatchesSelector\";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){\"function\"==typeof define&&define.amd?define(\"fizzy-ui-utils/utils\",[\"desandro-matches-selector/matches-selector\"],function(i){return e(t,i)}):\"object\"==typeof module&&module.exports?module.exports=e(t,require(\"desandro-matches-selector\")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&\"number\"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return\"string\"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e=\"on\"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+\"Timeout\";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i||100)}},i.docReady=function(t){var e=document.readyState;\"complete\"==e||\"interactive\"==e?t():document.addEventListener(\"DOMContentLoaded\",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+\"-\"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var r=i.toDashed(o),s=\"data-\"+r,a=document.querySelectorAll(\"[\"+s+\"]\"),h=document.querySelectorAll(\".js-\"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+\"-options\",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(n&&n.error(\"Error parsing \"+s+\" on \"+t.className+\": \"+a))}var h=new e(t,i);l&&l.data(t,o,h)})})},i}),function(t,e){\"function\"==typeof define&&define.amd?define(\"outlayer/item\",[\"ev-emitter/ev-emitter\",\"get-size/get-size\"],e):\"object\"==typeof module&&module.exports?module.exports=e(require(\"ev-emitter\"),require(\"get-size\")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){\"use strict\";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return\"-\"+t.toLowerCase()})}var r=document.documentElement.style,s=\"string\"==typeof r.transition?\"transition\":\"WebkitTransition\",a=\"string\"==typeof r.transform?\"transform\":\"WebkitTransform\",h={WebkitTransition:\"webkitTransitionEnd\",transition:\"transitionend\"}[s],u={transform:a,transition:s,transitionDuration:s+\"Duration\",transitionProperty:s+\"Property\",transitionDelay:s+\"Delay\"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:\"absolute\"})},d.handleEvent=function(t){var e=\"on\"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption(\"originLeft\"),i=this.layout._getOption(\"originTop\"),n=t[e?\"left\":\"right\"],o=t[i?\"top\":\"bottom\"],r=this.layout.size,s=-1!=n.indexOf(\"%\")?parseFloat(n)/100*r.width:parseInt(n,10),a=-1!=o.indexOf(\"%\")?parseFloat(o)/100*r.height:parseInt(o,10);s=isNaN(s)?0:s,a=isNaN(a)?0:a,s-=e?r.paddingLeft:r.paddingRight,a-=i?r.paddingTop:r.paddingBottom,this.position.x=s,this.position.y=a},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption(\"originLeft\"),n=this.layout._getOption(\"originTop\"),o=i?\"paddingLeft\":\"paddingRight\",r=i?\"left\":\"right\",s=i?\"right\":\"left\",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]=\"\";var h=n?\"paddingTop\":\"paddingBottom\",u=n?\"top\":\"bottom\",d=n?\"bottom\":\"top\",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]=\"\",this.css(e),this.emitEvent(\"layout\",[this])},d.getXValue=function(t){var e=this.layout._getOption(\"horizontal\");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+\"%\":t+\"px\"},d.getYValue=function(t){var e=this.layout._getOption(\"horizontal\");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+\"%\":t+\"px\"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption(\"originLeft\"),n=this.layout._getOption(\"originTop\");return t=i?t:-t,e=n?e:-e,\"translate3d(\"+t+\"px, \"+e+\"px, 0)\"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l=\"opacity,\"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t=\"number\"==typeof t?t+\"ms\":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={\"-webkit-transform\":\"transform\"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]=\"\",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent(\"transitionEnd\",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]=\"\";this.css(e)};var f={transitionProperty:\"\",transitionDuration:\"\",transitionDelay:\"\"};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+\"ms\"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:\"\"}),this.emitEvent(\"remove\",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once(\"transitionEnd\",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:\"\"});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty(\"visibleStyle\");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent(\"reveal\")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return\"opacity\";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:\"\"});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty(\"hiddenStyle\");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:\"none\"}),this.emitEvent(\"hide\"))},d.destroy=function(){this.css({position:\"\",left:\"\",right:\"\",top:\"\",bottom:\"\",transition:\"\",transform:\"\"})},n}),function(t,e){\"use strict\";\"function\"==typeof define&&define.amd?define(\"outlayer/outlayer\",[\"ev-emitter/ev-emitter\",\"get-size/get-size\",\"fizzy-ui-utils/utils\",\"./item\"],function(i,n,o,r){return e(t,i,n,o,r)}):\"object\"==typeof module&&module.exports?module.exports=e(t,require(\"ev-emitter\"),require(\"get-size\"),require(\"fizzy-ui-utils\"),require(\"./item\")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){\"use strict\";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error(\"Bad element for \"+this.constructor.namespace+\": \"+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption(\"initLayout\");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if(\"number\"==typeof t)return t;var e=t.match(/(^\\d*\\.?\\d*)(\\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace=\"outlayer\",r.Item=o,r.defaults={containerStyle:{position:\"relative\"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:\"0.4s\",hiddenStyle:{opacity:0,transform:\"scale(0.001)\"},visibleStyle:{opacity:1,transform:\"scale(1)\"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:\"isInitLayout\",horizontal:\"isHorizontal\",layoutInstant:\"isLayoutInstant\",originLeft:\"isOriginLeft\",originTop:\"isOriginTop\",resize:\"isResizeBound\",resizeContainer:\"isResizingContainer\"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption(\"resize\");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption(\"layoutInstant\"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?(\"string\"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems(\"layout\",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption(\"resizeContainer\");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?\"width\":\"height\"]=t+\"px\"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+\"Complete\",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?(\"string\"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener(\"resize\",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener(\"resize\",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,\"onresize\",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems(\"reveal\",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems(\"hide\",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems(\"remove\",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height=\"\",t.position=\"\",t.width=\"\",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){\"function\"==typeof define&&define.amd?define([\"outlayer/outlayer\",\"get-size/get-size\"],e):\"object\"==typeof module&&module.exports?module.exports=e(require(\"outlayer\"),require(\"get-size\")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create(\"masonry\");return i.compatOptions.fitWidth=\"isFitWidth\",i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement(\"columnWidth\",\"outerWidth\"),this._getMeasurement(\"gutter\",\"outerWidth\"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?\"round\":\"floor\";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption(\"fitWidth\"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?\"round\":\"ceil\",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,u=this.cols+1-o.length,d=0;u>d;d++)this.colYs[s+d]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption(\"originLeft\"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption(\"originTop\"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption(\"fitWidth\")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});","Magefan_Blog/js/lib/mfblogunveil.js":"/**\n * jQuery Unveil\n * A very lightweight jQuery plugin to lazy load images\n * http://luis-almeida.github.com/unveil\n *\n * Licensed under the MIT license.\n * Copyright 2013 Lu\u00eds Almeida\n * https://github.com/luis-almeida\n */\n\ndefine(['jquery'], function($) {\n    /* Origin https://github.com/luis-almeida/unveil/blob/master/jquery.unveil.js */\n    $.fn.mfblogunveil = function(threshold, callback) {\n\n        var $w = $(window),\n            th = threshold || 0,\n            attrib = 'data-original',\n            images = this,\n            loaded;\n\n        this.one(\"mfblogunveil\", function() {\n            var source = this.getAttribute(attrib);\n            /*source = source || this.getAttribute(\"data-src\");*/\n            if (source) {\n                /*this.setAttribute(\"src\", source);*/\n\n                if (window.MagefanWebP && window.MagefanWebP.canUseWebP() && !source.includes('mf_webp')) {\n                    source = window.MagefanWebP.getWebUrl(source);\n                }\n                \n                var style = this.getAttribute('style') ? (this.getAttribute('style') + '; ') : '';\n                style = style + 'background-image: url(\"' + source + '\");'\n                this.setAttribute('style', style);\n\n                if (typeof callback === \"function\") callback.call(this);\n            }\n        });\n\n        function mfblogunveil() {\n            var inview = images.filter(function() {\n                var $e = $(this);\n                if ($e.is(\":hidden\")) return;\n\n                var wt = $w.scrollTop(),\n                    wb = wt + $w.height(),\n                    et = $e.offset().top,\n                    eb = et + $e.height();\n\n                return eb >= wt - th && et <= wb + th;\n            });\n\n            loaded = inview.trigger(\"mfblogunveil\");\n            images = images.not(loaded);\n        }\n\n        $w.on(\"scroll.mfblogunveil resize.mfblogunveil lookup.mfblogunveil\", mfblogunveil);\n\n        mfblogunveil();\n\n        return this;\n    };\n});\n","Smartwave_Porto/js/packery.pkgd.js":"/*!\n * Packery PACKAGED v1.4.3\n * bin-packing layout library\n *\n * Licensed GPLv3 for open source use\n * or Flickity Commercial License for commercial use\n *\n * http://packery.metafizzy.co\n * Copyright 2015 Metafizzy\n */\n\n/**\n * Bridget makes jQuery widgets\n * v1.1.0\n * MIT license\n */\n\n( function( window ) {\n\n\n\n// -------------------------- utils -------------------------- //\n\nvar slice = Array.prototype.slice;\n\nfunction noop() {}\n\n// -------------------------- definition -------------------------- //\n\nfunction defineBridget( $ ) {\n\n// bail if no jQuery\nif ( !$ ) {\n  return;\n}\n\n// -------------------------- addOptionMethod -------------------------- //\n\n/**\n * adds option method -> $().plugin('option', {...})\n * @param {Function} PluginClass - constructor class\n */\nfunction addOptionMethod( PluginClass ) {\n  // don't overwrite original option method\n  if ( PluginClass.prototype.option ) {\n    return;\n  }\n\n  // option setter\n  PluginClass.prototype.option = function( opts ) {\n    // bail out if not an object\n    if ( !$.isPlainObject( opts ) ){\n      return;\n    }\n    this.options = $.extend( true, this.options, opts );\n  };\n}\n\n// -------------------------- plugin bridge -------------------------- //\n\n// helper function for logging errors\n// $.error breaks jQuery chaining\nvar logError = typeof console === 'undefined' ? noop :\n  function( message ) {\n    console.error( message );\n  };\n\n/**\n * jQuery plugin bridge, access methods like $elem.plugin('method')\n * @param {String} namespace - plugin name\n * @param {Function} PluginClass - constructor class\n */\nfunction bridge( namespace, PluginClass ) {\n  // add to jQuery fn namespace\n  $.fn[ namespace ] = function( options ) {\n    if ( typeof options === 'string' ) {\n      // call plugin method when first argument is a string\n      // get arguments for method\n      var args = slice.call( arguments, 1 );\n\n      for ( var i=0, len = this.length; i < len; i++ ) {\n        var elem = this[i];\n        var instance = $.data( elem, namespace );\n        if ( !instance ) {\n          logError( \"cannot call methods on \" + namespace + \" prior to initialization; \" +\n            \"attempted to call '\" + options + \"'\" );\n          continue;\n        }\n        if ( !$.isFunction( instance[options] ) || options.charAt(0) === '_' ) {\n          logError( \"no such method '\" + options + \"' for \" + namespace + \" instance\" );\n          continue;\n        }\n\n        // trigger method with arguments\n        var returnValue = instance[ options ].apply( instance, args );\n\n        // break look and return first value if provided\n        if ( returnValue !== undefined ) {\n          return returnValue;\n        }\n      }\n      // return this if no return value\n      return this;\n    } else {\n      return this.each( function() {\n        var instance = $.data( this, namespace );\n        if ( instance ) {\n          // apply options & init\n          instance.option( options );\n          instance._init();\n        } else {\n          // initialize new instance\n          instance = new PluginClass( this, options );\n          $.data( this, namespace, instance );\n        }\n      });\n    }\n  };\n\n}\n\n// -------------------------- bridget -------------------------- //\n\n/**\n * converts a Prototypical class into a proper jQuery plugin\n *   the class must have a ._init method\n * @param {String} namespace - plugin name, used in $().pluginName\n * @param {Function} PluginClass - constructor class\n */\n$.bridget = function( namespace, PluginClass ) {\n  addOptionMethod( PluginClass );\n  bridge( namespace, PluginClass );\n};\n\nreturn $.bridget;\n\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n  // AMD\n  define( 'jquery-bridget/jquery.bridget',[ 'jquery' ], defineBridget );\n} else if ( typeof exports === 'object' ) {\n  defineBridget( require('jquery') );\n} else {\n  // get jquery from browser global\n  defineBridget( window.jQuery );\n}\ndefineBridget( window.jQuery );\n})( window );\n\n/*!\n * classie v1.0.1\n * class helper functions\n * from bonzo https://github.com/ded/bonzo\n * MIT license\n * \n * classie.has( elem, 'my-class' ) -> true/false\n * classie.add( elem, 'my-new-class' )\n * classie.remove( elem, 'my-unwanted-class' )\n * classie.toggle( elem, 'my-class' )\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n/*global define: false, module: false */\n\n( function( window ) {\n\n\n\n// class helper functions from bonzo https://github.com/ded/bonzo\n\nfunction classReg( className ) {\n  return new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\");\n}\n\n// classList support for class management\n// altho to be fair, the api sucks because it won't accept multiple classes at once\nvar hasClass, addClass, removeClass;\n\nif ( 'classList' in document.documentElement ) {\n  hasClass = function( elem, c ) {\n    return elem.classList.contains( c );\n  };\n  addClass = function( elem, c ) {\n    elem.classList.add( c );\n  };\n  removeClass = function( elem, c ) {\n    elem.classList.remove( c );\n  };\n}\nelse {\n  hasClass = function( elem, c ) {\n    return classReg( c ).test( elem.className );\n  };\n  addClass = function( elem, c ) {\n    if ( !hasClass( elem, c ) ) {\n      elem.className = elem.className + ' ' + c;\n    }\n  };\n  removeClass = function( elem, c ) {\n    elem.className = elem.className.replace( classReg( c ), ' ' );\n  };\n}\n\nfunction toggleClass( elem, c ) {\n  var fn = hasClass( elem, c ) ? removeClass : addClass;\n  fn( elem, c );\n}\n\nvar classie = {\n  // full names\n  hasClass: hasClass,\n  addClass: addClass,\n  removeClass: removeClass,\n  toggleClass: toggleClass,\n  // short names\n  has: hasClass,\n  add: addClass,\n  remove: removeClass,\n  toggle: toggleClass\n};\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n  // AMD\n  define( 'classie/classie',classie );\n} else if ( typeof exports === 'object' ) {\n  // CommonJS\n  module.exports = classie;\n} else {\n  // browser global\n  window.classie = classie;\n}\n\n})( window );\n\n/*!\n * getStyleProperty v1.0.4\n * original by kangax\n * http://perfectionkills.com/feature-testing-css-properties/\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true */\n/*global define: false, exports: false, module: false */\n\n( function( window ) {\n\n\n\nvar prefixes = 'Webkit Moz ms Ms O'.split(' ');\nvar docElemStyle = document.documentElement.style;\n\nfunction getStyleProperty( propName ) {\n  if ( !propName ) {\n    return;\n  }\n\n  // test standard property first\n  if ( typeof docElemStyle[ propName ] === 'string' ) {\n    return propName;\n  }\n\n  // capitalize\n  propName = propName.charAt(0).toUpperCase() + propName.slice(1);\n\n  // test vendor specific properties\n  var prefixed;\n  for ( var i=0, len = prefixes.length; i < len; i++ ) {\n    prefixed = prefixes[i] + propName;\n    if ( typeof docElemStyle[ prefixed ] === 'string' ) {\n      return prefixed;\n    }\n  }\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n  // AMD\n  define( 'get-style-property/get-style-property',[],function() {\n    return getStyleProperty;\n  });\n} else if ( typeof exports === 'object' ) {\n  // CommonJS for Component\n  module.exports = getStyleProperty;\n} else {\n  // browser global\n  window.getStyleProperty = getStyleProperty;\n}\n\n})( window );\n\n/*!\n * getSize v1.2.2\n * measure size of elements\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n/*global define: false, exports: false, require: false, module: false, console: false */\n\n( function( window, undefined ) {\n\n\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n  var num = parseFloat( value );\n  // not a percent like '100%', and a number\n  var isValid = value.indexOf('%') === -1 && !isNaN( num );\n  return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console === 'undefined' ? noop :\n  function( message ) {\n    console.error( message );\n  };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n  'paddingLeft',\n  'paddingRight',\n  'paddingTop',\n  'paddingBottom',\n  'marginLeft',\n  'marginRight',\n  'marginTop',\n  'marginBottom',\n  'borderLeftWidth',\n  'borderRightWidth',\n  'borderTopWidth',\n  'borderBottomWidth'\n];\n\nfunction getZeroSize() {\n  var size = {\n    width: 0,\n    height: 0,\n    innerWidth: 0,\n    innerHeight: 0,\n    outerWidth: 0,\n    outerHeight: 0\n  };\n  for ( var i=0, len = measurements.length; i < len; i++ ) {\n    var measurement = measurements[i];\n    size[ measurement ] = 0;\n  }\n  return size;\n}\n\n\n\nfunction defineGetSize( getStyleProperty ) {\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar getStyle, boxSizingProp, isBoxSizeOuter;\n\n/**\n * setup vars and functions\n * do it on initial getSize(), rather than on script load\n * For Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction setup() {\n  // setup once\n  if ( isSetup ) {\n    return;\n  }\n  isSetup = true;\n\n  var getComputedStyle = window.getComputedStyle;\n  getStyle = ( function() {\n    var getStyleFn = getComputedStyle ?\n      function( elem ) {\n        return getComputedStyle( elem, null );\n      } :\n      function( elem ) {\n        return elem.currentStyle;\n      };\n\n      return function getStyle( elem ) {\n        var style = getStyleFn( elem );\n        if ( !style ) {\n          logError( 'Style returned ' + style +\n            '. Are you running this code in a hidden iframe on Firefox? ' +\n            'See http://bit.ly/getsizebug1' );\n        }\n        return style;\n      };\n  })();\n\n  // -------------------------- box sizing -------------------------- //\n\n  boxSizingProp = getStyleProperty('boxSizing');\n\n  /**\n   * WebKit measures the outer-width on style.width on border-box elems\n   * IE & Firefox measures the inner-width\n   */\n  if ( boxSizingProp ) {\n    var div = document.createElement('div');\n    div.style.width = '200px';\n    div.style.padding = '1px 2px 3px 4px';\n    div.style.borderStyle = 'solid';\n    div.style.borderWidth = '1px 2px 3px 4px';\n    div.style[ boxSizingProp ] = 'border-box';\n\n    var body = document.body || document.documentElement;\n    body.appendChild( div );\n    var style = getStyle( div );\n\n    isBoxSizeOuter = getStyleSize( style.width ) === 200;\n    body.removeChild( div );\n  }\n\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n  setup();\n\n  // use querySeletor if elem is string\n  if ( typeof elem === 'string' ) {\n    elem = document.querySelector( elem );\n  }\n\n  // do not proceed on non-objects\n  if ( !elem || typeof elem !== 'object' || !elem.nodeType ) {\n    return;\n  }\n\n  var style = getStyle( elem );\n\n  // if hidden, everything is 0\n  if ( style.display === 'none' ) {\n    return getZeroSize();\n  }\n\n  var size = {};\n  size.width = elem.offsetWidth;\n  size.height = elem.offsetHeight;\n\n  var isBorderBox = size.isBorderBox = !!( boxSizingProp &&\n    style[ boxSizingProp ] && style[ boxSizingProp ] === 'border-box' );\n\n  // get all measurements\n  for ( var i=0, len = measurements.length; i < len; i++ ) {\n    var measurement = measurements[i];\n    var value = style[ measurement ];\n    value = mungeNonPixel( elem, value );\n    var num = parseFloat( value );\n    // any 'auto', 'medium' value will be 0\n    size[ measurement ] = !isNaN( num ) ? num : 0;\n  }\n\n  var paddingWidth = size.paddingLeft + size.paddingRight;\n  var paddingHeight = size.paddingTop + size.paddingBottom;\n  var marginWidth = size.marginLeft + size.marginRight;\n  var marginHeight = size.marginTop + size.marginBottom;\n  var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n  var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n  var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n  // overwrite width and height if we can get it from style\n  var styleWidth = getStyleSize( style.width );\n  if ( styleWidth !== false ) {\n    size.width = styleWidth +\n      // add padding and border unless it's already including it\n      ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n  }\n\n  var styleHeight = getStyleSize( style.height );\n  if ( styleHeight !== false ) {\n    size.height = styleHeight +\n      // add padding and border unless it's already including it\n      ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n  }\n\n  size.innerWidth = size.width - ( paddingWidth + borderWidth );\n  size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n  size.outerWidth = size.width + marginWidth;\n  size.outerHeight = size.height + marginHeight;\n\n  return size;\n}\n\n// IE8 returns percent values, not pixels\n// taken from jQuery's curCSS\nfunction mungeNonPixel( elem, value ) {\n  // IE8 and has percent value\n  if ( window.getComputedStyle || value.indexOf('%') === -1 ) {\n    return value;\n  }\n  var style = elem.style;\n  // Remember the original values\n  var left = style.left;\n  var rs = elem.runtimeStyle;\n  var rsLeft = rs && rs.left;\n\n  // Put in the new values to get a computed value out\n  if ( rsLeft ) {\n    rs.left = elem.currentStyle.left;\n  }\n  style.left = value;\n  value = style.pixelLeft;\n\n  // Revert the changed values\n  style.left = left;\n  if ( rsLeft ) {\n    rs.left = rsLeft;\n  }\n\n  return value;\n}\n\nreturn getSize;\n\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n  // AMD for RequireJS\n  define( 'get-size/get-size',[ 'get-style-property/get-style-property' ], defineGetSize );\n} else if ( typeof exports === 'object' ) {\n  // CommonJS for Component\n  module.exports = defineGetSize( require('desandro-get-style-property') );\n} else {\n  // browser global\n  window.getSize = defineGetSize( window.getStyleProperty );\n}\n\n})( window );\n\n/*!\n * eventie v1.0.6\n * event binding helper\n *   eventie.bind( elem, 'click', myFn )\n *   eventie.unbind( elem, 'click', myFn )\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true */\n/*global define: false, module: false */\n\n( function( window ) {\n\n\n\nvar docElem = document.documentElement;\n\nvar bind = function() {};\n\nfunction getIEEvent( obj ) {\n  var event = window.event;\n  // add event.target\n  event.target = event.target || event.srcElement || obj;\n  return event;\n}\n\nif ( docElem.addEventListener ) {\n  bind = function( obj, type, fn ) {\n    obj.addEventListener( type, fn, false );\n  };\n} else if ( docElem.attachEvent ) {\n  bind = function( obj, type, fn ) {\n    obj[ type + fn ] = fn.handleEvent ?\n      function() {\n        var event = getIEEvent( obj );\n        fn.handleEvent.call( fn, event );\n      } :\n      function() {\n        var event = getIEEvent( obj );\n        fn.call( obj, event );\n      };\n    obj.attachEvent( \"on\" + type, obj[ type + fn ] );\n  };\n}\n\nvar unbind = function() {};\n\nif ( docElem.removeEventListener ) {\n  unbind = function( obj, type, fn ) {\n    obj.removeEventListener( type, fn, false );\n  };\n} else if ( docElem.detachEvent ) {\n  unbind = function( obj, type, fn ) {\n    obj.detachEvent( \"on\" + type, obj[ type + fn ] );\n    try {\n      delete obj[ type + fn ];\n    } catch ( err ) {\n      // can't delete window object properties\n      obj[ type + fn ] = undefined;\n    }\n  };\n}\n\nvar eventie = {\n  bind: bind,\n  unbind: unbind\n};\n\n// ----- module definition ----- //\n\nif ( typeof define === 'function' && define.amd ) {\n  // AMD\n  define( 'eventie/eventie',eventie );\n} else if ( typeof exports === 'object' ) {\n  // CommonJS\n  module.exports = eventie;\n} else {\n  // browser global\n  window.eventie = eventie;\n}\nwindow.eventie = eventie;\n})( window );\n\n/*!\n * EventEmitter v4.2.11 - git.io/ee\n * Unlicense - http://unlicense.org/\n * Oliver Caldwell - http://oli.me.uk/\n * @preserve\n */\n\n;(function () {\n    \n\n    /**\n     * Class for managing events.\n     * Can be extended to provide event functionality in other classes.\n     *\n     * @class EventEmitter Manages event registering and emitting.\n     */\n    function EventEmitter() {}\n\n    // Shortcuts to improve speed and size\n    var proto = EventEmitter.prototype;\n    var exports = this;\n    var originalGlobalValue = exports.EventEmitter;\n\n    /**\n     * Finds the index of the listener for the event in its storage array.\n     *\n     * @param {Function[]} listeners Array of listeners to search through.\n     * @param {Function} listener Method to look for.\n     * @return {Number} Index of the specified listener, -1 if not found\n     * @api private\n     */\n    function indexOfListener(listeners, listener) {\n        var i = listeners.length;\n        while (i--) {\n            if (listeners[i].listener === listener) {\n                return i;\n            }\n        }\n\n        return -1;\n    }\n\n    /**\n     * Alias a method while keeping the context correct, to allow for overwriting of target method.\n     *\n     * @param {String} name The name of the target method.\n     * @return {Function} The aliased method\n     * @api private\n     */\n    function alias(name) {\n        return function aliasClosure() {\n            return this[name].apply(this, arguments);\n        };\n    }\n\n    /**\n     * Returns the listener array for the specified event.\n     * Will initialise the event object and listener arrays if required.\n     * Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.\n     * Each property in the object response is an array of listener functions.\n     *\n     * @param {String|RegExp} evt Name of the event to return the listeners from.\n     * @return {Function[]|Object} All listener functions for the event.\n     */\n    proto.getListeners = function getListeners(evt) {\n        var events = this._getEvents();\n        var response;\n        var key;\n\n        // Return a concatenated array of all matching events if\n        // the selector is a regular expression.\n        if (evt instanceof RegExp) {\n            response = {};\n            for (key in events) {\n                if (events.hasOwnProperty(key) && evt.test(key)) {\n                    response[key] = events[key];\n                }\n            }\n        }\n        else {\n            response = events[evt] || (events[evt] = []);\n        }\n\n        return response;\n    };\n\n    /**\n     * Takes a list of listener objects and flattens it into a list of listener functions.\n     *\n     * @param {Object[]} listeners Raw listener objects.\n     * @return {Function[]} Just the listener functions.\n     */\n    proto.flattenListeners = function flattenListeners(listeners) {\n        var flatListeners = [];\n        var i;\n\n        for (i = 0; i < listeners.length; i += 1) {\n            flatListeners.push(listeners[i].listener);\n        }\n\n        return flatListeners;\n    };\n\n    /**\n     * Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.\n     *\n     * @param {String|RegExp} evt Name of the event to return the listeners from.\n     * @return {Object} All listener functions for an event in an object.\n     */\n    proto.getListenersAsObject = function getListenersAsObject(evt) {\n        var listeners = this.getListeners(evt);\n        var response;\n\n        if (listeners instanceof Array) {\n            response = {};\n            response[evt] = listeners;\n        }\n\n        return response || listeners;\n    };\n\n    /**\n     * Adds a listener function to the specified event.\n     * The listener will not be added if it is a duplicate.\n     * If the listener returns true then it will be removed after it is called.\n     * If you pass a regular expression as the event name then the listener will be added to all events that match it.\n     *\n     * @param {String|RegExp} evt Name of the event to attach the listener to.\n     * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.addListener = function addListener(evt, listener) {\n        var listeners = this.getListenersAsObject(evt);\n        var listenerIsWrapped = typeof listener === 'object';\n        var key;\n\n        for (key in listeners) {\n            if (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {\n                listeners[key].push(listenerIsWrapped ? listener : {\n                    listener: listener,\n                    once: false\n                });\n            }\n        }\n\n        return this;\n    };\n\n    /**\n     * Alias of addListener\n     */\n    proto.on = alias('addListener');\n\n    /**\n     * Semi-alias of addListener. It will add a listener that will be\n     * automatically removed after its first execution.\n     *\n     * @param {String|RegExp} evt Name of the event to attach the listener to.\n     * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.addOnceListener = function addOnceListener(evt, listener) {\n        return this.addListener(evt, {\n            listener: listener,\n            once: true\n        });\n    };\n\n    /**\n     * Alias of addOnceListener.\n     */\n    proto.once = alias('addOnceListener');\n\n    /**\n     * Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.\n     * You need to tell it what event names should be matched by a regex.\n     *\n     * @param {String} evt Name of the event to create.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.defineEvent = function defineEvent(evt) {\n        this.getListeners(evt);\n        return this;\n    };\n\n    /**\n     * Uses defineEvent to define multiple events.\n     *\n     * @param {String[]} evts An array of event names to define.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.defineEvents = function defineEvents(evts) {\n        for (var i = 0; i < evts.length; i += 1) {\n            this.defineEvent(evts[i]);\n        }\n        return this;\n    };\n\n    /**\n     * Removes a listener function from the specified event.\n     * When passed a regular expression as the event name, it will remove the listener from all events that match it.\n     *\n     * @param {String|RegExp} evt Name of the event to remove the listener from.\n     * @param {Function} listener Method to remove from the event.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.removeListener = function removeListener(evt, listener) {\n        var listeners = this.getListenersAsObject(evt);\n        var index;\n        var key;\n\n        for (key in listeners) {\n            if (listeners.hasOwnProperty(key)) {\n                index = indexOfListener(listeners[key], listener);\n\n                if (index !== -1) {\n                    listeners[key].splice(index, 1);\n                }\n            }\n        }\n\n        return this;\n    };\n\n    /**\n     * Alias of removeListener\n     */\n    proto.off = alias('removeListener');\n\n    /**\n     * Adds listeners in bulk using the manipulateListeners method.\n     * If you pass an object as the second argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.\n     * You can also pass it a regular expression to add the array of listeners to all events that match it.\n     * Yeah, this function does quite a bit. That's probably a bad thing.\n     *\n     * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.\n     * @param {Function[]} [listeners] An optional array of listener functions to add.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.addListeners = function addListeners(evt, listeners) {\n        // Pass through to manipulateListeners\n        return this.manipulateListeners(false, evt, listeners);\n    };\n\n    /**\n     * Removes listeners in bulk using the manipulateListeners method.\n     * If you pass an object as the second argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n     * You can also pass it an event name and an array of listeners to be removed.\n     * You can also pass it a regular expression to remove the listeners from all events that match it.\n     *\n     * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.\n     * @param {Function[]} [listeners] An optional array of listener functions to remove.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.removeListeners = function removeListeners(evt, listeners) {\n        // Pass through to manipulateListeners\n        return this.manipulateListeners(true, evt, listeners);\n    };\n\n    /**\n     * Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.\n     * The first argument will determine if the listeners are removed (true) or added (false).\n     * If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n     * You can also pass it an event name and an array of listeners to be added/removed.\n     * You can also pass it a regular expression to manipulate the listeners of all events that match it.\n     *\n     * @param {Boolean} remove True if you want to remove listeners, false if you want to add.\n     * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.\n     * @param {Function[]} [listeners] An optional array of listener functions to add/remove.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {\n        var i;\n        var value;\n        var single = remove ? this.removeListener : this.addListener;\n        var multiple = remove ? this.removeListeners : this.addListeners;\n\n        // If evt is an object then pass each of its properties to this method\n        if (typeof evt === 'object' && !(evt instanceof RegExp)) {\n            for (i in evt) {\n                if (evt.hasOwnProperty(i) && (value = evt[i])) {\n                    // Pass the single listener straight through to the singular method\n                    if (typeof value === 'function') {\n                        single.call(this, i, value);\n                    }\n                    else {\n                        // Otherwise pass back to the multiple function\n                        multiple.call(this, i, value);\n                    }\n                }\n            }\n        }\n        else {\n            // So evt must be a string\n            // And listeners must be an array of listeners\n            // Loop over it and pass each one to the multiple method\n            i = listeners.length;\n            while (i--) {\n                single.call(this, evt, listeners[i]);\n            }\n        }\n\n        return this;\n    };\n\n    /**\n     * Removes all listeners from a specified event.\n     * If you do not specify an event then all listeners will be removed.\n     * That means every event will be emptied.\n     * You can also pass a regex to remove all events that match it.\n     *\n     * @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.removeEvent = function removeEvent(evt) {\n        var type = typeof evt;\n        var events = this._getEvents();\n        var key;\n\n        // Remove different things depending on the state of evt\n        if (type === 'string') {\n            // Remove all listeners for the specified event\n            delete events[evt];\n        }\n        else if (evt instanceof RegExp) {\n            // Remove all events matching the regex.\n            for (key in events) {\n                if (events.hasOwnProperty(key) && evt.test(key)) {\n                    delete events[key];\n                }\n            }\n        }\n        else {\n            // Remove all listeners in all events\n            delete this._events;\n        }\n\n        return this;\n    };\n\n    /**\n     * Alias of removeEvent.\n     *\n     * Added to mirror the node API.\n     */\n    proto.removeAllListeners = alias('removeEvent');\n\n    /**\n     * Emits an event of your choice.\n     * When emitted, every listener attached to that event will be executed.\n     * If you pass the optional argument array then those arguments will be passed to every listener upon execution.\n     * Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.\n     * So they will not arrive within the array on the other side, they will be separate.\n     * You can also pass a regular expression to emit to all events that match it.\n     *\n     * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n     * @param {Array} [args] Optional array of arguments to be passed to each listener.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.emitEvent = function emitEvent(evt, args) {\n        var listeners = this.getListenersAsObject(evt);\n        var listener;\n        var i;\n        var key;\n        var response;\n\n        for (key in listeners) {\n            if (listeners.hasOwnProperty(key)) {\n                i = listeners[key].length;\n\n                while (i--) {\n                    // If the listener returns true then it shall be removed from the event\n                    // The function is executed either with a basic call or an apply if there is an args array\n                    listener = listeners[key][i];\n\n                    if (listener.once === true) {\n                        this.removeListener(evt, listener.listener);\n                    }\n\n                    response = listener.listener.apply(this, args || []);\n\n                    if (response === this._getOnceReturnValue()) {\n                        this.removeListener(evt, listener.listener);\n                    }\n                }\n            }\n        }\n\n        return this;\n    };\n\n    /**\n     * Alias of emitEvent\n     */\n    proto.trigger = alias('emitEvent');\n\n    /**\n     * Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.\n     * As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.\n     *\n     * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n     * @param {...*} Optional additional arguments to be passed to each listener.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.emit = function emit(evt) {\n        var args = Array.prototype.slice.call(arguments, 1);\n        return this.emitEvent(evt, args);\n    };\n\n    /**\n     * Sets the current value to check against when executing listeners. If a\n     * listeners return value matches the one set here then it will be removed\n     * after execution. This value defaults to true.\n     *\n     * @param {*} value The new value to check for when executing listeners.\n     * @return {Object} Current instance of EventEmitter for chaining.\n     */\n    proto.setOnceReturnValue = function setOnceReturnValue(value) {\n        this._onceReturnValue = value;\n        return this;\n    };\n\n    /**\n     * Fetches the current value to check against when executing listeners. If\n     * the listeners return value matches this one then it should be removed\n     * automatically. It will return true by default.\n     *\n     * @return {*|Boolean} The current value to check for or the default, true.\n     * @api private\n     */\n    proto._getOnceReturnValue = function _getOnceReturnValue() {\n        if (this.hasOwnProperty('_onceReturnValue')) {\n            return this._onceReturnValue;\n        }\n        else {\n            return true;\n        }\n    };\n\n    /**\n     * Fetches the events object and creates one if required.\n     *\n     * @return {Object} The events storage object.\n     * @api private\n     */\n    proto._getEvents = function _getEvents() {\n        return this._events || (this._events = {});\n    };\n\n    /**\n     * Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.\n     *\n     * @return {Function} Non conflicting EventEmitter class.\n     */\n    EventEmitter.noConflict = function noConflict() {\n        exports.EventEmitter = originalGlobalValue;\n        return EventEmitter;\n    };\n\n    // Expose the class either via AMD, CommonJS or the global object\n    if (typeof define === 'function' && define.amd) {\n        define('eventEmitter/EventEmitter',[],function () {\n            return EventEmitter;\n        });\n    }\n    else if (typeof module === 'object' && module.exports){\n        module.exports = EventEmitter;\n    }\n    else {\n        exports.EventEmitter = EventEmitter;\n    }\n}.call(this));\n\n/*!\n * docReady v1.0.4\n * Cross browser DOMContentLoaded event emitter\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true*/\n/*global define: false, require: false, module: false */\n\n( function( window ) {\n\n\n\nvar document = window.document;\n// collection of functions to be triggered on ready\nvar queue = [];\n\nfunction docReady( fn ) {\n  // throw out non-functions\n  if ( typeof fn !== 'function' ) {\n    return;\n  }\n\n  if ( docReady.isReady ) {\n    // ready now, hit it\n    fn();\n  } else {\n    // queue function when ready\n    queue.push( fn );\n  }\n}\n\ndocReady.isReady = false;\n\n// triggered on various doc ready events\nfunction onReady( event ) {\n  // bail if already triggered or IE8 document is not ready just yet\n  var isIE8NotReady = event.type === 'readystatechange' && document.readyState !== 'complete';\n  if ( docReady.isReady || isIE8NotReady ) {\n    return;\n  }\n\n  trigger();\n}\n\nfunction trigger() {\n  docReady.isReady = true;\n  // process queue\n  for ( var i=0, len = queue.length; i < len; i++ ) {\n    var fn = queue[i];\n    fn();\n  }\n}\n\nfunction defineDocReady( eventie ) {\n  // trigger ready if page is ready\n  if ( document.readyState === 'complete' ) {\n    trigger();\n  } else {\n    // listen for events\n    window.eventie.bind( document, 'DOMContentLoaded', onReady );\n    window.eventie.bind( document, 'readystatechange', onReady );\n    window.eventie.bind( window, 'load', onReady );\n  }\n\n  return docReady;\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n  // AMD\n  define( 'doc-ready/doc-ready',[ 'eventie/eventie' ], defineDocReady );\n} else if ( typeof exports === 'object' ) {\n  module.exports = defineDocReady( require('eventie') );\n} else {\n  // browser global\n  window.docReady = defineDocReady( window.eventie );\n}\n\n})( window );\n\n/**\n * matchesSelector v1.0.3\n * matchesSelector( element, '.selector' )\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n/*global define: false, module: false */\n\n( function( ElemProto ) {\n\n  \n\n  var matchesMethod = ( function() {\n    // check for the standard method name first\n    if ( ElemProto.matches ) {\n      return 'matches';\n    }\n    // check un-prefixed\n    if ( ElemProto.matchesSelector ) {\n      return 'matchesSelector';\n    }\n    // check vendor prefixes\n    var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];\n\n    for ( var i=0, len = prefixes.length; i < len; i++ ) {\n      var prefix = prefixes[i];\n      var method = prefix + 'MatchesSelector';\n      if ( ElemProto[ method ] ) {\n        return method;\n      }\n    }\n  })();\n\n  // ----- match ----- //\n\n  function match( elem, selector ) {\n    return elem[ matchesMethod ]( selector );\n  }\n\n  // ----- appendToFragment ----- //\n\n  function checkParent( elem ) {\n    // not needed if already has parent\n    if ( elem.parentNode ) {\n      return;\n    }\n    var fragment = document.createDocumentFragment();\n    fragment.appendChild( elem );\n  }\n\n  // ----- query ----- //\n\n  // fall back to using QSA\n  // thx @jonathantneal https://gist.github.com/3062955\n  function query( elem, selector ) {\n    // append to fragment if no parent\n    checkParent( elem );\n\n    // match elem with all selected elems of parent\n    var elems = elem.parentNode.querySelectorAll( selector );\n    for ( var i=0, len = elems.length; i < len; i++ ) {\n      // return true if match\n      if ( elems[i] === elem ) {\n        return true;\n      }\n    }\n    // otherwise return false\n    return false;\n  }\n\n  // ----- matchChild ----- //\n\n  function matchChild( elem, selector ) {\n    checkParent( elem );\n    return match( elem, selector );\n  }\n\n  // ----- matchesSelector ----- //\n\n  var matchesSelector;\n\n  if ( matchesMethod ) {\n    // IE9 supports matchesSelector, but doesn't work on orphaned elems\n    // check for that\n    var div = document.createElement('div');\n    var supportsOrphans = match( div, 'div' );\n    matchesSelector = supportsOrphans ? match : matchChild;\n  } else {\n    matchesSelector = query;\n  }\n\n  // transport\n  if ( typeof define === 'function' && define.amd ) {\n    // AMD\n    define( 'matches-selector/matches-selector',[],function() {\n      return matchesSelector;\n    });\n  } else if ( typeof exports === 'object' ) {\n    module.exports = matchesSelector;\n  }\n  else {\n    // browser global\n    window.matchesSelector = matchesSelector;\n  }\n\n})( Element.prototype );\n\n/**\n * Fizzy UI utils v1.0.1\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n  /*global define: false, module: false, require: false */\n  \n  // universal module definition\n\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( 'fizzy-ui-utils/utils',[\n      'doc-ready/doc-ready',\n      'matches-selector/matches-selector'\n    ], function( docReady, matchesSelector ) {\n      return factory( window, docReady, matchesSelector );\n    });\n  } else if ( typeof exports == 'object' ) {\n    // CommonJS\n    module.exports = factory(\n      window,\n      require('doc-ready'),\n      require('desandro-matches-selector')\n    );\n  } else {\n    // browser global\n    window.fizzyUIUtils = factory(\n      window,\n      window.docReady,\n      window.matchesSelector\n    );\n  }\n\n}( window, function factory( window, docReady, matchesSelector ) {\n\n\n\nvar utils = {};\n\n// ----- extend ----- //\n\n// extends objects\nutils.extend = function( a, b ) {\n  for ( var prop in b ) {\n    a[ prop ] = b[ prop ];\n  }\n  return a;\n};\n\n// ----- modulo ----- //\n\nutils.modulo = function( num, div ) {\n  return ( ( num % div ) + div ) % div;\n};\n\n// ----- isArray ----- //\n  \nvar objToString = Object.prototype.toString;\nutils.isArray = function( obj ) {\n  return objToString.call( obj ) == '[object Array]';\n};\n\n// ----- makeArray ----- //\n\n// turn element or nodeList into an array\nutils.makeArray = function( obj ) {\n  var ary = [];\n  if ( utils.isArray( obj ) ) {\n    // use object if already an array\n    ary = obj;\n  } else if ( obj && typeof obj.length == 'number' ) {\n    // convert nodeList to array\n    for ( var i=0, len = obj.length; i < len; i++ ) {\n      ary.push( obj[i] );\n    }\n  } else {\n    // array of single index\n    ary.push( obj );\n  }\n  return ary;\n};\n\n// ----- indexOf ----- //\n\n// index of helper cause IE8\nutils.indexOf = Array.prototype.indexOf ? function( ary, obj ) {\n    return ary.indexOf( obj );\n  } : function( ary, obj ) {\n    for ( var i=0, len = ary.length; i < len; i++ ) {\n      if ( ary[i] === obj ) {\n        return i;\n      }\n    }\n    return -1;\n  };\n\n// ----- removeFrom ----- //\n\nutils.removeFrom = function( ary, obj ) {\n  var index = utils.indexOf( ary, obj );\n  if ( index != -1 ) {\n    ary.splice( index, 1 );\n  }\n};\n\n// ----- isElement ----- //\n\n// http://stackoverflow.com/a/384380/182183\nutils.isElement = ( typeof HTMLElement == 'function' || typeof HTMLElement == 'object' ) ?\n  function isElementDOM2( obj ) {\n    return obj instanceof HTMLElement;\n  } :\n  function isElementQuirky( obj ) {\n    return obj && typeof obj == 'object' &&\n      obj.nodeType == 1 && typeof obj.nodeName == 'string';\n  };\n\n// ----- setText ----- //\n\nutils.setText = ( function() {\n  var setTextProperty;\n  function setText( elem, text ) {\n    // only check setTextProperty once\n    setTextProperty = setTextProperty || ( document.documentElement.textContent !== undefined ? 'textContent' : 'innerText' );\n    elem[ setTextProperty ] = text;\n  }\n  return setText;\n})();\n\n// ----- getParent ----- //\n\nutils.getParent = function( elem, selector ) {\n  while ( elem != document.body ) {\n    elem = elem.parentNode;\n    if ( matchesSelector( elem, selector ) ) {\n      return elem;\n    }\n  }\n};\n\n// ----- getQueryElement ----- //\n\n// use element as selector string\nutils.getQueryElement = function( elem ) {\n  if ( typeof elem == 'string' ) {\n    return document.querySelector( elem );\n  }\n  return elem;\n};\n\n// ----- handleEvent ----- //\n\n// enable .ontype to trigger from .addEventListener( elem, 'type' )\nutils.handleEvent = function( event ) {\n  var method = 'on' + event.type;\n  if ( this[ method ] ) {\n    this[ method ]( event );\n  }\n};\n\n// ----- filterFindElements ----- //\n\nutils.filterFindElements = function( elems, selector ) {\n  // make array of elems\n  elems = utils.makeArray( elems );\n  var ffElems = [];\n\n  for ( var i=0, len = elems.length; i < len; i++ ) {\n    var elem = elems[i];\n    // check that elem is an actual element\n    if ( !utils.isElement( elem ) ) {\n      continue;\n    }\n    // filter & find items if we have a selector\n    if ( selector ) {\n      // filter siblings\n      if ( matchesSelector( elem, selector ) ) {\n        ffElems.push( elem );\n      }\n      // find children\n      var childElems = elem.querySelectorAll( selector );\n      // concat childElems to filterFound array\n      for ( var j=0, jLen = childElems.length; j < jLen; j++ ) {\n        ffElems.push( childElems[j] );\n      }\n    } else {\n      ffElems.push( elem );\n    }\n  }\n\n  return ffElems;\n};\n\n// ----- debounceMethod ----- //\n\nutils.debounceMethod = function( _class, methodName, threshold ) {\n  // original method\n  var method = _class.prototype[ methodName ];\n  var timeoutName = methodName + 'Timeout';\n\n  _class.prototype[ methodName ] = function() {\n    var timeout = this[ timeoutName ];\n    if ( timeout ) {\n      clearTimeout( timeout );\n    }\n    var args = arguments;\n\n    var _this = this;\n    this[ timeoutName ] = setTimeout( function() {\n      method.apply( _this, args );\n      delete _this[ timeoutName ];\n    }, threshold || 100 );\n  };\n};\n\n// ----- htmlInit ----- //\n\n// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/\nutils.toDashed = function( str ) {\n  return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {\n    return $1 + '-' + $2;\n  }).toLowerCase();\n};\n\nvar console = window.console;\n/**\n * allow user to initialize classes via .js-namespace class\n * htmlInit( Widget, 'widgetName' )\n * options are parsed from data-namespace-option attribute\n */\nutils.htmlInit = function( WidgetClass, namespace ) {\n  docReady( function() {\n    var dashedNamespace = utils.toDashed( namespace );\n    var elems = document.querySelectorAll( '.js-' + dashedNamespace );\n    var dataAttr = 'data-' + dashedNamespace + '-options';\n\n    for ( var i=0, len = elems.length; i < len; i++ ) {\n      var elem = elems[i];\n      var attr = elem.getAttribute( dataAttr );\n      var options;\n      try {\n        options = attr && JSON.parse( attr );\n      } catch ( error ) {\n        // log error, do not initialize\n        if ( console ) {\n          console.error( 'Error parsing ' + dataAttr + ' on ' +\n            elem.nodeName.toLowerCase() + ( elem.id ? '#' + elem.id : '' ) + ': ' +\n            error );\n        }\n        continue;\n      }\n      // initialize\n      var instance = new WidgetClass( elem, options );\n      // make available via $().data('layoutname')\n      var jQuery = window.jQuery;\n      if ( jQuery ) {\n        jQuery.data( elem, namespace, instance );\n      }\n    }\n  });\n};\n\n// -----  ----- //\n\nreturn utils;\n\n}));\n\n/**\n * Outlayer Item\n */\n\n( function( window, factory ) {\n  \n  // universal module definition\n  if ( typeof define === 'function' && define.amd ) {\n    // AMD\n    define( 'outlayer/item',[\n        'eventEmitter/EventEmitter',\n        'get-size/get-size',\n        'get-style-property/get-style-property',\n        'fizzy-ui-utils/utils'\n      ],\n      function( EventEmitter, getSize, getStyleProperty, utils ) {\n        return factory( window, EventEmitter, getSize, getStyleProperty, utils );\n      }\n    );\n  } else if (typeof exports === 'object') {\n    // CommonJS\n    module.exports = factory(\n      window,\n      require('wolfy87-eventemitter'),\n      require('get-size'),\n      require('desandro-get-style-property'),\n      require('fizzy-ui-utils')\n    );\n  } else {\n    // browser global\n    window.Outlayer = {};\n    window.Outlayer.Item = factory(\n      window,\n      window.EventEmitter,\n      window.getSize,\n      window.getStyleProperty,\n      window.fizzyUIUtils\n    );\n  }\n\n}( window, function factory( window, EventEmitter, getSize, getStyleProperty, utils ) {\n\n\n// ----- helpers ----- //\n\nvar getComputedStyle = window.getComputedStyle;\nvar getStyle = getComputedStyle ?\n  function( elem ) {\n    return getComputedStyle( elem, null );\n  } :\n  function( elem ) {\n    return elem.currentStyle;\n  };\n\n\nfunction isEmptyObj( obj ) {\n  for ( var prop in obj ) {\n    return false;\n  }\n  prop = null;\n  return true;\n}\n\n// -------------------------- CSS3 support -------------------------- //\n\nvar transitionProperty = getStyleProperty('transition');\nvar transformProperty = getStyleProperty('transform');\nvar supportsCSS3 = transitionProperty && transformProperty;\nvar is3d = !!getStyleProperty('perspective');\n\nvar transitionEndEvent = {\n  WebkitTransition: 'webkitTransitionEnd',\n  MozTransition: 'transitionend',\n  OTransition: 'otransitionend',\n  transition: 'transitionend'\n}[ transitionProperty ];\n\n// properties that could have vendor prefix\nvar prefixableProperties = [\n  'transform',\n  'transition',\n  'transitionDuration',\n  'transitionProperty'\n];\n\n// cache all vendor properties\nvar vendorProperties = ( function() {\n  var cache = {};\n  for ( var i=0, len = prefixableProperties.length; i < len; i++ ) {\n    var prop = prefixableProperties[i];\n    var supportedProp = getStyleProperty( prop );\n    if ( supportedProp && supportedProp !== prop ) {\n      cache[ prop ] = supportedProp;\n    }\n  }\n  return cache;\n})();\n\n// -------------------------- Item -------------------------- //\n\nfunction Item( element, layout ) {\n  if ( !element ) {\n    return;\n  }\n\n  this.element = element;\n  // parent layout class, i.e. Masonry, Isotope, or Packery\n  this.layout = layout;\n  this.position = {\n    x: 0,\n    y: 0\n  };\n\n  this._create();\n}\n\n// inherit EventEmitter\nutils.extend( Item.prototype, EventEmitter.prototype );\n\nItem.prototype._create = function() {\n  // transition objects\n  this._transn = {\n    ingProperties: {},\n    clean: {},\n    onEnd: {}\n  };\n\n  this.css({\n    position: 'absolute'\n  });\n};\n\n// trigger specified handler for event type\nItem.prototype.handleEvent = function( event ) {\n  var method = 'on' + event.type;\n  if ( this[ method ] ) {\n    this[ method ]( event );\n  }\n};\n\nItem.prototype.getSize = function() {\n  this.size = getSize( this.element );\n};\n\n/**\n * apply CSS styles to element\n * @param {Object} style\n */\nItem.prototype.css = function( style ) {\n  var elemStyle = this.element.style;\n\n  for ( var prop in style ) {\n    // use vendor property if available\n    var supportedProp = vendorProperties[ prop ] || prop;\n    elemStyle[ supportedProp ] = style[ prop ];\n  }\n};\n\n // measure position, and sets it\nItem.prototype.getPosition = function() {\n  var style = getStyle( this.element );\n  var layoutOptions = this.layout.options;\n  var isOriginLeft = layoutOptions.isOriginLeft;\n  var isOriginTop = layoutOptions.isOriginTop;\n  var xValue = style[ isOriginLeft ? 'left' : 'right' ];\n  var yValue = style[ isOriginTop ? 'top' : 'bottom' ];\n  // convert percent to pixels\n  var layoutSize = this.layout.size;\n  var x = xValue.indexOf('%') != -1 ?\n    ( parseFloat( xValue ) / 100 ) * layoutSize.width : parseInt( xValue, 10 );\n  var y = yValue.indexOf('%') != -1 ?\n    ( parseFloat( yValue ) / 100 ) * layoutSize.height : parseInt( yValue, 10 );\n\n  // clean up 'auto' or other non-integer values\n  x = isNaN( x ) ? 0 : x;\n  y = isNaN( y ) ? 0 : y;\n  // remove padding from measurement\n  x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;\n  y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;\n\n  this.position.x = x;\n  this.position.y = y;\n};\n\n// set settled position, apply padding\nItem.prototype.layoutPosition = function() {\n  var layoutSize = this.layout.size;\n  var layoutOptions = this.layout.options;\n  var style = {};\n\n  // x\n  var xPadding = layoutOptions.isOriginLeft ? 'paddingLeft' : 'paddingRight';\n  var xProperty = layoutOptions.isOriginLeft ? 'left' : 'right';\n  var xResetProperty = layoutOptions.isOriginLeft ? 'right' : 'left';\n\n  var x = this.position.x + layoutSize[ xPadding ];\n  // set in percentage or pixels\n  style[ xProperty ] = this.getXValue( x );\n  // reset other property\n  style[ xResetProperty ] = '';\n\n  // y\n  var yPadding = layoutOptions.isOriginTop ? 'paddingTop' : 'paddingBottom';\n  var yProperty = layoutOptions.isOriginTop ? 'top' : 'bottom';\n  var yResetProperty = layoutOptions.isOriginTop ? 'bottom' : 'top';\n\n  var y = this.position.y + layoutSize[ yPadding ];\n  // set in percentage or pixels\n  style[ yProperty ] = this.getYValue( y );\n  // reset other property\n  style[ yResetProperty ] = '';\n\n  this.css( style );\n  this.emitEvent( 'layout', [ this ] );\n};\n\nItem.prototype.getXValue = function( x ) {\n  var layoutOptions = this.layout.options;\n  return layoutOptions.percentPosition && !layoutOptions.isHorizontal ?\n    ( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';\n};\n\nItem.prototype.getYValue = function( y ) {\n  var layoutOptions = this.layout.options;\n  return layoutOptions.percentPosition && layoutOptions.isHorizontal ?\n    ( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';\n};\n\n\nItem.prototype._transitionTo = function( x, y ) {\n  this.getPosition();\n  // get current x & y from top/left\n  var curX = this.position.x;\n  var curY = this.position.y;\n\n  var compareX = parseInt( x, 10 );\n  var compareY = parseInt( y, 10 );\n  var didNotMove = compareX === this.position.x && compareY === this.position.y;\n\n  // save end position\n  this.setPosition( x, y );\n\n  // if did not move and not transitioning, just go to layout\n  if ( didNotMove && !this.isTransitioning ) {\n    this.layoutPosition();\n    return;\n  }\n\n  var transX = x - curX;\n  var transY = y - curY;\n  var transitionStyle = {};\n  transitionStyle.transform = this.getTranslate( transX, transY );\n\n  this.transition({\n    to: transitionStyle,\n    onTransitionEnd: {\n      transform: this.layoutPosition\n    },\n    isCleaning: true\n  });\n};\n\nItem.prototype.getTranslate = function( x, y ) {\n  // flip cooridinates if origin on right or bottom\n  var layoutOptions = this.layout.options;\n  x = layoutOptions.isOriginLeft ? x : -x;\n  y = layoutOptions.isOriginTop ? y : -y;\n\n  if ( is3d ) {\n    return 'translate3d(' + x + 'px, ' + y + 'px, 0)';\n  }\n\n  return 'translate(' + x + 'px, ' + y + 'px)';\n};\n\n// non transition + transform support\nItem.prototype.goTo = function( x, y ) {\n  this.setPosition( x, y );\n  this.layoutPosition();\n};\n\n// use transition and transforms if supported\nItem.prototype.moveTo = supportsCSS3 ?\n  Item.prototype._transitionTo : Item.prototype.goTo;\n\nItem.prototype.setPosition = function( x, y ) {\n  this.position.x = parseInt( x, 10 );\n  this.position.y = parseInt( y, 10 );\n};\n\n// ----- transition ----- //\n\n/**\n * @param {Object} style - CSS\n * @param {Function} onTransitionEnd\n */\n\n// non transition, just trigger callback\nItem.prototype._nonTransition = function( args ) {\n  this.css( args.to );\n  if ( args.isCleaning ) {\n    this._removeStyles( args.to );\n  }\n  for ( var prop in args.onTransitionEnd ) {\n    args.onTransitionEnd[ prop ].call( this );\n  }\n};\n\n/**\n * proper transition\n * @param {Object} args - arguments\n *   @param {Object} to - style to transition to\n *   @param {Object} from - style to start transition from\n *   @param {Boolean} isCleaning - removes transition styles after transition\n *   @param {Function} onTransitionEnd - callback\n */\nItem.prototype._transition = function( args ) {\n  // redirect to nonTransition if no transition duration\n  if ( !parseFloat( this.layout.options.transitionDuration ) ) {\n    this._nonTransition( args );\n    return;\n  }\n\n  var _transition = this._transn;\n  // keep track of onTransitionEnd callback by css property\n  for ( var prop in args.onTransitionEnd ) {\n    _transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];\n  }\n  // keep track of properties that are transitioning\n  for ( prop in args.to ) {\n    _transition.ingProperties[ prop ] = true;\n    // keep track of properties to clean up when transition is done\n    if ( args.isCleaning ) {\n      _transition.clean[ prop ] = true;\n    }\n  }\n\n  // set from styles\n  if ( args.from ) {\n    this.css( args.from );\n    // force redraw. http://blog.alexmaccaw.com/css-transitions\n    var h = this.element.offsetHeight;\n    // hack for JSHint to hush about unused var\n    h = null;\n  }\n  // enable transition\n  this.enableTransition( args.to );\n  // set styles that are transitioning\n  this.css( args.to );\n\n  this.isTransitioning = true;\n\n};\n\n// dash before all cap letters, including first for\n// WebkitTransform => -webkit-transform\nfunction toDashedAll( str ) {\n  return str.replace( /([A-Z])/g, function( $1 ) {\n    return '-' + $1.toLowerCase();\n  });\n}\n\nvar transitionProps = 'opacity,' +\n  toDashedAll( vendorProperties.transform || 'transform' );\n\nItem.prototype.enableTransition = function(/* style */) {\n  // HACK changing transitionProperty during a transition\n  // will cause transition to jump\n  if ( this.isTransitioning ) {\n    return;\n  }\n\n  // make `transition: foo, bar, baz` from style object\n  // HACK un-comment this when enableTransition can work\n  // while a transition is happening\n  // var transitionValues = [];\n  // for ( var prop in style ) {\n  //   // dash-ify camelCased properties like WebkitTransition\n  //   prop = vendorProperties[ prop ] || prop;\n  //   transitionValues.push( toDashedAll( prop ) );\n  // }\n  // enable transition styles\n  this.css({\n    transitionProperty: transitionProps,\n    transitionDuration: this.layout.options.transitionDuration\n  });\n  // listen for transition end event\n  this.element.addEventListener( transitionEndEvent, this, false );\n};\n\nItem.prototype.transition = Item.prototype[ transitionProperty ? '_transition' : '_nonTransition' ];\n\n// ----- events ----- //\n\nItem.prototype.onwebkitTransitionEnd = function( event ) {\n  this.ontransitionend( event );\n};\n\nItem.prototype.onotransitionend = function( event ) {\n  this.ontransitionend( event );\n};\n\n// properties that I munge to make my life easier\nvar dashedVendorProperties = {\n  '-webkit-transform': 'transform',\n  '-moz-transform': 'transform',\n  '-o-transform': 'transform'\n};\n\nItem.prototype.ontransitionend = function( event ) {\n  // disregard bubbled events from children\n  if ( event.target !== this.element ) {\n    return;\n  }\n  var _transition = this._transn;\n  // get property name of transitioned property, convert to prefix-free\n  var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;\n\n  // remove property that has completed transitioning\n  delete _transition.ingProperties[ propertyName ];\n  // check if any properties are still transitioning\n  if ( isEmptyObj( _transition.ingProperties ) ) {\n    // all properties have completed transitioning\n    this.disableTransition();\n  }\n  // clean style\n  if ( propertyName in _transition.clean ) {\n    // clean up style\n    this.element.style[ event.propertyName ] = '';\n    delete _transition.clean[ propertyName ];\n  }\n  // trigger onTransitionEnd callback\n  if ( propertyName in _transition.onEnd ) {\n    var onTransitionEnd = _transition.onEnd[ propertyName ];\n    onTransitionEnd.call( this );\n    delete _transition.onEnd[ propertyName ];\n  }\n\n  this.emitEvent( 'transitionEnd', [ this ] );\n};\n\nItem.prototype.disableTransition = function() {\n  this.removeTransitionStyles();\n  this.element.removeEventListener( transitionEndEvent, this, false );\n  this.isTransitioning = false;\n};\n\n/**\n * removes style property from element\n * @param {Object} style\n**/\nItem.prototype._removeStyles = function( style ) {\n  // clean up transition styles\n  var cleanStyle = {};\n  for ( var prop in style ) {\n    cleanStyle[ prop ] = '';\n  }\n  this.css( cleanStyle );\n};\n\nvar cleanTransitionStyle = {\n  transitionProperty: '',\n  transitionDuration: ''\n};\n\nItem.prototype.removeTransitionStyles = function() {\n  // remove transition\n  this.css( cleanTransitionStyle );\n};\n\n// ----- show/hide/remove ----- //\n\n// remove element from DOM\nItem.prototype.removeElem = function() {\n  this.element.parentNode.removeChild( this.element );\n  // remove display: none\n  this.css({ display: '' });\n  this.emitEvent( 'remove', [ this ] );\n};\n\nItem.prototype.remove = function() {\n  // just remove element if no transition support or no transition\n  if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {\n    this.removeElem();\n    return;\n  }\n\n  // start transition\n  var _this = this;\n  this.once( 'transitionEnd', function() {\n    _this.removeElem();\n  });\n  this.hide();\n};\n\nItem.prototype.reveal = function() {\n  delete this.isHidden;\n  // remove display: none\n  this.css({ display: '' });\n\n  var options = this.layout.options;\n\n  var onTransitionEnd = {};\n  var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');\n  onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;\n\n  this.transition({\n    from: options.hiddenStyle,\n    to: options.visibleStyle,\n    isCleaning: true,\n    onTransitionEnd: onTransitionEnd\n  });\n};\n\nItem.prototype.onRevealTransitionEnd = function() {\n  // check if still visible\n  // during transition, item may have been hidden\n  if ( !this.isHidden ) {\n    this.emitEvent('reveal');\n  }\n};\n\n/**\n * get style property use for hide/reveal transition end\n * @param {String} styleProperty - hiddenStyle/visibleStyle\n * @returns {String}\n */\nItem.prototype.getHideRevealTransitionEndProperty = function( styleProperty ) {\n  var optionStyle = this.layout.options[ styleProperty ];\n  // use opacity\n  if ( optionStyle.opacity ) {\n    return 'opacity';\n  }\n  // get first property\n  for ( var prop in optionStyle ) {\n    return prop;\n  }\n};\n\nItem.prototype.hide = function() {\n  // set flag\n  this.isHidden = true;\n  // remove display: none\n  this.css({ display: '' });\n\n  var options = this.layout.options;\n\n  var onTransitionEnd = {};\n  var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');\n  onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;\n\n  this.transition({\n    from: options.visibleStyle,\n    to: options.hiddenStyle,\n    // keep hidden stuff hidden\n    isCleaning: true,\n    onTransitionEnd: onTransitionEnd\n  });\n};\n\nItem.prototype.onHideTransitionEnd = function() {\n  // check if still hidden\n  // during transition, item may have been un-hidden\n  if ( this.isHidden ) {\n    this.css({ display: 'none' });\n    this.emitEvent('hide');\n  }\n};\n\nItem.prototype.destroy = function() {\n  this.css({\n    position: '',\n    left: '',\n    right: '',\n    top: '',\n    bottom: '',\n    transition: '',\n    transform: ''\n  });\n};\n\nreturn Item;\n\n}));\n\n/*!\n * Outlayer v1.4.2\n * the brains and guts of a layout library\n * MIT license\n */\n\n( function( window, factory ) {\n  \n  // universal module definition\n\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( 'outlayer/outlayer',[\n        'eventie/eventie',\n        'eventEmitter/EventEmitter',\n        'get-size/get-size',\n        'fizzy-ui-utils/utils',\n        './item'\n      ],\n      function( eventie, EventEmitter, getSize, utils, Item ) {\n        return factory( window, eventie, EventEmitter, getSize, utils, Item);\n      }\n    );\n  } else if ( typeof exports == 'object' ) {\n    // CommonJS\n    module.exports = factory(\n      window,\n      require('eventie'),\n      require('wolfy87-eventemitter'),\n      require('get-size'),\n      require('fizzy-ui-utils'),\n      require('./item')\n    );\n  } else {\n    // browser global\n    window.Outlayer = factory(\n      window,\n      window.eventie,\n      window.EventEmitter,\n      window.getSize,\n      window.fizzyUIUtils,\n      window.Outlayer.Item\n    );\n  }\n\n}( window, function factory( window, eventie, EventEmitter, getSize, utils, Item ) {\n\n\n// ----- vars ----- //\n\nvar console = window.console;\nvar jQuery = window.jQuery;\nvar noop = function() {};\n\n// -------------------------- Outlayer -------------------------- //\n\n// globally unique identifiers\nvar GUID = 0;\n// internal store of all Outlayer intances\nvar instances = {};\n\n\n/**\n * @param {Element, String} element\n * @param {Object} options\n * @constructor\n */\nfunction Outlayer( element, options ) {\n  var queryElement = utils.getQueryElement( element );\n  if ( !queryElement ) {\n    if ( console ) {\n      console.error( 'Bad element for ' + this.constructor.namespace +\n        ': ' + ( queryElement || element ) );\n    }\n    return;\n  }\n  this.element = queryElement;\n  // add jQuery\n  if ( jQuery ) {\n    this.$element = jQuery( this.element );\n  }\n\n  // options\n  this.options = utils.extend( {}, this.constructor.defaults );\n  this.option( options );\n\n  // add id for Outlayer.getFromElement\n  var id = ++GUID;\n  this.element.outlayerGUID = id; // expando\n  instances[ id ] = this; // associate via id\n\n  // kick it off\n  this._create();\n\n  if ( this.options.isInitLayout ) {\n    this.layout();\n  }\n}\n\n// settings are for internal use only\nOutlayer.namespace = 'outlayer';\nOutlayer.Item = Item;\n\n// default options\nOutlayer.defaults = {\n  containerStyle: {\n    position: 'relative'\n  },\n  isInitLayout: true,\n  isOriginLeft: true,\n  isOriginTop: true,\n  isResizeBound: true,\n  isResizingContainer: true,\n  // item options\n  transitionDuration: '0.4s',\n  hiddenStyle: {\n    opacity: 0,\n    transform: 'scale(0.001)'\n  },\n  visibleStyle: {\n    opacity: 1,\n    transform: 'scale(1)'\n  }\n};\n\n// inherit EventEmitter\nutils.extend( Outlayer.prototype, EventEmitter.prototype );\n\n/**\n * set options\n * @param {Object} opts\n */\nOutlayer.prototype.option = function( opts ) {\n  utils.extend( this.options, opts );\n};\n\nOutlayer.prototype._create = function() {\n  // get items from children\n  this.reloadItems();\n  // elements that affect layout, but are not laid out\n  this.stamps = [];\n  this.stamp( this.options.stamp );\n  // set container style\n  utils.extend( this.element.style, this.options.containerStyle );\n\n  // bind resize method\n  if ( this.options.isResizeBound ) {\n    this.bindResize();\n  }\n};\n\n// goes through all children again and gets bricks in proper order\nOutlayer.prototype.reloadItems = function() {\n  // collection of item elements\n  this.items = this._itemize( this.element.children );\n};\n\n\n/**\n * turn elements into Outlayer.Items to be used in layout\n * @param {Array or NodeList or HTMLElement} elems\n * @returns {Array} items - collection of new Outlayer Items\n */\nOutlayer.prototype._itemize = function( elems ) {\n\n  var itemElems = this._filterFindItemElements( elems );\n  var Item = this.constructor.Item;\n\n  // create new Outlayer Items for collection\n  var items = [];\n  for ( var i=0, len = itemElems.length; i < len; i++ ) {\n    var elem = itemElems[i];\n    var item = new Item( elem, this );\n    items.push( item );\n  }\n\n  return items;\n};\n\n/**\n * get item elements to be used in layout\n * @param {Array or NodeList or HTMLElement} elems\n * @returns {Array} items - item elements\n */\nOutlayer.prototype._filterFindItemElements = function( elems ) {\n  return utils.filterFindElements( elems, this.options.itemSelector );\n};\n\n/**\n * getter method for getting item elements\n * @returns {Array} elems - collection of item elements\n */\nOutlayer.prototype.getItemElements = function() {\n  var elems = [];\n  for ( var i=0, len = this.items.length; i < len; i++ ) {\n    elems.push( this.items[i].element );\n  }\n  return elems;\n};\n\n// ----- init & layout ----- //\n\n/**\n * lays out all items\n */\nOutlayer.prototype.layout = function() {\n  this._resetLayout();\n  this._manageStamps();\n\n  // don't animate first layout\n  var isInstant = this.options.isLayoutInstant !== undefined ?\n    this.options.isLayoutInstant : !this._isLayoutInited;\n  this.layoutItems( this.items, isInstant );\n\n  // flag for initalized\n  this._isLayoutInited = true;\n};\n\n// _init is alias for layout\nOutlayer.prototype._init = Outlayer.prototype.layout;\n\n/**\n * logic before any new layout\n */\nOutlayer.prototype._resetLayout = function() {\n  this.getSize();\n};\n\n\nOutlayer.prototype.getSize = function() {\n  this.size = getSize( this.element );\n};\n\n/**\n * get measurement from option, for columnWidth, rowHeight, gutter\n * if option is String -> get element from selector string, & get size of element\n * if option is Element -> get size of element\n * else use option as a number\n *\n * @param {String} measurement\n * @param {String} size - width or height\n * @private\n */\nOutlayer.prototype._getMeasurement = function( measurement, size ) {\n  var option = this.options[ measurement ];\n  var elem;\n  if ( !option ) {\n    // default to 0\n    this[ measurement ] = 0;\n  } else {\n    // use option as an element\n    if ( typeof option === 'string' ) {\n      elem = this.element.querySelector( option );\n    } else if ( utils.isElement( option ) ) {\n      elem = option;\n    }\n    // use size of element, if element\n    this[ measurement ] = elem ? getSize( elem )[ size ] : option;\n  }\n};\n\n/**\n * layout a collection of item elements\n * @api public\n */\nOutlayer.prototype.layoutItems = function( items, isInstant ) {\n  items = this._getItemsForLayout( items );\n\n  this._layoutItems( items, isInstant );\n\n  this._postLayout();\n};\n\n/**\n * get the items to be laid out\n * you may want to skip over some items\n * @param {Array} items\n * @returns {Array} items\n */\nOutlayer.prototype._getItemsForLayout = function( items ) {\n  var layoutItems = [];\n  for ( var i=0, len = items.length; i < len; i++ ) {\n    var item = items[i];\n    if ( !item.isIgnored ) {\n      layoutItems.push( item );\n    }\n  }\n  return layoutItems;\n};\n\n/**\n * layout items\n * @param {Array} items\n * @param {Boolean} isInstant\n */\nOutlayer.prototype._layoutItems = function( items, isInstant ) {\n  this._emitCompleteOnItems( 'layout', items );\n\n  if ( !items || !items.length ) {\n    // no items, emit event with empty array\n    return;\n  }\n\n  var queue = [];\n\n  for ( var i=0, len = items.length; i < len; i++ ) {\n    var item = items[i];\n    // get x/y object from method\n    var position = this._getItemLayoutPosition( item );\n    // enqueue\n    position.item = item;\n    position.isInstant = isInstant || item.isLayoutInstant;\n    queue.push( position );\n  }\n\n  this._processLayoutQueue( queue );\n};\n\n/**\n * get item layout position\n * @param {Outlayer.Item} item\n * @returns {Object} x and y position\n */\nOutlayer.prototype._getItemLayoutPosition = function( /* item */ ) {\n  return {\n    x: 0,\n    y: 0\n  };\n};\n\n/**\n * iterate over array and position each item\n * Reason being - separating this logic prevents 'layout invalidation'\n * thx @paul_irish\n * @param {Array} queue\n */\nOutlayer.prototype._processLayoutQueue = function( queue ) {\n  for ( var i=0, len = queue.length; i < len; i++ ) {\n    var obj = queue[i];\n    this._positionItem( obj.item, obj.x, obj.y, obj.isInstant );\n  }\n};\n\n/**\n * Sets position of item in DOM\n * @param {Outlayer.Item} item\n * @param {Number} x - horizontal position\n * @param {Number} y - vertical position\n * @param {Boolean} isInstant - disables transitions\n */\nOutlayer.prototype._positionItem = function( item, x, y, isInstant ) {\n  if ( isInstant ) {\n    // if not transition, just set CSS\n    item.goTo( x, y );\n  } else {\n    item.moveTo( x, y );\n  }\n};\n\n/**\n * Any logic you want to do after each layout,\n * i.e. size the container\n */\nOutlayer.prototype._postLayout = function() {\n  this.resizeContainer();\n};\n\nOutlayer.prototype.resizeContainer = function() {\n  if ( !this.options.isResizingContainer ) {\n    return;\n  }\n  var size = this._getContainerSize();\n  if ( size ) {\n    this._setContainerMeasure( size.width, true );\n    this._setContainerMeasure( size.height, false );\n  }\n};\n\n/**\n * Sets width or height of container if returned\n * @returns {Object} size\n *   @param {Number} width\n *   @param {Number} height\n */\nOutlayer.prototype._getContainerSize = noop;\n\n/**\n * @param {Number} measure - size of width or height\n * @param {Boolean} isWidth\n */\nOutlayer.prototype._setContainerMeasure = function( measure, isWidth ) {\n  if ( measure === undefined ) {\n    return;\n  }\n\n  var elemSize = this.size;\n  // add padding and border width if border box\n  if ( elemSize.isBorderBox ) {\n    measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +\n      elemSize.borderLeftWidth + elemSize.borderRightWidth :\n      elemSize.paddingBottom + elemSize.paddingTop +\n      elemSize.borderTopWidth + elemSize.borderBottomWidth;\n  }\n\n  measure = Math.max( measure, 0 );\n  this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';\n};\n\n/**\n * emit eventComplete on a collection of items events\n * @param {String} eventName\n * @param {Array} items - Outlayer.Items\n */\nOutlayer.prototype._emitCompleteOnItems = function( eventName, items ) {\n  var _this = this;\n  function onComplete() {\n    _this.dispatchEvent( eventName + 'Complete', null, [ items ] );\n  }\n\n  var count = items.length;\n  if ( !items || !count ) {\n    onComplete();\n    return;\n  }\n\n  var doneCount = 0;\n  function tick() {\n    doneCount++;\n    if ( doneCount === count ) {\n      onComplete();\n    }\n  }\n\n  // bind callback\n  for ( var i=0, len = items.length; i < len; i++ ) {\n    var item = items[i];\n    item.once( eventName, tick );\n  }\n};\n\n/**\n * emits events via eventEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nOutlayer.prototype.dispatchEvent = function( type, event, args ) {\n  // add original event to arguments\n  var emitArgs = event ? [ event ].concat( args ) : args;\n  this.emitEvent( type, emitArgs );\n\n  if ( jQuery ) {\n    // set this.$element\n    this.$element = this.$element || jQuery( this.element );\n    if ( event ) {\n      // create jQuery event\n      var $event = jQuery.Event( event );\n      $event.type = type;\n      this.$element.trigger( $event, args );\n    } else {\n      // just trigger with type if no event available\n      this.$element.trigger( type, args );\n    }\n  }\n};\n\n// -------------------------- ignore & stamps -------------------------- //\n\n\n/**\n * keep item in collection, but do not lay it out\n * ignored items do not get skipped in layout\n * @param {Element} elem\n */\nOutlayer.prototype.ignore = function( elem ) {\n  var item = this.getItem( elem );\n  if ( item ) {\n    item.isIgnored = true;\n  }\n};\n\n/**\n * return item to layout collection\n * @param {Element} elem\n */\nOutlayer.prototype.unignore = function( elem ) {\n  var item = this.getItem( elem );\n  if ( item ) {\n    delete item.isIgnored;\n  }\n};\n\n/**\n * adds elements to stamps\n * @param {NodeList, Array, Element, or String} elems\n */\nOutlayer.prototype.stamp = function( elems ) {\n  elems = this._find( elems );\n  if ( !elems ) {\n    return;\n  }\n\n  this.stamps = this.stamps.concat( elems );\n  // ignore\n  for ( var i=0, len = elems.length; i < len; i++ ) {\n    var elem = elems[i];\n    this.ignore( elem );\n  }\n};\n\n/**\n * removes elements to stamps\n * @param {NodeList, Array, or Element} elems\n */\nOutlayer.prototype.unstamp = function( elems ) {\n  elems = this._find( elems );\n  if ( !elems ){\n    return;\n  }\n\n  for ( var i=0, len = elems.length; i < len; i++ ) {\n    var elem = elems[i];\n    // filter out removed stamp elements\n    utils.removeFrom( this.stamps, elem );\n    this.unignore( elem );\n  }\n\n};\n\n/**\n * finds child elements\n * @param {NodeList, Array, Element, or String} elems\n * @returns {Array} elems\n */\nOutlayer.prototype._find = function( elems ) {\n  if ( !elems ) {\n    return;\n  }\n  // if string, use argument as selector string\n  if ( typeof elems === 'string' ) {\n    elems = this.element.querySelectorAll( elems );\n  }\n  elems = utils.makeArray( elems );\n  return elems;\n};\n\nOutlayer.prototype._manageStamps = function() {\n  if ( !this.stamps || !this.stamps.length ) {\n    return;\n  }\n\n  this._getBoundingRect();\n\n  for ( var i=0, len = this.stamps.length; i < len; i++ ) {\n    var stamp = this.stamps[i];\n    this._manageStamp( stamp );\n  }\n};\n\n// update boundingLeft / Top\nOutlayer.prototype._getBoundingRect = function() {\n  // get bounding rect for container element\n  var boundingRect = this.element.getBoundingClientRect();\n  var size = this.size;\n  this._boundingRect = {\n    left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,\n    top: boundingRect.top + size.paddingTop + size.borderTopWidth,\n    right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),\n    bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )\n  };\n};\n\n/**\n * @param {Element} stamp\n**/\nOutlayer.prototype._manageStamp = noop;\n\n/**\n * get x/y position of element relative to container element\n * @param {Element} elem\n * @returns {Object} offset - has left, top, right, bottom\n */\nOutlayer.prototype._getElementOffset = function( elem ) {\n  var boundingRect = elem.getBoundingClientRect();\n  var thisRect = this._boundingRect;\n  var size = getSize( elem );\n  var offset = {\n    left: boundingRect.left - thisRect.left - size.marginLeft,\n    top: boundingRect.top - thisRect.top - size.marginTop,\n    right: thisRect.right - boundingRect.right - size.marginRight,\n    bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom\n  };\n  return offset;\n};\n\n// -------------------------- resize -------------------------- //\n\n// enable event handlers for listeners\n// i.e. resize -> onresize\nOutlayer.prototype.handleEvent = function( event ) {\n  var method = 'on' + event.type;\n  if ( this[ method ] ) {\n    this[ method ]( event );\n  }\n};\n\n/**\n * Bind layout to window resizing\n */\nOutlayer.prototype.bindResize = function() {\n  // bind just one listener\n  if ( this.isResizeBound ) {\n    return;\n  }\n  window.eventie.bind( window, 'resize', this );\n  this.isResizeBound = true;\n};\n\n/**\n * Unbind layout to window resizing\n */\nOutlayer.prototype.unbindResize = function() {\n  if ( this.isResizeBound ) {\n    window.eventie.unbind( window, 'resize', this );\n  }\n  this.isResizeBound = false;\n};\n\n// original debounce by John Hann\n// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/\n\n// this fires every resize\nOutlayer.prototype.onresize = function() {\n  if ( this.resizeTimeout ) {\n    clearTimeout( this.resizeTimeout );\n  }\n\n  var _this = this;\n  function delayed() {\n    _this.resize();\n    delete _this.resizeTimeout;\n  }\n\n  this.resizeTimeout = setTimeout( delayed, 100 );\n};\n\n// debounced, layout on resize\nOutlayer.prototype.resize = function() {\n  // don't trigger if size did not change\n  // or if resize was unbound. See #9\n  if ( !this.isResizeBound || !this.needsResizeLayout() ) {\n    return;\n  }\n\n  this.layout();\n};\n\n/**\n * check if layout is needed post layout\n * @returns Boolean\n */\nOutlayer.prototype.needsResizeLayout = function() {\n  var size = getSize( this.element );\n  // check that this.size and size are there\n  // IE8 triggers resize on body size change, so they might not be\n  var hasSizes = this.size && size;\n  return hasSizes && size.innerWidth !== this.size.innerWidth;\n};\n\n// -------------------------- methods -------------------------- //\n\n/**\n * add items to Outlayer instance\n * @param {Array or NodeList or Element} elems\n * @returns {Array} items - Outlayer.Items\n**/\nOutlayer.prototype.addItems = function( elems ) {\n  var items = this._itemize( elems );\n  // add items to collection\n  if ( items.length ) {\n    this.items = this.items.concat( items );\n  }\n  return items;\n};\n\n/**\n * Layout newly-appended item elements\n * @param {Array or NodeList or Element} elems\n */\nOutlayer.prototype.appended = function( elems ) {\n  var items = this.addItems( elems );\n  if ( !items.length ) {\n    return;\n  }\n  // layout and reveal just the new items\n  this.layoutItems( items, true );\n  this.reveal( items );\n};\n\n/**\n * Layout prepended elements\n * @param {Array or NodeList or Element} elems\n */\nOutlayer.prototype.prepended = function( elems ) {\n  var items = this._itemize( elems );\n  if ( !items.length ) {\n    return;\n  }\n  // add items to beginning of collection\n  var previousItems = this.items.slice(0);\n  this.items = items.concat( previousItems );\n  // start new layout\n  this._resetLayout();\n  this._manageStamps();\n  // layout new stuff without transition\n  this.layoutItems( items, true );\n  this.reveal( items );\n  // layout previous items\n  this.layoutItems( previousItems );\n};\n\n/**\n * reveal a collection of items\n * @param {Array of Outlayer.Items} items\n */\nOutlayer.prototype.reveal = function( items ) {\n  this._emitCompleteOnItems( 'reveal', items );\n\n  var len = items && items.length;\n  for ( var i=0; len && i < len; i++ ) {\n    var item = items[i];\n    item.reveal();\n  }\n};\n\n/**\n * hide a collection of items\n * @param {Array of Outlayer.Items} items\n */\nOutlayer.prototype.hide = function( items ) {\n  this._emitCompleteOnItems( 'hide', items );\n\n  var len = items && items.length;\n  for ( var i=0; len && i < len; i++ ) {\n    var item = items[i];\n    item.hide();\n  }\n};\n\n/**\n * reveal item elements\n * @param {Array}, {Element}, {NodeList} items\n */\nOutlayer.prototype.revealItemElements = function( elems ) {\n  var items = this.getItems( elems );\n  this.reveal( items );\n};\n\n/**\n * hide item elements\n * @param {Array}, {Element}, {NodeList} items\n */\nOutlayer.prototype.hideItemElements = function( elems ) {\n  var items = this.getItems( elems );\n  this.hide( items );\n};\n\n/**\n * get Outlayer.Item, given an Element\n * @param {Element} elem\n * @param {Function} callback\n * @returns {Outlayer.Item} item\n */\nOutlayer.prototype.getItem = function( elem ) {\n  // loop through items to get the one that matches\n  for ( var i=0, len = this.items.length; i < len; i++ ) {\n    var item = this.items[i];\n    if ( item.element === elem ) {\n      // return item\n      return item;\n    }\n  }\n};\n\n/**\n * get collection of Outlayer.Items, given Elements\n * @param {Array} elems\n * @returns {Array} items - Outlayer.Items\n */\nOutlayer.prototype.getItems = function( elems ) {\n  elems = utils.makeArray( elems );\n  var items = [];\n  for ( var i=0, len = elems.length; i < len; i++ ) {\n    var elem = elems[i];\n    var item = this.getItem( elem );\n    if ( item ) {\n      items.push( item );\n    }\n  }\n\n  return items;\n};\n\n/**\n * remove element(s) from instance and DOM\n * @param {Array or NodeList or Element} elems\n */\nOutlayer.prototype.remove = function( elems ) {\n  var removeItems = this.getItems( elems );\n\n  this._emitCompleteOnItems( 'remove', removeItems );\n\n  // bail if no items to remove\n  if ( !removeItems || !removeItems.length ) {\n    return;\n  }\n\n  for ( var i=0, len = removeItems.length; i < len; i++ ) {\n    var item = removeItems[i];\n    item.remove();\n    // remove item from collection\n    utils.removeFrom( this.items, item );\n  }\n};\n\n// ----- destroy ----- //\n\n// remove and disable Outlayer instance\nOutlayer.prototype.destroy = function() {\n  // clean up dynamic styles\n  var style = this.element.style;\n  style.height = '';\n  style.position = '';\n  style.width = '';\n  // destroy items\n  for ( var i=0, len = this.items.length; i < len; i++ ) {\n    var item = this.items[i];\n    item.destroy();\n  }\n\n  this.unbindResize();\n\n  var id = this.element.outlayerGUID;\n  delete instances[ id ]; // remove reference to instance by id\n  delete this.element.outlayerGUID;\n  // remove data for jQuery\n  if ( jQuery ) {\n    jQuery.removeData( this.element, this.constructor.namespace );\n  }\n\n};\n\n// -------------------------- data -------------------------- //\n\n/**\n * get Outlayer instance from element\n * @param {Element} elem\n * @returns {Outlayer}\n */\nOutlayer.data = function( elem ) {\n  elem = utils.getQueryElement( elem );\n  var id = elem && elem.outlayerGUID;\n  return id && instances[ id ];\n};\n\n\n// -------------------------- create Outlayer class -------------------------- //\n\n/**\n * create a layout class\n * @param {String} namespace\n */\nOutlayer.create = function( namespace, options ) {\n  // sub-class Outlayer\n  function Layout() {\n    Outlayer.apply( this, arguments );\n  }\n  // inherit Outlayer prototype, use Object.create if there\n  if ( Object.create ) {\n    Layout.prototype = Object.create( Outlayer.prototype );\n  } else {\n    utils.extend( Layout.prototype, Outlayer.prototype );\n  }\n  // set contructor, used for namespace and Item\n  Layout.prototype.constructor = Layout;\n\n  Layout.defaults = utils.extend( {}, Outlayer.defaults );\n  // apply new options\n  utils.extend( Layout.defaults, options );\n  // keep prototype.settings for backwards compatibility (Packery v1.2.0)\n  Layout.prototype.settings = {};\n\n  Layout.namespace = namespace;\n\n  Layout.data = Outlayer.data;\n\n  // sub-class Item\n  Layout.Item = function LayoutItem() {\n    Item.apply( this, arguments );\n  };\n\n  Layout.Item.prototype = new Item();\n\n  // -------------------------- declarative -------------------------- //\n\n  utils.htmlInit( Layout, namespace );\n\n  // -------------------------- jQuery bridge -------------------------- //\n\n  // make into jQuery plugin\n  if ( jQuery && jQuery.bridget ) {\n    jQuery.bridget( namespace, Layout );\n  }\n\n  return Layout;\n};\n\n// ----- fin ----- //\n\n// back in global\nOutlayer.Item = Item;\n\nreturn Outlayer;\n\n}));\n\n\n/**\n * Rect\n * low-level utility class for basic geometry\n */\n\n( function( window, factory ) {\n  \n  // universal module definition\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( 'packery/js/rect',factory );\n  } else if ( typeof exports == 'object' ) {\n    // CommonJS\n    module.exports = factory();\n  } else {\n    // browser global\n    window.Packery = window.Packery || {};\n    window.Packery.Rect = factory();\n  }\n\n}( window, function factory() {\n\n\n// -------------------------- Packery -------------------------- //\n\n// global namespace\nvar Packery = window.Packery = function() {};\n\n// -------------------------- Rect -------------------------- //\n\nfunction Rect( props ) {\n  // extend properties from defaults\n  for ( var prop in Rect.defaults ) {\n    this[ prop ] = Rect.defaults[ prop ];\n  }\n\n  for ( prop in props ) {\n    this[ prop ] = props[ prop ];\n  }\n\n}\n\n// make available\nPackery.Rect = Rect;\n\nRect.defaults = {\n  x: 0,\n  y: 0,\n  width: 0,\n  height: 0\n};\n\n/**\n * Determines whether or not this rectangle wholly encloses another rectangle or point.\n * @param {Rect} rect\n * @returns {Boolean}\n**/\nRect.prototype.contains = function( rect ) {\n  // points don't have width or height\n  var otherWidth = rect.width || 0;\n  var otherHeight = rect.height || 0;\n  return this.x <= rect.x &&\n    this.y <= rect.y &&\n    this.x + this.width >= rect.x + otherWidth &&\n    this.y + this.height >= rect.y + otherHeight;\n};\n\n/**\n * Determines whether or not the rectangle intersects with another.\n * @param {Rect} rect\n * @returns {Boolean}\n**/\nRect.prototype.overlaps = function( rect ) {\n  var thisRight = this.x + this.width;\n  var thisBottom = this.y + this.height;\n  var rectRight = rect.x + rect.width;\n  var rectBottom = rect.y + rect.height;\n\n  // http://stackoverflow.com/a/306332\n  return this.x < rectRight &&\n    thisRight > rect.x &&\n    this.y < rectBottom &&\n    thisBottom > rect.y;\n};\n\n/**\n * @param {Rect} rect - the overlapping rect\n * @returns {Array} freeRects - rects representing the area around the rect\n**/\nRect.prototype.getMaximalFreeRects = function( rect ) {\n\n  // if no intersection, return false\n  if ( !this.overlaps( rect ) ) {\n    return false;\n  }\n\n  var freeRects = [];\n  var freeRect;\n\n  var thisRight = this.x + this.width;\n  var thisBottom = this.y + this.height;\n  var rectRight = rect.x + rect.width;\n  var rectBottom = rect.y + rect.height;\n\n  // top\n  if ( this.y < rect.y ) {\n    freeRect = new Rect({\n      x: this.x,\n      y: this.y,\n      width: this.width,\n      height: rect.y - this.y\n    });\n    freeRects.push( freeRect );\n  }\n\n  // right\n  if ( thisRight > rectRight ) {\n    freeRect = new Rect({\n      x: rectRight,\n      y: this.y,\n      width: thisRight - rectRight,\n      height: this.height\n    });\n    freeRects.push( freeRect );\n  }\n\n  // bottom\n  if ( thisBottom > rectBottom ) {\n    freeRect = new Rect({\n      x: this.x,\n      y: rectBottom,\n      width: this.width,\n      height: thisBottom - rectBottom\n    });\n    freeRects.push( freeRect );\n  }\n\n  // left\n  if ( this.x < rect.x ) {\n    freeRect = new Rect({\n      x: this.x,\n      y: this.y,\n      width: rect.x - this.x,\n      height: this.height\n    });\n    freeRects.push( freeRect );\n  }\n\n  return freeRects;\n};\n\nRect.prototype.canFit = function( rect ) {\n  return this.width >= rect.width && this.height >= rect.height;\n};\n\nreturn Rect;\n\n}));\n\n/**\n * Packer\n * bin-packing algorithm\n */\n\n( function( window, factory ) {\n  \n  // universal module definition\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( 'packery/js/packer',[ './rect' ], factory );\n  } else if ( typeof exports == 'object' ) {\n    // CommonJS\n    module.exports = factory(\n      require('./rect')\n    );\n  } else {\n    // browser global\n    var Packery = window.Packery = window.Packery || {};\n    Packery.Packer = factory( Packery.Rect );\n  }\n\n}( window, function factory( Rect ) {\n\n\n// -------------------------- Packer -------------------------- //\n\n/**\n * @param {Number} width\n * @param {Number} height\n * @param {String} sortDirection\n *   topLeft for vertical, leftTop for horizontal\n */\nfunction Packer( width, height, sortDirection ) {\n  this.width = width || 0;\n  this.height = height || 0;\n  this.sortDirection = sortDirection || 'downwardLeftToRight';\n\n  this.reset();\n}\n\nPacker.prototype.reset = function() {\n  this.spaces = [];\n  this.newSpaces = [];\n\n  var initialSpace = new Rect({\n    x: 0,\n    y: 0,\n    width: this.width,\n    height: this.height\n  });\n\n  this.spaces.push( initialSpace );\n  // set sorter\n  this.sorter = sorters[ this.sortDirection ] || sorters.downwardLeftToRight;\n};\n\n// change x and y of rect to fit with in Packer's available spaces\nPacker.prototype.pack = function( rect ) {\n  for ( var i=0, len = this.spaces.length; i < len; i++ ) {\n    var space = this.spaces[i];\n    if ( space.canFit( rect ) ) {\n      this.placeInSpace( rect, space );\n      break;\n    }\n  }\n};\n\nPacker.prototype.placeInSpace = function( rect, space ) {\n  // place rect in space\n  rect.x = space.x;\n  rect.y = space.y;\n\n  this.placed( rect );\n};\n\n// update spaces with placed rect\nPacker.prototype.placed = function( rect ) {\n  // update spaces\n  var revisedSpaces = [];\n  for ( var i=0, len = this.spaces.length; i < len; i++ ) {\n    var space = this.spaces[i];\n    var newSpaces = space.getMaximalFreeRects( rect );\n    // add either the original space or the new spaces to the revised spaces\n    if ( newSpaces ) {\n      revisedSpaces.push.apply( revisedSpaces, newSpaces );\n    } else {\n      revisedSpaces.push( space );\n    }\n  }\n\n  this.spaces = revisedSpaces;\n\n  this.mergeSortSpaces();\n};\n\nPacker.prototype.mergeSortSpaces = function() {\n  // remove redundant spaces\n  Packer.mergeRects( this.spaces );\n  this.spaces.sort( this.sorter );\n};\n\n// add a space back\nPacker.prototype.addSpace = function( rect ) {\n  this.spaces.push( rect );\n  this.mergeSortSpaces();\n};\n\n// -------------------------- utility functions -------------------------- //\n\n/**\n * Remove redundant rectangle from array of rectangles\n * @param {Array} rects: an array of Rects\n * @returns {Array} rects: an array of Rects\n**/\nPacker.mergeRects = function( rects ) {\n  for ( var i=0, len = rects.length; i < len; i++ ) {\n    var rect = rects[i];\n    // skip over this rect if it was already removed\n    if ( !rect ) {\n      continue;\n    }\n    // clone rects we're testing, remove this rect\n    var compareRects = rects.slice(0);\n    // do not compare with self\n    compareRects.splice( i, 1 );\n    // compare this rect with others\n    var removedCount = 0;\n    for ( var j=0, jLen = compareRects.length; j < jLen; j++ ) {\n      var compareRect = compareRects[j];\n      // if this rect contains another,\n      // remove that rect from test collection\n      var indexAdjust = i > j ? 0 : 1;\n      if ( rect.contains( compareRect ) ) {\n        // console.log( 'current test rects:' + testRects.length, testRects );\n        // console.log( i, j, indexAdjust, rect, compareRect );\n        rects.splice( j + indexAdjust - removedCount, 1 );\n        removedCount++;\n      }\n    }\n  }\n\n  return rects;\n};\n\n\n// -------------------------- sorters -------------------------- //\n\n// functions for sorting rects in order\nvar sorters = {\n  // top down, then left to right\n  downwardLeftToRight: function( a, b ) {\n    return a.y - b.y || a.x - b.x;\n  },\n  // left to right, then top down\n  rightwardTopToBottom: function( a, b ) {\n    return a.x - b.x || a.y - b.y;\n  }\n};\n\n\n// --------------------------  -------------------------- //\n\nreturn Packer;\n\n}));\n/**\n * Packery Item Element\n**/\n\n( function( window, factory ) {\n  \n  // universal module definition\n\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( 'packery/js/item',[\n        'get-style-property/get-style-property',\n        'outlayer/outlayer',\n        './rect'\n      ],\n      factory );\n  } else if ( typeof exports == 'object' ) {\n    // CommonJS\n    module.exports = factory(\n      require('desandro-get-style-property'),\n      require('outlayer'),\n      require('./rect')\n    );\n  } else {\n    // browser global\n    window.Packery.Item = factory(\n      window.getStyleProperty,\n      window.Outlayer,\n      window.Packery.Rect\n    );\n  }\n\n}( window, function factory( getStyleProperty, Outlayer, Rect ) {\n\n\n// -------------------------- Item -------------------------- //\n\nvar transformProperty = getStyleProperty('transform');\n\n// sub-class Item\nvar Item = function PackeryItem() {\n  Outlayer.Item.apply( this, arguments );\n};\n\nItem.prototype = new Outlayer.Item();\n\nvar protoCreate = Item.prototype._create;\nItem.prototype._create = function() {\n  // call default _create logic\n  protoCreate.call( this );\n  this.rect = new Rect();\n  // rect used for placing, in drag or Packery.fit()\n  this.placeRect = new Rect();\n};\n\n// -------------------------- drag -------------------------- //\n\nItem.prototype.dragStart = function() {\n  this.getPosition();\n  this.removeTransitionStyles();\n  // remove transform property from transition\n  if ( this.isTransitioning && transformProperty ) {\n    this.element.style[ transformProperty ] = 'none';\n  }\n  this.getSize();\n  // create place rect, used for position when dragged then dropped\n  // or when positioning\n  this.isPlacing = true;\n  this.needsPositioning = false;\n  this.positionPlaceRect( this.position.x, this.position.y );\n  this.isTransitioning = false;\n  this.didDrag = false;\n};\n\n/**\n * handle item when it is dragged\n * @param {Number} x - horizontal position of dragged item\n * @param {Number} y - vertical position of dragged item\n */\nItem.prototype.dragMove = function( x, y ) {\n  this.didDrag = true;\n  var packerySize = this.layout.size;\n  x -= packerySize.paddingLeft;\n  y -= packerySize.paddingTop;\n  this.positionPlaceRect( x, y );\n};\n\nItem.prototype.dragStop = function() {\n  this.getPosition();\n  var isDiffX = this.position.x != this.placeRect.x;\n  var isDiffY = this.position.y != this.placeRect.y;\n  // set post-drag positioning flag\n  this.needsPositioning = isDiffX || isDiffY;\n  // reset flag\n  this.didDrag = false;\n};\n\n// -------------------------- placing -------------------------- //\n\n/**\n * position a rect that will occupy space in the packer\n * @param {Number} x\n * @param {Number} y\n * @param {Boolean} isMaxYContained\n */\nItem.prototype.positionPlaceRect = function( x, y, isMaxYOpen ) {\n  this.placeRect.x = this.getPlaceRectCoord( x, true );\n  this.placeRect.y = this.getPlaceRectCoord( y, false, isMaxYOpen );\n};\n\n/**\n * get x/y coordinate for place rect\n * @param {Number} coord - x or y\n * @param {Boolean} isX\n * @param {Boolean} isMaxOpen - does not limit value to outer bound\n * @returns {Number} coord - processed x or y\n */\nItem.prototype.getPlaceRectCoord = function( coord, isX, isMaxOpen ) {\n  var measure = isX ? 'Width' : 'Height';\n  var size = this.size[ 'outer' + measure ];\n  var segment = this.layout[ isX ? 'columnWidth' : 'rowHeight' ];\n  var parentSize = this.layout.size[ 'inner' + measure ];\n\n  // additional parentSize calculations for Y\n  if ( !isX ) {\n    parentSize = Math.max( parentSize, this.layout.maxY );\n    // prevent gutter from bumping up height when non-vertical grid\n    if ( !this.layout.rowHeight ) {\n      parentSize -= this.layout.gutter;\n    }\n  }\n\n  var max;\n\n  if ( segment ) {\n    segment += this.layout.gutter;\n    // allow for last column to reach the edge\n    parentSize += isX ? this.layout.gutter : 0;\n    // snap to closest segment\n    coord = Math.round( coord / segment );\n    // contain to outer bound\n    // contain non-growing bound, allow growing bound to grow\n    var mathMethod;\n    if ( this.layout.options.isHorizontal ) {\n      mathMethod = !isX ? 'floor' : 'ceil';\n    } else {\n      mathMethod = isX ? 'floor' : 'ceil';\n    }\n    var maxSegments = Math[ mathMethod ]( parentSize / segment );\n    maxSegments -= Math.ceil( size / segment );\n    max = maxSegments;\n  } else {\n    max = parentSize - size;\n  }\n\n  coord = isMaxOpen ? coord : Math.min( coord, max );\n  coord *= segment || 1;\n\n  return Math.max( 0, coord );\n};\n\nItem.prototype.copyPlaceRectPosition = function() {\n  this.rect.x = this.placeRect.x;\n  this.rect.y = this.placeRect.y;\n};\n\n// -----  ----- //\n\n// remove element from DOM\nItem.prototype.removeElem = function() {\n  this.element.parentNode.removeChild( this.element );\n  // add space back to packer\n  this.layout.packer.addSpace( this.rect );\n  this.emitEvent( 'remove', [ this ] );\n};\n\n// -----  ----- //\n\nreturn Item;\n\n}));\n\n/*!\n * Packery v1.4.3\n * bin-packing layout library\n *\n * Licensed GPLv3 for open source use\n * or Flickity Commercial License for commercial use\n *\n * http://packery.metafizzy.co\n * Copyright 2015 Metafizzy\n */\n\n( function( window, factory ) {\n  \n  // universal module definition\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( [\n        'classie/classie',\n        'get-size/get-size',\n        'outlayer/outlayer',\n        'packery/js/rect',\n        'packery/js/packer',\n        'packery/js/item'\n      ],\n      factory );\n  } else if ( typeof exports == 'object' ) {\n    // CommonJS\n    module.exports = factory(\n      require('desandro-classie'),\n      require('get-size'),\n      require('outlayer'),\n      require('./rect'),\n      require('./packer'),\n      require('./item')\n    );\n  } else {\n    // browser global\n    window.Packery = factory(\n      window.classie,\n      window.getSize,\n      window.Outlayer,\n      window.Packery.Rect,\n      window.Packery.Packer,\n      window.Packery.Item\n    );\n  }\n\n}( window, function factory( classie, getSize, Outlayer, Rect, Packer, Item ) {\n\n\n// ----- Rect ----- //\n\n// allow for pixel rounding errors IE8-IE11 & Firefox; #227\nRect.prototype.canFit = function( rect ) {\n  return this.width >= rect.width - 1 && this.height >= rect.height - 1;\n};\n\n// -------------------------- Packery -------------------------- //\n\n// create an Outlayer layout class\nvar Packery = Outlayer.create('packery');\nPackery.Item = Item;\n\nPackery.prototype._create = function() {\n  // call super\n  Outlayer.prototype._create.call( this );\n\n  // initial properties\n  this.packer = new Packer();\n\n  // Left over from v1.0\n  this.stamp( this.options.stamped );\n\n  // create drag handlers\n  var _this = this;\n  this.handleDraggabilly = {\n    dragStart: function() {\n      _this.itemDragStart( this.element );\n    },\n    dragMove: function() {\n      _this.itemDragMove( this.element, this.position.x, this.position.y );\n    },\n    dragEnd: function() {\n      _this.itemDragEnd( this.element );\n    }\n  };\n\n  this.handleUIDraggable = {\n    start: function handleUIDraggableStart( event, ui ) {\n      // HTML5 may trigger dragstart, dismiss HTML5 dragging\n      if ( !ui ) {\n        return;\n      }\n      _this.itemDragStart( event.currentTarget );\n    },\n    drag: function handleUIDraggableDrag( event, ui ) {\n      if ( !ui ) {\n        return;\n      }\n      _this.itemDragMove( event.currentTarget, ui.position.left, ui.position.top );\n    },\n    stop: function handleUIDraggableStop( event, ui ) {\n      if ( !ui ) {\n        return;\n      }\n      _this.itemDragEnd( event.currentTarget );\n    }\n  };\n\n};\n\n\n// ----- init & layout ----- //\n\n/**\n * logic before any new layout\n */\nPackery.prototype._resetLayout = function() {\n  this.getSize();\n\n  this._getMeasurements();\n\n  // reset packer\n  var packer = this.packer;\n  // packer settings, if horizontal or vertical\n  if ( this.options.isHorizontal ) {\n    packer.width = Number.POSITIVE_INFINITY;\n    packer.height = this.size.innerHeight + this.gutter;\n    packer.sortDirection = 'rightwardTopToBottom';\n  } else {\n    packer.width = this.size.innerWidth + this.gutter;\n    packer.height = Number.POSITIVE_INFINITY;\n    packer.sortDirection = 'downwardLeftToRight';\n  }\n\n  packer.reset();\n\n  // layout\n  this.maxY = 0;\n  this.maxX = 0;\n};\n\n/**\n * update columnWidth, rowHeight, & gutter\n * @private\n */\nPackery.prototype._getMeasurements = function() {\n  this._getMeasurement( 'columnWidth', 'width' );\n  this._getMeasurement( 'rowHeight', 'height' );\n  this._getMeasurement( 'gutter', 'width' );\n};\n\nPackery.prototype._getItemLayoutPosition = function( item ) {\n  this._packItem( item );\n  return item.rect;\n};\n\n\n/**\n * layout item in packer\n * @param {Packery.Item} item\n */\nPackery.prototype._packItem = function( item ) {\n  this._setRectSize( item.element, item.rect );\n  // pack the rect in the packer\n  this.packer.pack( item.rect );\n  this._setMaxXY( item.rect );\n};\n\n/**\n * set max X and Y value, for size of container\n * @param {Packery.Rect} rect\n * @private\n */\nPackery.prototype._setMaxXY = function( rect ) {\n  this.maxX = Math.max( rect.x + rect.width, this.maxX );\n  this.maxY = Math.max( rect.y + rect.height, this.maxY );\n};\n\n/**\n * set the width and height of a rect, applying columnWidth and rowHeight\n * @param {Element} elem\n * @param {Packery.Rect} rect\n */\nPackery.prototype._setRectSize = function( elem, rect ) {\n  var size = getSize( elem );\n  var w = size.outerWidth;\n  var h = size.outerHeight;\n  // size for columnWidth and rowHeight, if available\n  // only check if size is non-zero, #177\n  if ( w || h ) {\n    w = this._applyGridGutter( w, this.columnWidth );\n    h = this._applyGridGutter( h, this.rowHeight );\n  }\n  // rect must fit in packer\n  rect.width = Math.min( w, this.packer.width );\n  rect.height = Math.min( h, this.packer.height );\n};\n\n/**\n * fits item to columnWidth/rowHeight and adds gutter\n * @param {Number} measurement - item width or height\n * @param {Number} gridSize - columnWidth or rowHeight\n * @returns measurement\n */\nPackery.prototype._applyGridGutter = function( measurement, gridSize ) {\n  // just add gutter if no gridSize\n  if ( !gridSize ) {\n    return measurement + this.gutter;\n  }\n  gridSize += this.gutter;\n  // fit item to columnWidth/rowHeight\n  var remainder = measurement % gridSize;\n  var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';\n  measurement = Math[ mathMethod ]( measurement / gridSize ) * gridSize;\n  return measurement;\n};\n\nPackery.prototype._getContainerSize = function() {\n  if ( this.options.isHorizontal ) {\n    return {\n      width: this.maxX - this.gutter\n    };\n  } else {\n    return {\n      height: this.maxY - this.gutter\n    };\n  }\n};\n\n\n// -------------------------- stamp -------------------------- //\n\n/**\n * makes space for element\n * @param {Element} elem\n */\nPackery.prototype._manageStamp = function( elem ) {\n\n  var item = this.getItem( elem );\n  var rect;\n  if ( item && item.isPlacing ) {\n    rect = item.placeRect;\n  } else {\n    var offset = this._getElementOffset( elem );\n    rect = new Rect({\n      x: this.options.isOriginLeft ? offset.left : offset.right,\n      y: this.options.isOriginTop ? offset.top : offset.bottom\n    });\n  }\n\n  this._setRectSize( elem, rect );\n  // save its space in the packer\n  this.packer.placed( rect );\n  this._setMaxXY( rect );\n};\n\n// -------------------------- methods -------------------------- //\n\nfunction verticalSorter( a, b ) {\n  return a.position.y - b.position.y || a.position.x - b.position.x;\n}\n\nfunction horizontalSorter( a, b ) {\n  return a.position.x - b.position.x || a.position.y - b.position.y;\n}\n\nPackery.prototype.sortItemsByPosition = function() {\n  var sorter = this.options.isHorizontal ? horizontalSorter : verticalSorter;\n  this.items.sort( sorter );\n};\n\n/**\n * Fit item element in its current position\n * Packery will position elements around it\n * useful for expanding elements\n *\n * @param {Element} elem\n * @param {Number} x - horizontal destination position, optional\n * @param {Number} y - vertical destination position, optional\n */\nPackery.prototype.fit = function( elem, x, y ) {\n  var item = this.getItem( elem );\n  if ( !item ) {\n    return;\n  }\n\n  // prepare internal properties\n  this._getMeasurements();\n\n  // stamp item to get it out of layout\n  this.stamp( item.element );\n  // required for positionPlaceRect\n  item.getSize();\n  // set placing flag\n  item.isPlacing = true;\n  // fall back to current position for fitting\n  x = x === undefined ? item.rect.x: x;\n  y = y === undefined ? item.rect.y: y;\n\n  // position it best at its destination\n  item.positionPlaceRect( x, y, true );\n\n  this._bindFitEvents( item );\n  item.moveTo( item.placeRect.x, item.placeRect.y );\n  // layout everything else\n  this.layout();\n\n  // return back to regularly scheduled programming\n  this.unstamp( item.element );\n  this.sortItemsByPosition();\n  // un set placing flag, back to normal\n  item.isPlacing = false;\n  // copy place rect position\n  item.copyPlaceRectPosition();\n};\n\n/**\n * emit event when item is fit and other items are laid out\n * @param {Packery.Item} item\n * @private\n */\nPackery.prototype._bindFitEvents = function( item ) {\n  var _this = this;\n  var ticks = 0;\n  function tick() {\n    ticks++;\n    if ( ticks != 2 ) {\n      return;\n    }\n    _this.dispatchEvent( 'fitComplete', null, [ item ] );\n  }\n  // when item is laid out\n  item.on( 'layout', function() {\n    tick();\n    return true;\n  });\n  // when all items are laid out\n  this.on( 'layoutComplete', function() {\n    tick();\n    return true;\n  });\n};\n\n// -------------------------- resize -------------------------- //\n\n// debounced, layout on resize\nPackery.prototype.resize = function() {\n  // don't trigger if size did not change\n  var size = getSize( this.element );\n  // check that this.size and size are there\n  // IE8 triggers resize on body size change, so they might not be\n  var hasSizes = this.size && size;\n  var innerSize = this.options.isHorizontal ? 'innerHeight' : 'innerWidth';\n  if ( hasSizes && size[ innerSize ] == this.size[ innerSize ] ) {\n    return;\n  }\n\n  this.layout();\n};\n\n// -------------------------- drag -------------------------- //\n\n/**\n * handle an item drag start event\n * @param {Element} elem\n */\nPackery.prototype.itemDragStart = function( elem ) {\n  this.stamp( elem );\n  var item = this.getItem( elem );\n  if ( item ) {\n    item.dragStart();\n  }\n};\n\n/**\n * handle an item drag move event\n * @param {Element} elem\n * @param {Number} x - horizontal change in position\n * @param {Number} y - vertical change in position\n */\nPackery.prototype.itemDragMove = function( elem, x, y ) {\n  var item = this.getItem( elem );\n  if ( item ) {\n    item.dragMove( x, y );\n  }\n\n  // debounce\n  var _this = this;\n  // debounce triggering layout\n  function delayed() {\n    _this.layout();\n    delete _this.dragTimeout;\n  }\n\n  this.clearDragTimeout();\n\n  this.dragTimeout = setTimeout( delayed, 40 );\n};\n\nPackery.prototype.clearDragTimeout = function() {\n  if ( this.dragTimeout ) {\n    clearTimeout( this.dragTimeout );\n  }\n};\n\n/**\n * handle an item drag end event\n * @param {Element} elem\n */\nPackery.prototype.itemDragEnd = function( elem ) {\n  var item = this.getItem( elem );\n  var itemDidDrag;\n  if ( item ) {\n    itemDidDrag = item.didDrag;\n    item.dragStop();\n  }\n  // if elem didn't move, or if it doesn't need positioning\n  // unignore and unstamp and call it a day\n  if ( !item || ( !itemDidDrag && !item.needsPositioning ) ) {\n    this.unstamp( elem );\n    return;\n  }\n  // procced with dragged item\n\n  classie.add( item.element, 'is-positioning-post-drag' );\n\n  // save this var, as it could get reset in dragStart\n  var onLayoutComplete = this._getDragEndLayoutComplete( elem, item );\n\n  if ( item.needsPositioning ) {\n    item.on( 'layout', onLayoutComplete );\n    item.moveTo( item.placeRect.x, item.placeRect.y );\n  } else if ( item ) {\n    // item didn't need placement\n    item.copyPlaceRectPosition();\n  }\n\n  this.clearDragTimeout();\n  this.on( 'layoutComplete', onLayoutComplete );\n  this.layout();\n\n};\n\n/**\n * get drag end callback\n * @param {Element} elem\n * @param {Packery.Item} item\n * @returns {Function} onLayoutComplete\n */\nPackery.prototype._getDragEndLayoutComplete = function( elem, item ) {\n  var itemNeedsPositioning = item && item.needsPositioning;\n  var completeCount = 0;\n  var asyncCount = itemNeedsPositioning ? 2 : 1;\n  var _this = this;\n\n  return function onLayoutComplete() {\n    completeCount++;\n    // don't proceed if not complete\n    if ( completeCount != asyncCount ) {\n      return true;\n    }\n    // reset item\n    if ( item ) {\n      classie.remove( item.element, 'is-positioning-post-drag' );\n      item.isPlacing = false;\n      item.copyPlaceRectPosition();\n    }\n\n    _this.unstamp( elem );\n    // only sort when item moved\n    _this.sortItemsByPosition();\n\n    // emit item drag event now that everything is done\n    if ( itemNeedsPositioning ) {\n      _this.dispatchEvent( 'dragItemPositioned', null, [ item ] );\n    }\n    // listen once\n    return true;\n  };\n};\n\n/**\n * binds Draggabilly events\n * @param {Draggabilly} draggie\n */\nPackery.prototype.bindDraggabillyEvents = function( draggie ) {\n  draggie.on( 'dragStart', this.handleDraggabilly.dragStart );\n  draggie.on( 'dragMove', this.handleDraggabilly.dragMove );\n  draggie.on( 'dragEnd', this.handleDraggabilly.dragEnd );\n};\n\n/**\n * binds jQuery UI Draggable events\n * @param {jQuery} $elems\n */\nPackery.prototype.bindUIDraggableEvents = function( $elems ) {\n  $elems\n    .on( 'dragstart', this.handleUIDraggable.start )\n    .on( 'drag', this.handleUIDraggable.drag )\n    .on( 'dragstop', this.handleUIDraggable.stop );\n};\n\nPackery.Rect = Rect;\nPackery.Packer = Packer;\n\nreturn Packery;\n\n}));\n\n","Smartwave_Porto/js/ev-emitter.js":"/**\n * EvEmitter v1.0.1\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n  // universal module definition\n  /* jshint strict: false */ /* globals define, module */\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD - RequireJS\n    define( factory );\n  } else if ( typeof module == 'object' && module.exports ) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory();\n  } else {\n    // Browser globals\n    global.EvEmitter = factory();\n  }\n\n}( this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n  if ( !eventName || !listener ) {\n    return;\n  }\n  // set events hash\n  var events = this._events = this._events || {};\n  // set listeners array\n  var listeners = events[ eventName ] = events[ eventName ] || [];\n  // only add once\n  if ( listeners.indexOf( listener ) == -1 ) {\n    listeners.push( listener );\n  }\n\n  return this;\n};\n\nproto.once = function( eventName, listener ) {\n  if ( !eventName || !listener ) {\n    return;\n  }\n  // add event\n  this.on( eventName, listener );\n  // set once flag\n  // set onceEvents hash\n  var onceEvents = this._onceEvents = this._onceEvents || {};\n  // set onceListeners array\n  var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || [];\n  // set flag\n  onceListeners[ listener ] = true;\n\n  return this;\n};\n\nproto.off = function( eventName, listener ) {\n  var listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) {\n    return;\n  }\n  var index = listeners.indexOf( listener );\n  if ( index != -1 ) {\n    listeners.splice( index, 1 );\n  }\n\n  return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n  var listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) {\n    return;\n  }\n  var i = 0;\n  var listener = listeners[i];\n  args = args || [];\n  // once stuff\n  var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n  while ( listener ) {\n    var isOnce = onceListeners && onceListeners[ listener ];\n    if ( isOnce ) {\n      // remove listener\n      // remove before trigger to prevent recursion\n      this.off( eventName, listener );\n      // unset once flag\n      delete onceListeners[ listener ];\n    }\n    // trigger listener\n    listener.apply( this, args );\n    // get next listener\n    i += isOnce ? 0 : 1;\n    listener = listeners[i];\n  }\n\n  return this;\n};\n\nreturn EvEmitter;\n\n}));\n","Smartwave_Porto/js/imagesloaded.js":"/*!\n * imagesLoaded PACKAGED v5.0.0\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n/**\n * EvEmitter v2.1.1\n * Lil' event emitter\n * MIT License\n */\n\n( function( global, factory ) {\n  // universal module definition\n  if ( typeof module == 'object' && module.exports ) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory();\n  } else {\n    // Browser globals\n    global.EvEmitter = factory();\n  }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\nfunction EvEmitter() {}\n\nlet proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n  if ( !eventName || !listener ) return this;\n\n  // set events hash\n  let events = this._events = this._events || {};\n  // set listeners array\n  let listeners = events[ eventName ] = events[ eventName ] || [];\n  // only add once\n  if ( !listeners.includes( listener ) ) {\n    listeners.push( listener );\n  }\n\n  return this;\n};\n\nproto.once = function( eventName, listener ) {\n  if ( !eventName || !listener ) return this;\n\n  // add event\n  this.on( eventName, listener );\n  // set once flag\n  // set onceEvents hash\n  let onceEvents = this._onceEvents = this._onceEvents || {};\n  // set onceListeners object\n  let onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n  // set flag\n  onceListeners[ listener ] = true;\n\n  return this;\n};\n\nproto.off = function( eventName, listener ) {\n  let listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) return this;\n\n  let index = listeners.indexOf( listener );\n  if ( index != -1 ) {\n    listeners.splice( index, 1 );\n  }\n\n  return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n  let listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) return this;\n\n  // copy over to avoid interference if .off() in listener\n  listeners = listeners.slice( 0 );\n  args = args || [];\n  // once stuff\n  let onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n  for ( let listener of listeners ) {\n    let isOnce = onceListeners && onceListeners[ listener ];\n    if ( isOnce ) {\n      // remove listener\n      // remove before trigger to prevent recursion\n      this.off( eventName, listener );\n      // unset once flag\n      delete onceListeners[ listener ];\n    }\n    // trigger listener\n    listener.apply( this, args );\n  }\n\n  return this;\n};\n\nproto.allOff = function() {\n  delete this._events;\n  delete this._onceEvents;\n  return this;\n};\n\nreturn EvEmitter;\n\n} ) );\n/*!\n * imagesLoaded v5.0.0\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n( function( window, factory ) {\n  // universal module definition\n  if ( typeof module == 'object' && module.exports ) {\n    // CommonJS\n    module.exports = factory( window, require('ev-emitter') );\n  } else {\n    // browser global\n    window.imagesLoaded = factory( window, window.EvEmitter );\n  }\n\n} )( typeof window !== 'undefined' ? window : this,\n    function factory( window, EvEmitter ) {\n\nlet $ = window.jQuery;\nlet console = window.console;\n\n// -------------------------- helpers -------------------------- //\n\n// turn element or nodeList into an array\nfunction makeArray( obj ) {\n  // use object if already an array\n  if ( Array.isArray( obj ) ) return obj;\n\n  let isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n  // convert nodeList to array\n  if ( isArrayLike ) return [ ...obj ];\n\n  // array of single index\n  return [ obj ];\n}\n\n// -------------------------- imagesLoaded -------------------------- //\n\n/**\n * @param {[Array, Element, NodeList, String]} elem\n * @param {[Object, Function]} options - if function, use as callback\n * @param {Function} onAlways - callback function\n * @returns {ImagesLoaded}\n */\nfunction ImagesLoaded( elem, options, onAlways ) {\n  // coerce ImagesLoaded() without new, to be new ImagesLoaded()\n  if ( !( this instanceof ImagesLoaded ) ) {\n    return new ImagesLoaded( elem, options, onAlways );\n  }\n  // use elem as selector string\n  let queryElem = elem;\n  if ( typeof elem == 'string' ) {\n    queryElem = document.querySelectorAll( elem );\n  }\n  // bail if bad element\n  if ( !queryElem ) {\n    console.error(`Bad element for imagesLoaded ${queryElem || elem}`);\n    return;\n  }\n\n  this.elements = makeArray( queryElem );\n  this.options = {};\n  // shift arguments if no options set\n  if ( typeof options == 'function' ) {\n    onAlways = options;\n  } else {\n    Object.assign( this.options, options );\n  }\n\n  if ( onAlways ) this.on( 'always', onAlways );\n\n  this.getImages();\n  // add jQuery Deferred object\n  if ( $ ) this.jqDeferred = new $.Deferred();\n\n  // HACK check async to allow time to bind listeners\n  setTimeout( this.check.bind( this ) );\n}\n\nImagesLoaded.prototype = Object.create( EvEmitter.prototype );\n\nImagesLoaded.prototype.getImages = function() {\n  this.images = [];\n\n  // filter & find items if we have an item selector\n  this.elements.forEach( this.addElementImages, this );\n};\n\nconst elementNodeTypes = [ 1, 9, 11 ];\n\n/**\n * @param {Node} elem\n */\nImagesLoaded.prototype.addElementImages = function( elem ) {\n  // filter siblings\n  if ( elem.nodeName === 'IMG' ) {\n    this.addImage( elem );\n  }\n  // get background image on element\n  if ( this.options.background === true ) {\n    this.addElementBackgroundImages( elem );\n  }\n\n  // find children\n  // no non-element nodes, #143\n  let { nodeType } = elem;\n  if ( !nodeType || !elementNodeTypes.includes( nodeType ) ) return;\n\n  let childImgs = elem.querySelectorAll('img');\n  // concat childElems to filterFound array\n  for ( let img of childImgs ) {\n    this.addImage( img );\n  }\n\n  // get child background images\n  if ( typeof this.options.background == 'string' ) {\n    let children = elem.querySelectorAll( this.options.background );\n    for ( let child of children ) {\n      this.addElementBackgroundImages( child );\n    }\n  }\n};\n\nconst reURL = /url\\((['\"])?(.*?)\\1\\)/gi;\n\nImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {\n  let style = getComputedStyle( elem );\n  // Firefox returns null if in a hidden iframe https://bugzil.la/548397\n  if ( !style ) return;\n\n  // get url inside url(\"...\")\n  let matches = reURL.exec( style.backgroundImage );\n  while ( matches !== null ) {\n    let url = matches && matches[2];\n    if ( url ) {\n      this.addBackground( url, elem );\n    }\n    matches = reURL.exec( style.backgroundImage );\n  }\n};\n\n/**\n * @param {Image} img\n */\nImagesLoaded.prototype.addImage = function( img ) {\n  let loadingImage = new LoadingImage( img );\n  this.images.push( loadingImage );\n};\n\nImagesLoaded.prototype.addBackground = function( url, elem ) {\n  let background = new Background( url, elem );\n  this.images.push( background );\n};\n\nImagesLoaded.prototype.check = function() {\n  this.progressedCount = 0;\n  this.hasAnyBroken = false;\n  // complete if no images\n  if ( !this.images.length ) {\n    this.complete();\n    return;\n  }\n\n  /* eslint-disable-next-line func-style */\n  let onProgress = ( image, elem, message ) => {\n    // HACK - Chrome triggers event before object properties have changed. #83\n    setTimeout( () => {\n      this.progress( image, elem, message );\n    } );\n  };\n\n  this.images.forEach( function( loadingImage ) {\n    loadingImage.once( 'progress', onProgress );\n    loadingImage.check();\n  } );\n};\n\nImagesLoaded.prototype.progress = function( image, elem, message ) {\n  this.progressedCount++;\n  this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;\n  // progress event\n  this.emitEvent( 'progress', [ this, image, elem ] );\n  if ( this.jqDeferred && this.jqDeferred.notify ) {\n    this.jqDeferred.notify( this, image );\n  }\n  // check if completed\n  if ( this.progressedCount === this.images.length ) {\n    this.complete();\n  }\n\n  if ( this.options.debug && console ) {\n    console.log( `progress: ${message}`, image, elem );\n  }\n};\n\nImagesLoaded.prototype.complete = function() {\n  let eventName = this.hasAnyBroken ? 'fail' : 'done';\n  this.isComplete = true;\n  this.emitEvent( eventName, [ this ] );\n  this.emitEvent( 'always', [ this ] );\n  if ( this.jqDeferred ) {\n    let jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';\n    this.jqDeferred[ jqMethod ]( this );\n  }\n};\n\n// --------------------------  -------------------------- //\n\nfunction LoadingImage( img ) {\n  this.img = img;\n}\n\nLoadingImage.prototype = Object.create( EvEmitter.prototype );\n\nLoadingImage.prototype.check = function() {\n  // If complete is true and browser supports natural sizes,\n  // try to check for image status manually.\n  let isComplete = this.getIsImageComplete();\n  if ( isComplete ) {\n    // report based on naturalWidth\n    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n    return;\n  }\n\n  // If none of the checks above matched, simulate loading on detached element.\n  this.proxyImage = new Image();\n  // add crossOrigin attribute. #204\n  if ( this.img.crossOrigin ) {\n    this.proxyImage.crossOrigin = this.img.crossOrigin;\n  }\n  this.proxyImage.addEventListener( 'load', this );\n  this.proxyImage.addEventListener( 'error', this );\n  // bind to image as well for Firefox. #191\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  this.proxyImage.src = this.img.currentSrc || this.img.src;\n};\n\nLoadingImage.prototype.getIsImageComplete = function() {\n  // check for non-zero, non-undefined naturalWidth\n  // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671\n  return this.img.complete && this.img.naturalWidth;\n};\n\nLoadingImage.prototype.confirm = function( isLoaded, message ) {\n  this.isLoaded = isLoaded;\n  let { parentNode } = this.img;\n  // emit progress with parent <picture> or self <img>\n  let elem = parentNode.nodeName === 'PICTURE' ? parentNode : this.img;\n  this.emitEvent( 'progress', [ this, elem, message ] );\n};\n\n// ----- events ----- //\n\n// trigger specified handler for event type\nLoadingImage.prototype.handleEvent = function( event ) {\n  let method = 'on' + event.type;\n  if ( this[ method ] ) {\n    this[ method ]( event );\n  }\n};\n\nLoadingImage.prototype.onload = function() {\n  this.confirm( true, 'onload' );\n  this.unbindEvents();\n};\n\nLoadingImage.prototype.onerror = function() {\n  this.confirm( false, 'onerror' );\n  this.unbindEvents();\n};\n\nLoadingImage.prototype.unbindEvents = function() {\n  this.proxyImage.removeEventListener( 'load', this );\n  this.proxyImage.removeEventListener( 'error', this );\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n};\n\n// -------------------------- Background -------------------------- //\n\nfunction Background( url, element ) {\n  this.url = url;\n  this.element = element;\n  this.img = new Image();\n}\n\n// inherit LoadingImage prototype\nBackground.prototype = Object.create( LoadingImage.prototype );\n\nBackground.prototype.check = function() {\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  this.img.src = this.url;\n  // check if image is already complete\n  let isComplete = this.getIsImageComplete();\n  if ( isComplete ) {\n    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n    this.unbindEvents();\n  }\n};\n\nBackground.prototype.unbindEvents = function() {\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n};\n\nBackground.prototype.confirm = function( isLoaded, message ) {\n  this.isLoaded = isLoaded;\n  this.emitEvent( 'progress', [ this, this.element, message ] );\n};\n\n// -------------------------- jQuery -------------------------- //\n\nImagesLoaded.makeJQueryPlugin = function( jQuery ) {\n  jQuery = jQuery || window.jQuery;\n  if ( !jQuery ) return;\n\n  // set local variable\n  $ = jQuery;\n  // $().imagesLoaded()\n  $.fn.imagesLoaded = function( options, onAlways ) {\n    let instance = new ImagesLoaded( this, options, onAlways );\n    return instance.jqDeferred.promise( $( this ) );\n  };\n};\n// try making plugin\nImagesLoaded.makeJQueryPlugin();\n\n// --------------------------  -------------------------- //\n\nreturn ImagesLoaded;\n\n} );\n","Smartwave_Porto/js/jquery.bridget.js":"/**\n * Bridget makes jQuery widgets\n * v1.0.1\n */\n\n( function( window ) {\n\n'use strict';\n\n// -------------------------- utils -------------------------- //\n\nvar slice = Array.prototype.slice;\n\nfunction noop() {}\n\n// -------------------------- definition -------------------------- //\n\nfunction defineBridget( $ ) {\n\n// bail if no jQuery\nif ( !$ ) {\n  return;\n}\n\n// -------------------------- addOptionMethod -------------------------- //\n\n/**\n * adds option method -> $().plugin('option', {...})\n * @param {Function} PluginClass - constructor class\n */\nfunction addOptionMethod( PluginClass ) {\n  // don't overwrite original option method\n  if(typeof PluginClass === \"function\"){\n      if ( PluginClass.prototype.option ) {\n        return;\n      }\n\n      // option setter\n      PluginClass.prototype.option = function( opts ) {\n        // bail out if not an object\n        if ( !$.isPlainObject( opts ) ){\n          return;\n        }\n        this.options = $.extend( true, this.options, opts );\n      };\n  } else {\n      return;\n  }\n}\n\n\n// -------------------------- plugin bridge -------------------------- //\n\n// helper function for logging errors\n// $.error breaks jQuery chaining\nvar logError = typeof console === 'undefined' ? noop :\n  function( message ) {\n    console.error( message );\n  };\n\n/**\n * jQuery plugin bridge, access methods like $elem.plugin('method')\n * @param {String} namespace - plugin name\n * @param {Function} PluginClass - constructor class\n */\nfunction bridge( namespace, PluginClass ) {\n  // add to jQuery fn namespace\n  $.fn[ namespace ] = function( options ) {\n    if ( typeof options === 'string' ) {\n      // call plugin method when first argument is a string\n      // get arguments for method\n      var args = slice.call( arguments, 1 );\n\n      for ( var i=0, len = this.length; i < len; i++ ) {\n        var elem = this[i];\n        var instance = $.data( elem, namespace );\n        if ( !instance ) {\n          logError( \"cannot call methods on \" + namespace + \" prior to initialization; \" +\n            \"attempted to call '\" + options + \"'\" );\n          continue;\n        }\n        if ( !$.isFunction( instance[options] ) || options.charAt(0) === '_' ) {\n          logError( \"no such method '\" + options + \"' for \" + namespace + \" instance\" );\n          continue;\n        }\n\n        // trigger method with arguments\n        var returnValue = instance[ options ].apply( instance, args );\n\n        // break look and return first value if provided\n        if ( returnValue !== undefined ) {\n          return returnValue;\n        }\n      }\n      // return this if no return value\n      return this;\n    } else {\n      return this.each( function() {\n        var instance = $.data( this, namespace );\n        if ( instance ) {\n          // apply options & init\n          instance.option( options );\n          instance._init();\n        } else {\n          // initialize new instance\n          instance = new PluginClass( this, options );\n          $.data( this, namespace, instance );\n        }\n      });\n    }\n  };\n\n}\n\n// -------------------------- bridget -------------------------- //\n\n/**\n * converts a Prototypical class into a proper jQuery plugin\n *   the class must have a ._init method\n * @param {String} namespace - plugin name, used in $().pluginName\n * @param {Function} PluginClass - constructor class\n */\n$.bridget = function( namespace, PluginClass ) {\n  addOptionMethod( PluginClass );\n  bridge( namespace, PluginClass );\n};\n\nreturn $.bridget;\n\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n  // AMD\n  define( [ 'jquery' ], defineBridget );\n} else {\n  // get jquery from browser global\n  defineBridget( window.jQuery );\n}\n\n})( window );\n","Smartwave_Megamenu/js/sw_megamenu.js":"(function (factory) {\n    'use strict';\n\n    if (typeof define === 'function' && define.amd) {\n        define([\n            'jquery'\n        ], factory);\n    } else {\n        factory(window.jQuery);\n    }\n}(function ($) {\n    'use strict';\n\n    $.fn.swMegamenu = function() {\n        $(\".navigation.sw-megamenu li.classic .submenu, .navigation.sw-megamenu li.staticwidth .submenu, .navigation.sw-megamenu li.classic .subchildmenu .subchildmenu\").each(function(){\n            $(this).css(\"left\",\"-9999px\");\n            $(this).css(\"right\",\"auto\");\n        });\n        $(this).find(\"li.classic .subchildmenu > li.parent\").mouseover(function(){\n            var popup = $(this).children(\"ul.subchildmenu\");\n            var w_width = $(window).innerWidth();\n\n            if(popup) {\n                var pos = $(this).offset();\n                var c_width = $(popup).outerWidth();\n                if(w_width <= pos.left + $(this).outerWidth() + c_width) {\n                    $(popup).css(\"left\",\"auto\");\n                    $(popup).css(\"right\",\"100%\");\n                } else {\n                    $(popup).css(\"left\",\"100%\");\n                    $(popup).css(\"right\",\"auto\");\n                }\n            }\n        });\n        $(this).find(\"li.staticwidth.parent,li.classic.parent\").mouseover(function(){\n            var popup = $(this).children(\".submenu\");\n            var w_width = $(window).innerWidth();\n\n            if(popup) {\n                var pos = $(this).offset();\n                var c_width = $(popup).outerWidth();\n                if(w_width <= pos.left + $(this).outerWidth() + c_width) {\n                    $(popup).css(\"left\",\"auto\");\n                    $(popup).css(\"right\",\"0\");\n                } else {\n                    $(popup).css(\"left\",\"0\");\n                    $(popup).css(\"right\",\"auto\");\n                }\n            }\n        });\n        $(window).resize(function(){\n            $(\".navigation.sw-megamenu li.classic .submenu, .navigation.sw-megamenu li.staticwidth .submenu, .navigation.sw-megamenu li.classic .subchildmenu .subchildmenu\").each(function(){\n                $(this).css(\"left\",\"-9999px\");\n                $(this).css(\"right\",\"auto\");\n            });\n        });\n        $(\".nav-toggle\").off('click').on('click',function(e){\n            if(!$(\"html\").hasClass(\"nav-open\")) {\n                $(\"html\").addClass(\"nav-before-open\");\n                setTimeout(function(){\n                    $(\"html\").addClass(\"nav-open\");\n                }, 300);\n            }\n            else {\n                $(\"html\").removeClass(\"nav-open\");\n                setTimeout(function(){\n                    $(\"html\").removeClass(\"nav-before-open\");\n                }, 300);\n            }\n        });\n        $(\"li.ui-menu-item > .open-children-toggle\").off(\"click\").on(\"click\", function(){\n            if(!$(this).parent().children(\".submenu\").hasClass(\"opened\")) {\n                $(this).parent().children(\".submenu\").addClass(\"opened\");\n                $(this).parent().children(\"a\").addClass(\"ui-state-active\");\n            }\n            else {\n                $(this).parent().children(\".submenu\").removeClass(\"opened\");\n                $(this).parent().children(\"a\").removeClass(\"ui-state-active\");\n            }\n        });\n    };\n}));\n","Mageplaza_Search/js/mpsearch.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_Search\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(\n    [\n        'jquery',\n        'Magento_Catalog/js/price-utils',\n        'mpDevbridgeAutocomplete'\n    ], function ($, priceUtils) {\n        'use strict';\n        $.widget(\n            'mageplaza.search', {\n                _create: function () {\n                    var categorySelect = $('#mpsearch-category'),\n                        searchInput = $('#search'),\n                        searchVar = [],\n                        self = this;\n\n                    /** Mobile*/\n                    $('.block-search .block-content .search .label').click(function () {\n                        if (self.checkDevice()) {\n                            if ($('.block-search .form.minisearch').hasClass('active')) {\n                                $('.minisearch .search-category').hide();\n                            } else {\n                                $('.minisearch .search-category').show();\n                            }\n                        }\n                    });\n\n                    $(document).click(function (e) {\n                        var containerSearch = $('.block-search .block-content .search .control');\n\n                        if (self.checkDevice()) {\n                            if ($('.block-search .form.minisearch').hasClass('active')) {\n                                if (!containerSearch.is(e.target) && containerSearch.has(e.target).length === 0) {\n                                    $('.minisearch .search-category').hide();\n                                    $('.autocomplete-suggestions').hide();\n                                }\n                            }\n                        }\n                    });\n\n                    if (categorySelect.length) {\n                        if (this.checkDevice()) {\n                            categorySelect.on('click', function () {\n                                setTimeout(function () {\n                                    $('.block-search').find('.label').addClass('active');\n                                }, 250);\n                            });\n                        }\n                        categorySelect.on('change', function () {\n                            searchInput.focus();\n\n                            if ($(this).val() === 0) {\n                                $(this).removeAttr('name');\n                            } else {\n                                $(this).attr('name', 'cat');\n                            }\n                        });\n                    }\n\n                    if (this.options.isEnableSuggestion === '1') {\n                        searchVar = this.sortBy(searchVar);\n                    }\n                    searchVar = $.merge(mp_products_search, searchVar);\n\n                    searchInput.autocomplete({\n                        appendTo: \".block-search .block-content .control\",\n                        lookup: searchVar,\n                        lookupLimit: this.options.lookupLimit,\n                        maxHeight: 2000,\n                        minChars: 0,\n                        lookupFilter: function (suggestion, query, queryLowerCase) {\n                            var decodeEntities = (self.decodeEntities());\n\n                            /** Category search*/\n                            if (categorySelect.length) {\n                                var categoryId = categorySelect.val();\n                                if (categoryId > 0 && ($.inArray(categoryId, suggestion.c) === -1)) {\n                                    return false;\n                                }\n                            }\n\n\n                            /** Product Suggestion*/\n                            if (query.length === 0) {\n                                return suggestion.o !== 'product_search';\n                            }\n\n                            /** Product Search*/\n                            return suggestion.o === 'product_search' && (decodeEntities(suggestion.s.toLowerCase()).indexOf(queryLowerCase) !== -1\n                                || decodeEntities(suggestion.value.toLowerCase()).indexOf(queryLowerCase) !== -1);\n                        },\n                        onSelect: function (suggestion) {\n                            window.location.href = self.correctProductUrl(suggestion.u);\n                        },\n                        formatResult: function (suggestion, currentValue) {\n                            var html = '<a href=\"' + self.correctProductUrl(suggestion.u) + '\">',\n                                displayInfo = self.options.displayInfo,\n                                currencyRate = parseFloat(self.options.currencyRate.replace(\",\", \"\")),\n                                priceFormat = self.options.priceFormat,\n                                priceByCurrency;\n\n                            if ($.inArray('image', displayInfo) !== -1) {\n                                html += '<div class=\"suggestion-left\"><img class=\"img-responsive\" src=\"' + self.correctProductUrl(suggestion.i, true) + '\" alt=\"\" /></div>';\n                            }\n\n                            html += '<div class=\"suggestion-right\">';\n                            html += '<div class=\"product-line product-name\">' + suggestion.value + '</div>';\n\n                            if ($.inArray('price', displayInfo) !== -1) {\n                                if (suggestion.p.toString().indexOf('-') == -1) {\n                                    priceByCurrency = suggestion.p*currencyRate;\n                                    html += '<div class=\"product-line product-price\">' + $.mage.__('Price ') + priceUtils.formatPrice(priceByCurrency, priceFormat) + '</div>';\n                                } else {\n                                    priceByCurrency = suggestion.p.split('-');\n                                    html += '<div class=\"product-line product-price\">' + $.mage.__('Price ') + priceUtils.formatPrice(parseFloat(priceByCurrency[0])*currencyRate, priceFormat) +' - '+ priceUtils.formatPrice(parseFloat(priceByCurrency[1])*currencyRate, priceFormat) + '</div>';\n                                }\n                            }\n\n                            if ($.inArray('description', displayInfo) !== -1 && suggestion.d && suggestion.d.replace('\"\"', '')) {\n                                html += '<div class=\"product-des\"><p class=\"short-des\">' + suggestion.d + '</p></div>';\n                            }\n\n                            html += '</div></a>';\n\n                            return html;\n                        }\n                    });\n                },\n\n                correctProductUrl: function (urlKey, isImage) {\n                    var baseUrl = this.options.baseUrl,\n                        baseImageUrl = this.options.baseImageUrl;\n\n                    if (urlKey.search('http') !== -1) {\n                        return urlKey;\n                    }\n\n                    return ((typeof isImage !== 'undefined') ? baseImageUrl : baseUrl) + urlKey;\n                },\n\n                sortBy: function (searchVar) {\n                    var sortBy = this.options.sortBy;\n\n                    if (sortBy === 'new_products') {\n                        searchVar = mp_new_product_search;\n                    } else if (sortBy === 'most_viewed_products') {\n                        searchVar = mp_most_viewed_products;\n                    } else {\n                        searchVar = mp_bestsellers;\n                    }\n\n                    return searchVar;\n                },\n\n                decodeEntities: function () {\n                    var element = document.createElement('div');\n\n                    function decodeHTMLEntities(str) {\n                        if (str && typeof str === 'string') {\n                            str = str.replace(/<script[^>]*>([\\S\\s]*?)<\\/script>/gmi, '');\n                            str = str.replace(/<\\/?\\w(?:[^\"'>]|\"[^\"]*\"|'[^']*')*>/gmi, '');\n                            element.innerHTML = str;\n                            str = element.textContent;\n                            element.textContent = '';\n                        }\n\n                        return str;\n                    }\n\n                    return decodeHTMLEntities;\n                },\n\n                checkDevice: function () {\n                    return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n                }\n            }\n        );\n\n        return $.mageplaza.search;\n    }\n);\n","Mageplaza_Search/js/mpalgoliasearch.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_Search\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\nrequirejs(['algoliaBundle', 'Magento_Catalog/js/price-utils'], function (algoliaBundle, priceUtils) {\n        algoliaBundle.$(function ($) {\n            if (!algoliaConfig.instant.enabled) {\n                return;\n            }\n\n            /** BC of old hooks **/\n            if (typeof algoliaHookBeforeInstantsearchInit === 'function') {\n                algolia.registerHook('beforeInstantsearchInit', algoliaHookBeforeInstantsearchInit);\n            }\n\n            if (typeof algoliaHookBeforeWidgetInitialization === 'function') {\n                algolia.registerHook('beforeWidgetInitialization', algoliaHookBeforeWidgetInitialization);\n            }\n\n            if (typeof algoliaHookBeforeInstantsearchStart === 'function') {\n                algolia.registerHook('beforeInstantsearchStart', algoliaHookBeforeInstantsearchStart);\n            }\n\n            if (typeof algoliaHookAfterInstantsearchStart === 'function') {\n                algolia.registerHook('afterInstantsearchStart', algoliaHookAfterInstantsearchStart);\n            }\n\n            var instant_selector = \"#mp-algoliasearch\";\n            var query            = '',\n                categorySearch   = $('#mpsearch-category'),\n                s                = $(\".autocomplete-suggestions\");\n\n            var searchClient = algoliaBundle.algoliasearch(algoliaConfig.algoliaApiKey.applicationId, algoliaConfig.algoliaApiKey.apiKey);\n            var indexName    = algoliaConfig.indexName;\n\n            var instantsearchOptions = {\n                searchClient: searchClient,\n                indexName: indexName,\n                searchFunction: function (e) {\n                    query = e.state.query;\n                    if (\"\" === query) {\n                        return s.hide();\n                    }\n                    e.search();\n                    s.show();\n                }\n            };\n\n            instantsearchOptions = algolia.triggerHooks('beforeInstantsearchInit', instantsearchOptions, algoliaBundle);\n\n            var search = algoliaBundle.instantsearch(instantsearchOptions);\n\n            var allWidgetConfiguration = {\n                hits: {},\n                configure: {\n                    hitsPerPage: algoliaConfig.lookupLimit\n                }\n            };\n\n            allWidgetConfiguration.searchBox = {\n                container: instant_selector,\n                placeholder: \"Search for products, categories...\",\n                showSubmit: false,\n                showLoadingIndicator: false,\n                queryHook: function (inputValue, search) {\n                    return search(inputValue);\n                },\n                cssClasses: {\n                    form: 'mpSearch-form',\n                    input: 'mpSearch-input'\n                }\n            }\n\n            allWidgetConfiguration.hits = {\n                container: \".autocomplete-suggestions\",\n                templates: {\n                    empty: function () {\n                        return 'No products for query \"' + query + '\"';\n                    },\n                    item: $('#instant-hit-template').html()\n                },\n                cssClasses: {\n                    emptyRoot: 'no-results',\n                    list: 'mpsearch-list',\n                    item: 'mpsearch-list-item'\n                },\n                transformItems: function (items) {\n                    var displayInfo  = algoliaConfig.displayInfo,\n                        currencyRate = parseFloat(algoliaConfig.currencyRate.replace(\",\", \"\")),\n                        priceFormat  = algoliaConfig.priceFormat;\n\n                    $('.autocomplete-suggestions').html('');\n                    return items.map(function (item) {\n                        var cateId = categorySearch.val();\n\n                        if (cateId && cateId !== '0') {\n                            if ($.inArray(cateId, item.categories) === -1) {\n                                return [];\n                            }\n                        }\n\n                        if ($.inArray('price', displayInfo) !== -1) {\n                            var priceByCurrency = item.price * currencyRate;\n                            item.price          = priceUtils.formatPrice(priceByCurrency, priceFormat)\n                        } else {\n                            item.price = false;\n                        }\n\n                        item.name        = $(\"<textarea/>\").html(item.name).html();\n                        item.description = $(\"<textarea/>\").html(item.description).html();\n\n                        return item;\n                    }).filter(x => x.name);\n                }\n            };\n\n            allWidgetConfiguration = algolia.triggerHooks('beforeWidgetInitialization', allWidgetConfiguration, algoliaBundle);\n\n            $.each(allWidgetConfiguration, function (widgetType, widgetConfig) {\n                if (Array.isArray(widgetConfig) === true) {\n                    $.each(widgetConfig, function (i, widgetConfig) {\n                        addWidget(search, widgetType, widgetConfig);\n                    });\n                } else {\n                    addWidget(search, widgetType, widgetConfig);\n                }\n            });\n\n            var isStarted = false;\n\n            function startInstantSearch () {\n                if (isStarted === true) {\n                    return;\n                }\n\n                search = algolia.triggerHooks('beforeInstantsearchStart', search, algoliaBundle);\n                search.start();\n                search = algolia.triggerHooks('afterInstantsearchStart', search, algoliaBundle);\n\n                isStarted = true;\n            }\n\n            categorySearch.on('change', function (e) {\n                search.refresh();\n            });\n\n            /** Initialise searching **/\n            startInstantSearch();\n            $('.search-category').show();\n\n            function addWidget (search, type, config) {\n                if (type === 'custom') {\n                    search.addWidgets([config]);\n                    return;\n                }\n                var widget = algoliaBundle.instantsearch.widgets[type];\n                if (config.panelOptions) {\n                    widget = algoliaBundle.instantsearch.widgets.panel(config.panelOptions)(widget);\n                    delete config.panelOptions;\n                }\n\n                search.addWidgets([widget(config)]);\n            }\n\n            handleClickOutside();\n\n            function handleClickOutside () {\n\n                var resetBtn     = $('.ais-SearchBox-reset'),\n                    submitButton = $('.ais-SearchBox-submit'),\n                    searchInput  = $('.mpSearch-input');\n\n                if (searchInput.val()) {\n                    resetBtn.show();\n                    submitButton.hide();\n                } else {\n                    resetBtn.hide();\n                    submitButton.show();\n                }\n\n                searchInput.on(\"change paste keyup\", function () {\n                    if (this.value) {\n                        resetBtn.show();\n                        submitButton.hide();\n                    } else {\n                        resetBtn.hide();\n                        submitButton.show();\n                    }\n                })\n\n                resetBtn.on(\"click\", function () {\n                    resetBtn.hide();\n                    submitButton.show();\n                })\n\n                searchInput.on(\"keydown\", function (event) {\n                    if (event.which === 13) {\n                        if (query.length >= algoliaConfig.minQueryLength) {\n                            window.location.href = algoliaConfig.baseUrl + \"catalogsearch/result/?q=\" + query;\n                        }\n                    }\n                });\n\n                $(window).click(function (e) {\n                    0 === $(e.target).closest(\".autocomplete-suggestions\").length && 0 === $(e.target).closest(\".ais-SearchBox-input\").length && 0 === $(e.target).closest(\"#mpsearch-category\").length && $(\".autocomplete-suggestions\").hide()\n                });\n            }\n        });\n    }\n);\n","Mageplaza_Search/js/search-suggestions.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_Search\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(\n    [\n        'jquery',\n        'Magento_Catalog/js/price-utils',\n        'Mageplaza_Core/js/jquery.autocomplete.min'\n    ], function ($, priceUtils) {\n        'use strict';\n\n        $.widget('mpsearch.autocomplete', {\n            _create: function () {\n                if (algoliaConfig.autocomplete.enabled === \"1\") {\n                    this.searchSuggestion()\n                }\n            },\n\n            searchSuggestion: function () {\n                var self              = this,\n                    searchInput       = $('.mpSearch-form .mpSearch-input'),\n                    searchVar         = [],\n                    suggestionElement = $('.autocomplete-suggestions');\n\n                if (algoliaConfig.isEnableSuggestion === '1') {\n                    searchVar = this.sortBy(searchVar);\n                }\n\n                searchInput.on('click', function () {\n                    var searchValue = searchInput.val();\n\n                    if (!searchValue.length) {\n                        var resultHtml = '<div><div class=\"ais-Hits\"><ol class=\"ais-Hits-list mpsearch-list\">',\n                            cateId     = $('#mpsearch-category').val(),\n                            count      = 0;\n                        searchVar.map(function (val) {\n                            if (cateId && cateId !== \"0\") {\n                                if ($.inArray(cateId, val.c) !== -1) {\n                                    resultHtml += self.handleItemHtml(val);\n                                    count++;\n                                }\n                            } else {\n                                resultHtml += self.handleItemHtml(val);\n                                count++;\n                            }\n                        });\n                        if (!count) {\n                            resultHtml += '<div class=\"ais-Hits ais-Hits--empty no-results\">There are no recommended products</div>';\n                        }\n                        resultHtml += '</ol></div></div>';\n\n                        suggestionElement.html(resultHtml).show();\n                    }\n                });\n            },\n\n            handleItemHtml: function (suggestion) {\n                var self         = this,\n                    html         = '<li class=\"ais-Hits-item mpsearch-list-item\"><div class=\"result-wrapper\" itemProp=\"item\">',\n                    displayInfo  = algoliaConfig.displayInfo,\n                    currencyRate = parseFloat(algoliaConfig.currencyRate.replace(\",\", \"\")),\n                    priceFormat  = algoliaConfig.priceFormat,\n                    priceByCurrency;\n\n                html += '<a class=\"result\" href=\"' + self.correctProductUrl(suggestion.u) + '\"><div class=\"result-content\">';\n                html += '<div class=\"result-thumbnail\">';\n                if ($.inArray('image', displayInfo) !== -1) {\n                    if (suggestion.i) {\n                        html += '<img class=\"img-responsive\" src=\"' + self.correctProductUrl(suggestion.i, true) + '\" alt=\"\" />';\n                    } else {\n                        html += '<span class=\"no-image\"></span>';\n                    }\n                }\n                html += '</div>';\n\n                html += '<div class=\"result-sub-content\">';\n                html += '<div class=\"product-line product-name\">' + suggestion.value + '</div>';\n\n                if ($.inArray('price', displayInfo) !== -1) {\n                    if (suggestion.p.toString().indexOf('-') == -1) {\n                        priceByCurrency = suggestion.p * currencyRate;\n                        html += '<div class=\"product-line product-price\">' + $.mage.__('Price ') + priceUtils.formatPrice(priceByCurrency, priceFormat) + '</div>';\n                    } else {\n                        priceByCurrency = suggestion.p.split('-');\n                        html += '<div class=\"product-line product-price\">' + $.mage.__('Price ') + priceUtils.formatPrice(parseFloat(priceByCurrency[0]) * currencyRate, priceFormat) + ' - ' + priceUtils.formatPrice(parseFloat(priceByCurrency[1]) * currencyRate, priceFormat) + '</div>';\n                    }\n                }\n\n                if ($.inArray('description', displayInfo) !== -1 && suggestion.d && suggestion.d.replace('\"\"', '')) {\n                    html += '<div class=\"result-description text-ellipsis\">' + suggestion.d + '</div>';\n                }\n\n                html += '</div></div></a></div></li>';\n\n                return html;\n            }\n            ,\n\n            correctProductUrl: function (urlKey, isImage) {\n                var baseUrl      = algoliaConfig.baseUrl,\n                    baseImageUrl = algoliaConfig.baseImageUrl;\n\n                if (urlKey.search('http') !== -1) {\n                    return urlKey;\n                }\n\n                return ((typeof isImage !== 'undefined') ? baseImageUrl : baseUrl) + urlKey;\n            }\n            ,\n\n            sortBy: function (searchVar) {\n                var sortBy = algoliaConfig.sortBy;\n\n                if (sortBy === 'new_products') {\n                    searchVar = mp_new_product_search;\n                } else if (sortBy === 'most_viewed_products') {\n                    searchVar = mp_most_viewed_products;\n                } else {\n                    searchVar = mp_bestsellers;\n                }\n\n                return searchVar;\n            }\n        });\n\n        return $.mpsearch.autocomplete;\n    }\n);\n","Mageplaza_Search/js/internals/common.js":"/*! common | \u00a9 Algolia SAS | algolia.com */\nvar algolia = {\n    allowedHooks: [\n        'beforeAutocompleteSources',\n        'beforeAutocompleteOptions',\n        'afterAutocompleteStart',\n        'beforeInstantsearchInit',\n        'beforeWidgetInitialization',\n        'beforeInstantsearchStart',\n        'afterInstantsearchStart',\n        'afterInsightsBindEvents',\n        'beforeAutocompleteProductSourceOptions'\n    ],\n    registeredHooks: [],\n    registerHook: function (hookName, callback) {\n        if (this.allowedHooks.indexOf(hookName) === -1) {\n            throw 'Hook \"' + hookName + '\" cannot be defined. Please use one of ' + this.allowedHooks.join(', ');\n        }\n\n        if (!this.registeredHooks[hookName]) {\n            this.registeredHooks[hookName] = [callback];\n        } else {\n            this.registeredHooks[hookName].push(callback);\n        }\n    },\n    getRegisteredHooks: function(hookName) {\n        if (this.allowedHooks.indexOf(hookName) === -1) {\n            throw 'Hook \"' + hookName + '\" cannot be defined. Please use one of ' + this.allowedHooks.join(', ');\n        }\n\n        if (!this.registeredHooks[hookName]) {\n            return [];\n        }\n\n        return this.registeredHooks[hookName];\n    },\n    triggerHooks: function () {\n        var hookName = arguments[0],\n            originalData = arguments[1],\n            hookArguments = Array.prototype.slice.call(arguments, 2);\n\n        var data = this.getRegisteredHooks(hookName).reduce(function(currentData, hook) {\n            if (Array.isArray(currentData)) {\n                currentData = [currentData];\n            }\n            var allParameters = [].concat(currentData).concat(hookArguments);\n            return hook.apply(null, allParameters);\n        }, originalData);\n\n        return data;\n    }\n};\n\nrequirejs(['algoliaBundle'], function(algoliaBundle) {\n    algoliaBundle.$(function ($) {\n        window.isMobile = function() {\n            var check = false;\n\n            (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);\n\n            return check;\n        };\n\n        window.getCookie = function(name) {\n            var value = \"; \" + document.cookie;\n            var parts = value.split(\"; \" + name + \"=\");\n            if (parts.length == 2) {\n                return parts.pop().split(\";\").shift();\n            }\n\n            return \"\";\n        };\n\n        window.transformHit = function (hit, price_key, helper) {\n            if (Array.isArray(hit.categories))\n                hit.categories = hit.categories.join(', ');\n\n            if (hit._highlightResult.categories_without_path && Array.isArray(hit.categories_without_path)) {\n                hit.categories_without_path = $.map(hit._highlightResult.categories_without_path, function (category) {\n                    return category.value;\n                });\n\n                hit.categories_without_path = hit.categories_without_path.join(', ');\n            }\n\n            var matchedColors = [];\n\n            if (helper && algoliaConfig.useAdaptiveImage === true) {\n                if (hit.images_data && helper.state.facetsRefinements.color) {\n                    matchedColors = helper.state.facetsRefinements.color.slice(0); // slice to clone\n                }\n\n                if (hit.images_data && helper.state.disjunctiveFacetsRefinements.color) {\n                    matchedColors = helper.state.disjunctiveFacetsRefinements.color.slice(0); // slice to clone\n                }\n            }\n\n            if (Array.isArray(hit.color)) {\n                var colors = [];\n\n                $.each(hit._highlightResult.color, function (i, color) {\n                    if (color.matchLevel === undefined || color.matchLevel === 'none') {\n                        return;\n                    }\n\n                    colors.push(color);\n\n                    if (algoliaConfig.useAdaptiveImage === true) {\n                        var matchedColor = color.matchedWords.join(' ');\n                        if (hit.images_data && color.fullyHighlighted && color.fullyHighlighted === true) {\n                            matchedColors.push(matchedColor);\n                        }\n                    }\n                });\n\n                hit._highlightResult.color = colors;\n            }\n            else {\n                if (hit._highlightResult.color && hit._highlightResult.color.matchLevel === 'none') {\n                    hit._highlightResult.color = { value: '' };\n                }\n            }\n\n            if (algoliaConfig.useAdaptiveImage === true) {\n                $.each(matchedColors, function (i, color) {\n                    color = color.toLowerCase();\n\n                    if (hit.images_data[color]) {\n                        hit.image_url = hit.images_data[color];\n                        hit.thumbnail_url = hit.images_data[color];\n\n                        return false;\n                    }\n                });\n            }\n\n            if (hit._highlightResult.color && hit._highlightResult.color.value && hit.categories_without_path) {\n                if (hit.categories_without_path.indexOf('<em>') === -1 && hit._highlightResult.color.value.indexOf('<em>') !== -1) {\n                    hit.categories_without_path = '';\n                }\n            }\n\n            if (Array.isArray(hit._highlightResult.name))\n                hit._highlightResult.name = hit._highlightResult.name[0];\n\n            if (Array.isArray(hit.price)) {\n                hit.price = hit.price[0];\n                if (hit['price'] !== undefined && price_key !== '.' + algoliaConfig.currencyCode + '.default' && hit['price'][algoliaConfig.currencyCode][price_key.substr(1) + '_formated'] !== hit['price'][algoliaConfig.currencyCode]['default_formated']) {\n                    hit['price'][algoliaConfig.currencyCode][price_key.substr(1) + '_original_formated'] = hit['price'][algoliaConfig.currencyCode]['default_formated'];\n                }\n\n                if (hit['price'][algoliaConfig.currencyCode]['default_original_formated']\n                    && hit['price'][algoliaConfig.currencyCode]['special_to_date']) {\n                    var priceExpiration = hit['price'][algoliaConfig.currencyCode]['special_to_date'];\n\n                    if (algoliaConfig.now > priceExpiration + 1) {\n                        hit['price'][algoliaConfig.currencyCode]['default_formated'] = hit['price'][algoliaConfig.currencyCode]['default_original_formated'];\n                        hit['price'][algoliaConfig.currencyCode]['default_original_formated'] = false;\n                    }\n                }\n            }\n\n            // Add to cart parameters\n            var action = algoliaConfig.instant.addToCartParams.action + 'product/' + hit.objectID + '/';\n\n            var correctFKey = getCookie('form_key');\n\n            if(correctFKey != \"\" && algoliaConfig.instant.addToCartParams.formKey != correctFKey) {\n                algoliaConfig.instant.addToCartParams.formKey = correctFKey;\n            }\n\n            hit.addToCart = {\n                'action': action,\n                'uenc': AlgoliaBase64.mageEncode(action),\n                'formKey': algoliaConfig.instant.addToCartParams.formKey\n            };\n\n            if (hit.__queryID) {\n\n                hit.urlForInsights = hit.url;\n\n                if (algoliaConfig.ccAnalytics.enabled\n                    && algoliaConfig.ccAnalytics.conversionAnalyticsMode !== 'disabled') {\n                    var insightsDataUrlString = $.param({\n                        queryID: hit.__queryID,\n                        objectID: hit.objectID,\n                        indexName: hit.__indexName\n                    });\n                    if (hit.url.indexOf('?') > -1) {\n                        hit.urlForInsights += insightsDataUrlString\n                    } else {\n                        hit.urlForInsights += '?' + insightsDataUrlString;\n                    }\n                }\n            }\n\n            return hit;\n        };\n\n        window.fixAutocompleteCssHeight = function () {\n            if ($(document).width() > 768) {\n                $(\".other-sections\").css('min-height', '0');\n                $(\".aa-dataset-products\").css('min-height', '0');\n                var height = Math.max($(\".other-sections\").outerHeight(), $(\".aa-dataset-products\").outerHeight());\n                $(\".aa-dataset-products\").css('min-height', height);\n            }\n        };\n\n        window.fixAutocompleteCssSticky = function (menu) {\n            var dropdown_menu = $('#algolia-autocomplete-container .aa-dropdown-menu');\n            var autocomplete_container = $('#algolia-autocomplete-container');\n            autocomplete_container.removeClass('reverse');\n\n            /** Reset computation **/\n            dropdown_menu.css('top', '0px');\n\n            /** Stick menu vertically to the input **/\n            var targetOffset = Math.round(menu.offset().top + menu.outerHeight());\n            var currentOffset = Math.round(autocomplete_container.offset().top);\n\n            dropdown_menu.css('top', (targetOffset - currentOffset) + 'px');\n\n            if (menu.offset().left + menu.outerWidth() / 2 > $(document).width() / 2) {\n                /** Stick menu horizontally align on right to the input **/\n                dropdown_menu.css('right', '0px');\n                dropdown_menu.css('left', 'auto');\n\n                var targetOffset = Math.round(menu.offset().left + menu.outerWidth());\n                var currentOffset = Math.round(autocomplete_container.offset().left + autocomplete_container.outerWidth());\n\n                dropdown_menu.css('right', (currentOffset - targetOffset) + 'px');\n            }\n            else {\n                /** Stick menu horizontally align on left to the input **/\n                dropdown_menu.css('left', 'auto');\n                dropdown_menu.css('right', '0px');\n                autocomplete_container.addClass('reverse');\n\n                var targetOffset = Math.round(menu.offset().left);\n                var currentOffset = Math.round(autocomplete_container.offset().left);\n\n                dropdown_menu.css('left', (targetOffset - currentOffset) + 'px');\n            }\n        };\n\n        function handleInputCrossAutocomplete(input) {\n            if (input.val().length > 0) {\n                input.closest('#algolia-searchbox').find('.clear-query-autocomplete').show();\n                input.closest('#algolia-searchbox').find('.magnifying-glass').hide();\n            }\n            else {\n                input.closest('#algolia-searchbox').find('.clear-query-autocomplete').hide();\n                input.closest('#algolia-searchbox').find('.magnifying-glass').show();\n            }\n        }\n\n        window.createISWidgetContainer = function (attributeName) {\n            var div = document.createElement('div');\n            div.className = 'is-widget-container-' + attributeName.split('.').join('_');\n            div.dataset.attr = attributeName;\n\n            return div;\n        };\n\n        $(document).on('click', '.clear-query-autocomplete', function () {\n            var input = $(this).closest('#algolia-searchbox').find('input');\n\n            input.val('');\n            input.get(0).dispatchEvent(new Event('input'));\n\n            handleInputCrossAutocomplete(input);\n        });\n\n        /** Handle small screen **/\n        $('body').on('click', '#refine-toggle', function () {\n            $('#instant-search-facets-container').toggleClass('hidden-sm').toggleClass('hidden-xs');\n            if ($(this).html().trim()[0] === '+')\n                $(this).html('- ' + algoliaConfig.translations.refine);\n            else\n                $(this).html('+ ' + algoliaConfig.translations.refine);\n        });\n\n        // The url is now rendered as follows : http://website.com?q=searchquery&facet1=value&facet2=value1~value2\n        // \"?\" and \"&\" are used to be fetched easily inside Magento for the backend rendering\n        // Multivalued facets use \"~\" as separator\n        // Targeted index is defined by sortBy parameter\n        window.routing = {\n            router: algoliaBundle.instantsearch.routers.history({\n                parseURL: function (qsObject) {\n                    var location = qsObject.location,\n                        qsModule = qsObject.qsModule;\n                    const queryString = location.hash ? location.hash : location.search;\n                    return qsModule.parse(queryString.slice(1))\n                },\n                createURL: function (qsObject) {\n                    var qsModule = qsObject.qsModule,\n                        routeState = qsObject.routeState,\n                        location = qsObject.location;\n                    const protocol = location.protocol,\n                        hostname = location.hostname,\n                        port = location.port ? location.port : '',\n                        pathname = location.pathname,\n                        hash = location.hash;\n\n                    const queryString = qsModule.stringify(routeState);\n                    const portWithPrefix = port === '' ? '' : ':' + port;\n                    // IE <= 11 has no location.origin or buggy. Therefore we don't rely on it\n                    if (!routeState || Object.keys(routeState).length === 0) {\n                        return protocol + '//' + hostname + portWithPrefix + pathname;\n                    }\n                    else {\n                        if (queryString && queryString != 'q=__empty__') {\n                            return protocol + '//' + hostname + portWithPrefix + pathname + '?' + queryString;\n                        } else {\n                            return protocol + '//' + hostname + portWithPrefix + pathname;\n                        }\n                    }\n                },\n            }),\n            stateMapping: {\n                stateToRoute: function (uiState) {\n                    var productIndexName = algoliaConfig.indexName + '_products';\n                    var uiStateProductIndex = uiState[productIndexName] || {};\n                    var routeParameters = {};\n                    if (algoliaConfig.isCategoryPage) {\n                        routeParameters['q'] = uiState[productIndexName].query;\n                    } else if (algoliaConfig.isLandingPage){\n                        routeParameters['q'] = uiState[productIndexName].query || algoliaConfig.landingPage.query || '__empty__';\n                    } else{\n                        routeParameters['q'] = uiState[productIndexName].query || algoliaConfig.request.query || '__empty__';\n                    }\n                    if (algoliaConfig.facets) {\n                        for(var i=0; i<algoliaConfig.facets.length; i++) {\n                            var currentFacet = algoliaConfig.facets[i];\n                            // Handle refinement facets\n                            if (currentFacet.attribute != 'categories' && (currentFacet.type == 'conjunctive' || currentFacet.type == 'disjunctive')) {\n                                routeParameters[currentFacet.attribute] = (uiStateProductIndex.refinementList &&\n                                    uiStateProductIndex.refinementList[currentFacet.attribute] &&\n                                    uiStateProductIndex.refinementList[currentFacet.attribute].join('~'));\n                            }\n                            // Handle categories\n                            if (currentFacet.attribute == 'categories' && !algoliaConfig.isCategoryPage) {\n                                routeParameters[currentFacet.attribute] = (uiStateProductIndex.hierarchicalMenu &&\n                                    uiStateProductIndex.hierarchicalMenu[currentFacet.attribute+ '.level0'] &&\n                                    uiStateProductIndex.hierarchicalMenu[currentFacet.attribute+ '.level0'].join('~'));\n                            }\n                            // Handle sliders\n                            if (currentFacet.type == 'slider' || currentFacet.type == 'priceRanges') {\n                                routeParameters[currentFacet.attribute] = (uiStateProductIndex.range &&\n                                    uiStateProductIndex.range[currentFacet.attribute] &&\n                                    uiStateProductIndex.range[currentFacet.attribute]);\n                            }\n                        };\n                    }\n                    routeParameters['sortBy'] = uiStateProductIndex.sortBy;\n                    routeParameters['page'] = uiStateProductIndex.page;\n                    return routeParameters;\n                },\n                routeToState: function (routeParameters) {\n                    var productIndexName = algoliaConfig.indexName + '_products';\n                    var uiStateProductIndex = {}\n\n                    uiStateProductIndex['query'] = routeParameters.q == '__empty__' ? '' : routeParameters.q;\n                    if (algoliaConfig.isLandingPage && typeof uiStateProductIndex['query'] === 'undefined' && algoliaConfig.landingPage.query != '') {\n                        uiStateProductIndex['query'] = algoliaConfig.landingPage.query;\n                    }\n\n                    var landingPageConfig = algoliaConfig.isLandingPage && algoliaConfig.landingPage.configuration ?\n                        JSON.parse(algoliaConfig.landingPage.configuration) :\n                        {};\n\n                    uiStateProductIndex['refinementList'] = {};\n                    uiStateProductIndex['hierarchicalMenu'] = {};\n                    uiStateProductIndex['range'] = {};\n                    if (algoliaConfig.facets) {\n                        for(var i=0; i<algoliaConfig.facets.length; i++) {\n                            var currentFacet = algoliaConfig.facets[i];\n                            // Handle refinement facets\n                            if (currentFacet.attribute != 'categories' && (currentFacet.type == 'conjunctive' || currentFacet.type == 'disjunctive')) {\n                                uiStateProductIndex['refinementList'][currentFacet.attribute] = routeParameters[currentFacet.attribute] && routeParameters[currentFacet.attribute].split('~');\n                                if (algoliaConfig.isLandingPage &&\n                                    typeof uiStateProductIndex['refinementList'][currentFacet.attribute] === 'undefined' &&\n                                    currentFacet.attribute in landingPageConfig) {\n                                    uiStateProductIndex['refinementList'][currentFacet.attribute] = landingPageConfig[currentFacet.attribute].split('~');\n                                }\n                            }\n                            // Handle categories facet\n                            if (currentFacet.attribute == 'categories' && !algoliaConfig.isCategoryPage) {\n                                uiStateProductIndex['hierarchicalMenu']['categories.level0'] = routeParameters['categories'] && routeParameters['categories'].split('~');\n                                if (algoliaConfig.isLandingPage &&\n                                    typeof uiStateProductIndex['hierarchicalMenu']['categories.level0'] === 'undefined' &&\n                                    'categories.level0' in landingPageConfig) {\n                                    uiStateProductIndex['hierarchicalMenu']['categories.level0'] = landingPageConfig['categories.level0'].split(' /// ');\n                                }\n                            }\n                            if (currentFacet.attribute == 'categories' && algoliaConfig.isCategoryPage) {\n                                uiStateProductIndex['hierarchicalMenu']['categories.level0'] = [algoliaConfig.request.path];\n                            }\n                            // Handle sliders\n                            if (currentFacet.type == 'slider' || currentFacet.type == 'priceRanges') {\n                                var currentFacetAttribute = currentFacet.attribute;\n                                uiStateProductIndex['range'][currentFacetAttribute] = routeParameters[currentFacetAttribute] && routeParameters[currentFacetAttribute];\n                                if (algoliaConfig.isLandingPage &&\n                                    typeof uiStateProductIndex['range'][currentFacetAttribute] === 'undefined' &&\n                                    currentFacetAttribute in landingPageConfig) {\n\n                                    var facetValue = '';\n                                    if (typeof landingPageConfig[currentFacetAttribute]['>='] !== \"undefined\") {\n                                        facetValue = landingPageConfig[currentFacetAttribute]['>='][0];\n                                    }\n                                    facetValue += ':';\n                                    if (typeof landingPageConfig[currentFacetAttribute]['<='] !== \"undefined\") {\n                                        facetValue += landingPageConfig[currentFacetAttribute]['<='][0];\n                                    }\n                                    uiStateProductIndex['range'][currentFacetAttribute] = facetValue;\n                                }\n                            }\n                        };\n                    }\n                    uiStateProductIndex['sortBy'] = routeParameters.sortBy;\n                    uiStateProductIndex['page'] = routeParameters.page;\n\n                    var uiState = {};\n                    uiState[productIndexName] = uiStateProductIndex;\n                    return uiState;\n                }\n            }\n        };\n    });\n});\n\n// Taken from Magento's tools.js - not included on frontend, only in backend\nvar AlgoliaBase64 = {\n    // private property\n    _keyStr : \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\n    //'+/=', '-_,'\n    // public method for encoding\n    encode: function (input) {\n        var output = \"\";\n        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n        var i = 0;\n\n        if( typeof window.btoa === \"function\" ){\n            return window.btoa(input);\n        }\n\n        input = AlgoliaBase64._utf8_encode(input);\n\n        while (i < input.length) {\n\n            chr1 = input.charCodeAt(i++);\n            chr2 = input.charCodeAt(i++);\n            chr3 = input.charCodeAt(i++);\n\n            enc1 = chr1 >> 2;\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n            enc4 = chr3 & 63;\n\n            if (isNaN(chr2)) {\n                enc3 = enc4 = 64;\n            } else if (isNaN(chr3)) {\n                enc4 = 64;\n            }\n            output = output +\n                this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +\n                this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);\n        }\n\n        return output;\n    },\n\n    // public method for decoding\n    decode: function (input) {\n        var output = \"\";\n        var chr1, chr2, chr3;\n        var enc1, enc2, enc3, enc4;\n        var i = 0;\n\n        if( typeof window.atob === \"function\" ){\n            return window.atob(input);\n        }\n\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n        while (i < input.length) {\n\n            enc1 = this._keyStr.indexOf(input.charAt(i++));\n            enc2 = this._keyStr.indexOf(input.charAt(i++));\n            enc3 = this._keyStr.indexOf(input.charAt(i++));\n            enc4 = this._keyStr.indexOf(input.charAt(i++));\n\n            chr1 = (enc1 << 2) | (enc2 >> 4);\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n            chr3 = ((enc3 & 3) << 6) | enc4;\n\n            output = output + String.fromCharCode(chr1);\n\n            if (enc3 !== 64) {\n                output = output + String.fromCharCode(chr2);\n            }\n            if (enc4 !== 64) {\n                output = output + String.fromCharCode(chr3);\n            }\n        }\n        output = AlgoliaBase64._utf8_decode(output);\n        return output;\n    },\n\n    mageEncode: function(input){\n        return this.encode(input).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, ',');\n    },\n\n    mageDecode: function(output){\n        output = output.replace(/\\-/g, '+').replace(/_/g, '/').replace(/,/g, '=');\n        return this.decode(output);\n    },\n\n    idEncode: function(input){\n        return this.encode(input).replace(/\\+/g, ':').replace(/\\//g, '_').replace(/=/g, '-');\n    },\n\n    idDecode: function(output){\n        output = output.replace(/\\-/g, '=').replace(/_/g, '/').replace(/\\:/g, '\\+');\n        return this.decode(output);\n    },\n\n    // private method for UTF-8 encoding\n    _utf8_encode : function (string) {\n        string = string.replace(/\\r\\n/g,\"\\n\");\n        var utftext = \"\";\n\n        for (var n = 0; n < string.length; n++) {\n\n            var c = string.charCodeAt(n);\n\n            if (c < 128) {\n                utftext += String.fromCharCode(c);\n            }\n            else if((c > 127) && (c < 2048)) {\n                utftext += String.fromCharCode((c >> 6) | 192);\n                utftext += String.fromCharCode((c & 63) | 128);\n            }\n            else {\n                utftext += String.fromCharCode((c >> 12) | 224);\n                utftext += String.fromCharCode(((c >> 6) & 63) | 128);\n                utftext += String.fromCharCode((c & 63) | 128);\n            }\n        }\n        return utftext;\n    },\n\n    // private method for UTF-8 decoding\n    _utf8_decode : function (utftext) {\n        var string = \"\";\n        var i = 0;\n        var c = c1 = c2 = 0;\n\n        while ( i < utftext.length ) {\n\n            c = utftext.charCodeAt(i);\n\n            if (c < 128) {\n                string += String.fromCharCode(c);\n                i++;\n            }\n            else if((c > 191) && (c < 224)) {\n                c2 = utftext.charCodeAt(i+1);\n                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n                i += 2;\n            }\n            else {\n                c2 = utftext.charCodeAt(i+1);\n                c3 = utftext.charCodeAt(i+2);\n                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n                i += 3;\n            }\n        }\n        return string;\n    }\n};\n","Mageplaza_Search/js/internals/algoliaBundle.min.js":"/*! algoliaBundle 4.5.0 | \u00a9 Algolia SAS | algolia.com */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"algoliaBundle\",[],t):\"object\"==typeof exports?exports.algoliaBundle=t():e.algoliaBundle=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p=\"\",t(0)}([function(e,t,n){e.exports={$:n(1),instantsearch:n(2),algoliasearch:n(3),algoliasearchHelper:n(4),Hogan:n(28),autocomplete:n(31).autocomplete,getAlgoliaResults:n(31).getAlgoliaResults,createQuerySuggestionsPlugin:n(32)}},function(e,t,n){var r,i;!function(t,n){\"object\"==typeof e&&\"object\"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return n(e)}:n(t)}(\"undefined\"!=typeof window?window:this,function(n,a){function s(e){var t=!!e&&\"length\"in e&&e.length,n=ue.type(e);return\"function\"!==n&&!ue.isWindow(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){if(ue.isFunction(t))return ue.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return ue.grep(e,function(e){return e===t!==n});if(\"string\"==typeof t){if(be.test(t))return ue.filter(t,e,n);t=ue.filter(t,e)}return ue.grep(e,function(e){return re.call(t,e)>-1!==n})}function c(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function u(e){var t={};return ue.each(e.match(xe)||[],function(e,n){t[n]=!0}),t}function l(){Z.removeEventListener(\"DOMContentLoaded\",l),n.removeEventListener(\"load\",l),ue.ready()}function f(){this.expando=ue.expando+f.uid++}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(Te,\"-$&\").toLowerCase(),n=e.getAttribute(r),\"string\"==typeof n){try{n=\"true\"===n||\"false\"!==n&&(\"null\"===n?null:+n+\"\"===n?+n:Ee.test(n)?ue.parseJSON(n):n)}catch(e){}Ie.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var i,a=1,s=20,o=r?function(){return r.cur()}:function(){return ue.css(e,t,\"\")},c=o(),u=n&&n[3]||(ue.cssNumber[t]?\"\":\"px\"),l=(ue.cssNumber[t]||\"px\"!==u&&+c)&&ke.exec(ue.css(e,t));if(l&&l[3]!==u){u=u||l[3],n=n||[],l=+c||1;do a=a||\".5\",l/=a,ue.style(e,t,l+u);while(a!==(a=o()/c)&&1!==a&&--s)}return n&&(l=+l||+c||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=l,r.end=i)),i}function p(e,t){var n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[];return void 0===t||t&&ue.nodeName(e,t)?ue.merge([e],n):n}function m(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],\"globalEval\",!t||Fe.get(t[n],\"globalEval\"))}function g(e,t,n,r,i){for(var a,s,o,c,u,l,f=t.createDocumentFragment(),h=[],d=0,g=e.length;d<g;d++)if(a=e[d],a||0===a)if(\"object\"===ue.type(a))ue.merge(h,a.nodeType?[a]:a);else if(Be.test(a)){for(s=s||f.appendChild(t.createElement(\"div\")),o=(He.exec(a)||[\"\",\"\"])[1].toLowerCase(),c=qe[o]||qe._default,s.innerHTML=c[1]+ue.htmlPrefilter(a)+c[2],l=c[0];l--;)s=s.lastChild;ue.merge(h,s.childNodes),s=f.firstChild,s.textContent=\"\"}else h.push(t.createTextNode(a));for(f.textContent=\"\",d=0;a=h[d++];)if(r&&ue.inArray(a,r)>-1)i&&i.push(a);else if(u=ue.contains(a.ownerDocument,a),s=p(f.appendChild(a),\"script\"),u&&m(s),n)for(l=0;a=s[l++];)Me.test(a.type||\"\")&&n.push(a);return f}function v(){return!0}function y(){return!1}function b(){try{return Z.activeElement}catch(e){}}function w(e,t,n,r,i,a){var s,o;if(\"object\"==typeof t){\"string\"!=typeof n&&(r=r||n,n=void 0);for(o in t)w(e,o,n,r,t[o],a);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=y;else if(!i)return e;return 1===a&&(s=i,i=function(e){return ue().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=ue.guid++)),e.each(function(){ue.event.add(this,t,i,r,n)})}function S(e,t){return ue.nodeName(e,\"table\")&&ue.nodeName(11!==t.nodeType?t:t.firstChild,\"tr\")?e.getElementsByTagName(\"tbody\")[0]||e.appendChild(e.ownerDocument.createElement(\"tbody\")):e}function R(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function _(e){var t=Ke.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function P(e,t){var n,r,i,a,s,o,c,u;if(1===t.nodeType){if(Fe.hasData(e)&&(a=Fe.access(e),s=Fe.set(t,a),u=a.events)){delete s.handle,s.events={};for(i in u)for(n=0,r=u[i].length;n<r;n++)ue.event.add(t,i,u[i][n])}Ie.hasData(e)&&(o=Ie.access(e),c=ue.extend({},o),Ie.set(t,c))}}function x(e,t){var n=t.nodeName.toLowerCase();\"input\"===n&&Le.test(e.type)?t.checked=e.checked:\"input\"!==n&&\"textarea\"!==n||(t.defaultValue=e.defaultValue)}function j(e,t,n,r){t=te.apply([],t);var i,a,s,o,c,u,l=0,f=e.length,h=f-1,d=t[0],m=ue.isFunction(d);if(m||f>1&&\"string\"==typeof d&&!oe.checkClone&&ze.test(d))return e.each(function(i){var a=e.eq(i);m&&(t[0]=d.call(this,i,a.html())),j(a,t,n,r)});if(f&&(i=g(t,e[0].ownerDocument,!1,e,r),a=i.firstChild,1===i.childNodes.length&&(i=a),a||r)){for(s=ue.map(p(i,\"script\"),R),o=s.length;l<f;l++)c=i,l!==h&&(c=ue.clone(c,!0,!0),o&&ue.merge(s,p(c,\"script\"))),n.call(e[l],c,l);if(o)for(u=s[s.length-1].ownerDocument,ue.map(s,_),l=0;l<o;l++)c=s[l],Me.test(c.type||\"\")&&!Fe.access(c,\"globalEval\")&&ue.contains(u,c)&&(c.src?ue._evalUrl&&ue._evalUrl(c.src):ue.globalEval(c.textContent.replace(Je,\"\")))}return e}function O(e,t,n){for(var r,i=t?ue.filter(t,e):e,a=0;null!=(r=i[a]);a++)n||1!==r.nodeType||ue.cleanData(p(r)),r.parentNode&&(n&&ue.contains(r.ownerDocument,r)&&m(p(r,\"script\")),r.parentNode.removeChild(r));return e}function N(e,t){var n=ue(t.createElement(e)).appendTo(t.body),r=ue.css(n[0],\"display\");return n.detach(),r}function F(e){var t=Z,n=Ge[e];return n||(n=N(e,t),\"none\"!==n&&n||(Xe=(Xe||ue(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(t.documentElement),t=Xe[0].contentDocument,t.write(),t.close(),n=N(e,t),Xe.detach()),Ge[e]=n),n}function I(e,t,n){var r,i,a,s,o=e.style;return n=n||et(e),s=n?n.getPropertyValue(t)||n[t]:void 0,\"\"!==s&&void 0!==s||ue.contains(e.ownerDocument,e)||(s=ue.style(e,t)),n&&!oe.pixelMarginRight()&&Ze.test(s)&&Ye.test(t)&&(r=o.width,i=o.minWidth,a=o.maxWidth,o.minWidth=o.maxWidth=o.width=s,s=n.width,o.width=r,o.minWidth=i,o.maxWidth=a),void 0!==s?s+\"\":s}function E(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function T(e){if(e in ot)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=st.length;n--;)if(e=st[n]+t,e in ot)return e}function C(e,t,n){var r=ke.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function k(e,t,n,r,i){for(var a=n===(r?\"border\":\"content\")?4:\"width\"===t?1:0,s=0;a<4;a+=2)\"margin\"===n&&(s+=ue.css(e,n+Ae[a],!0,i)),r?(\"content\"===n&&(s-=ue.css(e,\"padding\"+Ae[a],!0,i)),\"margin\"!==n&&(s-=ue.css(e,\"border\"+Ae[a]+\"Width\",!0,i))):(s+=ue.css(e,\"padding\"+Ae[a],!0,i),\"padding\"!==n&&(s+=ue.css(e,\"border\"+Ae[a]+\"Width\",!0,i)));return s}function A(e,t,n){var r=!0,i=\"width\"===t?e.offsetWidth:e.offsetHeight,a=et(e),s=\"border-box\"===ue.css(e,\"boxSizing\",!1,a);if(i<=0||null==i){if(i=I(e,t,a),(i<0||null==i)&&(i=e.style[t]),Ze.test(i))return i;r=s&&(oe.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+k(e,t,n||(s?\"border\":\"content\"),r,a)+\"px\"}function D(e,t){for(var n,r,i,a=[],s=0,o=e.length;s<o;s++)r=e[s],r.style&&(a[s]=Fe.get(r,\"olddisplay\"),n=r.style.display,t?(a[s]||\"none\"!==n||(r.style.display=\"\"),\"\"===r.style.display&&De(r)&&(a[s]=Fe.access(r,\"olddisplay\",F(r.nodeName)))):(i=De(r),\"none\"===n&&i||Fe.set(r,\"olddisplay\",i?n:ue.css(r,\"display\"))));for(s=0;s<o;s++)r=e[s],r.style&&(t&&\"none\"!==r.style.display&&\"\"!==r.style.display||(r.style.display=t?a[s]||\"\":\"none\"));return e}function L(e,t,n,r,i){return new L.prototype.init(e,t,n,r,i)}function H(){return n.setTimeout(function(){ct=void 0}),ct=ue.now()}function M(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)n=Ae[r],i[\"margin\"+n]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function q(e,t,n){for(var r,i=(Q.tweeners[t]||[]).concat(Q.tweeners[\"*\"]),a=0,s=i.length;a<s;a++)if(r=i[a].call(n,t,e))return r}function B(e,t,n){var r,i,a,s,o,c,u,l,f=this,h={},d=e.style,p=e.nodeType&&De(e),m=Fe.get(e,\"fxshow\");n.queue||(o=ue._queueHooks(e,\"fx\"),null==o.unqueued&&(o.unqueued=0,c=o.empty.fire,o.empty.fire=function(){o.unqueued||c()}),o.unqueued++,f.always(function(){f.always(function(){o.unqueued--,ue.queue(e,\"fx\").length||o.empty.fire()})})),1===e.nodeType&&(\"height\"in t||\"width\"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],u=ue.css(e,\"display\"),l=\"none\"===u?Fe.get(e,\"olddisplay\")||F(e.nodeName):u,\"inline\"===l&&\"none\"===ue.css(e,\"float\")&&(d.display=\"inline-block\")),n.overflow&&(d.overflow=\"hidden\",f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],lt.exec(i)){if(delete t[r],a=a||\"toggle\"===i,i===(p?\"hide\":\"show\")){if(\"show\"!==i||!m||void 0===m[r])continue;p=!0}h[r]=m&&m[r]||ue.style(e,r)}else u=void 0;if(ue.isEmptyObject(h))\"inline\"===(\"none\"===u?F(e.nodeName):u)&&(d.display=u);else{m?\"hidden\"in m&&(p=m.hidden):m=Fe.access(e,\"fxshow\",{}),a&&(m.hidden=!p),p?ue(e).show():f.done(function(){ue(e).hide()}),f.done(function(){var t;Fe.remove(e,\"fxshow\");for(t in h)ue.style(e,t,h[t])});for(r in h)s=q(p?m[r]:0,r,f),r in m||(m[r]=s.start,p&&(s.end=s.start,s.start=\"width\"===r||\"height\"===r?1:0))}}function W(e,t){var n,r,i,a,s;for(n in e)if(r=ue.camelCase(n),i=t[r],a=e[n],ue.isArray(a)&&(i=a[1],a=e[n]=a[0]),n!==r&&(e[r]=a,delete e[n]),s=ue.cssHooks[r],s&&\"expand\"in s){a=s.expand(a),delete e[r];for(n in a)n in e||(e[n]=a[n],t[n]=i)}else t[r]=i}function Q(e,t,n){var r,i,a=0,s=Q.prefilters.length,o=ue.Deferred().always(function(){delete c.elem}),c=function(){if(i)return!1;for(var t=ct||H(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,a=1-r,s=0,c=u.tweens.length;s<c;s++)u.tweens[s].run(a);return o.notifyWith(e,[u,a,n]),a<1&&c?n:(o.resolveWith(e,[u]),!1)},u=o.promise({elem:e,props:ue.extend({},t),opts:ue.extend(!0,{specialEasing:{},easing:ue.easing._default},n),originalProperties:t,originalOptions:n,startTime:ct||H(),duration:n.duration,tweens:[],createTween:function(t,n){var r=ue.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)u.tweens[n].run(1);return t?(o.notifyWith(e,[u,1,0]),o.resolveWith(e,[u,t])):o.rejectWith(e,[u,t]),this}}),l=u.props;for(W(l,u.opts.specialEasing);a<s;a++)if(r=Q.prefilters[a].call(u,e,l,u.opts))return ue.isFunction(r.stop)&&(ue._queueHooks(u.elem,u.opts.queue).stop=ue.proxy(r.stop,r)),r;return ue.map(l,q,u),ue.isFunction(u.opts.start)&&u.opts.start.call(e,u),ue.fx.timer(ue.extend(c,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function U(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function V(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,a=t.toLowerCase().match(xe)||[];if(ue.isFunction(n))for(;r=a[i++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function $(e,t,n,r){function i(o){var c;return a[o]=!0,ue.each(e[o]||[],function(e,o){var u=o(t,n,r);return\"string\"!=typeof u||s||a[u]?s?!(c=u):void 0:(t.dataTypes.unshift(u),i(u),!1)}),c}var a={},s=e===It;return i(t.dataTypes[0])||!a[\"*\"]&&i(\"*\")}function z(e,t){var n,r,i=ue.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ue.extend(!0,e,r),e}function K(e,t,n){for(var r,i,a,s,o=e.contents,c=e.dataTypes;\"*\"===c[0];)c.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in o)if(o[i]&&o[i].test(r)){c.unshift(i);break}if(c[0]in n)a=c[0];else{for(i in n){if(!c[0]||e.converters[i+\" \"+c[0]]){a=i;break}s||(s=i)}a=a||s}if(a)return a!==c[0]&&c.unshift(a),n[a]}function J(e,t,n,r){var i,a,s,o,c,u={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(a=l.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!c&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),c=a,a=l.shift())if(\"*\"===a)a=c;else if(\"*\"!==c&&c!==a){if(s=u[c+\" \"+a]||u[\"* \"+a],!s)for(i in u)if(o=i.split(\" \"),o[1]===a&&(s=u[c+\" \"+o[0]]||u[\"* \"+o[0]])){s===!0?s=u[i]:u[i]!==!0&&(a=o[0],l.unshift(o[1]));break}if(s!==!0)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:\"parsererror\",error:s?e:\"No conversion from \"+c+\" to \"+a}}}return{state:\"success\",data:t}}function X(e,t,n,r){var i;if(ue.isArray(t))ue.each(t,function(t,i){n||kt.test(e)?r(e,i):X(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)});else if(n||\"object\"!==ue.type(t))r(e,t);else for(i in t)X(e+\"[\"+i+\"]\",t[i],n,r)}function G(e){return ue.isWindow(e)?e:9===e.nodeType&&e.defaultView}var Y=[],Z=n.document,ee=Y.slice,te=Y.concat,ne=Y.push,re=Y.indexOf,ie={},ae=ie.toString,se=ie.hasOwnProperty,oe={},ce=\"2.2.4\",ue=function(e,t){return new ue.fn.init(e,t)},le=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,fe=/^-ms-/,he=/-([\\da-z])/gi,de=function(e,t){return t.toUpperCase()};ue.fn=ue.prototype={jquery:ce,constructor:ue,selector:\"\",length:0,toArray:function(){return ee.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:ee.call(this)},pushStack:function(e){var t=ue.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return ue.each(this,e)},map:function(e){return this.pushStack(ue.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ee.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ne,sort:Y.sort,splice:Y.splice},ue.extend=ue.fn.extend=function(){var e,t,n,r,i,a,s=arguments[0]||{},o=1,c=arguments.length,u=!1;for(\"boolean\"==typeof s&&(u=s,s=arguments[o]||{},o++),\"object\"==typeof s||ue.isFunction(s)||(s={}),o===c&&(s=this,o--);o<c;o++)if(null!=(e=arguments[o]))for(t in e)n=s[t],r=e[t],s!==r&&(u&&r&&(ue.isPlainObject(r)||(i=ue.isArray(r)))?(i?(i=!1,a=n&&ue.isArray(n)?n:[]):a=n&&ue.isPlainObject(n)?n:{},s[t]=ue.extend(u,a,r)):void 0!==r&&(s[t]=r));return s},ue.extend({expando:\"jQuery\"+(ce+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return\"function\"===ue.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!ue.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){var t;if(\"object\"!==ue.type(e)||e.nodeType||ue.isWindow(e))return!1;if(e.constructor&&!se.call(e,\"constructor\")&&!se.call(e.constructor.prototype||{},\"isPrototypeOf\"))return!1;for(t in e);return void 0===t||se.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?ie[ae.call(e)]||\"object\":typeof e},globalEval:function(e){var t,n=eval;e=ue.trim(e),e&&(1===e.indexOf(\"use strict\")?(t=Z.createElement(\"script\"),t.text=e,Z.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(fe,\"ms-\").replace(he,de)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,r=0;if(s(e))for(n=e.length;r<n&&t.call(e[r],r,e[r])!==!1;r++);else for(r in e)if(t.call(e[r],r,e[r])===!1)break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(le,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(s(Object(e))?ue.merge(n,\"string\"==typeof e?[e]:e):ne.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:re.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],a=0,s=e.length,o=!n;a<s;a++)r=!t(e[a],a),r!==o&&i.push(e[a]);return i},map:function(e,t,n){var r,i,a=0,o=[];if(s(e))for(r=e.length;a<r;a++)i=t(e[a],a,n),null!=i&&o.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&o.push(i);return te.apply([],o)},guid:1,proxy:function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),ue.isFunction(e))return r=ee.call(arguments,2),i=function(){return e.apply(t||this,r.concat(ee.call(arguments)))},i.guid=e.guid=e.guid||ue.guid++,i},now:Date.now,support:oe}),\"function\"==typeof Symbol&&(ue.fn[Symbol.iterator]=Y[Symbol.iterator]),ue.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){ie[\"[object \"+t+\"]\"]=t.toLowerCase()});var pe=function(e){function t(e,t,n,r){var i,a,s,o,c,u,f,d,p=t&&t.ownerDocument,m=t?t.nodeType:9;if(n=n||[],\"string\"!=typeof e||!e||1!==m&&9!==m&&11!==m)return n;if(!r&&((t?t.ownerDocument||t:q)!==T&&E(t),t=t||T,k)){if(11!==m&&(u=ve.exec(e)))if(i=u[1]){if(9===m){if(!(s=t.getElementById(i)))return n;if(s.id===i)return n.push(s),n}else if(p&&(s=p.getElementById(i))&&H(t,s)&&s.id===i)return n.push(s),n}else{if(u[2])return Y.apply(n,t.getElementsByTagName(e)),n;if((i=u[3])&&S.getElementsByClassName&&t.getElementsByClassName)return Y.apply(n,t.getElementsByClassName(i)),n}if(S.qsa&&!V[e+\" \"]&&(!A||!A.test(e))){if(1!==m)p=t,d=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((o=t.getAttribute(\"id\"))?o=o.replace(be,\"\\\\$&\"):t.setAttribute(\"id\",o=M),f=x(e),a=f.length,c=he.test(o)?\"#\"+o:\"[id='\"+o+\"']\";a--;)f[a]=c+\" \"+h(f[a]);d=f.join(\",\"),p=ye.test(e)&&l(t.parentNode)||t}if(d)try{return Y.apply(n,p.querySelectorAll(d)),n}catch(e){}finally{o===M&&t.removeAttribute(\"id\")}}}return O(e.replace(oe,\"$1\"),t,n,r)}function n(){function e(n,r){return t.push(n+\" \")>R.cacheLength&&delete e[t.shift()],e[n+\" \"]=r}var t=[];return e}function r(e){return e[M]=!0,e}function i(e){var t=T.createElement(\"div\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var n=e.split(\"|\"),r=n.length;r--;)R.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||z)-(~e.sourceIndex||z);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function o(e){return function(t){var n=t.nodeName.toLowerCase();return\"input\"===n&&t.type===e}}function c(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,a=e([],n.length,t),s=a.length;s--;)n[i=a[s]]&&(n[i]=!(r[i]=n[i]))})})}function l(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}function f(){}function h(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,i=n&&\"parentNode\"===r,a=W++;return t.first?function(t,n,a){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,a)}:function(t,n,s){var o,c,u,l=[B,a];if(s){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(u=t[M]||(t[M]={}),c=u[t.uniqueID]||(u[t.uniqueID]={}),(o=c[r])&&o[0]===B&&o[1]===a)return l[2]=o[2];if(c[r]=l,l[2]=e(t,n,s))return!0}}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var i=0,a=n.length;i<a;i++)t(e,n[i],r);return r}function g(e,t,n,r,i){for(var a,s=[],o=0,c=e.length,u=null!=t;o<c;o++)(a=e[o])&&(n&&!n(a,r,i)||(s.push(a),u&&t.push(o)));return s}function v(e,t,n,i,a,s){return i&&!i[M]&&(i=v(i)),a&&!a[M]&&(a=v(a,s)),r(function(r,s,o,c){var u,l,f,h=[],d=[],p=s.length,v=r||m(t||\"*\",o.nodeType?[o]:o,[]),y=!e||!r&&t?v:g(v,h,e,o,c),b=n?a||(r?e:p||i)?[]:s:y;if(n&&n(y,b,o,c),i)for(u=g(b,d),i(u,[],o,c),l=u.length;l--;)(f=u[l])&&(b[d[l]]=!(y[d[l]]=f));if(r){if(a||e){if(a){for(u=[],l=b.length;l--;)(f=b[l])&&u.push(y[l]=f);a(null,b=[],u,c)}for(l=b.length;l--;)(f=b[l])&&(u=a?ee(r,f):h[l])>-1&&(r[u]=!(s[u]=f))}}else b=g(b===s?b.splice(p,b.length):b),a?a(null,s,b,c):Y.apply(s,b)})}function y(e){for(var t,n,r,i=e.length,a=R.relative[e[0].type],s=a||R.relative[\" \"],o=a?1:0,c=d(function(e){return e===t},s,!0),u=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var i=!a&&(r||n!==N)||((t=n).nodeType?c(e,n,r):u(e,n,r));return t=null,i}];o<i;o++)if(n=R.relative[e[o].type])l=[d(p(l),n)];else{if(n=R.filter[e[o].type].apply(null,e[o].matches),n[M]){for(r=++o;r<i&&!R.relative[e[r].type];r++);return v(o>1&&p(l),o>1&&h(e.slice(0,o-1).concat({value:\" \"===e[o-2].type?\"*\":\"\"})).replace(oe,\"$1\"),n,o<r&&y(e.slice(o,r)),r<i&&y(e=e.slice(r)),r<i&&h(e))}l.push(n)}return p(l)}function b(e,n){var i=n.length>0,a=e.length>0,s=function(r,s,o,c,u){var l,f,h,d=0,p=\"0\",m=r&&[],v=[],y=N,b=r||a&&R.find.TAG(\"*\",u),w=B+=null==y?1:Math.random()||.1,S=b.length;for(u&&(N=s===T||s||u);p!==S&&null!=(l=b[p]);p++){if(a&&l){for(f=0,s||l.ownerDocument===T||(E(l),o=!k);h=e[f++];)if(h(l,s||T,o)){c.push(l);break}u&&(B=w)}i&&((l=!h&&l)&&d--,r&&m.push(l))}if(d+=p,i&&p!==d){for(f=0;h=n[f++];)h(m,v,s,o);if(r){if(d>0)for(;p--;)m[p]||v[p]||(v[p]=X.call(c));v=g(v)}Y.apply(c,v),u&&!r&&v.length>0&&d+n.length>1&&t.uniqueSort(c)}return u&&(B=w,N=y),m};return i?r(s):s}var w,S,R,_,P,x,j,O,N,F,I,E,T,C,k,A,D,L,H,M=\"sizzle\"+1*new Date,q=e.document,B=0,W=0,Q=n(),U=n(),V=n(),$=function(e,t){return e===t&&(I=!0),0},z=1<<31,K={}.hasOwnProperty,J=[],X=J.pop,G=J.push,Y=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",ne=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",re=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",ie=\"\\\\[\"+ne+\"*(\"+re+\")(?:\"+ne+\"*([*^$|!~]?=)\"+ne+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+re+\"))|)\"+ne+\"*\\\\]\",ae=\":(\"+re+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+ie+\")*)|.*)\\\\)|)\",se=new RegExp(ne+\"+\",\"g\"),oe=new RegExp(\"^\"+ne+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+ne+\"+$\",\"g\"),ce=new RegExp(\"^\"+ne+\"*,\"+ne+\"*\"),ue=new RegExp(\"^\"+ne+\"*([>+~]|\"+ne+\")\"+ne+\"*\"),le=new RegExp(\"=\"+ne+\"*([^\\\\]'\\\"]*?)\"+ne+\"*\\\\]\",\"g\"),fe=new RegExp(ae),he=new RegExp(\"^\"+re+\"$\"),de={ID:new RegExp(\"^#(\"+re+\")\"),CLASS:new RegExp(\"^\\\\.(\"+re+\")\"),TAG:new RegExp(\"^(\"+re+\"|[*])\"),ATTR:new RegExp(\"^\"+ie),PSEUDO:new RegExp(\"^\"+ae),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ne+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ne+\"*(?:([+-]|)\"+ne+\"*(\\\\d+)|))\"+ne+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+te+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ne+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ne+\"*((?:-\\\\d)?\\\\d*)\"+ne+\"*\\\\)|)(?=[^-]|$)\",\"i\")},pe=/^(?:input|select|textarea|button)$/i,me=/^h\\d$/i,ge=/^[^{]+\\{\\s*\\[native \\w/,ve=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ye=/[+~]/,be=/'|\\\\/g,we=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+ne+\"?|(\"+ne+\")|.)\",\"ig\"),Se=function(e,t,n){var r=\"0x\"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Re=function(){E()};try{Y.apply(J=Z.call(q.childNodes),q.childNodes),J[q.childNodes.length].nodeType}catch(e){Y={apply:J.length?function(e,t){G.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}S=t.support={},P=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},E=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:q;return r!==T&&9===r.nodeType&&r.documentElement?(T=r,C=T.documentElement,k=!P(T),(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",Re,!1):n.attachEvent&&n.attachEvent(\"onunload\",Re)),S.attributes=i(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),S.getElementsByTagName=i(function(e){return e.appendChild(T.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),S.getElementsByClassName=ge.test(T.getElementsByClassName),S.getById=i(function(e){return C.appendChild(e).id=M,!T.getElementsByName||!T.getElementsByName(M).length}),S.getById?(R.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&k){var n=t.getElementById(e);return n?[n]:[]}},R.filter.ID=function(e){var t=e.replace(we,Se);return function(e){return e.getAttribute(\"id\")===t}}):(delete R.find.ID,R.filter.ID=function(e){var t=e.replace(we,Se);return function(e){var n=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}}),R.find.TAG=S.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):S.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,a=t.getElementsByTagName(e);if(\"*\"===e){for(;n=a[i++];)1===n.nodeType&&r.push(n);return r}return a},R.find.CLASS=S.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&k)return t.getElementsByClassName(e)},D=[],A=[],(S.qsa=ge.test(T.querySelectorAll))&&(i(function(e){C.appendChild(e).innerHTML=\"<a id='\"+M+\"'></a><select id='\"+M+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&A.push(\"[*^$]=\"+ne+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||A.push(\"\\\\[\"+ne+\"*(?:value|\"+te+\")\"),e.querySelectorAll(\"[id~=\"+M+\"-]\").length||A.push(\"~=\"),e.querySelectorAll(\":checked\").length||A.push(\":checked\"),e.querySelectorAll(\"a#\"+M+\"+*\").length||A.push(\".#.+[+~]\")}),i(function(e){var t=T.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&A.push(\"name\"+ne+\"*[*^$|!~]?=\"),e.querySelectorAll(\":enabled\").length||A.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),A.push(\",.*:\")})),(S.matchesSelector=ge.test(L=C.matches||C.webkitMatchesSelector||C.mozMatchesSelector||C.oMatchesSelector||C.msMatchesSelector))&&i(function(e){S.disconnectedMatch=L.call(e,\"div\"),L.call(e,\"[s!='']:x\"),D.push(\"!=\",ae)}),A=A.length&&new RegExp(A.join(\"|\")),D=D.length&&new RegExp(D.join(\"|\")),t=ge.test(C.compareDocumentPosition),H=t||ge.test(C.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return I=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!S.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument===q&&H(q,e)?-1:t===T||t.ownerDocument===q&&H(q,t)?1:F?ee(F,e)-ee(F,t):0:4&n?-1:1)}:function(e,t){if(e===t)return I=!0,0;var n,r=0,i=e.parentNode,a=t.parentNode,o=[e],c=[t];if(!i||!a)return e===T?-1:t===T?1:i?-1:a?1:F?ee(F,e)-ee(F,t):0;if(i===a)return s(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;o[r]===c[r];)r++;return r?s(o[r],c[r]):o[r]===q?-1:c[r]===q?1:0},T):T},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==T&&E(e),n=n.replace(le,\"='$1']\"),S.matchesSelector&&k&&!V[n+\" \"]&&(!D||!D.test(n))&&(!A||!A.test(n)))try{var r=L.call(e,n);if(r||S.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,T,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==T&&E(e),H(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==T&&E(e);var n=R.attrHandle[t.toLowerCase()],r=n&&K.call(R.attrHandle,t.toLowerCase())?n(e,t,!k):void 0;return void 0!==r?r:S.attributes||!k?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(I=!S.detectDuplicates,F=!S.sortStable&&e.slice(0),e.sort($),I){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return F=null,e},_=t.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t);return n},R=t.selectors={cacheLength:50,createPseudo:r,match:de,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,Se),e[3]=(e[3]||e[4]||e[5]||\"\").replace(we,Se),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&fe.test(n)&&(t=x(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,Se).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=Q[e+\" \"];return t||(t=new RegExp(\"(^|\"+ne+\")\"+e+\"(\"+ne+\"|$)\"))&&Q(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,n,r){return function(i){var a=t.attr(i,e);return null==a?\"!=\"===n:!n||(a+=\"\",\"=\"===n?a===r:\"!=\"===n?a!==r:\"^=\"===n?r&&0===a.indexOf(r):\"*=\"===n?r&&a.indexOf(r)>-1:\"$=\"===n?r&&a.slice(-r.length)===r:\"~=\"===n?(\" \"+a.replace(se,\" \")+\" \").indexOf(r)>-1:\"|=\"===n&&(a===r||a.slice(0,r.length+1)===r+\"-\"))}},CHILD:function(e,t,n,r,i){var a=\"nth\"!==e.slice(0,3),s=\"last\"!==e.slice(-4),o=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,c){var u,l,f,h,d,p,m=a!==s?\"nextSibling\":\"previousSibling\",g=t.parentNode,v=o&&t.nodeName.toLowerCase(),y=!c&&!o,b=!1;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(o?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;p=m=\"only\"===e&&!p&&\"nextSibling\"}return!0}if(p=[s?g.firstChild:g.lastChild],s&&y){for(h=g,f=h[M]||(h[M]={}),l=f[h.uniqueID]||(f[h.uniqueID]={}),u=l[e]||[],d=u[0]===B&&u[1],b=d&&u[2],h=d&&g.childNodes[d];h=++d&&h&&h[m]||(b=d=0)||p.pop();)if(1===h.nodeType&&++b&&h===t){l[e]=[B,d,b];break}}else if(y&&(h=t,f=h[M]||(h[M]={}),l=f[h.uniqueID]||(f[h.uniqueID]={}),u=l[e]||[],d=u[0]===B&&u[1],b=d),b===!1)for(;(h=++d&&h&&h[m]||(b=d=0)||p.pop())&&((o?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++b||(y&&(f=h[M]||(h[M]={}),l=f[h.uniqueID]||(f[h.uniqueID]={}),l[e]=[B,b]),h!==t)););return b-=i,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var i,a=R.pseudos[e]||R.setFilters[e.toLowerCase()]||t.error(\"unsupported pseudo: \"+e);return a[M]?a(n):a.length>1?(i=[e,e,\"\",n],R.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=a(e,n),s=i.length;s--;)r=ee(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return a(e,0,i)}):a}},pseudos:{not:r(function(e){var t=[],n=[],i=j(e.replace(oe,\"$1\"));return i[M]?r(function(e,t,n,r){for(var a,s=i(e,null,r,[]),o=e.length;o--;)(a=s[o])&&(e[o]=!(t[o]=a))}):function(e,r,a){return t[0]=e,i(t,null,a,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(we,Se),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(e){return he.test(e||\"\")||t.error(\"unsupported lang: \"+e),e=e.replace(we,Se).toLowerCase(),function(t){var n;do if(n=k?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+\"-\");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===C},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0;\n},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!R.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},R.pseudos.nth=R.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})R.pseudos[w]=o(w);for(w in{submit:!0,reset:!0})R.pseudos[w]=c(w);return f.prototype=R.filters=R.pseudos,R.setFilters=new f,x=t.tokenize=function(e,n){var r,i,a,s,o,c,u,l=U[e+\" \"];if(l)return n?0:l.slice(0);for(o=e,c=[],u=R.preFilter;o;){r&&!(i=ce.exec(o))||(i&&(o=o.slice(i[0].length)||o),c.push(a=[])),r=!1,(i=ue.exec(o))&&(r=i.shift(),a.push({value:r,type:i[0].replace(oe,\" \")}),o=o.slice(r.length));for(s in R.filter)!(i=de[s].exec(o))||u[s]&&!(i=u[s](i))||(r=i.shift(),a.push({value:r,type:s,matches:i}),o=o.slice(r.length));if(!r)break}return n?o.length:o?t.error(e):U(e,c).slice(0)},j=t.compile=function(e,t){var n,r=[],i=[],a=V[e+\" \"];if(!a){for(t||(t=x(e)),n=t.length;n--;)a=y(t[n]),a[M]?r.push(a):i.push(a);a=V(e,b(i,r)),a.selector=e}return a},O=t.select=function(e,t,n,r){var i,a,s,o,c,u=\"function\"==typeof e&&e,f=!r&&x(e=u.selector||e);if(n=n||[],1===f.length){if(a=f[0]=f[0].slice(0),a.length>2&&\"ID\"===(s=a[0]).type&&S.getById&&9===t.nodeType&&k&&R.relative[a[1].type]){if(t=(R.find.ID(s.matches[0].replace(we,Se),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(a.shift().value.length)}for(i=de.needsContext.test(e)?0:a.length;i--&&(s=a[i],!R.relative[o=s.type]);)if((c=R.find[o])&&(r=c(s.matches[0].replace(we,Se),ye.test(a[0].type)&&l(t.parentNode)||t))){if(a.splice(i,1),e=r.length&&h(a),!e)return Y.apply(n,r),n;break}}return(u||j(e,f))(r,t,!k,n,!t||ye.test(e)&&l(t.parentNode)||t),n},S.sortStable=M.split(\"\").sort($).join(\"\")===M,S.detectDuplicates=!!I,E(),S.sortDetached=i(function(e){return 1&e.compareDocumentPosition(T.createElement(\"div\"))}),i(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||a(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),S.attributes&&i(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||a(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute(\"disabled\")})||a(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(n);ue.find=pe,ue.expr=pe.selectors,ue.expr[\":\"]=ue.expr.pseudos,ue.uniqueSort=ue.unique=pe.uniqueSort,ue.text=pe.getText,ue.isXMLDoc=pe.isXML,ue.contains=pe.contains;var me=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&ue(e).is(n))break;r.push(e)}return r},ge=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},ve=ue.expr.match.needsContext,ye=/^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,be=/^.[^:#\\[\\.,]*$/;ue.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?ue.find.matchesSelector(r,e)?[r]:[]:ue.find.matches(e,ue.grep(t,function(e){return 1===e.nodeType}))},ue.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if(\"string\"!=typeof e)return this.pushStack(ue(e).filter(function(){for(t=0;t<n;t++)if(ue.contains(i[t],this))return!0}));for(t=0;t<n;t++)ue.find(e,i[t],r);return r=this.pushStack(n>1?ue.unique(r):r),r.selector=this.selector?this.selector+\" \"+e:e,r},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,\"string\"==typeof e&&ve.test(e)?ue(e):e||[],!1).length}});var we,Se=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,Re=ue.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||we,\"string\"==typeof e){if(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:Se.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ue?t[0]:t,ue.merge(this,ue.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:Z,!0)),ye.test(r[1])&&ue.isPlainObject(t))for(r in t)ue.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=Z.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=Z,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ue.isFunction(e)?void 0!==n.ready?n.ready(e):e(ue):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),ue.makeArray(e,this))};Re.prototype=ue.fn,we=ue(Z);var _e=/^(?:parents|prev(?:Until|All))/,Pe={children:!0,contents:!0,next:!0,prev:!0};ue.fn.extend({has:function(e){var t=ue(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ue.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,a=[],s=ve.test(e)||\"string\"!=typeof e?ue(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&ue.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?ue.uniqueSort(a):a)},index:function(e){return e?\"string\"==typeof e?re.call(ue(e),this[0]):re.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ue.uniqueSort(ue.merge(this.get(),ue(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ue.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return me(e,\"parentNode\")},parentsUntil:function(e,t,n){return me(e,\"parentNode\",n)},next:function(e){return c(e,\"nextSibling\")},prev:function(e){return c(e,\"previousSibling\")},nextAll:function(e){return me(e,\"nextSibling\")},prevAll:function(e){return me(e,\"previousSibling\")},nextUntil:function(e,t,n){return me(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return me(e,\"previousSibling\",n)},siblings:function(e){return ge((e.parentNode||{}).firstChild,e)},children:function(e){return ge(e.firstChild)},contents:function(e){return e.contentDocument||ue.merge([],e.childNodes)}},function(e,t){ue.fn[e]=function(n,r){var i=ue.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=ue.filter(r,i)),this.length>1&&(Pe[e]||ue.uniqueSort(i),_e.test(e)&&i.reverse()),this.pushStack(i)}});var xe=/\\S+/g;ue.Callbacks=function(e){e=\"string\"==typeof e?u(e):ue.extend({},e);var t,n,r,i,a=[],s=[],o=-1,c=function(){for(i=e.once,r=t=!0;s.length;o=-1)for(n=s.shift();++o<a.length;)a[o].apply(n[0],n[1])===!1&&e.stopOnFalse&&(o=a.length,n=!1);e.memory||(n=!1),t=!1,i&&(a=n?[]:\"\")},l={add:function(){return a&&(n&&!t&&(o=a.length-1,s.push(n)),function t(n){ue.each(n,function(n,r){ue.isFunction(r)?e.unique&&l.has(r)||a.push(r):r&&r.length&&\"string\"!==ue.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return ue.each(arguments,function(e,t){for(var n;(n=ue.inArray(t,a,n))>-1;)a.splice(n,1),n<=o&&o--}),this},has:function(e){return e?ue.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n=\"\",this},disabled:function(){return!a},lock:function(){return i=s=[],n||(a=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},ue.extend({Deferred:function(e){var t=[[\"resolve\",\"done\",ue.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",ue.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",ue.Callbacks(\"memory\")]],n=\"pending\",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ue.Deferred(function(n){ue.each(t,function(t,a){var s=ue.isFunction(e[t])&&e[t];i[a[1]](function(){var e=s&&s.apply(this,arguments);e&&ue.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[a[0]+\"With\"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ue.extend(e,r):r}},i={};return r.pipe=r.then,ue.each(t,function(e,a){var s=a[2],o=a[3];r[a[1]]=s.add,o&&s.add(function(){n=o},t[1^e][2].disable,t[2][2].lock),i[a[0]]=function(){return i[a[0]+\"With\"](this===i?r:this,arguments),this},i[a[0]+\"With\"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,a=ee.call(arguments),s=a.length,o=1!==s||e&&ue.isFunction(e.promise)?s:0,c=1===o?e:ue.Deferred(),u=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ee.call(arguments):i,r===t?c.notifyWith(n,r):--o||c.resolveWith(n,r)}};if(s>1)for(t=new Array(s),n=new Array(s),r=new Array(s);i<s;i++)a[i]&&ue.isFunction(a[i].promise)?a[i].promise().progress(u(i,n,t)).done(u(i,r,a)).fail(c.reject):--o;return o||c.resolveWith(r,a),c.promise()}});var je;ue.fn.ready=function(e){return ue.ready.promise().done(e),this},ue.extend({isReady:!1,readyWait:1,holdReady:function(e){e?ue.readyWait++:ue.ready(!0)},ready:function(e){(e===!0?--ue.readyWait:ue.isReady)||(ue.isReady=!0,e!==!0&&--ue.readyWait>0||(je.resolveWith(Z,[ue]),ue.fn.triggerHandler&&(ue(Z).triggerHandler(\"ready\"),ue(Z).off(\"ready\"))))}}),ue.ready.promise=function(e){return je||(je=ue.Deferred(),\"complete\"===Z.readyState||\"loading\"!==Z.readyState&&!Z.documentElement.doScroll?n.setTimeout(ue.ready):(Z.addEventListener(\"DOMContentLoaded\",l),n.addEventListener(\"load\",l))),je.promise(e)},ue.ready.promise();var Oe=function(e,t,n,r,i,a,s){var o=0,c=e.length,u=null==n;if(\"object\"===ue.type(n)){i=!0;for(o in n)Oe(e,t,o,n[o],!0,a,s)}else if(void 0!==r&&(i=!0,ue.isFunction(r)||(s=!0),u&&(s?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(ue(e),n)})),t))for(;o<c;o++)t(e[o],n,s?r:r.call(e[o],o,t(e[o],n)));return i?e:u?t.call(e):c?t(e[0],n):a},Ne=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={register:function(e,t){var n=t||{};return e.nodeType?e[this.expando]=n:Object.defineProperty(e,this.expando,{value:n,writable:!0,configurable:!0}),e[this.expando]},cache:function(e){if(!Ne(e))return{};var t=e[this.expando];return t||(t={},Ne(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if(\"string\"==typeof t)i[t]=n;else for(r in t)i[r]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][t]},access:function(e,t,n){var r;return void 0===t||t&&\"string\"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,ue.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,a=e[this.expando];if(void 0!==a){if(void 0===t)this.register(e);else{ue.isArray(t)?r=t.concat(t.map(ue.camelCase)):(i=ue.camelCase(t),t in a?r=[t,i]:(r=i,r=r in a?[r]:r.match(xe)||[])),n=r.length;for(;n--;)delete a[r[n]]}(void 0===t||ue.isEmptyObject(a))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ue.isEmptyObject(t)}};var Fe=new f,Ie=new f,Ee=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Te=/[A-Z]/g;ue.extend({hasData:function(e){return Ie.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Ie.access(e,t,n)},removeData:function(e,t){Ie.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),ue.fn.extend({data:function(e,t){var n,r,i,a=this[0],s=a&&a.attributes;if(void 0===e){if(this.length&&(i=Ie.get(a),1===a.nodeType&&!Fe.get(a,\"hasDataAttrs\"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf(\"data-\")&&(r=ue.camelCase(r.slice(5)),h(a,r,i[r])));Fe.set(a,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof e?this.each(function(){Ie.set(this,e)}):Oe(this,function(t){var n,r;if(a&&void 0===t){if(n=Ie.get(a,e)||Ie.get(a,e.replace(Te,\"-$&\").toLowerCase()),void 0!==n)return n;if(r=ue.camelCase(e),n=Ie.get(a,r),void 0!==n)return n;if(n=h(a,r,void 0),void 0!==n)return n}else r=ue.camelCase(e),this.each(function(){var n=Ie.get(this,r);Ie.set(this,r,t),e.indexOf(\"-\")>-1&&void 0!==n&&Ie.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Ie.remove(this,e)})}}),ue.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Fe.get(e,t),n&&(!r||ue.isArray(n)?r=Fe.access(e,t,ue.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=ue.queue(e,t),r=n.length,i=n.shift(),a=ue._queueHooks(e,t),s=function(){ue.dequeue(e,t)};\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete a.stop,i.call(e,s,a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Fe.get(e,n)||Fe.access(e,n,{empty:ue.Callbacks(\"once memory\").add(function(){Fe.remove(e,[t+\"queue\",n])})})}}),ue.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?ue.queue(this[0],e):void 0===t?this:this.each(function(){var n=ue.queue(this,e,t);ue._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&ue.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ue.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=ue.Deferred(),a=this,s=this.length,o=function(){--r||i.resolveWith(a,[a])};for(\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";s--;)n=Fe.get(a[s],e+\"queueHooks\"),n&&n.empty&&(r++,n.empty.add(o));return o(),i.promise(t)}});var Ce=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,ke=new RegExp(\"^(?:([+-])=|)(\"+Ce+\")([a-z%]*)$\",\"i\"),Ae=[\"Top\",\"Right\",\"Bottom\",\"Left\"],De=function(e,t){return e=t||e,\"none\"===ue.css(e,\"display\")||!ue.contains(e.ownerDocument,e)},Le=/^(?:checkbox|radio)$/i,He=/<([\\w:-]+)/,Me=/^$|\\/(?:java|ecma)script/i,qe={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};qe.optgroup=qe.option,qe.tbody=qe.tfoot=qe.colgroup=qe.caption=qe.thead,qe.th=qe.td;var Be=/<|&#?\\w+;/;!function(){var e=Z.createDocumentFragment(),t=e.appendChild(Z.createElement(\"div\")),n=Z.createElement(\"input\");n.setAttribute(\"type\",\"radio\"),n.setAttribute(\"checked\",\"checked\"),n.setAttribute(\"name\",\"t\"),t.appendChild(n),oe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML=\"<textarea>x</textarea>\",oe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var We=/^key/,Qe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ue=/^([^.]*)(?:\\.(.+)|)/;ue.event={global:{},add:function(e,t,n,r,i){var a,s,o,c,u,l,f,h,d,p,m,g=Fe.get(e);if(g)for(n.handler&&(a=n,n=a.handler,i=a.selector),n.guid||(n.guid=ue.guid++),(c=g.events)||(c=g.events={}),(s=g.handle)||(s=g.handle=function(t){return\"undefined\"!=typeof ue&&ue.event.triggered!==t.type?ue.event.dispatch.apply(e,arguments):void 0}),t=(t||\"\").match(xe)||[\"\"],u=t.length;u--;)o=Ue.exec(t[u])||[],d=m=o[1],p=(o[2]||\"\").split(\".\").sort(),d&&(f=ue.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ue.event.special[d]||{},l=ue.extend({type:d,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ue.expr.match.needsContext.test(i),namespace:p.join(\".\")},a),(h=c[d])||(h=c[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,r,p,s)!==!1||e.addEventListener&&e.addEventListener(d,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,l):h.push(l),ue.event.global[d]=!0)},remove:function(e,t,n,r,i){var a,s,o,c,u,l,f,h,d,p,m,g=Fe.hasData(e)&&Fe.get(e);if(g&&(c=g.events)){for(t=(t||\"\").match(xe)||[\"\"],u=t.length;u--;)if(o=Ue.exec(t[u])||[],d=m=o[1],p=(o[2]||\"\").split(\".\").sort(),d){for(f=ue.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,h=c[d]||[],o=o[2]&&new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),s=a=h.length;a--;)l=h[a],!i&&m!==l.origType||n&&n.guid!==l.guid||o&&!o.test(l.namespace)||r&&r!==l.selector&&(\"**\"!==r||!l.selector)||(h.splice(a,1),l.selector&&h.delegateCount--,f.remove&&f.remove.call(e,l));s&&!h.length&&(f.teardown&&f.teardown.call(e,p,g.handle)!==!1||ue.removeEvent(e,d,g.handle),delete c[d])}else for(d in c)ue.event.remove(e,d+t[u],n,r,!0);ue.isEmptyObject(c)&&Fe.remove(e,\"handle events\")}},dispatch:function(e){e=ue.event.fix(e);var t,n,r,i,a,s=[],o=ee.call(arguments),c=(Fe.get(this,\"events\")||{})[e.type]||[],u=ue.event.special[e.type]||{};if(o[0]=e,e.delegateTarget=this,!u.preDispatch||u.preDispatch.call(this,e)!==!1){for(s=ue.event.handlers.call(this,e,c),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(a=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(a.namespace)||(e.handleObj=a,e.data=a.data,r=((ue.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,o),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,a,s=[],o=t.delegateCount,c=e.target;if(o&&c.nodeType&&(\"click\"!==e.type||isNaN(e.button)||e.button<1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&(c.disabled!==!0||\"click\"!==e.type)){for(r=[],n=0;n<o;n++)a=t[n],i=a.selector+\" \",void 0===r[i]&&(r[i]=a.needsContext?ue(i,this).index(c)>-1:ue.find(i,this,null,[c]).length),r[i]&&r.push(a);r.length&&s.push({elem:c,handlers:r})}return o<t.length&&s.push({elem:this,handlers:t.slice(o)}),s},props:\"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:\"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(e,t){var n,r,i,a=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||Z,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||void 0===a||(e.which=1&a?1:2&a?3:4&a?2:0),e}},fix:function(e){if(e[ue.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Qe.test(i)?this.mouseHooks:We.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new ue.Event(a),t=r.length;t--;)n=r[t],e[n]=a[n];return e.target||(e.target=Z),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,a):e},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&ue.nodeName(this,\"input\"))return this.click(),!1},_default:function(e){return ue.nodeName(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ue.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ue.Event=function(e,t){return this instanceof ue.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?v:y):this.type=e,t&&ue.extend(this,t),this.timeStamp=e&&e.timeStamp||ue.now(),void(this[ue.expando]=!0)):new ue.Event(e,t)},ue.Event.prototype={constructor:ue.Event,isDefaultPrevented:y,isPropagationStopped:y,isImmediatePropagationStopped:y,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=v,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=v,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=v,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ue.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){ue.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,a=e.handleObj;return i&&(i===r||ue.contains(r,i))||(e.type=a.origType,n=a.handler.apply(this,arguments),e.type=t),n}}}),ue.fn.extend({on:function(e,t,n,r){return w(this,e,t,n,r)},one:function(e,t,n,r){return w(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ue(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&\"function\"!=typeof t||(n=t,t=void 0),n===!1&&(n=y),this.each(function(){ue.event.remove(this,e,n,t)})}});var Ve=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,$e=/<script|<style|<link/i,ze=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Ke=/^true\\/(.*)/,Je=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;ue.extend({htmlPrefilter:function(e){return e.replace(Ve,\"<$1></$2>\")},clone:function(e,t,n){var r,i,a,s,o=e.cloneNode(!0),c=ue.contains(e.ownerDocument,e);if(!(oe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ue.isXMLDoc(e)))for(s=p(o),a=p(e),r=0,i=a.length;r<i;r++)x(a[r],s[r]);if(t)if(n)for(a=a||p(e),s=s||p(o),r=0,i=a.length;r<i;r++)P(a[r],s[r]);else P(e,o);return s=p(o,\"script\"),s.length>0&&m(s,!c&&p(e,\"script\")),o},cleanData:function(e){for(var t,n,r,i=ue.event.special,a=0;void 0!==(n=e[a]);a++)if(Ne(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)i[r]?ue.event.remove(n,r):ue.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Ie.expando]&&(n[Ie.expando]=void 0)}}}),ue.fn.extend({domManip:j,detach:function(e){return O(this,e,!0)},remove:function(e){return O(this,e)},text:function(e){return Oe(this,function(e){return void 0===e?ue.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return j(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=S(this,e);t.appendChild(e)}})},prepend:function(){return j(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=S(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return j(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return j(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ue.cleanData(p(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ue.clone(this,e,t)})},html:function(e){return Oe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!$e.test(e)&&!qe[(He.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=ue.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(ue.cleanData(p(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return j(this,arguments,function(t){var n=this.parentNode;ue.inArray(this,e)<0&&(ue.cleanData(p(this)),n&&n.replaceChild(t,this))},e)}}),ue.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){ue.fn[e]=function(e){for(var n,r=[],i=ue(e),a=i.length-1,s=0;s<=a;s++)n=s===a?this:this.clone(!0),ue(i[s])[t](n),ne.apply(r,n.get());return this.pushStack(r)}});var Xe,Ge={HTML:\"block\",BODY:\"block\"},Ye=/^margin/,Ze=new RegExp(\"^(\"+Ce+\")(?!px)[a-z%]+$\",\"i\"),et=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},tt=function(e,t,n,r){var i,a,s={};for(a in t)s[a]=e.style[a],e.style[a]=t[a];i=n.apply(e,r||[]);for(a in t)e.style[a]=s[a];return i},nt=Z.documentElement;!function(){function e(){o.style.cssText=\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",o.innerHTML=\"\",nt.appendChild(s);var e=n.getComputedStyle(o);t=\"1%\"!==e.top,a=\"2px\"===e.marginLeft,r=\"4px\"===e.width,o.style.marginRight=\"50%\",i=\"4px\"===e.marginRight,nt.removeChild(s)}var t,r,i,a,s=Z.createElement(\"div\"),o=Z.createElement(\"div\");o.style&&(o.style.backgroundClip=\"content-box\",o.cloneNode(!0).style.backgroundClip=\"\",oe.clearCloneStyle=\"content-box\"===o.style.backgroundClip,s.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",s.appendChild(o),ue.extend(oe,{pixelPosition:function(){return e(),t},boxSizingReliable:function(){return null==r&&e(),r},pixelMarginRight:function(){return null==r&&e(),i},reliableMarginLeft:function(){return null==r&&e(),a},reliableMarginRight:function(){var e,t=o.appendChild(Z.createElement(\"div\"));return t.style.cssText=o.style.cssText=\"-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\",t.style.marginRight=t.style.width=\"0\",o.style.width=\"1px\",nt.appendChild(s),e=!parseFloat(n.getComputedStyle(t).marginRight),nt.removeChild(s),o.removeChild(t),e}}))}();var rt=/^(none|table(?!-c[ea]).+)/,it={position:\"absolute\",visibility:\"hidden\",display:\"block\"},at={letterSpacing:\"0\",fontWeight:\"400\"},st=[\"Webkit\",\"O\",\"Moz\",\"ms\"],ot=Z.createElement(\"div\").style;ue.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=I(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:\"cssFloat\"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,s,o=ue.camelCase(t),c=e.style;return t=ue.cssProps[o]||(ue.cssProps[o]=T(o)||o),s=ue.cssHooks[t]||ue.cssHooks[o],void 0===n?s&&\"get\"in s&&void 0!==(i=s.get(e,!1,r))?i:c[t]:(a=typeof n,\"string\"===a&&(i=ke.exec(n))&&i[1]&&(n=d(e,t,i),a=\"number\"),null!=n&&n===n&&(\"number\"===a&&(n+=i&&i[3]||(ue.cssNumber[o]?\"\":\"px\")),oe.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(c[t]=\"inherit\"),s&&\"set\"in s&&void 0===(n=s.set(e,n,r))||(c[t]=n)),void 0)}},css:function(e,t,n,r){var i,a,s,o=ue.camelCase(t);return t=ue.cssProps[o]||(ue.cssProps[o]=T(o)||o),s=ue.cssHooks[t]||ue.cssHooks[o],s&&\"get\"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=I(e,t,r)),\"normal\"===i&&t in at&&(i=at[t]),\"\"===n||n?(a=parseFloat(i),n===!0||isFinite(a)?a||0:i):i}}),ue.each([\"height\",\"width\"],function(e,t){ue.cssHooks[t]={get:function(e,n,r){if(n)return rt.test(ue.css(e,\"display\"))&&0===e.offsetWidth?tt(e,it,function(){return A(e,t,r)}):A(e,t,r)},set:function(e,n,r){var i,a=r&&et(e),s=r&&k(e,t,r,\"border-box\"===ue.css(e,\"boxSizing\",!1,a),a);return s&&(i=ke.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=ue.css(e,t)),C(e,n,s)}}}),ue.cssHooks.marginLeft=E(oe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(I(e,\"marginLeft\"))||e.getBoundingClientRect().left-tt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),ue.cssHooks.marginRight=E(oe.reliableMarginRight,function(e,t){if(t)return tt(e,{display:\"inline-block\"},I,[e,\"marginRight\"])}),ue.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){ue.cssHooks[e+t]={expand:function(n){for(var r=0,i={},a=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+Ae[r]+t]=a[r]||a[r-2]||a[0];return i}},Ye.test(e)||(ue.cssHooks[e+t].set=C)}),ue.fn.extend({css:function(e,t){return Oe(this,function(e,t,n){var r,i,a={},s=0;if(ue.isArray(t)){for(r=et(e),i=t.length;s<i;s++)a[t[s]]=ue.css(e,t[s],!1,r);return a}return void 0!==n?ue.style(e,t,n):ue.css(e,t)},e,t,arguments.length>1)},show:function(){return D(this,!0)},hide:function(){return D(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){De(this)?ue(this).show():ue(this).hide()})}}),ue.Tween=L,L.prototype={constructor:L,init:function(e,t,n,r,i,a){this.elem=e,this.prop=n,this.easing=i||ue.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(ue.cssNumber[n]?\"\":\"px\")},cur:function(){var e=L.propHooks[this.prop];return e&&e.get?e.get(this):L.propHooks._default.get(this)},run:function(e){var t,n=L.propHooks[this.prop];return this.options.duration?this.pos=t=ue.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):L.propHooks._default.set(this),this}},L.prototype.init.prototype=L.prototype,L.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ue.css(e.elem,e.prop,\"\"),t&&\"auto\"!==t?t:0)},set:function(e){ue.fx.step[e.prop]?ue.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ue.cssProps[e.prop]]&&!ue.cssHooks[e.prop]?e.elem[e.prop]=e.now:ue.style(e.elem,e.prop,e.now+e.unit)}}},L.propHooks.scrollTop=L.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ue.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},ue.fx=L.prototype.init,ue.fx.step={};var ct,ut,lt=/^(?:toggle|show|hide)$/,ft=/queueHooks$/;ue.Animation=ue.extend(Q,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,ke.exec(t),n),n}]},tweener:function(e,t){ue.isFunction(e)?(t=e,e=[\"*\"]):e=e.match(xe);for(var n,r=0,i=e.length;r<i;r++)n=e[r],Q.tweeners[n]=Q.tweeners[n]||[],Q.tweeners[n].unshift(t)},prefilters:[B],prefilter:function(e,t){t?Q.prefilters.unshift(e):Q.prefilters.push(e)}}),ue.speed=function(e,t,n){var r=e&&\"object\"==typeof e?ue.extend({},e):{complete:n||!n&&t||ue.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ue.isFunction(t)&&t};return r.duration=ue.fx.off?0:\"number\"==typeof r.duration?r.duration:r.duration in ue.fx.speeds?ue.fx.speeds[r.duration]:ue.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){ue.isFunction(r.old)&&r.old.call(this),r.queue&&ue.dequeue(this,r.queue)},r},ue.fn.extend({fadeTo:function(e,t,n,r){return this.filter(De).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=ue.isEmptyObject(e),a=ue.speed(t,n,r),s=function(){var t=Q(this,ue.extend({},e),a);(i||Fe.get(this,\"finish\"))&&t.stop(!0)};return s.finish=s,i||a.queue===!1?this.each(s):this.queue(a.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return\"string\"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,i=null!=e&&e+\"queueHooks\",a=ue.timers,s=Fe.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&ft.test(i)&&r(s[i]);for(i=a.length;i--;)a[i].elem!==this||null!=e&&a[i].queue!==e||(a[i].anim.stop(n),t=!1,a.splice(i,1));!t&&n||ue.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||\"fx\"),this.each(function(){var t,n=Fe.get(this),r=n[e+\"queue\"],i=n[e+\"queueHooks\"],a=ue.timers,s=r?r.length:0;for(n.finish=!0,ue.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),\na.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),ue.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=ue.fn[t];ue.fn[t]=function(e,r,i){return null==e||\"boolean\"==typeof e?n.apply(this,arguments):this.animate(M(t,!0),e,r,i)}}),ue.each({slideDown:M(\"show\"),slideUp:M(\"hide\"),slideToggle:M(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){ue.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),ue.timers=[],ue.fx.tick=function(){var e,t=0,n=ue.timers;for(ct=ue.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||ue.fx.stop(),ct=void 0},ue.fx.timer=function(e){ue.timers.push(e),e()?ue.fx.start():ue.timers.pop()},ue.fx.interval=13,ue.fx.start=function(){ut||(ut=n.setInterval(ue.fx.tick,ue.fx.interval))},ue.fx.stop=function(){n.clearInterval(ut),ut=null},ue.fx.speeds={slow:600,fast:200,_default:400},ue.fn.delay=function(e,t){return e=ue.fx?ue.fx.speeds[e]||e:e,t=t||\"fx\",this.queue(t,function(t,r){var i=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(i)}})},function(){var e=Z.createElement(\"input\"),t=Z.createElement(\"select\"),n=t.appendChild(Z.createElement(\"option\"));e.type=\"checkbox\",oe.checkOn=\"\"!==e.value,oe.optSelected=n.selected,t.disabled=!0,oe.optDisabled=!n.disabled,e=Z.createElement(\"input\"),e.value=\"t\",e.type=\"radio\",oe.radioValue=\"t\"===e.value}();var ht,dt=ue.expr.attrHandle;ue.fn.extend({attr:function(e,t){return Oe(this,ue.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ue.removeAttr(this,e)})}}),ue.extend({attr:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return\"undefined\"==typeof e.getAttribute?ue.prop(e,t,n):(1===a&&ue.isXMLDoc(e)||(t=t.toLowerCase(),i=ue.attrHooks[t]||(ue.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void ue.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:(r=ue.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!oe.radioValue&&\"radio\"===t&&ue.nodeName(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,a=t&&t.match(xe);if(a&&1===e.nodeType)for(;n=a[i++];)r=ue.propFix[n]||n,ue.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)}}),ht={set:function(e,t,n){return t===!1?ue.removeAttr(e,n):e.setAttribute(n,n),n}},ue.each(ue.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=dt[t]||ue.find.attr;dt[t]=function(e,t,r){var i,a;return r||(a=dt[t],dt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,dt[t]=a),i}});var pt=/^(?:input|select|textarea|button)$/i,mt=/^(?:a|area)$/i;ue.fn.extend({prop:function(e,t){return Oe(this,ue.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ue.propFix[e]||e]})}}),ue.extend({prop:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&ue.isXMLDoc(e)||(t=ue.propFix[t]||t,i=ue.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ue.find.attr(e,\"tabindex\");return t?parseInt(t,10):pt.test(e.nodeName)||mt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),oe.optSelected||(ue.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ue.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){ue.propFix[this.toLowerCase()]=this});var gt=/[\\t\\r\\n\\f]/g;ue.fn.extend({addClass:function(e){var t,n,r,i,a,s,o,c=0;if(ue.isFunction(e))return this.each(function(t){ue(this).addClass(e.call(this,t,U(this)))});if(\"string\"==typeof e&&e)for(t=e.match(xe)||[];n=this[c++];)if(i=U(n),r=1===n.nodeType&&(\" \"+i+\" \").replace(gt,\" \")){for(s=0;a=t[s++];)r.indexOf(\" \"+a+\" \")<0&&(r+=a+\" \");o=ue.trim(r),i!==o&&n.setAttribute(\"class\",o)}return this},removeClass:function(e){var t,n,r,i,a,s,o,c=0;if(ue.isFunction(e))return this.each(function(t){ue(this).removeClass(e.call(this,t,U(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof e&&e)for(t=e.match(xe)||[];n=this[c++];)if(i=U(n),r=1===n.nodeType&&(\" \"+i+\" \").replace(gt,\" \")){for(s=0;a=t[s++];)for(;r.indexOf(\" \"+a+\" \")>-1;)r=r.replace(\" \"+a+\" \",\" \");o=ue.trim(r),i!==o&&n.setAttribute(\"class\",o)}return this},toggleClass:function(e,t){var n=typeof e;return\"boolean\"==typeof t&&\"string\"===n?t?this.addClass(e):this.removeClass(e):ue.isFunction(e)?this.each(function(n){ue(this).toggleClass(e.call(this,n,U(this),t),t)}):this.each(function(){var t,r,i,a;if(\"string\"===n)for(r=0,i=ue(this),a=e.match(xe)||[];t=a[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&\"boolean\"!==n||(t=U(this),t&&Fe.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||e===!1?\"\":Fe.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+U(n)+\" \").replace(gt,\" \").indexOf(t)>-1)return!0;return!1}});var vt=/\\r/g,yt=/[\\x20\\t\\r\\n\\f]+/g;ue.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=ue.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,ue(this).val()):e,null==i?i=\"\":\"number\"==typeof i?i+=\"\":ue.isArray(i)&&(i=ue.map(i,function(e){return null==e?\"\":e+\"\"})),t=ue.valHooks[this.type]||ue.valHooks[this.nodeName.toLowerCase()],t&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))});if(i)return t=ue.valHooks[i.type]||ue.valHooks[i.nodeName.toLowerCase()],t&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:(n=i.value,\"string\"==typeof n?n.replace(vt,\"\"):null==n?\"\":n)}}}),ue.extend({valHooks:{option:{get:function(e){var t=ue.find.attr(e,\"value\");return null!=t?t:ue.trim(ue.text(e)).replace(yt,\" \")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,a=\"select-one\"===e.type||i<0,s=a?null:[],o=a?i+1:r.length,c=i<0?o:a?i:0;c<o;c++)if(n=r[c],(n.selected||c===i)&&(oe.optDisabled?!n.disabled:null===n.getAttribute(\"disabled\"))&&(!n.parentNode.disabled||!ue.nodeName(n.parentNode,\"optgroup\"))){if(t=ue(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,a=ue.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=ue.inArray(ue.valHooks.option.get(r),a)>-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),ue.each([\"radio\",\"checkbox\"],function(){ue.valHooks[this]={set:function(e,t){if(ue.isArray(t))return e.checked=ue.inArray(ue(e).val(),t)>-1}},oe.checkOn||(ue.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})});var bt=/^(?:focusinfocus|focusoutblur)$/;ue.extend(ue.event,{trigger:function(e,t,r,i){var a,s,o,c,u,l,f,h=[r||Z],d=se.call(e,\"type\")?e.type:e,p=se.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(s=o=r=r||Z,3!==r.nodeType&&8!==r.nodeType&&!bt.test(d+ue.event.triggered)&&(d.indexOf(\".\")>-1&&(p=d.split(\".\"),d=p.shift(),p.sort()),u=d.indexOf(\":\")<0&&\"on\"+d,e=e[ue.expando]?e:new ue.Event(d,\"object\"==typeof e&&e),e.isTrigger=i?2:3,e.namespace=p.join(\".\"),e.rnamespace=e.namespace?new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:ue.makeArray(t,[e]),f=ue.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,t)!==!1)){if(!i&&!f.noBubble&&!ue.isWindow(r)){for(c=f.delegateType||d,bt.test(c+d)||(s=s.parentNode);s;s=s.parentNode)h.push(s),o=s;o===(r.ownerDocument||Z)&&h.push(o.defaultView||o.parentWindow||n)}for(a=0;(s=h[a++])&&!e.isPropagationStopped();)e.type=a>1?c:f.bindType||d,l=(Fe.get(s,\"events\")||{})[e.type]&&Fe.get(s,\"handle\"),l&&l.apply(s,t),l=u&&s[u],l&&l.apply&&Ne(s)&&(e.result=l.apply(s,t),e.result===!1&&e.preventDefault());return e.type=d,i||e.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),t)!==!1||!Ne(r)||u&&ue.isFunction(r[d])&&!ue.isWindow(r)&&(o=r[u],o&&(r[u]=null),ue.event.triggered=d,r[d](),ue.event.triggered=void 0,o&&(r[u]=o)),e.result}},simulate:function(e,t,n){var r=ue.extend(new ue.Event,n,{type:e,isSimulated:!0});ue.event.trigger(r,null,t)}}),ue.fn.extend({trigger:function(e,t){return this.each(function(){ue.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ue.event.trigger(e,t,n,!0)}}),ue.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(e,t){ue.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ue.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),oe.focusin=\"onfocusin\"in n,oe.focusin||ue.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){ue.event.simulate(t,e.target,ue.event.fix(e))};ue.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Fe.access(r,t);i||r.addEventListener(e,n,!0),Fe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)-1;i?Fe.access(r,t,i):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var wt=n.location,St=ue.now(),Rt=/\\?/;ue.parseJSON=function(e){return JSON.parse(e+\"\")},ue.parseXML=function(e){var t;if(!e||\"string\"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,\"text/xml\")}catch(e){t=void 0}return t&&!t.getElementsByTagName(\"parsererror\").length||ue.error(\"Invalid XML: \"+e),t};var _t=/#.*$/,Pt=/([?&])_=[^&]*/,xt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,jt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ot=/^(?:GET|HEAD)$/,Nt=/^\\/\\//,Ft={},It={},Et=\"*/\".concat(\"*\"),Tt=Z.createElement(\"a\");Tt.href=wt.href,ue.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:\"GET\",isLocal:jt.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Et,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":ue.parseJSON,\"text xml\":ue.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?z(z(e,ue.ajaxSettings),t):z(ue.ajaxSettings,e)},ajaxPrefilter:V(Ft),ajaxTransport:V(It),ajax:function(e,t){function r(e,t,r,o){var u,f,y,b,S,_=t;2!==w&&(w=2,c&&n.clearTimeout(c),i=void 0,s=o||\"\",R.readyState=e>0?4:0,u=e>=200&&e<300||304===e,r&&(b=K(h,R,r)),b=J(h,b,R,u),u?(h.ifModified&&(S=R.getResponseHeader(\"Last-Modified\"),S&&(ue.lastModified[a]=S),S=R.getResponseHeader(\"etag\"),S&&(ue.etag[a]=S)),204===e||\"HEAD\"===h.type?_=\"nocontent\":304===e?_=\"notmodified\":(_=b.state,f=b.data,y=b.error,u=!y)):(y=_,!e&&_||(_=\"error\",e<0&&(e=0))),R.status=e,R.statusText=(t||_)+\"\",u?m.resolveWith(d,[f,_,R]):m.rejectWith(d,[R,_,y]),R.statusCode(v),v=void 0,l&&p.trigger(u?\"ajaxSuccess\":\"ajaxError\",[R,h,u?f:y]),g.fireWith(d,[R,_]),l&&(p.trigger(\"ajaxComplete\",[R,h]),--ue.active||ue.event.trigger(\"ajaxStop\")))}\"object\"==typeof e&&(t=e,e=void 0),t=t||{};var i,a,s,o,c,u,l,f,h=ue.ajaxSetup({},t),d=h.context||h,p=h.context&&(d.nodeType||d.jquery)?ue(d):ue.event,m=ue.Deferred(),g=ue.Callbacks(\"once memory\"),v=h.statusCode||{},y={},b={},w=0,S=\"canceled\",R={readyState:0,getResponseHeader:function(e){var t;if(2===w){if(!o)for(o={};t=xt.exec(s);)o[t[1].toLowerCase()]=t[2];t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===w?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return w||(e=b[n]=b[n]||e,y[e]=t),this},overrideMimeType:function(e){return w||(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(w<2)for(t in e)v[t]=[v[t],e[t]];else R.always(e[R.status]);return this},abort:function(e){var t=e||S;return i&&i.abort(t),r(0,t),this}};if(m.promise(R).complete=g.add,R.success=R.done,R.error=R.fail,h.url=((e||h.url||wt.href)+\"\").replace(_t,\"\").replace(Nt,wt.protocol+\"//\"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=ue.trim(h.dataType||\"*\").toLowerCase().match(xe)||[\"\"],null==h.crossDomain){u=Z.createElement(\"a\");try{u.href=h.url,u.href=u.href,h.crossDomain=Tt.protocol+\"//\"+Tt.host!=u.protocol+\"//\"+u.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&\"string\"!=typeof h.data&&(h.data=ue.param(h.data,h.traditional)),$(Ft,h,t,R),2===w)return R;l=ue.event&&h.global,l&&0===ue.active++&&ue.event.trigger(\"ajaxStart\"),h.type=h.type.toUpperCase(),h.hasContent=!Ot.test(h.type),a=h.url,h.hasContent||(h.data&&(a=h.url+=(Rt.test(a)?\"&\":\"?\")+h.data,delete h.data),h.cache===!1&&(h.url=Pt.test(a)?a.replace(Pt,\"$1_=\"+St++):a+(Rt.test(a)?\"&\":\"?\")+\"_=\"+St++)),h.ifModified&&(ue.lastModified[a]&&R.setRequestHeader(\"If-Modified-Since\",ue.lastModified[a]),ue.etag[a]&&R.setRequestHeader(\"If-None-Match\",ue.etag[a])),(h.data&&h.hasContent&&h.contentType!==!1||t.contentType)&&R.setRequestHeader(\"Content-Type\",h.contentType),R.setRequestHeader(\"Accept\",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+(\"*\"!==h.dataTypes[0]?\", \"+Et+\"; q=0.01\":\"\"):h.accepts[\"*\"]);for(f in h.headers)R.setRequestHeader(f,h.headers[f]);if(h.beforeSend&&(h.beforeSend.call(d,R,h)===!1||2===w))return R.abort();S=\"abort\";for(f in{success:1,error:1,complete:1})R[f](h[f]);if(i=$(It,h,t,R)){if(R.readyState=1,l&&p.trigger(\"ajaxSend\",[R,h]),2===w)return R;h.async&&h.timeout>0&&(c=n.setTimeout(function(){R.abort(\"timeout\")},h.timeout));try{w=1,i.send(y,r)}catch(e){if(!(w<2))throw e;r(-1,e)}}else r(-1,\"No Transport\");return R},getJSON:function(e,t,n){return ue.get(e,t,n,\"json\")},getScript:function(e,t){return ue.get(e,void 0,t,\"script\")}}),ue.each([\"get\",\"post\"],function(e,t){ue[t]=function(e,n,r,i){return ue.isFunction(n)&&(i=i||r,r=n,n=void 0),ue.ajax(ue.extend({url:e,type:t,dataType:i,data:n,success:r},ue.isPlainObject(e)&&e))}}),ue._evalUrl=function(e){return ue.ajax({url:e,type:\"GET\",dataType:\"script\",async:!1,global:!1,throws:!0})},ue.fn.extend({wrapAll:function(e){var t;return ue.isFunction(e)?this.each(function(t){ue(this).wrapAll(e.call(this,t))}):(this[0]&&(t=ue(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return ue.isFunction(e)?this.each(function(t){ue(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ue(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ue.isFunction(e);return this.each(function(n){ue(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ue.nodeName(this,\"body\")||ue(this).replaceWith(this.childNodes)}).end()}}),ue.expr.filters.hidden=function(e){return!ue.expr.filters.visible(e)},ue.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var Ct=/%20/g,kt=/\\[\\]$/,At=/\\r?\\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,Lt=/^(?:input|select|textarea|keygen)/i;ue.param=function(e,t){var n,r=[],i=function(e,t){t=ue.isFunction(t)?t():null==t?\"\":t,r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(t)};if(void 0===t&&(t=ue.ajaxSettings&&ue.ajaxSettings.traditional),ue.isArray(e)||e.jquery&&!ue.isPlainObject(e))ue.each(e,function(){i(this.name,this.value)});else for(n in e)X(n,e[n],t,i);return r.join(\"&\").replace(Ct,\"+\")},ue.fn.extend({serialize:function(){return ue.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ue.prop(this,\"elements\");return e?ue.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ue(this).is(\":disabled\")&&Lt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!Le.test(e))}).map(function(e,t){var n=ue(this).val();return null==n?null:ue.isArray(n)?ue.map(n,function(e){return{name:t.name,value:e.replace(At,\"\\r\\n\")}}):{name:t.name,value:n.replace(At,\"\\r\\n\")}}).get()}}),ue.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ht={0:200,1223:204},Mt=ue.ajaxSettings.xhr();oe.cors=!!Mt&&\"withCredentials\"in Mt,oe.ajax=Mt=!!Mt,ue.ajaxTransport(function(e){var t,r;if(oe.cors||Mt&&!e.crossDomain)return{send:function(i,a){var s,o=e.xhr();if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(s in e.xhrFields)o[s]=e.xhrFields[s];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\");for(s in i)o.setRequestHeader(s,i[s]);t=function(e){return function(){t&&(t=r=o.onload=o.onerror=o.onabort=o.onreadystatechange=null,\"abort\"===e?o.abort():\"error\"===e?\"number\"!=typeof o.status?a(0,\"error\"):a(o.status,o.statusText):a(Ht[o.status]||o.status,o.statusText,\"text\"!==(o.responseType||\"text\")||\"string\"!=typeof o.responseText?{binary:o.response}:{text:o.responseText},o.getAllResponseHeaders()))}},o.onload=t(),r=o.onerror=t(\"error\"),void 0!==o.onabort?o.onabort=r:o.onreadystatechange=function(){4===o.readyState&&n.setTimeout(function(){t&&r()})},t=t(\"abort\");try{o.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),ue.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return ue.globalEval(e),e}}}),ue.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),ue.ajaxTransport(\"script\",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=ue(\"<script>\").prop({charset:e.scriptCharset,src:e.url}).on(\"load error\",n=function(e){t.remove(),n=null,e&&i(\"error\"===e.type?404:200,e.type)}),Z.head.appendChild(t[0])},abort:function(){n&&n()}}}});var qt=[],Bt=/(=)\\?(?=&|$)|\\?\\?/;ue.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=qt.pop()||ue.expando+\"_\"+St++;return this[e]=!0,e}}),ue.ajaxPrefilter(\"json jsonp\",function(e,t,r){var i,a,s,o=e.jsonp!==!1&&(Bt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Bt.test(e.data)&&\"data\");if(o||\"jsonp\"===e.dataTypes[0])return i=e.jsonpCallback=ue.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,o?e[o]=e[o].replace(Bt,\"$1\"+i):e.jsonp!==!1&&(e.url+=(Rt.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+i),e.converters[\"script json\"]=function(){return s||ue.error(i+\" was not called\"),s[0]},e.dataTypes[0]=\"json\",a=n[i],n[i]=function(){s=arguments},r.always(function(){void 0===a?ue(n).removeProp(i):n[i]=a,e[i]&&(e.jsonpCallback=t.jsonpCallback,qt.push(i)),s&&ue.isFunction(a)&&a(s[0]),s=a=void 0}),\"script\"}),ue.parseHTML=function(e,t,n){if(!e||\"string\"!=typeof e)return null;\"boolean\"==typeof t&&(n=t,t=!1),t=t||Z;var r=ye.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=g([e],t,i),i&&i.length&&ue(i).remove(),ue.merge([],r.childNodes))};var Wt=ue.fn.load;ue.fn.load=function(e,t,n){if(\"string\"!=typeof e&&Wt)return Wt.apply(this,arguments);var r,i,a,s=this,o=e.indexOf(\" \");return o>-1&&(r=ue.trim(e.slice(o)),e=e.slice(0,o)),ue.isFunction(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),s.length>0&&ue.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){a=arguments,s.html(r?ue(\"<div>\").append(ue.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,a||[e.responseText,t,e])})}),this},ue.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){ue.fn[t]=function(e){return this.on(t,e)}}),ue.expr.filters.animated=function(e){return ue.grep(ue.timers,function(t){return e===t.elem}).length},ue.offset={setOffset:function(e,t,n){var r,i,a,s,o,c,u,l=ue.css(e,\"position\"),f=ue(e),h={};\"static\"===l&&(e.style.position=\"relative\"),o=f.offset(),a=ue.css(e,\"top\"),c=ue.css(e,\"left\"),u=(\"absolute\"===l||\"fixed\"===l)&&(a+c).indexOf(\"auto\")>-1,u?(r=f.position(),s=r.top,i=r.left):(s=parseFloat(a)||0,i=parseFloat(c)||0),ue.isFunction(t)&&(t=t.call(e,n,ue.extend({},o))),null!=t.top&&(h.top=t.top-o.top+s),null!=t.left&&(h.left=t.left-o.left+i),\"using\"in t?t.using.call(e,h):f.css(h)}},ue.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ue.offset.setOffset(this,e,t)});var t,n,r=this[0],i={top:0,left:0},a=r&&r.ownerDocument;if(a)return t=a.documentElement,ue.contains(t,r)?(i=r.getBoundingClientRect(),n=G(a),{top:i.top+n.pageYOffset-t.clientTop,left:i.left+n.pageXOffset-t.clientLeft}):i},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return\"fixed\"===ue.css(n,\"position\")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ue.nodeName(e[0],\"html\")||(r=e.offset()),r.top+=ue.css(e[0],\"borderTopWidth\",!0),r.left+=ue.css(e[0],\"borderLeftWidth\",!0)),{top:t.top-r.top-ue.css(n,\"marginTop\",!0),left:t.left-r.left-ue.css(n,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&\"static\"===ue.css(e,\"position\");)e=e.offsetParent;return e||nt})}}),ue.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=\"pageYOffset\"===t;ue.fn[e]=function(r){return Oe(this,function(e,r,i){var a=G(e);return void 0===i?a?a[t]:e[r]:void(a?a.scrollTo(n?a.pageXOffset:i,n?i:a.pageYOffset):e[r]=i)},e,r,arguments.length)}}),ue.each([\"top\",\"left\"],function(e,t){ue.cssHooks[t]=E(oe.pixelPosition,function(e,n){if(n)return n=I(e,t),Ze.test(n)?ue(e).position()[t]+\"px\":n})}),ue.each({Height:\"height\",Width:\"width\"},function(e,t){ue.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,r){ue.fn[r]=function(r,i){var a=arguments.length&&(n||\"boolean\"!=typeof r),s=n||(r===!0||i===!0?\"margin\":\"border\");return Oe(this,function(t,n,r){var i;return ue.isWindow(t)?t.document.documentElement[\"client\"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):void 0===r?ue.css(t,n,s):ue.style(t,n,r,s)},t,a?r:void 0,a,null)}})}),ue.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},size:function(){return this.length}}),ue.fn.andSelf=ue.fn.addBack,r=[],i=function(){return ue}.apply(t,r),!(void 0!==i&&(e.exports=i));var Qt=n.jQuery,Ut=n.$;return ue.noConflict=function(e){return n.$===ue&&(n.$=Ut),e&&n.jQuery===ue&&(n.jQuery=Qt),ue},a||(n.jQuery=n.$=ue),ue})},function(e,t,n){!function(t,n){e.exports=n()}(this,function(){\"use strict\";function e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],0<=t.indexOf(n)||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function h(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function d(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=u(e);if(t){var i=u(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){return!t||\"object\"!=typeof t&&\"function\"!=typeof t?h(e):t}(this,n)}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(r=(s=o.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==o.return||o.return()}finally{if(i)throw a}}return n}}(e,t)||g(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function m(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||g(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function g(e,t){if(e){if(\"string\"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function y(e){return\"function\"==typeof e||Array.isArray(e)||\"[object Object]\"===Object.prototype.toString.call(e)}function b(e,t){if(e===t)return e;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&\"__proto__\"!==n){var r=t[n],i=e[n];void 0!==i&&void 0===r||(y(i)&&y(r)?e[n]=b(i,r):e[n]=\"object\"==typeof(a=r)&&null!==a?b(Array.isArray(a)?[]:{},a):a)}var a;return e}function w(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return w(t[n],e)}):e===t}function S(e){var t=e?S._parseNumbers(e):{};void 0===t.userToken||mr(t.userToken)||console.warn(\"[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\\n  - Format: [a-zA-Z0-9_-]{1,64}\"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var n=this;Object.keys(t).forEach(function(e){var r=-1!==S.PARAMETERS.indexOf(e),i=void 0!==t[e];!r&&i&&(n[e]=t[e])})}function R(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=void 0!==t,a=null===t;if(!a&&t<e||r&&i||!n)return 1;if(!r&&e<t||a&&n||!i)return-1}return 0}function _(e){return Array.isArray(e)?e.filter(Boolean):[]}function P(e,t){if(!Array.isArray(e))return-1;for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}function x(e,t){var n=(t||[]).map(function(e){return e.split(\":\")});return e.reduce(function(e,t){var r=t.split(\":\"),i=fr(n,function(e){return e[0]===r[0]});return 1<r.length||!i?(e[0].push(r[0]),e[1].push(r[1])):(e[0].push(i[0]),e[1].push(i[1])),e},[[],[]])}function j(e){var t={};return e.forEach(function(e,n){t[e]=n}),t}function O(e,t,n){t&&t[n]&&(e.stats=t[n])}function N(e,t,n){var r=t[0];this._rawResults=t;var i=this;Object.keys(r).forEach(function(e){i[e]=r[e]}),Object.keys(n||{}).forEach(function(e){i[e]=n[e]}),this.processingTimeMS=t.reduce(function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS},0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map(function(){return[]}),this.facets=[];var a=e.getRefinedDisjunctiveFacets(),s=j(e.facets),o=j(e.disjunctiveFacets),c=1,u=r.facets||{};Object.keys(u).forEach(function(t){var n=u[t],a=function(e,t){return fr(e,function(e){return-1<(e.attributes||[]).indexOf(t)})}(e.hierarchicalFacets,t);if(a){var c=a.attributes.indexOf(t),l=P(e.hierarchicalFacets,function(e){return e.name===a.name});i.hierarchicalFacets[l][c]={attribute:t,data:n,exhaustive:r.exhaustiveFacetsCount}}else{var f,h=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);h&&(f=o[t],i.disjunctiveFacets[f]={name:t,data:n,exhaustive:r.exhaustiveFacetsCount},O(i.disjunctiveFacets[f],r.facets_stats,t)),d&&(f=s[t],i.facets[f]={name:t,data:n,exhaustive:r.exhaustiveFacetsCount},O(i.facets[f],r.facets_stats,t))}}),this.hierarchicalFacets=_(this.hierarchicalFacets),a.forEach(function(n){var a=t[c],s=a&&a.facets?a.facets:{},u=e.getHierarchicalFacetByName(n);Object.keys(s).forEach(function(t){var n,c=s[t];if(u){n=P(e.hierarchicalFacets,function(e){return e.name===u.name});var l=P(i.hierarchicalFacets[n],function(e){return e.attribute===t});if(-1===l)return;i.hierarchicalFacets[n][l].data=cr({},i.hierarchicalFacets[n][l].data,c)}else{n=o[t];var f=r.facets&&r.facets[t]||{};i.disjunctiveFacets[n]={name:t,data:ur({},c,f),exhaustive:a.exhaustiveFacetsCount},O(i.disjunctiveFacets[n],a.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach(function(r){!i.disjunctiveFacets[n].data[r]&&-1<e.disjunctiveFacetsRefinements[t].indexOf(jr(r))&&(i.disjunctiveFacets[n].data[r]=0)})}}),c++}),e.getRefinedHierarchicalFacets().forEach(function(n){var r=e.getHierarchicalFacetByName(n),a=e._getHierarchicalFacetSeparator(r),s=e.getHierarchicalRefinement(n);if(!(0===s.length||s[0].split(a).length<2)){var o=t[c],u=o&&o.facets?o.facets:{};Object.keys(u).forEach(function(t){var n=u[t],o=P(e.hierarchicalFacets,function(e){return e.name===r.name}),c=P(i.hierarchicalFacets[o],function(e){return e.attribute===t});if(-1!==c){var l={};if(0<s.length){var f=s[0].split(a)[0];l[f]=i.hierarchicalFacets[o][c].data[f]}i.hierarchicalFacets[o][c].data=ur(l,n,i.hierarchicalFacets[o][c].data)}}),c++}}),Object.keys(e.facetsExcludes).forEach(function(t){var n=e.facetsExcludes[t],a=s[t];i.facets[a]={name:t,data:r.facets[t],exhaustive:r.exhaustiveFacetsCount},n.forEach(function(e){i.facets[a]=i.facets[a]||{name:t},i.facets[a].data=i.facets[a].data||{},i.facets[a].data[e]=0})}),this.hierarchicalFacets=this.hierarchicalFacets.map(Rr(e)),this.facets=_(this.facets),this.disjunctiveFacets=_(this.disjunctiveFacets),this._state=e}function F(e,t){var n=fr(e,function(e){return e.name===t});return n&&n.stats}function I(e,t,n,r,i){var a=fr(i,function(e){return e.name===n}),s=a&&a.data&&a.data[r]?a.data[r]:0,o=a&&a.exhaustive||!1;return{type:t,attributeName:n,name:r,\ncount:s,exhaustive:o}}function E(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function T(e){return\"function\"==typeof e}function C(e){return\"object\"==typeof e&&null!==e}function k(e){return void 0===e}function A(e,t){this.main=e,this.fn=t,this.lastResults=null}function D(e,t,n){\"function\"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent(\"JS Helper (3.8.2)\"),this.setClient(e);var r=n||{};r.index=t,this.state=yr.make(r),this.lastResults=null,this._queryId=0,this._lastQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0}function L(e){if(e<0)throw new Error(\"Page requested below 0.\");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function H(){return this.state.page}function M(e,t,n){return new Ar(e,t,n)}function q(e){function t(){for(var t=arguments.length,i=new Array(t),a=0;a<t;a++)i[a]=arguments[a];null===n&&(n=Lr.then(function(){n=null,r?r=!1:e.apply(void 0,i)}))}var n=null,r=!1;return t.wait=function(){if(null===n)throw new Error(\"The deferred function should be called before calling `wait()`\");return n},t.cancel=function(){null!==n&&(r=!0)},t}function B(e){var t=\"string\"==typeof e,n=t?document.querySelector(e):e;if(function(e){return e instanceof HTMLElement||Boolean(e)&&0<e.nodeType}(n))return n;var r=\"Container must be `string` or `HTMLElement`.\";throw t&&(r+=\" Unable to find \".concat(e)),new Error(r)}function W(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function Q(e){return e.filter(function(e,t,n){return n.indexOf(e)===t})}function U(e){var t=e.defaultTemplates,n=e.templates;return o({templatesConfig:e.templatesConfig},function(e,t){var n=1<arguments.length&&void 0!==t?t:{};return Q([].concat(m(Object.keys(e||{})),m(Object.keys(n)))).reduce(function(t,r){var i=e?e[r]:void 0,a=n[r],s=void 0!==a&&a!==i;return t.templates[r]=s?a:i,t.useCustomCompileOptions[r]=s,t},{templates:{},useCustomCompileOptions:{}})}(t,n))}function V(e,t){return e(t={exports:{}},t.exports),t.exports}function $(t){var n=t.templates,r=t.templateKey,a=t.compileOptions,s=t.helpers,c=t.data,u=t.bindEvent,l=n[r];if(\"string\"!=typeof l&&\"function\"!=typeof l)throw new Error(\"Template must be 'string' or 'function', was '\".concat(e(l),\"' (key: \").concat(r,\")\"));if(\"function\"==typeof l)return l(c,u);var f=function(e,t,n){var r=0<arguments.length&&void 0!==e?e:{},a=1<arguments.length?t:void 0,s=2<arguments.length?n:void 0;return Object.keys(r).reduce(function(e,t){return o(o({},e),{},i({},t,function(){var e=this;return function(n){return r[t].call(s,n,function(t){return $r.compile(t,a).render(e)})}}))},{})}(s,a,c);return $r.compile(l,a).render(o(o({},c),{},{helpers:f})).replace(/[ \\n\\r\\t\\f\\xA0]+/g,function(e){return e.replace(/(^|\\xA0+)[^\\xA0]+/g,\"$1 \")}).trim()}function z(e,t){for(var n,r=0;r<e.length;r++)if(t(n=e[r],r,e))return n}function K(e){return\"number\"==typeof e&&e<0||\"string\"==typeof e?String(e).replace(/^-/,\"\\\\-\"):e}function J(e,t,n,r,i){var a,s=4<arguments.length&&void 0!==i?i:[],o={type:t,attribute:n,name:r,escapedValue:K(r)},c=z(s,function(e){return e.name===n});return\"hierarchical\"===t?function(){for(var t=e.getHierarchicalFacetByName(n),i=r.split(t.separator),s=function(e){c=c&&c.data&&z(Object.keys(c.data).map(function(e){return function(t){return e[t]}}(c.data)),function(t){return t.name===i[e]})},o=0;void 0!==c&&o<i.length;++o)s(o);a=c&&c.count}():a=c&&c.data&&c.data[o.name],void 0!==a&&(o.count=a),c&&void 0!==c.exhaustive&&(o.exhaustive=c.exhaustive),o}function X(e,t,n){var r=2<arguments.length&&void 0!==n&&n,i=[],a=t.facetsRefinements,s=void 0===a?{}:a,o=t.facetsExcludes,c=void 0===o?{}:o,u=t.disjunctiveFacetsRefinements,l=void 0===u?{}:u,f=t.hierarchicalFacetsRefinements,h=void 0===f?{}:f,d=t.numericRefinements,p=void 0===d?{}:d,m=t.tagRefinements,g=void 0===m?[]:m;return Object.keys(s).forEach(function(n){s[n].forEach(function(r){i.push(J(t,\"facet\",n,r,e.facets))})}),Object.keys(c).forEach(function(e){c[e].forEach(function(t){i.push({type:\"exclude\",attribute:e,name:t,exclude:!0})})}),Object.keys(l).forEach(function(n){l[n].forEach(function(r){i.push(J(t,\"disjunctive\",n,function(e){return\"string\"==typeof e?e.replace(/^\\\\-/,\"-\"):e}(r),e.disjunctiveFacets))})}),Object.keys(h).forEach(function(n){h[n].forEach(function(r){i.push(J(t,\"hierarchical\",n,r,e.hierarchicalFacets))})}),Object.keys(p).forEach(function(e){var t=p[e];Object.keys(t).forEach(function(n){var r=n,a=t[r];(Array.isArray(a)?a:[a]).forEach(function(t){i.push({type:\"numeric\",attribute:e,name:\"\".concat(t),numericValue:t,operator:r})})})}),g.forEach(function(e){i.push({type:\"tag\",attribute:\"_tags\",name:e})}),r&&t.query&&t.query.trim()&&i.push({attribute:\"query\",type:\"query\",name:t.query,query:t.query}),i}function G(e){var t=e.helper,n=e.attributesToClear,r=void 0===n?[]:n,i=t.state.setPage(0);return i=r.reduce(function(e,t){return i.isNumericRefined(t)?e.removeNumericRefinement(t):i.isHierarchicalFacet(t)?e.removeHierarchicalFacetRefinement(t):i.isDisjunctiveFacet(t)?e.removeDisjunctiveFacetRefinement(t):i.isConjunctiveFacet(t)?e.removeFacetRefinement(t):e},i),-1!==r.indexOf(\"query\")&&(i=i.setQuery(\"\")),i}function Y(e,t){if(void 0===e||\"function\"!=typeof e)throw new Error(\"The render function is not valid (received type \".concat(function(e){return Object.prototype.toString.call(e).slice(8,-1)}(e),\").\\n\\n\").concat(t))}function Z(){}function ee(e,t){return e}function te(e,t){return(Array.isArray(t)?t:t.split(\".\")).reduce(function(e,t){return e&&e[t]},e)}function ne(e){return\"number\"==typeof e&&isFinite(e)}function re(t){if(!function(t){return\"object\"===e(t)&&null!==t}(t)||\"[object Object]\"!==function(e){return null===e?void 0===e?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(e)}(t))return!1;if(null===Object.getPrototypeOf(t))return!0;for(var n=t;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(t)===n}function ie(e){var t=e.start,n=void 0===t?0:t,r=e.end,i=e.step,a=void 0===i?1:i,s=0===a?1:a,o=Math.round((r-n)/s);return m(Array(o)).map(function(e,t){return n+t*s})}function ae(e){return e!==Object(e)}function se(e,t){if(e===t)return!0;if(ae(e)||ae(t)||\"function\"==typeof e||\"function\"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(!(i in t))return!1;if(!se(e[i],t[i]))return!1}return!0}function oe(e){return function(e){return e&&Jr.test(e)?e.replace(Kr,function(e){return zr[e]}):e}(e).replace(new RegExp(Zr.highlightPreTag,\"g\"),ei.highlightPreTag).replace(new RegExp(Zr.highlightPostTag,\"g\"),ei.highlightPostTag)}function ce(e){return re(e)&&\"string\"!=typeof e.value?Object.keys(e).reduce(function(t,n){return o(o({},t),{},i({},n,ce(e[n])))},{}):Array.isArray(e)?e.map(ce):o(o({},e),{},{value:oe(e.value)})}function ue(e){return void 0===e.__escaped&&((e=e.map(function(e){var t=a({},e);return t._highlightResult&&(t._highlightResult=ce(t._highlightResult)),t._snippetResult&&(t._snippetResult=ce(t._snippetResult)),t})).__escaped=!0),e}function le(e){var t=ei.highlightPreTag,n=ei.highlightPostTag;return e.map(function(e){return e.isHighlighted?t+e.value+n:e.value}).join(\"\")}function fe(e){var t=ei.highlightPostTag,n=ei.highlightPreTag,r=e.split(n),i=r.shift(),a=i?[{value:i,isHighlighted:!1}]:[];return r.forEach(function(e){var n=e.split(t);a.push({value:n[0],isHighlighted:!0}),\"\"!==n[1]&&a.push({value:n[1],isHighlighted:!1})}),a}function he(e,t){var n,r,i=e[t],a=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,s=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return ti.test(function(e){return e&&Yr.test(e)?e.replace(Gr,function(e){return Xr[e]}):e}(i.value))||s!==a?i.isHighlighted:s}function de(e){return e.some(function(e){return e.isHighlighted})?e.map(function(t,n){return o(o({},t),{},{isHighlighted:!he(e,n)})}):e.map(function(e){return o(o({},e),{},{isHighlighted:!1})})}function pe(e,t){return e.setQueryParameters({hierarchicalFacets:t.hierarchicalFacets.reduce(function(e,t){var n=function(e,t){if(!Array.isArray(e))return-1;for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}(e,function(e){return e.name===t.name});if(-1===n)return e.concat(t);var r=e.slice();return r.splice(n,1,t),r},e.hierarchicalFacets)})}function me(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){var n=function(e,t){return e.setQueryParameters({hierarchicalFacetsRefinements:o(o({},e.hierarchicalFacetsRefinements),t.hierarchicalFacetsRefinements)})}(e,t);return function(e,t){t.facets,t.disjunctiveFacets,t.facetsRefinements,t.facetsExcludes,t.disjunctiveFacetsRefinements,t.numericRefinements,t.tagRefinements,t.hierarchicalFacets,t.hierarchicalFacetsRefinements,t.ruleContexts;var n=f(t,[\"facets\",\"disjunctiveFacets\",\"facetsRefinements\",\"facetsExcludes\",\"disjunctiveFacetsRefinements\",\"numericRefinements\",\"tagRefinements\",\"hierarchicalFacets\",\"hierarchicalFacetsRefinements\",\"ruleContexts\"]);return e.setQueryParameters(n)}(function(e,t){return t.facets.reduce(function(e,t){return e.addFacet(t)},e)}(function(e,t){var n=Q([].concat(e.ruleContexts).concat(t.ruleContexts).filter(Boolean));return 0<n.length?e.setQueryParameters({ruleContexts:n}):e}(function(e,t){return t.disjunctiveFacets.reduce(function(e,t){return e.addDisjunctiveFacet(t)},e)}(function(e,t){return e.setQueryParameters({facetsRefinements:o(o({},e.facetsRefinements),t.facetsRefinements)})}(function(e,t){return e.setQueryParameters({facetsExcludes:o(o({},e.facetsExcludes),t.facetsExcludes)})}(function(e,t){return e.setQueryParameters({disjunctiveFacetsRefinements:o(o({},e.disjunctiveFacetsRefinements),t.disjunctiveFacetsRefinements)})}(function(e,t){return e.setQueryParameters({numericRefinements:o(o({},e.numericRefinements),t.numericRefinements)})}(function(e,t){return t.tagRefinements.reduce(function(e,t){return e.addTagRefinement(t)},e)}(pe(n,t),t),t),t),t),t),t),t),t),t)})}function ge(e){return Array.isArray(e)?e:[e]}function ve(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.map(function(e){return function(e){var t=e.name,n=e.connector;return[\"https://www.algolia.com/doc/api-reference/widgets/\",t,\"/js/\",void 0!==n&&n?\"#connector\":\"\"].join(\"\")}(e)}).join(\", \");return function(e){return[e,\"See documentation: \".concat(r)].filter(Boolean).join(\"\\n\\n\")}}function ye(e){return Array.isArray(e)?function(e){var t=p(e,1)[0],n=p(t=void 0===t?[void 0,void 0,void 0,void 0]:t,4),r=n[0],i=n[1],a=n[2],s=n[3];if(!(r&&i&&a&&s))throw new Error('Invalid value for \"insideBoundingBox\" parameter: ['.concat(e,\"]\"));return{northEast:{lat:r,lng:i},southWest:{lat:a,lng:s}}}(e):function(e){var t=p(e.split(\",\").map(parseFloat),4),n=t[0],r=t[1],i=t[2],a=t[3];if(!(n&&r&&i&&a))throw new Error('Invalid value for \"insideBoundingBox\" parameter: \"'.concat(e,'\"'));return{northEast:{lat:n,lng:r},southWest:{lat:i,lng:a}}}(e)}function be(e,t,n){return e.map(function(e,r){return o(o({},e),{},{__position:n*t+r+1})})}function we(e,t){return t?e.map(function(e){return o(o({},e),{},{__queryID:t})}):e}function Se(t){var n=t.instantSearchInstance,r=t.helper,i=t.attribute,a=t.widgetType;return function(){for(var t=arguments.length,s=new Array(t),o=0;o<t;o++)s[o]=arguments[o];var c=s[0],u=s[1],l=s[2],f=void 0===l?\"Filter Applied\":l;1===s.length&&\"object\"===e(s[0])?n.sendEventToInsights(s[0]):\"click\"!==c||2!==s.length&&3!==s.length||function(e,t,n){return e.state.isHierarchicalFacet(t)?e.state.isHierarchicalFacetRefined(t,n):e.state.isConjunctiveFacet(t)?e.state.isFacetRefined(t,n):e.state.isDisjunctiveFacetRefined(t,n)}(r,i,u)||n.sendEventToInsights({insightsMethod:\"clickedFilters\",widgetType:a,eventType:c,payload:{eventName:f,index:r.getIndex(),filters:[\"\".concat(i,\":\").concat(u)]},attribute:i})}}function Re(e){return btoa(encodeURIComponent(JSON.stringify(e)))}function _e(e){return JSON.parse(decodeURIComponent(atob(e)))}function Pe(t){var n=t.index,r=t.widgetType,i=(t.methodName,t.args);if(1===i.length&&\"object\"===e(i[0]))return[i[0]];var a=i[0],s=i[1],o=i[2];if(!s)return[];if((\"click\"===a||\"conversion\"===a)&&!o)return[];var c=Array.isArray(s)?function(e){return e.slice()}(s):[s];if(0===c.length)return[];var u=c[0].__queryID,l=function(e,t){for(var n=1<arguments.length&&void 0!==t?t:20,r=[],i=0;i<Math.ceil(e.length/n);i++)r.push(e.slice(i*n,(i+1)*n));return r}(c),f=l.map(function(e){return e.map(function(e){return e.objectID})}),h=l.map(function(e){return e.map(function(e){return e.__position})});return\"view\"===a?l.map(function(e,t){return{insightsMethod:\"viewedObjectIDs\",widgetType:r,eventType:a,payload:{eventName:o||\"Hits Viewed\",index:n,objectIDs:f[t]},hits:e}}):\"click\"===a?l.map(function(e,t){return{insightsMethod:\"clickedObjectIDsAfterSearch\",widgetType:r,eventType:a,payload:{eventName:o,index:n,queryID:u,objectIDs:f[t],positions:h[t]},hits:e}}):\"conversion\"===a?l.map(function(e,t){return{insightsMethod:\"convertedObjectIDsAfterSearch\",widgetType:r,eventType:a,payload:{eventName:o,index:n,queryID:u,objectIDs:f[t]},hits:e}}):[]}function xe(e){var t=e.instantSearchInstance,n=e.index,r=e.widgetType;return function(){for(var e=arguments.length,i=new Array(e),a=0;a<e;a++)i[a]=arguments[a];Pe({widgetType:r,index:n,methodName:\"sendEvent\",args:i}).forEach(function(e){return t.sendEventToInsights(e)})}}function je(e){var t=e.index,n=e.widgetType;return function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];var a=Pe({widgetType:n,index:t,methodName:\"bindEvent\",args:r});return a.length?\"data-insights-event=\".concat(Re(a)):\"\"}}function Oe(e,t){if(!e)return null;var n=e.numericRefinements[t],r=[];return Object.keys(n).filter(function(e){return Array.isArray(n[e])&&0<n[e].length}).forEach(function(e){n[e].forEach(function(n){r.push(\"\".concat(t).concat(e).concat(n))})}),r}function Ne(e,t){var n=null;return function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return new Promise(function(r,a){n&&clearTimeout(n),n=setTimeout(function(){n=null,Promise.resolve(e.apply(void 0,i)).then(r).catch(a)},t)})}}function Fe(e,t){var n,r=null===(n=e.getWidgetRenderState)||void 0===n?void 0:n.call(e,t),i=null;if(r&&r.widgetParams){var a=r.widgetParams;a.attribute?i=a.attribute:Array.isArray(a.attributes)&&(i=a.attributes[0])}if(\"string\"!=typeof i)throw new Error(\"Could not find the attribute of the widget:\\n\\n\".concat(JSON.stringify(e),\"\\n\\nPlease check whether the widget's getWidgetRenderState returns widgetParams.attribute correctly.\"));return i}function Ie(e,t){var n=(1<arguments.length&&void 0!==t?t:{fallback:function(){}}).fallback;return\"undefined\"==typeof window?n():e({window:window})}function Ee(e){return\"ais.index\"===e.$$type}function Te(e,t){var n=t.state,r=t.isPageReset,i=t._uiState;n!==e.state&&(e.state=n,e.emit(\"change\",{state:e.state,results:e.lastResults,isPageReset:r,_uiState:i}))}function Ce(e,t,n){var r=2<arguments.length&&void 0!==n?n:{};return e.reduce(function(e,n){return Ee(n)?e:n.getWidgetUiState||n.getWidgetState?n.getWidgetUiState?n.getWidgetUiState(e,t):n.getWidgetState(e,t):e},r)}function ke(e,t){var n=t.initialSearchParameters,r=f(t,[\"initialSearchParameters\"]);return e.filter(function(e){return!Ee(e)}).reduce(function(e,t){return t.getWidgetSearchParameters?t.getWidgetSearchParameters(e,r):e},n)}function Ae(e){if(void 0===e||void 0===e.indexName)throw new Error(ri(\"The `indexName` option is required.\"));var t=e.indexName,n=e.indexId,r=void 0===n?t:n,a=[],s={},c=null,u=null,l=null,f=null;return{$$type:\"ais.index\",$$widgetType:\"ais.index\",getIndexName:function(){return t},getIndexId:function(){return r},getHelper:function(){return l},getResults:function(){return f&&f.lastResults},getScopedResults:function(){var e=this.getParent();return function e(t){return t.filter(Ee).reduce(function(t,n){return t.concat.apply(t,[{indexId:n.getIndexId(),results:n.getResults(),helper:n.getHelper()}].concat(m(e(n.getWidgets()))))},[])}(e?e.getWidgets():[this])},getParent:function(){return u},createURL:function(e){return c._createURL(i({},r,Ce(a,{searchParameters:e,helper:l})))},getWidgets:function(){return a},addWidgets:function(e){var t=this;if(!Array.isArray(e))throw new Error(ri(\"The `addWidgets` method expects an array of widgets.\"));if(e.some(function(e){return\"function\"!=typeof e.init&&\"function\"!=typeof e.render}))throw new Error(ri(\"The widget definition expects a `render` and/or an `init` method.\"));return a=a.concat(e),c&&Boolean(e.length)&&(Te(l,{state:ke(a,{uiState:s,initialSearchParameters:l.state}),_uiState:s}),e.forEach(function(e){e.getRenderState&&De({renderState:e.getRenderState(c.renderState[t.getIndexId()]||{},{uiState:c._initialUiState,helper:t.getHelper(),parent:t,instantSearchInstance:c,state:l.state,renderState:c.renderState,templatesConfig:c.templatesConfig,createURL:t.createURL,scopedResults:[],searchMetadata:{isSearchStalled:c._isSearchStalled}}),instantSearchInstance:c,parent:t})}),e.forEach(function(e){e.init&&e.init({helper:l,parent:t,uiState:c._initialUiState,instantSearchInstance:c,state:l.state,renderState:c.renderState,templatesConfig:c.templatesConfig,createURL:t.createURL,scopedResults:[],searchMetadata:{isSearchStalled:c._isSearchStalled}})}),c.scheduleSearch()),this},removeWidgets:function(e){var t=this;if(!Array.isArray(e))throw new Error(ri(\"The `removeWidgets` method expects an array of widgets.\"));if(e.some(function(e){return\"function\"!=typeof e.dispose}))throw new Error(ri(\"The widget definition expects a `dispose` method.\"));if(a=a.filter(function(t){return-1===e.indexOf(t)}),c&&Boolean(e.length)){var n=e.reduce(function(e,n){return n.dispose({helper:l,state:e,parent:t})||e},l.state);s=Ce(a,{searchParameters:n,helper:l}),l.setState(ke(a,{uiState:s,initialSearchParameters:n})),a.length&&c.scheduleSearch()}return this},init:function(e){var n,i=this,o=e.instantSearchInstance,h=e.parent,d=e.uiState;if(null===l){c=o,u=h,s=d[r]||{};var p=o.mainHelper,g=ke(a,{uiState:s,initialSearchParameters:new Dr.SearchParameters({index:t})});(l=Dr({},g.index,g)).search=function(){return o.onStateChange?(o.onStateChange({uiState:o.mainIndex.getWidgetUiState({}),setUiState:o.setUiState.bind(o)}),p):p.search()},l.searchWithoutTriggeringOnStateChange=function(){return p.search()},l.searchForFacetValues=function(e,t,n,r){var i=l.state.setQueryParameters(r);return p.searchForFacetValues(e,t,n,i)},f=p.derive(function(){return me.apply(void 0,m(function(e){for(var t=e.getParent(),n=[e.getHelper().state];null!==t;)n=[t.getHelper().state].concat(n),t=t.getParent();return n}(i)))});var v=null===(n=o._initialResults)||void 0===n?void 0:n[this.getIndexId()];if(v){var y=new Dr.SearchResults(new Dr.SearchParameters(v.state),v.results);f.lastResults=y,l.lastResults=y}l.on(\"change\",function(e){e.isPageReset&&!function e(t){var n=t.filter(Ee);0!==n.length&&n.forEach(function(t){var n=t.getHelper();Te(n,{state:n.state.resetPage(),isPageReset:!0}),e(t.getWidgets())})}(a)}),f.on(\"search\",function(){o.scheduleStalledRender()}),f.on(\"result\",function(e){var t=e.results;o.scheduleRender(),l.lastResults=t}),a.forEach(function(e){e.getRenderState&&De({renderState:e.getRenderState(o.renderState[i.getIndexId()]||{},{uiState:d,helper:l,parent:i,instantSearchInstance:o,state:l.state,renderState:o.renderState,templatesConfig:o.templatesConfig,createURL:i.createURL,scopedResults:[],searchMetadata:{isSearchStalled:o._isSearchStalled}}),instantSearchInstance:o,parent:i})}),a.forEach(function(e){e.init&&e.init({uiState:d,helper:l,parent:i,instantSearchInstance:o,state:l.state,renderState:o.renderState,templatesConfig:o.templatesConfig,createURL:i.createURL,scopedResults:[],searchMetadata:{isSearchStalled:o._isSearchStalled}})}),l.on(\"change\",function(e){var t=e.state,n=e._uiState;s=Ce(a,{searchParameters:t,helper:l},n||{}),o.onStateChange||o.onInternalStateChange()}),v&&o.scheduleRender()}},render:function(e){var t=this,n=e.instantSearchInstance;this.getResults()&&(a.forEach(function(e){e.getRenderState&&De({renderState:e.getRenderState(n.renderState[t.getIndexId()]||{},{helper:t.getHelper(),parent:t,instantSearchInstance:n,results:t.getResults(),scopedResults:t.getScopedResults(),state:t.getResults()._state,renderState:n.renderState,templatesConfig:n.templatesConfig,createURL:t.createURL,searchMetadata:{isSearchStalled:n._isSearchStalled}}),instantSearchInstance:n,parent:t})}),a.forEach(function(e){e.render&&e.render({helper:l,parent:t,instantSearchInstance:n,results:t.getResults(),scopedResults:t.getScopedResults(),state:t.getResults()._state,renderState:n.renderState,templatesConfig:n.templatesConfig,createURL:t.createURL,searchMetadata:{isSearchStalled:n._isSearchStalled}})}))},dispose:function(){var e=this;a.forEach(function(t){t.dispose&&t.dispose({helper:l,state:l.state,parent:e})}),u=c=null,l.removeAllListeners(),l=null,f.detach(),f=null},getWidgetUiState:function(e){return a.filter(Ee).reduce(function(e,t){return t.getWidgetUiState(e)},o(o({},e),{},i({},this.getIndexId(),s)))},getWidgetState:function(e){return this.getWidgetUiState(e)},getWidgetSearchParameters:function(e,t){var n=t.uiState;return ke(a,{uiState:n,initialSearchParameters:e})},refreshUiState:function(){s=Ce(a,{searchParameters:this.getHelper().state,helper:this.getHelper()},s)}}}function De(e){var t=e.renderState,n=e.instantSearchInstance,r=e.parent,a=r?r.getIndexId():n.mainIndex.getIndexId();n.renderState=o(o({},n.renderState),{},i({},a,o(o({},n.renderState[a]),t)))}function Le(e){return function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=t.descendantName,r=t.modifierName,i=n?\"-\".concat(n):\"\",a=r?\"--\".concat(r):\"\";return\"\".concat(\"ais\",\"-\").concat(e).concat(i).concat(a)}}function He(e){var t=e.attribute,n=e.highlightedTagName,r=void 0===n?\"mark\":n,i=e.hit,a=e.cssClasses,s=void 0===a?{}:a,o=(te(i._highlightResult,t)||{}).value,c=void 0===o?\"\":o,u=ii({descendantName:\"highlighted\"})+(s.highlighted?\" \".concat(s.highlighted):\"\");return c.replace(new RegExp(ei.highlightPreTag,\"g\"),\"<\".concat(r,' class=\"').concat(u,'\">')).replace(new RegExp(ei.highlightPostTag,\"g\"),\"</\".concat(r,\">\"))}function Me(e){var t=e.attribute,n=e.highlightedTagName,r=void 0===n?\"mark\":n,i=e.hit,a=e.cssClasses,s=void 0===a?{}:a,o=(te(i._highlightResult,t)||{}).value,c=void 0===o?\"\":o,u=ai({descendantName:\"highlighted\"})+(s.highlighted?\" \".concat(s.highlighted):\"\");return le(de(fe(c))).replace(new RegExp(ei.highlightPreTag,\"g\"),\"<\".concat(r,' class=\"').concat(u,'\">')).replace(new RegExp(ei.highlightPostTag,\"g\"),\"</\".concat(r,\">\"))}function qe(e){var t=e.attribute,n=e.highlightedTagName,r=void 0===n?\"mark\":n,i=e.hit,a=e.cssClasses,s=void 0===a?{}:a,o=(te(i._snippetResult,t)||{}).value,c=void 0===o?\"\":o,u=si({descendantName:\"highlighted\"})+(s.highlighted?\" \".concat(s.highlighted):\"\");return c.replace(new RegExp(ei.highlightPreTag,\"g\"),\"<\".concat(r,' class=\"').concat(u,'\">')).replace(new RegExp(ei.highlightPostTag,\"g\"),\"</\".concat(r,\">\"))}function Be(e){var t=e.attribute,n=e.highlightedTagName,r=void 0===n?\"mark\":n,i=e.hit,a=e.cssClasses,s=void 0===a?{}:a,o=(te(i._snippetResult,t)||{}).value,c=void 0===o?\"\":o,u=oi({descendantName:\"highlighted\"})+(s.highlighted?\" \".concat(s.highlighted):\"\");return le(de(fe(c))).replace(new RegExp(ei.highlightPreTag,\"g\"),\"<\".concat(r,' class=\"').concat(u,'\">')).replace(new RegExp(ei.highlightPostTag,\"g\"),\"</\".concat(r,\">\"))}function We(t,n){return function(t){var n,r=t.method,i=t.payload;if(\"object\"!==e(i))throw new Error(\"The insights helper expects the payload to be an object.\");try{n=Re(i)}catch(e){throw new Error(\"Could not JSON serialize the payload object.\")}return'data-insights-method=\"'.concat(r,'\" data-insights-payload=\"').concat(n,'\"')}({method:t,payload:n})}function Qe(){return function(e){for(var t=\"\".concat(e,\"=\"),n=document.cookie.split(\";\"),r=0;r<n.length;r++){for(var i=n[r];\" \"===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(t))return i.substring(t.length,i.length)}}(\"_ALGOLIA\")}function Ue(e){return e.configure,f(e,[\"configure\"])}function Ve(){return{stateToRoute:function(e){return Object.keys(e).reduce(function(t,n){return o(o({},t),{},i({},n,Ue(e[n])))},{})},routeToState:function(e){var t=0<arguments.length&&void 0!==e?e:{};return Object.keys(t).reduce(function(e,n){return o(o({},e),{},i({},n,Ue(t[n])))},{})}}}function $e(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(n[r]=e[r]);return n}function ze(e,t){bi.apply(e,yi(t)?t:[t])}function Ke(e,t,n,r,i,a,s,o,c,u,l,f,h,d){var p=e;if(\"function\"==typeof s?p=s(t,p):p instanceof Date?p=u(p):\"comma\"===n&&yi(p)&&(p=mi.maybeMap(p,function(e){return e instanceof Date?u(e):e})),null===p){if(r)return a&&!h?a(t,Ri.encoder,d,\"key\",l):t;p=\"\"}if(function(e){return\"string\"==typeof e||\"number\"==typeof e||\"boolean\"==typeof e||\"symbol\"==typeof e||\"bigint\"==typeof e}(p)||mi.isBuffer(p))return a?[f(h?t:a(t,Ri.encoder,d,\"key\",l))+\"=\"+f(a(p,Ri.encoder,d,\"value\",l))]:[f(t)+\"=\"+f(String(p))];var m,g=[];if(void 0===p)return g;if(\"comma\"===n&&yi(p))m=[{value:0<p.length?p.join(\",\")||null:void 0}];else if(yi(s))m=s;else{var v=Object.keys(p);m=o?v.sort(o):v}for(var y=0;y<m.length;++y){var b=m[y],w=\"object\"==typeof b&&void 0!==b.value?b.value:p[b];if(!i||null!==w){var S=yi(p)?\"function\"==typeof n?n(t,b):t:t+(c?\".\"+b:\"[\"+b+\"]\");ze(g,Ke(w,S,n,r,i,a,s,o,c,u,l,f,h,d))}}return g}function Je(e,t){return e&&\"string\"==typeof e&&t.comma&&-1<e.indexOf(\",\")?e.split(\",\"):e}function Xe(e,t,n,r){if(e){var i=n.allowDots?e.replace(/\\.([^.[]+)/g,\"[$1]\"):e,a=/(\\[[^[\\]]*])/g,s=0<n.depth&&/(\\[[^[\\]]*])/.exec(i),o=s?i.slice(0,s.index):i,c=[];if(o){if(!n.plainObjects&&_i.call(Object.prototype,o)&&!n.allowPrototypes)return;c.push(o)}for(var u=0;0<n.depth&&null!==(s=a.exec(i))&&u<n.depth;){if(u+=1,!n.plainObjects&&_i.call(Object.prototype,s[1].slice(1,-1))&&!n.allowPrototypes)return;c.push(s[1])}return s&&c.push(\"[\"+i.slice(s.index)+\"]\"),function(e,t,n,r){for(var i=r?t:Je(t,n),a=e.length-1;0<=a;--a){var s,o=e[a];if(\"[]\"===o&&n.parseArrays)s=[].concat(i);else{s=n.plainObjects?Object.create(null):{};var c=\"[\"===o.charAt(0)&&\"]\"===o.charAt(o.length-1)?o.slice(1,-1):o,u=parseInt(c,10);n.parseArrays||\"\"!==c?!isNaN(u)&&o!==c&&String(u)===c&&0<=u&&n.parseArrays&&u<=n.arrayLimit?(s=[])[u]=i:s[c]=i:s={0:i}}i=s}return i}(c,t,n,r)}}function Ge(e){e&&(window.document.title=e)}function Ye(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.createURL,n=void 0===t?function(e){var t=e.qsModule,n=e.routeState,r=e.location,i=r.protocol,a=r.hostname,s=r.port,o=void 0===s?\"\":s,c=r.pathname,u=r.hash,l=t.stringify(n),f=\"\"===o?\"\":\":\".concat(o);return l?\"\".concat(i,\"//\").concat(a).concat(f).concat(c,\"?\").concat(l).concat(u):\"\".concat(i,\"//\").concat(a).concat(f).concat(c).concat(u)}:t,r=e.parseURL,i=void 0===r?function(e){var t=e.qsModule,n=e.location;return t.parse(n.search.slice(1),{arrayLimit:99})}:r,a=e.writeDelay,s=void 0===a?400:a,o=e.windowTitle,c=e.getLocation;return new Oi({createURL:n,parseURL:i,writeDelay:s,windowTitle:o,getLocation:void 0===c?function(){return Ie(function(e){return e.window.location},{fallback:function(){throw new Error(\"You need to provide `getLocation` to the `history` router in environments where `window` does not exist.\")}})}:c})}function Ze(e){var t=0<arguments.length&&void 0!==e?e:{},n=t.router,r=void 0===n?Ye():n,a=t.stateMapping,s=void 0===a?Ve():a;return function(e){var t=e.instantSearchInstance;t._createURL=function(e){var n=Object.keys(e).reduce(function(t,n){return o(o({},t),{},i({},n,e[n]))},t.mainIndex.getWidgetUiState({})),a=s.stateToRoute(n);return r.createURL(a)};var n=void 0,a=t._initialUiState;return{onStateChange:function(e){var t=e.uiState,i=s.stateToRoute(t);void 0!==n&&se(n,i)||(r.write(i),n=i)},subscribe:function(){t._initialUiState=o(o({},a),s.routeToState(r.read())),r.onUpdate(function(e){t.setUiState(s.routeToState(e))})},unsubscribe:function(){r.dispose()}}}}function et(){return Ie(function(e){var t,n;return-1<(null===(t=e.window.navigator)||void 0===t?void 0:null===(n=t.userAgent)||void 0===n?void 0:n.indexOf(\"Algolia Crawler\"))},{fallback:function(){return!1}})}function tt(){return function(e){var t=e.instantSearchInstance,n={widgets:[]},r=document.createElement(\"meta\"),i=document.querySelector(\"head\");return r.name=\"instantsearch:widgets\",{onStateChange:function(){},subscribe:function(){setTimeout(function(){var e=t.client;n.ua=e.transporter&&e.transporter.userAgent?e.transporter.userAgent.value:e._ua,function e(t,n,r){var i=n.mainIndex,a={instantSearchInstance:n,parent:i,scopedResults:[],state:i.getHelper().state,helper:i.getHelper(),createURL:i.createURL,uiState:n._initialUiState,renderState:n.renderState,templatesConfig:n.templatesConfig,searchMetadata:{isSearchStalled:n._isSearchStalled}};t.forEach(function(t){var i={};if(t.getWidgetRenderState){var s=t.getWidgetRenderState(a);s&&s.widgetParams&&(i=s.widgetParams)}var o=Object.keys(i).filter(function(e){return void 0!==i[e]});r.widgets.push({type:t.$$type,widgetType:t.$$widgetType,params:o}),\"ais.index\"===t.$$type&&e(t.getWidgets(),n,r)})}(t.mainIndex.getWidgets(),t,n),r.content=JSON.stringify(n),i.appendChild(r)},0)},unsubscribe:function(){r.remove()}}}}function nt(){return\"#\"}function rt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Ii()),function(t){function r(){return d.refine()}function i(){return d.createURL()}var a=t||{},s=a.includedAttributes,c=void 0===s?[]:s,u=a.excludedAttributes,l=void 0===u?[\"query\"]:u,f=a.transformItems,h=void 0===f?function(e){return e}:f;if(t&&t.includedAttributes&&t.excludedAttributes)throw new Error(Ii(\"The options `includedAttributes` and `excludedAttributes` cannot be used together.\"));var d={refine:Z,createURL:function(){return\"\"},attributesToClear:[]};return{$$type:\"ais.clearRefinements\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(){n()},getRenderState:function(e,t){return o(o({},e),{},{clearRefinements:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=e.createURL,a=e.scopedResults,s=e.results;d.attributesToClear=a.reduce(function(e,t){return e.concat(function(e){var t=e.scopedResult,n=e.includedAttributes,r=e.excludedAttributes,i=e.transformItems,a=e.results,s=-1!==n.indexOf(\"query\")||-1===r.indexOf(\"query\");return{helper:t.helper,items:i(Q(X(t.results,t.helper.state,s).map(function(e){return e.attribute}).filter(function(e){return 0===n.length||-1!==n.indexOf(e)}).filter(function(e){return\"query\"===e&&s||-1===r.indexOf(e)})),{results:a})}}({scopedResult:t,includedAttributes:c,excludedAttributes:l,transformItems:h,results:s}))},[]),d.refine=function(){d.attributesToClear.forEach(function(e){var t=e.helper,n=e.items;t.setState(G({helper:t,attributesToClear:n})).search()})},d.createURL=function(){return n(me.apply(void 0,m(d.attributesToClear.map(function(e){return G({helper:e.helper,attributesToClear:e.items})}))))};var o=d.attributesToClear.some(function(e){return 0<e.items.length});return{canRefine:o,hasRefinements:o,refine:r,createURL:i,widgetParams:t}}}}}function it(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Ei()),function(t){if((t||{}).includedAttributes&&(t||{}).excludedAttributes)throw new Error(Ei(\"The options `includedAttributes` and `excludedAttributes` cannot be used together.\"));var r=t||{},i=r.includedAttributes,a=r.excludedAttributes,s=void 0===a?[\"query\"]:a,c=r.transformItems,u=void 0===c?function(e){return e}:c;return{$$type:\"ais.currentRefinements\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(){n()},getRenderState:function(e,t){return o(o({},e),{},{currentRefinements:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){\nvar n=e.results,r=e.scopedResults,a=e.createURL,o=e.helper,c=n?r.reduce(function(e,t){return e.concat(u(at({results:t.results,helper:t.helper,includedAttributes:i,excludedAttributes:s}),{results:n}))},[]):u(at({results:{},helper:o,includedAttributes:i,excludedAttributes:s}),{results:n});return{items:c,canRefine:0<c.length,refine:function(e){return ot(o,e)},createURL:function(e){return a(st(o.state,e))},widgetParams:t}}}}}function at(e){var t=e.results,n=e.helper,r=e.includedAttributes,i=e.excludedAttributes,a=-1!==(r||[]).indexOf(\"query\")||-1===(i||[]).indexOf(\"query\"),s=r?function(e){return-1!==r.indexOf(e.attribute)}:function(e){return-1===i.indexOf(e.attribute)},o=X(t,n.state,a).map(ct).filter(s);return o.reduce(function(e,t){return[].concat(m(e.filter(function(e){return e.attribute!==t.attribute})),[{indexName:n.state.index,attribute:t.attribute,label:t.attribute,refinements:o.filter(function(e){return e.attribute===t.attribute}).sort(function(e,t){return\"numeric\"===e.type?e.value-t.value:0}),refine:function(e){return ot(n,e)}}])},[])}function st(e,t){switch(t.type){case\"facet\":return e.removeFacetRefinement(t.attribute,String(t.value));case\"disjunctive\":return e.removeDisjunctiveFacetRefinement(t.attribute,String(t.value));case\"hierarchical\":return e.removeHierarchicalFacetRefinement(t.attribute);case\"exclude\":return e.removeExcludeRefinement(t.attribute,String(t.value));case\"numeric\":return e.removeNumericRefinement(t.attribute,t.operator,String(t.value));case\"tag\":return e.removeTagRefinement(String(t.value));case\"query\":return e.setQueryParameter(\"query\",\"\");default:return e}}function ot(e,t){e.setState(st(e.state,t)).search()}function ct(e){var t=function(e){return\"numeric\"===e.type?Number(e.name):\"escapedValue\"in e?e.escapedValue:e.name}(e),n=e.operator?\"\".concat(function(e){switch(e){case\">=\":return\"\u2265\";case\"<=\":return\"\u2264\";default:return e}}(e.operator),\" \").concat(e.name):e.name,r={attribute:e.attribute,type:e.type,value:t,label:n};return void 0!==e.operator&&(r.operator=e.operator),void 0!==e.count&&(r.count=e.count),void 0!==e.exhaustive&&(r.exhaustive=e.exhaustive),r}function ut(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Ti()),function(t){function r(){I()}function a(){return E?R:y}var s=t||{},c=s.attributes,u=s.separator,l=void 0===u?\" > \":u,h=s.rootPath,d=void 0===h?null:h,m=s.showParentLevel,g=void 0===m||m,v=s.limit,y=void 0===v?10:v,b=s.showMore,w=void 0!==b&&b,S=s.showMoreLimit,R=void 0===S?20:S,_=s.sortBy,P=void 0===_?Ci:_,x=s.transformItems,j=void 0===x?function(e){return e}:x;if(!c||!Array.isArray(c)||0===c.length)throw new Error(Ti(\"The `attributes` option expects an array of strings.\"));if(!0===w&&R<=y)throw new Error(Ti(\"The `showMoreLimit` option must be greater than `limit`.\"));var O,N,F=p(c,1)[0],I=function(){},E=!1;return{$$type:\"ais.hierarchicalMenu\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;I=function(e,t){return function(){E=!E,t.render(e)}}(t,this),e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.removeHierarchicalFacet(F).setQueryParameter(\"maxValuesPerFacet\",void 0)},getRenderState:function(e,t){return o(o({},e),{},{hierarchicalMenu:o(o({},e.hierarchicalMenu),{},i({},F,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.results,i=e.state,s=e.createURL,c=e.instantSearchInstance,u=e.helper,l=[],h=!1;if(O=O||Se({instantSearchInstance:c,helper:u,attribute:F,widgetType:this.$$type}),N=N||function(e){O(\"click\",e),u.toggleFacetRefinement(F,e).search()},n){var d=n.getFacetValues(F,{sortBy:P,facetOrdering:P===Ci}),p=d&&!Array.isArray(d)&&d.data?d.data:[],m=(i.maxValuesPerFacet||0)>a()?p.length<=a():p.length<a();h=w&&(E||!m),l=j(function e(t){return t.slice(0,a()).map(function(t){var n=t.name,r=t.escapedValue,i=t.data,a=(t.path,o(o({},f(t,[\"name\",\"escapedValue\",\"data\",\"path\"])),{},{value:r,label:n,data:null}));return Array.isArray(i)&&(a.data=e(i)),a})}(p),{results:n})}return{items:l,refine:N,canRefine:0<l.length,createURL:function(e){return s(i.resetPage().toggleFacetRefinement(F,e))},sendEvent:O,widgetParams:t,isShowingMore:E,toggleShowMore:r,canToggleShowMore:h}},getWidgetUiState:function(e,t){var n=t.searchParameters.getHierarchicalFacetBreadcrumb(F);return n.length?o(o({},e),{},{hierarchicalMenu:o(o({},e.hierarchicalMenu),{},i({},F,n))}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=n.hierarchicalMenu&&n.hierarchicalMenu[F];e.isHierarchicalFacet(F)&&e.getHierarchicalFacetByName(F);var a=e.removeHierarchicalFacet(F).addHierarchicalFacet({name:F,attributes:c,separator:l,rootPath:d,showParentLevel:g}),s=a.maxValuesPerFacet||0,u=Math.max(s,w?R:y),f=a.setQueryParameter(\"maxValuesPerFacet\",u);return r?f.addHierarchicalFacetRefinement(F,r.join(l)):f.setQueryParameters({hierarchicalFacetsRefinements:o(o({},f.hierarchicalFacetsRefinements),{},i({},F,[]))})}}}}function lt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,ki()),function(t){var r,a,s=t||{},c=s.escapeHTML,u=void 0===c||c,l=s.transformItems,f=void 0===l?function(e){return e}:l;return{$$type:\"ais.hits\",init:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!0)},render:function(t){var n=this.getWidgetRenderState(t);e(o(o({},n),{},{instantSearchInstance:t.instantSearchInstance}),!1),n.sendEvent(\"view\",n.hits)},getRenderState:function(e,t){return o(o({},e),{},{hits:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=e.results,i=e.helper,s=e.instantSearchInstance;if(r=r||xe({instantSearchInstance:s,index:i.getIndex(),widgetType:this.$$type}),a=a||je({index:i.getIndex(),widgetType:this.$$type}),!n)return{hits:[],results:void 0,sendEvent:r,bindEvent:a,widgetParams:t};u&&0<n.hits.length&&(n.hits=ue(n.hits));var o=we(be(n.hits,n.page,n.hitsPerPage),n.queryID);return{hits:f(o,{results:n}),results:n,sendEvent:r,bindEvent:a,widgetParams:t}},dispose:function(e){var t=e.state;return n(),u?t.setQueryParameters(Object.keys(Zr).reduce(function(e,t){return o(o({},e),{},i({},t,void 0))},{})):t},getWidgetSearchParameters:function(e){return u?e.setQueryParameters(Zr):e}}}}function ft(e){var t=e.method,n=e.results,r=e.hits,i=e.objectIDs,a=n.index,s=function(e,t){return t.map(function(t){var n=z(e,function(e){return e.objectID===t});if(void 0===n)throw new Error('Could not find objectID \"'.concat(t,'\" passed to `clickedObjectIDsAfterSearch` in the returned hits. This is necessary to infer the absolute position and the query ID.'));return n})}(r,i),o=function(e){var t=Q(e.map(function(e){return e.__queryID}));if(1<t.length)throw new Error(\"Insights currently allows a single `queryID`. The `objectIDs` provided map to multiple `queryID`s.\");var n=t[0];if(\"string\"!=typeof n)throw new Error(\"Could not infer `queryID`. Ensure InstantSearch `clickAnalytics: true` was added with the Configure widget.\\n\\nSee: https://alg.li/lNiZZ7\");return n}(s);switch(t){case\"clickedObjectIDsAfterSearch\":return{index:a,queryID:o,objectIDs:i,positions:function(e){return e.map(function(e){return e.__position})}(s)};case\"convertedObjectIDsAfterSearch\":return{index:a,queryID:o,objectIDs:i};default:throw new Error('Unsupported method passed to insights: \"'.concat(t,'\".'))}}function ht(e){return function(t,n){return e(function(e,n){var r=e.results,i=e.hits,a=e.instantSearchInstance;if(r&&i&&a){var s=function(e,t,n){return function(r){for(var i=arguments.length,a=new Array(1<i?i-1:0),s=1;s<i;s++)a[s-1]=arguments[s];var c=a[0];if(!e){var u=ve({name:\"instantsearch\"});throw new Error(u(\"The `insightsClient` option has not been provided to `instantsearch`.\"))}if(!Array.isArray(c.objectIDs))throw new TypeError(\"Expected `objectIDs` to be an array.\");var l=ft({method:r,results:t,hits:n,objectIDs:c.objectIDs});e(r,o(o({},l),c))}}(a.insightsClient,r,i);return t(o(o({},e),{},{insights:s}),n)}return t(e,n)},n)}}function dt(e,t){for(var n in t)e[n]=t[n];return e}function pt(e){var t=e.parentNode;t&&t.removeChild(e)}function mt(e,t,n){var r,i,a,s={};for(a in t)\"key\"==a?r=t[a]:\"ref\"==a?i=t[a]:s[a]=t[a];if(2<arguments.length&&(s.children=3<arguments.length?qr.call(arguments,2):n),\"function\"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===s[a]&&(s[a]=e.defaultProps[a]);return gt(e,s,r,i,null)}function gt(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==i?++Wr:i};return null==i&&null!=Br.vnode&&Br.vnode(a),a}function vt(e){return e.children}function yt(e,t){this.props=e,this.context=t}function bt(e,t){if(null==t)return e.__?bt(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return\"function\"==typeof e.type?bt(e):null}function wt(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return wt(e)}}function St(e){(!e.__d&&(e.__d=!0)&&Qr.push(e)&&!Rt.__r++||Vr!==Br.debounceRendering)&&((Vr=Br.debounceRendering)||Ur)(Rt)}function Rt(){for(var e;Rt.__r=Qr.length;)e=Qr.sort(function(e,t){return e.__v.__b-t.__v.__b}),Qr=[],e.some(function(e){var t,n,r,i,a,s;e.__d&&(a=(i=(t=e).__v).__e,(s=t.__P)&&(n=[],(r=dt({},i)).__v=i.__v+1,It(s,i,r,t.__n,void 0!==s.ownerSVGElement,null!=i.__h?[a]:null,n,null==a?bt(i):a,i.__h),Et(n,i),i.__e!=a&&wt(i)))})}function _t(e,t,n,r,i,a,s,o,c,u){var l,f,h,d,p,m,g,v=r&&r.__k||Di,y=v.length;for(n.__k=[],l=0;l<t.length;l++)if(null!=(d=n.__k[l]=null==(d=t[l])||\"boolean\"==typeof d?null:\"string\"==typeof d||\"number\"==typeof d||\"bigint\"==typeof d?gt(null,d,null,null,d):Array.isArray(d)?gt(vt,{children:d},null,null,null):0<d.__b?gt(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(h=v[l])||h&&d.key==h.key&&d.type===h.type)v[l]=void 0;else for(f=0;f<y;f++){if((h=v[f])&&d.key==h.key&&d.type===h.type){v[f]=void 0;break}h=null}It(e,d,h=h||Ai,i,a,s,o,c,u),p=d.__e,(f=d.ref)&&h.ref!=f&&(g=g||[],h.ref&&g.push(h.ref,null,d),g.push(f,d.__c||p,d)),null!=p?(null==m&&(m=p),\"function\"==typeof d.type&&d.__k===h.__k?d.__d=c=Pt(d,c,e):c=xt(e,d,h,v,p,c),\"function\"==typeof n.type&&(n.__d=c)):c&&h.__e==c&&c.parentNode!=e&&(c=bt(h))}for(n.__e=m,l=y;l--;)null!=v[l]&&(\"function\"==typeof n.type&&null!=v[l].__e&&v[l].__e==n.__d&&(n.__d=bt(r,l+1)),Ct(v[l],v[l]));if(g)for(l=0;l<g.length;l++)Tt(g[l],g[++l],g[++l])}function Pt(e,t,n){for(var r,i=e.__k,a=0;i&&a<i.length;a++)(r=i[a])&&(r.__=e,t=\"function\"==typeof r.type?Pt(r,t,n):xt(n,r,r,i,r.__e,t));return t}function xt(e,t,n,r,i,a){var s,o,c;if(void 0!==t.__d)s=t.__d,t.__d=void 0;else if(null==n||i!=a||null==i.parentNode)e:if(null==a||a.parentNode!==e)e.appendChild(i),s=null;else{for(o=a,c=0;(o=o.nextSibling)&&c<r.length;c+=2)if(o==i)break e;e.insertBefore(i,a),s=a}return void 0!==s?s:i.nextSibling}function jt(e,t,n){\"-\"===t[0]?e.setProperty(t,n):e[t]=null==n?\"\":\"number\"!=typeof n||Li.test(t)?n:n+\"px\"}function Ot(e,t,n,r,i){var a;e:if(\"style\"===t)if(\"string\"==typeof n)e.style.cssText=n;else{if(\"string\"==typeof r&&(e.style.cssText=r=\"\"),r)for(t in r)n&&t in n||jt(e.style,t,\"\");if(n)for(t in n)r&&n[t]===r[t]||jt(e.style,t,n[t])}else if(\"o\"===t[0]&&\"n\"===t[1])a=t!==(t=t.replace(/Capture$/,\"\")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r||e.addEventListener(t,a?Ft:Nt,a):e.removeEventListener(t,a?Ft:Nt,a);else if(\"dangerouslySetInnerHTML\"!==t){if(i)t=t.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==t&&\"list\"!==t&&\"form\"!==t&&\"tabIndex\"!==t&&\"download\"!==t&&t in e)try{e[t]=null==n?\"\":n;break e}catch(e){}\"function\"==typeof n||(null!=n&&(!1!==n||\"a\"===t[0]&&\"r\"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function Nt(e){this.l[e.type+!1](Br.event?Br.event(e):e)}function Ft(e){this.l[e.type+!0](Br.event?Br.event(e):e)}function It(e,t,n,r,i,a,s,o,c){var u,l,f,h,d,p,m,g,v,y,b,w=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,o=t.__e=n.__e,t.__h=null,a=[o]),(u=Br.__b)&&u(t);try{e:if(\"function\"==typeof w){if(g=t.props,v=(u=w.contextType)&&r[u.__c],y=u?v?v.props.value:u.__:r,n.__c?m=(l=t.__c=n.__c).__=l.__E:(\"prototype\"in w&&w.prototype.render?t.__c=l=new w(g,y):(t.__c=l=new yt(g,y),l.constructor=w,l.render=kt),v&&v.sub(l),l.props=g,l.state||(l.state={}),l.context=y,l.__n=r,f=l.__d=!0,l.__h=[]),null==l.__s&&(l.__s=l.state),null!=w.getDerivedStateFromProps&&(l.__s==l.state&&(l.__s=dt({},l.__s)),dt(l.__s,w.getDerivedStateFromProps(g,l.__s))),h=l.props,d=l.state,f)null==w.getDerivedStateFromProps&&null!=l.componentWillMount&&l.componentWillMount(),null!=l.componentDidMount&&l.__h.push(l.componentDidMount);else{if(null==w.getDerivedStateFromProps&&g!==h&&null!=l.componentWillReceiveProps&&l.componentWillReceiveProps(g,y),!l.__e&&null!=l.shouldComponentUpdate&&!1===l.shouldComponentUpdate(g,l.__s,y)||t.__v===n.__v){l.props=g,l.state=l.__s,t.__v!==n.__v&&(l.__d=!1),(l.__v=t).__e=n.__e,t.__k=n.__k,t.__k.forEach(function(e){e&&(e.__=t)}),l.__h.length&&s.push(l);break e}null!=l.componentWillUpdate&&l.componentWillUpdate(g,l.__s,y),null!=l.componentDidUpdate&&l.__h.push(function(){l.componentDidUpdate(h,d,p)})}l.context=y,l.props=g,l.state=l.__s,(u=Br.__r)&&u(t),l.__d=!1,l.__v=t,l.__P=e,u=l.render(l.props,l.state,l.context),l.state=l.__s,null!=l.getChildContext&&(r=dt(dt({},r),l.getChildContext())),f||null==l.getSnapshotBeforeUpdate||(p=l.getSnapshotBeforeUpdate(h,d)),b=null!=u&&u.type===vt&&null==u.key?u.props.children:u,_t(e,Array.isArray(b)?b:[b],t,n,r,i,a,s,o,c),l.base=t.__e,t.__h=null,l.__h.length&&s.push(l),m&&(l.__E=l.__=null),l.__e=!1}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=function(e,t,n,r,i,a,s,o){var c,u,l,f=n.props,h=t.props,d=t.type,p=0;if(\"svg\"===d&&(i=!0),null!=a)for(;p<a.length;p++)if((c=a[p])&&\"setAttribute\"in c==!!d&&(d?c.localName===d:3===c.nodeType)){e=c,a[p]=null;break}if(null==e){if(null===d)return document.createTextNode(h);e=i?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,h.is&&h),a=null,o=!1}if(null===d)f===h||o&&e.data===h||(e.data=h);else{if(a=a&&qr.call(e.childNodes),u=(f=n.props||Ai).dangerouslySetInnerHTML,l=h.dangerouslySetInnerHTML,!o){if(null!=a)for(f={},p=0;p<e.attributes.length;p++)f[e.attributes[p].name]=e.attributes[p].value;(l||u)&&(l&&(u&&l.__html==u.__html||l.__html===e.innerHTML)||(e.innerHTML=l&&l.__html||\"\"))}if(function(e,t,n,r,i){var a;for(a in n)\"children\"===a||\"key\"===a||a in t||Ot(e,a,null,n[a],r);for(a in t)i&&\"function\"!=typeof t[a]||\"children\"===a||\"key\"===a||\"value\"===a||\"checked\"===a||n[a]===t[a]||Ot(e,a,t[a],n[a],r)}(e,h,f,i,o),l)t.__k=[];else if(p=t.props.children,_t(e,Array.isArray(p)?p:[p],t,n,r,i&&\"foreignObject\"!==d,a,s,a?a[0]:n.__k&&bt(n,0),o),null!=a)for(p=a.length;p--;)null!=a[p]&&pt(a[p]);o||(\"value\"in h&&void 0!==(p=h.value)&&(p!==f.value||p!==e.value||\"progress\"===d&&!p)&&Ot(e,\"value\",p,f.value,!1),\"checked\"in h&&void 0!==(p=h.checked)&&p!==e.checked&&Ot(e,\"checked\",p,f.checked,!1))}return e}(n.__e,t,n,r,i,a,s,c);(u=Br.diffed)&&u(t)}catch(e){t.__v=null,!c&&null==a||(t.__e=o,t.__h=!!c,a[a.indexOf(o)]=null),Br.__e(e,t,n)}}function Et(e,t){Br.__c&&Br.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){Br.__e(e,t.__v)}})}function Tt(e,t,n){try{\"function\"==typeof e?e(t):e.current=t}catch(e){Br.__e(e,n)}}function Ct(e,t,n){var r,i;if(Br.unmount&&Br.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Tt(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){Br.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&Ct(r[i],t,\"function\"!=typeof e.type);n||null==e.__e||pt(e.__e),e.__e=e.__d=void 0}function kt(e,t,n){return this.constructor(e,n)}function At(e,t,n){var r,i,a;Br.__&&Br.__(e,t),i=(r=\"function\"==typeof n)?null:n&&n.__k||t.__k,a=[],It(t,e=(!r&&n||t).__k=mt(vt,null,[e]),i||Ai,Ai,void 0!==t.ownerSVGElement,!r&&n?[n]:i?null:t.firstChild?qr.call(t.childNodes):null,a,!r&&n?n:i?i.__e:t.firstChild,r),Et(a,e)}function Dt(e,t,n){for(var r=e;r&&!n(r);){if(r===t)return null;r=r.parentElement}return r}function Lt(e){return function(t){return mt(\"div\",{onClick:function(e){if(t.sendEvent){var n=Dt(e.target,e.currentTarget,function(e){return e.hasAttribute(\"data-insights-event\")});n&&function(e){var t=e.getAttribute(\"data-insights-event\");if(\"string\"!=typeof t)throw new Error(\"The insights middleware expects `data-insights-event` to be a base64-encoded JSON string.\");try{return _e(t)}catch(e){throw new Error(\"The insights middleware was unable to parse `data-insights-event`.\")}}(n).forEach(function(e){return t.sendEvent(e)})}var r=Dt(e.target,e.currentTarget,function(e){return function(e){return e.hasAttribute(\"data-insights-method\")}(e)});if(r){var i=function(e){var t=e.getAttribute(\"data-insights-method\"),n=e.getAttribute(\"data-insights-payload\");if(\"string\"!=typeof n)throw new Error(\"The insights helper expects `data-insights-payload` to be a base64-encoded JSON string.\");try{return{method:t,payload:_e(n)}}catch(e){throw new Error(\"The insights helper was unable to parse `data-insights-payload`.\")}}(r),a=i.method,s=i.payload;t.insights(a,s)}}},mt(e,t))}}function Ht(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Mi()),function(t){var r=t||{},i=r.items,a=r.transformItems,s=void 0===a?function(e){return e}:a;if(!Array.isArray(i))throw new Error(Mi(\"The `items` option expects an array of objects.\"));var c=i,u=c.filter(function(e){return!0===e.default});if(0===u.length)throw new Error(Mi(\"A default value must be specified in `items`.\"));if(1<u.length)throw new Error(Mi(\"More than one default value is specified in `items`.\"));var l=u[0],f=function(e){return function(t){return t||0===t?e.setQueryParameter(\"hitsPerPage\",t).search():e.setQueryParameter(\"hitsPerPage\",void 0).search()}},h=function(e){var t=e.state,n=e.createURL;return function(e){return n(t.resetPage().setQueryParameter(\"hitsPerPage\",e||0===e?e:void 0))}};return{$$type:\"ais.hitsPerPage\",init:function(t){var n=t.state,r=t.instantSearchInstance;c.some(function(e){return Number(n.hitsPerPage)===Number(e.value)})||(c=[{value:\"\",label:\"\"}].concat(m(c))),e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:r}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.setQueryParameter(\"hitsPerPage\",void 0)},getRenderState:function(e,t){return o(o({},e),{},{hitsPerPage:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=e.state,r=e.results,i=e.createURL,a=e.helper;return{items:s(function(e){var t=e.hitsPerPage;return c.map(function(e){return o(o({},e),{},{isRefined:Number(e.value)===Number(t)})})}(n),{results:r}),refine:f(a),createURL:h({state:n,createURL:i}),hasNoResults:!r||0===r.nbHits,widgetParams:t}},getWidgetUiState:function(e,t){var n=t.searchParameters.hitsPerPage;return void 0===n||n===l.value?e:o(o({},e),{},{hitsPerPage:n})},getWidgetSearchParameters:function(e,t){var n=t.uiState;return e.setQueryParameters({hitsPerPage:n.hitsPerPage||l.value})}}}}function Mt(e){var t=e||{};return t.page,f(t,[\"page\"])}function qt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,qi()),function(t){function r(e,t){var n=e.page,r=void 0===n?0:n,i=Object.keys(t).map(Number);return 0===i.length?r:Math.min.apply(Math,[r].concat(m(i)))}function a(e,t){var n=e.page,r=void 0===n?0:n,i=Object.keys(t).map(Number);return 0===i.length?r:Math.max.apply(Math,[r].concat(m(i)))}var s,c,u,l,f=t||{},h=f.escapeHTML,d=void 0===h||h,p=f.transformItems,g=void 0===p?function(e){return e}:p,v=f.cache,y=void 0===v?function(){var e=null,t=null;return{read:function(n){var r=n.state;return se(t,Mt(r))?e:null},write:function(n){var r=n.state,i=n.hits;t=Mt(r),e=i}}}():v;return{$$type:\"ais.infiniteHits\",init:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!0)},render:function(t){var n=t.instantSearchInstance,r=this.getWidgetRenderState(t);e(o(o({},r),{},{instantSearchInstance:n}),!1),u(\"view\",r.currentPageHits)},getRenderState:function(e,t){return o(o({},e),{},{infiniteHits:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n,i=e.results,f=e.helper,h=e.state,p=e.instantSearchInstance,m=[],v=y.read({state:h})||{};if(i){var b=h.page,w=void 0===b?0:b;d&&0<i.hits.length&&(i.hits=ue(i.hits));var S=we(be(i.hits,i.page,i.hitsPerPage),i.queryID),R=g(S,{results:i});void 0!==v[w]||i.__isArtificial||(v[w]=R,y.write({state:h,hits:v})),m=R,n=0===r(h,v)}else s=function(e){return function(){e.overrideStateWithoutTriggeringChangeEvent(o(o({},e.state),{},{page:r(e.state,y.read({state:e.state})||{})-1})).searchWithoutTriggeringOnStateChange()}}(f),c=function(e){return function(){e.setPage(a(e.state,y.read({state:e.state})||{})+1).search()}}(f),u=xe({instantSearchInstance:p,index:f.getIndex(),widgetType:this.$$type}),l=je({index:f.getIndex(),widgetType:this.$$type}),n=void 0===h.page||0===r(h,v);var _=function(e){return Object.keys(e).map(Number).sort(function(e,t){return e-t}).reduce(function(t,n){return t.concat(e[n])},[])}(v),P=!i||i.nbPages<=a(h,v)+1;return{hits:_,currentPageHits:m,sendEvent:u,bindEvent:l,results:i,showPrevious:s,showMore:c,isFirstPage:n,isLastPage:P,widgetParams:t}},dispose:function(e){var t=e.state;n();var r=t.setQueryParameter(\"page\",void 0);return d?r.setQueryParameters(Object.keys(Zr).reduce(function(e,t){return o(o({},e),{},i({},t,void 0))},{})):r},getWidgetUiState:function(e,t){var n=t.searchParameters.page||0;return n?o(o({},e),{},{page:n+1}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=e;d&&(r=e.setQueryParameters(Zr));var i=n.page?n.page-1:0;return r.setQueryParameter(\"page\",i)}}}}function Bt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Wi()),function(t){function r(){x()}function a(){return P?b:m}var s,c,u,l=t||{},h=l.attribute,d=l.limit,m=void 0===d?10:d,g=l.showMore,v=void 0!==g&&g,y=l.showMoreLimit,b=void 0===y?20:y,w=l.sortBy,S=void 0===w?Qi:w,R=l.transformItems,_=void 0===R?function(e){return e}:R;if(!h)throw new Error(Wi(\"The `attribute` option is required.\"));if(!0===v&&b<=m)throw new Error(Wi(\"The `showMoreLimit` option must be greater than `limit`.\"));var P=!1,x=function(){};return{$$type:\"ais.menu\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.removeHierarchicalFacet(h).setQueryParameter(\"maxValuesPerFacet\",void 0)},getRenderState:function(e,t){return o(o({},e),{},{menu:o(o({},e.menu),{},i({},h,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.results,i=e.createURL,l=e.instantSearchInstance,d=e.helper,m=[],g=!1;if(s=s||Se({instantSearchInstance:l,helper:d,attribute:h,widgetType:this.$$type}),c=c||function(e){return i(d.state.resetPage().toggleFacetRefinement(h,e))},u=u||function(e){var t=p(d.getHierarchicalFacetBreadcrumb(h),1)[0];s(\"click\",e||t),d.toggleFacetRefinement(h,e||t).search()},e.results&&(x=function(e,t){return function(){P=!P,t.render(e)}}(e,this)),n){var y=n.getFacetValues(h,{sortBy:S,facetOrdering:S===Qi}),b=y&&!Array.isArray(y)&&y.data?y.data:[];g=v&&(P||b.length>a()),m=_(b.slice(0,a()).map(function(e){var t=e.name,n=e.escapedValue;return e.path,o(o({},f(e,[\"name\",\"escapedValue\",\"path\"])),{},{label:t,value:n})}),{results:n})}return{items:m,createURL:c,refine:u,sendEvent:s,canRefine:0<m.length,widgetParams:t,isShowingMore:P,toggleShowMore:r,canToggleShowMore:g}},getWidgetUiState:function(e,t){var n=p(t.searchParameters.getHierarchicalFacetBreadcrumb(h),1)[0];return n?o(o({},e),{},{menu:o(o({},e.menu),{},i({},h,n))}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=n.menu&&n.menu[h],a=e.removeHierarchicalFacet(h).addHierarchicalFacet({name:h,attributes:[h]}),s=a.maxValuesPerFacet||0,c=Math.max(s,v?b:m),u=a.setQueryParameter(\"maxValuesPerFacet\",c);return r?u.addHierarchicalFacetRefinement(h,r):u.setQueryParameters({hierarchicalFacetsRefinements:o(o({},u.hierarchicalFacetsRefinements),{},i({},h,[]))})}}}}function Wt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Ui()),function(t){var r=t||{},a=r.attribute,s=void 0===a?\"\":a,c=r.items,u=void 0===c?[]:c,l=r.transformItems,f=void 0===l?function(e){return e}:l;if(\"\"===s)throw new Error(Ui(\"The `attribute` option is required.\"));if(!u||0===u.length)throw new Error(Ui(\"The `items` option expects an array of objects.\"));var h={};return{$$type:Vi,init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.clearRefinements(s)},getWidgetUiState:function(e,t){var n=t.searchParameters.getNumericRefinements(s),r=n[\"=\"]&&n[\"=\"][0];if(r||0===r)return o(o({},e),{},{numericMenu:o(o({},e.numericMenu),{},i({},s,\"\".concat(n[\"=\"])))});var a=n[\">=\"]&&n[\">=\"][0]||\"\",c=n[\"<=\"]&&n[\"<=\"][0]||\"\";return\"\"===a&&\"\"===c?e:o(o({},e),{},{numericMenu:o(o({},e.numericMenu),{},i({},s,\"\".concat(a,\":\").concat(c)))})},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=n.numericMenu&&n.numericMenu[s],a=e.clearRefinements(s);if(!r)return a.setQueryParameters({numericRefinements:o(o({},a.numericRefinements),{},i({},s,{}))});if(-1===r.indexOf(\":\"))return a.addNumericRefinement(s,\"=\",Number(r));var c=p(r.split(\":\").map(parseFloat),2),u=c[0],l=c[1],f=ne(u)?a.addNumericRefinement(s,\">=\",u):a;return ne(l)?f.addNumericRefinement(s,\"<=\",l):f},getRenderState:function(e,t){return o(o({},e),{},{numericMenu:o(o({},e.numericMenu),{},i({},s,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.results,r=e.state,i=e.instantSearchInstance,a=e.helper,o=e.createURL;return h.refine||(h.refine=function(e){var t=Ut(a.state,s,e);h.sendEvent(\"click\",e),a.setState(t).search()}),h.createURL||(h.createURL=function(e){return function(t){return o(Ut(e,s,t))}}),h.sendEvent||(h.sendEvent=function(e){var t=e.instantSearchInstance,n=e.helper,r=e.attribute;return function(){for(var e=arguments.length,i=new Array(e),a=0;a<e;a++)i[a]=arguments[a];if(1!==i.length){var s=i[0],o=i[1],c=i[2],u=void 0===c?\"Filter Applied\":c;if(\"click\"===s){var l=Oe(Ut(n.state,r,o),r);l&&0<l.length&&t.sendEventToInsights({insightsMethod:\"clickedFilters\",widgetType:Vi,eventType:s,payload:{eventName:u,index:n.getIndex(),filters:l},attribute:r})}}else t.sendEventToInsights(i[0])}}({instantSearchInstance:i,helper:a,attribute:s})),{createURL:h.createURL(r),items:f(function(e){return u.map(function(t){var n=t.start,r=t.end,i=t.label;return{label:i,value:encodeURI(JSON.stringify({start:n,end:r})),isRefined:Qt(e,s,{start:n,end:r,label:i})}})}(r),{results:n}),hasNoResults:!n||0===n.nbHits,refine:h.refine,sendEvent:h.sendEvent,widgetParams:t}}}}}function Qt(e,t,n){var r=e.getNumericRefinements(t);return void 0!==n.start&&void 0!==n.end?n.start===n.end?Vt(r,\"=\",n.start):Vt(r,\">=\",n.start)&&Vt(r,\"<=\",n.end):void 0!==n.start?Vt(r,\">=\",n.start):void 0!==n.end?Vt(r,\"<=\",n.end):void 0===n.start&&void 0===n.end&&Object.keys(r).every(function(e){return 0===(r[e]||[]).length})}function Ut(e,t,n){var r=e,i=JSON.parse(decodeURI(n)),a=r.getNumericRefinements(t);if(void 0===i.start&&void 0===i.end)return r.removeNumericRefinement(t);if(Qt(r,t,i)||(r=r.removeNumericRefinement(t)),void 0!==i.start&&void 0!==i.end){if(i.start>i.end)throw new Error(\"option.start should be > to option.end\");if(i.start===i.end)return r=Vt(a,\"=\",i.start)?r.removeNumericRefinement(t,\"=\",i.start):r.addNumericRefinement(t,\"=\",i.start)}return void 0!==i.start&&(Vt(a,\">=\",i.start)&&(r=r.removeNumericRefinement(t,\">=\",i.start)),r=r.addNumericRefinement(t,\">=\",i.start)),void 0!==i.end&&(Vt(a,\"<=\",i.end)&&(r=r.removeNumericRefinement(t,\"<=\",i.end)),r=r.addNumericRefinement(t,\"<=\",i.end)),\"number\"==typeof r.page&&(r.page=0),r}function Vt(e,t,n){return void 0!==e[t]&&e[t].includes(n)}function $t(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,zi()),function(t){var r=t||{},i=r.totalPages,a=r.padding,s=new $i({currentPage:0,total:0,padding:void 0===a?3:a}),c={};return{$$type:\"ais.pagination\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.setQueryParameter(\"page\",void 0)},getWidgetUiState:function(e,t){var n=t.searchParameters.page||0;return n?o(o({},e),{},{page:n+1}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=n.page?n.page-1:0;return e.setQueryParameter(\"page\",r)},getWidgetRenderState:function(e){var n=e.results,r=e.helper,a=e.state,o=e.createURL;c.refine||(c.refine=function(e){r.setPage(e),r.search()}),c.createURL||(c.createURL=function(e){return function(t){return o(e.setPage(t))}});var u=a.page||0,l=function(e){var t=e.nbPages;return void 0!==i?Math.min(i,t):t}(n||{nbPages:0});return s.currentPage=u,s.total=l,{createURL:c.createURL(a),refine:c.refine,canRefine:1<l,currentRefinement:u,nbHits:(null==n?void 0:n.nbHits)||0,nbPages:l,pages:n?s.pages():[],isFirstPage:s.isFirstPage(),isLastPage:s.isLastPage(),widgetParams:t}},getRenderState:function(e,t){return o(o({},e),{},{pagination:this.getWidgetRenderState(t)})}}}}function zt(e){var t=e.min,n=e.max,r=e.precision,i=Math.pow(10,r);return{min:t?Math.floor(t*i)/i:t,max:n?Math.ceil(n*i)/i:n}}function Kt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Ki()),function(t){function r(e,t,n,r){var i,a,s=e.state,o=t.min,c=t.max,u=p(s.getNumericRefinement(l,\">=\")||[],1)[0],d=p(s.getNumericRefinement(l,\"<=\")||[],1)[0],g=void 0===n||\"\"===n,v=void 0===r||\"\"===r,y=zt({min:g?void 0:parseFloat(n),max:v?void 0:parseFloat(r),precision:m}),b=y.min,w=y.max;i=ne(f)||o!==b?ne(f)&&g?f:b:void 0,a=ne(h)||c!==w?ne(h)&&v?h:w:void 0;var S=void 0===i,R=ne(o)&&o<=i,_=S||ne(i)&&(!ne(o)||R),P=void 0===a,x=ne(a)&&a<=c,j=P||ne(a)&&(!ne(c)||x);return(u!==i||d!==a)&&_&&j?(s=s.removeNumericRefinement(l),ne(i)&&(s=s.addNumericRefinement(l,\">=\",i)),ne(a)&&(s=s.addNumericRefinement(l,\"<=\",a)),s.resetPage()):null}function a(e,t,n,r){var i=3<arguments.length&&void 0!==r?r:\"Filter Applied\",a=Oe(e,l);a&&0<a.length&&t.sendEventToInsights({insightsMethod:\"clickedFilters\",widgetType:Ji,eventType:\"click\",payload:{eventName:i,index:n.getIndex(),filters:a},attribute:l})}function s(e,t,n){return function(){var i=p(0<arguments.length&&void 0!==arguments[0]?arguments[0]:[void 0,void 0],2),s=i[0],o=i[1],c=r(t,n,s,o);c&&(a(c,e,t),t.setState(c).search())}}var c=t||{},u=c.attribute,l=void 0===u?\"\":u,f=c.min,h=c.max,d=c.precision,m=void 0===d?0:d;if(!l)throw new Error(Ki(\"The `attribute` option is required.\"));if(ne(f)&&ne(h)&&h<f)throw new Error(Ki(\"The `max` option can't be lower than `min`.\"));var g={from:function(e){return e.toLocaleString()},to:function(e){return function(e){return Number(Number(e).toFixed(m))}(e).toLocaleString()}};return{$$type:Ji,init:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!0)},render:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!1)},getRenderState:function(e,t){return o(o({},e),{},{range:o(o({},e.range),{},i({},l,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.results,i=e.helper,c=e.instantSearchInstance,u=z(n&&n.disjunctiveFacets||[],function(e){return e.name===l}),d=function(e){return zt({min:ne(f)?f:ne(e.min)?e.min:0,max:ne(h)?h:ne(e.max)?e.max:0,precision:m})}(u&&u.stats||{min:void 0,max:void 0}),v=function(e){\nvar t=p(e.getNumericRefinement(l,\">=\")||[],1)[0],n=p(e.getNumericRefinement(l,\"<=\")||[],1)[0];return[ne(t)?t:-1/0,ne(n)?n:1/0]}(i);return{refine:s(c,i,n?d:{min:void 0,max:void 0}),canRefine:d.min!==d.max,format:g,range:d,sendEvent:function(e,t,n){return function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];if(1!==s.length){var c=s[0],u=s[1],l=s[2];if(\"click\"===c){var f=p(u,2),h=f[0],d=f[1],m=r(t,n,h,d);a(m,e,t,l)}}else e.sendEventToInsights(s[0])}}(c,i,d),widgetParams:o(o({},t),{},{precision:m}),start:v}},dispose:function(e){var t=e.state;return n(),t.removeDisjunctiveFacet(l).removeNumericRefinement(l)},getWidgetUiState:function(e,t){var n=t.searchParameters.getNumericRefinements(l),r=n[\">=\"],a=void 0===r?[]:r,s=n[\"<=\"],c=void 0===s?[]:s;return 0===a.length&&0===c.length?e:o(o({},e),{},{range:o(o({},e.range),{},i({},l,\"\".concat(a,\":\").concat(c)))})},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=e.addDisjunctiveFacet(l).setQueryParameters({numericRefinements:o(o({},e.numericRefinements),{},i({},l,{}))});ne(f)&&(r=r.addNumericRefinement(l,\">=\",f)),ne(h)&&(r=r.addNumericRefinement(l,\"<=\",h));var a=n.range&&n.range[l];if(!a||-1===a.indexOf(\":\"))return r;var s=p(a.split(\":\").map(parseFloat),2),c=s[0],u=s[1];return ne(c)&&(!ne(f)||f<c)&&(r=(r=r.removeNumericRefinement(l,\">=\")).addNumericRefinement(l,\">=\",c)),ne(u)&&(!ne(h)||u<h)&&(r=(r=r.removeNumericRefinement(l,\"<=\")).addNumericRefinement(l,\"<=\",u)),r}}}}function Jt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Xi()),function(t){function r(e){var t=e.name,n=e.escapedValue;return o(o({},f(e,[\"name\",\"escapedValue\"])),{},{value:n,label:t,highlighted:t})}function a(){T()}function s(){return E?b:m}function c(t,n){return function(r){return function(i){var a=r.instantSearchInstance,c=r.results;if(\"\"===i&&F)e(o(o({},n.getWidgetRenderState(o(o({},r),{},{results:j}))),{},{instantSearchInstance:a}),!1);else{var u={highlightPreTag:_?Zr.highlightPreTag:ei.highlightPreTag,highlightPostTag:_?Zr.highlightPostTag:ei.highlightPostTag};t.searchForFacetValues(l,i,Math.min(s(),100),u).then(function(t){var i=_?function(e){return e.map(function(e){return o(o({},e),{},{highlighted:oe(e.highlighted)})})}(t.facetHits):t.facetHits,s=x(i.map(function(e){var t=e.escapedValue,n=e.value;return o(o({},f(e,[\"escapedValue\",\"value\"])),{},{value:t,label:n})}),{results:c});e(o(o({},n.getWidgetRenderState(o(o({},r),{},{results:j}))),{},{items:s,canToggleShowMore:!1,canRefine:!0,isFromSearch:!0,instantSearchInstance:a}),!1)})}}}}var u=t||{},l=u.attribute,h=u.operator,d=void 0===h?\"or\":h,p=u.limit,m=void 0===p?10:p,g=u.showMore,v=void 0!==g&&g,y=u.showMoreLimit,b=void 0===y?20:y,w=u.sortBy,S=void 0===w?Gi:w,R=u.escapeFacetValues,_=void 0===R||R,P=u.transformItems,x=void 0===P?function(e){return e}:P;if(!l)throw new Error(Xi(\"The `attribute` option is required.\"));if(!/^(and|or)$/.test(d))throw new Error(Xi('The `operator` must one of: `\"and\"`, `\"or\"` (got \"'.concat(d,'\").')));if(!0===v&&b<=m)throw new Error(Xi(\"`showMoreLimit` should be greater than `limit`.\"));var j,O,N,F=[],I=!0,E=!1,T=function(){},C=function(){return function(){}};return{$$type:\"ais.refinementList\",init:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!0)},render:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!1)},getRenderState:function(e,t){return o(o({},e),{},{refinementList:o(o({},e.refinementList),{},i({},l,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.results,i=e.state,o=e.createURL,u=e.instantSearchInstance,f=e.helper,h=[],d=[];if(N&&O&&C||(N=Se({instantSearchInstance:u,helper:f,attribute:l,widgetType:this.$$type}),O=function(e){N(\"click\",e),f.toggleFacetRefinement(l,e).search()},C=c(f,this)),n){var p=n.getFacetValues(l,{sortBy:S,facetOrdering:S===Gi});d=p&&Array.isArray(p)?p:[],h=x(d.slice(0,s()).map(r),{results:n});var g=i.maxValuesPerFacet,y=s();I=y<g?d.length<=y:d.length<y,j=n,F=h,e.results&&(T=function(e,t){return function(){E=!E,t.render(e)}}(e,this))}var b=C&&C(e),w=E&&F.length>m||v&&!I;return{createURL:function(e){return o(i.resetPage().toggleFacetRefinement(l,e))},items:h,refine:O,searchForItems:b,isFromSearch:!1,canRefine:0<h.length,widgetParams:t,isShowingMore:E,canToggleShowMore:w,toggleShowMore:a,sendEvent:N,hasExhaustiveItems:I}},dispose:function(e){var t=e.state;n();var r=t.setQueryParameter(\"maxValuesPerFacet\",void 0);return\"and\"===d?r.removeFacet(l):r.removeDisjunctiveFacet(l)},getWidgetUiState:function(e,t){var n=t.searchParameters,r=\"or\"===d?n.getDisjunctiveRefinements(l):n.getConjunctiveRefinements(l);return r.length?o(o({},e),{},{refinementList:o(o({},e.refinementList),{},i({},l,r))}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=\"or\"===d,a=n.refinementList&&n.refinementList[l],s=e.clearRefinements(l),c=r?s.addDisjunctiveFacet(l):s.addFacet(l),u=c.maxValuesPerFacet||0,f=Math.max(u,v?b:m),h=c.setQueryParameter(\"maxValuesPerFacet\",f);if(a)return a.reduce(function(e,t){return r?e.addDisjunctiveFacetRefinement(l,t):e.addFacetRefinement(l,t)},h);var p=r?\"disjunctiveFacetsRefinements\":\"facetsRefinements\";return h.setQueryParameters(i({},p,o(o({},h[p]),{},i({},l,[]))))}}}}function Xt(e,t){return t(e)}function Gt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,Yi()),function(t){var r,i,a=(t||{}).queryHook,s=void 0===a?Xt:a;return{$$type:\"ais.searchBox\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.setQueryParameter(\"query\",void 0)},getRenderState:function(e,t){return o(o({},e),{},{searchBox:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=e.helper,a=e.searchMetadata,o=e.state;return r||(r=function(e){s(e,function(e){return n.setQuery(e).search()})},i=function(){n.setQuery(\"\").search()}),{query:o.query||\"\",refine:r,clear:i,widgetParams:t,isSearchStalled:a.isSearchStalled}},getWidgetUiState:function(e,t){var n=t.searchParameters.query||\"\";return\"\"===n||e&&e.query===n?e:o(o({},e),{},{query:n})},getWidgetSearchParameters:function(e,t){var n=t.uiState;return e.setQueryParameter(\"query\",n.query||\"\")}}}}function Yt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;Y(e,Zi());var r={};return function(t){var i=t||{},a=i.items,s=i.transformItems,c=void 0===s?function(e){return e}:s;if(!Array.isArray(a))throw new Error(Zi(\"The `items` option expects an array of objects.\"));return{$$type:\"ais.sortBy\",init:function(t){var n=t.instantSearchInstance,r=this.getWidgetRenderState(t),i=r.currentRefinement;z(a,function(e){return e.value===i}),e(o(o({},r),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),r.initialIndex?t.setIndex(r.initialIndex):t},getRenderState:function(e,t){return o(o({},e),{},{sortBy:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=e.results,i=e.helper,s=e.state,o=e.parent;return!r.initialIndex&&o&&(r.initialIndex=o.getIndexName()),r.setIndex||(r.setIndex=function(e){i.setIndex(e).search()}),{currentRefinement:s.index,options:c(a,{results:n}),refine:r.setIndex,hasNoResults:!n||0===n.nbHits,widgetParams:t}},getWidgetUiState:function(e,t){var n=t.searchParameters.index;return o(o({},e),{},{sortBy:n!==r.initialIndex?n:void 0})},getWidgetSearchParameters:function(e,t){var n=t.uiState;return e.setQueryParameter(\"index\",n.sortBy||r.initialIndex||e.index)}}}}function Zt(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,ea()),function(t){function r(e){var t,n=e.getNumericRefinements(u);if(null!==(t=n[\">=\"])&&void 0!==t&&t.length)return n[\">=\"][0]}function a(e,t){var n=r(e)===Number(t),i=e.resetPage().removeNumericRefinement(u);return n?i:i.addNumericRefinement(u,\"<=\",f).addNumericRefinement(u,\">=\",Number(t))}var s,c=t||{},u=c.attribute,l=c.max,f=void 0===l?5:l;if(!u)throw new Error(ea(\"The `attribute` option is required.\"));var h=function(e){return function(e,t){s(\"click\",t),e.setState(a(e.state,t)).search()}.bind(null,e)},d=function(e){var t=e.state,n=e.createURL;return function(e){return n(a(t,e))}};return{$$type:ta,init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},getRenderState:function(e,t){return o(o({},e),{},{ratingMenu:o(o({},e.ratingMenu),{},i({},u,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.helper,i=e.results,a=e.state,o=e.instantSearchInstance,c=e.createURL,l=[];if(s=s||function(e){var t=e.instantSearchInstance,n=e.helper,r=e.getRefinedStar,i=e.attribute;return function(){for(var e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];if(1!==a.length){var o=a[0],c=a[1],u=a[2],l=void 0===u?\"Filter Applied\":u;\"click\"===o&&(r()===Number(c)||t.sendEventToInsights({insightsMethod:\"clickedFilters\",widgetType:ta,eventType:o,payload:{eventName:l,index:n.getIndex(),filters:[\"\".concat(i,\">=\").concat(c)]},attribute:i}))}else t.sendEventToInsights(a[0])}}({instantSearchInstance:o,helper:n,getRefinedStar:function(){return r(n.state)},attribute:u}),i)for(var g=i.getFacetValues(u,{}),v=(g.length,function(e){var t=0;e.forEach(function(e){var n=p(e.name.split(\".\"),2)[1],r=void 0===n?\"\":n;t=Math.max(t,r.length)})}(g),r(a)),y=function(e){var t=v===e,n=g.filter(function(t){return Number(t.name)>=e&&Number(t.name)<=f}).map(function(e){return e.count}).reduce(function(e,t){return e+t},0);if(v&&!t&&0===n)return\"continue\";var r=m(new Array(Math.floor(f/1))).map(function(t,n){return 1*n<e});l.push({stars:r,name:String(e),label:String(e),value:String(e),count:n,isRefined:t})},b=1;b<f;b+=1)y(b);return{items:l=l.reverse(),hasNoResults:!i||0===i.nbHits,canRefine:0<l.length,refine:h(n),sendEvent:s,createURL:d({state:a,createURL:c}),widgetParams:t}},dispose:function(e){var t=e.state;return n(),t.removeNumericRefinement(u)},getWidgetUiState:function(e,t){var n=t.searchParameters,a=r(n);return\"number\"!=typeof a?e:o(o({},e),{},{ratingMenu:o(o({},e.ratingMenu),{},i({},u,a))})},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=n.ratingMenu&&n.ratingMenu[u],a=e.clearRefinements(u).addDisjunctiveFacet(u);return r?a.addNumericRefinement(u,\"<=\",f).addNumericRefinement(u,\">=\",r):a.setQueryParameters({numericRefinements:o(o({},a.numericRefinements),{},i({},u,{}))})}}}}function en(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,na()),function(t){return{$$type:\"ais.stats\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(){n()},getRenderState:function(e,t){return o(o({},e),{},{stats:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=e.results,r=e.state;return n?{hitsPerPage:n.hitsPerPage,nbHits:n.nbHits,nbSortedHits:n.nbSortedHits,areHitsSorted:void 0!==n.appliedRelevancyStrictness&&0<n.appliedRelevancyStrictness&&n.nbSortedHits!==n.nbHits,nbPages:n.nbPages,page:n.page,processingTimeMS:n.processingTimeMS,query:n.query,widgetParams:t}:{hitsPerPage:r.hitsPerPage,nbHits:0,nbSortedHits:void 0,areHitsSorted:!1,nbPages:0,page:r.page||0,processingTimeMS:-1,query:r.query||\"\",widgetParams:t}}}}}function tn(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,ra()),function(t){var r=t||{},a=r.attribute,s=r.on,c=void 0===s||s,u=r.off;if(!a)throw new Error(ra(\"The `attribute` option is required.\"));var l,f=void 0!==u,h=ge(c).map(K),d=f?ge(u).map(K):void 0,p=function(e,t){var n=t.state,r=t.createURL;return function(){n=n.resetPage();var t=e?h:d;t&&t.forEach(function(e){n=n.removeDisjunctiveFacetRefinement(a,e)});var i=e?d:h;return i&&i.forEach(function(e){n=n.addDisjunctiveFacetRefinement(a,e)}),r(n)}};return{$$type:ia,init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},dispose:function(e){var t=e.state;return n(),t.removeDisjunctiveFacet(a)},getRenderState:function(e,t){return o(o({},e),{},{toggleRefinement:o(o({},e.toggleRefinement),{},i({},a,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.state,r=e.helper,i=e.results,s=e.createURL,o=e.instantSearchInstance,c=i?h.every(function(e){return n.isDisjunctiveFacetRefined(a,e)}):h.every(function(e){return n.isDisjunctiveFacetRefined(a,e)}),u={isRefined:c,count:0},m={isRefined:f&&!c,count:0};if(i){var g=ge(d||!1),v=i.getFacetValues(a,{})||[],y=h.map(function(e){return z(v,function(t){return t.escapedValue===K(String(e))})}).filter(function(e){return void 0!==e}),b=f?g.map(function(e){return z(v,function(t){return t.escapedValue===K(String(e))})}).filter(function(e){return void 0!==e}):[];u={isRefined:!!y.length&&y.every(function(e){return e.isRefined}),count:y.reduce(function(e,t){return e+t.count},0)||null},m={isRefined:!!b.length&&b.every(function(e){return e.isRefined}),count:b.reduce(function(e,t){return e+t.count},0)||v.reduce(function(e,t){return e+t.count},0)}}l=l||function(e){var t=e.instantSearchInstance,n=e.helper,r=e.attribute,i=e.on;return function(){for(var e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];if(1!==a.length){var o=a[0],c=a[1],u=a[2],l=void 0===u?\"Filter Applied\":u;\"click\"===o&&void 0!==i&&(c||t.sendEventToInsights({insightsMethod:\"clickedFilters\",widgetType:ia,eventType:o,payload:{eventName:l,index:n.getIndex(),filters:i.map(function(e){return\"\".concat(r,\":\").concat(e)})},attribute:r}))}else t.sendEventToInsights(a[0])}}({instantSearchInstance:o,attribute:a,on:h,helper:r});var w=c?m:u;return{value:{name:a,isRefined:c,count:i?w.count:null,onFacetValue:u,offFacetValue:m},createURL:p(c,{state:n,createURL:s}),sendEvent:l,canRefine:Boolean(i?w.count:null),refine:function(e){return function(){var t=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{isRefined:!1}).isRefined;t?(h.forEach(function(t){return e.removeDisjunctiveFacetRefinement(a,t)}),f&&d.forEach(function(t){return e.addDisjunctiveFacetRefinement(a,t)})):(l(\"click\",t),f&&d.forEach(function(t){return e.removeDisjunctiveFacetRefinement(a,t)}),h.forEach(function(t){return e.addDisjunctiveFacetRefinement(a,t)})),e.search()}}(r),widgetParams:t}},getWidgetUiState:function(e,t){var n=t.searchParameters,r=h&&h.every(function(e){return n.isDisjunctiveFacetRefined(a,e)});return r?o(o({},e),{},{toggle:o(o({},e.toggle),{},i({},a,r))}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState,r=e.clearRefinements(a).addDisjunctiveFacet(a);return Boolean(n.toggle&&n.toggle[a])?(h&&h.forEach(function(e){r=r.addDisjunctiveFacetRefinement(a,e)}),r):f?(d&&d.forEach(function(e){r=r.addDisjunctiveFacetRefinement(a,e)}),r):r.setQueryParameters({disjunctiveFacetsRefinements:o(o({},e.disjunctiveFacetsRefinements),{},i({},a,[]))})}}}}function nn(e,t){var n=1<arguments.length&&void 0!==t?t:Z;Y(e,aa());var r={};return function(t){function a(e,t){if(t)return e.resetPage().toggleFacetRefinement(g,t);var n=e.getHierarchicalFacetBreadcrumb(g);return 0===n.length?e:e.resetPage().toggleFacetRefinement(g,n[0])}var s=t||{},c=s.attributes,u=s.separator,l=void 0===u?\" > \":u,f=s.rootPath,h=void 0===f?null:f,d=s.transformItems,m=void 0===d?function(e){return e}:d;if(!c||!Array.isArray(c)||0===c.length)throw new Error(aa(\"The `attributes` option expects an array of strings.\"));var g=p(c,1)[0];return{$$type:\"ais.breadcrumb\",init:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!0)},render:function(t){e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!1)},dispose:function(){n()},getRenderState:function(e,t){return o(o({},e),{},{breadcrumb:o(o({},e.breadcrumb),{},i({},g,this.getWidgetRenderState(t)))})},getWidgetRenderState:function(e){var n=e.helper,i=e.createURL,s=e.results,o=e.state,c=function(){if(!s||0===o.hierarchicalFacets.length)return[];var e=p(o.hierarchicalFacets,1)[0].name,t=s.getFacetValues(e,{}),n=Array.isArray(t.data)?t.data:[];return m(function(e){return e.map(function(t,n){return{label:t.label,value:n+1===e.length?null:e[n+1].value}})}(function e(t){return t.reduce(function(t,n){return n.isRefined&&(t.push({label:n.name,value:n.escapedValue}),Array.isArray(n.data)&&(t=t.concat(e(n.data)))),t},[])}(n)),{results:s})}();return r.createURL||(r.createURL=function(e){return i(a(n.state,e))}),r.refine||(r.refine=function(e){n.setState(a(n.state,e)).search()}),{canRefine:0<c.length,createURL:r.createURL,items:c,refine:r.refine,widgetParams:t}},getWidgetSearchParameters:function(e){return e.isHierarchicalFacet(g)?(e.getHierarchicalFacetByName(g),e):e.addHierarchicalFacet({name:g,attributes:c,separator:l,rootPath:h})}}}}function rn(e){return e.insideBoundingBox||\"\"}function an(e,t){return e.setQueryParameter(\"insideBoundingBox\",t)}function sn(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,sa()),function(t){function r(e){return e.aroundLatLng?function(e){var t=e.match(ni);if(!t)throw new Error('Invalid value for \"aroundLatLng\" parameter: \"'.concat(e,'\"'));return{lat:parseFloat(t[1]),lng:parseFloat(t[2])}}(e.aroundLatLng):void 0}function i(){return v.internalToggleRefineOnMapMove()}function a(e,t){return function(){v.isRefineOnMapMove=!v.isRefineOnMapMove,t(e)}}function s(){return v.isRefineOnMapMove}function c(){return v.internalSetMapMoveSinceLastRefine()}function u(e,t){return function(){var n=!0!==v.hasMapMoveSinceLastRefine;v.hasMapMoveSinceLastRefine=!0,n&&t(e)}}function l(){return v.hasMapMoveSinceLastRefine}var f,h=t||{},d=h.enableRefineOnMapMove,p=void 0===d||d,m=h.transformItems,g=void 0===m?function(e){return e}:m,v={isRefineOnMapMove:p,hasMapMoveSinceLastRefine:!1,lastRefinePosition:\"\",lastRefineBoundingBox:\"\",internalToggleRefineOnMapMove:Z,internalSetMapMoveSinceLastRefine:Z};return{$$type:oa,init:function(t){var n=t.instantSearchInstance;v.internalToggleRefineOnMapMove=a(t,Z),v.internalSetMapMoveSinceLastRefine=u(t,Z),e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.helper,r=t.instantSearchInstance,i=n.state,s=Boolean(i.aroundLatLng)&&Boolean(v.lastRefinePosition)&&i.aroundLatLng!==v.lastRefinePosition,c=!i.insideBoundingBox&&Boolean(v.lastRefineBoundingBox)&&i.insideBoundingBox!==v.lastRefineBoundingBox;(s||c)&&(v.hasMapMoveSinceLastRefine=!1),v.lastRefinePosition=i.aroundLatLng||\"\",v.lastRefineBoundingBox=rn(i),v.internalToggleRefineOnMapMove=a(t,this.render.bind(this)),v.internalSetMapMoveSinceLastRefine=u(t,this.render.bind(this));var l=this.getWidgetRenderState(t);f(\"view\",l.items),e(o(o({},l),{},{instantSearchInstance:r}),!1)},getWidgetRenderState:function(e){var n=e.helper,a=e.results,o=e.instantSearchInstance,u=n.state,h=a?g(a.hits.filter(function(e){return e._geoloc}),{results:a}):[];return f=f||xe({instantSearchInstance:o,index:n.getIndex(),widgetType:oa}),{items:h,position:r(u),currentRefinement:function(e){return e.insideBoundingBox&&ye(e.insideBoundingBox)}(u),refine:function(e){return function(t){var n=t.northEast,r=t.southWest,i=[n.lat,n.lng,r.lat,r.lng].join();e.setState(an(e.state,i).resetPage()).search(),v.hasMapMoveSinceLastRefine=!1,v.lastRefineBoundingBox=i}}(n),sendEvent:f,clearMapRefinement:function(e){return function(){e.setQueryParameter(\"insideBoundingBox\",void 0).search()}}(n),isRefinedWithMap:function(e){return function(){return Boolean(e.insideBoundingBox)}}(u),toggleRefineOnMapMove:i,isRefineOnMapMove:s,setMapMoveSinceLastRefine:c,hasMapMoveSinceLastRefine:l,widgetParams:t}},getRenderState:function(e,t){return o(o({},e),{},{geoSearch:this.getWidgetRenderState(t)})},dispose:function(e){var t=e.state;return n(),t.setQueryParameter(\"insideBoundingBox\",void 0)},getWidgetUiState:function(e,t){var n=rn(t.searchParameters);return!n||e&&e.geoSearch&&e.geoSearch.boundingBox===n?e:o(o({},e),{},{geoSearch:{boundingBox:n}})},getWidgetSearchParameters:function(e,t){var n=t.uiState;return n&&n.geoSearch?an(e,n.geoSearch.boundingBox):e.setQueryParameter(\"insideBoundingBox\",void 0)}}}}function on(e,t){var n=1<arguments.length&&void 0!==t?t:Z;Y(e,ca());var r=\"https://www.algolia.com/?utm_source=instantsearch.js&utm_medium=website&\"+\"utm_content=\".concat(Ie(function(e){var t;return(null===(t=e.window.location)||void 0===t?void 0:t.hostname)||\"\"},{fallback:function(){return\"\"}}),\"&\")+\"utm_campaign=poweredby\";return function(t){var i=(t||{}).url,a=void 0===i?r:i;return{$$type:\"ais.poweredBy\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},getRenderState:function(e,t){return o(o({},e),{},{poweredBy:this.getWidgetRenderState(t)})},getWidgetRenderState:function(){return{url:a,widgetParams:t}},dispose:function(){n()}}}}function cn(e,t){return e.setQueryParameters(Object.keys(t.searchParameters).reduce(function(e,t){return o(o({},e),{},i({},t,void 0))},{}))}function un(e,t){var n=0<arguments.length&&void 0!==e?e:Z,r=1<arguments.length&&void 0!==t?t:Z;return function(e){if(!e||!re(e.searchParameters))throw new Error(ua(\"The `searchParameters` option expects an object.\"));var t={};return{$$type:\"ais.configure\",init:function(e){var t=e.instantSearchInstance;n(o(o({},this.getWidgetRenderState(e)),{},{instantSearchInstance:t}),!0)},render:function(e){var t=e.instantSearchInstance;n(o(o({},this.getWidgetRenderState(e)),{},{instantSearchInstance:t}),!1)},dispose:function(t){var n=t.state;return r(),cn(n,e)},getRenderState:function(e,t){var n,r=this.getWidgetRenderState(t);return o(o({},e),{},{configure:o(o({},r),{},{widgetParams:o(o({},r.widgetParams),{},{searchParameters:me(new Dr.SearchParameters(null===(n=e.configure)||void 0===n?void 0:n.widgetParams.searchParameters),new Dr.SearchParameters(r.widgetParams.searchParameters)).getQueryParams()})})})},getWidgetRenderState:function(n){var r=n.helper;return t.refine||(t.refine=function(t){return function(n){var r=cn(t.state,e),i=me(r,new Dr.SearchParameters(n));e.searchParameters=n,t.setState(i).search()}}(r)),{refine:t.refine,widgetParams:e}},getWidgetSearchParameters:function(t,n){var r=n.uiState;return me(t,new Dr.SearchParameters(o(o({},r.configure),e.searchParameters)))},getWidgetUiState:function(t){return o(o({},t),{},{configure:o(o({},t.configure),e.searchParameters)})}}}}function ln(e){var t=e.attributeName,n=e.attributeValue,r=e.attributeScore;return\"\".concat(t,\":\").concat(n,\"<score=\").concat(r||1,\">\")}function fn(e,t){return function(n){var r=n||{},i=r.hit,a=r.matchingPatterns,s=r.transformSearchParameters,c=void 0===s?function(e){return e}:s;if(!i)throw new Error(la(\"The `hit` option is required.\"));if(!a)throw new Error(la(\"The `matchingPatterns` option is required.\"));var u=Object.keys(a).reduce(function(e,t){var n=a[t],r=te(i,t),s=n.score;return Array.isArray(r)?[].concat(m(e),[r.map(function(e){return ln({attributeName:t,attributeValue:e,attributeScore:s})})]):\"string\"==typeof r?[].concat(m(e),[ln({attributeName:t,attributeValue:r,attributeScore:s})]):e},[]),l=o({},c(new Dr.SearchParameters({sumOrFiltersScores:!0,facetFilters:[\"objectID:-\".concat(i.objectID)],optionalFilters:u})));return o(o({},un(e,t)({searchParameters:l})),{},{$$type:\"ais.configureRelatedItems\"})}}function hn(e){var t=this.helper,n=this.initialRuleContexts,r=this.trackedFilters,i=this.transformRuleContexts,a=e.state,s=a.ruleContexts||[],c=function(e){var t=e.helper,n=e.sharedHelperState,r=e.trackedFilters;return Object.keys(r).reduce(function(e,i){var a=X(t.lastResults||{},n,!0).filter(function(e){return e.attribute===i}).map(function(e){return e.numericValue||e.name}),s=(0,r[i])(a);return[].concat(m(e),m(a.filter(function(e){return s.includes(e)}).map(function(e){return function(e){return e.replace(/[^a-z0-9-_]+/gi,\"_\")}(\"ais-\".concat(i,\"-\").concat(e))})))},[])}({helper:t,sharedHelperState:a,trackedFilters:r}),u=i([].concat(m(n),m(c))).slice(0,10);se(s,u)||t.overrideStateWithoutTriggeringChangeEvent(o(o({},a),{},{ruleContexts:u}))}function dn(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,ha()),function(t){var r=t||{},i=r.trackedFilters,a=void 0===i?{}:i,s=r.transformRuleContexts,c=void 0===s?function(e){return e}:s,u=r.transformItems,l=void 0===u?function(e){return e}:u;Object.keys(a).forEach(function(e){if(\"function\"!=typeof a[e])throw new Error(ha(\"'The \\\"\".concat(e,'\" filter value in the `trackedFilters` option expects a function.')))});var f,h=0<Object.keys(a).length,d=[];return{$$type:\"ais.queryRules\",init:function(n){var r=n.helper,i=n.state,s=n.instantSearchInstance;d=i.ruleContexts||[],f=hn.bind({helper:r,initialRuleContexts:d,trackedFilters:a,transformRuleContexts:c}),h&&((function(e){return[e.disjunctiveFacetsRefinements,e.facetsRefinements,e.hierarchicalFacetsRefinements,e.numericRefinements].some(function(e){return Boolean(e&&0<Object.keys(e).length)})}(i)||Boolean(t.transformRuleContexts))&&f({state:i}),r.on(\"change\",f)),e(o(o({},this.getWidgetRenderState(n)),{},{instantSearchInstance:s}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},getWidgetRenderState:function(e){var n=e.results,r=(n||{}).userData;return{items:l(void 0===r?[]:r,{results:n}),widgetParams:t}},getRenderState:function(e,t){return o(o({},e),{},{queryRules:this.getWidgetRenderState(t)})},dispose:function(e){var t=e.helper,r=e.state;return n(),h?(t.removeListener(\"change\",f),r.setQueryParameter(\"ruleContexts\",d)):r}}}}function pn(e){function t(e){return{status:e,transcript:\"\",isSpeechFinal:!1,errorCode:void 0}}function n(e){var t=0<arguments.length&&void 0!==e?e:{};g=o(o({},g),t),p()}function r(e){n(t(0<arguments.length&&void 0!==e?e:\"initial\"))}function i(){n({status:\"waiting\"})}function a(e){n({status:\"error\",errorCode:e.error})}function s(e){n({status:\"recognizing\",transcript:e.results[0]&&e.results[0][0]&&e.results[0][0].transcript||\"\",isSpeechFinal:e.results[0]&&e.results[0].isFinal}),f&&g.transcript&&d(g.transcript)}function c(){g.errorCode||!g.transcript||f||d(g.transcript),\"error\"!==g.status&&n({status:\"finished\"})}function u(){l&&(l.stop(),l.removeEventListener(\"start\",i),l.removeEventListener(\"error\",a),l.removeEventListener(\"result\",s),l.removeEventListener(\"end\",c),l=void 0)}var l,f=e.searchAsYouSpeak,h=e.language,d=e.onQueryChange,p=e.onStateChange,m=window.webkitSpeechRecognition||window.SpeechRecognition,g=t(\"initial\");return{getState:function(){return g},isBrowserSupported:function(){return Boolean(m)},isListening:function(){return\"askingPermission\"===g.status||\"waiting\"===g.status||\"recognizing\"===g.status},startListening:function(){(l=new m)&&(r(\"askingPermission\"),l.interimResults=!0,h&&(l.lang=h),l.addEventListener(\"start\",i),l.addEventListener(\"error\",a),l.addEventListener(\"result\",s),l.addEventListener(\"end\",c),l.start())},stopListening:function(){u(),r(\"finished\")},dispose:u}}function mn(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,da()),function(t){var r=t.searchAsYouSpeak,i=void 0!==r&&r,a=t.language,s=t.additionalQueryParameters,c=t.createVoiceSearchHelper,u=void 0===c?pn:c;return{$$type:\"ais.voiceSearch\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!1)},getRenderState:function(e,t){return o(o({},e),{},{voiceSearch:this.getWidgetRenderState(t)})},getWidgetRenderState:function(n){var r=this,c=n.helper,l=n.instantSearchInstance;this._refine||(this._refine=function(e){if(e!==c.state.query){var t=a?[a.split(\"-\")[0]]:void 0;c.setQueryParameter(\"queryLanguages\",t),\"function\"==typeof s&&c.setState(c.state.setQueryParameters(o({ignorePlurals:!0,removeStopWords:!0,optionalWords:e},s({query:e})))),c.setQuery(e).search()}}),this._voiceSearchHelper||(this._voiceSearchHelper=u({searchAsYouSpeak:i,language:a,onQueryChange:function(e){return r._refine(e)},onStateChange:function(){e(o(o({},r.getWidgetRenderState(n)),{},{instantSearchInstance:l}),!1)}}));var f=this._voiceSearchHelper,h=f.isBrowserSupported,d=f.isListening,p=f.startListening,m=f.stopListening,g=f.getState;return{isBrowserSupported:h(),isListening:d(),toggleListening:function(){h()&&(d()?m():p())},voiceListeningState:g(),widgetParams:t}},dispose:function(e){var t=e.state;this._voiceSearchHelper.dispose(),n();var r=t;if(\"function\"==typeof s){var i=s({query:\"\"}),a=i?Object.keys(i).reduce(function(e,t){return e[t]=void 0,e},{}):{};r=t.setQueryParameters(o({queryLanguages:void 0,ignorePlurals:void 0,removeStopWords:void 0,optionalWords:void 0},a))}return r.setQueryParameter(\"query\",void 0)},getWidgetUiState:function(e,t){var n=t.searchParameters.query||\"\";return n?o(o({},e),{},{query:n}):e},getWidgetSearchParameters:function(e,t){var n=t.uiState;return e.setQueryParameter(\"query\",n.query||\"\")}}}}function gn(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,pa()),function(t){var r=t||{},i=r.queryLanguages,a=r.attributesForPrediction,s=r.nbHits,c=void 0===s?1:s,u=r.renderDebounceTime,l=void 0===u?100:u,f=r.searchDebounceTime,h=void 0===f?100:f,d=r.escapeHTML,p=void 0===d||d,m=r.extraParameters,g=void 0===m?{}:m;if(!i||0===i.length)throw new Error(pa(\"The `queryLanguages` expects an array of strings.\"));var v,y=function(){var e=-1,t=-1,n=void 0;return function(r){var i=++e;return Promise.resolve(r).then(function(e){return n&&i<t?n:(t=i,n=e)})}}(),b=[],w=!1,S=Ne(e,l);return{$$type:\"ais.answers\",init:function(t){var n=t.state,r=t.instantSearchInstance.client.initIndex(n.index);if(!function(e){return\"function\"==typeof e.findAnswers}(r))throw new Error(pa(\"`algoliasearch` >= 4.8.0 required.\"));v=Ne(r.findAnswers,h),e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!0)},render:function(t){var n=this,r=t.state.query;return r?(b=[],w=!0,e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!1),y(v(r,i,o(o({},g),{},{nbHits:c,attributesForPrediction:a}))).then(function(e){if(e){p&&0<e.hits.length&&(e.hits=ue(e.hits));var r=we(be(e.hits,0,c),e.queryID);b=r,w=!1,S(o(o({},n.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!1)}}),void 0):(w=!(b=[]),void e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:t.instantSearchInstance}),!1))},getRenderState:function(e,t){return o(o({},e),{},{answers:this.getWidgetRenderState(t)})},getWidgetRenderState:function(){return{hits:b,isLoading:w,widgetParams:t}},dispose:function(e){var t=e.state;return n(),t},getWidgetSearchParameters:function(e){return e}}}}function vn(e,t){var n=0<arguments.length&&void 0!==e?e:Z,r=1<arguments.length&&void 0!==t?t:Z;return function(e){var t={};return{$$type:\"ais.relevantSort\",init:function(e){var t=e.instantSearchInstance;n(o(o({},this.getWidgetRenderState(e)),{},{instantSearchInstance:t}),!0)},render:function(e){var t=e.instantSearchInstance;n(o(o({},this.getWidgetRenderState(e)),{},{instantSearchInstance:t}),!1)},dispose:function(e){var t=e.state;return r(),t.setQueryParameter(\"relevancyStrictness\",void 0)},getRenderState:function(e,t){return o(o({},e),{},{relevantSort:this.getWidgetRenderState(t)})},getWidgetRenderState:function(n){var r=n.results,i=n.helper;t.refine||(t.refine=function(e){i.setQueryParameter(\"relevancyStrictness\",e).search()});var a=(r||{}).appliedRelevancyStrictness,s=void 0!==a;\nreturn{isRelevantSorted:void 0!==a&&0<a,isVirtualReplica:s,canRefine:s,refine:t.refine,widgetParams:e}},getWidgetSearchParameters:function(e,t){var n,r=t.uiState;return e.setQueryParameter(\"relevancyStrictness\",null!==(n=r.relevantSort)&&void 0!==n?n:e.relevancyStrictness)},getWidgetUiState:function(e,t){var n=t.searchParameters;return o(o({},e),{},{relevantSort:n.relevancyStrictness||e.relevantSort})}}}}function yn(t,n){var r=1<arguments.length&&void 0!==n?n:Z;return Y(t,ma()),function(n){var i=n.widgets,a=n.maxValuesPerFacet,s=void 0===a?20:a,c=n.facets,u=void 0===c?[\"*\"]:c,l=n.transformItems,f=void 0===l?function(e){return e}:l,h=n.fallbackWidget;if(!(i&&Array.isArray(i)&&i.every(function(t){return\"object\"===e(t)})))throw new Error(ma(\"The `widgets` option expects an array of widgets.\"));if(!(Array.isArray(u)&&u.length<=1)||\"*\"!==u[0]&&void 0!==u[0])throw new Error(ma('The `facets` option only accepts [] or [\"*\"], you passed '.concat(JSON.stringify(u))));var d=new Map;return{$$type:\"ais.dynamicWidgets\",init:function(e){i.forEach(function(t){var n=Fe(t,e);d.set(n,{widget:t,isMounted:!1})}),t(o(o({},this.getWidgetRenderState(e)),{},{instantSearchInstance:e.instantSearchInstance}),!0)},render:function(e){var n=e.parent,r=this.getWidgetRenderState(e),i=[],a=[];h&&r.attributesToRender.forEach(function(e){if(!d.has(e)){var t=h({attribute:e});d.set(e,{widget:t,isMounted:!1})}}),d.forEach(function(e,t){var n=e.widget,s=e.isMounted,o=-1<r.attributesToRender.indexOf(t);!s&&o?(a.push(n),d.set(t,{widget:n,isMounted:!0})):s&&!o&&(i.push(n),d.set(t,{widget:n,isMounted:!1}))}),n.addWidgets(a),setTimeout(function(){return n.removeWidgets(i)},0),t(o(o({},r),{},{instantSearchInstance:e.instantSearchInstance}),!1)},dispose:function(e){var t=e.parent,n=[];d.forEach(function(e){var t=e.widget;e.isMounted&&n.push(t)}),t.removeWidgets(n),r()},getWidgetSearchParameters:function(e){return u.reduce(function(e,t){return e.addFacet(t)},e.setQueryParameters({maxValuesPerFacet:Math.max(s||0,e.maxValuesPerFacet||0)}))},getRenderState:function(e,t){return o(o({},e),{},{dynamicWidgets:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var t,r,i,a,s=e.results;if(e.state,!s)return{attributesToRender:[],widgetParams:n};var o=f(null!==(t=null===(r=s.renderingContent)||void 0===r?void 0:null===(i=r.facetOrdering)||void 0===i?void 0:null===(a=i.facets)||void 0===a?void 0:a.order)&&void 0!==t?t:[],{results:s});if(!Array.isArray(o))throw new Error(ma(\"The `transformItems` option expects a function that returns an Array.\"));return{attributesToRender:o,widgetParams:n}}}}}function bn(e){var t=e.items,n=e.cssClasses,r=e.templateProps,s=e.createURL,o=e.refine;return mt(\"div\",{className:ba(n.root,i({},n.noRefinementRoot,0===t.length))},mt(\"ul\",{className:n.list},mt(\"li\",{className:ba(n.item,i({},n.selectedItem,0===t.length))},mt(wa,a({},r,{templateKey:\"home\",rootTagName:\"a\",rootProps:{className:n.link,href:s(void 0),onClick:function(e){e.preventDefault(),o(void 0)}}}))),t.map(function(e,c){var u=c===t.length-1;return mt(\"li\",{key:e.label+c,className:ba(n.item,i({},n.selectedItem,u))},mt(wa,a({},r,{templateKey:\"separator\",rootTagName:\"span\",rootProps:{className:n.separator,\"aria-hidden\":!0}})),u?e.label:mt(\"a\",{className:n.link,href:s(e.value),onClick:function(t){t.preventDefault(),o(e.value)}},e.label))})))}function wn(e){var t=e.hasRefinements,n=e.refine,r=e.cssClasses,s=e.templateProps;return mt(\"div\",{className:r.root},mt(wa,a({},s,{templateKey:\"resetLabel\",rootTagName:\"button\",rootProps:{className:ba(r.button,i({},r.disabledButton,!t)),onClick:n,disabled:!t},data:{hasRefinements:t}})))}function Sn(e){var t=e.items,n=e.cssClasses;return mt(\"div\",{className:n.root},mt(\"ul\",{className:n.list},t.map(function(e,t){return mt(\"li\",{key:\"\".concat(e.indexName,\"-\").concat(e.attribute,\"-\").concat(t),className:n.item},mt(\"span\",{className:n.label},function(e){return e.toString().charAt(0).toUpperCase()+e.toString().slice(1)}(e.label),\":\"),e.refinements.map(function(t){return mt(\"span\",{key:function(e){var t=e.attribute,n=e.value;return[t,e.type,n,e.operator].map(function(e){return e}).filter(Boolean).join(\":\")}(t),className:n.category},mt(\"span\",{className:n.categoryLabel},\"query\"===t.attribute?mt(\"q\",null,t.label):t.label),mt(\"button\",{className:n.delete,onClick:function(e){return function(t){W(t)||(t.preventDefault(),e())}}(e.refine.bind(null,t))},\"\u2715\"))}))})))}function Rn(e,t){var n=e.items,r=e.widgetParams;if(!t){var i=r,a=i.container,s=i.cssClasses;At(mt(Sn,{cssClasses:s,items:n}),a)}}function _n(e){var t=e.hits,n=e.isLoading,r=e.cssClasses,s=e.templateProps;return mt(\"div\",{className:ba(r.root,i({},r.emptyRoot,0===t.length))},mt(wa,a({},s,{templateKey:\"header\",rootProps:{className:r.header},data:{hits:t,isLoading:n}})),n?mt(wa,a({},s,{templateKey:\"loader\",rootProps:{className:r.loader}})):mt(\"ul\",{className:r.list},t.map(function(e,t){return mt(wa,a({},s,{templateKey:\"item\",rootTagName:\"li\",rootProps:{className:r.item},key:e.objectID,data:o(o({},e),{},{__hitIndex:t})}))})))}function Pn(e){var t=document.createElement(\"div\");return t.className=Ca({descendantName:\"widget\"}),e.appendChild(t),t}function xn(e){var t=e||{},n=t.container,r=t.widgets,i=t.fallbackWidget,a=f(t,[\"container\",\"widgets\",\"fallbackWidget\"]);if(!n)throw new Error(Ta(\"The `container` option is required.\"));if(!(r&&Array.isArray(r)&&r.every(function(e){return\"function\"==typeof e})))throw new Error(Ta(\"The `widgets` option expects an array of callbacks.\"));var s=B(n),c=document.createElement(\"div\");c.className=Ca();var u=new Map,l=[],h=yn(function(e,t){var n=e.attributesToRender;t&&s.appendChild(c),n.forEach(function(e){if(u.has(e)){var t=u.get(e);c.appendChild(t)}})},function(){s.removeChild(c)})(o(o({},a),{},{widgets:l,fallbackWidget:\"function\"==typeof i?function(e){var t=e.attribute,n=Pn(c);return u.set(t,n),i({attribute:t,container:n})}:void 0}));return o(o({},h),{},{init:function(e){r.forEach(function(t){var n=Pn(c),r=t(n),i=Fe(r,e);u.set(i,n),l.push(r)}),h.init(e)},$$widgetType:\"ais.dynamicWidgets\"})}function jn(e){var t=e.className,n=e.disabled,r=void 0!==n&&n;return mt(\"button\",{className:t,onClick:e.onClick,disabled:r},e.children)}function On(e){var t=e.classNameLabel,n=e.classNameInput,r=e.checked,i=e.onToggle,a=e.children;return mt(\"label\",{className:t},mt(\"input\",{className:n,type:\"checkbox\",checked:r,onChange:i}),a)}function Nn(e){var t=e.cssClasses,n=e.enableRefine,r=e.enableRefineControl,s=e.enableClearMapRefinement,o=e.isRefineOnMapMove,c=e.isRefinedWithMap,u=e.hasMapMoveSinceLastRefine,l=e.onRefineToggle,f=e.onRefineClick,h=e.onClearClick,d=e.templateProps;return mt(vt,null,n&&mt(\"div\",null,r&&mt(\"div\",{className:t.control},o||!u?mt(On,{classNameLabel:ba(t.label,i({},t.selectedLabel,o)),classNameInput:t.input,checked:o,onToggle:l},mt(wa,a({},d,{templateKey:\"toggle\",rootTagName:\"span\"}))):mt(jn,{className:t.redo,disabled:!u,onClick:f},mt(wa,a({},d,{templateKey:\"redo\",rootTagName:\"span\"})))),!r&&!o&&mt(\"div\",{className:t.control},mt(jn,{className:ba(t.redo,i({},t.disabledRedo,!u)),disabled:!u,onClick:f},mt(wa,a({},d,{templateKey:\"redo\",rootTagName:\"span\"})))),s&&c&&mt(jn,{className:t.reset,onClick:h},mt(wa,a({},d,{templateKey:\"reset\",rootTagName:\"span\"})))))}function Fn(e){var t=e.refine,n=e.mapInstance;return t({northEast:n.getBounds().getNorthEast().toJSON(),southWest:n.getBounds().getSouthWest().toJSON()})}function In(e,t){e.isUserInteraction=!1,t(),e.isUserInteraction=!0}function En(e,t){var n=e.items,r=e.position,i=e.currentRefinement,a=e.refine,s=e.clearMapRefinement,c=e.toggleRefineOnMapMove,u=e.isRefineOnMapMove,l=e.setMapMoveSinceLastRefine,f=e.hasMapMoveSinceLastRefine,h=e.isRefinedWithMap,d=e.widgetParams,m=e.instantSearchInstance,g=d.container,v=d.googleReference,y=d.cssClasses,b=d.templates,w=d.initialZoom,S=d.initialPosition,R=d.enableRefine,_=d.enableClearMapRefinement,P=d.enableRefineControl,x=d.mapOptions,j=d.createMarker,O=d.markerOptions,N=d.renderState;if(t){N.isUserInteraction=!0,N.isPendingRefine=!1,N.markers=[];var F=document.createElement(\"div\");F.className=y.root,g.appendChild(F);var I=document.createElement(\"div\");I.className=y.map,F.appendChild(I);var E=document.createElement(\"div\");return E.className=y.tree,F.appendChild(E),N.mapInstance=new v.maps.Map(I,o({mapTypeControl:!1,fullscreenControl:!1,streetViewControl:!1,clickableIcons:!1,zoomControlOptions:{position:v.maps.ControlPosition.LEFT_TOP}},x)),v.maps.event.addListenerOnce(N.mapInstance,\"idle\",function(){function e(){N.isUserInteraction&&R&&(l(),u()&&(N.isPendingRefine=!0))}N.mapInstance.addListener(\"center_changed\",e),N.mapInstance.addListener(\"zoom_changed\",e),N.mapInstance.addListener(\"dragstart\",e),N.mapInstance.addListener(\"idle\",function(){N.isUserInteraction&&N.isPendingRefine&&(N.isPendingRefine=!1,Fn({mapInstance:N.mapInstance,refine:a}))})}),void(N.templateProps=U({templatesConfig:m.templatesConfig,templates:b}))}var T=n.map(function(e){return e.objectID}),C=p(function(e,t){return e.reduce(function(e,n){var r=p(e,2),i=r[0],a=r[1];return t.includes(n.__id)?[i.concat(n),a]:[i,a.concat(n)]},[[],[]])}(N.markers,T),2),k=C[0],A=C[1],D=k.map(function(e){return e.__id}),L=n.filter(function(e){return!D.includes(e.objectID)});A.forEach(function(e){return e.setMap(null)}),N.markers=k.concat(L.map(function(e){var t=j({map:N.mapInstance,item:e});return Object.keys(O.events).forEach(function(n){t.addListener(n,function(r){O.events[n]({map:N.mapInstance,event:r,item:e,marker:t})})}),t}));var H=!f(),M=i?0:null,q=!i&&Boolean(N.markers.length)?function(e,t){var n=t.reduce(function(e,t){return e.extend(t.getPosition())},new e.maps.LatLngBounds);return{northEast:n.getNorthEast().toJSON(),southWest:n.getSouthWest().toJSON()}}(v,N.markers):i;q&&H?In(N,function(){N.mapInstance.fitBounds(new v.maps.LatLngBounds(q.southWest,q.northEast),M)}):H&&In(N,function(){N.mapInstance.setCenter(r||S),N.mapInstance.setZoom(w)}),At(mt(Nn,{cssClasses:y,enableRefine:R,enableRefineControl:P,enableClearMapRefinement:_,isRefineOnMapMove:u(),isRefinedWithMap:h(),hasMapMoveSinceLastRefine:f(),onRefineToggle:c,onRefineClick:function(){return Fn({mapInstance:N.mapInstance,refine:a})},onClearClick:s,templateProps:N.templateProps}),g.querySelector(\".\".concat(y.tree)))}function Tn(e){var t=e.className,n=e.handleClick,r=e.facetValueToRefine,i=e.isRefined,s=e.templateProps,o=e.templateKey,c=e.templateData,u=e.subItems;return mt(\"li\",{className:t,onClick:function(e){n({facetValueToRefine:r,isRefined:i,originalEvent:e})}},mt(wa,a({},s,{templateKey:o,data:c})),u)}function Cn(e){return void 0!==e.data}function kn(e){var t=e.currentValue,n=e.options,r=e.cssClasses,i=e.setValue;return mt(\"select\",{className:ba(r.select),onChange:function(e){return i(e.target.value)},value:\"\".concat(t)},n.map(function(e){return mt(\"option\",{className:ba(r.option),key:e.label+e.value,value:\"\".concat(e.value)},e.label)}))}function An(e){var t=e.cssClasses,n=e.templateProps,r=e.items,s=e.refine,o=(z(r,function(e){return e.isRefined})||{value:\"\"}).value;return mt(\"div\",{className:ba(t.root,i({},t.noRefinementRoot,0===r.length))},mt(\"select\",{className:t.select,value:o,onChange:function(e){s(e.target.value)}},mt(wa,a({},n,{templateKey:\"defaultOption\",rootTagName:\"option\",rootProps:{value:\"\",className:t.option}})),r.map(function(e){return mt(wa,a({},n,{templateKey:\"item\",rootTagName:\"option\",rootProps:{value:e.value,className:t.option},key:e.value,data:e}))})))}function Dn(e){function t(t){return function(n){W(n)||(n.preventDefault(),e.setCurrentPage(t))}}return mt(\"div\",{className:ba(e.cssClasses.root,i({},e.cssClasses.noRefinementRoot,e.nbPages<=1))},mt(\"ul\",{className:e.cssClasses.list},e.showFirst&&mt(Ln,{ariaLabel:\"First\",className:e.cssClasses.firstPageItem,isDisabled:e.isFirstPage,label:e.templates.first,pageNumber:0,createURL:e.createURL,cssClasses:e.cssClasses,createClickHandler:t}),e.showPrevious&&mt(Ln,{ariaLabel:\"Previous\",className:e.cssClasses.previousPageItem,isDisabled:e.isFirstPage,label:e.templates.previous,pageNumber:e.currentPage-1,createURL:e.createURL,cssClasses:e.cssClasses,createClickHandler:t}),e.pages.map(function(n){return mt(Ln,{key:n,ariaLabel:\"\".concat(n+1),className:e.cssClasses.pageItem,isSelected:n===e.currentPage,label:\"\".concat(n+1),pageNumber:n,createURL:e.createURL,cssClasses:e.cssClasses,createClickHandler:t})}),e.showNext&&mt(Ln,{ariaLabel:\"Next\",className:e.cssClasses.nextPageItem,isDisabled:e.isLastPage,label:e.templates.next,pageNumber:e.currentPage+1,createURL:e.createURL,cssClasses:e.cssClasses,createClickHandler:t}),e.showLast&&mt(Ln,{ariaLabel:\"Last\",className:e.cssClasses.lastPageItem,isDisabled:e.isLastPage,label:e.templates.last,pageNumber:e.nbPages-1,createURL:e.createURL,cssClasses:e.cssClasses,createClickHandler:t})))}function Ln(e){var t=e.label,n=e.ariaLabel,r=e.pageNumber,i=e.className,a=e.isDisabled,s=void 0!==a&&a,o=e.isSelected,c=void 0!==o&&o,u=e.cssClasses,l=e.createURL,f=e.createClickHandler;return mt(\"li\",{className:ba(u.item,i,s&&u.disabledItem,c&&u.selectedItem)},s?mt(\"span\",{className:u.link,dangerouslySetInnerHTML:{__html:t}}):mt(\"a\",{className:u.link,\"aria-label\":n,href:l(r),onClick:f(r),dangerouslySetInnerHTML:{__html:t}}))}function Hn(e,t){Br.__h&&Br.__h(Ba,e,ps||t),ps=0;var n=Ba.__H||(Ba.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Mn(e){return ps=1,function(e,t,n){var r=Hn(qa++,2);return r.t=e,r.__c||(r.__=[n?n(t):Vn(void 0,t),function(e){var t=r.t(r.__[0],e);r.__[0]!==t&&(r.__=[t,r.__[1]],r.__c.setState({}))}],r.__c=Ba),r.__}(Vn,e)}function qn(e){return ps=5,function(e,t){var n=Hn(qa++,7);return Un(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}(function(){return{current:e}},[])}function Bn(){var e;for(ms.sort(function(e,t){return e.__v.__b-t.__v.__b});e=ms.pop();)if(e.__P)try{e.__H.__h.forEach(Wn),e.__H.__h.forEach(Qn),e.__H.__h=[]}catch(t){e.__H.__h=[],Br.__e(t,e.__v)}}function Wn(e){var t=Ba,n=e.__c;\"function\"==typeof n&&(e.__c=void 0,n()),Ba=t}function Qn(e){var t=Ba;e.__c=e.__(),Ba=t}function Un(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Vn(e,t){return\"function\"==typeof t?t(e):t}function $n(e){var t,n=p(Mn(e.isCollapsed),2),r=n[0],a=n[1],s=p(Mn(!1),2),o=s[0],c=s[1],u=qn(null);return function(e,t){var n=Hn(qa++,3);!Br.__s&&Un(n.__H,t)&&(n.__=e,n.__H=t,Ba.__H.__h.push(n))}(function(){var t=u.current;if(t)return t.appendChild(e.bodyElement),function(){t.removeChild(e.bodyElement)}},[u,e.bodyElement]),o||e.isCollapsed===r||a(e.isCollapsed),mt(\"div\",{className:ba(e.cssClasses.root,(t={},i(t,e.cssClasses.noRefinementRoot,e.hidden),i(t,e.cssClasses.collapsibleRoot,e.collapsible),i(t,e.cssClasses.collapsedRoot,r),t)),hidden:e.hidden},e.templates.header&&mt(\"div\",{className:e.cssClasses.header},mt(wa,{templates:e.templates,templateKey:\"header\",rootTagName:\"span\",data:e.data}),e.collapsible&&mt(\"button\",{className:e.cssClasses.collapseButton,\"aria-expanded\":!r,onClick:function(e){e.preventDefault(),c(!0),a(function(e){return!e})}},mt(wa,{templates:e.templates,templateKey:\"collapseButtonText\",rootTagName:\"span\",data:{collapsed:r}}))),mt(\"div\",{className:e.cssClasses.body,ref:u}),e.templates.footer&&mt(wa,{templates:e.templates,templateKey:\"footer\",rootProps:{className:e.cssClasses.footer},data:e.data}))}function zn(e){var t=e.url,n=e.theme,r=e.cssClasses;return mt(\"div\",{className:r.root},mt(\"a\",{href:t,target:\"_blank\",className:r.link,\"aria-label\":\"Search by Algolia\",rel:\"noopener noreferrer\"},mt(\"svg\",{height:\"1.2em\",className:r.logo,viewBox:\"0 0 168 24\",style:{width:\"auto\"}},mt(\"path\",{fill:\"dark\"===n?\"#FFF\":\"#5D6494\",d:\"M6.97 6.68V8.3a4.47 4.47 0 00-2.42-.67 2.2 2.2 0 00-1.38.4c-.34.26-.5.6-.5 1.02 0 .43.16.77.49 1.03.33.25.83.53 1.51.83a7.04 7.04 0 011.9 1.08c.34.24.58.54.73.89.15.34.23.74.23 1.18 0 .95-.33 1.7-1 2.24a4 4 0 01-2.6.81 5.71 5.71 0 01-2.94-.68v-1.71c.84.63 1.81.94 2.92.94.58 0 1.05-.14 1.39-.4.34-.28.5-.65.5-1.13 0-.29-.1-.55-.3-.8a2.2 2.2 0 00-.65-.53 23.03 23.03 0 00-1.64-.78 13.67 13.67 0 01-1.11-.64c-.12-.1-.28-.22-.46-.4a1.72 1.72 0 01-.39-.5 4.46 4.46 0 01-.22-.6c-.07-.23-.1-.48-.1-.75 0-.91.33-1.63 1-2.17a4 4 0 012.57-.8c.97 0 1.8.18 2.47.52zm7.47 5.7v-.3a2.26 2.26 0 00-.5-1.44c-.3-.35-.74-.53-1.32-.53-.53 0-.99.2-1.37.58a2.9 2.9 0 00-.72 1.68h3.91zm1 2.79v1.4c-.6.34-1.38.51-2.36.51a4.02 4.02 0 01-3-1.13 4.04 4.04 0 01-1.11-2.97c0-1.3.34-2.32 1.02-3.06a3.38 3.38 0 012.6-1.1c1.03 0 1.85.32 2.46.96.6.64.9 1.57.9 2.78 0 .33-.03.68-.09 1.04h-5.31c.1.7.4 1.24.89 1.61.49.38 1.1.56 1.85.56.86 0 1.58-.2 2.15-.6zm6.61-1.78h-1.21c-.6 0-1.05.12-1.35.36-.3.23-.46.53-.46.89 0 .37.12.66.36.88.23.2.57.32 1.02.32.5 0 .9-.15 1.2-.43.3-.28.44-.65.44-1.1v-.92zm-4.07-2.55V9.33a4.96 4.96 0 012.5-.55c2.1 0 3.17 1.03 3.17 3.08V17H22.1v-.96c-.42.68-1.15 1.02-2.19 1.02-.76 0-1.38-.22-1.84-.66-.46-.44-.7-1-.7-1.68 0-.78.3-1.38.88-1.81.59-.43 1.4-.65 2.46-.65h1.34v-.46c0-.55-.13-.97-.4-1.25-.26-.29-.7-.43-1.32-.43-.86 0-1.65.24-2.35.72zm9.34-1.93v1.42c.39-1 1.1-1.5 2.12-1.5.15 0 .31.02.5.05v1.53c-.23-.1-.48-.14-.76-.14-.54 0-.99.24-1.34.71a2.8 2.8 0 00-.52 1.71V17h-1.57V8.91h1.57zm5 4.09a3 3 0 00.76 2.01c.47.53 1.14.8 2 .8.64 0 1.24-.18 1.8-.53v1.4c-.53.32-1.2.48-2 .48a3.98 3.98 0 01-4.17-4.18c0-1.16.38-2.15 1.14-2.98a4 4 0 013.1-1.23c.7 0 1.34.15 1.92.44v1.44a3.24 3.24 0 00-1.77-.5A2.65 2.65 0 0032.33 13zm7.92-7.28v4.58c.46-1 1.3-1.5 2.5-1.5.8 0 1.42.24 1.9.73.48.5.72 1.17.72 2.05V17H43.8v-5.1c0-.56-.14-.99-.43-1.29-.28-.3-.65-.45-1.1-.45-.54 0-1 .2-1.42.6-.4.4-.61 1.02-.61 1.85V17h-1.56V5.72h1.56zM55.2 15.74c.6 0 1.1-.25 1.5-.76.4-.5.6-1.16.6-1.95 0-.92-.2-1.62-.6-2.12-.4-.5-.92-.74-1.55-.74-.56 0-1.05.22-1.5.67-.44.45-.66 1.13-.66 2.06 0 .96.22 1.67.64 2.14.43.47.95.7 1.57.7zM53 5.72v4.42a2.74 2.74 0 012.43-1.34c1.03 0 1.86.38 2.51 1.15.65.76.97 1.78.97 3.05 0 1.13-.3 2.1-.92 2.9-.62.81-1.47 1.21-2.54 1.21s-1.9-.45-2.46-1.34V17h-1.58V5.72H53zm9.9 11.1l-3.22-7.9h1.74l1 2.62 1.26 3.42c.1-.32.48-1.46 1.15-3.42l.91-2.63h1.66l-2.92 7.87c-.78 2.07-1.96 3.1-3.56 3.1-.28 0-.53-.02-.73-.07v-1.34c.17.04.35.06.54.06 1.03 0 1.76-.57 2.17-1.7z\"}),Ps,xs,mt(\"path\",{fill:\"dark\"===n?\"#FFF\":\"#5468FF\",d:\"M120.92 18.8c-4.38.02-4.38-3.54-4.38-4.1V1.36l2.67-.42v13.25c0 .32 0 2.36 1.71 2.37v2.24zm-10.84-2.18c.82 0 1.43-.04 1.85-.12v-2.72a5.48 5.48 0 00-1.57-.2c-.3 0-.6.02-.9.07-.3.04-.57.12-.81.24-.24.11-.44.28-.58.49a.93.93 0 00-.22.65c0 .63.22 1 .61 1.23.4.24.94.36 1.62.36zm-.23-9.7c.88 0 1.62.11 2.23.33.6.22 1.09.53 1.44.92.36.4.61.92.76 1.48.16.56.23 1.17.23 1.85v6.87a21.69 21.69 0 01-4.68.5c-.69 0-1.32-.07-1.9-.2a4 4 0 01-1.46-.63 3.3 3.3 0 01-.96-1.13 4.3 4.3 0 01-.34-1.8 3.13 3.13 0 011.43-2.63c.45-.3.95-.5 1.54-.62a8.8 8.8 0 013.79.05v-.44c0-.3-.04-.6-.11-.87a1.78 1.78 0 00-1.1-1.22 3.2 3.2 0 00-1.15-.2 9.75 9.75 0 00-2.95.46l-.33-2.19a11.43 11.43 0 013.56-.53zm52.84 9.63c.82 0 1.43-.05 1.85-.13V13.7a5.42 5.42 0 00-1.57-.2c-.3 0-.6.02-.9.07-.3.04-.57.12-.81.24-.24.12-.44.28-.58.5a.93.93 0 00-.22.65c0 .63.22.99.61 1.23.4.24.94.36 1.62.36zm-.23-9.7c.88 0 1.63.11 2.23.33.6.22 1.1.53 1.45.92.35.39.6.92.76 1.48.15.56.23 1.18.23 1.85v6.88c-.41.08-1.03.19-1.87.31-.83.12-1.77.18-2.81.18-.7 0-1.33-.06-1.9-.2a4 4 0 01-1.47-.63c-.4-.3-.72-.67-.95-1.13a4.3 4.3 0 01-.34-1.8c0-.66.13-1.08.38-1.53.26-.45.61-.82 1.05-1.1.44-.3.95-.5 1.53-.62a8.8 8.8 0 013.8.05v-.43c0-.31-.04-.6-.12-.88-.07-.28-.2-.52-.38-.73a1.78 1.78 0 00-.73-.5c-.3-.1-.68-.2-1.14-.2a9.85 9.85 0 00-2.95.47l-.32-2.19a11.63 11.63 0 013.55-.53zm-8.03-1.27a1.62 1.62 0 000-3.24 1.62 1.62 0 100 3.24zm1.35 13.22h-2.7V7.27l2.7-.42V18.8zm-4.72 0c-4.38.02-4.38-3.54-4.38-4.1l-.01-13.34 2.67-.42v13.25c0 .32 0 2.36 1.72 2.37v2.24zm-8.7-5.9a4.7 4.7 0 00-.74-2.79 2.4 2.4 0 00-2.07-1 2.4 2.4 0 00-2.06 1 4.7 4.7 0 00-.74 2.8c0 1.16.25 1.94.74 2.62a2.4 2.4 0 002.07 1.02c.88 0 1.57-.34 2.07-1.02a4.2 4.2 0 00.73-2.63zm2.74 0a6.46 6.46 0 01-1.52 4.23c-.49.53-1.07.94-1.76 1.22-.68.29-1.73.45-2.26.45a6.6 6.6 0 01-2.25-.45 5.1 5.1 0 01-2.88-3.13 7.3 7.3 0 01-.01-4.84 5.13 5.13 0 012.9-3.1 5.67 5.67 0 012.22-.42c.81 0 1.56.14 2.24.42.69.29 1.28.69 1.75 1.22.49.52.87 1.15 1.14 1.89a7 7 0 01.43 2.5zm-20.14 0c0 1.11.25 2.36.74 2.88.5.52 1.13.78 1.91.78a4.07 4.07 0 002.12-.6V9.33c-.19-.04-.99-.2-1.76-.23a2.67 2.67 0 00-2.23 1 4.73 4.73 0 00-.78 2.8zm7.44 5.27c0 1.82-.46 3.16-1.4 4-.94.85-2.37 1.27-4.3 1.27-.7 0-2.17-.13-3.34-.4l.43-2.11c.98.2 2.27.26 2.95.26 1.08 0 1.84-.22 2.3-.66.46-.43.68-1.08.68-1.94v-.44a5.2 5.2 0 01-2.54.6 5.6 5.6 0 01-2.01-.36 4.2 4.2 0 01-2.58-2.71 9.88 9.88 0 01.02-5.35 4.92 4.92 0 012.93-2.96 6.6 6.6 0 012.43-.46 19.64 19.64 0 014.43.66v10.6z\"}))))}function Kn(e){var t=e.cssClasses,n=e.templates,r=e.items;return mt(wa,{templateKey:\"default\",templates:n,rootProps:{className:t.root},data:{items:r}})}function Jn(e,t,n){return(e-t)/(n-t)*100}function Xn(e,t,n){var r=e/100;return 0===e?t:100===e?n:Math.round((n-t)*r+t)}function Gn(e){return[\"rheostat\",\"vertical\"===e.orientation?\"rheostat-vertical\":\"rheostat-horizontal\"].concat(e.className.split(\" \")).join(\" \")}function Yn(e){return Number(e.currentTarget.getAttribute(\"data-handle-key\"))}function Zn(e){e.stopPropagation(),e.preventDefault()}function er(e){var t=e.style,n=e.children,r=Math.round(parseFloat(t.left)),i=[0,50,100].includes(r),a=n,s=Math.round(100*parseInt(a,10))/100;return mt(\"div\",{style:o(o({},t),{},{marginLeft:100===r?\"-2px\":0}),className:ba(\"rheostat-marker\",\"rheostat-marker-horizontal\",{\"rheostat-marker-large\":i})},i&&mt(\"div\",{className:\"rheostat-value\"},s))}function tr(e){var t=e.cssClasses,n=e.templates,r=e.isRelevantSorted,i=e.isVirtualReplica,a=e.refine;return i?mt(\"div\",{className:t.root},mt(wa,{templateKey:\"text\",templates:n,rootProps:{className:t.text},data:{isRelevantSorted:r}}),mt(\"button\",{type:\"button\",className:t.button,onClick:function(){a(r?0:void 0)}},mt(wa,{rootTagName:\"span\",templateKey:\"button\",templates:n,data:{isRelevantSorted:r}}))):null}function nr(e){var t=e.nbHits,n=e.nbSortedHits,r=e.cssClasses,i=e.templateProps,s=f(e,[\"nbHits\",\"nbSortedHits\",\"cssClasses\",\"templateProps\"]);return mt(\"div\",{className:ba(r.root)},mt(wa,a({},i,{templateKey:\"text\",rootTagName:\"span\",rootProps:{className:r.text},data:o({hasManySortedResults:n&&1<n,hasNoSortedResults:0===n,hasOneSortedResults:1===n,hasManyResults:1<t,hasNoResults:0===t,hasOneResult:1===t,nbHits:t,nbSortedHits:n,cssClasses:r},s)})))}function rr(e){var t=e.currentRefinement,n=e.refine,r=e.cssClasses,i=e.templateProps;return mt(\"div\",{className:r.root},mt(\"label\",{className:r.label},mt(\"input\",{className:r.checkbox,type:\"checkbox\",checked:t.isRefined,onChange:function(e){return n({isRefined:!e.target.checked})}}),mt(wa,a({},i,{rootTagName:\"span\",rootProps:{className:r.labelText},templateKey:\"labelText\",data:t}))))}function ir(e){var t=e.cssClasses,n=e.isBrowserSupported,r=e.isListening,i=e.toggleListening,a=e.voiceListeningState,s=e.templates,o=a.status,c=a.transcript,u=a.isSpeechFinal,l=a.errorCode;return mt(\"div\",{className:t.root},mt(wa,{templateKey:\"buttonText\",rootTagName:\"button\",rootProps:{className:t.button,type:\"button\",title:\"Search by voice\".concat(n?\"\":\" (not supported on this browser)\"),onClick:function(e){e.currentTarget instanceof HTMLElement&&e.currentTarget.blur(),i()},disabled:!n},data:{status:o,errorCode:l,isListening:r,transcript:c,isSpeechFinal:u,isBrowserSupported:n},templates:s}),mt(wa,{templateKey:\"status\",rootProps:{className:t.status},data:{status:o,errorCode:l,isListening:r,transcript:c,isSpeechFinal:u,isBrowserSupported:n},templates:s}))}function ar(e){return e.configure,f(e,[\"configure\"])}function sr(e){var t=e||{};return t.page,f(t,[\"page\"])}function or(e){return new Fi(e)}var cr=function(e){y(e)||(e={});for(var t=1,n=arguments.length;t<n;t++){var r=arguments[t];y(r)&&b(e,r)}return e},ur=function(){return Array.prototype.slice.call(arguments).reduceRight(function(e,t){return Object.keys(Object(t)).forEach(function(n){void 0!==t[n]&&(void 0!==e[n]&&delete e[n],e[n]=t[n])}),e},{})},lr=function(e,t){return e.filter(function(n,r){return-1<t.indexOf(n)&&e.indexOf(n)===r})},fr=function(e,t){if(Array.isArray(e))for(var n=0;n<e.length;n++)if(t(e[n]))return e[n]},hr=function e(t){if(\"number\"==typeof t)return t;if(\"string\"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error(\"The value should be a number, a parsable string or an array of those.\")},dr=function(e,t){if(null===e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],0<=t.indexOf(n)||(i[n]=e[n]);return i},pr=function(e){return e&&0<Object.keys(e).length},mr=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)},gr={addRefinement:function(e,t,n){if(gr.isRefined(e,t,n))return e;var r=\"\"+n,i=e[t]?e[t].concat(r):[r],a={};return a[t]=i,ur({},a,e)},removeRefinement:function(e,t,n){if(void 0===n)return gr.clearRefinement(e,function(e,n){return t===n});var r=\"\"+n;return gr.clearRefinement(e,function(e,n){return t===n&&r===e})},toggleRefinement:function(e,t,n){if(void 0===n)throw new Error(\"toggleRefinement should be used with a value\");return gr.isRefined(e,t,n)?gr.removeRefinement(e,t,n):gr.addRefinement(e,t,n)},clearRefinement:function(e,t,n){if(void 0===t)return pr(e)?{}:e;if(\"string\"==typeof t)return dr(e,[t]);if(\"function\"==typeof t){var r=!1,i=Object.keys(e).reduce(function(i,a){var s=e[a]||[],o=s.filter(function(e){return!t(e,a,n)});return o.length!==s.length&&(r=!0),i[a]=o,i},{});return r?i:e}},isRefined:function(e,t,n){var r=!!e[t]&&0<e[t].length;if(void 0===n||!r)return r;var i=\"\"+n;return-1!==e[t].indexOf(i)}},vr=gr;S.PARAMETERS=Object.keys(new S),S._parseNumbers=function(e){if(e instanceof S)return e;var t={};if([\"aroundPrecision\",\"aroundRadius\",\"getRankingInfo\",\"minWordSizefor2Typos\",\"minWordSizefor1Typo\",\"page\",\"maxValuesPerFacet\",\"distinct\",\"minimumAroundRadius\",\"hitsPerPage\",\"minProximity\"].forEach(function(n){var r=e[n];if(\"string\"==typeof r){var i=parseFloat(r);t[n]=isNaN(i)?r:i}}),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map(function(e){return Array.isArray(e)?e.map(function(e){return parseFloat(e)}):e})),e.numericRefinements){var n={};Object.keys(e.numericRefinements).forEach(function(t){var r=e.numericRefinements[t]||{};n[t]={},Object.keys(r).forEach(function(e){var i=r[e].map(function(e){return Array.isArray(e)?e.map(function(e){return\"string\"==typeof e?parseFloat(e):e}):\"string\"==typeof e?parseFloat(e):e});n[t][e]=i})}),t.numericRefinements=n}return cr({},e,t)},S.make=function(e){var t=new S(e);return(e.hierarchicalFacets||[]).forEach(function(e){if(e.rootPath){var n=t.getHierarchicalRefinement(e.name);0<n.length&&0!==n[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(n=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}}),t},S.validate=function(e,t){var n=t||{};return e.tagFilters&&n.tagRefinements&&0<n.tagRefinements.length?new Error(\"[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method.\"):0<e.tagRefinements.length&&n.tagFilters?new Error(\"[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method.\"):e.numericFilters&&n.numericRefinements&&pr(n.numericRefinements)?new Error(\"[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters.\"):pr(e.numericRefinements)&&n.numericFilters?new Error(\"[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters.\"):null},S.prototype={constructor:S,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:vr.clearRefinement(this.facetsRefinements,e,\"conjunctiveFacet\"),facetsExcludes:vr.clearRefinement(this.facetsExcludes,e,\"exclude\"),disjunctiveFacetsRefinements:vr.clearRefinement(this.disjunctiveFacetsRefinements,e,\"disjunctiveFacet\"),hierarchicalFacetsRefinements:vr.clearRefinement(this.hierarchicalFacetsRefinements,e,\"hierarchicalFacet\")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,n){var r=hr(n);if(this.isNumericRefined(e,t,r))return this;var i=cr({},this.numericRefinements);return i[e]=cr({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(r)):i[e][t]=[r],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,n){return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(r,i){return i===e&&r.op===t&&w(r.val,hr(n))})}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(n,r){return r===e&&n.op===t})}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(t,n){return n===e})}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return pr(this.numericRefinements)?{}:this.numericRefinements;if(\"string\"==typeof e)return dr(this.numericRefinements,[e]);if(\"function\"==typeof e){var t=!1,n=this.numericRefinements,r=Object.keys(n).reduce(function(r,i){var a=n[i],s={};return a=a||{},Object.keys(a).forEach(function(n){var r=a[n]||[],o=[];r.forEach(function(t){e({val:t,op:n},i,\"numeric\")||o.push(t)}),o.length!==r.length&&(t=!0),s[n]=o}),r[i]=s,r},{});return t?r:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error(\"Cannot declare two hierarchical facets with the same name: `\"+e.name+\"`\");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return vr.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:vr.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){\nif(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return vr.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:vr.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+\" is not defined in the disjunctiveFacets attribute of the helper configuration\");return vr.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:vr.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter(function(t){return t!==e})}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter(function(t){return t!==e})}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter(function(t){return t.name!==e})}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return vr.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:vr.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return vr.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:vr.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+\" is not defined in the disjunctiveFacets attribute of the helper configuration\");return vr.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:vr.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter(function(t){return t!==e})};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error(\"Cannot refine the undeclared facet \"+e+\"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets\")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return this.setQueryParameters({facetsRefinements:vr.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return this.setQueryParameters({facetsExcludes:vr.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+\" is not defined in the disjunctiveFacets attribute of the helper configuration\");return this.setQueryParameters({disjunctiveFacetsRefinements:vr.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+\" is not defined in the hierarchicalFacets attribute of the helper configuration\");var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),r={};return void 0!==this.hierarchicalFacetsRefinements[e]&&0<this.hierarchicalFacetsRefinements[e].length&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+n))?-1===t.indexOf(n)?r[e]=[]:r[e]=[t.slice(0,t.lastIndexOf(n))]:r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:ur({},r,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+\" is already refined.\");if(!this.isHierarchicalFacet(e))throw new Error(e+\" is not defined in the hierarchicalFacets attribute of the helper configuration.\");var n={};return n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:ur({},n,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:ur({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return-1<this.disjunctiveFacets.indexOf(e)},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return-1<this.facets.indexOf(e)},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&vr.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&vr.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&vr.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var n=this.getHierarchicalRefinement(e);return t?-1!==n.indexOf(t):0<n.length},isNumericRefined:function(e,t,n){if(void 0===n&&void 0===t)return!!this.numericRefinements[e];var r=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===n||!r)return r;var i=hr(n),a=void 0!==function(e,t){return fr(e,function(e){return w(e,t)})}(this.numericRefinements[e][t],i);return r&&a},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=lr(Object.keys(this.numericRefinements).filter(function(t){return 0<Object.keys(e.numericRefinements[t]).length}),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter(function(t){return 0<e.disjunctiveFacetsRefinements[t].length}).concat(t).concat(this.getRefinedHierarchicalFacets())},getRefinedHierarchicalFacets:function(){var e=this;return lr(this.hierarchicalFacets.map(function(e){return e.name}),Object.keys(this.hierarchicalFacetsRefinements).filter(function(t){return 0<e.hierarchicalFacetsRefinements[t].length}))},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter(function(t){return-1===e.indexOf(t)})},managedParameters:[\"index\",\"facets\",\"disjunctiveFacets\",\"facetsRefinements\",\"hierarchicalFacets\",\"facetsExcludes\",\"disjunctiveFacetsRefinements\",\"numericRefinements\",\"tagRefinements\",\"hierarchicalFacetsRefinements\"],getQueryParams:function(){var e=this.managedParameters,t={},n=this;return Object.keys(this).forEach(function(r){var i=n[r];-1===e.indexOf(r)&&void 0!==i&&(t[r]=i)}),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var n={};return n[e]=t,this.setQueryParameters(n)},setQueryParameters:function(e){if(!e)return this;var t=S.validate(this,e);if(t)throw t;var n=this,r=S._parseNumbers(e),i=Object.keys(this).reduce(function(e,t){return e[t]=n[t],e},{}),a=Object.keys(r).reduce(function(e,t){var n=void 0!==e[t],i=void 0!==r[t];return n&&!i?dr(e,[t]):(i&&(e[t]=r[t]),e)},i);return new this.constructor(a)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||[\"isRefined:desc\",\"name:asc\"]},_getHierarchicalFacetSeparator:function(e){return e.separator||\" > \"},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return\"boolean\"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return fr(this.hierarchicalFacets,function(t){return t.name===e})},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(n).map(function(e){return e.trim()})},toString:function(){return JSON.stringify(this,null,2)}};var yr=S,br=function(e,t,n){if(!Array.isArray(e))return[];Array.isArray(n)||(n=[]);var r=e.map(function(e,n){return{criteria:t.map(function(t){return e[t]}),index:n,value:e}});return r.sort(function(e,t){for(var r=-1;++r<e.criteria.length;){var i=R(e.criteria[r],t.criteria[r]);if(i)return r>=n.length?i:\"desc\"===n[r]?-i:i}return e.index-t.index}),r.map(function(e){return e.value})},wr=function(e){return\"string\"!=typeof e?e:String(e).replace(/^-/,\"\\\\-\")},Sr=function(e){return\"string\"!=typeof e?e:e.replace(/^\\\\-/,\"-\")},Rr=function(e){return function(t,n){var r=e.hierarchicalFacets[n],i=e.hierarchicalFacetsRefinements[r.name]&&e.hierarchicalFacetsRefinements[r.name][0]||\"\",a=e._getHierarchicalFacetSeparator(r),s=e._getHierarchicalRootPath(r),o=e._getHierarchicalShowParentLevel(r),c=x(e._getHierarchicalFacetSortBy(r)),u=t.every(function(e){return e.exhaustive}),l=function(e,t,n,r,i){return function(a,s,o){var c=a;if(0<o){var u=0;for(c=a;u<o;){var l=c&&Array.isArray(c.data)?c.data:[];c=fr(l,function(e){return e.isRefined}),u++}}if(c){var f=Object.keys(s.data).map(function(e){return[e,s.data[e]]}).filter(function(e){return function(e,t,n,r,i,a){return(!i||0===e.indexOf(i)&&i!==e)&&(!i&&-1===e.indexOf(r)||i&&e.split(r).length-i.split(r).length==1||-1===e.indexOf(r)&&-1===n.indexOf(r)||0===n.indexOf(e)||0===e.indexOf(t+r)&&(a||0===e.indexOf(n)))}(e[0],c.path||n,i,t,n,r)});c.data=br(f.map(function(e){var n=e[0];return function(e,t,n,r,i){var a=t.split(n);return{name:a[a.length-1].trim(),path:t,escapedValue:_r(t),count:e,isRefined:r===t||0===r.indexOf(t+n),exhaustive:i,data:null}}(e[1],n,t,Pr(i),s.exhaustive)}),e[0],e[1])}return a}}(c,a,s,o,i),f=t;return s&&(f=t.slice(s.split(a).length)),f.reduce(l,{name:e.hierarchicalFacets[n].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:u,data:null})}},_r=wr,Pr=Sr,xr=wr,jr=Sr;N.prototype.getFacetByName=function(e){function t(t){return t.name===e}return fr(this.facets,t)||fr(this.disjunctiveFacets,t)||fr(this.hierarchicalFacets,t)},N.DEFAULT_SORT=[\"isRefined:desc\",\"count:desc\",\"name:asc\"],N.prototype.getFacetValues=function(e,t){var n=function(e,t){function n(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var r=fr(e.facets,n);return r?Object.keys(r.data).map(function(n){var i=xr(n);return{name:n,escapedValue:i,count:r.data[n],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,n)}}):[]}if(e._state.isDisjunctiveFacet(t)){var i=fr(e.disjunctiveFacets,n);return i?Object.keys(i.data).map(function(n){var r=xr(n);return{name:n,escapedValue:r,count:i.data[n],isRefined:e._state.isDisjunctiveFacetRefined(t,r)}}):[]}if(e._state.isHierarchicalFacet(t))return fr(e.hierarchicalFacets,n)}(this,e);if(n){var r,i=ur({},t,{sortBy:N.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;return r=Array.isArray(n)?[e]:a._state.getHierarchicalFacetByName(n.name).attributes,function e(t,n,r,i){if(i=i||0,Array.isArray(n))return t(n,r[i]);if(!n.data||0===n.data.length)return n;var a=n.data.map(function(n){return e(t,n,r,i+1)}),s=t(a,r[i]);return ur({data:s},n)}(function(e,t){if(i.facetOrdering){var n=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(a,t);if(Boolean(n))return function(e,t){var n=[],r=[],i=(t.order||[]).reduce(function(e,t,n){return e[t]=n,e},{});e.forEach(function(e){var t=e.path||e.name;void 0!==i[t]?n[i[t]]=e:r.push(e)}),n=n.filter(function(e){return e});var a,s=t.sortRemainingBy;return\"hidden\"===s?n:(a=\"alpha\"===s?[[\"path\",\"name\"],[\"asc\",\"asc\"]]:[[\"count\"],[\"desc\"]],n.concat(br(r,a[0],a[1])))}(e,n)}if(Array.isArray(i.sortBy)){var r=x(i.sortBy,N.DEFAULT_SORT);return br(e,r[0],r[1])}if(\"function\"==typeof i.sortBy)return function(e,t){return t.sort(e)}(i.sortBy,e);throw new Error(\"options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function\")},n,r)}},N.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},N.prototype.getRefinements=function(){var e=this._state,t=this,n=[];return Object.keys(e.facetsRefinements).forEach(function(r){e.facetsRefinements[r].forEach(function(i){n.push(I(e,\"facet\",r,i,t.facets))})}),Object.keys(e.facetsExcludes).forEach(function(r){e.facetsExcludes[r].forEach(function(i){n.push(I(e,\"exclude\",r,i,t.facets))})}),Object.keys(e.disjunctiveFacetsRefinements).forEach(function(r){e.disjunctiveFacetsRefinements[r].forEach(function(i){n.push(I(e,\"disjunctive\",r,i,t.disjunctiveFacets))})}),Object.keys(e.hierarchicalFacetsRefinements).forEach(function(r){e.hierarchicalFacetsRefinements[r].forEach(function(i){n.push(function(e,t,n,r){var i=e.getHierarchicalFacetByName(t),a=e._getHierarchicalFacetSeparator(i),s=n.split(a),o=fr(r,function(e){return e.name===t}),c=s.reduce(function(e,t){var n=e&&fr(e.data,function(e){return e.name===t});return void 0!==n?n:e},o),u=c&&c.count||0,l=c&&c.exhaustive||!1,f=c&&c.path||\"\";return{type:\"hierarchical\",attributeName:t,name:f,count:u,exhaustive:l}}(e,r,i,t.hierarchicalFacets))})}),Object.keys(e.numericRefinements).forEach(function(t){var r=e.numericRefinements[t];Object.keys(r).forEach(function(e){r[e].forEach(function(r){n.push({type:\"numeric\",attributeName:t,name:r,numericValue:r,operator:e})})})}),e.tagRefinements.forEach(function(e){n.push({type:\"tag\",attributeName:\"_tags\",name:e})}),n};var Or=N,Nr=E;E.prototype._events=void 0,E.prototype._maxListeners=void 0,E.defaultMaxListeners=10,E.prototype.setMaxListeners=function(e){if(!function(e){return\"number\"==typeof e}(e)||e<0||isNaN(e))throw TypeError(\"n must be a positive number\");return this._maxListeners=e,this},E.prototype.emit=function(e){var t,n,r,i,a,s;if(this._events||(this._events={}),\"error\"===e&&(!this._events.error||C(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var o=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw o.context=t,o}if(k(n=this._events[e]))return!1;if(T(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),n.apply(this,i)}else if(C(n))for(i=Array.prototype.slice.call(arguments,1),r=(s=n.slice()).length,a=0;a<r;a++)s[a].apply(this,i);return!0},E.prototype.on=E.prototype.addListener=function(e,t){var n;if(!T(t))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",e,T(t.listener)?t.listener:t),this._events[e]?C(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,C(this._events[e])&&!this._events[e].warned&&(n=k(this._maxListeners)?E.defaultMaxListeners:this._maxListeners)&&0<n&&this._events[e].length>n&&(this._events[e].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[e].length),\"function\"==typeof console.trace&&console.trace()),this},E.prototype.once=function(e,t){function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}if(!T(t))throw TypeError(\"listener must be a function\");var r=!1;return n.listener=t,this.on(e,n),this},E.prototype.removeListener=function(e,t){var n,r,i,a;if(!T(t))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[e])return this;if(i=(n=this._events[e]).length,r=-1,n===t||T(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit(\"removeListener\",e,t);else if(C(n)){for(a=i;0<a--;)if(n[a]===t||n[a].listener&&n[a].listener===t){r=a;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit(\"removeListener\",e,t)}return this},E.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)\"removeListener\"!==t&&this.removeAllListeners(t);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(T(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},E.prototype.listeners=function(e){return this._events&&this._events[e]?T(this._events[e])?[this._events[e]]:this._events[e].slice():[]},E.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(T(t))return 1;if(t)return t.length}return 0},E.listenerCount=function(e,t){return e.listenerCount(t)};var Fr=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};Fr(A,Nr),A.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},A.prototype.getModifiedState=function(e){return this.fn(e)};var Ir=A,Er={_getQueries:function(e,t){var n=[];return n.push({indexName:e,params:Er._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach(function(r){n.push({indexName:e,params:Er._getDisjunctiveFacetSearchParams(t,r)})}),t.getRefinedHierarchicalFacets().forEach(function(r){var i=t.getHierarchicalFacetByName(r),a=t.getHierarchicalRefinement(r),s=t._getHierarchicalFacetSeparator(i);0<a.length&&1<a[0].split(s).length&&n.push({indexName:e,params:Er._getDisjunctiveFacetSearchParams(t,r,!0)})}),n},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(Er._getHitsHierarchicalFacetsAttributes(e)),n=Er._getFacetFilters(e),r=Er._getNumericFilters(e),i=Er._getTagFilters(e),a={facets:-1<t.indexOf(\"*\")?[\"*\"]:t,tagFilters:i};return 0<n.length&&(a.facetFilters=n),0<r.length&&(a.numericFilters=r),cr({},e.getQueryParams(),a)},_getDisjunctiveFacetSearchParams:function(e,t,n){var r=Er._getFacetFilters(e,t,n),i=Er._getNumericFilters(e,t),a={hitsPerPage:1,page:0,attributesToRetrieve:[],attributesToHighlight:[],attributesToSnippet:[],tagFilters:Er._getTagFilters(e),analytics:!1,clickAnalytics:!1},s=e.getHierarchicalFacetByName(t);return a.facets=s?Er._getDisjunctiveHierarchicalFacetAttribute(e,s,n):t,0<i.length&&(a.numericFilters=i),0<r.length&&(a.facetFilters=r),cr({},e.getQueryParams(),a)},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var n=[];return Object.keys(e.numericRefinements).forEach(function(r){var i=e.numericRefinements[r]||{};Object.keys(i).forEach(function(e){var a=i[e]||[];t!==r&&a.forEach(function(t){if(Array.isArray(t)){var i=t.map(function(t){return r+e+t});n.push(i)}else n.push(r+e+t)})})}),n},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(\",\")},_getFacetFilters:function(e,t,n){var r=[],i=e.facetsRefinements||{};Object.keys(i).forEach(function(e){(i[e]||[]).forEach(function(t){r.push(e+\":\"+t)})});var a=e.facetsExcludes||{};Object.keys(a).forEach(function(e){(a[e]||[]).forEach(function(t){r.push(e+\":-\"+t)})});var s=e.disjunctiveFacetsRefinements||{};Object.keys(s).forEach(function(e){var n=s[e]||[];if(e!==t&&n&&0!==n.length){var i=[];n.forEach(function(t){i.push(e+\":\"+t)}),r.push(i)}});var o=e.hierarchicalFacetsRefinements||{};return Object.keys(o).forEach(function(i){var a=(o[i]||[])[0];if(void 0!==a){var s,c,u=e.getHierarchicalFacetByName(i),l=e._getHierarchicalFacetSeparator(u),f=e._getHierarchicalRootPath(u);if(t===i){if(-1===a.indexOf(l)||!f&&!0===n||f&&f.split(l).length===a.split(l).length)return;a=f?(c=f.split(l).length-1,f):(c=a.split(l).length-2,a.slice(0,a.lastIndexOf(l))),s=u.attributes[c]}else c=a.split(l).length-1,s=u.attributes[c];s&&r.push([s+\":\"+a])}}),r},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce(function(t,n){var r=e.getHierarchicalRefinement(n.name)[0];if(!r)return t.push(n.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(n),a=r.split(i).length,s=n.attributes.slice(0,a+1);return t.concat(s)},[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,n){var r=e._getHierarchicalFacetSeparator(t);if(!0===n){var i=e._getHierarchicalRootPath(t),a=0;return i&&(a=i.split(r).length),[t.attributes[a]]}var s=(e.getHierarchicalRefinement(t.name)[0]||\"\").split(r).length-1;return t.attributes.slice(0,1+s)},getSearchForFacetQuery:function(e,t,n,r){var i=r.isDisjunctiveFacet(e)?r.clearRefinements(e):r,a={facetQuery:t,facetName:e};return\"number\"==typeof n&&(a.maxFacetHits=n),cr({},Er._getHitsSearchParams(i),a)}},Tr=Er,Cr=\"3.8.2\",kr=wr;Fr(D,Nr),D.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},D.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},D.prototype.getQuery=function(){var e=this.state;return Tr._getHitsSearchParams(e)},D.prototype.searchOnce=function(e,t){var n=e?this.state.setQueryParameters(e):this.state,r=Tr._getQueries(n.index,n),i=this;return this._currentNbQueries++,this.emit(\"searchOnce\",{state:n}),t?void this.client.search(r).then(function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),t(null,new Or(n,e.results),n)}).catch(function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),t(e,null,n)}):this.client.search(r).then(function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),{content:new Or(n,e.results),state:n,_originalResponse:e}},function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),e})},D.prototype.findAnswers=function(e){var t=this.state,n=this.derivedHelpers[0];if(!n)return Promise.resolve([]);var r=n.getModifiedState(t),i=cr({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:dr(Tr._getHitsSearchParams(r),[\"attributesToSnippet\",\"hitsPerPage\",\"restrictSearchableAttributes\",\"snippetEllipsisText\"])}),a=\"search for answers was called, but this client does not have a function client.initIndex(index).findAnswers\";if(\"function\"!=typeof this.client.initIndex)throw new Error(a);var s=this.client.initIndex(r.index);if(\"function\"!=typeof s.findAnswers)throw new Error(a);return s.findAnswers(r.query,e.queryLanguages,i)},D.prototype.searchForFacetValues=function(e,t,n,r){var i=\"function\"==typeof this.client.searchForFacetValues;if(!i&&\"function\"!=typeof this.client.initIndex)throw new Error(\"search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues\");var a=this.state.setQueryParameters(r||{}),s=a.isDisjunctiveFacet(e),o=Tr.getSearchForFacetQuery(e,t,n,a);this._currentNbQueries++;var c=this;return this.emit(\"searchForFacetValues\",{state:a,facet:e,query:t}),(i?this.client.searchForFacetValues([{indexName:a.index,params:o}]):this.client.initIndex(a.index).searchForFacetValues(o)).then(function(t){return c._currentNbQueries--,0===c._currentNbQueries&&c.emit(\"searchQueueEmpty\"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach(function(t){t.escapedValue=kr(t.value),t.isRefined=s?a.isDisjunctiveFacetRefined(e,t.escapedValue):a.isFacetRefined(e,t.escapedValue)}),t},function(e){throw c._currentNbQueries--,0===c._currentNbQueries&&c.emit(\"searchQueueEmpty\"),e})},D.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},D.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},D.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},D.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},D.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.addNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,n),isPageReset:!0}),this},D.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},D.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},D.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},D.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},D.prototype.removeNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,n),isPageReset:!0}),this},D.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},D.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},D.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},D.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},D.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},D.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},D.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},D.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},D.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},D.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},D.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},D.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},D.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},D.prototype.setCurrentPage=L,D.prototype.setPage=L,D.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},D.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},D.prototype.setState=function(e){return this._change({state:yr.make(e),isPageReset:!1}),this},D.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new yr(e),this},D.prototype.hasRefinements=function(e){return!!pr(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},D.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},D.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},D.prototype.hasTag=function(e){return this.state.isTagRefined(e)},D.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},D.prototype.getIndex=function(){return this.state.index},D.prototype.getCurrentPage=H,D.prototype.getPage=H,D.prototype.getTags=function(){return this.state.tagRefinements},D.prototype.getRefinements=function(e){var t=[];this.state.isConjunctiveFacet(e)?(this.state.getConjunctiveRefinements(e).forEach(function(e){t.push({value:e,type:\"conjunctive\"})}),this.state.getExcludeRefinements(e).forEach(function(e){t.push({value:e,type:\"exclude\"})})):this.state.isDisjunctiveFacet(e)&&this.state.getDisjunctiveRefinements(e).forEach(function(e){t.push({value:e,type:\"disjunctive\"})});var n=this.state.getNumericRefinements(e);return Object.keys(n).forEach(function(e){var r=n[e];t.push({value:r,operator:e,type:\"numeric\"})}),t},D.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},D.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},D.prototype._search=function(e){var t=this.state,n=[],r=[];e.onlyWithDerivedHelpers||(r=Tr._getQueries(t.index,t),n.push({state:t,queriesCount:r.length,helper:this}),this.emit(\"search\",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map(function(e){var r=e.getModifiedState(t),i=Tr._getQueries(r.index,r);return n.push({state:r,queriesCount:i.length,helper:e}),e.emit(\"search\",{state:r,results:e.lastResults}),i}),a=Array.prototype.concat.apply(r,i),s=this._queryId++;this._currentNbQueries++;try{this.client.search(a).then(this._dispatchAlgoliaResponse.bind(this,n,s)).catch(this._dispatchAlgoliaError.bind(this,s))}catch(e){this.emit(\"error\",{error:e})}},D.prototype._dispatchAlgoliaResponse=function(e,t,n){if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit(\"searchQueueEmpty\");var r=n.results.slice();e.forEach(function(e){var t=e.state,n=e.queriesCount,i=e.helper,a=r.splice(0,n),s=i.lastResults=new Or(t,a);i.emit(\"result\",{results:s,state:t})})}},D.prototype._dispatchAlgoliaError=function(e,t){e<this._lastQueryIdReceived||(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit(\"error\",{error:t}),0===this._currentNbQueries&&this.emit(\"searchQueueEmpty\"))},D.prototype.containsRefinement=function(e,t,n,r){return e||0!==t.length||0!==n.length||0!==r.length},D.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&0<this.state.disjunctiveRefinements[e].length},D.prototype._change=function(e){var t=e.state,n=e.isPageReset;t!==this.state&&(this.state=t,this.emit(\"change\",{state:this.state,results:this.lastResults,isPageReset:n}))},D.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},D.prototype.setClient=function(e){return this.client===e||(\"function\"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent(\"JS Helper (3.8.2)\"),this.client=e),this},D.prototype.getClient=function(){return this.client},D.prototype.derive=function(e){var t=new Ir(this,e);return this.derivedHelpers.push(t),t},D.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error(\"Derived helper already detached\");this.derivedHelpers.splice(t,1);\n},D.prototype.hasPendingRequests=function(){return 0<this._currentNbQueries};var Ar=D;M.version=Cr,M.AlgoliaSearchHelper=Ar,M.SearchParameters=yr,M.SearchResults=Or;var Dr=M,Lr=Promise.resolve(),Hr=V(function(e,t){!function(e){function t(e){\"}\"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function n(e){return e.trim?e.trim():e.replace(/^\\s*|\\s*$/g,\"\")}function r(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r<i;r++)if(t.charAt(n+r)!=e.charAt(r))return!1;return!0}function i(e,t){for(var n=0,r=t.length;n<r;n++)if(t[n].o==e.n)return e.tag=\"#\",!0}function a(e,t,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==e&&n[r].o==t)return!0}function s(e){var t=[];for(var n in e.partials)t.push('\"'+o(n)+'\":{name:\"'+o(e.partials[n].name)+'\", '+s(e.partials[n])+\"}\");return\"partials: {\"+t.join(\",\")+\"}, subs: \"+function(e){var t=[];for(var n in e)t.push('\"'+o(n)+'\": function(c,p,t,i) {'+e[n]+\"}\");return\"{ \"+t.join(\",\")+\" }\"}(e.subs)}function o(e){return e.replace(g,\"\\\\\\\\\").replace(d,'\\\\\"').replace(p,\"\\\\n\").replace(m,\"\\\\r\").replace(v,\"\\\\u2028\").replace(y,\"\\\\u2029\")}function c(e){return~e.indexOf(\".\")?\"d\":\"f\"}function u(e,t){var n=\"<\"+(t.prefix||\"\")+e.n+w++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp(\"'+o(n)+'\",c,p,\"'+(e.indent||\"\")+'\"));',n}function l(e,t){t.code+=\"t.b(t.t(t.\"+c(e.n)+'(\"'+o(e.n)+'\",c,p,0)));'}function f(e){return\"t.b(\"+e+\");\"}var h=/\\S/,d=/\\\"/g,p=/\\n/g,m=/\\r/g,g=/\\\\/g,v=/\\u2028/,y=/\\u2029/;e.tags={\"#\":1,\"^\":2,\"<\":3,$:4,\"/\":5,\"!\":6,\">\":7,\"=\":8,_v:9,\"{\":10,\"&\":11,_t:12},e.scan=function(i,a){function s(){0<y.length&&(b.push({tag:\"_t\",text:new String(y)}),y=\"\")}function o(t,n){if(s(),t&&function(){for(var t=!0,n=R;n<b.length;n++)if(!(t=e.tags[b[n].tag]<e.tags._v||\"_t\"==b[n].tag&&null===b[n].text.match(h)))return!1;return t}())for(var r,i=R;i<b.length;i++)b[i].text&&((r=b[i+1])&&\">\"==r.tag&&(r.indent=b[i].text.toString()),b.splice(i,1));else n||b.push({tag:\"\\n\"});w=!1,R=b.length}var c,u,l,f,d,p=i.length,m=0,g=null,v=null,y=\"\",b=[],w=!1,S=0,R=0,_=\"{{\",P=\"}}\";for(a&&(a=a.split(\" \"),_=a[0],P=a[1]),S=0;S<p;S++)0==m?r(_,i,S)?(--S,s(),m=1):\"\\n\"==i.charAt(S)?o(w):y+=i.charAt(S):1==m?(S+=_.length-1,m=\"=\"==(g=(v=e.tags[i.charAt(S+1)])?i.charAt(S+1):\"_v\")?(u=S,l=\"=\"+P,f=(c=i).indexOf(l,u),d=n(c.substring(c.indexOf(\"=\",u)+1,f)).split(\" \"),_=d[0],P=d[d.length-1],S=f+l.length-1,0):(v&&S++,2),w=S):r(P,i,S)?(b.push({tag:g,n:n(y),otag:_,ctag:P,i:\"/\"==g?w-_.length:S+P.length}),y=\"\",S+=P.length-1,m=0,\"{\"==g&&(\"}}\"==P?S++:t(b[b.length-1]))):y+=i.charAt(S);return o(w,!0),b};var b={_t:!0,\"\\n\":!0,$:!0,\"/\":!0};e.stringify=function(t,n,r){return\"{code: function (c,p,i) { \"+e.wrapMain(t.code)+\" },\"+s(t)+\"}\"};var w=0;e.generate=function(t,n,r){w=0;var i={code:\"\",subs:{},partials:{}};return e.walk(t,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},e.wrapMain=function(e){return'var t=this;t.b(i=i||\"\");'+e+\"return t.fl();\"},e.template=e.Template,e.makeTemplate=function(e,t,n){var r=this.makePartials(e);return r.code=new Function(\"c\",\"p\",\"i\",this.wrapMain(e.code)),new this.template(r,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function(\"c\",\"p\",\"t\",\"i\",e.subs[t]);return n},e.codegen={\"#\":function(t,n){n.code+=\"if(t.s(t.\"+c(t.n)+'(\"'+o(t.n)+'\",c,p,1),c,p,0,'+t.i+\",\"+t.end+',\"'+t.otag+\" \"+t.ctag+'\")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+=\"});c.pop();}\"},\"^\":function(t,n){n.code+=\"if(!t.s(t.\"+c(t.n)+'(\"'+o(t.n)+'\",c,p,1),c,p,1,0,0,\"\")){',e.walk(t.nodes,n),n.code+=\"};\"},\">\":u,\"<\":function(t,n){var r={partials:{},code:\"\",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[u(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:\"\",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub(\"'+o(t.n)+'\",c,p,i);')},\"\\n\":function(e,t){t.code+=f('\"\\\\n\"'+(e.last?\"\":\" + i\"))},_v:function(e,t){t.code+=\"t.b(t.v(t.\"+c(e.n)+'(\"'+o(e.n)+'\",c,p,0)));'},_t:function(e,t){t.code+=f('\"'+o(e.text)+'\"')},\"{\":l,\"&\":l},e.walk=function(t,n){for(var r,i=0,a=t.length;i<a;i++)(r=e.codegen[t[i].tag])&&r(t[i],n);return n},e.parse=function(t,n,r){return function t(n,r,s,o){var c,u=[],l=null,f=null;for(c=s[s.length-1];0<n.length;){if(f=n.shift(),c&&\"<\"==c.tag&&!(f.tag in b))throw new Error(\"Illegal content in < super tag.\");if(e.tags[f.tag]<=e.tags.$||i(f,o))s.push(f),f.nodes=t(n,f.tag,s,o);else{if(\"/\"==f.tag){if(0===s.length)throw new Error(\"Closing tag without opener: /\"+f.n);if(l=s.pop(),f.n!=l.n&&!a(f.n,l.n,o))throw new Error(\"Nesting error: \"+l.n+\" vs. \"+f.n);return l.end=f.i,u}\"\\n\"==f.tag&&(f.last=0==n.length||\"\\n\"==n[0].tag)}u.push(f)}if(0<s.length)throw new Error(\"missing closing tag: \"+s.pop().n);return u}(t,0,[],(r=r||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join(\"||\")},e.compile=function(t,n){n=n||{};var r=e.cacheKey(t,n),i=this.cache[r];if(i){var a=i.partials;for(var s in a)delete a[s].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[r]=i}}(t)}),Mr=V(function(e,t){!function(e){function t(e,t,n){var r;return t&&\"object\"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&\"function\"==typeof t.get&&(r=t.get(e))),r}function n(e){return String(null==e?\"\":e)}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||\"\",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=\"\"},e.Template.prototype={r:function(e,t,n){return\"\"},v:function(e){return e=n(e),c.test(e)?e.replace(r,\"&amp;\").replace(i,\"&lt;\").replace(a,\"&gt;\").replace(s,\"&#39;\").replace(o,\"&quot;\"):e},t:n,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],r=t[n.name];if(n.instance&&n.base==r)return n.instance;if(\"string\"==typeof r){if(!this.c)throw new Error(\"No compiler available.\");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[e].base=r,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);r=function(e,t,n,r,i,a){function s(){}function o(){}var c;o.prototype=(s.prototype=e).subs;var u=new s;for(c in u.subs=new o,u.subsText={},u.buf=\"\",r=r||{},u.stackSubs=r,u.subsText=a,t)r[c]||(r[c]=t[c]);for(c in r)u.subs[c]=r[c];for(c in i=i||{},u.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)u.partials[c]=i[c];return u}(r,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=r},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):\"\"},rs:function(e,t,n){var r=e[e.length-1];if(u(r))for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,r,i,a,s){var o;return(!u(e)||0!==e.length)&&(\"function\"==typeof e&&(e=this.ms(e,t,n,r,i,a,s)),o=!!e,!r&&o&&t&&t.push(\"object\"==typeof e?e:t[t.length-1]),o)},d:function(e,n,r,i){var a,s=e.split(\".\"),o=this.f(s[0],n,r,i),c=this.options.modelGet,l=null;if(\".\"===e&&u(n[n.length-2]))o=n[n.length-1];else for(var f=1;f<s.length;f++)o=void 0!==(a=t(s[f],o,c))?(l=o,a):\"\";return!(i&&!o)&&(i||\"function\"!=typeof o||(n.push(l),o=this.mv(o,n,r),n.pop()),o)},f:function(e,n,r,i){for(var a=!1,s=!1,o=this.options.modelGet,c=n.length-1;0<=c;c--)if(void 0!==(a=t(e,n[c],o))){s=!0;break}return s?(i||\"function\"!=typeof a||(a=this.mv(a,n,r)),a):!i&&\"\"},ls:function(e,t,r,i,a){var s=this.options.delimiters;return this.options.delimiters=a,this.b(this.ct(n(e.call(t,i)),t,r)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error(\"Lambda features disabled.\");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf=\"\",e},ms:function(e,t,n,r,i,a,s){var o,c=t[t.length-1],u=e.call(c);return\"function\"==typeof u?!!r||(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(u,c,n,o.substring(i,a),s)):u},mv:function(e,t,r){var i=t[t.length-1],a=e.call(i);return\"function\"==typeof a?this.ct(n(a.call(i)),i,r):a},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=/</g,a=/>/g,s=/\\'/g,o=/\\\"/g,c=/[&<>\\\"\\']/,u=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}}(t)});Hr.Template=Mr.Template,Hr.template=Hr.Template;var qr,Br,Wr,Qr,Ur,Vr,$r=Hr,zr={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Kr=/[&<>\"']/g,Jr=RegExp(Kr.source),Xr={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},Gr=/&(amp|quot|lt|gt|#39);/g,Yr=RegExp(Gr.source),Zr={highlightPreTag:\"__ais-highlight__\",highlightPostTag:\"__/ais-highlight__\"},ei={highlightPreTag:\"<mark>\",highlightPostTag:\"</mark>\"},ti=new RegExp(/\\w/i),ni=/^(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)$/,ri=ve({name:\"index-widget\"}),ii=Le(\"Highlight\"),ai=Le(\"ReverseHighlight\"),si=Le(\"Snippet\"),oi=Le(\"ReverseSnippet\"),ci=String.prototype.replace,ui=/%20/g,li=\"RFC3986\",fi={default:li,formatters:{RFC1738:function(e){return ci.call(e,ui,\"+\")},RFC3986:function(e){return String(e)}},RFC1738:\"RFC1738\",RFC3986:li},hi=Object.prototype.hasOwnProperty,di=Array.isArray,pi=function(){for(var e=[],t=0;t<256;++t)e.push(\"%\"+((t<16?\"0\":\"\")+t.toString(16)).toUpperCase());return e}(),mi={arrayToObject:$e,assign:function(e,t){return Object.keys(t).reduce(function(e,n){return e[n]=t[n],e},e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:\"o\"}],n=[],r=0;r<t.length;++r)for(var i=t[r],a=i.obj[i.prop],s=Object.keys(a),o=0;o<s.length;++o){var c=s[o],u=a[c];\"object\"==typeof u&&null!==u&&-1===n.indexOf(u)&&(t.push({obj:a,prop:c}),n.push(u))}return function(e){for(;1<e.length;){var t=e.pop(),n=t.obj[t.prop];if(di(n)){for(var r=[],i=0;i<n.length;++i)void 0!==n[i]&&r.push(n[i]);t.obj[t.prop]=r}}}(t),e},decode:function(e,t,n){var r=e.replace(/\\+/g,\" \");if(\"iso-8859-1\"===n)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(e){return r}},encode:function(e,t,n,r,i){if(0===e.length)return e;var a=e;if(\"symbol\"==typeof e?a=Symbol.prototype.toString.call(e):\"string\"!=typeof e&&(a=String(e)),\"iso-8859-1\"===n)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return\"%26%23\"+parseInt(e.slice(2),16)+\"%3B\"});for(var s=\"\",o=0;o<a.length;++o){var c=a.charCodeAt(o);45===c||46===c||95===c||126===c||48<=c&&c<=57||65<=c&&c<=90||97<=c&&c<=122||i===fi.RFC1738&&(40===c||41===c)?s+=a.charAt(o):c<128?s+=pi[c]:c<2048?s+=pi[192|c>>6]+pi[128|63&c]:c<55296||57344<=c?s+=pi[224|c>>12]+pi[128|c>>6&63]+pi[128|63&c]:(o+=1,c=65536+((1023&c)<<10|1023&a.charCodeAt(o)),s+=pi[240|c>>18]+pi[128|c>>12&63]+pi[128|c>>6&63]+pi[128|63&c])}return s},isBuffer:function(e){return!(!e||\"object\"!=typeof e||!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e)))},isRegExp:function(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(di(e)){for(var n=[],r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)},merge:function e(t,n,r){if(!n)return t;if(\"object\"!=typeof n){if(di(t))t.push(n);else{if(!t||\"object\"!=typeof t)return[t,n];(r&&(r.plainObjects||r.allowPrototypes)||!hi.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||\"object\"!=typeof t)return[t].concat(n);var i=t;return di(t)&&!di(n)&&(i=$e(t,r)),di(t)&&di(n)?(n.forEach(function(n,i){if(hi.call(t,i)){var a=t[i];a&&\"object\"==typeof a&&n&&\"object\"==typeof n?t[i]=e(a,n,r):t.push(n)}else t[i]=n}),t):Object.keys(n).reduce(function(t,i){var a=n[i];return hi.call(t,i)?t[i]=e(t[i],a,r):t[i]=a,t},i)}},gi=Object.prototype.hasOwnProperty,vi={brackets:function(e){return e+\"[]\"},comma:\"comma\",indices:function(e,t){return e+\"[\"+t+\"]\"},repeat:function(e){return e}},yi=Array.isArray,bi=Array.prototype.push,wi=Date.prototype.toISOString,Si=fi.default,Ri={addQueryPrefix:!1,allowDots:!1,charset:\"utf-8\",charsetSentinel:!1,delimiter:\"&\",encode:!0,encoder:mi.encode,encodeValuesOnly:!1,format:Si,formatter:fi.formatters[Si],indices:!1,serializeDate:function(e){return wi.call(e)},skipNulls:!1,strictNullHandling:!1},_i=Object.prototype.hasOwnProperty,Pi=Array.isArray,xi={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:\"utf-8\",charsetSentinel:!1,comma:!1,decoder:mi.decode,delimiter:\"&\",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},ji={formats:fi,parse:function(e,t){var n=function(e){if(!e)return xi;if(null!==e.decoder&&void 0!==e.decoder&&\"function\"!=typeof e.decoder)throw new TypeError(\"Decoder has to be a function.\");if(void 0!==e.charset&&\"utf-8\"!==e.charset&&\"iso-8859-1\"!==e.charset)throw new TypeError(\"The charset option must be either utf-8, iso-8859-1, or undefined\");var t=void 0===e.charset?xi.charset:e.charset;return{allowDots:void 0===e.allowDots?xi.allowDots:!!e.allowDots,allowPrototypes:\"boolean\"==typeof e.allowPrototypes?e.allowPrototypes:xi.allowPrototypes,arrayLimit:\"number\"==typeof e.arrayLimit?e.arrayLimit:xi.arrayLimit,charset:t,charsetSentinel:\"boolean\"==typeof e.charsetSentinel?e.charsetSentinel:xi.charsetSentinel,comma:\"boolean\"==typeof e.comma?e.comma:xi.comma,decoder:\"function\"==typeof e.decoder?e.decoder:xi.decoder,delimiter:\"string\"==typeof e.delimiter||mi.isRegExp(e.delimiter)?e.delimiter:xi.delimiter,depth:\"number\"==typeof e.depth||!1===e.depth?+e.depth:xi.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:\"boolean\"==typeof e.interpretNumericEntities?e.interpretNumericEntities:xi.interpretNumericEntities,parameterLimit:\"number\"==typeof e.parameterLimit?e.parameterLimit:xi.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:\"boolean\"==typeof e.plainObjects?e.plainObjects:xi.plainObjects,strictNullHandling:\"boolean\"==typeof e.strictNullHandling?e.strictNullHandling:xi.strictNullHandling}}(t);if(\"\"===e||null==e)return n.plainObjects?Object.create(null):{};for(var r=\"string\"==typeof e?function(e,t){var n,r={},i=t.ignoreQueryPrefix?e.replace(/^\\?/,\"\"):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,s=i.split(t.delimiter,a),o=-1,c=t.charset;if(t.charsetSentinel)for(n=0;n<s.length;++n)0===s[n].indexOf(\"utf8=\")&&(\"utf8=%E2%9C%93\"===s[n]?c=\"utf-8\":\"utf8=%26%2310003%3B\"===s[n]&&(c=\"iso-8859-1\"),o=n,n=s.length);for(n=0;n<s.length;++n)if(n!==o){var u,l,f=s[n],h=f.indexOf(\"]=\"),d=-1===h?f.indexOf(\"=\"):h+1;(l=-1===d?(u=t.decoder(f,xi.decoder,c,\"key\"),t.strictNullHandling?null:\"\"):(u=t.decoder(f.slice(0,d),xi.decoder,c,\"key\"),mi.maybeMap(Je(f.slice(d+1),t),function(e){return t.decoder(e,xi.decoder,c,\"value\")})))&&t.interpretNumericEntities&&\"iso-8859-1\"===c&&(l=l.replace(/&#(\\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})),-1<f.indexOf(\"[]=\")&&(l=Pi(l)?[l]:l),_i.call(r,u)?r[u]=mi.combine(r[u],l):r[u]=l}return r}(e,n):e,i=n.plainObjects?Object.create(null):{},a=Object.keys(r),s=0;s<a.length;++s){var o=a[s],c=Xe(o,r[o],n,\"string\"==typeof e);i=mi.merge(i,c,n)}return mi.compact(i)},stringify:function(e,t){var n,r=e,i=function(e){if(!e)return Ri;if(null!==e.encoder&&void 0!==e.encoder&&\"function\"!=typeof e.encoder)throw new TypeError(\"Encoder has to be a function.\");var t=e.charset||Ri.charset;if(void 0!==e.charset&&\"utf-8\"!==e.charset&&\"iso-8859-1\"!==e.charset)throw new TypeError(\"The charset option must be either utf-8, iso-8859-1, or undefined\");var n=fi.default;if(void 0!==e.format){if(!gi.call(fi.formatters,e.format))throw new TypeError(\"Unknown format option provided.\");n=e.format}var r=fi.formatters[n],i=Ri.filter;return\"function\"!=typeof e.filter&&!yi(e.filter)||(i=e.filter),{addQueryPrefix:\"boolean\"==typeof e.addQueryPrefix?e.addQueryPrefix:Ri.addQueryPrefix,allowDots:void 0===e.allowDots?Ri.allowDots:!!e.allowDots,charset:t,charsetSentinel:\"boolean\"==typeof e.charsetSentinel?e.charsetSentinel:Ri.charsetSentinel,delimiter:void 0===e.delimiter?Ri.delimiter:e.delimiter,encode:\"boolean\"==typeof e.encode?e.encode:Ri.encode,encoder:\"function\"==typeof e.encoder?e.encoder:Ri.encoder,encodeValuesOnly:\"boolean\"==typeof e.encodeValuesOnly?e.encodeValuesOnly:Ri.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:\"function\"==typeof e.serializeDate?e.serializeDate:Ri.serializeDate,skipNulls:\"boolean\"==typeof e.skipNulls?e.skipNulls:Ri.skipNulls,sort:\"function\"==typeof e.sort?e.sort:null,strictNullHandling:\"boolean\"==typeof e.strictNullHandling?e.strictNullHandling:Ri.strictNullHandling}}(t);\"function\"==typeof i.filter?r=(0,i.filter)(\"\",r):yi(i.filter)&&(n=i.filter);var a,s=[];if(\"object\"!=typeof r||null===r)return\"\";a=t&&t.arrayFormat in vi?t.arrayFormat:t&&\"indices\"in t?t.indices?\"indices\":\"repeat\":\"indices\";var o=vi[a];n=n||Object.keys(r),i.sort&&n.sort(i.sort);for(var c=0;c<n.length;++c){var u=n[c];i.skipNulls&&null===r[u]||ze(s,Ke(r[u],u,o,i.strictNullHandling,i.skipNulls,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.format,i.formatter,i.encodeValuesOnly,i.charset))}var l=s.join(i.delimiter),f=!0===i.addQueryPrefix?\"?\":\"\";return i.charsetSentinel&&(f+=\"iso-8859-1\"===i.charset?\"utf8=%26%2310003%3B&\":\"utf8=%E2%9C%93&\"),0<l.length?f+l:\"\"}},Oi=function(){function e(n){var r=this,a=n.windowTitle,s=n.writeDelay,o=void 0===s?400:s,c=n.createURL,u=n.parseURL,l=n.getLocation;t(this,e),i(this,\"windowTitle\",void 0),i(this,\"writeDelay\",void 0),i(this,\"_createURL\",void 0),i(this,\"parseURL\",void 0),i(this,\"getLocation\",void 0),i(this,\"writeTimer\",void 0),i(this,\"inPopState\",!1),i(this,\"isDisposed\",!1),i(this,\"latestAcknowledgedHistory\",0),this.windowTitle=a,this.writeTimer=void 0,this.writeDelay=o,this._createURL=c,this.parseURL=u,this.getLocation=l,Ie(function(e){var t=e.window,n=r.windowTitle&&r.windowTitle(r.read());Ge(n),r.latestAcknowledgedHistory=t.history.length})}return r(e,[{key:\"read\",value:function(){return this.parseURL({qsModule:ji,location:this.getLocation()})}},{key:\"write\",value:function(e){var t=this;Ie(function(n){var r=n.window,i=t.createURL(e),a=t.windowTitle&&t.windowTitle(e);t.writeTimer&&clearTimeout(t.writeTimer),t.writeTimer=setTimeout(function(){Ge(a),t.shouldWrite(i)&&(r.history.pushState(e,a||\"\",i),t.latestAcknowledgedHistory=r.history.length),t.inPopState=!1,t.writeTimer=void 0},t.writeDelay)})}},{key:\"onUpdate\",value:function(e){var t=this;this._onPopState=function(n){t.writeTimer&&(clearTimeout(t.writeTimer),t.writeTimer=void 0),t.inPopState=!0;var r=n.state;e(r||t.read())},Ie(function(e){e.window.addEventListener(\"popstate\",t._onPopState)})}},{key:\"createURL\",value:function(e){return this._createURL({qsModule:ji,routeState:e,location:this.getLocation()})}},{key:\"dispose\",value:function(){var e=this;this.isDisposed=!0,Ie(function(t){var n=t.window;e._onPopState&&n.removeEventListener(\"popstate\",e._onPopState)}),this.writeTimer&&clearTimeout(this.writeTimer),this.write({})}},{key:\"shouldWrite\",value:function(e){var t=this;return Ie(function(n){var r=n.window,i=!(t.isDisposed&&t.latestAcknowledgedHistory!==r.history.length);return!t.inPopState&&i&&e!==r.location.href})}}]),e}(),Ni=ve({name:\"instantsearch\"}),Fi=function(){function e(r){var a;t(this,e),i(h(a=n.call(this)),\"client\",void 0),i(h(a),\"indexName\",void 0),i(h(a),\"insightsClient\",void 0),i(h(a),\"onStateChange\",null),i(h(a),\"helper\",void 0),i(h(a),\"mainHelper\",void 0),i(h(a),\"mainIndex\",void 0),i(h(a),\"started\",void 0),i(h(a),\"templatesConfig\",void 0),i(h(a),\"renderState\",{}),i(h(a),\"_stalledSearchDelay\",void 0),i(h(a),\"_searchStalledTimer\",void 0),i(h(a),\"_isSearchStalled\",void 0),i(h(a),\"_initialUiState\",void 0),i(h(a),\"_initialResults\",void 0),i(h(a),\"_createURL\",void 0),i(h(a),\"_searchFunction\",void 0),i(h(a),\"_mainHelperSearch\",void 0),i(h(a),\"middleware\",[]),i(h(a),\"sendEventToInsights\",void 0),i(h(a),\"scheduleSearch\",q(function(){a.started&&a.mainHelper.search()})),i(h(a),\"scheduleRender\",q(function(){a.mainHelper.hasPendingRequests()||(clearTimeout(a._searchStalledTimer),a._searchStalledTimer=null,a._isSearchStalled=!1),a.mainIndex.render({instantSearchInstance:h(a)}),a.emit(\"render\")})),i(h(a),\"onInternalStateChange\",q(function(){var e=a.mainIndex.getWidgetUiState({});a.middleware.forEach(function(t){t.instance.onStateChange({uiState:e})})}));var s=r.indexName,c=void 0===s?null:s,u=r.numberLocale,l=r.initialUiState,f=void 0===l?{}:l,d=r.routing,p=void 0===d?null:d,m=r.searchFunction,g=r.stalledSearchDelay,v=void 0===g?200:g,y=r.searchClient,b=void 0===y?null:y,w=r.insightsClient,S=void 0===w?null:w,R=r.onStateChange,_=void 0===R?null:R;if(null===c)throw new Error(Ni(\"The `indexName` option is required.\"));if(null===b)throw new Error(Ni(\"The `searchClient` option is required.\"));if(\"function\"!=typeof b.search)throw new Error(\"The `searchClient` must implement a `search` method.\\n\\nSee: https://www.algolia.com/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/js/\");if(\"function\"==typeof b.addAlgoliaAgent&&b.addAlgoliaAgent(\"instantsearch.js (\".concat(\"4.41.0\",\")\")),S&&\"function\"!=typeof S)throw new Error(Ni(\"The `insightsClient` option should be a function.\"));if(a.client=b,a.insightsClient=S,a.indexName=c,a.helper=null,a.mainHelper=null,a.mainIndex=Ae({indexName:c}),a.onStateChange=_,a.started=!1,a.templatesConfig={helpers:function(e){var t=e.numberLocale;return{formatNumber:function(e,n){return Number(n(e)).toLocaleString(t)},highlight:function(e,t){try{return t(He(o(o({},JSON.parse(e)),{},{hit:this})))}catch(e){throw new Error('\\nThe highlight helper expects a JSON object of the format:\\n{ \"attribute\": \"name\", \"highlightedTagName\": \"mark\" }')}},reverseHighlight:function(e,t){try{return t(Me(o(o({},JSON.parse(e)),{},{hit:this})))}catch(e){throw new Error('\\n  The reverseHighlight helper expects a JSON object of the format:\\n  { \"attribute\": \"name\", \"highlightedTagName\": \"mark\" }')}},snippet:function(e,t){try{return t(qe(o(o({},JSON.parse(e)),{},{hit:this})))}catch(e){throw new Error('\\nThe snippet helper expects a JSON object of the format:\\n{ \"attribute\": \"name\", \"highlightedTagName\": \"mark\" }')}},reverseSnippet:function(e,t){try{return t(Be(o(o({},JSON.parse(e)),{},{hit:this})))}catch(e){throw new Error('\\n  The reverseSnippet helper expects a JSON object of the format:\\n  { \"attribute\": \"name\", \"highlightedTagName\": \"mark\" }')}},insights:function(e,t){try{var n=JSON.parse(e),r=n.method,i=n.payload;return t(We(r,o({objectIDs:[this.objectID]},i)))}catch(e){throw new Error('\\nThe insights helper expects a JSON object of the format:\\n{ \"method\": \"method-name\", \"payload\": { \"eventName\": \"name of the event\" } }')}}}}({numberLocale:u}),compileOptions:{}},a._stalledSearchDelay=v,a._searchStalledTimer=null,a._isSearchStalled=!1,a._createURL=nt,a._initialUiState=f,a._initialResults=null,m&&(a._searchFunction=m),a.sendEventToInsights=Z,p){var P=\"boolean\"==typeof p?void 0:p;a.use(Ze(P))}return et()&&a.use(tt()),a}c(e,Nr);var n=d(e);return r(e,[{key:\"use\",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=n.map(function(t){var n=o({subscribe:Z,unsubscribe:Z,onStateChange:Z},t({instantSearchInstance:e}));return e.middleware.push({creator:t,instance:n}),n});return this.started&&i.forEach(function(e){e.subscribe()}),this}},{key:\"unuse\",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.middleware.filter(function(e){return t.includes(e.creator)}).forEach(function(e){return e.instance.unsubscribe()}),this.middleware=this.middleware.filter(function(e){return!t.includes(e.creator)}),this}},{key:\"EXPERIMENTAL_use\",value:function(){return this.use.apply(this,arguments)}},{key:\"addWidget\",value:function(e){return this.addWidgets([e])}},{key:\"addWidgets\",value:function(e){if(!Array.isArray(e))throw new Error(Ni(\"The `addWidgets` method expects an array of widgets. Please use `addWidget`.\"));if(e.some(function(e){return\"function\"!=typeof e.init&&\"function\"!=typeof e.render}))throw new Error(Ni(\"The widget definition expects a `render` and/or an `init` method.\"));return this.mainIndex.addWidgets(e),this}},{key:\"removeWidget\",value:function(e){return this.removeWidgets([e])}},{key:\"removeWidgets\",value:function(e){if(!Array.isArray(e))throw new Error(Ni(\"The `removeWidgets` method expects an array of widgets. Please use `removeWidget`.\"));if(e.some(function(e){return\"function\"!=typeof e.dispose}))throw new Error(Ni(\"The widget definition expects a `dispose` method.\"));return this.mainIndex.removeWidgets(e),this}},{key:\"start\",value:function(){var e=this;if(this.started)throw new Error(Ni(\"The `start` method has already been called once.\"));var t=this.mainHelper||Dr(this.client,this.indexName);if(t.search=function(){return t.searchOnlyWithDerivedHelpers()},this._searchFunction){var n={search:function(){return new Promise(Z)}};this._mainHelperSearch=t.search.bind(t),t.search=function(){var r=e.mainIndex.getHelper(),i=Dr(n,r.state.index,r.state);return i.once(\"search\",function(t){var n=t.state;r.overrideStateWithoutTriggeringChangeEvent(n),e._mainHelperSearch()}),i.on(\"change\",function(e){var t=e.state;r.setState(t)}),e._searchFunction(i),t}}if(t.on(\"error\",function(t){var n=t.error;n.error=n,e.emit(\"error\",n)}),this.mainHelper=t,this.middleware.forEach(function(e){e.instance.subscribe()}),this.mainIndex.init({instantSearchInstance:this,parent:null,uiState:this._initialUiState}),this._initialResults){var r=this.scheduleSearch;this.scheduleSearch=q(Z),q(function(){e.scheduleSearch=r})()}else 0<this.mainIndex.getWidgets().length&&this.scheduleSearch();this.helper=this.mainIndex.getHelper(),this.started=!0}},{key:\"dispose\",value:function(){this.scheduleSearch.cancel(),this.scheduleRender.cancel(),clearTimeout(this._searchStalledTimer),this.removeWidgets(this.mainIndex.getWidgets()),this.mainIndex.dispose(),this.started=!1,this.removeAllListeners(),this.mainHelper.removeAllListeners(),this.mainHelper=null,this.helper=null,this.middleware.forEach(function(e){e.instance.unsubscribe()})}},{key:\"scheduleStalledRender\",value:function(){var e=this;this._searchStalledTimer||(this._searchStalledTimer=setTimeout(function(){e._isSearchStalled=!0,e.scheduleRender()},this._stalledSearchDelay))}},{key:\"setUiState\",value:function(e){if(!this.mainHelper)throw new Error(Ni(\"The `start` method needs to be called before `setUiState`.\"));this.mainIndex.refreshUiState();var t=\"function\"==typeof e?e(this.mainIndex.getWidgetUiState({})):e;!function e(n){var r=t[n.getIndexId()]||{};n.getHelper().setState(n.getWidgetSearchParameters(n.getHelper().state,{uiState:r})),n.getWidgets().filter(Ee).forEach(e)}(this.mainIndex),this.scheduleSearch(),this.onInternalStateChange()}},{key:\"getUiState\",value:function(){return this.started&&this.mainIndex.refreshUiState(),this.mainIndex.getWidgetUiState({})}},{key:\"createURL\",value:function(e){var t=0<arguments.length&&void 0!==e?e:{};if(!this.started)throw new Error(Ni(\"The `start` method needs to be called before `createURL`.\"));return this._createURL(t)}},{key:\"refresh\",value:function(){if(!this.mainHelper)throw new Error(Ni(\"The `start` method needs to be called before `refresh`.\"));this.mainHelper.clearCache().search()}}]),e}(),Ii=ve({name:\"clear-refinements\",connector:!0}),Ei=ve({name:\"current-refinements\",connector:!0}),Ti=ve({name:\"hierarchical-menu\",connector:!0}),Ci=[\"name:asc\"],ki=ve({name:\"hits\",connector:!0}),Ai={},Di=[],Li=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;qr=Di.slice,Br={__e:function(e,t){for(var n,r,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),i=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),i=n.__d),i)return n.__E=n}catch(t){e=t}throw e}},Wr=0,yt.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=dt({},this.state),\"function\"==typeof e&&(e=e(dt({},n),this.props)),e&&dt(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),St(this))},yt.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),St(this))},yt.prototype.render=vt,Qr=[],Ur=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Rt.__r=0;var Hi=ht(lt),Mi=ve({name:\"hits-per-page\",connector:!0}),qi=ve({name:\"infinite-hits\",connector:!0}),Bi=ht(qt),Wi=ve({name:\"menu\",connector:!0}),Qi=[\"isRefined\",\"name:asc\"],Ui=ve({name:\"numeric-menu\",connector:!0}),Vi=\"ais.numericMenu\",$i=function(){function e(n){t(this,e),i(this,\"currentPage\",void 0),i(this,\"total\",void 0),i(this,\"padding\",void 0),this.currentPage=n.currentPage,this.total=n.total,this.padding=n.padding}return r(e,[{key:\"pages\",value:function(){var e=this.total,t=this.currentPage,n=this.padding;if(0===e)return[0];var r=this.nbPagesDisplayed(n,e);if(r===e)return ie({end:e});var i=this.calculatePaddingLeft(t,n,e,r);return ie({start:t-i,end:t+(r-i)})}},{key:\"nbPagesDisplayed\",value:function(e,t){return Math.min(2*e+1,t)}},{key:\"calculatePaddingLeft\",value:function(e,t,n,r){return e<=t?e:n-t<=e?r-(n-e):t}},{key:\"isLastPage\",value:function(){return this.currentPage===this.total-1||0===this.total}},{key:\"isFirstPage\",value:function(){return 0===this.currentPage}}]),e}(),zi=ve({name:\"pagination\",connector:!0}),Ki=ve({name:\"range-input\",connector:!0},{name:\"range-slider\",connector:!0}),Ji=\"ais.range\",Xi=ve({name:\"refinement-list\",connector:!0}),Gi=[\"isRefined\",\"count:desc\",\"name:asc\"],Yi=ve({name:\"search-box\",connector:!0}),Zi=ve({name:\"sort-by\",connector:!0}),ea=ve({name:\"rating-menu\",connector:!0}),ta=\"ais.ratingMenu\",na=ve({name:\"stats\",connector:!0}),ra=ve({name:\"toggle-refinement\",connector:!0}),ia=\"ais.toggleRefinement\",aa=ve({name:\"breadcrumb\",connector:!0}),sa=ve({name:\"geo-search\",connector:!0}),oa=\"ais.geoSearch\",ca=ve({name:\"powered-by\",connector:!0}),ua=ve({name:\"configure\",connector:!0}),la=ve({name:\"configure-related-items\",connector:!0}),fa=ve({name:\"autocomplete\",connector:!0}),ha=ve({name:\"query-rules\",connector:!0}),da=ve({name:\"voice-search\",connector:!0}),pa=ve({name:\"answers\",connector:!0}),ma=ve({name:\"dynamic-widgets\",connector:!0}),ga=ee(yn),va=Object.freeze({__proto__:null,connectDynamicWidgets:yn,EXPERIMENTAL_connectDynamicWidgets:ga,connectClearRefinements:rt,connectCurrentRefinements:it,connectHierarchicalMenu:ut,connectHits:lt,connectHitsWithInsights:Hi,connectHitsPerPage:Ht,connectInfiniteHits:qt,connectInfiniteHitsWithInsights:Bi,connectMenu:Bt,connectNumericMenu:Wt,connectPagination:$t,connectRange:Kt,connectRefinementList:Jt,connectSearchBox:Gt,connectSortBy:Yt,connectRatingMenu:Zt,connectStats:en,connectToggleRefinement:tn,connectBreadcrumb:nn,connectGeoSearch:sn,connectPoweredBy:on,connectConfigure:un,EXPERIMENTAL_connectConfigureRelatedItems:fn,connectAutocomplete:function(e,t){var n=1<arguments.length&&void 0!==t?t:Z;return Y(e,fa()),function(t){var r=(t||{}).escapeHTML,a=void 0===r||r,s={};return{$$type:\"ais.autocomplete\",init:function(t){var n=t.instantSearchInstance;e(o(o({},this.getWidgetRenderState(t)),{},{instantSearchInstance:n}),!0)},render:function(t){var n=t.instantSearchInstance,r=this.getWidgetRenderState(t);r.indices.forEach(function(e){(0,e.sendEvent)(\"view\",e.hits)}),e(o(o({},r),{},{instantSearchInstance:n}),!1)},getRenderState:function(e,t){return o(o({},e),{},{autocomplete:this.getWidgetRenderState(t)})},getWidgetRenderState:function(e){var n=this,r=e.helper,i=e.state,o=e.scopedResults,c=e.instantSearchInstance;s.refine||(s.refine=function(e){r.setQuery(e).search()});var u=o.map(function(e){e.results.hits=a?ue(e.results.hits):e.results.hits;var t=xe({instantSearchInstance:c,index:e.results.index,widgetType:n.$$type});return{indexId:e.indexId,indexName:e.results.index,hits:e.results.hits,results:e.results,sendEvent:t}});return{currentRefinement:i.query||\"\",indices:u,refine:s.refine,widgetParams:t}},getWidgetUiState:function(e,t){var n=t.searchParameters.query||\"\";return\"\"===n||e&&e.query===n?e:o(o({},e),{},{\nquery:n})},getWidgetSearchParameters:function(e,t){var n={query:t.uiState.query||\"\"};return a?e.setQueryParameters(o(o({},n),Zr)):e.setQueryParameters(n)},dispose:function(e){var t=e.state;n();var r=t.setQueryParameter(\"query\",void 0);return a?r.setQueryParameters(Object.keys(Zr).reduce(function(e,t){return o(o({},e),{},i({},t,void 0))},{})):r}}}},connectQueryRules:dn,connectVoiceSearch:mn,EXPERIMENTAL_connectAnswers:gn,connectRelevantSort:vn}),ya=ve({name:\"analytics\"}),ba=V(function(e){function t(){for(var e=[],r=0;r<arguments.length;r++){var i=arguments[r];if(i){var a=typeof i;if(\"string\"==a||\"number\"==a)e.push(i);else if(Array.isArray(i)&&i.length){var s=t.apply(null,i);s&&e.push(s)}else if(\"object\"==a)for(var o in i)n.call(i,o)&&i[o]&&e.push(o)}}return e.join(\" \")}var n;n={}.hasOwnProperty,e.exports?(t.default=t,e.exports=t):window.classNames=t}),wa=function(){function e(){return t(this,e),n.apply(this,arguments)}c(e,yt);var n=d(e);return r(e,[{key:\"shouldComponentUpdate\",value:function(e){return!se(this.props.data,e.data)||this.props.templateKey!==e.templateKey||!se(this.props.rootProps,e.rootProps)}},{key:\"render\",value:function(){var e=this.props.rootTagName,t=this.props.useCustomCompileOptions[this.props.templateKey]?this.props.templatesConfig.compileOptions:{},n=$({templates:this.props.templates,templateKey:this.props.templateKey,compileOptions:t,helpers:this.props.templatesConfig.helpers,data:this.props.data,bindEvent:this.props.bindEvent});return null===n?null:mt(e,a({},this.props.rootProps,{dangerouslySetInnerHTML:{__html:n}}))}}]),e}();i(wa,\"defaultProps\",{data:{},rootTagName:\"div\",useCustomCompileOptions:{},templates:{},templatesConfig:{}});var Sa={home:\"Home\",separator:\">\"},Ra=ve({name:\"breadcrumb\"}),_a=Le(\"Breadcrumb\"),Pa={resetLabel:\"Clear refinements\"},xa=ve({name:\"clear-refinements\"}),ja=Le(\"ClearRefinements\"),Oa=ve({name:\"current-refinements\"}),Na=Le(\"CurrentRefinements\"),Fa={header:\"\",loader:\"\",item:function(e){return JSON.stringify(e)}},Ia=ve({name:\"answers\"}),Ea=Le(\"Answers\"),Ta=ve({name:\"dynamic-widgets\"}),Ca=Le(\"DynamicWidgets\"),ka={HTMLMarker:\"<p>Your custom HTML Marker</p>\",reset:\"Clear the map refinement\",toggle:\"Search as I move the map\",redo:\"Redo search here\"},Aa=ve({name:\"geo-search\"}),Da=Le(\"GeoSearch\"),La={query:\"\",showSubmit:!0,showReset:!0,showLoadingIndicator:!0,autofocus:!1,searchAsYouType:!0,isSearchStalled:!1,disabled:!1,onChange:Z,onSubmit:Z,onReset:Z,refine:Z},Ha=function(){function e(){var r;t(this,e);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return i(h(r=n.call.apply(n,[this].concat(s))),\"state\",{query:r.props.query,focused:!1}),i(h(r),\"input\",{current:null}),i(h(r),\"onInput\",function(e){var t=r.props,n=t.searchAsYouType,i=t.refine,a=t.onChange,s=e.target.value;n&&i(s),r.setState({query:s}),a(e)}),i(h(r),\"onSubmit\",function(e){var t=r.props,n=t.searchAsYouType,i=t.refine,a=t.onSubmit;return e.preventDefault(),e.stopPropagation(),r.input.current&&r.input.current.blur(),n||i(r.state.query),a(e),!1}),i(h(r),\"onReset\",function(e){var t=r.props,n=t.refine,i=t.onReset;r.input.current&&r.input.current.focus(),n(\"\"),r.setState({query:\"\"}),i(e)}),i(h(r),\"onBlur\",function(){r.setState({focused:!1})}),i(h(r),\"onFocus\",function(){r.setState({focused:!0})}),r}c(e,yt);var n=d(e);return r(e,[{key:\"resetInput\",value:function(){this.setState({query:\"\"})}},{key:\"componentWillReceiveProps\",value:function(e){this.state.focused||e.query===this.state.query||this.setState({query:e.query})}},{key:\"render\",value:function(){var e=this.props,t=e.cssClasses,n=e.placeholder,r=e.autofocus,i=e.showSubmit,a=e.showReset,s=e.showLoadingIndicator,o=e.templates,c=e.isSearchStalled;return mt(\"div\",{className:t.root},mt(\"form\",{action:\"\",role:\"search\",className:t.form,noValidate:!0,onSubmit:this.onSubmit,onReset:this.onReset},mt(\"input\",{ref:this.input,value:this.state.query,disabled:this.props.disabled,className:t.input,type:\"search\",placeholder:n,autoFocus:r,autoComplete:\"off\",autoCorrect:\"off\",autoCapitalize:\"off\",spellCheck:\"false\",maxLength:512,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus}),mt(wa,{templateKey:\"submit\",rootTagName:\"button\",rootProps:{className:t.submit,type:\"submit\",title:\"Submit the search query.\",hidden:!i},templates:o,data:{cssClasses:t}}),mt(wa,{templateKey:\"reset\",rootTagName:\"button\",rootProps:{className:t.reset,type:\"reset\",title:\"Clear the search query.\",hidden:!(a&&this.state.query.trim()&&!c)},templates:o,data:{cssClasses:t}}),s&&mt(wa,{templateKey:\"loadingIndicator\",rootTagName:\"span\",rootProps:{className:t.loadingIndicator,hidden:!c},templates:o,data:{cssClasses:t}})))}}]),e}();i(Ha,\"defaultProps\",La);var Ma=function(){function e(r){var a;return t(this,e),i(h(a=n.call(this,r)),\"searchBox\",{current:null}),a.handleItemClick=a.handleItemClick.bind(h(a)),a}c(e,yt);var n=d(e);return r(e,[{key:\"shouldComponentUpdate\",value:function(e){return!se(this.props.facetValues,e.facetValues)}},{key:\"refine\",value:function(e){this.props.toggleRefinement(e)}},{key:\"_generateFacetItem\",value:function(t){var n,r;if(Cn(t)&&Array.isArray(t.data)&&0<t.data.length){var s=this.props.cssClasses,c=(s.root,f(s,[\"root\"]));r=mt(e,a({},this.props,{cssClasses:c,depth:this.props.depth+1,facetValues:t.data,showMore:!1,className:this.props.cssClasses.childList}))}var u=this.props.createURL(t.value),l=o(o({},t),{},{url:u,attribute:this.props.attribute,cssClasses:this.props.cssClasses,isFromSearch:this.props.isFromSearch}),h=t.value;void 0!==t.isRefined&&(h+=\"/\".concat(t.isRefined)),void 0!==t.count&&(h+=\"/\".concat(t.count));var d=ba(this.props.cssClasses.item,(i(n={},this.props.cssClasses.selectedItem,t.isRefined),i(n,this.props.cssClasses.disabledItem,!t.count),i(n,this.props.cssClasses.parentItem,Cn(t)&&Array.isArray(t.data)&&0<t.data.length),n));return mt(Tn,{templateKey:\"item\",key:h,facetValueToRefine:t.value,handleClick:this.handleItemClick,isRefined:t.isRefined,className:d,subItems:r,templateData:l,templateProps:this.props.templateProps})}},{key:\"handleItemClick\",value:function(e){var t=e.facetValueToRefine,n=e.isRefined,r=e.originalEvent;if(!W(r)&&r.target instanceof HTMLElement&&r.target.parentNode instanceof HTMLElement&&(!n||!r.target.parentNode.querySelector('input[type=\"radio\"]:checked')))if(\"INPUT\"!==r.target.tagName){for(var i=r.target;i!==r.currentTarget;){if(\"LABEL\"===i.tagName&&(i.querySelector('input[type=\"checkbox\"]')||i.querySelector('input[type=\"radio\"]')))return;\"A\"===i.tagName&&i.href&&r.preventDefault(),i=i.parentNode}r.stopPropagation(),this.refine(t)}else this.refine(t)}},{key:\"componentWillReceiveProps\",value:function(e){this.searchBox.current&&!e.isFromSearch&&this.searchBox.current.resetInput()}},{key:\"refineFirstValue\",value:function(){var e=this.props.facetValues&&this.props.facetValues[0];if(e){var t=e.value;this.props.toggleRefinement(t)}}},{key:\"render\",value:function(){var e=this,t=ba(this.props.cssClasses.showMore,i({},this.props.cssClasses.disabledShowMore,!(!0===this.props.showMore&&this.props.canToggleShowMore))),n=!0===this.props.showMore&&mt(wa,a({},this.props.templateProps,{templateKey:\"showMoreText\",rootTagName:\"button\",rootProps:{className:t,disabled:!this.props.canToggleShowMore,onClick:this.props.toggleShowMore},data:{isShowingMore:this.props.isShowingMore}})),r=!0!==this.props.searchIsAlwaysActive&&!(this.props.isFromSearch||!this.props.hasExhaustiveItems),s=this.props.searchFacetValues&&mt(\"div\",{className:this.props.cssClasses.searchBox},mt(Ha,{ref:this.searchBox,placeholder:this.props.searchPlaceholder,disabled:r,cssClasses:this.props.cssClasses.searchable,templates:this.props.searchBoxTemplateProps.templates,onChange:function(t){return e.props.searchFacetValues(t.target.value)},onReset:function(){return e.props.searchFacetValues(\"\")},onSubmit:function(){return e.refineFirstValue()},searchAsYouType:!1})),o=this.props.facetValues&&0<this.props.facetValues.length&&mt(\"ul\",{className:this.props.cssClasses.list},this.props.facetValues.map(this._generateFacetItem,this)),c=this.props.searchFacetValues&&this.props.isFromSearch&&(!this.props.facetValues||0===this.props.facetValues.length)&&mt(wa,a({},this.props.templateProps,{templateKey:\"searchableNoResults\",rootProps:{className:this.props.cssClasses.noResults}}));return mt(\"div\",{className:ba(this.props.cssClasses.root,i({},this.props.cssClasses.noRefinementRoot,!this.props.facetValues||0===this.props.facetValues.length),this.props.className)},this.props.children,s,o,c,n)}}]),e}();i(Ma,\"defaultProps\",{cssClasses:{},depth:0});var qa,Ba,Wa,Qa={item:'<a class=\"{{cssClasses.link}}\" href=\"{{url}}\"><span class=\"{{cssClasses.label}}\">{{label}}</span><span class=\"{{cssClasses.count}}\">{{#helpers.formatNumber}}{{count}}{{/helpers.formatNumber}}</span></a>',showMoreText:\"\\n    {{#isShowingMore}}\\n      Show less\\n    {{/isShowingMore}}\\n    {{^isShowingMore}}\\n      Show more\\n    {{/isShowingMore}}\\n  \"},Ua=ve({name:\"hierarchical-menu\"}),Va=Le(\"HierarchicalMenu\"),$a={empty:\"No results\",item:function(e){return JSON.stringify(e,null,2)}},za=ve({name:\"hits\"}),Ka=Le(\"Hits\"),Ja=Lt(function(e){var t=e.results,n=e.hits,r=e.bindEvent,i=e.cssClasses,s=e.templateProps;return 0===t.hits.length?mt(wa,a({},s,{templateKey:\"empty\",rootProps:{className:ba(i.root,i.emptyRoot)},data:t})):mt(\"div\",{className:i.root},mt(\"ol\",{className:i.list},n.map(function(e,t){return mt(wa,a({},s,{templateKey:\"item\",rootTagName:\"li\",rootProps:{className:i.item},key:e.objectID,data:o(o({},e),{},{__hitIndex:t}),bindEvent:r}))})))}),Xa=ve({name:\"hits-per-page\"}),Ga=Le(\"HitsPerPage\"),Ya={empty:\"No results\",showPreviousText:\"Show previous results\",showMoreText:\"Show more results\",item:function(e){return JSON.stringify(e,null,2)}},Za=ve({name:\"infinite-hits\"}),es=Le(\"InfiniteHits\"),ts=Lt(function(e){var t=e.results,n=e.hits,r=e.bindEvent,s=e.hasShowPrevious,c=e.showPrevious,u=e.showMore,l=e.isFirstPage,f=e.isLastPage,h=e.cssClasses,d=e.templateProps;return 0===t.hits.length?mt(wa,a({},d,{templateKey:\"empty\",rootProps:{className:ba(h.root,h.emptyRoot)},data:t})):mt(\"div\",{className:h.root},s&&mt(wa,a({},d,{templateKey:\"showPreviousText\",rootTagName:\"button\",rootProps:{className:ba(h.loadPrevious,i({},h.disabledLoadPrevious,l)),disabled:l,onClick:c}})),mt(\"ol\",{className:h.list},n.map(function(e,t){return mt(wa,a({},d,{templateKey:\"item\",rootTagName:\"li\",rootProps:{className:h.item},key:e.objectID,data:o(o({},e),{},{__hitIndex:t}),bindEvent:r}))})),mt(wa,a({},d,{templateKey:\"showMoreText\",rootTagName:\"button\",rootProps:{className:ba(h.loadMore,i({},h.disabledLoadMore,f)),disabled:f,onClick:u}})))}),ns={item:'<a class=\"{{cssClasses.link}}\" href=\"{{url}}\"><span class=\"{{cssClasses.label}}\">{{label}}</span><span class=\"{{cssClasses.count}}\">{{#helpers.formatNumber}}{{count}}{{/helpers.formatNumber}}</span></a>',showMoreText:\"\\n    {{#isShowingMore}}\\n      Show less\\n    {{/isShowingMore}}\\n    {{^isShowingMore}}\\n      Show more\\n    {{/isShowingMore}}\\n  \"},rs=ve({name:\"menu\"}),is=Le(\"Menu\"),as={item:\"{{label}} ({{#helpers.formatNumber}}{{count}}{{/helpers.formatNumber}})\",defaultOption:\"See all\"},ss=ve({name:\"menu-select\"}),os=Le(\"MenuSelect\"),cs={item:'<label class=\"{{cssClasses.label}}\">\\n  <input type=\"radio\" class=\"{{cssClasses.radio}}\" name=\"{{attribute}}\"{{#isRefined}} checked{{/isRefined}} />\\n  <span class=\"{{cssClasses.labelText}}\">{{label}}</span>\\n</label>'},us=ve({name:\"numeric-menu\"}),ls=Le(\"NumericMenu\"),fs=Le(\"Pagination\"),hs=ve({name:\"pagination\"}),ds={previous:\"\u2039\",next:\"\u203a\",first:\"\u00ab\",last:\"\u00bb\"},ps=0,ms=[],gs=Br.__b,vs=Br.__r,ys=Br.diffed,bs=Br.__c,ws=Br.unmount;Br.__b=function(e){Ba=null,gs&&gs(e)},Br.__r=function(e){vs&&vs(e),qa=0;var t=(Ba=e.__c).__H;t&&(t.__h.forEach(Wn),t.__h.forEach(Qn),t.__h=[])},Br.diffed=function(e){ys&&ys(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==ms.push(t)&&Wa===Br.requestAnimationFrame||((Wa=Br.requestAnimationFrame)||function(e){function t(){clearTimeout(r),Ss&&cancelAnimationFrame(n),setTimeout(e)}var n,r=setTimeout(t,100);Ss&&(n=requestAnimationFrame(t))})(Bn)),Ba=null},Br.__c=function(e,t){t.some(function(e){try{e.__h.forEach(Wn),e.__h=e.__h.filter(function(e){return!e.__||Qn(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],Br.__e(n,e.__v)}}),bs&&bs(e,t)},Br.unmount=function(e){ws&&ws(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{Wn(e)}catch(e){t=e}}),t&&Br.__e(t,n.__v))};var Ss=\"function\"==typeof requestAnimationFrame,Rs=ve({name:\"panel\"}),_s=Le(\"Panel\"),Ps=mt(\"path\",{fill:\"#5468FF\",d:\"M78.99.94h16.6a2.97 2.97 0 012.96 2.96v16.6a2.97 2.97 0 01-2.97 2.96h-16.6a2.97 2.97 0 01-2.96-2.96V3.9A2.96 2.96 0 0179 .94\"}),xs=mt(\"path\",{fill:\"#FFF\",d:\"M89.63 5.97v-.78a.98.98 0 00-.98-.97h-2.28a.98.98 0 00-.97.97V6c0 .09.08.15.17.13a7.13 7.13 0 013.9-.02c.08.02.16-.04.16-.13m-6.25 1L83 6.6a.98.98 0 00-1.38 0l-.46.46a.97.97 0 000 1.38l.38.39c.06.06.15.04.2-.02a7.49 7.49 0 011.63-1.62c.07-.04.08-.14.02-.2m4.16 2.45v3.34c0 .1.1.17.2.12l2.97-1.54c.06-.03.08-.12.05-.18a3.7 3.7 0 00-3.08-1.87c-.07 0-.14.06-.14.13m0 8.05a4.49 4.49 0 110-8.98 4.49 4.49 0 010 8.98m0-10.85a6.37 6.37 0 100 12.74 6.37 6.37 0 000-12.74\"}),js=Le(\"PoweredBy\"),Os=ve({name:\"powered-by\"}),Ns=ve({name:\"query-rule-context\"}),Fs={default:function(e){var t=e.items;return JSON.stringify(t,null,2)}},Is=ve({name:\"query-rule-custom-data\"}),Es=Le(\"QueryRuleCustomData\"),Ts=function(){function e(){var r;t(this,e);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return i(h(r=n.call.apply(n,[this].concat(s))),\"state\",{min:r.props.values.min,max:r.props.values.max}),i(h(r),\"onInput\",function(e){return function(t){var n=t.currentTarget.value;r.setState(i({},e,Number(n)))}}),i(h(r),\"onSubmit\",function(e){e.preventDefault(),r.props.refine([r.state.min,r.state.max])}),r}c(e,yt);var n=d(e);return r(e,[{key:\"componentWillReceiveProps\",value:function(e){this.setState({min:e.values.min,max:e.values.max})}},{key:\"render\",value:function(){var e=this.state,t=e.min,n=e.max,r=this.props,s=r.min,o=r.max,c=r.step,u=r.cssClasses,l=r.templateProps,f=!(!s||!o)&&o<=s,h=Boolean(t||n);return mt(\"div\",{className:ba(u.root,i({},u.noRefinement,!h))},mt(\"form\",{className:u.form,onSubmit:this.onSubmit},mt(\"label\",{className:u.label},mt(\"input\",{className:ba(u.input,u.inputMin),type:\"number\",min:s,max:o,step:c,value:null!=t?t:\"\",onInput:this.onInput(\"min\"),placeholder:null==s?void 0:s.toString(),disabled:f})),mt(wa,a({},l,{templateKey:\"separatorText\",rootTagName:\"span\",rootProps:{className:u.separator}})),mt(\"label\",{className:u.label},mt(\"input\",{className:ba(u.input,u.inputMax),type:\"number\",min:s,max:o,step:c,value:null!=n?n:\"\",onInput:this.onInput(\"max\"),placeholder:null==o?void 0:o.toString(),disabled:f})),mt(wa,a({},l,{templateKey:\"submitText\",rootTagName:\"button\",rootProps:{type:\"submit\",className:u.submit,disabled:f}}))))}}]),e}(),Cs=ve({name:\"range-input\"}),ks=Le(\"RangeInput\"),As={separatorText:\"to\",submitText:\"Go\"},Ds=40,Ls=35,Hs=27,Ms=36,qs=37,Bs=34,Ws=33,Qs=39,Us=38,Vs=100,$s=mt(\"div\",{className:\"rheostat-background\"}),zs=function(){function e(r){var a;return t(this,e),i(h(a=n.call(this,r)),\"state\",{className:Gn(a.props),handlePos:a.props.values.map(function(e){return Jn(e,a.props.min,a.props.max)}),handleDimensions:0,mousePos:null,sliderBox:{},slidingIndex:null,values:a.props.values}),i(h(a),\"rheostat\",{current:null}),a.getPublicState=a.getPublicState.bind(h(a)),a.getSliderBoundingBox=a.getSliderBoundingBox.bind(h(a)),a.getProgressStyle=a.getProgressStyle.bind(h(a)),a.getMinValue=a.getMinValue.bind(h(a)),a.getMaxValue=a.getMaxValue.bind(h(a)),a.getHandleDimensions=a.getHandleDimensions.bind(h(a)),a.getClosestSnapPoint=a.getClosestSnapPoint.bind(h(a)),a.getSnapPosition=a.getSnapPosition.bind(h(a)),a.getNextPositionForKey=a.getNextPositionForKey.bind(h(a)),a.getNextState=a.getNextState.bind(h(a)),a.handleClick=a.handleClick.bind(h(a)),a.getClosestHandle=a.getClosestHandle.bind(h(a)),a.setStartSlide=a.setStartSlide.bind(h(a)),a.startMouseSlide=a.startMouseSlide.bind(h(a)),a.startTouchSlide=a.startTouchSlide.bind(h(a)),a.handleMouseSlide=a.handleMouseSlide.bind(h(a)),a.handleTouchSlide=a.handleTouchSlide.bind(h(a)),a.handleSlide=a.handleSlide.bind(h(a)),a.endSlide=a.endSlide.bind(h(a)),a.handleKeydown=a.handleKeydown.bind(h(a)),a.validatePosition=a.validatePosition.bind(h(a)),a.validateValues=a.validateValues.bind(h(a)),a.canMove=a.canMove.bind(h(a)),a.fireChangeEvent=a.fireChangeEvent.bind(h(a)),a.slideTo=a.slideTo.bind(h(a)),a.updateNewValues=a.updateNewValues.bind(h(a)),a}c(e,yt);var n=d(e);return r(e,[{key:\"componentWillReceiveProps\",value:function(e){var t=this.props,n=t.className,r=t.disabled,i=t.min,a=t.max,s=t.orientation,o=this.state,c=o.values,u=o.slidingIndex,l=e.min!==i||e.max!==a,f=c.length!==e.values.length||c.some(function(t,n){return e.values[n]!==t}),h=e.className!==n||e.orientation!==s,d=e.disabled&&!r;h&&this.setState({className:Gn(e)}),(l||f)&&this.updateNewValues(e),d&&null!==u&&this.endSlide()}},{key:\"getPublicState\",value:function(){var e=this.props,t=e.min;return{max:e.max,min:t,values:this.state.values}}},{key:\"getSliderBoundingBox\",value:function(){var e=this.rheostat.current,t=e.getBoundingClientRect();return{height:t.height||e.clientHeight,left:t.left,top:t.top,width:t.width||e.clientWidth}}},{key:\"getProgressStyle\",value:function(e){var t=this.state.handlePos,n=t[e];if(0===e)return\"vertical\"===this.props.orientation?{height:\"\".concat(n,\"%\"),top:0}:{left:0,width:\"\".concat(n,\"%\")};var r=t[e-1],i=n-r;return\"vertical\"===this.props.orientation?{height:\"\".concat(i,\"%\"),top:\"\".concat(r,\"%\")}:{left:\"\".concat(r,\"%\"),width:\"\".concat(i,\"%\")}}},{key:\"getMinValue\",value:function(e){return this.state.values[e-1]?Math.max(this.props.min,this.state.values[e-1]):this.props.min}},{key:\"getMaxValue\",value:function(e){return this.state.values[e+1]?Math.min(this.props.max,this.state.values[e+1]):this.props.max}},{key:\"getHandleDimensions\",value:function(e,t){var n=e.currentTarget||null;return n?\"vertical\"===this.props.orientation?n.clientHeight/t.height*Vs/2:n.clientWidth/t.width*Vs/2:0}},{key:\"getClosestSnapPoint\",value:function(e){return this.props.snapPoints.length?this.props.snapPoints.reduce(function(t,n){return Math.abs(t-e)<Math.abs(n-e)?t:n}):e}},{key:\"getSnapPosition\",value:function(e){if(!this.props.snap)return e;var t=this.props,n=t.max,r=t.min,i=Xn(e,r,n);return Jn(this.getClosestSnapPoint(i),r,n)}},{key:\"getNextPositionForKey\",value:function(e,t){var n,r=this.state,a=r.handlePos,s=r.values,o=this.props,c=o.max,u=o.min,l=o.snapPoints,f=this.props.snap,h=s[e],d=a[e],p=d,m=1;100<=c?d=Math.round(d):m=100/(c-u);var g=null;f&&(g=l.indexOf(this.getClosestSnapPoint(s[e])));var v=(i(n={},qs,function(e){return-1*e}),i(n,Qs,function(e){return e}),i(n,Us,function(e){return e}),i(n,Ds,function(e){return-1*e}),i(n,Bs,function(e){return 1<e?-e:-10*e}),i(n,Ws,function(e){return 1<e?e:10*e}),n);if(Object.prototype.hasOwnProperty.call(v,t))d+=v[t](m),f&&g&&(p<d?g<l.length-1&&(h=l[g+1]):0<g&&(h=l[g-1]));else if(t===Ms)d=0,f&&(h=l[0]);else{if(t!==Ls)return null;d=Vs,f&&(h=l[l.length-1])}return f?Jn(h,u,c):d}},{key:\"getNextState\",value:function(e,t){var n=this.state.handlePos,r=this.props,i=r.max,a=r.min,s=this.validatePosition(e,t),o=n.map(function(t,n){return n===e?s:t});return{handlePos:o,values:o.map(function(e){return Xn(e,a,i)})}}},{key:\"getClosestHandle\",value:function(e){var t=this.state.handlePos;return t.reduce(function(n,r,i){return Math.abs(t[i]-e)<Math.abs(t[n]-e)?i:n},0)}},{key:\"setStartSlide\",value:function(e,t,n){var r=this.getSliderBoundingBox();this.setState({handleDimensions:this.getHandleDimensions(e,r),mousePos:{x:t,y:n},sliderBox:r,slidingIndex:Yn(e)})}},{key:\"startMouseSlide\",value:function(e){this.setStartSlide(e,e.clientX,e.clientY),document.addEventListener(\"mousemove\",this.handleMouseSlide,!1),document.addEventListener(\"mouseup\",this.endSlide,!1),Zn(e)}},{key:\"startTouchSlide\",value:function(e){if(!(1<e.changedTouches.length)){var t=e.changedTouches[0];this.setStartSlide(e,t.clientX,t.clientY),document.addEventListener(\"touchmove\",this.handleTouchSlide,!1),document.addEventListener(\"touchend\",this.endSlide,!1),this.props.onSliderDragStart&&this.props.onSliderDragStart(),Zn(e)}}},{key:\"handleMouseSlide\",value:function(e){null!==this.state.slidingIndex&&(this.handleSlide(e.clientX,e.clientY),Zn(e))}},{key:\"handleTouchSlide\",value:function(e){if(null!==this.state.slidingIndex)if(1<e.changedTouches.length)this.endSlide();else{var t=e.changedTouches[0];this.handleSlide(t.clientX,t.clientY),Zn(e)}}},{key:\"handleSlide\",value:function(e,t){var n=this.state,r=n.slidingIndex,i=n.sliderBox,a=\"vertical\"===this.props.orientation?(t-i.top)/i.height*Vs:(e-i.left)/i.width*Vs;this.slideTo(r,a),this.canMove(r,a)&&(this.setState({mousePos:{x:e,y:t}}),this.props.onSliderDragMove&&this.props.onSliderDragMove())}},{key:\"endSlide\",value:function(){var e=this,t=this.state.slidingIndex;if(this.setState({slidingIndex:null}),document.removeEventListener(\"mouseup\",this.endSlide,!1),document.removeEventListener(\"touchend\",this.endSlide,!1),document.removeEventListener(\"touchmove\",this.handleTouchSlide,!1),document.removeEventListener(\"mousemove\",this.handleMouseSlide,!1),this.props.onSliderDragEnd&&this.props.onSliderDragEnd(),this.props.snap){var n=this.getSnapPosition(this.state.handlePos[t]);this.slideTo(t,n,function(){return e.fireChangeEvent()})}else this.fireChangeEvent()}},{key:\"handleClick\",value:function(e){var t=this;if(!e.target.getAttribute(\"data-handle-key\")){var n=this.getSliderBoundingBox(),r=(\"vertical\"===this.props.orientation?(e.clientY-n.top)/n.height:(e.clientX-n.left)/n.width)*Vs,i=this.getClosestHandle(r),a=this.getSnapPosition(r);this.slideTo(i,a,function(){return t.fireChangeEvent()}),this.props.onClick&&this.props.onClick()}}},{key:\"handleKeydown\",value:function(e){var t=this,n=Yn(e);if(e.keyCode!==Hs){var r=this.getNextPositionForKey(n,e.keyCode);null!==r&&(this.canMove(n,r)&&(this.slideTo(n,r,function(){return t.fireChangeEvent()}),this.props.onKeyPress&&this.props.onKeyPress()),Zn(e))}else e.currentTarget.blur()}},{key:\"validatePosition\",value:function(e,t){var n=this.state,r=n.handlePos,i=n.handleDimensions;return Math.max(Math.min(t,void 0!==r[e+1]?r[e+1]-i:Vs),void 0!==r[e-1]?r[e-1]+i:0)}},{key:\"validateValues\",value:function(e,t){var n=t||this.props,r=n.max,i=n.min;return e.map(function(e,t,n){var a=Math.max(Math.min(e,r),i);return n.length&&a<n[t-1]?n[t-1]:a})}},{key:\"canMove\",value:function(e,t){var n=this.state,r=n.handlePos,i=n.handleDimensions;return!(t<0||Vs<t||(void 0!==r[e+1]?r[e+1]-i:1/0)<t||t<(void 0!==r[e-1]?r[e-1]+i:-1/0))}},{key:\"fireChangeEvent\",value:function(){var e=this.props.onChange;e&&e(this.getPublicState())}},{key:\"slideTo\",value:function(e,t,n){var r=this,i=this.getNextState(e,t);this.setState(i,function(){var e=r.props.onValuesUpdated;e&&e(r.getPublicState()),n&&n()})}},{key:\"updateNewValues\",value:function(e){var t=this;if(null===this.state.slidingIndex){var n=e.max,r=e.min,i=e.values,a=this.validateValues(i,e);this.setState({handlePos:a.map(function(e){return Jn(e,r,n)}),values:a},function(){return t.fireChangeEvent()})}}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.children,r=t.disabled,i=t.handle,a=t.max,s=t.min,o=t.orientation,c=t.pitComponent,u=t.pitPoints,l=t.progressBar,f=this.state,h=f.className,d=f.handlePos,p=f.values;return mt(\"div\",{className:h,ref:this.rheostat,onClick:r?void 0:this.handleClick,style:{position:\"relative\"}},$s,d.map(function(t,n){var a=\"vertical\"===o?{top:\"\".concat(t,\"%\"),position:\"absolute\"}:{left:\"\".concat(t,\"%\"),position:\"absolute\"};return mt(i,{\"aria-valuemax\":e.getMaxValue(n),\"aria-valuemin\":e.getMinValue(n),\"aria-valuenow\":p[n],\"aria-disabled\":r,\"data-handle-key\":n,className:\"rheostat-handle\",key:\"handle-\".concat(n),onClick:Zn,onKeyDown:r?void 0:e.handleKeydown,onMouseDown:r?void 0:e.startMouseSlide,onTouchStart:r?void 0:e.startTouchSlide,role:\"slider\",style:a,tabIndex:0})}),d.map(function(t,n,r){return 0===n&&1<r.length?null:mt(l,{className:\"rheostat-progress\",key:\"progress-bar-\".concat(n),style:e.getProgressStyle(n)})}),c&&u.map(function(e){var t=Jn(e,s,a),n=\"vertical\"===o?{top:\"\".concat(t,\"%\"),position:\"absolute\"}:{left:\"\".concat(t,\"%\"),position:\"absolute\"};return mt(c,{key:\"pit-\".concat(e),style:n},e)}),n)}}]),e}();i(zs,\"defaultProps\",{className:\"\",children:null,disabled:!1,handle:function(e){return mt(\"button\",a({},e,{type:\"button\"}))},max:Vs,min:0,onClick:null,onChange:null,onKeyPress:null,onSliderDragEnd:null,onSliderDragMove:null,onSliderDragStart:null,onValuesUpdated:null,orientation:\"horizontal\",pitComponent:null,pitPoints:[],progressBar:\"div\",snap:!1,snapPoints:[],values:[0]});var Ks=function(){function n(){var r;t(this,n);for(var o=arguments.length,c=new Array(o),u=0;u<o;u++)c[u]=arguments[u];return i(h(r=s.call.apply(s,[this].concat(c))),\"handleChange\",function(e){var t=e.values;r.isDisabled||r.props.refine(t)}),i(h(r),\"createHandleComponent\",function(t){return function(n){var r=Math.round(100*parseFloat(n[\"aria-valuenow\"]))/100,i=\"object\"===e(t)&&t.format?t.format(r):r;return mt(\"div\",a({},n,{className:ba(n.className,{\"rheostat-handle-lower\":0===n[\"data-handle-key\"],\"rheostat-handle-upper\":1===n[\"data-handle-key\"]})}),t&&mt(\"div\",{className:\"rheostat-tooltip\"},i))}}),r}c(n,yt);var s=d(n);return r(n,[{key:\"isDisabled\",get:function(){return this.props.min>=this.props.max}},{key:\"computeDefaultPitPoints\",value:function(e){var t=e.min,n=e.max,r=(n-t)/34;return[t].concat(m(ie({end:33}).map(function(e){return t+r*(e+1)})),[n])}},{key:\"computeSnapPoints\",value:function(e){var t=e.min,n=e.max,r=e.step;if(r)return[].concat(m(ie({start:t,end:n,step:r})),[n])}},{key:\"render\",value:function(){var e=this.props,t=e.tooltips,n=e.step,r=e.pips,a=e.values,s=e.cssClasses,o=this.isDisabled?{min:this.props.min,max:this.props.max+.001}:this.props,c=o.min,u=o.max,l=this.computeSnapPoints({min:c,max:u,step:n}),f=!1===r?[]:this.computeDefaultPitPoints({min:c,max:u});return mt(\"div\",{className:ba(s.root,i({},s.disabledRoot,this.isDisabled))},mt(zs,{handle:this.createHandleComponent(t),onChange:this.handleChange,min:c,max:u,pitComponent:er,pitPoints:f,snap:!0,snapPoints:l,values:this.isDisabled?[c,u]:a,disabled:this.isDisabled}))}}]),n}(),Js=ve({name:\"range-slider\"}),Xs=Le(\"RangeSlider\"),Gs={item:'{{#count}}<a class=\"{{cssClasses.link}}\" aria-label=\"{{value}} & up\" href=\"{{url}}\">{{/count}}{{^count}}<div class=\"{{cssClasses.link}}\" aria-label=\"{{value}} & up\" disabled>{{/count}}\\n  {{#stars}}<svg class=\"{{cssClasses.starIcon}} {{#.}}{{cssClasses.fullStarIcon}}{{/.}}{{^.}}{{cssClasses.emptyStarIcon}}{{/.}}\" aria-hidden=\"true\" width=\"24\" height=\"24\">\\n    {{#.}}<use xlink:href=\"#ais-RatingMenu-starSymbol\"></use>{{/.}}{{^.}}<use xlink:href=\"#ais-RatingMenu-starEmptySymbol\"></use>{{/.}}\\n  </svg>{{/stars}}\\n  <span class=\"{{cssClasses.label}}\">& Up</span>\\n  {{#count}}<span class=\"{{cssClasses.count}}\">{{#helpers.formatNumber}}{{count}}{{/helpers.formatNumber}}</span>{{/count}}\\n{{#count}}</a>{{/count}}{{^count}}</div>{{/count}}'},Ys=ve({name:\"rating-menu\"}),Zs=Le(\"RatingMenu\"),eo=mt(\"path\",{d:\"M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z\"}),to=mt(\"path\",{d:\"M12 6.76l1.379 4.246h4.465l-3.612 2.625 1.379 4.246-3.611-2.625-3.612 2.625 1.379-4.246-3.612-2.625h4.465l1.38-4.246zm0-6.472l-2.833 8.718h-9.167l7.416 5.389-2.833 8.718 7.417-5.388 7.416 5.388-2.833-8.718 7.417-5.389h-9.167l-2.833-8.718z\"}),no={reset:'\\n<svg class=\"{{cssClasses.resetIcon}}\" viewBox=\"0 0 20 20\" width=\"10\" height=\"10\">\\n  <path d=\"M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z\"></path>\\n</svg>\\n  ',submit:'\\n<svg class=\"{{cssClasses.submitIcon}}\" width=\"10\" height=\"10\" viewBox=\"0 0 40 40\">\\n  <path d=\"M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z\"></path>\\n</svg>\\n  ',loadingIndicator:'\\n<svg class=\"{{cssClasses.loadingIcon}}\" width=\"16\" height=\"16\" viewBox=\"0 0 38 38\" stroke=\"#444\">\\n  <g fill=\"none\" fillRule=\"evenodd\">\\n    <g transform=\"translate(1 1)\" strokeWidth=\"2\">\\n      <circle strokeOpacity=\".5\" cx=\"18\" cy=\"18\" r=\"18\" />\\n      <path d=\"M36 18c0-9.94-8.06-18-18-18\">\\n        <animateTransform\\n          attributeName=\"transform\"\\n          type=\"rotate\"\\n          from=\"0 18 18\"\\n          to=\"360 18 18\"\\n          dur=\"1s\"\\n          repeatCount=\"indefinite\"\\n        />\\n      </path>\\n    </g>\\n  </g>\\n</svg>\\n  '},ro={item:'<label class=\"{{cssClasses.label}}\">\\n  <input type=\"checkbox\"\\n         class=\"{{cssClasses.checkbox}}\"\\n         value=\"{{value}}\"\\n         {{#isRefined}}checked{{/isRefined}} />\\n  <span class=\"{{cssClasses.labelText}}\">{{#isFromSearch}}{{{highlighted}}}{{/isFromSearch}}{{^isFromSearch}}{{highlighted}}{{/isFromSearch}}</span>\\n  <span class=\"{{cssClasses.count}}\">{{#helpers.formatNumber}}{{count}}{{/helpers.formatNumber}}</span>\\n</label>',showMoreText:\"\\n    {{#isShowingMore}}\\n      Show less\\n    {{/isShowingMore}}\\n    {{^isShowingMore}}\\n      Show more\\n    {{/isShowingMore}}\\n    \",searchableNoResults:\"No results\"},io=ve({name:\"refinement-list\"}),ao=Le(\"RefinementList\"),so=Le(\"SearchBox\"),oo={text:\"\",button:function(e){return e.isRelevantSorted?\"See all results\":\"See relevant results\"}},co=ve({name:\"relevant-sort\"}),uo=Le(\"RelevantSort\"),lo=ve({name:\"search-box\"}),fo=Le(\"SearchBox\"),ho=ve({name:\"sort-by\"}),po=Le(\"SortBy\"),mo=ve({name:\"stats\"}),go=Le(\"Stats\"),vo={text:\"\\n    {{#areHitsSorted}}\\n      {{#hasNoSortedResults}}No relevant results{{/hasNoSortedResults}}\\n      {{#hasOneSortedResults}}1 relevant result{{/hasOneSortedResults}}\\n      {{#hasManySortedResults}}{{#helpers.formatNumber}}{{nbSortedHits}}{{/helpers.formatNumber}} relevant results{{/hasManySortedResults}}\\n      sorted out of {{#helpers.formatNumber}}{{nbHits}}{{/helpers.formatNumber}}\\n    {{/areHitsSorted}}\\n    {{^areHitsSorted}}\\n      {{#hasNoResults}}No results{{/hasNoResults}}\\n      {{#hasOneResult}}1 result{{/hasOneResult}}\\n      {{#hasManyResults}}{{#helpers.formatNumber}}{{nbHits}}{{/helpers.formatNumber}} results{{/hasManyResults}}\\n    {{/areHitsSorted}}\\n    found in {{processingTimeMS}}ms\"},yo={labelText:\"{{name}}\"},bo=ve({name:\"toggle-refinement\"}),wo=Le(\"ToggleRefinement\"),So={buttonText:function(e){var t=e.status,n=e.errorCode,r=e.isListening;return'<svg\\n       width=\"16\"\\n       height=\"16\"\\n       viewBox=\"0 0 24 24\"\\n       fill=\"none\"\\n       stroke=\"currentColor\"\\n       stroke-width=\"2\"\\n       stroke-linecap=\"round\"\\n       stroke-linejoin=\"round\"\\n     >\\n       '.concat(function(e,t,n){return\"error\"===e&&\"not-allowed\"===t?'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>\\n            <path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\"></path>\\n            <path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\"></path>\\n            <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line>\\n            <line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>':'<path\\n            d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\"\\n            fill=\"'.concat(n?\"currentColor\":\"none\",'\">\\n          </path>\\n          <path d=\"M19 10v2a7 7 0 0 1-14 0v-2\"></path>\\n          <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line>\\n          <line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>')}(t,n,r),\"\\n     </svg>\")},status:\"<p>{{transcript}}</p>\"},Ro=ve({name:\"voice-search\"}),_o=Le(\"VoiceSearch\"),Po=ee(xn),xo=Object.freeze({__proto__:null,dynamicWidgets:xn,EXPERIMENTAL_dynamicWidgets:Po,analytics:function(e){function t(e){if(null!==e){var t=[],n=function(e){\nvar t=[];for(var n in e)if(e.hasOwnProperty(n)){var r=e[n].join(\"+\");t.push(\"\".concat(encodeURIComponent(n),\"=\").concat(encodeURIComponent(n),\"_\").concat(encodeURIComponent(r)))}return t.join(\"&\")}(o(o(o({},e.state.disjunctiveFacetsRefinements),e.state.facetsRefinements),e.state.hierarchicalFacetsRefinements)),r=function(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(r.hasOwnProperty(\">=\")&&r.hasOwnProperty(\"<=\"))r[\">=\"]&&r[\">=\"][0]===r[\"<=\"]&&r[\"<=\"][0]?t.push(\"\".concat(n,\"=\").concat(n,\"_\").concat(r[\">=\"])):t.push(\"\".concat(n,\"=\").concat(n,\"_\").concat(r[\">=\"],\"to\").concat(r[\"<=\"]));else if(r.hasOwnProperty(\">=\"))t.push(\"\".concat(n,\"=\").concat(n,\"_from\").concat(r[\">=\"]));else if(r.hasOwnProperty(\"<=\"))t.push(\"\".concat(n,\"=\").concat(n,\"_to\").concat(r[\"<=\"]));else if(r.hasOwnProperty(\"=\")){var i=[];for(var a in r[\"=\"])r[\"=\"].hasOwnProperty(a)&&i.push(r[\"=\"][a]);t.push(\"\".concat(n,\"=\").concat(n,\"_\").concat(i.join(\"-\")))}}return t.join(\"&\")}(e.state.numericRefinements);\"\"!==n&&t.push(n),\"\"!==r&&t.push(r);var i=t.join(\"&\"),s=\"Query: \".concat(e.state.query||\"\",\", \").concat(i);!0===p&&(s+=\", Page: \".concat(e.state.page||0)),v!==s&&(a(i,e.state,e.results),v=s)}}function n(){t(g)}function r(){t(g)}var i=e||{},a=i.pushFunction,s=i.delay,c=void 0===s?3e3:s,u=i.triggerOnUIInteraction,l=void 0!==u&&u,f=i.pushInitialSearch,h=void 0===f||f,d=i.pushPagination,p=void 0!==d&&d;if(!a)throw new Error(ya(\"The `pushFunction` option is required.\"));var m,g=null,v=\"\",y=!0;return!0===h&&(y=!1),{$$type:\"ais.analytics\",$$widgetType:\"ais.analytics\",init:function(){!0===l&&(document.addEventListener(\"click\",n),window.addEventListener(\"beforeunload\",r))},render:function(e){var n=e.results,r=e.state;!0!==y?(g={results:n,state:r},m&&clearTimeout(m),m=window.setTimeout(function(){return t(g)},c)):y=!1},dispose:function(){!0===l&&(document.removeEventListener(\"click\",n),window.removeEventListener(\"beforeunload\",r))},getRenderState:function(e,t){return o(o({},e),{},{analytics:this.getWidgetRenderState(t)})},getWidgetRenderState:function(){return{widgetParams:e}}}},breadcrumb:function(e){var t=e||{},n=t.container,r=t.attributes,i=t.separator,a=t.rootPath,s=t.transformItems,c=t.templates,u=void 0===c?{}:c,l=t.cssClasses,f=void 0===l?{}:l;if(!n)throw new Error(Ra(\"The `container` option is required.\"));var h=B(n),d={root:ba(_a(),f.root),noRefinementRoot:ba(_a({modifierName:\"noRefinement\"}),f.noRefinementRoot),list:ba(_a({descendantName:\"list\"}),f.list),item:ba(_a({descendantName:\"item\"}),f.item),selectedItem:ba(_a({descendantName:\"item\",modifierName:\"selected\"}),f.selectedItem),separator:ba(_a({descendantName:\"separator\"}),f.separator),link:ba(_a({descendantName:\"link\"}),f.link)},p=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates;return function(e,a){var s=e.canRefine,o=e.createURL,c=e.instantSearchInstance,u=e.items,l=e.refine;a?r.templateProps=U({defaultTemplates:Sa,templatesConfig:c.templatesConfig,templates:i}):At(mt(bn,{canRefine:s,cssClasses:n,createURL:o,items:u,refine:l,templateProps:r.templateProps}),t)}}({containerNode:h,cssClasses:d,renderState:{},templates:u});return o(o({},nn(p,function(){return At(null,h)})({attributes:r,separator:i,rootPath:a,transformItems:s})),{},{$$widgetType:\"ais.breadcrumb\"})},clearRefinements:function(e){var t=e||{},n=t.container,r=t.templates,i=void 0===r?{}:r,a=t.includedAttributes,s=t.excludedAttributes,c=t.transformItems,u=t.cssClasses,l=void 0===u?{}:u;if(!n)throw new Error(xa(\"The `container` option is required.\"));var f=B(n),h={root:ba(ja(),l.root),button:ba(ja({descendantName:\"button\"}),l.button),disabledButton:ba(ja({descendantName:\"button\",modifierName:\"disabled\"}),l.disabledButton)},d=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates;return function(e,a){var s=e.refine,o=e.hasRefinements,c=e.instantSearchInstance;a?r.templateProps=U({defaultTemplates:Pa,templatesConfig:c.templatesConfig,templates:i}):At(mt(wn,{refine:s,cssClasses:n,hasRefinements:o,templateProps:r.templateProps}),t)}}({containerNode:f,cssClasses:h,renderState:{},templates:i});return o(o({},rt(d,function(){return At(null,f)})({includedAttributes:a,excludedAttributes:s,transformItems:c})),{},{$$widgetType:\"ais.clearRefinements\"})},configure:function(e){return o(o({},un(Z)({searchParameters:e})),{},{$$widgetType:\"ais.configure\"})},currentRefinements:function(e){var t=e||{},n=t.container,r=t.includedAttributes,i=t.excludedAttributes,a=t.cssClasses,s=void 0===a?{}:a,c=t.transformItems;if(!n)throw new Error(Oa(\"The `container` option is required.\"));var u=B(n),l={root:ba(Na(),s.root),list:ba(Na({descendantName:\"list\"}),s.list),item:ba(Na({descendantName:\"item\"}),s.item),label:ba(Na({descendantName:\"label\"}),s.label),category:ba(Na({descendantName:\"category\"}),s.category),categoryLabel:ba(Na({descendantName:\"categoryLabel\"}),s.categoryLabel),delete:ba(Na({descendantName:\"delete\"}),s.delete)};return o(o({},it(Rn,function(){return At(null,u)})({container:u,cssClasses:l,includedAttributes:r,excludedAttributes:i,transformItems:c})),{},{$$widgetType:\"ais.currentRefinements\"})},EXPERIMENTAL_answers:function(e){var t=e||{},n=t.container,r=t.attributesForPrediction,i=t.queryLanguages,a=t.nbHits,s=t.searchDebounceTime,c=t.renderDebounceTime,u=t.escapeHTML,l=t.extraParameters,f=t.templates,h=void 0===f?{}:f,d=t.cssClasses,p=void 0===d?{}:d;if(!n)throw new Error(Ia(\"The `container` option is required.\"));var m=B(n),g={root:ba(Ea(),p.root),emptyRoot:ba(Ea({modifierName:\"empty\"}),p.emptyRoot),header:ba(Ea({descendantName:\"header\"}),p.header),loader:ba(Ea({descendantName:\"loader\"}),p.loader),list:ba(Ea({descendantName:\"list\"}),p.list),item:ba(Ea({descendantName:\"item\"}),p.item)},v=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates;return function(e,a){var s=e.hits,o=e.isLoading,c=e.instantSearchInstance;a?r.templateProps=U({defaultTemplates:Fa,templatesConfig:c.templatesConfig,templates:i}):At(mt(_n,{cssClasses:n,hits:s,isLoading:o,templateProps:r.templateProps}),t)}}({containerNode:m,cssClasses:g,templates:h,renderState:{}});return o(o({},gn(v,function(){return At(null,m)})({attributesForPrediction:r,queryLanguages:i,nbHits:a,searchDebounceTime:s,renderDebounceTime:c,escapeHTML:u,extraParameters:l})),{},{$$widgetType:\"ais.answers\"})},EXPERIMENTAL_configureRelatedItems:function(e){return o(o({},fn(Z)(e)),{},{$$widgetType:\"ais.configureRelatedItems\"})},geoSearch:function(e){var n=e||{},a=n.initialZoom,s=void 0===a?1:a,u=n.initialPosition,l=void 0===u?{lat:0,lng:0}:u,p=n.templates,m=void 0===p?{}:p,g=n.cssClasses,v=void 0===g?{}:g,y=n.builtInMarker,b=void 0===y?{}:y,w=n.customHTMLMarker,S=n.enableRefine,R=void 0===S||S,_=n.enableClearMapRefinement,P=void 0===_||_,x=n.enableRefineControl,j=void 0===x||x,O=n.container,N=n.googleReference,F=f(n,[\"initialZoom\",\"initialPosition\",\"templates\",\"cssClasses\",\"builtInMarker\",\"customHTMLMarker\",\"enableRefine\",\"enableClearMapRefinement\",\"enableRefineControl\",\"container\",\"googleReference\"]);if(!O)throw new Error(Aa(\"The `container` option is required.\"));if(!N)throw new Error(Aa(\"The `googleReference` option is required.\"));var I=B(O),E={root:ba(Da(),v.root),tree:Da({descendantName:\"tree\"}),map:ba(Da({descendantName:\"map\"}),v.map),control:ba(Da({descendantName:\"control\"}),v.control),label:ba(Da({descendantName:\"label\"}),v.label),selectedLabel:ba(Da({descendantName:\"label\",modifierName:\"selected\"}),v.selectedLabel),input:ba(Da({descendantName:\"input\"}),v.input),redo:ba(Da({descendantName:\"redo\"}),v.redo),disabledRedo:ba(Da({descendantName:\"redo\",modifierName:\"disabled\"}),v.disabledRedo),reset:ba(Da({descendantName:\"reset\"}),v.reset)},T=o(o({},ka),m),C=o(o({},{createOptions:function(){return{}},events:{}}),b),k=(Boolean(w)||Boolean(m.HTMLMarker))&&o(o({},{createOptions:function(){return{}},events:{}}),w),A=function(e){return function(){function n(r){var s,o=r.__id,c=r.position,u=r.map,l=r.template,f=r.className,d=r.anchor,p=void 0===d?{x:0,y:0}:d;return t(this,n),i(h(s=a.call(this)),\"__id\",void 0),i(h(s),\"anchor\",void 0),i(h(s),\"offset\",void 0),i(h(s),\"listeners\",void 0),i(h(s),\"latLng\",void 0),i(h(s),\"element\",void 0),s.__id=o,s.anchor=p,s.listeners={},s.latLng=new e.maps.LatLng(c),s.element=document.createElement(\"div\"),s.element.className=f,s.element.style.position=\"absolute\",s.element.innerHTML=l,s.setMap(u),s}c(n,e.maps.OverlayView);var a=d(n);return r(n,[{key:\"onAdd\",value:function(){this.getPanes().overlayMouseTarget.appendChild(this.element);var e=this.element.getBoundingClientRect();this.offset={x:this.anchor.x+e.width/2,y:this.anchor.y+e.height},this.element.style.width=\"\".concat(e.width,\"px\")}},{key:\"draw\",value:function(){var e=this.getProjection().fromLatLngToDivPixel(this.latLng);this.element.style.left=\"\".concat(Math.round(e.x-this.offset.x),\"px\"),this.element.style.top=\"\".concat(Math.round(e.y-this.offset.y),\"px\"),this.element.style.zIndex=String(parseInt(this.element.style.top,10))}},{key:\"onRemove\",value:function(){var e=this;this.element&&(this.element.parentNode.removeChild(this.element),Object.keys(this.listeners).forEach(function(t){e.element.removeEventListener(t,e.listeners[t])}),delete this.element,delete this.listeners)}},{key:\"addListener\",value:function(e,t){this.listeners[e]=t;var n=this.element;return n.addEventListener(e,t),{remove:function(){return n.removeEventListener(e,t)}}}},{key:\"getPosition\",value:function(){return this.latLng}}]),n}()}(N),D=k?function(e){var t=e.item,n=f(e,[\"item\"]);return new A(o(o(o({},k.createOptions(t)),n),{},{__id:t.objectID,position:t._geoloc,className:ba(Da({descendantName:\"marker\"})),template:$({templateKey:\"HTMLMarker\",templates:T,data:t})}))}:function(e){var t=e.item,n=f(e,[\"item\"]);return new N.maps.Marker(o(o(o({},C.createOptions(t)),n),{},{__id:t.objectID,position:t._geoloc}))},L=k||C;return o(o({},sn(En,function(){return At(null,I)})(o(o({},F),{},{renderState:{},container:I,googleReference:N,initialZoom:s,initialPosition:l,templates:T,cssClasses:E,createMarker:D,markerOptions:L,enableRefine:R,enableClearMapRefinement:P,enableRefineControl:j}))),{},{$$widgetType:\"ais.geoSearch\"})},hierarchicalMenu:function(e){var t=e||{},n=t.container,r=t.attributes,i=t.separator,a=t.rootPath,s=t.showParentLevel,c=t.limit,u=t.showMore,l=void 0!==u&&u,f=t.showMoreLimit,h=t.sortBy,d=t.transformItems,p=t.templates,m=void 0===p?{}:p,g=t.cssClasses,v=void 0===g?{}:g;if(!n)throw new Error(Ua(\"The `container` option is required.\"));var y=B(n),b=function(e){var t=e.cssClasses,n=e.containerNode,r=e.showMore,i=e.templates,a=e.renderState;return function(e,s){var o=e.createURL,c=e.items,u=e.refine,l=e.instantSearchInstance,f=e.isShowingMore,h=e.toggleShowMore,d=e.canToggleShowMore;s?a.templateProps=U({defaultTemplates:Qa,templatesConfig:l.templatesConfig,templates:i}):At(mt(Ma,{createURL:o,cssClasses:t,facetValues:c,templateProps:a.templateProps,toggleRefinement:u,showMore:r,toggleShowMore:h,isShowingMore:f,canToggleShowMore:d}),n)}}({cssClasses:{root:ba(Va(),v.root),noRefinementRoot:ba(Va({modifierName:\"noRefinement\"}),v.noRefinementRoot),list:ba(Va({descendantName:\"list\"}),v.list),childList:ba(Va({descendantName:\"list\",modifierName:\"child\"}),v.childList),item:ba(Va({descendantName:\"item\"}),v.item),selectedItem:ba(Va({descendantName:\"item\",modifierName:\"selected\"}),v.selectedItem),parentItem:ba(Va({descendantName:\"item\",modifierName:\"parent\"}),v.parentItem),link:ba(Va({descendantName:\"link\"}),v.link),label:ba(Va({descendantName:\"label\"}),v.label),count:ba(Va({descendantName:\"count\"}),v.count),showMore:ba(Va({descendantName:\"showMore\"}),v.showMore),disabledShowMore:ba(Va({descendantName:\"showMore\",modifierName:\"disabled\"}),v.disabledShowMore)},containerNode:y,templates:m,showMore:l,renderState:{}});return o(o({},ut(b,function(){return At(null,y)})({attributes:r,separator:i,rootPath:a,showParentLevel:s,limit:c,showMore:l,showMoreLimit:f,sortBy:h,transformItems:d})),{},{$$widgetType:\"ais.hierarchicalMenu\"})},hits:function(e){var t=e||{},n=t.container,r=t.escapeHTML,i=t.transformItems,a=t.templates,s=void 0===a?{}:a,c=t.cssClasses,u=void 0===c?{}:c;if(!n)throw new Error(za(\"The `container` option is required.\"));var l=B(n),f={root:ba(Ka(),u.root),emptyRoot:ba(Ka({modifierName:\"empty\"}),u.emptyRoot),list:ba(Ka({descendantName:\"list\"}),u.list),item:ba(Ka({descendantName:\"item\"}),u.item)},h=function(e){var t=e.renderState,n=e.cssClasses,r=e.containerNode,i=e.templates;return function(e,a){var s=e.hits,o=e.results,c=e.instantSearchInstance,u=e.insights,l=e.bindEvent;a?t.templateProps=U({defaultTemplates:$a,templatesConfig:c.templatesConfig,templates:i}):At(mt(Ja,{cssClasses:n,hits:s,results:o,templateProps:t.templateProps,insights:u,sendEvent:function(e){c.sendEventToInsights(e)},bindEvent:l}),r)}}({containerNode:l,cssClasses:f,renderState:{},templates:s});return o(o({},ht(lt)(h,function(){return At(null,l)})({escapeHTML:r,transformItems:i})),{},{$$widgetType:\"ais.hits\"})},hitsPerPage:function(e){var t=e||{},n=t.container,r=t.items,i=t.cssClasses,a=void 0===i?{}:i,s=t.transformItems;if(!n)throw new Error(Xa(\"The `container` option is required.\"));var c=B(n),u={root:ba(Ga(),a.root),select:ba(Ga({descendantName:\"select\"}),a.select),option:ba(Ga({descendantName:\"option\"}),a.option)},l=function(e){var t=e.containerNode,n=e.cssClasses;return function(e,r){var i=e.items,a=e.refine;if(!r){var s=(z(i,function(e){return e.isRefined})||{}).value;At(mt(\"div\",{className:n.root},mt(kn,{cssClasses:n,currentValue:s,options:i,setValue:a})),t)}}}({containerNode:c,cssClasses:u});return o(o({},Ht(l,function(){return At(null,c)})({items:r,transformItems:s})),{},{$$widgetType:\"ais.hitsPerPage\"})},index:Ae,infiniteHits:function(e){var t=e||{},n=t.container,r=t.escapeHTML,i=t.transformItems,a=t.templates,s=void 0===a?{}:a,c=t.cssClasses,u=void 0===c?{}:c,l=t.showPrevious,f=t.cache;if(!n)throw new Error(Za(\"The `container` option is required.\"));var h=B(n),d={root:ba(es(),u.root),emptyRoot:ba(es({modifierName:\"empty\"}),u.emptyRoot),item:ba(es({descendantName:\"item\"}),u.item),list:ba(es({descendantName:\"list\"}),u.list),loadPrevious:ba(es({descendantName:\"loadPrevious\"}),u.loadPrevious),disabledLoadPrevious:ba(es({descendantName:\"loadPrevious\",modifierName:\"disabled\"}),u.disabledLoadPrevious),loadMore:ba(es({descendantName:\"loadMore\"}),u.loadMore),disabledLoadMore:ba(es({descendantName:\"loadMore\",modifierName:\"disabled\"}),u.disabledLoadMore)},p=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates,a=e.showPrevious;return function(e,s){var o=e.hits,c=e.results,u=e.showMore,l=e.showPrevious,f=e.isFirstPage,h=e.isLastPage,d=e.instantSearchInstance,p=e.insights,m=e.bindEvent;s?r.templateProps=U({defaultTemplates:Ya,templatesConfig:d.templatesConfig,templates:i}):At(mt(ts,{cssClasses:n,hits:o,results:c,hasShowPrevious:a,showPrevious:l,showMore:u,templateProps:r.templateProps,isFirstPage:f,isLastPage:h,insights:p,sendEvent:function(e){d.sendEventToInsights(e)},bindEvent:m}),t)}}({containerNode:h,cssClasses:d,templates:s,showPrevious:l,renderState:{}});return o(o({},ht(qt)(p,function(){return At(null,h)})({escapeHTML:r,transformItems:i,showPrevious:l,cache:f})),{},{$$widgetType:\"ais.infiniteHits\"})},menu:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.sortBy,a=t.limit,s=t.showMore,c=t.showMoreLimit,u=t.cssClasses,l=void 0===u?{}:u,f=t.templates,h=void 0===f?{}:f,d=t.transformItems;if(!n)throw new Error(rs(\"The `container` option is required.\"));var p=B(n),m={root:ba(is(),l.root),noRefinementRoot:ba(is({modifierName:\"noRefinement\"}),l.noRefinementRoot),list:ba(is({descendantName:\"list\"}),l.list),item:ba(is({descendantName:\"item\"}),l.item),selectedItem:ba(is({descendantName:\"item\",modifierName:\"selected\"}),l.selectedItem),link:ba(is({descendantName:\"link\"}),l.link),label:ba(is({descendantName:\"label\"}),l.label),count:ba(is({descendantName:\"count\"}),l.count),showMore:ba(is({descendantName:\"showMore\"}),l.showMore),disabledShowMore:ba(is({descendantName:\"showMore\",modifierName:\"disabled\"}),l.disabledShowMore)},g=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates,a=e.showMore;return function(e,s){var c=e.refine,u=e.items,l=e.createURL,f=e.instantSearchInstance,h=e.isShowingMore,d=e.toggleShowMore,p=e.canToggleShowMore;if(s)r.templateProps=U({defaultTemplates:ns,templatesConfig:f.templatesConfig,templates:i});else{var m=u.map(function(e){return o(o({},e),{},{url:l(e.value)})});At(mt(Ma,{createURL:l,cssClasses:n,facetValues:m,showMore:a,templateProps:r.templateProps,toggleRefinement:c,toggleShowMore:d,isShowingMore:h,canToggleShowMore:p}),t)}}}({containerNode:p,cssClasses:m,renderState:{},templates:h,showMore:s});return o(o({},Bt(g,function(){return At(null,p)})({attribute:r,limit:a,showMore:s,showMoreLimit:c,sortBy:i,transformItems:d})),{},{$$widgetType:\"ais.menu\"})},menuSelect:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.sortBy,a=void 0===i?[\"name:asc\"]:i,s=t.limit,c=void 0===s?10:s,u=t.cssClasses,l=void 0===u?{}:u,f=t.templates,h=void 0===f?{}:f,d=t.transformItems;if(!n)throw new Error(ss(\"The `container` option is required.\"));var p=B(n),m={root:ba(os(),l.root),noRefinementRoot:ba(os({modifierName:\"noRefinement\"}),l.noRefinementRoot),select:ba(os({descendantName:\"select\"}),l.select),option:ba(os({descendantName:\"option\"}),l.option)},g=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates;return function(e,a){var s=e.refine,o=e.items,c=e.instantSearchInstance;a?r.templateProps=U({defaultTemplates:as,templatesConfig:c.templatesConfig,templates:i}):At(mt(An,{cssClasses:n,items:o,refine:s,templateProps:r.templateProps}),t)}}({containerNode:p,cssClasses:m,renderState:{},templates:h});return o(o({},Bt(g,function(){return At(null,p)})({attribute:r,limit:c,sortBy:a,transformItems:d})),{},{$$widgetType:\"ais.menuSelect\"})},numericMenu:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.items,a=t.cssClasses,s=void 0===a?{}:a,c=t.templates,u=void 0===c?{}:c,l=t.transformItems;if(!n)throw new Error(us(\"The `container` option is required.\"));var f=B(n),h={root:ba(ls(),s.root),noRefinementRoot:ba(ls({modifierName:\"noRefinement\"}),s.noRefinementRoot),list:ba(ls({descendantName:\"list\"}),s.list),item:ba(ls({descendantName:\"item\"}),s.item),selectedItem:ba(ls({descendantName:\"item\",modifierName:\"selected\"}),s.selectedItem),label:ba(ls({descendantName:\"label\"}),s.label),radio:ba(ls({descendantName:\"radio\"}),s.radio),labelText:ba(ls({descendantName:\"labelText\"}),s.labelText)},d=function(e){var t=e.containerNode,n=e.attribute,r=e.cssClasses,i=e.renderState,a=e.templates;return function(e,s){var o=e.createURL,c=e.instantSearchInstance,u=e.refine,l=e.items;s?i.templateProps=U({defaultTemplates:cs,templatesConfig:c.templatesConfig,templates:a}):At(mt(Ma,{createURL:o,cssClasses:r,facetValues:l,templateProps:i.templateProps,toggleRefinement:u,attribute:n}),t)}}({containerNode:f,attribute:r,cssClasses:h,renderState:{},templates:u});return o(o({},Wt(d,function(){return At(null,f)})({attribute:r,items:i,transformItems:l})),{},{$$widgetType:\"ais.numericMenu\"})},pagination:function(e){var t=e||{},n=t.container,r=t.templates,i=void 0===r?{}:r,a=t.cssClasses,s=void 0===a?{}:a,c=t.totalPages,u=t.padding,l=t.showFirst,f=void 0===l||l,h=t.showLast,d=void 0===h||h,p=t.showPrevious,m=void 0===p||p,g=t.showNext,v=void 0===g||g,y=t.scrollTo,b=void 0===y?\"body\":y;if(!n)throw new Error(hs(\"The `container` option is required.\"));var w=B(n),S=!0===b?\"body\":b,R=!1!==S&&B(S),_={root:ba(fs(),s.root),noRefinementRoot:ba(fs({modifierName:\"noRefinement\"}),s.noRefinementRoot),list:ba(fs({descendantName:\"list\"}),s.list),item:ba(fs({descendantName:\"item\"}),s.item),firstPageItem:ba(fs({descendantName:\"item\",modifierName:\"firstPage\"}),s.firstPageItem),lastPageItem:ba(fs({descendantName:\"item\",modifierName:\"lastPage\"}),s.lastPageItem),previousPageItem:ba(fs({descendantName:\"item\",modifierName:\"previousPage\"}),s.previousPageItem),nextPageItem:ba(fs({descendantName:\"item\",modifierName:\"nextPage\"}),s.nextPageItem),pageItem:ba(fs({descendantName:\"item\",modifierName:\"page\"}),s.pageItem),selectedItem:ba(fs({descendantName:\"item\",modifierName:\"selected\"}),s.selectedItem),disabledItem:ba(fs({descendantName:\"item\",modifierName:\"disabled\"}),s.disabledItem),link:ba(fs({descendantName:\"link\"}),s.link)},P=o(o({},ds),i),x=function(e){var t=e.containerNode,n=e.cssClasses,r=e.templates,i=e.showFirst,a=e.showLast,s=e.showPrevious,o=e.showNext,c=e.scrollToNode;return function(e,u){var l=e.createURL,f=e.currentRefinement,h=e.nbPages,d=e.pages,p=e.isFirstPage,m=e.isLastPage,g=e.refine;u||At(mt(Dn,{createURL:l,cssClasses:n,currentPage:f,templates:r,nbPages:h,pages:d,isFirstPage:p,isLastPage:m,setCurrentPage:function(e){g(e),!1!==c&&c.scrollIntoView()},showFirst:i,showLast:a,showPrevious:s,showNext:o}),t)}}({containerNode:w,cssClasses:_,templates:P,showFirst:f,showLast:d,showPrevious:m,showNext:v,scrollToNode:R});return o(o({},$t(x,function(){return At(null,w)})({totalPages:c,padding:u})),{},{$$widgetType:\"ais.pagination\"})},panel:function(e){var t=e||{},n=t.templates,r=void 0===n?{}:n,i=t.hidden,a=void 0===i?function(){return!1}:i,s=t.collapsed,c=t.cssClasses,u=void 0===c?{}:c,l=document.createElement(\"div\"),f=Boolean(s),h=\"function\"==typeof s?s:function(){return!1},d={root:ba(_s(),u.root),noRefinementRoot:ba(_s({modifierName:\"noRefinement\"}),u.noRefinementRoot),collapsibleRoot:ba(_s({modifierName:\"collapsible\"}),u.collapsibleRoot),collapsedRoot:ba(_s({modifierName:\"collapsed\"}),u.collapsedRoot),collapseButton:ba(_s({descendantName:\"collapseButton\"}),u.collapseButton),collapseIcon:ba(_s({descendantName:\"collapseIcon\"}),u.collapseIcon),body:ba(_s({descendantName:\"body\"}),u.body),header:ba(_s({descendantName:\"header\"}),u.header),footer:ba(_s({descendantName:\"footer\"}),u.footer)};return function(e){return function(t){if(!t||!t.container)throw new Error(Rs(\"The `container` option is required in the widget within the panel.\"));var n=B(t.container),i=function(e){var t=e.containerNode,n=e.bodyContainerNode,r=e.cssClasses,i=e.templates;return function(e){var a=e.options,s=e.hidden,o=e.collapsible,c=e.collapsed;At(mt($n,{cssClasses:r,hidden:s,collapsible:o,isCollapsed:c,templates:i,data:a,bodyElement:n}),t)}}({containerNode:n,bodyContainerNode:l,cssClasses:d,templates:o(o({},{header:\"\",footer:\"\",collapseButtonText:function(e){var t=e.collapsed;return'<svg\\n          class=\"'.concat(d.collapseIcon,'\"\\n          width=\"1em\"\\n          height=\"1em\"\\n          viewBox=\"0 0 500 500\"\\n        >\\n        <path d=\"').concat(t?\"M100 250l300-150v300z\":\"M250 400l150-300H100z\",'\" fill=\"currentColor\" />\\n        </svg>')}}),r)}),s=e(o(o({},t),{},{container:l}));return o(o({},s),{},{init:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,a=t[0],c=o(o({},s.getWidgetRenderState?s.getWidgetRenderState(a):{}),a);i({options:c,hidden:!0,collapsible:f,collapsed:!1}),\"function\"==typeof s.init&&(r=s.init).call.apply(r,[this].concat(t))},render:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,c=t[0],u=o(o({},s.getWidgetRenderState?s.getWidgetRenderState(c):{}),c);i({options:u,hidden:Boolean(a(u)),collapsible:f,collapsed:Boolean(h(u))}),\"function\"==typeof s.render&&(r=s.render).call.apply(r,[this].concat(t))},dispose:function(){if(At(null,n),\"function\"==typeof s.dispose){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return(e=s.dispose).call.apply(e,[this].concat(r))}}})}}},places:function(e){var t=e||{},n=t.placesReference,r=t.defaultPosition,i=void 0===r?[]:r,a=f(t,[\"placesReference\",\"defaultPosition\"]);if(\"function\"!=typeof n)throw new Error(\"The `placesReference` option requires a valid Places.js reference.\");var s=n(a),c={query:\"\",initialLatLngViaIP:void 0,isInitialLatLngViaIPSet:!1};return{$$type:\"ais.places\",$$widgetType:\"ais.places\",init:function(e){var t=e.helper;s.on(\"change\",function(e){var n=e.suggestion,r=n.value,i=n.latlng,a=i.lat,s=i.lng;c.query=r,t.setQueryParameter(\"insideBoundingBox\",void 0).setQueryParameter(\"aroundLatLngViaIP\",!1).setQueryParameter(\"aroundLatLng\",\"\".concat(a,\",\").concat(s)).search()}),s.on(\"clear\",function(){c.query=\"\",t.setQueryParameter(\"insideBoundingBox\",void 0),1<i.length?t.setQueryParameter(\"aroundLatLngViaIP\",!1).setQueryParameter(\"aroundLatLng\",i.join(\",\")):t.setQueryParameter(\"aroundLatLngViaIP\",c.initialLatLngViaIP).setQueryParameter(\"aroundLatLng\",void 0),t.search()})},getWidgetUiState:function(e,t){var n=t.searchParameters.aroundLatLng||i.join(\",\");return n!==i.join(\",\")||c.query?o(o({},e),{},{places:{query:c.query,position:n}}):(e.places,f(e,[\"places\"]))},getWidgetSearchParameters:function(e,t){var n=t.uiState.places||{},r=n.query,a=void 0===r?\"\":r,o=n.position,u=void 0===o?i.join(\",\"):o;return c.query=a,c.isInitialLatLngViaIPSet||(c.isInitialLatLngViaIPSet=!0,c.initialLatLngViaIP=e.aroundLatLngViaIP),s.setVal(a),s.close(),e.setQueryParameter(\"insideBoundingBox\",void 0).setQueryParameter(\"aroundLatLngViaIP\",!1).setQueryParameter(\"aroundLatLng\",u||void 0)},getRenderState:function(e,t){return o(o({},e),{},{places:this.getWidgetRenderState(t)})},getWidgetRenderState:function(){return{widgetParams:e}}}},poweredBy:function(e){var t=e||{},n=t.container,r=t.cssClasses,i=void 0===r?{}:r,a=t.theme,s=void 0===a?\"light\":a;if(!n)throw new Error(Os(\"The `container` option is required.\"));var c=B(n),u={root:ba(js(),js({modifierName:\"dark\"===s?\"dark\":\"light\"}),i.root),link:ba(js({descendantName:\"link\"}),i.link),logo:ba(js({descendantName:\"logo\"}),i.logo)},l=function(e){var t=e.containerNode,n=e.cssClasses;return function(e,r){var i=e.url,a=e.widgetParams;if(r){var s=a.theme;At(mt(zn,{cssClasses:n,url:i,theme:void 0===s?\"light\":s}),t)}}}({containerNode:c,cssClasses:u});return o(o({},on(l,function(){return At(null,c)})({theme:s})),{},{$$widgetType:\"ais.poweredBy\"})},queryRuleContext:function(e){var t=0<arguments.length&&void 0!==e?e:{};if(!t.trackedFilters)throw new Error(Ns(\"The `trackedFilters` option is required.\"));return o(o({},dn(Z)(t)),{},{$$widgetType:\"ais.queryRuleContext\"})},queryRuleCustomData:function(e){var t=e||{},n=t.container,r=t.cssClasses,i=void 0===r?{}:r,a=t.templates,s=void 0===a?{}:a,c=t.transformItems,u=void 0===c?function(e){return e}:c;if(!n)throw new Error(Is(\"The `container` option is required.\"));var l={root:ba(Es(),i.root)},f=B(n),h=o(o({},Fs),s),d=function(e){var t=e.containerNode,n=e.cssClasses,r=e.templates;return function(e){var i=e.items;At(mt(Kn,{cssClasses:n,templates:r,items:i}),t)}}({containerNode:f,cssClasses:l,renderState:{},templates:h});return o(o({},dn(d,function(){At(null,f)})({transformItems:u})),{},{$$widgetType:\"ais.queryRuleCustomData\"})},rangeInput:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.min,a=t.max,s=t.precision,c=void 0===s?0:s,u=t.cssClasses,l=void 0===u?{}:u,f=t.templates,h=void 0===f?{}:f;if(!n)throw new Error(Cs(\"The `container` option is required.\"));var d=B(n),m={root:ba(ks(),l.root),noRefinement:ba(ks({modifierName:\"noRefinement\"})),form:ba(ks({descendantName:\"form\"}),l.form),label:ba(ks({descendantName:\"label\"}),l.label),input:ba(ks({descendantName:\"input\"}),l.input),inputMin:ba(ks({descendantName:\"input\",modifierName:\"min\"}),l.inputMin),inputMax:ba(ks({descendantName:\"input\",modifierName:\"max\"}),l.inputMax),separator:ba(ks({descendantName:\"separator\"}),l.separator),submit:ba(ks({descendantName:\"submit\"}),l.submit)},g=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates;return function(e,a){var s=e.refine,o=e.range,c=e.start,u=e.widgetParams,l=e.instantSearchInstance;if(a)r.templateProps=U({defaultTemplates:As,templatesConfig:l.templatesConfig,templates:i});else{var f=o.min,h=o.max,d=p(c,2),m=d[0],g=d[1],v=1/Math.pow(10,u.precision||0);At(mt(Ts,{min:f,max:h,step:v,values:{min:m!==-1/0&&m!==f?m:void 0,max:g!==1/0&&g!==h?g:void 0},cssClasses:n,refine:s,templateProps:r.templateProps}),t)}}}({containerNode:d,cssClasses:m,templates:h,renderState:{}});return o(o({},Kt(g,function(){return At(null,d)})({attribute:r,min:i,max:a,precision:c})),{},{$$type:\"ais.rangeInput\",$$widgetType:\"ais.rangeInput\"})},rangeSlider:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.min,a=t.max,s=t.cssClasses,c=void 0===s?{}:s,u=t.step,l=t.pips,f=void 0===l||l,h=t.precision,d=void 0===h?0:h,m=t.tooltips,g=void 0===m||m;if(!n)throw new Error(Js(\"The `container` option is required.\"));var v=B(n),y={root:ba(Xs(),c.root),disabledRoot:ba(Xs({modifierName:\"disabled\"}),c.disabledRoot)},b=function(e){var t=e.containerNode,n=e.cssClasses,r=e.pips,i=e.step,a=e.tooltips;return function(e,s){var o=e.refine,c=e.range,u=e.start;if(!s){var l=c.min,f=c.max,h=p(u,2),d=h[0],m=h[1],g=d===-1/0?l:d,v=m===1/0?f:m;At(mt(Ks,{cssClasses:n,refine:o,min:l,max:f,values:[f<g?f:g,v<l?l:v],tooltips:a,step:i,pips:r}),t)}}}({containerNode:v,step:u,pips:f,tooltips:g,cssClasses:y});return o(o({},Kt(b,function(){return At(null,v)})({attribute:r,min:i,max:a,precision:d})),{},{$$type:\"ais.rangeSlider\",$$widgetType:\"ais.rangeSlider\"})},ratingMenu:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.max,a=void 0===i?5:i,s=t.cssClasses,c=void 0===s?{}:s,u=t.templates,l=void 0===u?{}:u;if(!n)throw new Error(Ys(\"The `container` option is required.\"));var f=B(n),h={root:ba(Zs(),c.root),noRefinementRoot:ba(Zs({modifierName:\"noRefinement\"}),c.noRefinementRoot),list:ba(Zs({descendantName:\"list\"}),c.list),item:ba(Zs({descendantName:\"item\"}),c.item),selectedItem:ba(Zs({descendantName:\"item\",modifierName:\"selected\"}),c.selectedItem),disabledItem:ba(Zs({descendantName:\"item\",modifierName:\"disabled\"}),c.disabledItem),link:ba(Zs({descendantName:\"link\"}),c.link),starIcon:ba(Zs({descendantName:\"starIcon\"}),c.starIcon),fullStarIcon:ba(Zs({descendantName:\"starIcon\",modifierName:\"full\"}),c.fullStarIcon),emptyStarIcon:ba(Zs({descendantName:\"starIcon\",modifierName:\"empty\"}),c.emptyStarIcon),label:ba(Zs({descendantName:\"label\"}),c.label),count:ba(Zs({descendantName:\"count\"}),c.count)},d=function(e){var t=e.containerNode,n=e.cssClasses,r=e.templates,i=e.renderState;return function(e,a){var s=e.refine,o=e.items,c=e.createURL,u=e.instantSearchInstance;a?i.templateProps=U({defaultTemplates:Gs,templatesConfig:u.templatesConfig,templates:r}):At(mt(Ma,{createURL:c,cssClasses:n,facetValues:o,templateProps:i.templateProps,toggleRefinement:s},mt(\"svg\",{style:\"display:none;\"},mt(\"symbol\",{id:Zs({descendantName:\"starSymbol\"}),viewBox:\"0 0 24 24\"},eo),mt(\"symbol\",{id:Zs({descendantName:\"starEmptySymbol\"}),viewBox:\"0 0 24 24\"},to))),t)}}({containerNode:f,cssClasses:h,renderState:{},templates:l});return o(o({},Zt(d,function(){return At(null,f)})({attribute:r,max:a})),{},{$$widgetType:\"ais.ratingMenu\"})},refinementList:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.operator,a=t.sortBy,s=t.limit,c=t.showMore,u=t.showMoreLimit,l=t.searchable,f=void 0!==l&&l,h=t.searchablePlaceholder,d=void 0===h?\"Search...\":h,p=t.searchableEscapeFacetValues,m=void 0===p||p,g=t.searchableIsAlwaysActive,v=void 0===g||g,y=t.cssClasses,b=void 0===y?{}:y,w=t.templates,S=void 0===w?{}:w,R=t.transformItems;if(!n)throw new Error(io(\"The `container` option is required.\"));var _=!!f&&Boolean(m),P=B(n),x={root:ba(ao(),b.root),noRefinementRoot:ba(ao({modifierName:\"noRefinement\"}),b.noRefinementRoot),list:ba(ao({descendantName:\"list\"}),b.list),item:ba(ao({descendantName:\"item\"}),b.item),selectedItem:ba(ao({descendantName:\"item\",modifierName:\"selected\"}),b.selectedItem),searchBox:ba(ao({descendantName:\"searchBox\"}),b.searchBox),label:ba(ao({descendantName:\"label\"}),b.label),checkbox:ba(ao({descendantName:\"checkbox\"}),b.checkbox),labelText:ba(ao({descendantName:\"labelText\"}),b.labelText),count:ba(ao({descendantName:\"count\"}),b.count),noResults:ba(ao({descendantName:\"noResults\"}),b.noResults),showMore:ba(ao({descendantName:\"showMore\"}),b.showMore),disabledShowMore:ba(ao({descendantName:\"showMore\",modifierName:\"disabled\"}),b.disabledShowMore),searchable:{root:ba(so(),b.searchableRoot),form:ba(so({\ndescendantName:\"form\"}),b.searchableForm),input:ba(so({descendantName:\"input\"}),b.searchableInput),submit:ba(so({descendantName:\"submit\"}),b.searchableSubmit),submitIcon:ba(so({descendantName:\"submitIcon\"}),b.searchableSubmitIcon),reset:ba(so({descendantName:\"reset\"}),b.searchableReset),resetIcon:ba(so({descendantName:\"resetIcon\"}),b.searchableResetIcon),loadingIndicator:ba(so({descendantName:\"loadingIndicator\"}),b.searchableLoadingIndicator),loadingIcon:ba(so({descendantName:\"loadingIcon\"}),b.searchableLoadingIcon)}},j=function(e){var t=e.containerNode,n=e.cssClasses,r=e.templates,i=e.searchBoxTemplates,a=e.renderState,s=e.showMore,o=e.searchable,c=e.searchablePlaceholder,u=e.searchableIsAlwaysActive;return function(e,l){var f=e.refine,h=e.items,d=e.createURL,p=e.searchForItems,m=e.isFromSearch,g=e.instantSearchInstance,v=e.toggleShowMore,y=e.isShowingMore,b=e.hasExhaustiveItems,w=e.canToggleShowMore;return l?(a.templateProps=U({defaultTemplates:ro,templatesConfig:g.templatesConfig,templates:r}),void(a.searchBoxTemplateProps=U({defaultTemplates:no,templatesConfig:g.templatesConfig,templates:i}))):void At(mt(Ma,{createURL:d,cssClasses:n,facetValues:h,templateProps:a.templateProps,searchBoxTemplateProps:a.searchBoxTemplateProps,toggleRefinement:f,searchFacetValues:o?p:void 0,searchPlaceholder:c,searchIsAlwaysActive:u,isFromSearch:m,showMore:s&&!m&&0<h.length,toggleShowMore:v,isShowingMore:y,hasExhaustiveItems:b,canToggleShowMore:w}),t)}}({containerNode:P,cssClasses:x,templates:S,searchBoxTemplates:{submit:S.searchableSubmit,reset:S.searchableReset,loadingIndicator:S.searchableLoadingIndicator},renderState:{},searchable:f,searchablePlaceholder:d,searchableIsAlwaysActive:v,showMore:c});return o(o({},Jt(j,function(){return At(null,P)})({attribute:r,operator:i,limit:s,showMore:c,showMoreLimit:u,sortBy:a,escapeFacetValues:_,transformItems:R})),{},{$$widgetType:\"ais.refinementList\"})},relevantSort:function(e){var t=e.container,n=e.templates,r=void 0===n?{}:n,i=e.cssClasses,a=void 0===i?{}:i;if(!t)throw new Error(co(\"The `container` option is required.\"));var s=B(t),c={root:ba(uo(),a.root),text:ba(uo({descendantName:\"text\"}),a.text),button:ba(uo({descendantName:\"button\"}),a.button)},u=o(o({},oo),r),l=function(e){var t=e.containerNode,n=e.cssClasses,r=e.templates;return function(e){var i=e.isRelevantSorted,a=e.isVirtualReplica,s=e.refine;At(mt(tr,{cssClasses:n,templates:r,isRelevantSorted:i,isVirtualReplica:a,refine:s}),t)}}({containerNode:s,cssClasses:c,renderState:{},templates:u});return o(o({},vn(l,function(){At(null,s)})({})),{},{$$widgetType:\"ais.relevantSort\"})},searchBox:function(e){var t=e||{},n=t.container,r=t.placeholder,i=void 0===r?\"\":r,a=t.cssClasses,s=void 0===a?{}:a,c=t.autofocus,u=void 0!==c&&c,l=t.searchAsYouType,f=void 0===l||l,h=t.showReset,d=void 0===h||h,p=t.showSubmit,m=void 0===p||p,g=t.showLoadingIndicator,v=void 0===g||g,y=t.queryHook,b=t.templates,w=void 0===b?{}:b;if(!n)throw new Error(lo(\"The `container` option is required.\"));var S=B(n),R={root:ba(fo(),s.root),form:ba(fo({descendantName:\"form\"}),s.form),input:ba(fo({descendantName:\"input\"}),s.input),submit:ba(fo({descendantName:\"submit\"}),s.submit),submitIcon:ba(fo({descendantName:\"submitIcon\"}),s.submitIcon),reset:ba(fo({descendantName:\"reset\"}),s.reset),resetIcon:ba(fo({descendantName:\"resetIcon\"}),s.resetIcon),loadingIndicator:ba(fo({descendantName:\"loadingIndicator\"}),s.loadingIndicator),loadingIcon:ba(fo({descendantName:\"loadingIcon\"}),s.loadingIcon)},_=o(o({},no),w),P=function(e){var t=e.containerNode,n=e.cssClasses,r=e.placeholder,i=e.templates,a=e.autofocus,s=e.searchAsYouType,o=e.showReset,c=e.showSubmit,u=e.showLoadingIndicator;return function(e){var l=e.refine,f=e.query,h=e.isSearchStalled;At(mt(Ha,{query:f,placeholder:r,autofocus:a,refine:l,searchAsYouType:s,templates:i,showSubmit:c,showReset:o,showLoadingIndicator:u,isSearchStalled:h,cssClasses:n}),t)}}({containerNode:S,cssClasses:R,placeholder:i,templates:_,autofocus:u,searchAsYouType:f,showReset:d,showSubmit:m,showLoadingIndicator:v});return o(o({},Gt(P,function(){return At(null,S)})({queryHook:y})),{},{$$widgetType:\"ais.searchBox\"})},sortBy:function(e){var t=e||{},n=t.container,r=t.items,i=t.cssClasses,a=void 0===i?{}:i,s=t.transformItems;if(!n)throw new Error(ho(\"The `container` option is required.\"));var c=B(n),u={root:ba(po(),a.root),select:ba(po({descendantName:\"select\"}),a.select),option:ba(po({descendantName:\"option\"}),a.option)},l=function(e){var t=e.containerNode,n=e.cssClasses;return function(e,r){var i=e.currentRefinement,a=e.options,s=e.refine;r||At(mt(\"div\",{className:n.root},mt(kn,{cssClasses:n,currentValue:i,options:a,setValue:s})),t)}}({containerNode:c,cssClasses:u});return o(o({},Yt(l,function(){return At(null,c)})({container:c,items:r,transformItems:s})),{},{$$widgetType:\"ais.sortBy\"})},stats:function(e){var t=e||{},n=t.container,r=t.cssClasses,i=void 0===r?{}:r,a=t.templates,s=void 0===a?{}:a;if(!n)throw new Error(mo(\"The `container` option is required.\"));var c=B(n),u={root:ba(go(),i.root),text:ba(go({descendantName:\"text\"}),i.text)},l=function(e){var t=e.renderState,n=e.cssClasses,r=e.containerNode,i=e.templates;return function(e,a){var s=e.hitsPerPage,o=e.nbHits,c=e.nbSortedHits,u=e.areHitsSorted,l=e.nbPages,f=e.page,h=e.processingTimeMS,d=e.query,p=e.instantSearchInstance;a?t.templateProps=U({defaultTemplates:vo,templatesConfig:p.templatesConfig,templates:i}):At(mt(nr,{cssClasses:n,hitsPerPage:s,nbHits:o,nbSortedHits:c,areHitsSorted:u,nbPages:l,page:f,processingTimeMS:h,query:d,templateProps:t.templateProps}),r)}}({containerNode:c,cssClasses:u,templates:s,renderState:{}});return o(o({},en(l,function(){return At(null,c)})({})),{},{$$widgetType:\"ais.stats\"})},toggleRefinement:function(e){var t=e||{},n=t.container,r=t.attribute,i=t.cssClasses,a=void 0===i?{}:i,s=t.templates,c=void 0===s?{}:s,u=t.on,l=void 0===u||u,f=t.off;if(!n)throw new Error(bo(\"The `container` option is required.\"));var h=B(n),d={root:ba(wo(),a.root),label:ba(wo({descendantName:\"label\"}),a.label),checkbox:ba(wo({descendantName:\"checkbox\"}),a.checkbox),labelText:ba(wo({descendantName:\"labelText\"}),a.labelText)},p=function(e){var t=e.containerNode,n=e.cssClasses,r=e.renderState,i=e.templates;return function(e,a){var s=e.value,o=e.refine,c=e.instantSearchInstance;a?r.templateProps=U({defaultTemplates:yo,templatesConfig:c.templatesConfig,templates:i}):At(mt(rr,{cssClasses:n,currentRefinement:s,templateProps:r.templateProps,refine:o}),t)}}({containerNode:h,cssClasses:d,renderState:{},templates:c});return o(o({},tn(p,function(){return At(null,h)})({attribute:r,on:l,off:f})),{},{$$widgetType:\"ais.toggleRefinement\"})},voiceSearch:function(e){var t=e||{},n=t.container,r=t.cssClasses,i=void 0===r?{}:r,a=t.templates,s=void 0===a?{}:a,c=t.searchAsYouSpeak,u=void 0!==c&&c,l=t.language,f=t.additionalQueryParameters,h=t.createVoiceSearchHelper;if(!n)throw new Error(Ro(\"The `container` option is required.\"));var d=B(n),p={root:ba(_o(),i.root),button:ba(_o({descendantName:\"button\"}),i.button),status:ba(_o({descendantName:\"status\"}),i.status)},m=o(o({},So),s),g=function(e){var t=e.containerNode,n=e.cssClasses,r=e.templates;return function(e){var i=e.isBrowserSupported,a=e.isListening,s=e.toggleListening,o=e.voiceListeningState;At(mt(ir,{cssClasses:n,templates:r,isBrowserSupported:i,isListening:a,toggleListening:s,voiceListeningState:o}),t)}}({containerNode:d,cssClasses:p,templates:m});return o(o({},mn(g,function(){return At(null,d)})({container:d,cssClasses:p,templates:m,searchAsYouSpeak:u,language:l,additionalQueryParameters:f,createVoiceSearchHelper:h})),{},{$$widgetType:\"ais.voiceSearch\"})}}),jo=Object.freeze({__proto__:null,createInsightsMiddleware:function(e){var t=e||{},n=t.insightsClient,r=t.insightsInitParams,i=t.onEvent;if(null!==n&&!n)throw new Error(\"The `insightsClient` option is required. To disable, set it to `null`.\");var a=Boolean(n),s=null===n?Z:n;return function(e){var t=e.instantSearchInstance,c=p(function(e){if(e.transporter){var t=e.transporter,n=t.headers,r=t.queryParameters,i=\"x-algolia-application-id\",a=\"x-algolia-api-key\";return[n[i]||r[i],n[a]||r[a]]}return[e.applicationID,e.apiKey]}(t.client),2),u=c[0],l=c[1],f=void 0,h=void 0;if(Array.isArray(s.queue)){var d=p(z(s.queue.slice().reverse(),function(e){return\"setUserToken\"===p(e,1)[0]})||[],2);f=d[1]}s(\"getUserToken\",null,function(e,t){h=t}),s(\"init\",o({appId:u,apiKey:l},r));var m,g,v=un(Z);return{onStateChange:function(){},subscribe:function(){function e(e){g&&t.removeWidgets([g]),g=v({searchParameters:{userToken:e}}),t.addWidgets([g])}s(\"addAlgoliaAgent\",\"insights-middleware\"),m=v({searchParameters:{clickAnalytics:!0}}),t.addWidgets([m]);var r=Qe();a&&r&&e(r),h?s(\"setUserToken\",h):f&&s(\"setUserToken\",f),s(\"onUserTokenChange\",e,{immediate:!0}),t.sendEventToInsights=function(e){i?i(e,n):e.insightsMethod&&Boolean(t.renderState[t.indexName].configure.widgetParams.searchParameters.userToken)&&s(e.insightsMethod,e.payload)}},unsubscribe:function(){s(\"onUserTokenChange\",void 0),t.removeWidgets([m,g]),g=m=void 0,t.sendEventToInsights=Z}}}},createRouterMiddleware:Ze,isMetadataEnabled:et,createMetadataMiddleware:tt}),Oo=Object.freeze({__proto__:null,history:Ye}),No=Object.freeze({__proto__:null,simple:Ve,singleIndex:function(e){return{stateToRoute:function(t){return ar(t[e]||{})},routeToState:function(t){return i({},e,ar(0<arguments.length&&void 0!==t?t:{}))}}}}),Fo=\"ais.infiniteHits\";return or.version=\"4.41.0\",or.connectors=va,or.widgets=xo,or.middlewares=jo,or.routers=Oo,or.stateMappings=No,or.createInfiniteHitsSessionStorageCache=function(){return{read:function(e){var t=e.state,n=Ie(function(e){return e.window.sessionStorage});if(!n)return null;try{var r=JSON.parse(n.getItem(Fo));return r&&se(r.state,sr(t))?r.hits:null}catch(e){if(e instanceof SyntaxError)try{n.removeItem(Fo)}catch(e){}return null}},write:function(e){var t=e.state,n=e.hits,r=Ie(function(e){return e.window.sessionStorage});if(r)try{r.setItem(Fo,JSON.stringify({state:sr(t),hits:n}))}catch(e){}}}},or.highlight=He,or.reverseHighlight=Me,or.snippet=qe,or.reverseSnippet=Be,or.insights=We,or})},function(e,t,n){!function(t,n){e.exports=n()}(this,function(){\"use strict\";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function n(n){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?t(Object(i),!0).forEach(function(t){e(n,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(i,e))})}return n}function r(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(r=(s=o.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==o.return||o.return()}finally{if(i)throw a}}return n}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}function s(e){var t,n=\"algoliasearch-client-js-\".concat(e.key),r=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},a=function(){return JSON.parse(r().getItem(n)||\"{}\")};return{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){var n=JSON.stringify(e),r=a()[n];return Promise.all([r||t(),void 0!==r])}).then(function(e){var t=i(e,2),r=t[0],a=t[1];return Promise.all([r,a||n.miss(r)])}).then(function(e){return i(e,1)[0]})},set:function(e,t){return Promise.resolve().then(function(){var i=a();return i[JSON.stringify(e)]=t,r().setItem(n,JSON.stringify(i)),t})},delete:function(e){return Promise.resolve().then(function(){var t=a();delete t[JSON.stringify(e)],r().setItem(n,JSON.stringify(t))})},clear:function(){return Promise.resolve().then(function(){r().removeItem(n)})}}}function o(e){var t=a(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},r=t();return r.then(function(e){return Promise.all([e,n.miss(e)])}).then(function(e){return i(e,1)[0]})},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,r,i).catch(function(){return o({caches:t}).get(e,r,i)})},set:function(e,r){return n.set(e,r).catch(function(){return o({caches:t}).set(e,r)})},delete:function(e){return n.delete(e).catch(function(){return o({caches:t}).delete(e)})},clear:function(){return n.clear().catch(function(){return o({caches:t}).clear()})}}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var s=r(),o=i&&i.miss||function(){return Promise.resolve()};return s.then(function(e){return o(e)}).then(function(){return s})},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function u(e,t,n){var r={\"x-algolia-api-key\":n,\"x-algolia-application-id\":t};return{headers:function(){return e===N.WithinHeaders?r:{}},queryParameters:function(){return e===N.WithinQueryParameters?r:{}}}}function l(e){var t=0;return e(function n(){return t++,new Promise(function(r){setTimeout(function(){r(e(n))},Math.min(100*t,1e3))})})}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t){return Promise.resolve()};return Object.assign(e,{wait:function(n){return f(e.then(function(e){return Promise.all([t(e,n),e])}).then(function(e){return e[1]}))}})}function h(e){for(var t=e.length-1;t>0;t--){var n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function d(e,t){return t?(Object.keys(t).forEach(function(n){e[n]=t[n](e)}),e):e}function p(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=0;return e.replace(/%s/g,function(){return encodeURIComponent(n[i++])})}function m(e,t){var n=e||{},r=n.data||{};return Object.keys(n).forEach(function(e){-1===[\"timeout\",\"headers\",\"queryParameters\",\"data\",\"cacheable\"].indexOf(e)&&(r[e]=n[e])}),{data:Object.entries(r).length>0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I;return n(n({},e),{},{status:t,lastUpdate:Date.now()})}function v(e){return\"string\"==typeof e?{protocol:\"https\",url:e,accept:F.Any}:{protocol:e.protocol||\"https\",url:e.url,accept:e.accept||F.Any}}function y(e,t){return Promise.all(t.map(function(t){return e.get(t,function(){return Promise.resolve(g(t))})})).then(function(e){var n=e.filter(function(e){return function(e){return e.status===I||Date.now()-e.lastUpdate>12e4}(e)}),r=e.filter(function(e){return function(e){return e.status===T&&Date.now()-e.lastUpdate<=12e4}(e)}),i=[].concat(a(n),a(r));return{getTimeout:function(e,t){return(0===r.length&&0===e?1:r.length+3+e)*t},statelessHosts:i.length>0?i.map(function(e){return v(e)}):t}})}function b(e,t,r,i){var s=[],o=function(e,t){if(e.method!==k&&(void 0!==e.data||void 0!==t.data)){var r=Array.isArray(e.data)?e.data:n(n({},e.data),t.data);return JSON.stringify(r)}}(r,i),c=function(e,t){var r=n(n({},e.headers),t.headers),i={};return Object.keys(r).forEach(function(e){var t=r[e];i[e.toLowerCase()]=t}),i}(e,i),u=r.method,l=r.method!==k?{}:n(n({},r.data),i.data),f=n(n(n({\"x-algolia-agent\":e.userAgent.value},e.queryParameters),l),i.queryParameters),h=0,d=function t(n,a){var l=n.pop();if(void 0===l)throw{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, contact [email protected].\",transporterStackTrace:P(s)};var d={data:o,headers:c,method:u,url:R(l,r.path,f),connectTimeout:a(h,e.timeouts.connect),responseTimeout:a(h,i.timeout)},p=function(e){var t={request:d,response:e,host:l,triesLeft:n.length};return s.push(t),t},m={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:\"DeserializationError\",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(r){var i=p(r);return r.isTimedOut&&h++,Promise.all([e.logger.info(\"Retryable failure\",x(i)),e.hostsCache.set(l,g(l,r.isTimedOut?T:E))]).then(function(){return t(n,a)})},onFail:function(e){throw p(e),function(e,t){var n=e.content,r=e.status,i=n;try{i=JSON.parse(n).message}catch(e){}return function(e,t,n){return{name:\"ApiError\",message:e,status:t,transporterStackTrace:n}}(i,r,t)}(e,P(s))}};return e.requester.send(d).then(function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,n=e.status;return!t&&0==~~n}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,m)})};return y(e.hostsCache,t).then(function(e){return d(a(e.statelessHosts).reverse(),e.getTimeout)})}function w(e){var t=e.hostsCache,n=e.logger,r=e.requester,a=e.requestsCache,s=e.responsesCache,o=e.timeouts,c=e.userAgent,u=e.hosts,l=e.queryParameters,f={hostsCache:t,logger:n,requester:r,requestsCache:a,responsesCache:s,timeouts:o,userAgent:c,headers:e.headers,queryParameters:l,hosts:u.map(function(e){return v(e)}),read:function(e,t){var n=m(t,f.timeouts.read),r=function(){return b(f,f.hosts.filter(function(e){return 0!=(e.accept&F.Read)}),e,n)};if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();var a={request:e,mappedRequestOptions:n,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(a,function(){return f.requestsCache.get(a,function(){return f.requestsCache.set(a,r()).then(function(e){return Promise.all([f.requestsCache.delete(a),e])},function(e){return Promise.all([f.requestsCache.delete(a),Promise.reject(e)])}).then(function(e){var t=i(e,2);return t[0],t[1]})})},{miss:function(e){return f.responsesCache.set(a,e)}})},write:function(e,t){return b(f,f.hosts.filter(function(e){return 0!=(e.accept&F.Write)}),e,m(t,f.timeouts.write))}};return f}function S(e){var t={value:\"Algolia for JavaScript (\".concat(e,\")\"),add:function(e){var n=\"; \".concat(e.segment).concat(void 0!==e.version?\" (\".concat(e.version,\")\"):\"\");return-1===t.value.indexOf(n)&&(t.value=\"\".concat(t.value).concat(n)),t}};return t}function R(e,t,n){var r=_(n),i=\"\".concat(e.protocol,\"://\").concat(e.url,\"/\").concat(\"/\"===t.charAt(0)?t.substr(1):t);return r.length&&(i+=\"?\".concat(r)),i}function _(e){return Object.keys(e).map(function(t){return p(\"%s=%s\",t,(n=e[t],\"[object Object]\"===Object.prototype.toString.call(n)||\"[object Array]\"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n}).join(\"&\")}function P(e){return e.map(function(e){return x(e)})}function x(e){var t=e.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return n(n({},e),{},{request:n(n({},e.request),{},{headers:n(n({},e.request.headers),t)})})}function j(e){return function t(n){return e.request(n).then(function(r){if(void 0!==e.batch&&e.batch(r.hits),!e.shouldStop(r))return t(r.cursor?{cursor:r.cursor}:{page:(n.page||0)+1})})}({})}function O(e,t,r){var i,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise(function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach(function(t){return n.setRequestHeader(t,e.headers[t])});var r,i=function(e,r){return setTimeout(function(){n.abort(),t({status:0,content:r,isTimedOut:!0})},1e3*e)},a=i(e.connectTimeout,\"Connection timeout\");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===r&&(clearTimeout(a),r=i(e.responseTimeout,\"Socket timeout\"))},n.onerror=function(){0===n.status&&(clearTimeout(a),clearTimeout(r),t({content:n.responseText||\"Network request failed\",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(a),clearTimeout(r),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)})}},logger:(i=vt,{debug:function(e,t){return mt>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return gt>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:o({caches:[s({key:\"\".concat(\"4.13.1\",\"-\").concat(e)}),c()]}),userAgent:S(\"4.13.1\").add({segment:\"Browser\"})},l=n(n({},a),r),f=function(){return function(e){return function(e){var t=e.region||\"us\",r=u(N.WithinHeaders,e.appId,e.apiKey),i=w(n(n({hosts:[{url:\"personalization.\".concat(t,\".algolia.com\")}]},e),{},{headers:n(n(n({},r.headers()),{\"content-type\":\"application/json\"}),e.headers),queryParameters:n(n({},r.queryParameters()),e.queryParameters)}));return d({appId:e.appId,transporter:i},e.methods)}(n(n(n({},a),e),{},{methods:{getPersonalizationStrategy:W,setPersonalizationStrategy:Q}}))}};return function(e){var t=e.appId,r=u(void 0!==e.authMode?e.authMode:N.WithinHeaders,t,e.apiKey),i=w(n(n({hosts:[{url:\"\".concat(t,\"-dsn.algolia.net\"),accept:F.Read},{url:\"\".concat(t,\".algolia.net\"),accept:F.Write}].concat(h([{url:\"\".concat(t,\"-1.algolianet.com\")},{url:\"\".concat(t,\"-2.algolianet.com\")},{url:\"\".concat(t,\"-3.algolianet.com\")}]))},e),{},{headers:n(n(n({},r.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),e.headers),queryParameters:n(n({},r.queryParameters()),e.queryParameters)}));return d({transporter:i,appId:t,addAlgoliaAgent:function(e,t){i.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(function(){})}},e.methods)}(n(n({},l),{},{methods:{search:ge,searchForFacetValues:ve,multipleBatch:pe,multipleGetObjects:me,multipleQueries:ge,copyIndex:K,copySettings:X,copySynonyms:G,copyRules:J,moveIndex:de,listIndices:fe,getLogs:ie,listClusters:le,multipleSearchForFacetValues:ve,getApiKey:te,addApiKey:U,listApiKeys:ue,updateApiKey:xe,deleteApiKey:Z,restoreApiKey:we,assignUserID:V,assignUserIDs:$,getUserID:se,searchUserIDs:_e,listUserIDs:he,getTopUserIDs:ae,removeUserID:ye,hasPendingMappings:oe,clearDictionaryEntries:z,deleteDictionaryEntries:ee,getDictionarySettings:re,getAppTask:ne,replaceDictionaryEntries:be,saveDictionaryEntries:Se,searchDictionaryEntries:Re,setDictionarySettings:Pe,waitAppTask:je,customRequest:Y,initIndex:function(e){return function(t){return ce(e)(t,{methods:{batch:Oe,delete:De,findAnswers:We,getObject:Ue,getObjects:$e,saveObject:tt,saveObjects:nt,search:ot,searchForFacetValues:ct,waitTask:ht,setSettings:ft,getSettings:Ke,partialUpdateObject:Xe,partialUpdateObjects:Ge,deleteObject:Le,deleteObjects:He,deleteBy:Ae,clearObjects:Te,browseObjects:Ne,getObjectPosition:Ve,findObject:Qe,exists:Be,saveSynonym:at,saveSynonyms:st,getSynonym:Je,searchSynonyms:lt,browseSynonyms:Ie,deleteSynonym:qe,clearSynonyms:ke,replaceAllObjects:Ye,replaceAllSynonyms:et,searchRules:ut,getRule:ze,deleteRule:Me,saveRule:rt,saveRules:it,replaceAllRules:Ze,browseRules:Fe,clearRules:Ce}})}},initAnalytics:function(){return function(e){return function(e){var t=e.region||\"us\",r=u(N.WithinHeaders,e.appId,e.apiKey),i=w(n(n({hosts:[{url:\"analytics.\".concat(t,\".algolia.com\")}]},e),{},{headers:n(n(n({},r.headers()),{\"content-type\":\"application/json\"}),e.headers),queryParameters:n(n({},r.queryParameters()),e.queryParameters)}));return d({appId:e.appId,transporter:i},e.methods)}(n(n(n({},a),e),{},{methods:{addABTest:L,getABTest:M,getABTests:q,stopABTest:B,deleteABTest:H}}))}},initPersonalization:f,initRecommendation:function(){return function(e){return l.logger.info(\"The `initRecommendation` method is deprecated. Use `initPersonalization` instead.\"),f()(e)}}}}))}var N={WithinQueryParameters:0,WithinHeaders:1},F={Read:1,Write:2,Any:3},I=1,E=2,T=3,C=\"DELETE\",k=\"GET\",A=\"POST\",D=\"PUT\",L=function(e){return function(t,n){return e.transporter.write({method:A,path:\"2/abtests\",data:t},n)}},H=function(e){return function(t,n){return e.transporter.write({method:C,path:p(\"2/abtests/%s\",t)},n)}},M=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"2/abtests/%s\",t)},n)}},q=function(e){return function(t){return e.transporter.read({method:k,path:\"2/abtests\"},t)}},B=function(e){return function(t,n){return e.transporter.write({method:A,path:p(\"2/abtests/%s/stop\",t)},n)}},W=function(e){return function(t){return e.transporter.read({method:k,path:\"1/strategies/personalization\"},t)}},Q=function(e){return function(t,n){return e.transporter.write({method:A,path:\"1/strategies/personalization\",data:t},n)}},U=function(e){return function(t,i){var a=i||{},s=a.queryParameters,o=r(a,[\"queryParameters\"]),c=n({acl:t},void 0!==s?{queryParameters:s}:{});return f(e.transporter.write({method:A,path:\"1/keys\",data:c},o),function(t,n){return l(function(r){return te(e)(t.key,n).catch(function(e){if(404!==e.status)throw e;return r()})})})}},V=function(e){return function(t,n,r){var i=m(r);return i.queryParameters[\"X-Algolia-User-ID\"]=t,e.transporter.write({method:A,path:\"1/clusters/mapping\",data:{cluster:n}},i)}},$=function(e){return function(t,n,r){return e.transporter.write({method:A,path:\"1/clusters/mapping/batch\",data:{users:t,cluster:n}},r)}},z=function(e){return function(t,n){return f(e.transporter.write({method:A,path:p(\"/1/dictionaries/%s/batch\",t),data:{clearExistingDictionaryEntries:!0,requests:{action:\"addEntry\",body:[]}}},n),function(t,n){return je(e)(t.taskID,n)})}},K=function(e){return function(t,n,r){return f(e.transporter.write({method:A,path:p(\"1/indexes/%s/operation\",t),data:{operation:\"copy\",destination:n}},r),function(n,r){return ce(e)(t,{methods:{waitTask:ht}}).waitTask(n.taskID,r)})}},J=function(e){return function(t,r,i){return K(e)(t,r,n(n({},i),{},{scope:[pt.Rules]}))}},X=function(e){return function(t,r,i){return K(e)(t,r,n(n({},i),{},{scope:[pt.Settings]}))}},G=function(e){return function(t,r,i){return K(e)(t,r,n(n({},i),{},{scope:[pt.Synonyms]}))}},Y=function(e){return function(t,n){return t.method===k?e.transporter.read(t,n):e.transporter.write(t,n)}},Z=function(e){return function(t,n){return f(e.transporter.write({method:C,path:p(\"1/keys/%s\",t)},n),function(n,r){return l(function(n){return te(e)(t,r).then(n).catch(function(e){if(404!==e.status)throw e})})})}},ee=function(e){return function(t,n,r){var i=n.map(function(e){return{action:\"deleteEntry\",body:{objectID:e}}});return f(e.transporter.write({method:A,path:p(\"/1/dictionaries/%s/batch\",t),data:{clearExistingDictionaryEntries:!1,requests:i}},r),function(t,n){return je(e)(t.taskID,n)})}},te=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/keys/%s\",t)},n)}},ne=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/task/%s\",t.toString())},n)}},re=function(e){return function(t){return e.transporter.read({method:k,path:\"/1/dictionaries/*/settings\"},t)}},ie=function(e){return function(t){return e.transporter.read({method:k,path:\"1/logs\"},t)}},ae=function(e){return function(t){return e.transporter.read({method:k,path:\"1/clusters/mapping/top\"},t)}},se=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/clusters/mapping/%s\",t)},n)}},oe=function(e){return function(t){var n=t||{},i=n.retrieveMappings,a=r(n,[\"retrieveMappings\"]);return!0===i&&(a.getClusters=!0),e.transporter.read({method:k,path:\"1/clusters/mapping/pending\"},a)}},ce=function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={transporter:e.transporter,appId:e.appId,indexName:t};return d(r,n.methods)}},ue=function(e){return function(t){return e.transporter.read({method:k,path:\"1/keys\"},t)}},le=function(e){return function(t){return e.transporter.read({method:k,path:\"1/clusters\"},t)}},fe=function(e){return function(t){return e.transporter.read({method:k,path:\"1/indexes\"},t)}},he=function(e){return function(t){return e.transporter.read({method:k,path:\"1/clusters/mapping\"},t)}},de=function(e){return function(t,n,r){return f(e.transporter.write({method:A,path:p(\"1/indexes/%s/operation\",t),data:{operation:\"move\",destination:n}},r),function(n,r){return ce(e)(t,{methods:{waitTask:ht}}).waitTask(n.taskID,r)})}},pe=function(e){return function(t,n){return f(e.transporter.write({method:A,path:\"1/indexes/*/batch\",data:{requests:t}},n),function(t,n){return Promise.all(Object.keys(t.taskID).map(function(r){return ce(e)(r,{methods:{waitTask:ht}}).waitTask(t.taskID[r],n)}))})}},me=function(e){return function(t,n){return e.transporter.read({method:A,path:\"1/indexes/*/objects\",data:{requests:t}},n)}},ge=function(e){return function(t,r){var i=t.map(function(e){return n(n({},e),{},{params:_(e.params||{})})});return e.transporter.read({method:A,path:\"1/indexes/*/queries\",data:{requests:i},cacheable:!0},r)}},ve=function(e){return function(t,i){return Promise.all(t.map(function(t){var a=t.params,s=a.facetName,o=a.facetQuery,c=r(a,[\"facetName\",\"facetQuery\"]);return ce(e)(t.indexName,{methods:{searchForFacetValues:ct}}).searchForFacetValues(s,o,n(n({},i),c))}))}},ye=function(e){return function(t,n){var r=m(n);return r.queryParameters[\"X-Algolia-User-ID\"]=t,e.transporter.write({method:C,path:\"1/clusters/mapping\"},r)}},be=function(e){return function(t,n,r){var i=n.map(function(e){return{action:\"addEntry\",body:e}});return f(e.transporter.write({method:A,path:p(\"/1/dictionaries/%s/batch\",t),data:{clearExistingDictionaryEntries:!0,requests:i}},r),function(t,n){return je(e)(t.taskID,n)})}},we=function(e){return function(t,n){return f(e.transporter.write({method:A,path:p(\"1/keys/%s/restore\",t)},n),function(n,r){return l(function(n){return te(e)(t,r).catch(function(e){if(404!==e.status)throw e;return n()})})})}},Se=function(e){return function(t,n,r){var i=n.map(function(e){return{action:\"addEntry\",body:e}});return f(e.transporter.write({method:A,path:p(\"/1/dictionaries/%s/batch\",t),data:{clearExistingDictionaryEntries:!1,requests:i}},r),function(t,n){return je(e)(t.taskID,n)})}},Re=function(e){return function(t,n,r){return e.transporter.read({method:A,path:p(\"/1/dictionaries/%s/search\",t),data:{query:n},cacheable:!0},r)}},_e=function(e){return function(t,n){return e.transporter.read({method:A,path:\"1/clusters/mapping/search\",data:{query:t}},n)}},Pe=function(e){return function(t,n){return f(e.transporter.write({method:D,path:\"/1/dictionaries/*/settings\",data:t},n),function(t,n){return je(e)(t.taskID,n)})}},xe=function(e){return function(t,n){var i=Object.assign({},n),a=n||{},s=a.queryParameters,o=r(a,[\"queryParameters\"]),c=s?{queryParameters:s}:{},u=[\"acl\",\"indexes\",\"referers\",\"restrictSources\",\"queryParameters\",\"description\",\"maxQueriesPerIPPerHour\",\"maxHitsPerQuery\"];\nreturn f(e.transporter.write({method:D,path:p(\"1/keys/%s\",t),data:c},o),function(n,r){return l(function(n){return te(e)(t,r).then(function(e){return function(e){return Object.keys(i).filter(function(e){return-1!==u.indexOf(e)}).every(function(t){return e[t]===i[t]})}(e)?Promise.resolve():n()})})})}},je=function(e){return function(t,n){return l(function(r){return ne(e)(t,n).then(function(e){return\"published\"!==e.status?r():void 0})})}},Oe=function(e){return function(t,n){return f(e.transporter.write({method:A,path:p(\"1/indexes/%s/batch\",e.indexName),data:{requests:t}},n),function(t,n){return ht(e)(t.taskID,n)})}},Ne=function(e){return function(t){return j(n(n({shouldStop:function(e){return void 0===e.cursor}},t),{},{request:function(n){return e.transporter.read({method:A,path:p(\"1/indexes/%s/browse\",e.indexName),data:n},t)}}))}},Fe=function(e){return function(t){var r=n({hitsPerPage:1e3},t);return j(n(n({shouldStop:function(e){return e.hits.length<r.hitsPerPage}},r),{},{request:function(t){return ut(e)(\"\",n(n({},r),t)).then(function(e){return n(n({},e),{},{hits:e.hits.map(function(e){return delete e._highlightResult,e})})})}}))}},Ie=function(e){return function(t){var r=n({hitsPerPage:1e3},t);return j(n(n({shouldStop:function(e){return e.hits.length<r.hitsPerPage}},r),{},{request:function(t){return lt(e)(\"\",n(n({},r),t)).then(function(e){return n(n({},e),{},{hits:e.hits.map(function(e){return delete e._highlightResult,e})})})}}))}},Ee=function(e){return function(t,n,i){var a=i||{},s=a.batchSize,o=r(a,[\"batchSize\"]),c={taskIDs:[],objectIDs:[]};return f(function r(){var i,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,u=[];for(i=a;i<t.length&&(u.push(t[i]),u.length!==(s||1e3));i++);return 0===u.length?Promise.resolve(c):Oe(e)(u.map(function(e){return{action:n,body:e}}),o).then(function(e){return c.objectIDs=c.objectIDs.concat(e.objectIDs),c.taskIDs.push(e.taskID),i++,r(i)})}(),function(t,n){return Promise.all(t.taskIDs.map(function(t){return ht(e)(t,n)}))})}},Te=function(e){return function(t){return f(e.transporter.write({method:A,path:p(\"1/indexes/%s/clear\",e.indexName)},t),function(t,n){return ht(e)(t.taskID,n)})}},Ce=function(e){return function(t){var n=t||{},i=n.forwardToReplicas,a=m(r(n,[\"forwardToReplicas\"]));return i&&(a.queryParameters.forwardToReplicas=1),f(e.transporter.write({method:A,path:p(\"1/indexes/%s/rules/clear\",e.indexName)},a),function(t,n){return ht(e)(t.taskID,n)})}},ke=function(e){return function(t){var n=t||{},i=n.forwardToReplicas,a=m(r(n,[\"forwardToReplicas\"]));return i&&(a.queryParameters.forwardToReplicas=1),f(e.transporter.write({method:A,path:p(\"1/indexes/%s/synonyms/clear\",e.indexName)},a),function(t,n){return ht(e)(t.taskID,n)})}},Ae=function(e){return function(t,n){return f(e.transporter.write({method:A,path:p(\"1/indexes/%s/deleteByQuery\",e.indexName),data:t},n),function(t,n){return ht(e)(t.taskID,n)})}},De=function(e){return function(t){return f(e.transporter.write({method:C,path:p(\"1/indexes/%s\",e.indexName)},t),function(t,n){return ht(e)(t.taskID,n)})}},Le=function(e){return function(t,n){return f(He(e)([t],n).then(function(e){return{taskID:e.taskIDs[0]}}),function(t,n){return ht(e)(t.taskID,n)})}},He=function(e){return function(t,n){var r=t.map(function(e){return{objectID:e}});return Ee(e)(r,dt.DeleteObject,n)}},Me=function(e){return function(t,n){var i=n||{},a=i.forwardToReplicas,s=m(r(i,[\"forwardToReplicas\"]));return a&&(s.queryParameters.forwardToReplicas=1),f(e.transporter.write({method:C,path:p(\"1/indexes/%s/rules/%s\",e.indexName,t)},s),function(t,n){return ht(e)(t.taskID,n)})}},qe=function(e){return function(t,n){var i=n||{},a=i.forwardToReplicas,s=m(r(i,[\"forwardToReplicas\"]));return a&&(s.queryParameters.forwardToReplicas=1),f(e.transporter.write({method:C,path:p(\"1/indexes/%s/synonyms/%s\",e.indexName,t)},s),function(t,n){return ht(e)(t.taskID,n)})}},Be=function(e){return function(t){return Ke(e)(t).then(function(){return!0}).catch(function(e){if(404!==e.status)throw e;return!1})}},We=function(e){return function(t,n,r){return e.transporter.read({method:A,path:p(\"1/answers/%s/prediction\",e.indexName),data:{query:t,queryLanguages:n},cacheable:!0},r)}},Qe=function(e){return function(t,a){var s=a||{},o=s.query,c=s.paginate,u=r(s,[\"query\",\"paginate\"]),l=0;return function r(){return ot(e)(o||\"\",n(n({},u),{},{page:l})).then(function(e){for(var n=0,a=Object.entries(e.hits);n<a.length;n++){var s=i(a[n],2),o=s[0],u=s[1];if(t(u))return{object:u,position:parseInt(o,10),page:l}}if(l++,!1===c||l>=e.nbPages)throw{name:\"ObjectNotFoundError\",message:\"Object not found.\"};return r()})}()}},Ue=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/indexes/%s/%s\",e.indexName,t)},n)}},Ve=function(){return function(e,t){for(var n=0,r=Object.entries(e.hits);n<r.length;n++){var a=i(r[n],2),s=a[0];if(a[1].objectID===t)return parseInt(s,10)}return-1}},$e=function(e){return function(t,i){var a=i||{},s=a.attributesToRetrieve,o=r(a,[\"attributesToRetrieve\"]),c=t.map(function(t){return n({indexName:e.indexName,objectID:t},s?{attributesToRetrieve:s}:{})});return e.transporter.read({method:A,path:\"1/indexes/*/objects\",data:{requests:c}},o)}},ze=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/indexes/%s/rules/%s\",e.indexName,t)},n)}},Ke=function(e){return function(t){return e.transporter.read({method:k,path:p(\"1/indexes/%s/settings\",e.indexName),data:{getVersion:2}},t)}},Je=function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/indexes/%s/synonyms/%s\",e.indexName,t)},n)}},Xe=function(e){return function(t,n){return f(Ge(e)([t],n).then(function(e){return{objectID:e.objectIDs[0],taskID:e.taskIDs[0]}}),function(t,n){return ht(e)(t.taskID,n)})}},Ge=function(e){return function(t,n){var i=n||{},a=i.createIfNotExists,s=r(i,[\"createIfNotExists\"]),o=a?dt.PartialUpdateObject:dt.PartialUpdateObjectNoCreate;return Ee(e)(t,o,s)}},Ye=function(e){return function(t,s){var o=s||{},c=o.safe,u=o.autoGenerateObjectIDIfNotExist,l=o.batchSize,h=r(o,[\"safe\",\"autoGenerateObjectIDIfNotExist\",\"batchSize\"]),d=function(t,n,r,i){return f(e.transporter.write({method:A,path:p(\"1/indexes/%s/operation\",t),data:{operation:r,destination:n}},i),function(t,n){return ht(e)(t.taskID,n)})},m=Math.random().toString(36).substring(7),g=\"\".concat(e.indexName,\"_tmp_\").concat(m),v=nt({appId:e.appId,transporter:e.transporter,indexName:g}),y=[],b=d(e.indexName,g,\"copy\",n(n({},h),{},{scope:[\"settings\",\"synonyms\",\"rules\"]}));return y.push(b),f((c?b.wait(h):b).then(function(){var e=v(t,n(n({},h),{},{autoGenerateObjectIDIfNotExist:u,batchSize:l}));return y.push(e),c?e.wait(h):e}).then(function(){var t=d(g,e.indexName,\"move\",h);return y.push(t),c?t.wait(h):t}).then(function(){return Promise.all(y)}).then(function(e){var t=i(e,3),n=t[0],r=t[1],s=t[2];return{objectIDs:r.objectIDs,taskIDs:[n.taskID].concat(a(r.taskIDs),[s.taskID])}}),function(e,t){return Promise.all(y.map(function(e){return e.wait(t)}))})}},Ze=function(e){return function(t,r){return it(e)(t,n(n({},r),{},{clearExistingRules:!0}))}},et=function(e){return function(t,r){return st(e)(t,n(n({},r),{},{clearExistingSynonyms:!0}))}},tt=function(e){return function(t,n){return f(nt(e)([t],n).then(function(e){return{objectID:e.objectIDs[0],taskID:e.taskIDs[0]}}),function(t,n){return ht(e)(t.taskID,n)})}},nt=function(e){return function(t,n){var i=n||{},a=i.autoGenerateObjectIDIfNotExist,s=r(i,[\"autoGenerateObjectIDIfNotExist\"]),o=a?dt.AddObject:dt.UpdateObject;if(o===dt.UpdateObject){var c=!0,u=!1,l=void 0;try{for(var h,d=t[Symbol.iterator]();!(c=(h=d.next()).done);c=!0)if(void 0===h.value.objectID)return f(Promise.reject({name:\"MissingObjectIDError\",message:\"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\"}))}catch(e){u=!0,l=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw l}}}return Ee(e)(t,o,s)}},rt=function(e){return function(t,n){return it(e)([t],n)}},it=function(e){return function(t,n){var i=n||{},a=i.forwardToReplicas,s=i.clearExistingRules,o=m(r(i,[\"forwardToReplicas\",\"clearExistingRules\"]));return a&&(o.queryParameters.forwardToReplicas=1),s&&(o.queryParameters.clearExistingRules=1),f(e.transporter.write({method:A,path:p(\"1/indexes/%s/rules/batch\",e.indexName),data:t},o),function(t,n){return ht(e)(t.taskID,n)})}},at=function(e){return function(t,n){return st(e)([t],n)}},st=function(e){return function(t,n){var i=n||{},a=i.forwardToReplicas,s=i.clearExistingSynonyms,o=i.replaceExistingSynonyms,c=m(r(i,[\"forwardToReplicas\",\"clearExistingSynonyms\",\"replaceExistingSynonyms\"]));return a&&(c.queryParameters.forwardToReplicas=1),(o||s)&&(c.queryParameters.replaceExistingSynonyms=1),f(e.transporter.write({method:A,path:p(\"1/indexes/%s/synonyms/batch\",e.indexName),data:t},c),function(t,n){return ht(e)(t.taskID,n)})}},ot=function(e){return function(t,n){return e.transporter.read({method:A,path:p(\"1/indexes/%s/query\",e.indexName),data:{query:t},cacheable:!0},n)}},ct=function(e){return function(t,n,r){return e.transporter.read({method:A,path:p(\"1/indexes/%s/facets/%s/query\",e.indexName,t),data:{facetQuery:n},cacheable:!0},r)}},ut=function(e){return function(t,n){return e.transporter.read({method:A,path:p(\"1/indexes/%s/rules/search\",e.indexName),data:{query:t}},n)}},lt=function(e){return function(t,n){return e.transporter.read({method:A,path:p(\"1/indexes/%s/synonyms/search\",e.indexName),data:{query:t}},n)}},ft=function(e){return function(t,n){var i=n||{},a=i.forwardToReplicas,s=m(r(i,[\"forwardToReplicas\"]));return a&&(s.queryParameters.forwardToReplicas=1),f(e.transporter.write({method:D,path:p(\"1/indexes/%s/settings\",e.indexName),data:t},s),function(t,n){return ht(e)(t.taskID,n)})}},ht=function(e){return function(t,n){return l(function(r){return function(e){return function(t,n){return e.transporter.read({method:k,path:p(\"1/indexes/%s/task/%s\",e.indexName,t.toString())},n)}}(e)(t,n).then(function(e){return\"published\"!==e.status?r():void 0})})}},dt={AddObject:\"addObject\",UpdateObject:\"updateObject\",PartialUpdateObject:\"partialUpdateObject\",PartialUpdateObjectNoCreate:\"partialUpdateObjectNoCreate\",DeleteObject:\"deleteObject\",DeleteIndex:\"delete\",ClearIndex:\"clear\"},pt={Settings:\"settings\",Synonyms:\"synonyms\",Rules:\"rules\"},mt=1,gt=2,vt=3;return O.version=\"4.13.1\",O})},function(e,t,n){\"use strict\";function r(e,t,n){return new i(e,t,n)}var i=n(5),a=n(6),s=n(16);r.version=n(27),r.AlgoliaSearchHelper=i,r.SearchParameters=a,r.SearchResults=s,e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){\"function\"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent(\"JS Helper (\"+m+\")\"),this.setClient(e);var r=n||{};r.index=t,this.state=s.make(r),this.lastResults=null,this._queryId=0,this._lastQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0}function i(e){if(e<0)throw new Error(\"Page requested below 0.\");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function a(){return this.state.page}var s=n(6),o=n(16),c=n(23),u=n(26),l=n(24),f=n(25),h=n(13),d=n(12),p=n(7),m=n(27),g=n(21).escapeFacetValue;f(r,l),r.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},r.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},r.prototype.getQuery=function(){var e=this.state;return u._getHitsSearchParams(e)},r.prototype.searchOnce=function(e,t){var n=e?this.state.setQueryParameters(e):this.state,r=u._getQueries(n.index,n),i=this;return this._currentNbQueries++,this.emit(\"searchOnce\",{state:n}),t?void this.client.search(r).then(function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),t(null,new o(n,e.results),n)}).catch(function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),t(e,null,n)}):this.client.search(r).then(function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),{content:new o(n,e.results),state:n,_originalResponse:e}},function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit(\"searchQueueEmpty\"),e})},r.prototype.findAnswers=function(e){var t=this.state,n=this.derivedHelpers[0];if(!n)return Promise.resolve([]);var r=n.getModifiedState(t),i=p({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:d(u._getHitsSearchParams(r),[\"attributesToSnippet\",\"hitsPerPage\",\"restrictSearchableAttributes\",\"snippetEllipsisText\"])}),a=\"search for answers was called, but this client does not have a function client.initIndex(index).findAnswers\";if(\"function\"!=typeof this.client.initIndex)throw new Error(a);var s=this.client.initIndex(r.index);if(\"function\"!=typeof s.findAnswers)throw new Error(a);return s.findAnswers(r.query,e.queryLanguages,i)},r.prototype.searchForFacetValues=function(e,t,n,r){var i=\"function\"==typeof this.client.searchForFacetValues;if(!i&&\"function\"!=typeof this.client.initIndex)throw new Error(\"search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues\");var a=this.state.setQueryParameters(r||{}),s=a.isDisjunctiveFacet(e),o=u.getSearchForFacetQuery(e,t,n,a);this._currentNbQueries++;var c=this;this.emit(\"searchForFacetValues\",{state:a,facet:e,query:t});var l=i?this.client.searchForFacetValues([{indexName:a.index,params:o}]):this.client.initIndex(a.index).searchForFacetValues(o);return l.then(function(t){return c._currentNbQueries--,0===c._currentNbQueries&&c.emit(\"searchQueueEmpty\"),t=Array.isArray(t)?t[0]:t,t.facetHits.forEach(function(t){t.escapedValue=g(t.value),t.isRefined=s?a.isDisjunctiveFacetRefined(e,t.escapedValue):a.isFacetRefined(e,t.escapedValue)}),t},function(e){throw c._currentNbQueries--,0===c._currentNbQueries&&c.emit(\"searchQueueEmpty\"),e})},r.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},r.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},r.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},r.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},r.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.addNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,n),isPageReset:!0}),this},r.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},r.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},r.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},r.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},r.prototype.removeNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,n),isPageReset:!0}),this},r.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},r.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},r.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},r.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},r.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},r.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},r.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},r.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},r.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},r.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},r.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},r.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},r.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},r.prototype.setCurrentPage=i,r.prototype.setPage=i,r.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},r.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},r.prototype.setState=function(e){return this._change({state:s.make(e),isPageReset:!1}),this},r.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new s(e),this},r.prototype.hasRefinements=function(e){return!!h(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},r.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},r.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},r.prototype.hasTag=function(e){return this.state.isTagRefined(e)},r.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},r.prototype.getIndex=function(){return this.state.index},r.prototype.getCurrentPage=a,r.prototype.getPage=a,r.prototype.getTags=function(){return this.state.tagRefinements},r.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e)){var n=this.state.getConjunctiveRefinements(e);n.forEach(function(e){t.push({value:e,type:\"conjunctive\"})});var r=this.state.getExcludeRefinements(e);r.forEach(function(e){t.push({value:e,type:\"exclude\"})})}else if(this.state.isDisjunctiveFacet(e)){var i=this.state.getDisjunctiveRefinements(e);i.forEach(function(e){t.push({value:e,type:\"disjunctive\"})})}var a=this.state.getNumericRefinements(e);return Object.keys(a).forEach(function(e){var n=a[e];t.push({value:n,operator:e,type:\"numeric\"})}),t},r.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},r.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},r.prototype._search=function(e){var t=this.state,n=[],r=[];e.onlyWithDerivedHelpers||(r=u._getQueries(t.index,t),n.push({state:t,queriesCount:r.length,helper:this}),this.emit(\"search\",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map(function(e){var r=e.getModifiedState(t),i=u._getQueries(r.index,r);return n.push({state:r,queriesCount:i.length,helper:e}),e.emit(\"search\",{state:r,results:e.lastResults}),i}),a=Array.prototype.concat.apply(r,i),s=this._queryId++;this._currentNbQueries++;try{this.client.search(a).then(this._dispatchAlgoliaResponse.bind(this,n,s)).catch(this._dispatchAlgoliaError.bind(this,s))}catch(e){this.emit(\"error\",{error:e})}},r.prototype._dispatchAlgoliaResponse=function(e,t,n){if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit(\"searchQueueEmpty\");var r=n.results.slice();e.forEach(function(e){var t=e.state,n=e.queriesCount,i=e.helper,a=r.splice(0,n),s=i.lastResults=new o(t,a);i.emit(\"result\",{results:s,state:t})})}},r.prototype._dispatchAlgoliaError=function(e,t){e<this._lastQueryIdReceived||(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit(\"error\",{error:t}),0===this._currentNbQueries&&this.emit(\"searchQueueEmpty\"))},r.prototype.containsRefinement=function(e,t,n,r){return e||0!==t.length||0!==n.length||0!==r.length},r.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&this.state.disjunctiveRefinements[e].length>0},r.prototype._change=function(e){var t=e.state,n=e.isPageReset;t!==this.state&&(this.state=t,this.emit(\"change\",{state:this.state,results:this.lastResults,isPageReset:n}))},r.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},r.prototype.setClient=function(e){return this.client===e?this:(\"function\"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent(\"JS Helper (\"+m+\")\"),this.client=e,this)},r.prototype.getClient=function(){return this.client},r.prototype.derive=function(e){var t=new c(this,e);return this.derivedHelpers.push(t),t},r.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(t===-1)throw new Error(\"Derived helper already detached\");this.derivedHelpers.splice(t,1)},r.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return r(t[n],e)}):e===t}function i(e,t){return u(e,function(e){return r(e,t)})}function a(e){var t=e?a._parseNumbers(e):{};void 0===t.userToken||d(t.userToken)||console.warn(\"[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\\n  - Format: [a-zA-Z0-9_-]{1,64}\"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var n=this;Object.keys(t).forEach(function(e){var r=a.PARAMETERS.indexOf(e)!==-1,i=void 0!==t[e];!r&&i&&(n[e]=t[e])})}var s=n(7),o=n(8),c=n(9),u=n(10),l=n(11),f=n(12),h=n(13),d=n(14),p=n(15);a.PARAMETERS=Object.keys(new a),a._parseNumbers=function(e){if(e instanceof a)return e;var t={},n=[\"aroundPrecision\",\"aroundRadius\",\"getRankingInfo\",\"minWordSizefor2Typos\",\"minWordSizefor1Typo\",\"page\",\"maxValuesPerFacet\",\"distinct\",\"minimumAroundRadius\",\"hitsPerPage\",\"minProximity\"];if(n.forEach(function(n){var r=e[n];if(\"string\"==typeof r){var i=parseFloat(r);t[n]=isNaN(i)?r:i}}),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map(function(e){return Array.isArray(e)?e.map(function(e){return parseFloat(e)}):e})),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach(function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach(function(e){var i=n[e],a=i.map(function(e){return Array.isArray(e)?e.map(function(e){return\"string\"==typeof e?parseFloat(e):e}):\"string\"==typeof e?parseFloat(e):e});r[t][e]=a})}),t.numericRefinements=r}return s({},e,t)},a.make=function(e){var t=new a(e),n=e.hierarchicalFacets||[];return n.forEach(function(e){if(e.rootPath){var n=t.getHierarchicalRefinement(e.name);n.length>0&&0!==n[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),n=t.getHierarchicalRefinement(e.name),0===n.length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}}),t},a.validate=function(e,t){var n=t||{};return e.tagFilters&&n.tagRefinements&&n.tagRefinements.length>0?new Error(\"[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method.\"):e.tagRefinements.length>0&&n.tagFilters?new Error(\"[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method.\"):e.numericFilters&&n.numericRefinements&&h(n.numericRefinements)?new Error(\"[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters.\"):h(e.numericRefinements)&&n.numericFilters?new Error(\"[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters.\"):null},a.prototype={constructor:a,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:p.clearRefinement(this.facetsRefinements,e,\"conjunctiveFacet\"),facetsExcludes:p.clearRefinement(this.facetsExcludes,e,\"exclude\"),disjunctiveFacetsRefinements:p.clearRefinement(this.disjunctiveFacetsRefinements,e,\"disjunctiveFacet\"),hierarchicalFacetsRefinements:p.clearRefinement(this.hierarchicalFacetsRefinements,e,\"hierarchicalFacet\")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,n){var r=l(n);if(this.isNumericRefined(e,t,r))return this;var i=s({},this.numericRefinements);return i[e]=s({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(r)):i[e][t]=[r],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)?this.facetsRefinements[e]||[]:[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)?this.disjunctiveFacetsRefinements[e]||[]:[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)?this.facetsExcludes[e]||[]:[]},removeNumericRefinement:function(e,t,n){return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(i,a){return a===e&&i.op===t&&r(i.val,l(n))})}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(n,r){return r===e&&n.op===t})}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(t,n){return n===e})}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return h(this.numericRefinements)?{}:this.numericRefinements;if(\"string\"==typeof e)return f(this.numericRefinements,[e]);if(\"function\"==typeof e){var t=!1,n=this.numericRefinements,r=Object.keys(n).reduce(function(r,i){var a=n[i],s={};return a=a||{},Object.keys(a).forEach(function(n){var r=a[n]||[],o=[];r.forEach(function(t){var r=e({val:t,op:n},i,\"numeric\");r||o.push(t)}),o.length!==r.length&&(t=!0),s[n]=o}),r[i]=s,r},{});return t?r:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error(\"Cannot declare two hierarchical facets with the same name: `\"+e.name+\"`\");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return p.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:p.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return p.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:p.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+\" is not defined in the disjunctiveFacets attribute of the helper configuration\");return p.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:p.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter(function(t){return t!==e})}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter(function(t){return t!==e})}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter(function(t){return t.name!==e})}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return p.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:p.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return p.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:p.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+\" is not defined in the disjunctiveFacets attribute of the helper configuration\");return p.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:p.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter(function(t){\nreturn t!==e})};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error(\"Cannot refine the undeclared facet \"+e+\"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets\")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return this.setQueryParameters({facetsRefinements:p.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+\" is not defined in the facets attribute of the helper configuration\");return this.setQueryParameters({facetsExcludes:p.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+\" is not defined in the disjunctiveFacets attribute of the helper configuration\");return this.setQueryParameters({disjunctiveFacetsRefinements:p.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+\" is not defined in the hierarchicalFacets attribute of the helper configuration\");var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),r={},i=void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+n));return i?t.indexOf(n)===-1?r[e]=[]:r[e]=[t.slice(0,t.lastIndexOf(n))]:r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:o({},r,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+\" is already refined.\");if(!this.isHierarchicalFacet(e))throw new Error(e+\" is not defined in the hierarchicalFacets attribute of the helper configuration.\");var n={};return n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:o({},n,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:o({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&p.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&p.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&p.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var n=this.getHierarchicalRefinement(e);return t?n.indexOf(t)!==-1:n.length>0},isNumericRefined:function(e,t,n){if(void 0===n&&void 0===t)return!!this.numericRefinements[e];var r=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===n||!r)return r;var a=l(n),s=void 0!==i(this.numericRefinements[e][t],a);return r&&s},isTagRefined:function(e){return this.tagRefinements.indexOf(e)!==-1},getRefinedDisjunctiveFacets:function(){var e=this,t=c(Object.keys(this.numericRefinements).filter(function(t){return Object.keys(e.numericRefinements[t]).length>0}),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter(function(t){return e.disjunctiveFacetsRefinements[t].length>0}).concat(t).concat(this.getRefinedHierarchicalFacets())},getRefinedHierarchicalFacets:function(){var e=this;return c(this.hierarchicalFacets.map(function(e){return e.name}),Object.keys(this.hierarchicalFacetsRefinements).filter(function(t){return e.hierarchicalFacetsRefinements[t].length>0}))},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter(function(t){return e.indexOf(t)===-1})},managedParameters:[\"index\",\"facets\",\"disjunctiveFacets\",\"facetsRefinements\",\"hierarchicalFacets\",\"facetsExcludes\",\"disjunctiveFacetsRefinements\",\"numericRefinements\",\"tagRefinements\",\"hierarchicalFacetsRefinements\"],getQueryParams:function(){var e=this.managedParameters,t={},n=this;return Object.keys(this).forEach(function(r){var i=n[r];e.indexOf(r)===-1&&void 0!==i&&(t[r]=i)}),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var n={};return n[e]=t,this.setQueryParameters(n)},setQueryParameters:function(e){if(!e)return this;var t=a.validate(this,e);if(t)throw t;var n=this,r=a._parseNumbers(e),i=Object.keys(this).reduce(function(e,t){return e[t]=n[t],e},{}),s=Object.keys(r).reduce(function(e,t){var n=void 0!==e[t],i=void 0!==r[t];return n&&!i?f(e,[t]):(i&&(e[t]=r[t]),e)},i);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||[\"isRefined:desc\",\"name:asc\"]},_getHierarchicalFacetSeparator:function(e){return e.separator||\" > \"},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return\"boolean\"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return u(this.hierarchicalFacets,function(t){return t.name===e})},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),r=t.split(n);return r.map(function(e){return e.trim()})},toString:function(){return JSON.stringify(this,null,2)}},e.exports=a},function(e,t){\"use strict\";function n(e){return\"object\"==typeof e&&null!==e?i(Array.isArray(e)?[]:{},e):e}function r(e){return\"function\"==typeof e||Array.isArray(e)||\"[object Object]\"===Object.prototype.toString.call(e)}function i(e,t){if(e===t)return e;for(var a in t)if(Object.prototype.hasOwnProperty.call(t,a)&&\"__proto__\"!==a){var s=t[a],o=e[a];\"undefined\"!=typeof o&&\"undefined\"==typeof s||(r(o)&&r(s)?e[a]=i(o,s):e[a]=n(s))}return e}function a(e){r(e)||(e={});for(var t=1,n=arguments.length;t<n;t++){var a=arguments[t];r(a)&&i(e,a)}return e}e.exports=a},function(e,t){\"use strict\";e.exports=function(){var e=Array.prototype.slice.call(arguments);return e.reduceRight(function(e,t){return Object.keys(Object(t)).forEach(function(n){void 0!==t[n]&&(void 0!==e[n]&&delete e[n],e[n]=t[n])}),e},{})}},function(e,t){\"use strict\";function n(e,t){return e.filter(function(n,r){return t.indexOf(n)>-1&&e.indexOf(n)===r})}e.exports=n},function(e,t){\"use strict\";e.exports=function(e,t){if(Array.isArray(e))for(var n=0;n<e.length;n++)if(t(e[n]))return e[n]}},function(e,t){\"use strict\";function n(e){if(\"number\"==typeof e)return e;if(\"string\"==typeof e)return parseFloat(e);if(Array.isArray(e))return e.map(n);throw new Error(\"The value should be a number, a parsable string or an array of those.\")}e.exports=n},function(e,t){\"use strict\";function n(e,t){if(null===e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}e.exports=n},function(e,t){\"use strict\";function n(e){return e&&Object.keys(e).length>0}e.exports=n},function(e,t){\"use strict\";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},function(e,t,n){\"use strict\";var r=n(8),i=n(12),a=n(13),s={addRefinement:function(e,t,n){if(s.isRefined(e,t,n))return e;var i=\"\"+n,a=e[t]?e[t].concat(i):[i],o={};return o[t]=a,r({},o,e)},removeRefinement:function(e,t,n){if(void 0===n)return s.clearRefinement(e,function(e,n){return t===n});var r=\"\"+n;return s.clearRefinement(e,function(e,n){return t===n&&r===e})},toggleRefinement:function(e,t,n){if(void 0===n)throw new Error(\"toggleRefinement should be used with a value\");return s.isRefined(e,t,n)?s.removeRefinement(e,t,n):s.addRefinement(e,t,n)},clearRefinement:function(e,t,n){if(void 0===t)return a(e)?{}:e;if(\"string\"==typeof t)return i(e,[t]);if(\"function\"==typeof t){var r=!1,s=Object.keys(e).reduce(function(i,a){var s=e[a]||[],o=s.filter(function(e){return!t(e,a,n)});return o.length!==s.length&&(r=!0),i[a]=o,i},{});return r?s:e}},isRefined:function(e,t,n){var r=!!e[t]&&e[t].length>0;if(void 0===n||!r)return r;var i=\"\"+n;return e[t].indexOf(i)!==-1}};e.exports=s},function(e,t,n){\"use strict\";function r(e){var t={};return e.forEach(function(e,n){t[e]=n}),t}function i(e,t,n){t&&t[n]&&(e.stats=t[n])}function a(e,t){return b(e,function(e){var n=e.attributes||[];return n.indexOf(t)>-1})}function s(e,t,n){var s=t[0];this._rawResults=t;var o=this;Object.keys(s).forEach(function(e){o[e]=s[e]}),Object.keys(n||{}).forEach(function(e){o[e]=n[e]}),this.processingTimeMS=t.reduce(function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS},0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map(function(){return[]}),this.facets=[];var c=e.getRefinedDisjunctiveFacets(),u=r(e.facets),l=r(e.disjunctiveFacets),f=1,h=s.facets||{};Object.keys(h).forEach(function(t){var n=h[t],r=a(e.hierarchicalFacets,t);if(r){var c=r.attributes.indexOf(t),f=w(e.hierarchicalFacets,function(e){return e.name===r.name});o.hierarchicalFacets[f][c]={attribute:t,data:n,exhaustive:s.exhaustiveFacetsCount}}else{var d,p=e.disjunctiveFacets.indexOf(t)!==-1,m=e.facets.indexOf(t)!==-1;p&&(d=l[t],o.disjunctiveFacets[d]={name:t,data:n,exhaustive:s.exhaustiveFacetsCount},i(o.disjunctiveFacets[d],s.facets_stats,t)),m&&(d=u[t],o.facets[d]={name:t,data:n,exhaustive:s.exhaustiveFacetsCount},i(o.facets[d],s.facets_stats,t))}}),this.hierarchicalFacets=y(this.hierarchicalFacets),c.forEach(function(n){var r=t[f],a=r&&r.facets?r.facets:{},c=e.getHierarchicalFacetByName(n);Object.keys(a).forEach(function(t){var n,u=a[t];if(c){n=w(e.hierarchicalFacets,function(e){return e.name===c.name});var f=w(o.hierarchicalFacets[n],function(e){return e.attribute===t});if(f===-1)return;o.hierarchicalFacets[n][f].data=m({},o.hierarchicalFacets[n][f].data,u)}else{n=l[t];var h=s.facets&&s.facets[t]||{};o.disjunctiveFacets[n]={name:t,data:g({},u,h),exhaustive:r.exhaustiveFacetsCount},i(o.disjunctiveFacets[n],r.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach(function(r){!o.disjunctiveFacets[n].data[r]&&e.disjunctiveFacetsRefinements[t].indexOf(P(r))>-1&&(o.disjunctiveFacets[n].data[r]=0)})}}),f++}),e.getRefinedHierarchicalFacets().forEach(function(n){var r=e.getHierarchicalFacetByName(n),i=e._getHierarchicalFacetSeparator(r),a=e.getHierarchicalRefinement(n);if(!(0===a.length||a[0].split(i).length<2)){var s=t[f],c=s&&s.facets?s.facets:{};Object.keys(c).forEach(function(t){var n=c[t],s=w(e.hierarchicalFacets,function(e){return e.name===r.name}),u=w(o.hierarchicalFacets[s],function(e){return e.attribute===t});if(u!==-1){var l={};if(a.length>0){var f=a[0].split(i)[0];l[f]=o.hierarchicalFacets[s][u].data[f]}o.hierarchicalFacets[s][u].data=g(l,n,o.hierarchicalFacets[s][u].data)}}),f++}}),Object.keys(e.facetsExcludes).forEach(function(t){var n=e.facetsExcludes[t],r=u[t];o.facets[r]={name:t,data:s.facets[t],exhaustive:s.exhaustiveFacetsCount},n.forEach(function(e){o.facets[r]=o.facets[r]||{name:t},o.facets[r].data=o.facets[r].data||{},o.facets[r].data[e]=0})}),this.hierarchicalFacets=this.hierarchicalFacets.map(x(e)),this.facets=y(this.facets),this.disjunctiveFacets=y(this.disjunctiveFacets),this._state=e}function o(e,t){function n(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var r=b(e.facets,n);return r?Object.keys(r.data).map(function(n){var i=_(n);return{name:n,escapedValue:i,count:r.data[n],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,n)}}):[]}if(e._state.isDisjunctiveFacet(t)){var i=b(e.disjunctiveFacets,n);return i?Object.keys(i.data).map(function(n){var r=_(n);return{name:n,escapedValue:r,count:i.data[n],isRefined:e._state.isDisjunctiveFacetRefined(t,r)}}):[]}if(e._state.isHierarchicalFacet(t))return b(e.hierarchicalFacets,n)}function c(e,t,n,r){if(r=r||0,Array.isArray(t))return e(t,n[r]);if(!t.data||0===t.data.length)return t;var i=t.data.map(function(t){return c(e,t,n,r+1)}),a=e(i,n[r]),s=g({data:a},t);return s}function u(e,t){return t.sort(e)}function l(e,t){var n=[],r=[],i=t.order||[],a=i.reduce(function(e,t,n){return e[t]=n,e},{});e.forEach(function(e){var t=e.path||e.name;void 0!==a[t]?n[a[t]]=e:r.push(e)}),n=n.filter(function(e){return e});var s,o=t.sortRemainingBy;return\"hidden\"===o?n:(s=\"alpha\"===o?[[\"path\",\"name\"],[\"asc\",\"asc\"]]:[[\"count\"],[\"desc\"]],n.concat(v(r,s[0],s[1])))}function f(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}function h(e,t){var n=b(e,function(e){return e.name===t});return n&&n.stats}function d(e,t,n,r,i){var a=b(i,function(e){return e.name===n}),s=a&&a.data&&a.data[r]?a.data[r]:0,o=a&&a.exhaustive||!1;return{type:t,attributeName:n,name:r,count:s,exhaustive:o}}function p(e,t,n,r){var i=e.getHierarchicalFacetByName(t),a=e._getHierarchicalFacetSeparator(i),s=n.split(a),o=b(r,function(e){return e.name===t}),c=s.reduce(function(e,t){var n=e&&b(e.data,function(e){return e.name===t});return void 0!==n?n:e},o),u=c&&c.count||0,l=c&&c.exhaustive||!1,f=c&&c.path||\"\";return{type:\"hierarchical\",attributeName:t,name:f,count:u,exhaustive:l}}var m=n(7),g=n(8),v=n(17),y=n(18),b=n(10),w=n(19),S=n(20),R=n(21),_=R.escapeFacetValue,P=R.unescapeFacetValue,x=n(22);s.prototype.getFacetByName=function(e){function t(t){return t.name===e}return b(this.facets,t)||b(this.disjunctiveFacets,t)||b(this.hierarchicalFacets,t)},s.DEFAULT_SORT=[\"isRefined:desc\",\"count:desc\",\"name:asc\"],s.prototype.getFacetValues=function(e,t){var n=o(this,e);if(n){var r,i=g({},t,{sortBy:s.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;if(Array.isArray(n))r=[e];else{var h=a._state.getHierarchicalFacetByName(n.name);r=h.attributes}return c(function(e,t){if(i.facetOrdering){var n=f(a,t);if(Boolean(n))return l(e,n)}if(Array.isArray(i.sortBy)){var r=S(i.sortBy,s.DEFAULT_SORT);return v(e,r[0],r[1])}if(\"function\"==typeof i.sortBy)return u(i.sortBy,e);throw new Error(\"options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function\")},n,r)}},s.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?h(this.facets,e):this._state.isDisjunctiveFacet(e)?h(this.disjunctiveFacets,e):void 0},s.prototype.getRefinements=function(){var e=this._state,t=this,n=[];return Object.keys(e.facetsRefinements).forEach(function(r){e.facetsRefinements[r].forEach(function(i){n.push(d(e,\"facet\",r,i,t.facets))})}),Object.keys(e.facetsExcludes).forEach(function(r){e.facetsExcludes[r].forEach(function(i){n.push(d(e,\"exclude\",r,i,t.facets))})}),Object.keys(e.disjunctiveFacetsRefinements).forEach(function(r){e.disjunctiveFacetsRefinements[r].forEach(function(i){n.push(d(e,\"disjunctive\",r,i,t.disjunctiveFacets))})}),Object.keys(e.hierarchicalFacetsRefinements).forEach(function(r){e.hierarchicalFacetsRefinements[r].forEach(function(i){n.push(p(e,r,i,t.hierarchicalFacets))})}),Object.keys(e.numericRefinements).forEach(function(t){var r=e.numericRefinements[t];Object.keys(r).forEach(function(e){r[e].forEach(function(r){n.push({type:\"numeric\",attributeName:t,name:r,numericValue:r,operator:e})})})}),e.tagRefinements.forEach(function(e){n.push({type:\"tag\",attributeName:\"_tags\",name:e})}),n},e.exports=s},function(e,t){\"use strict\";function n(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=void 0!==t,a=null===t;if(!a&&e>t||r&&i||!n)return 1;if(!r&&e<t||a&&n||!i)return-1}return 0}function r(e,t,r){if(!Array.isArray(e))return[];Array.isArray(r)||(r=[]);var i=e.map(function(e,n){return{criteria:t.map(function(t){return e[t]}),index:n,value:e}});return i.sort(function(e,t){for(var i=-1;++i<e.criteria.length;){var a=n(e.criteria[i],t.criteria[i]);if(a)return i>=r.length?a:\"desc\"===r[i]?-a:a}return e.index-t.index}),i.map(function(e){return e.value})}e.exports=r},function(e,t){\"use strict\";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},function(e,t){\"use strict\";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}},function(e,t,n){\"use strict\";var r=n(10);e.exports=function(e,t){var n=(t||[]).map(function(e){return e.split(\":\")});return e.reduce(function(e,t){var i=t.split(\":\"),a=r(n,function(e){return e[0]===i[0]});return i.length>1||!a?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(a[0]),e[1].push(a[1]),e)},[[],[]])}},function(e,t){\"use strict\";function n(e){return\"string\"!=typeof e?e:String(e).replace(/^-/,\"\\\\-\")}function r(e){return\"string\"!=typeof e?e:e.replace(/^\\\\-/,\"-\")}e.exports={escapeFacetValue:n,unescapeFacetValue:r}},function(e,t,n){\"use strict\";function r(e){return function(t,n){var r=e.hierarchicalFacets[n],a=e.hierarchicalFacetsRefinements[r.name]&&e.hierarchicalFacetsRefinements[r.name][0]||\"\",s=e._getHierarchicalFacetSeparator(r),o=e._getHierarchicalRootPath(r),c=e._getHierarchicalShowParentLevel(r),l=u(e._getHierarchicalFacetSortBy(r)),f=t.every(function(e){return e.exhaustive}),h=i(l,s,o,c,a),d=t;return o&&(d=t.slice(o.split(s).length)),d.reduce(h,{name:e.hierarchicalFacets[n].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:f,data:null})}}function i(e,t,n,r,i){return function(u,l,f){var d=u;if(f>0){var p=0;for(d=u;p<f;){var m=d&&Array.isArray(d.data)?d.data:[];d=c(m,function(e){return e.isRefined}),p++}}if(d){var g=Object.keys(l.data).map(function(e){return[e,l.data[e]]}).filter(function(e){var s=e[0];return a(s,d.path||n,i,t,n,r)});d.data=o(g.map(function(e){var n=e[0],r=e[1];return s(r,n,t,h(i),l.exhaustive)}),e[0],e[1])}return u}}function a(e,t,n,r,i,a){return(!i||0===e.indexOf(i)&&i!==e)&&(!i&&e.indexOf(r)===-1||i&&e.split(r).length-i.split(r).length===1||e.indexOf(r)===-1&&n.indexOf(r)===-1||0===n.indexOf(e)||0===e.indexOf(t+r)&&(a||0===e.indexOf(n)))}function s(e,t,n,r,i){var a=t.split(n);return{name:a[a.length-1].trim(),path:t,escapedValue:f(t),count:e,isRefined:r===t||0===r.indexOf(t+n),exhaustive:i,data:null}}e.exports=r;var o=n(17),c=n(10),u=n(20),l=n(21),f=l.escapeFacetValue,h=l.unescapeFacetValue},function(e,t,n){\"use strict\";function r(e,t){this.main=e,this.fn=t,this.lastResults=null}var i=n(24),a=n(25);a(r,i),r.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},r.prototype.getModifiedState=function(e){return this.fn(e)},e.exports=r},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return\"function\"==typeof e}function i(e){return\"number\"==typeof e}function a(e){return\"object\"==typeof e&&null!==e}function s(e){return void 0===e}e.exports=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError(\"n must be a positive number\");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,o,c,u;if(this._events||(this._events={}),\"error\"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var l=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw l.context=t,l}if(n=this._events[e],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:o=Array.prototype.slice.call(arguments,1),n.apply(this,o)}else if(a(n))for(o=Array.prototype.slice.call(arguments,1),u=n.slice(),i=u.length,c=0;c<i;c++)u[c].apply(this,o);return!0},n.prototype.addListener=function(e,t){var i;if(!r(t))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(i=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,i&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[e].length),\"function\"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError(\"listener must be a function\");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,s,o;if(!r(t))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit(\"removeListener\",e,t);else if(a(n)){for(o=s;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){i=o;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit(\"removeListener\",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)\"removeListener\"!==t&&this.removeAllListeners(t);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t){\"use strict\";function n(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}e.exports=n},function(e,t,n){\"use strict\";var r=n(7),i={_getQueries:function(e,t){var n=[];return n.push({indexName:e,params:i._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach(function(r){n.push({indexName:e,params:i._getDisjunctiveFacetSearchParams(t,r)})}),t.getRefinedHierarchicalFacets().forEach(function(r){var a=t.getHierarchicalFacetByName(r),s=t.getHierarchicalRefinement(r),o=t._getHierarchicalFacetSeparator(a);s.length>0&&s[0].split(o).length>1&&n.push({indexName:e,params:i._getDisjunctiveFacetSearchParams(t,r,!0)})}),n},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(i._getHitsHierarchicalFacetsAttributes(e)),n=i._getFacetFilters(e),a=i._getNumericFilters(e),s=i._getTagFilters(e),o={facets:t.indexOf(\"*\")>-1?[\"*\"]:t,tagFilters:s};return n.length>0&&(o.facetFilters=n),a.length>0&&(o.numericFilters=a),r({},e.getQueryParams(),o)},_getDisjunctiveFacetSearchParams:function(e,t,n){var a=i._getFacetFilters(e,t,n),s=i._getNumericFilters(e,t),o=i._getTagFilters(e),c={hitsPerPage:1,page:0,attributesToRetrieve:[],attributesToHighlight:[],attributesToSnippet:[],tagFilters:o,analytics:!1,clickAnalytics:!1},u=e.getHierarchicalFacetByName(t);return u?c.facets=i._getDisjunctiveHierarchicalFacetAttribute(e,u,n):c.facets=t,s.length>0&&(c.numericFilters=s),a.length>0&&(c.facetFilters=a),r({},e.getQueryParams(),c)},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var n=[];return Object.keys(e.numericRefinements).forEach(function(r){var i=e.numericRefinements[r]||{};Object.keys(i).forEach(function(e){var a=i[e]||[];t!==r&&a.forEach(function(t){if(Array.isArray(t)){var i=t.map(function(t){return r+e+t});n.push(i)}else n.push(r+e+t)})})}),n},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(\",\")},_getFacetFilters:function(e,t,n){var r=[],i=e.facetsRefinements||{};Object.keys(i).forEach(function(e){var t=i[e]||[];t.forEach(function(t){r.push(e+\":\"+t)})});var a=e.facetsExcludes||{};Object.keys(a).forEach(function(e){var t=a[e]||[];t.forEach(function(t){r.push(e+\":-\"+t)})});var s=e.disjunctiveFacetsRefinements||{};Object.keys(s).forEach(function(e){var n=s[e]||[];if(e!==t&&n&&0!==n.length){var i=[];n.forEach(function(t){i.push(e+\":\"+t)}),r.push(i)}});var o=e.hierarchicalFacetsRefinements||{};return Object.keys(o).forEach(function(i){var a=o[i]||[],s=a[0];if(void 0!==s){var c,u,l=e.getHierarchicalFacetByName(i),f=e._getHierarchicalFacetSeparator(l),h=e._getHierarchicalRootPath(l);if(t===i){if(s.indexOf(f)===-1||!h&&n===!0||h&&h.split(f).length===s.split(f).length)return;h?(u=h.split(f).length-1,s=h):(u=s.split(f).length-2,s=s.slice(0,s.lastIndexOf(f))),c=l.attributes[u]}else u=s.split(f).length-1,c=l.attributes[u];c&&r.push([c+\":\"+s])}}),r},_getHitsHierarchicalFacetsAttributes:function(e){var t=[];return e.hierarchicalFacets.reduce(function(t,n){var r=e.getHierarchicalRefinement(n.name)[0];if(!r)return t.push(n.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(n),a=r.split(i).length,s=n.attributes.slice(0,a+1);return t.concat(s)},t)},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,n){var r=e._getHierarchicalFacetSeparator(t);if(n===!0){var i=e._getHierarchicalRootPath(t),a=0;return i&&(a=i.split(r).length),[t.attributes[a]]}var s=e.getHierarchicalRefinement(t.name)[0]||\"\",o=s.split(r).length-1;return t.attributes.slice(0,o+1)},getSearchForFacetQuery:function(e,t,n,a){var s=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,o={facetQuery:t,facetName:e};return\"number\"==typeof n&&(o.maxFacetHits=n),r({},i._getHitsSearchParams(s),o)}};e.exports=i},function(e,t){\"use strict\";e.exports=\"3.8.2\"},function(e,t,n){var r=n(29);r.Template=n(30).Template,r.template=r.Template,e.exports=r},function(e,t,n){!function(e){function t(e){\"}\"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function n(e){return e.trim?e.trim():e.replace(/^\\s*|\\s*$/g,\"\")}function r(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r<i;r++)if(t.charAt(n+r)!=e.charAt(r))return!1;return!0}function i(t,n,r,o){var c=[],u=null,l=null,f=null;for(l=r[r.length-1];t.length>0;){if(f=t.shift(),l&&\"<\"==l.tag&&!(f.tag in S))throw new Error(\"Illegal content in < super tag.\");if(e.tags[f.tag]<=e.tags.$||a(f,o))r.push(f),f.nodes=i(t,f.tag,r,o);else{if(\"/\"==f.tag){if(0===r.length)throw new Error(\"Closing tag without opener: /\"+f.n);if(u=r.pop(),f.n!=u.n&&!s(f.n,u.n,o))throw new Error(\"Nesting error: \"+u.n+\" vs. \"+f.n);return u.end=f.i,c}\"\\n\"==f.tag&&(f.last=0==t.length||\"\\n\"==t[0].tag)}c.push(f)}if(r.length>0)throw new Error(\"missing closing tag: \"+r.pop().n);return c}function a(e,t){for(var n=0,r=t.length;n<r;n++)if(t[n].o==e.n)return e.tag=\"#\",!0}function s(e,t,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==e&&n[r].o==t)return!0}function o(e){var t=[];for(var n in e)t.push('\"'+u(n)+'\": function(c,p,t,i) {'+e[n]+\"}\");return\"{ \"+t.join(\",\")+\" }\"}function c(e){var t=[];for(var n in e.partials)t.push('\"'+u(n)+'\":{name:\"'+u(e.partials[n].name)+'\", '+c(e.partials[n])+\"}\");return\"partials: {\"+t.join(\",\")+\"}, subs: \"+o(e.subs)}function u(e){return e.replace(y,\"\\\\\\\\\").replace(m,'\\\\\"').replace(g,\"\\\\n\").replace(v,\"\\\\r\").replace(b,\"\\\\u2028\").replace(w,\"\\\\u2029\")}function l(e){return~e.indexOf(\".\")?\"d\":\"f\"}function f(e,t){var n=\"<\"+(t.prefix||\"\"),r=n+e.n+R++;return t.partials[r]={name:e.n,partials:{}},t.code+='t.b(t.rp(\"'+u(r)+'\",c,p,\"'+(e.indent||\"\")+'\"));',r}function h(e,t){t.code+=\"t.b(t.t(t.\"+l(e.n)+'(\"'+u(e.n)+'\",c,p,0)));'}function d(e){return\"t.b(\"+e+\");\"}var p=/\\S/,m=/\\\"/g,g=/\\n/g,v=/\\r/g,y=/\\\\/g,b=/\\u2028/,w=/\\u2029/;e.tags={\"#\":1,\"^\":2,\"<\":3,$:4,\"/\":5,\"!\":6,\">\":7,\"=\":8,_v:9,\"{\":10,\"&\":11,_t:12},e.scan=function(i,a){function s(){y.length>0&&(b.push({tag:\"_t\",text:new String(y)}),y=\"\")}function o(){for(var t=!0,n=R;n<b.length;n++)if(t=e.tags[b[n].tag]<e.tags._v||\"_t\"==b[n].tag&&null===b[n].text.match(p),!t)return!1;return t}function c(e,t){if(s(),e&&o())for(var n,r=R;r<b.length;r++)b[r].text&&((n=b[r+1])&&\">\"==n.tag&&(n.indent=b[r].text.toString()),b.splice(r,1));else t||b.push({tag:\"\\n\"});w=!1,R=b.length}function u(e,t){var r=\"=\"+P,i=e.indexOf(r,t),a=n(e.substring(e.indexOf(\"=\",t)+1,i)).split(\" \");return _=a[0],P=a[a.length-1],i+r.length-1}var l=i.length,f=0,h=1,d=2,m=f,g=null,v=null,y=\"\",b=[],w=!1,S=0,R=0,_=\"{{\",P=\"}}\";for(a&&(a=a.split(\" \"),_=a[0],P=a[1]),S=0;S<l;S++)m==f?r(_,i,S)?(--S,s(),m=h):\"\\n\"==i.charAt(S)?c(w):y+=i.charAt(S):m==h?(S+=_.length-1,v=e.tags[i.charAt(S+1)],g=v?i.charAt(S+1):\"_v\",\"=\"==g?(S=u(i,S),m=f):(v&&S++,m=d),w=S):r(P,i,S)?(b.push({tag:g,n:n(y),otag:_,ctag:P,i:\"/\"==g?w-_.length:S+P.length}),y=\"\",S+=P.length-1,m=f,\"{\"==g&&(\"}}\"==P?S++:t(b[b.length-1]))):y+=i.charAt(S);return c(w,!0),b};var S={_t:!0,\"\\n\":!0,$:!0,\"/\":!0};e.stringify=function(t,n,r){return\"{code: function (c,p,i) { \"+e.wrapMain(t.code)+\" },\"+c(t)+\"}\"};var R=0;e.generate=function(t,n,r){R=0;var i={code:\"\",subs:{},partials:{}};return e.walk(t,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},e.wrapMain=function(e){return'var t=this;t.b(i=i||\"\");'+e+\"return t.fl();\"},e.template=e.Template,e.makeTemplate=function(e,t,n){var r=this.makePartials(e);return r.code=new Function(\"c\",\"p\",\"i\",this.wrapMain(e.code)),new this.template(r,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function(\"c\",\"p\",\"t\",\"i\",e.subs[t]);return n},e.codegen={\"#\":function(t,n){n.code+=\"if(t.s(t.\"+l(t.n)+'(\"'+u(t.n)+'\",c,p,1),c,p,0,'+t.i+\",\"+t.end+',\"'+t.otag+\" \"+t.ctag+'\")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+=\"});c.pop();}\"},\"^\":function(t,n){n.code+=\"if(!t.s(t.\"+l(t.n)+'(\"'+u(t.n)+'\",c,p,1),c,p,1,0,0,\"\")){',e.walk(t.nodes,n),n.code+=\"};\"},\">\":f,\"<\":function(t,n){var r={partials:{},code:\"\",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[f(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:\"\",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub(\"'+u(t.n)+'\",c,p,i);')},\"\\n\":function(e,t){t.code+=d('\"\\\\n\"'+(e.last?\"\":\" + i\"))},_v:function(e,t){t.code+=\"t.b(t.v(t.\"+l(e.n)+'(\"'+u(e.n)+'\",c,p,0)));'},_t:function(e,t){t.code+=d('\"'+u(e.text)+'\"')},\"{\":h,\"&\":h},e.walk=function(t,n){for(var r,i=0,a=t.length;i<a;i++)r=e.codegen[t[i].tag],r&&r(t[i],n);return n},e.parse=function(e,t,n){return n=n||{},i(e,\"\",[],n.sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join(\"||\")},e.compile=function(t,n){n=n||{};var r=e.cacheKey(t,n),i=this.cache[r];if(i){var a=i.partials;for(var s in a)delete a[s].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[r]=i}}(t)},function(e,t,n){!function(e){function t(e,t,n){var r;return t&&\"object\"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&\"function\"==typeof t.get&&(r=t.get(e))),r}function n(e,t,n,r,i,a){function s(){}function o(){}s.prototype=e,o.prototype=e.subs;var c,u=new s;u.subs=new o,u.subsText={},u.buf=\"\",r=r||{},u.stackSubs=r,u.subsText=a;for(c in t)r[c]||(r[c]=t[c]);for(c in r)u.subs[c]=r[c];i=i||{},u.stackPartials=i;for(c in n)i[c]||(i[c]=n[c]);\nfor(c in i)u.partials[c]=i[c];return u}function r(e){return String(null===e||void 0===e?\"\":e)}function i(e){return e=r(e),l.test(e)?e.replace(a,\"&amp;\").replace(s,\"&lt;\").replace(o,\"&gt;\").replace(c,\"&#39;\").replace(u,\"&quot;\"):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||\"\",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=\"\"},e.Template.prototype={r:function(e,t,n){return\"\"},v:i,t:r,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(\"string\"==typeof i){if(!this.c)throw new Error(\"No compiler available.\");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,r.subs){t.stackText||(t.stackText={});for(key in r.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=n(i,r.subs,r.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):\"\"},rs:function(e,t,n){var r=e[e.length-1];if(!f(r))return void n(e,t,this);for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop()},s:function(e,t,n,r,i,a,s){var o;return(!f(e)||0!==e.length)&&(\"function\"==typeof e&&(e=this.ms(e,t,n,r,i,a,s)),o=!!e,!r&&o&&t&&t.push(\"object\"==typeof e?e:t[t.length-1]),o)},d:function(e,n,r,i){var a,s=e.split(\".\"),o=this.f(s[0],n,r,i),c=this.options.modelGet,u=null;if(\".\"===e&&f(n[n.length-2]))o=n[n.length-1];else for(var l=1;l<s.length;l++)a=t(s[l],o,c),void 0!==a?(u=o,o=a):o=\"\";return!(i&&!o)&&(i||\"function\"!=typeof o||(n.push(u),o=this.mv(o,n,r),n.pop()),o)},f:function(e,n,r,i){for(var a=!1,s=null,o=!1,c=this.options.modelGet,u=n.length-1;u>=0;u--)if(s=n[u],a=t(e,s,c),void 0!==a){o=!0;break}return o?(i||\"function\"!=typeof a||(a=this.mv(a,n,r)),a):!i&&\"\"},ls:function(e,t,n,i,a){var s=this.options.delimiters;return this.options.delimiters=a,this.b(this.ct(r(e.call(t,i)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error(\"Lambda features disabled.\");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf=\"\",e},ms:function(e,t,n,r,i,a,s){var o,c=t[t.length-1],u=e.call(c);return\"function\"==typeof u?!!r||(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(u,c,n,o.substring(i,a),s)):u},mv:function(e,t,n){var i=t[t.length-1],a=e.call(i);return\"function\"==typeof a?this.ct(r(a.call(i)),i,n):a},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var a=/&/g,s=/</g,o=/>/g,c=/\\'/g,u=/\\\"/g,l=/[&<>\\\"\\']/,f=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}}(t)},function(e,t,n){!function(e,n){n(t)}(this,function(e){\"use strict\";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function s(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,i,a=[],s=!0,o=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(o)throw i}}return a}}(e,t)||u(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function u(e,t){if(e){if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e){return{current:e}}function h(e,t){var n=void 0;return function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];n&&clearTimeout(n),n=setTimeout(function(){return e.apply(void 0,i)},t)}}function d(e){return e.reduce(function(e,t){return e.concat(t)},[])}function p(){return\"autocomplete-\".concat(qt++)}function m(e,t){return t.reduce(function(e,t){return e&&e[t]},e)}function g(e){return 0===e.collections.length?0:e.collections.reduce(function(e,t){return e+t.items.length},0)}function v(e,t){var n=t;return{then:function(t,r){return v(e.then(b(t,n,e),b(r,n,e)),n)},catch:function(t){return v(e.catch(b(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),v(e.finally(b(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach(function(e){e()})},isCanceled:function(){return!0===n.isCanceled}}}function y(e){return v(e,{isCanceled:!1,onCancelList:[]})}function b(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function w(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var i=(null===t?-1:t)+e;return i<=-1||i>=n?null===r?null:0:i}function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t){var n=[];return Promise.resolve(e(t)).then(function(e){return Promise.all(e.filter(function(e){return Boolean(e)}).map(function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(e.sourceId),\" is not unique.\"));n.push(e.sourceId);var t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach(function(t){R(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:Bt},e);return Promise.resolve(t)}))})}function P(e){var t=function(e){var t=e.collections.map(function(e){return e.items.length}).reduce(function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e},[]).reduce(function(t,n){return n<=e.activeItemId?t+1:t},0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,i=0,a=0;!1===r;){var s=t.collections[i];if(s===n){r=!0;break}a+=s.items.length,i++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach(function(t){O(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e,t,n){var r,i=t.initialState;return{getState:function(){return i},dispatch:function(r,a){var s=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach(function(t){F(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},i);i=e(i,{type:r,props:t,payload:a}),n({state:i,prevState:s})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally(function(){r=r.filter(function(t){return t!==e})})},cancelAll:function(){r.forEach(function(e){return e.cancel()})},isEmpty:function(){return 0===r.length}})}}function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?E(Object(n),!0).forEach(function(t){C(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach(function(t){H(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function H(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach(function(t){B(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W(e){return function(e){if(Array.isArray(e))return Q(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return Q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Q(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach(function(t){$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function z(e){return Boolean(e.execute)}function K(e,t){return n=e,Boolean(null==n?void 0:n.execute)?V(V({},e),{},{requests:e.queries.map(function(n){return{query:n,sourceId:t,transformResponse:e.transformResponse}})}):{items:e,sourceId:t};var n}function J(e){var t=e.reduce(function(e,t){if(!z(t))return e.push(t),e;var n=t.searchClient,r=t.execute,i=t.requesterId,a=t.requests,s=e.find(function(e){return z(t)&&z(e)&&e.searchClient===n&&Boolean(i)&&e.requesterId===i});if(s){var o;(o=s.items).push.apply(o,W(a))}else{var c={execute:r,requesterId:i,items:a,searchClient:n};e.push(c)}return e},[]).map(function(e){if(!z(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})});return Promise.all(t).then(function(e){return d(e)})}function X(e,t){return t.map(function(t){var n=e.filter(function(e){return e.sourceId===t.sourceId}),r=n.map(function(e){return e.items}),i=n[0].transformResponse,a=i?i(function(e){var t=e.map(function(e){var t;return j(j({},e),{},{hits:null===(t=e.hits)||void 0===t?void 0:t.map(function(t){return j(j({},t),{},{__autocomplete_indexName:e.index,__autocomplete_queryID:e.queryID})})})});return{results:t,hits:t.map(function(e){return e.hits}).filter(Boolean),facetHits:t.map(function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map(function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}})}).filter(Boolean)}}(r)):r;return a.every(Boolean),'The `getItems` function from source \"'.concat(t.sourceId,'\" must return an array of items but returned ').concat(JSON.stringify(void 0),\".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"),{source:t,items:a}})}function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach(function(t){Z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ee(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function te(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,i=e.props,a=e.query,s=e.refresh,o=e.store,c=ee(e,Vt);$t&&i.environment.clearTimeout($t);var u=c.setCollections,l=c.setIsOpen,f=c.setQuery,h=c.setActiveItemId,p=c.setStatus;if(f(a),h(i.defaultActiveItemId),!a&&!1===i.openOnFocus){var m,g=o.getState().collections.map(function(e){return Y(Y({},e),{},{items:[]})});p(\"idle\"),u(g),l(null!==(m=r.isOpen)&&void 0!==m?m:i.shouldPanelOpen({state:o.getState()}));var v=y(zt(g).then(function(){return Promise.resolve()}));return o.pendingRequests.add(v)}p(\"loading\"),$t=i.environment.setTimeout(function(){p(\"stalled\")},i.stallThreshold);var b=y(zt(i.getSources(Y({query:a,refresh:s,state:o.getState()},c)).then(function(e){return Promise.all(e.map(function(e){return Promise.resolve(e.getItems(Y({query:a,refresh:s,state:o.getState()},c))).then(function(t){return K(t,e.sourceId)})})).then(J).then(function(t){return X(t,e)}).then(function(e){return function(e){var t=e.collections,n=e.props,r=e.state,i=t.reduce(function(e,t){return q(q({},e),{},B({},t.source.sourceId,q(q({},t.source),{},{getItems:function(){return d(t.items)}})))},{});return d(n.reshape({sources:Object.values(i),sourcesBySourceId:i,state:r})).filter(Boolean).map(function(e){return{source:e,items:e.getItems()}})}({collections:e,props:i,state:o.getState()})})}))).then(function(e){var n;p(\"idle\"),u(e);var f=i.shouldPanelOpen({state:o.getState()});l(null!==(n=r.isOpen)&&void 0!==n?n:i.openOnFocus&&!a&&f||f);var h=P(o.getState());if(null!==o.getState().activeItemId&&h){var d=h.item,m=h.itemInputValue,g=h.itemUrl,v=h.source;v.onActive(Y({event:t,item:d,itemInputValue:m,itemUrl:g,refresh:s,source:v,state:o.getState()},c))}}).finally(function(){p(\"idle\"),$t&&i.environment.clearTimeout($t)});return o.pendingRequests.add(b)}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach(function(t){ie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ae(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function oe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?se(Object(n),!0).forEach(function(t){ce(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):se(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ue(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function le(e){var t=e.props,n=e.refresh,r=e.store,i=ue(e,Jt);return{getEnvironmentProps:function(e){function n(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===i||!1===[a,s].some(function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r})&&(r.dispatch(\"blur\",null),t.debug||r.pendingRequests.cancelAll())}var i=e.inputElement,a=e.formElement,s=e.panelElement;return oe({onTouchStart:n,onMouseDown:n,onTouchMove:function(e){!1!==r.getState().isOpen&&i===t.environment.document.activeElement&&e.target!==i&&i.blur()}},ue(e,Xt))},getRootProps:function(e){return oe({role:\"combobox\",\"aria-expanded\":r.getState().isOpen,\"aria-haspopup\":\"listbox\",\"aria-owns\":r.getState().isOpen?\"\".concat(t.id,\"-list\"):void 0,\"aria-labelledby\":\"\".concat(t.id,\"-label\")},e)},getFormProps:function(e){return e.inputElement,oe({action:\"\",noValidate:!0,role:\"search\",onSubmit:function(a){var s;a.preventDefault(),t.onSubmit(oe({event:a,refresh:n,state:r.getState()},i)),r.dispatch(\"submit\",null),null===(s=e.inputElement)||void 0===s||s.blur()},onReset:function(a){var s;a.preventDefault(),t.onReset(oe({event:a,refresh:n,state:r.getState()},i)),r.dispatch(\"reset\",null),null===(s=e.inputElement)||void 0===s||s.focus()}},ue(e,Gt))},getLabelProps:function(e){return oe({htmlFor:\"\".concat(t.id,\"-input\"),id:\"\".concat(t.id,\"-label\")},e)},getInputProps:function(e){function a(e){(t.openOnFocus||Boolean(r.getState().query))&&te(oe({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},i)),r.dispatch(\"focus\",null)}var s,o=e||{};o.inputElement;var c=o.maxLength,u=void 0===c?512:c,l=ue(o,Yt),f=P(r.getState()),h=function(e){return Boolean(e&&e.match(Ut))}((null===(s=t.environment.navigator)||void 0===s?void 0:s.userAgent)||\"\"),d=null!=f&&f.itemUrl&&!h?\"go\":\"search\";return oe({\"aria-autocomplete\":\"both\",\"aria-activedescendant\":r.getState().isOpen&&null!==r.getState().activeItemId?\"\".concat(t.id,\"-item-\").concat(r.getState().activeItemId):void 0,\"aria-controls\":r.getState().isOpen?\"\".concat(t.id,\"-list\"):void 0,\"aria-labelledby\":\"\".concat(t.id,\"-label\"),value:r.getState().completion||r.getState().query,id:\"\".concat(t.id,\"-input\"),autoComplete:\"off\",autoCorrect:\"off\",autoCapitalize:\"off\",enterKeyHint:d,spellCheck:\"false\",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:u,type:\"search\",onChange:function(e){te(oe({event:e,props:t,query:e.currentTarget.value.slice(0,u),refresh:n,store:r},i))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,i=e.store,a=ae(e,Kt);if(\"ArrowUp\"===t.key||\"ArrowDown\"===t.key){var s=function(){var e=n.environment.document.getElementById(\"\".concat(n.id,\"-item-\").concat(i.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},o=function(){var e=P(i.getState());if(null!==i.getState().activeItemId&&e){var n=e.item,s=e.itemInputValue,o=e.itemUrl,c=e.source;c.onActive(re({event:t,item:n,itemInputValue:s,itemUrl:o,refresh:r,source:c,state:i.getState()},a))}};t.preventDefault(),!1===i.getState().isOpen&&(n.openOnFocus||Boolean(i.getState().query))?te(re({event:t,props:n,query:i.getState().query,refresh:r,store:i},a)).then(function(){i.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),o(),setTimeout(s,0)}):(i.dispatch(t.key,{}),o(),s())}else if(\"Escape\"===t.key)t.preventDefault(),i.dispatch(t.key,null),i.pendingRequests.cancelAll();else if(\"Tab\"===t.key)i.dispatch(\"blur\",null),i.pendingRequests.cancelAll();else if(\"Enter\"===t.key){if(null===i.getState().activeItemId||i.getState().collections.every(function(e){return 0===e.items.length}))return void(n.debug||i.pendingRequests.cancelAll());t.preventDefault();var c=P(i.getState()),u=c.item,l=c.itemInputValue,f=c.itemUrl,h=c.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(h.onSelect(re({event:t,item:u,itemInputValue:l,itemUrl:f,refresh:r,source:h,state:i.getState()},a)),n.navigator.navigateNewTab({itemUrl:f,item:u,state:i.getState()}));else if(t.shiftKey)void 0!==f&&(h.onSelect(re({event:t,item:u,itemInputValue:l,itemUrl:f,refresh:r,source:h,state:i.getState()},a)),n.navigator.navigateNewWindow({itemUrl:f,item:u,state:i.getState()}));else if(t.altKey);else{if(void 0!==f)return h.onSelect(re({event:t,item:u,itemInputValue:l,itemUrl:f,refresh:r,source:h,state:i.getState()},a)),void n.navigator.navigate({itemUrl:f,item:u,state:i.getState()});te(re({event:t,nextState:{isOpen:!1},props:n,query:l,refresh:r,store:i},a)).then(function(){h.onSelect(re({event:t,item:u,itemInputValue:l,itemUrl:f,refresh:r,source:h,state:i.getState()},a))})}}}(oe({event:e,props:t,refresh:n,store:r},i))},onFocus:a,onBlur:Bt,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||a(n)}},l)},getPanelProps:function(e){return oe({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch(\"mouseleave\",null)}},e)},getListProps:function(e){return oe({role:\"listbox\",\"aria-labelledby\":\"\".concat(t.id,\"-label\"),id:\"\".concat(t.id,\"-list\")},e)},getItemProps:function(e){var a=e.item,s=e.source,o=ue(e,Zt);return oe({id:\"\".concat(t.id,\"-item-\").concat(a.__autocomplete_id),role:\"option\",\"aria-selected\":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch(\"mousemove\",a.__autocomplete_id);var t=P(r.getState());if(null!==r.getState().activeItemId&&t){var s=t.item,o=t.itemInputValue,c=t.itemUrl,u=t.source;u.onActive(oe({event:e,item:s,itemInputValue:o,itemUrl:c,refresh:n,source:u,state:r.getState()},i))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var o=s.getItemInputValue({item:a,state:r.getState()}),c=s.getItemUrl({item:a,state:r.getState()});(c?Promise.resolve():te(oe({event:e,nextState:{isOpen:!1},props:t,query:o,refresh:n,store:r},i))).then(function(){s.onSelect(oe({event:e,item:a,itemInputValue:o,itemUrl:c,refresh:n,source:s,state:r.getState()},i))})}},o)}}}function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fe(Object(n),!0).forEach(function(t){de(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function de(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pe(e){var t,n,r,i,a=e.plugins,s=e.options,o=null===(t=((null===(n=s.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,c=o?de({},o,Object.keys((null===(r=s.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map(function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}}),options:he({\"autocomplete-core\":Object.keys(s)},c),ua:Qt.concat((null===(i=s.__autocomplete_metadata)||void 0===i?void 0:i.userAgents)||[])}}function me(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=P(n))||void 0===t?void 0:t.itemInputValue)||null}function ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ve(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ge(Object(n),!0).forEach(function(t){ye(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ge(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function we(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?be(Object(n),!0).forEach(function(t){Se(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):be(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Re(e){function t(){return te(we({event:new Event(\"input\"),nextState:{isOpen:i.getState().isOpen},props:r,query:i.getState().query,refresh:t,store:i},a))}var n=[],r=function(e,t){var n,r=\"undefined\"!=typeof window?window:{},i=e.plugins||[];return L(L({debug:!1,openOnFocus:!1,placeholder:\"\",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,environment:r,shouldPanelOpen:function(e){return g(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:p(),plugins:i,initialState:L({activeItemId:null,query:\"\",completion:null,collections:[],isOpen:!1,status:\"idle\",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),i.forEach(function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)})},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),i.forEach(function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)})},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),i.forEach(function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)})},getSources:function(n){return Promise.all([].concat(k(i.map(function(e){return e.getSources})),[e.getSources]).filter(Boolean).map(function(e){return _(e,n)})).then(function(e){return d(e)}).then(function(e){return e.map(function(e){return L(L({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach(function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)})},onActive:function(n){e.onActive(n),t.forEach(function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)})}})})})},navigator:L({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,\"_blank\",\"noopener\");\nnull==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,\"_blank\",\"noopener\")}},e.navigator)})}(e,n),i=I(en,r,function(e){var n=e.prevState,i=e.state;r.onStateChange(we({prevState:n,state:i,refresh:t},a))}),a=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch(\"setActiveItemId\",e)},setQuery:function(e){t.dispatch(\"setQuery\",e)},setCollections:function(e){var n=0,r=e.map(function(e){return T(T({},e),{},{items:d(e.items).map(function(e){return T(T({},e),{},{__autocomplete_id:n++})})})});t.dispatch(\"setCollections\",r)},setIsOpen:function(e){t.dispatch(\"setIsOpen\",e)},setStatus:function(e){t.dispatch(\"setStatus\",e)},setContext:function(e){t.dispatch(\"setContext\",e)}}}({store:i}),s=le(we({props:r,refresh:t,store:i},a));return r.plugins.forEach(function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,we(we({},a),{},{refresh:t,onSelect:function(e){n.push({onSelect:e})},onActive:function(e){n.push({onActive:e})}}))}),function(e){var t,n,r=e.metadata,i=e.environment;if(null===(t=i.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes(\"Algolia Crawler\")){var a=i.document.createElement(\"meta\"),s=i.document.querySelector(\"head\");a.name=\"algolia:metadata\",setTimeout(function(){a.content=JSON.stringify(r),s.appendChild(a)},0)}}({metadata:pe({plugins:r.plugins,options:e}),environment:r.environment}),we(we({refresh:t},s),a)}function _e(e){var t=nn.get(this);return t||(t=new Map,nn.set(this,t)),(t=tn(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,i=\"\",a=\"\",s=[0],o=function(e){1===r&&(e||(i=i.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?s.push(0,e,i):3===r&&(e||i)?(s.push(3,e,i),r=2):2===r&&\"...\"===i&&e?s.push(4,e,0):2===r&&i&&!e?s.push(5,0,!0,i):r>=5&&((i||!e&&5===r)&&(s.push(r,0,i,n),r=6),e&&(s.push(r,e,0,n),r=6)),i=\"\"},c=0;c<e.length;c++){c&&(1===r&&o(),o(c));for(var u=0;u<e[c].length;u++)t=e[c][u],1===r?\"<\"===t?(o(),s=[s],r=3):i+=t:4===r?\"--\"===i&&\">\"===t?(r=1,i=\"\"):i=t+i[0]:a?t===a?a=\"\":i+=t:'\"'===t||\"'\"===t?a=t:\">\"===t?(o(),r=1):r&&(\"=\"===t?(r=5,n=i,i=\"\"):\"/\"===t&&(r<5||\">\"===e[c][u+1])?(o(),3===r&&(s=s[0]),r=s,(s=s[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(o(),r=2):i+=t),3===r&&\"!--\"===i&&(r=4,s=s[0])}return o(),s}(e)),t),arguments,[])).length>1?t:t[0]}function Pe(e,t){if(\"string\"==typeof t){var n=e.document.querySelector(t);return\"The element \".concat(JSON.stringify(t),\" is not in the document.\"),n}return t}function xe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return Object.keys(t).forEach(function(n){var r=e[n],i=t[n];r!==i&&(e[n]=[r,i].filter(Boolean).join(\" \"))}),e},{})}function je(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return Object.keys(t).forEach(function(n){var r=e[n],i=t[n];Array.isArray(r)&&Array.isArray(i)?e[n]=r.concat.apply(r,c(i)):an(r)&&an(i)?e[n]=je(r,i):e[n]=i}),e},{})}function Oe(e,t){return Object.entries(e).reduce(function(e,r){var a=o(r,2),s=a[0],c=a[1];return t({key:s,value:c})?n(n({},e),{},i({},s,c)):e},{})}function Ne(e,t,n){e[t]=null===n?\"\":\"number\"!=typeof n?n:n+\"px\"}function Fe(e){this._listeners[e.type](e)}function Ie(e,t,n){var r,i,a=e[t];if(\"style\"===t)if(\"string\"==typeof n)e.style=n;else if(null===n)e.style=\"\";else for(t in n)a&&n[t]===a[t]||Ne(e.style,t,n[t]);else\"o\"===t[0]&&\"n\"===t[1]?(r=t!==(t=t.replace(/Capture$/,\"\")),((i=t.toLowerCase())in e||sn.includes(i))&&(t=i),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,Fe,r):e.removeEventListener(t,Fe,r)):\"list\"!==t&&\"tagName\"!==t&&\"form\"!==t&&\"type\"!==t&&\"size\"!==t&&\"download\"!==t&&\"href\"!==t&&t in e?e[t]=null==n?\"\":n:\"function\"!=typeof n&&\"dangerouslySetInnerHTML\"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Ee(e){return\"onChange\"===e?\"onInput\":e}function Te(e,t){for(var n in t)Ie(e,Ee(n),t[n])}function Ce(e,t){for(var n in t)\"o\"===n[0]&&\"n\"===n[1]||Ie(e,Ee(n),t[n])}function ke(e){return function(t,n){var r=n.children,i=void 0===r?[]:r,a=s(n,on),o=e.document.createElement(t);return Te(o,a),o.append.apply(o,c(i)),o}}function Ae(e){var t=e.autocomplete,r=e.autocompleteScopeApi,i=e.classNames,a=e.environment,o=e.isDetached,c=e.placeholder,u=void 0===c?\"Search\":c,l=e.propGetters,f=e.setIsModalOpen,h=e.state,d=e.translations,p=ke(a),m=l.getRootProps(n({state:h,props:t.getRootProps({})},r)),g=p(\"div\",n({class:i.root},m)),v=p(\"div\",{class:i.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),y=p(\"div\",{class:i.detachedOverlay,children:[v],onMouseDown:function(){f(!1),t.setIsOpen(!1)}}),b=l.getLabelProps(n({state:h,props:t.getLabelProps({})},r)),w=p(\"button\",{class:i.submitButton,type:\"submit\",title:d.submitButtonTitle,children:[ln({environment:a})]}),S=p(\"label\",n({class:i.label,children:[w]},b)),R=p(\"button\",{class:i.clearButton,type:\"reset\",title:d.clearButtonTitle,children:[rn({environment:a})]}),_=p(\"div\",{class:i.loadingIndicator,children:[un({environment:a})]}),P=function(e){var t=e.autocompleteScopeApi,r=e.environment;e.classNames;var i=e.getInputProps,a=e.getInputPropsCore,o=e.isDetached,c=e.state,u=s(e,cn),l=ke(r)(\"input\",u),f=i(n({state:c,props:a({inputElement:l}),inputElement:l},t));return Te(l,n(n({},f),{},{onKeyDown:function(e){o&&\"Tab\"===e.key||f.onKeyDown(e)}})),l}({class:i.input,environment:a,state:h,getInputProps:l.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:r,isDetached:o}),x=p(\"div\",{class:i.inputWrapperPrefix,children:[S,_]}),j=p(\"div\",{class:i.inputWrapperSuffix,children:[R]}),O=p(\"div\",{class:i.inputWrapper,children:[P]}),N=l.getFormProps(n({state:h,props:t.getFormProps({inputElement:P})},r)),F=p(\"form\",n({class:i.form,children:[x,O,j]},N)),I=l.getPanelProps(n({state:h,props:t.getPanelProps({})},r)),E=p(\"div\",n({class:i.panel},I));if(o){var T=p(\"div\",{class:i.detachedSearchButtonIcon,children:[ln({environment:a})]}),C=p(\"div\",{class:i.detachedSearchButtonPlaceholder,textContent:u}),k=p(\"button\",{type:\"button\",class:i.detachedSearchButton,onClick:function(){f(!0)},children:[T,C]}),A=p(\"button\",{type:\"button\",class:i.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),f(!1)}}),D=p(\"div\",{class:i.detachedFormContainer,children:[F,A]});v.appendChild(D),g.appendChild(k)}else g.appendChild(F);return{detachedContainer:v,detachedOverlay:y,inputWrapper:O,input:P,root:g,form:F,label:S,submitButton:w,clearButton:R,loadingIndicator:_,panel:E}}function De(e,t){for(var n in t)e[n]=t[n];return e}function Le(e){var t=e.parentNode;t&&t.removeChild(e)}function He(e,t,n){var r,i,a,s={};for(a in t)\"key\"==a?r=t[a]:\"ref\"==a?i=t[a]:s[a]=t[a];if(arguments.length>2&&(s.children=arguments.length>3?kt.call(arguments,2):n),\"function\"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===s[a]&&(s[a]=e.defaultProps[a]);return Me(e,s,r,i,null)}function Me(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==i?++Dt:i};return null==i&&null!=At.vnode&&At.vnode(a),a}function qe(e){return e.children}function Be(e,t){this.props=e,this.context=t}function We(e,t){if(null==t)return e.__?We(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return\"function\"==typeof e.type?We(e):null}function Qe(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Qe(e)}}function Ue(e){(!e.__d&&(e.__d=!0)&&Lt.push(e)&&!Ve.__r++||Mt!==At.debounceRendering)&&((Mt=At.debounceRendering)||Ht)(Ve)}function Ve(){for(var e;Ve.__r=Lt.length;)e=Lt.sort(function(e,t){return e.__v.__b-t.__v.__b}),Lt=[],e.some(function(e){var t,n,r,i,a,s;e.__d&&(a=(i=(t=e).__v).__e,(s=t.__P)&&(n=[],(r=De({},i)).__v=i.__v+1,Ze(s,i,r,t.__n,void 0!==s.ownerSVGElement,null!=i.__h?[a]:null,n,null==a?We(i):a,i.__h),et(n,i),i.__e!=a&&Qe(i)))})}function $e(e,t,n,r,i,a,s,o,c,u){var l,f,h,d,p,m,g,v=r&&r.__k||hn,y=v.length;for(n.__k=[],l=0;l<t.length;l++)if(null!=(d=n.__k[l]=null==(d=t[l])||\"boolean\"==typeof d?null:\"string\"==typeof d||\"number\"==typeof d||\"bigint\"==typeof d?Me(null,d,null,null,d):Array.isArray(d)?Me(qe,{children:d},null,null,null):d.__b>0?Me(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(h=v[l])||h&&d.key==h.key&&d.type===h.type)v[l]=void 0;else for(f=0;f<y;f++){if((h=v[f])&&d.key==h.key&&d.type===h.type){v[f]=void 0;break}h=null}Ze(e,d,h=h||fn,i,a,s,o,c,u),p=d.__e,(f=d.ref)&&h.ref!=f&&(g||(g=[]),h.ref&&g.push(h.ref,null,d),g.push(f,d.__c||p,d)),null!=p?(null==m&&(m=p),\"function\"==typeof d.type&&d.__k===h.__k?d.__d=c=ze(d,c,e):c=Ke(e,d,h,v,p,c),\"function\"==typeof n.type&&(n.__d=c)):c&&h.__e==c&&c.parentNode!=e&&(c=We(h))}for(n.__e=m,l=y;l--;)null!=v[l]&&(\"function\"==typeof n.type&&null!=v[l].__e&&v[l].__e==n.__d&&(n.__d=We(r,l+1)),rt(v[l],v[l]));if(g)for(l=0;l<g.length;l++)nt(g[l],g[++l],g[++l])}function ze(e,t,n){for(var r,i=e.__k,a=0;i&&a<i.length;a++)(r=i[a])&&(r.__=e,t=\"function\"==typeof r.type?ze(r,t,n):Ke(n,r,r,i,r.__e,t));return t}function Ke(e,t,n,r,i,a){var s,o,c;if(void 0!==t.__d)s=t.__d,t.__d=void 0;else if(null==n||i!=a||null==i.parentNode)e:if(null==a||a.parentNode!==e)e.appendChild(i),s=null;else{for(o=a,c=0;(o=o.nextSibling)&&c<r.length;c+=2)if(o==i)break e;e.insertBefore(i,a),s=a}return void 0!==s?s:i.nextSibling}function Je(e,t,n){\"-\"===t[0]?e.setProperty(t,n):e[t]=null==n?\"\":\"number\"!=typeof n||dn.test(t)?n:n+\"px\"}function Xe(e,t,n,r,i){var a;e:if(\"style\"===t)if(\"string\"==typeof n)e.style.cssText=n;else{if(\"string\"==typeof r&&(e.style.cssText=r=\"\"),r)for(t in r)n&&t in n||Je(e.style,t,\"\");if(n)for(t in n)r&&n[t]===r[t]||Je(e.style,t,n[t])}else if(\"o\"===t[0]&&\"n\"===t[1])a=t!==(t=t.replace(/Capture$/,\"\")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r||e.addEventListener(t,a?Ye:Ge,a):e.removeEventListener(t,a?Ye:Ge,a);else if(\"dangerouslySetInnerHTML\"!==t){if(i)t=t.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==t&&\"list\"!==t&&\"form\"!==t&&\"tabIndex\"!==t&&\"download\"!==t&&t in e)try{e[t]=null==n?\"\":n;break e}catch(e){}\"function\"==typeof n||(null!=n&&(!1!==n||\"a\"===t[0]&&\"r\"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function Ge(e){this.l[e.type+!1](At.event?At.event(e):e)}function Ye(e){this.l[e.type+!0](At.event?At.event(e):e)}function Ze(e,t,n,r,i,a,s,o,c){var u,l,f,h,d,p,m,g,v,y,b,w=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,o=t.__e=n.__e,t.__h=null,a=[o]),(u=At.__b)&&u(t);try{e:if(\"function\"==typeof w){if(g=t.props,v=(u=w.contextType)&&r[u.__c],y=u?v?v.props.value:u.__:r,n.__c?m=(l=t.__c=n.__c).__=l.__E:(\"prototype\"in w&&w.prototype.render?t.__c=l=new w(g,y):(t.__c=l=new Be(g,y),l.constructor=w,l.render=it),v&&v.sub(l),l.props=g,l.state||(l.state={}),l.context=y,l.__n=r,f=l.__d=!0,l.__h=[]),null==l.__s&&(l.__s=l.state),null!=w.getDerivedStateFromProps&&(l.__s==l.state&&(l.__s=De({},l.__s)),De(l.__s,w.getDerivedStateFromProps(g,l.__s))),h=l.props,d=l.state,f)null==w.getDerivedStateFromProps&&null!=l.componentWillMount&&l.componentWillMount(),null!=l.componentDidMount&&l.__h.push(l.componentDidMount);else{if(null==w.getDerivedStateFromProps&&g!==h&&null!=l.componentWillReceiveProps&&l.componentWillReceiveProps(g,y),!l.__e&&null!=l.shouldComponentUpdate&&!1===l.shouldComponentUpdate(g,l.__s,y)||t.__v===n.__v){l.props=g,l.state=l.__s,t.__v!==n.__v&&(l.__d=!1),l.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(e){e&&(e.__=t)}),l.__h.length&&s.push(l);break e}null!=l.componentWillUpdate&&l.componentWillUpdate(g,l.__s,y),null!=l.componentDidUpdate&&l.__h.push(function(){l.componentDidUpdate(h,d,p)})}l.context=y,l.props=g,l.state=l.__s,(u=At.__r)&&u(t),l.__d=!1,l.__v=t,l.__P=e,u=l.render(l.props,l.state,l.context),l.state=l.__s,null!=l.getChildContext&&(r=De(De({},r),l.getChildContext())),f||null==l.getSnapshotBeforeUpdate||(p=l.getSnapshotBeforeUpdate(h,d)),b=null!=u&&u.type===qe&&null==u.key?u.props.children:u,$e(e,Array.isArray(b)?b:[b],t,n,r,i,a,s,o,c),l.base=t.__e,t.__h=null,l.__h.length&&s.push(l),m&&(l.__E=l.__=null),l.__e=!1}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=tt(n.__e,t,n,r,i,a,s,c);(u=At.diffed)&&u(t)}catch(e){t.__v=null,(c||null!=a)&&(t.__e=o,t.__h=!!c,a[a.indexOf(o)]=null),At.__e(e,t,n)}}function et(e,t){At.__c&&At.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){At.__e(e,t.__v)}})}function tt(e,t,n,r,i,a,s,o){var c,u,l,f=n.props,h=t.props,d=t.type,p=0;if(\"svg\"===d&&(i=!0),null!=a)for(;p<a.length;p++)if((c=a[p])&&\"setAttribute\"in c==!!d&&(d?c.localName===d:3===c.nodeType)){e=c,a[p]=null;break}if(null==e){if(null===d)return document.createTextNode(h);e=i?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,h.is&&h),a=null,o=!1}if(null===d)f===h||o&&e.data===h||(e.data=h);else{if(a=a&&kt.call(e.childNodes),u=(f=n.props||fn).dangerouslySetInnerHTML,l=h.dangerouslySetInnerHTML,!o){if(null!=a)for(f={},p=0;p<e.attributes.length;p++)f[e.attributes[p].name]=e.attributes[p].value;(l||u)&&(l&&(u&&l.__html==u.__html||l.__html===e.innerHTML)||(e.innerHTML=l&&l.__html||\"\"))}if(function(e,t,n,r,i){var a;for(a in n)\"children\"===a||\"key\"===a||a in t||Xe(e,a,null,n[a],r);for(a in t)i&&\"function\"!=typeof t[a]||\"children\"===a||\"key\"===a||\"value\"===a||\"checked\"===a||n[a]===t[a]||Xe(e,a,t[a],n[a],r)}(e,h,f,i,o),l)t.__k=[];else if(p=t.props.children,$e(e,Array.isArray(p)?p:[p],t,n,r,i&&\"foreignObject\"!==d,a,s,a?a[0]:n.__k&&We(n,0),o),null!=a)for(p=a.length;p--;)null!=a[p]&&Le(a[p]);o||(\"value\"in h&&void 0!==(p=h.value)&&(p!==f.value||p!==e.value||\"progress\"===d&&!p)&&Xe(e,\"value\",p,f.value,!1),\"checked\"in h&&void 0!==(p=h.checked)&&p!==e.checked&&Xe(e,\"checked\",p,f.checked,!1))}return e}function nt(e,t,n){try{\"function\"==typeof e?e(t):e.current=t}catch(e){At.__e(e,n)}}function rt(e,t,n){var r,i;if(At.unmount&&At.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||nt(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){At.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&rt(r[i],t,\"function\"!=typeof e.type);n||null==e.__e||Le(e.__e),e.__e=e.__d=void 0}function it(e,t,n){return this.constructor(e,n)}function at(e){var t=e.highlightedValue.split(pn),n=t.shift(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach(function(e){var t=e.split(mn);r.add({value:t[0],isHighlighted:!0}),\"\"!==t[1]&&r.add({value:t[1],isHighlighted:!1})}),r.get()}function st(e){return function(e){if(Array.isArray(e))return ot(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return ot(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ot(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ct(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],i=m(t,[\"_highlightResult\"].concat(st(r),[\"value\"]));return\"string\"!=typeof i&&(i=m(t,r)||\"\"),at({highlightedValue:i})}function ut(e,t){var n,r,i,a=e[t],s=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,o=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return vn.test((i=a.value)&&bn.test(i)?i.replace(yn,function(e){return gn[e]}):i)||o!==s?a.isHighlighted:o}function lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lt(Object(n),!0).forEach(function(t){ht(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ht(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dt(e){return e.some(function(e){return e.isHighlighted})?e.map(function(t,n){return ft(ft({},t),{},{isHighlighted:!ut(e,n)})}):e.map(function(e){return ft(ft({},e),{},{isHighlighted:!1})})}function pt(e){return function(e){if(Array.isArray(e))return mt(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return mt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mt(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function mt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function gt(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],i=m(t,[\"_snippetResult\"].concat(pt(r),[\"value\"]));return\"string\"!=typeof i&&(i=m(t,r)||\"\"),at({highlightedValue:i})}function vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vt(Object(n),!0).forEach(function(t){bt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function bt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function St(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wt(Object(n),!0).forEach(function(t){Rt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Rt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _t(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Pt(e){return function(e){if(Array.isArray(e))return xt(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return xt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xt(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function jt(e){function t(e){var t=e.hit,i=e.attribute,a=e.tagName,s=void 0===a?\"mark\":a;return n(r,{},ct({hit:t,attribute:i}).map(function(e,t){return e.isHighlighted?n(s,{key:t},e.value):e.value}))}var n=e.createElement,r=e.Fragment;return t.__autocomplete_componentName=\"Highlight\",t}function Ot(e){function t(e){var t,i=e.hit,a=e.attribute,s=e.tagName,o=void 0===s?\"mark\":s;return n(r,{},(t={hit:i,attribute:a},dt(ct(t))).map(function(e,t){return e.isHighlighted?n(o,{key:t},e.value):e.value}))}var n=e.createElement,r=e.Fragment;return t.__autocomplete_componentName=\"ReverseHighlight\",t}function Nt(e){function t(e){var t,i=e.hit,a=e.attribute,s=e.tagName,o=void 0===s?\"mark\":s;return n(r,{},(t={hit:i,attribute:a},dt(gt(t))).map(function(e,t){return e.isHighlighted?n(o,{key:t},e.value):e.value}))}var n=e.createElement,r=e.Fragment;return t.__autocomplete_componentName=\"ReverseSnippet\",t}function Ft(e){function t(e){var t=e.hit,i=e.attribute,a=e.tagName,s=void 0===a?\"mark\":a;return n(r,{},gt({hit:t,attribute:i}).map(function(e,t){return e.isHighlighted?n(s,{key:t},e.value):e.value}))}var n=e.createElement,r=e.Fragment;return t.__autocomplete_componentName=\"Snippet\",t}function It(e){var t=e.panelPlacement,n=e.container,r=e.form,i=e.environment,a=n.getBoundingClientRect(),s=(i.pageYOffset||i.document.documentElement.scrollTop||i.document.body.scrollTop||0)+a.top+a.height;switch(t){case\"start\":return{top:s,left:a.left};case\"end\":return{top:s,right:i.document.documentElement.clientWidth-(a.left+a.width)};case\"full-width\":return{top:s,left:0,right:0,width:\"unset\",maxWidth:\"unset\"};case\"input-wrapper-width\":var o=r.getBoundingClientRect();return{top:s,left:o.left,right:i.document.documentElement.clientWidth-(o.left+o.width),width:\"unset\",maxWidth:\"unset\"};default:throw new Error(\"[Autocomplete] The `panelPlacement` value \".concat(JSON.stringify(t),\" is not valid.\"))}}var Et,Tt,Ct,kt,At,Dt,Lt,Ht,Mt,qt=0,Bt=function(){},Wt=\"1.7.1\",Qt=[{segment:\"autocomplete-core\",version:Wt}],Ut=/((gt|sm)-|galaxy nexus)|samsung[- ]/i,Vt=[\"event\",\"nextState\",\"props\",\"query\",\"refresh\",\"store\"],$t=null,zt=(Et=-1,Tt=-1,Ct=void 0,function(e){var t=++Et;return Promise.resolve(e).then(function(e){return Ct&&t<Tt?Ct:(Tt=t,Ct=e,e)})}),Kt=[\"event\",\"props\",\"refresh\",\"store\"],Jt=[\"props\",\"refresh\",\"store\"],Xt=[\"inputElement\",\"formElement\",\"panelElement\"],Gt=[\"inputElement\"],Yt=[\"inputElement\",\"maxLength\"],Zt=[\"item\",\"source\"],en=function(e,t){switch(t.type){case\"setActiveItemId\":case\"mousemove\":return ve(ve({},e),{},{activeItemId:t.payload});case\"setQuery\":return ve(ve({},e),{},{query:t.payload,completion:null});case\"setCollections\":return ve(ve({},e),{},{collections:t.payload});case\"setIsOpen\":return ve(ve({},e),{},{isOpen:t.payload});case\"setStatus\":return ve(ve({},e),{},{status:t.payload});case\"setContext\":return ve(ve({},e),{},{context:ve(ve({},e.context),t.payload)});case\"ArrowDown\":var n=ve(ve({},e),{},{activeItemId:t.payload.hasOwnProperty(\"nextActiveItemId\")?t.payload.nextActiveItemId:w(1,e.activeItemId,g(e),t.props.defaultActiveItemId)});return ve(ve({},n),{},{completion:me({state:n})});case\"ArrowUp\":var r=ve(ve({},e),{},{activeItemId:w(-1,e.activeItemId,g(e),t.props.defaultActiveItemId)});return ve(ve({},r),{},{completion:me({state:r})});case\"Escape\":return e.isOpen?ve(ve({},e),{},{activeItemId:null,isOpen:!1,completion:null}):ve(ve({},e),{},{activeItemId:null,query:\"\",status:\"idle\",collections:[]});case\"submit\":return ve(ve({},e),{},{activeItemId:null,isOpen:!1,status:\"idle\"});case\"reset\":return ve(ve({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:\"idle\",query:\"\"});case\"focus\":return ve(ve({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case\"blur\":return t.props.debug?e:ve(ve({},e),{},{isOpen:!1,activeItemId:null});case\"mouseleave\":return ve(ve({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return\"The reducer action \".concat(JSON.stringify(t.type),\" is not supported.\"),e}},tn=function(e,t,n,r){var i;t[0]=0;for(var a=1;a<t.length;a++){var s=t[a++],o=t[a]?(t[0]|=s?1:2,n[t[a++]]):t[++a];3===s?r[0]=o:4===s?r[1]=Object.assign(r[1]||{},o):5===s?(r[1]=r[1]||{})[t[++a]]=o:6===s?r[1][t[++a]]+=o+\"\":s?(i=e.apply(o,tn(e,o,n,[\"\",null])),r.push(i),o[0]?t[0]|=2:(t[a-2]=0,t[a]=i)):r.push(o)}return r},nn=new Map,rn=function(e){var t=e.environment,n=t.document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");n.setAttribute(\"class\",\"aa-ClearIcon\"),n.setAttribute(\"viewBox\",\"0 0 24 24\"),n.setAttribute(\"width\",\"18\"),n.setAttribute(\"height\",\"18\"),n.setAttribute(\"fill\",\"currentColor\");var r=t.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");return r.setAttribute(\"d\",\"M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z\"),n.appendChild(r),n},an=function(e){return e&&\"object\"===r(e)&&\"[object Object]\"===Object.prototype.toString.call(e)},sn=[\"ontouchstart\",\"ontouchend\",\"ontouchmove\",\"ontouchcancel\"],on=[\"children\"],cn=[\"autocompleteScopeApi\",\"environment\",\"classNames\",\"getInputProps\",\"getInputPropsCore\",\"isDetached\",\"state\"],un=function(e){var t=e.environment.document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");return t.setAttribute(\"class\",\"aa-LoadingIcon\"),t.setAttribute(\"viewBox\",\"0 0 100 100\"),t.setAttribute(\"width\",\"20\"),t.setAttribute(\"height\",\"20\"),t.innerHTML='<circle\\n  cx=\"50\"\\n  cy=\"50\"\\n  fill=\"none\"\\n  r=\"35\"\\n  stroke=\"currentColor\"\\n  stroke-dasharray=\"164.93361431346415 56.97787143782138\"\\n  stroke-width=\"6\"\\n>\\n  <animateTransform\\n    attributeName=\"transform\"\\n    type=\"rotate\"\\n    repeatCount=\"indefinite\"\\n    dur=\"1s\"\\n    values=\"0 50 50;90 50 50;180 50 50;360 50 50\"\\n    keyTimes=\"0;0.40;0.65;1\"\\n  />\\n</circle>',t},ln=function(e){var t=e.environment,n=t.document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");n.setAttribute(\"class\",\"aa-SubmitIcon\"),n.setAttribute(\"viewBox\",\"0 0 24 24\"),n.setAttribute(\"width\",\"20\"),n.setAttribute(\"height\",\"20\"),n.setAttribute(\"fill\",\"currentColor\");var r=t.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");return r.setAttribute(\"d\",\"M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z\"),n.appendChild(r),n},fn={},hn=[],dn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;kt=hn.slice,At={__e:function(e,t){for(var n,r,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),i=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),i=n.__d),i)return n.__E=n}catch(t){e=t}throw e}},Dt=0,Be.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=De({},this.state),\"function\"==typeof e&&(e=e(De({},n),this.props)),e&&De(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),Ue(this))},Be.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ue(this))},Be.prototype.render=qe,Lt=[],Ht=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ve.__r=0;var pn=\"__aa-highlight__\",mn=\"__/aa-highlight__\",gn={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},vn=new RegExp(/\\w/i),yn=/&(amp|quot|lt|gt|#39);/g,bn=RegExp(yn.source),wn=[\"params\"],Sn=[\"classNames\",\"container\",\"getEnvironmentProps\",\"getFormProps\",\"getInputProps\",\"getItemProps\",\"getLabelProps\",\"getListProps\",\"getPanelProps\",\"getRootProps\",\"panelContainer\",\"panelPlacement\",\"render\",\"renderNoResults\",\"renderer\",\"detachedMediaQuery\",\"components\",\"translations\"],Rn={clearButton:\"aa-ClearButton\",detachedCancelButton:\"aa-DetachedCancelButton\",detachedContainer:\"aa-DetachedContainer\",detachedFormContainer:\"aa-DetachedFormContainer\",detachedOverlay:\"aa-DetachedOverlay\",detachedSearchButton:\"aa-DetachedSearchButton\",detachedSearchButtonIcon:\"aa-DetachedSearchButtonIcon\",detachedSearchButtonPlaceholder:\"aa-DetachedSearchButtonPlaceholder\",form:\"aa-Form\",input:\"aa-Input\",inputWrapper:\"aa-InputWrapper\",inputWrapperPrefix:\"aa-InputWrapperPrefix\",inputWrapperSuffix:\"aa-InputWrapperSuffix\",item:\"aa-Item\",label:\"aa-Label\",list:\"aa-List\",loadingIndicator:\"aa-LoadingIndicator\",panel:\"aa-Panel\",panelLayout:\"aa-PanelLayout aa-Panel--scrollable\",root:\"aa-Autocomplete\",source:\"aa-Source\",sourceFooter:\"aa-SourceFooter\",sourceHeader:\"aa-SourceHeader\",sourceNoResults:\"aa-SourceNoResults\",submitButton:\"aa-SubmitButton\"},_n=function(e,t){var n=e.children;(0,e.render)(n,t)},Pn={createElement:He,Fragment:qe,render:function(e,t,n){var r,i,a;At.__&&At.__(e,t),i=(r=\"function\"==typeof n)?null:n&&n.__k||t.__k,a=[],Ze(t,e=(!r&&n||t).__k=He(qe,null,[e]),i||fn,fn,void 0!==t.ownerSVGElement,!r&&n?[n]:i?null:t.firstChild?kt.call(t.childNodes):null,a,!r&&n?n:i?i.__e:t.firstChild,r),et(a,e)}},xn=[{segment:\"autocomplete-js\",version:Wt}],jn=[\"components\"],On=function(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map(function(e){return e.query})}).then(function(e){return e.map(function(e,n){var r=t.requests[n];return{items:e,sourceId:r.sourceId,transformResponse:r.transformResponse}})})}return function(e){return function(r){return yt(yt({requesterId:t,execute:n},e),r)}}}(function(e){return function(e){var t=e.searchClient,n=e.queries,r=e.userAgents,i=void 0===r?[]:r;return\"function\"==typeof t.addAlgoliaAgent&&[].concat(Pt(Qt),Pt(i)).forEach(function(e){var n=e.segment,r=e.version;t.addAlgoliaAgent(n,r)}),t.search(n.map(function(e){var t=e.params;return St(St({},_t(e,wn)),{},{params:St({hitsPerPage:5,highlightPreTag:pn,highlightPostTag:mn},t)})})).then(function(e){return e.results})}(n(n({},e),{},{userAgents:xn}))},\"algolia\"),Nn=On({transformResponse:function(e){return e.hits}});e.autocomplete=function(e){function t(){Te(E.value.panel,{style:x.value?{}:It({panelPlacement:P.value.renderer.panelPlacement,container:E.value.root,form:E.value.form,environment:P.value.core.environment})})}function r(e){O.current=e;var t={autocomplete:j.value,autocompleteScopeApi:F,classNames:P.value.renderer.classNames,components:P.value.renderer.components,container:P.value.renderer.container,html:I.value,dom:E.value,panelContainer:x.value?E.value.detachedContainer:P.value.renderer.panelContainer,propGetters:N,state:O.current,renderer:P.value.renderer.renderer},r=!g(e)&&!S.current&&P.value.renderer.renderNoResults||P.value.renderer.render;!function(e){var t=e.autocomplete,r=e.autocompleteScopeApi,i=e.dom,a=e.propGetters,s=e.state;Ce(i.root,a.getRootProps(n({state:s,props:t.getRootProps({})},r))),Ce(i.input,a.getInputProps(n({state:s,props:t.getInputProps({inputElement:i.input}),inputElement:i.input},r))),Te(i.label,{hidden:\"stalled\"===s.status}),Te(i.loadingIndicator,{hidden:\"stalled\"!==s.status}),Te(i.clearButton,{\nhidden:!s.query})}(t),function(e,t){var r=t.autocomplete,i=t.autocompleteScopeApi,s=t.classNames,o=t.html,c=t.dom,u=t.panelContainer,l=t.propGetters,f=t.state,h=t.components,d=t.renderer;if(f.isOpen){u.contains(c.panel)||\"loading\"===f.status||u.appendChild(c.panel),c.panel.classList.toggle(\"aa-Panel--stalled\",\"stalled\"===f.status);var p=f.collections.filter(function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0}).map(function(e,t){var c=e.source,u=e.items;return d.createElement(\"section\",{key:t,className:s.source,\"data-autocomplete-source-id\":c.sourceId},c.templates.header&&d.createElement(\"div\",{className:s.sourceHeader},c.templates.header({components:h,createElement:d.createElement,Fragment:d.Fragment,items:u,source:c,state:f,html:o})),c.templates.noResults&&0===u.length?d.createElement(\"div\",{className:s.sourceNoResults},c.templates.noResults({components:h,createElement:d.createElement,Fragment:d.Fragment,source:c,state:f,html:o})):d.createElement(\"ul\",a({className:s.list},l.getListProps(n({state:f,props:r.getListProps({})},i))),u.map(function(e){var t=r.getItemProps({item:e,source:c});return d.createElement(\"li\",a({key:t.id,className:s.item},l.getItemProps(n({state:f,props:t},i))),c.templates.item({components:h,createElement:d.createElement,Fragment:d.Fragment,item:e,state:f,html:o}))})),c.templates.footer&&d.createElement(\"div\",{className:s.sourceFooter},c.templates.footer({components:h,createElement:d.createElement,Fragment:d.Fragment,items:u,source:c,state:f,html:o})))}),m=d.createElement(d.Fragment,null,d.createElement(\"div\",{className:s.panelLayout},p),d.createElement(\"div\",{className:\"aa-GradientBottom\"})),g=p.reduce(function(e,t){return e[t.props[\"data-autocomplete-source-id\"]]=t,e},{});e(n(n({children:m,state:f,sections:p,elements:g},d),{},{components:h,html:o},i),c.panel)}else u.contains(c.panel)&&u.removeChild(c.panel)}(r,t)}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m();var t=P.value.renderer,n=t.components,i=s(t,jn);R.current=je(i,P.value.core,{components:Oe(n,function(e){return!e.value.hasOwnProperty(\"__autocomplete_componentName\")}),initialState:O.current},e),w(),v(),j.value.refresh().then(function(){r(O.current)})}function c(e){requestAnimationFrame(function(){var t=P.value.core.environment.document.body.contains(E.value.detachedOverlay);e!==t&&(e?(P.value.core.environment.document.body.appendChild(E.value.detachedOverlay),P.value.core.environment.document.body.classList.add(\"aa-Detached\"),E.value.input.focus()):(P.value.core.environment.document.body.removeChild(E.value.detachedOverlay),P.value.core.environment.document.body.classList.remove(\"aa-Detached\"),j.value.setQuery(\"\"),j.value.refresh()))})}var u,l=function(){function e(e){t.push(e);var r=e();n.push(r)}var t=[],n=[];return{runEffect:e,cleanupEffects:function(){var e=n;n=[],e.forEach(function(e){e()})},runEffects:function(){var n=t;t=[],n.forEach(function(t){e(t)})}}}(),d=l.runEffect,m=l.cleanupEffects,v=l.runEffects,y=(u=[],{reactive:function(e){var t=e(),n={_fn:e,_ref:{current:t},get value(){return this._ref.current},set value(e){this._ref.current=e}};return u.push(n),n},runReactives:function(){u.forEach(function(e){e._ref.current=e._fn()})}}),b=y.reactive,w=y.runReactives,S=f(!1),R=f(e),_=f(void 0),P=b(function(){return function(e){var t,r=e.classNames,i=e.container,a=e.getEnvironmentProps,o=e.getFormProps,c=e.getInputProps,u=e.getItemProps,l=e.getLabelProps,f=e.getListProps,h=e.getPanelProps,d=e.getRootProps,m=e.panelContainer,g=e.panelPlacement,v=e.render,y=e.renderNoResults,b=e.renderer,w=e.detachedMediaQuery,S=e.components,R=e.translations,_=s(e,Sn),P=\"undefined\"!=typeof window?window:{},x=Pe(P,i);x.tagName;var j=n(n({},Pn),b),O={Highlight:jt(j),ReverseHighlight:Ot(j),ReverseSnippet:Nt(j),Snippet:Ft(j)};return{renderer:{classNames:xe(Rn,null!=r?r:{}),container:x,getEnvironmentProps:null!=a?a:function(e){return e.props},getFormProps:null!=o?o:function(e){return e.props},getInputProps:null!=c?c:function(e){return e.props},getItemProps:null!=u?u:function(e){return e.props},getLabelProps:null!=l?l:function(e){return e.props},getListProps:null!=f?f:function(e){return e.props},getPanelProps:null!=h?h:function(e){return e.props},getRootProps:null!=d?d:function(e){return e.props},panelContainer:m?Pe(P,m):P.document.body,panelPlacement:null!=g?g:\"input-wrapper-width\",render:null!=v?v:_n,renderNoResults:y,renderer:j,detachedMediaQuery:null!=w?w:getComputedStyle(P.document.documentElement).getPropertyValue(\"--aa-detached-media-query\"),components:n(n({},O),S),translations:n(n({},{clearButtonTitle:\"Clear\",detachedCancelButtonText:\"Cancel\",submitButtonTitle:\"Submit\"}),R)},core:n(n({},_),{},{id:null!==(t=_.id)&&void 0!==t?t:p(),environment:P})}}(R.current)}),x=b(function(){return P.value.core.environment.matchMedia(P.value.renderer.detachedMediaQuery).matches}),j=b(function(){return Re(n(n({},P.value.core),{},{onStateChange:function(e){var t,n,r;S.current=e.state.collections.some(function(e){return e.source.templates.noResults}),null===(t=_.current)||void 0===t||t.call(_,e),null===(n=(r=P.value.core).onStateChange)||void 0===n||n.call(r,e)},shouldPanelOpen:R.current.shouldPanelOpen||function(e){var t=e.state;if(x.value)return!0;var n=g(t)>0;if(!P.value.core.openOnFocus&&!t.query)return n;var r=Boolean(S.current||P.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:xn,options:e}}))}),O=f(n({collections:[],completion:null,context:{},isOpen:!1,query:\"\",activeItemId:null,status:\"idle\"},P.value.core.initialState)),N={getEnvironmentProps:P.value.renderer.getEnvironmentProps,getFormProps:P.value.renderer.getFormProps,getInputProps:P.value.renderer.getInputProps,getItemProps:P.value.renderer.getItemProps,getLabelProps:P.value.renderer.getLabelProps,getListProps:P.value.renderer.getListProps,getPanelProps:P.value.renderer.getPanelProps,getRootProps:P.value.renderer.getRootProps},F={setActiveItemId:j.value.setActiveItemId,setQuery:j.value.setQuery,setCollections:j.value.setCollections,setIsOpen:j.value.setIsOpen,setStatus:j.value.setStatus,setContext:j.value.setContext,refresh:j.value.refresh},I=b(function(){return _e.bind(P.value.renderer.renderer.createElement)}),E=b(function(){return Ae({autocomplete:j.value,autocompleteScopeApi:F,classNames:P.value.renderer.classNames,environment:P.value.core.environment,isDetached:x.value,placeholder:P.value.core.placeholder,propGetters:N,setIsModalOpen:c,state:O.current,translations:P.value.renderer.translations})});return d(function(){var e=j.value.getEnvironmentProps({formElement:E.value.form,panelElement:E.value.panel,inputElement:E.value.input});return Te(P.value.core.environment,e),function(){Te(P.value.core.environment,Object.keys(e).reduce(function(e,t){return n(n({},e),{},i({},t,void 0))},{}))}}),d(function(){var e=x.value?P.value.core.environment.document.body:P.value.renderer.panelContainer,t=x.value?E.value.detachedOverlay:E.value.panel;return x.value&&O.current.isOpen&&c(!0),r(O.current),function(){e.contains(t)&&e.removeChild(t)}}),d(function(){var e=P.value.renderer.container;return e.appendChild(E.value.root),function(){e.removeChild(E.value.root)}}),d(function(){var e=h(function(e){r(e.state)},0);return _.current=function(n){var r=n.state,i=n.prevState;x.value&&i.isOpen!==r.isOpen&&c(r.isOpen),x.value||!r.isOpen||i.isOpen||t(),r.query!==i.query&&P.value.core.environment.document.querySelectorAll(\".aa-Panel--scrollable\").forEach(function(e){0!==e.scrollTop&&(e.scrollTop=0)}),e({state:r})},function(){_.current=void 0}}),d(function(){var e=h(function(){var e=x.value;x.value=P.value.core.environment.matchMedia(P.value.renderer.detachedMediaQuery).matches,e!==x.value?o({}):requestAnimationFrame(t)},20);return P.value.core.environment.addEventListener(\"resize\",e),function(){P.value.core.environment.removeEventListener(\"resize\",e)}}),d(function(){function e(e){E.value.detachedContainer.classList.toggle(\"aa-DetachedContainer--modal\",e)}function t(t){e(t.matches)}if(!x.value)return function(){};var n=P.value.core.environment.matchMedia(getComputedStyle(P.value.core.environment.document.documentElement).getPropertyValue(\"--aa-detached-modal-media-query\"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener(\"change\",t):n.addListener(t),function(){r?n.removeEventListener(\"change\",t):n.removeListener(t)}}),d(function(){return requestAnimationFrame(t),function(){}}),n(n({},F),{},{update:o,destroy:function(){m()}})},e.getAlgoliaFacets=function(e){var t=On({transformResponse:function(e){return e.facetHits}}),r=e.queries.map(function(e){return n(n({},e),{},{type:\"facet\"})});return t(n(n({},e),{},{queries:r}))},e.getAlgoliaResults=Nn,Object.defineProperty(e,\"__esModule\",{value:!0})})},function(e,t,n){!function(e,n){n(t)}(this,function(e){\"use strict\";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach(function(t){r(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 s,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,s=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw s}}}}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach(function(t){f(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function d(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){var t=e.onTapAhead;return{item:function(e){var n=e.item,r=e.createElement,i=e.components;return n.__autocomplete_qsCategory?r(\"div\",{className:\"aa-ItemWrapper\"},r(\"div\",{className:\"aa-ItemContent aa-ItemContent--indented\"},r(\"div\",{className:\"aa-ItemContentSubtitle aa-ItemContentSubtitle--standalone\"},r(\"span\",{className:\"aa-ItemContentSubtitleIcon\"}),r(\"span\",null,\"in\",\" \",r(\"span\",{className:\"aa-ItemContentSubtitleCategory\"},n.__autocomplete_qsCategory))))):r(\"div\",{className:\"aa-ItemWrapper\"},r(\"div\",{className:\"aa-ItemContent\"},r(\"div\",{className:\"aa-ItemIcon aa-ItemIcon--noBorder\"},r(\"svg\",{viewBox:\"0 0 24 24\",fill:\"currentColor\"},r(\"path\",{d:\"M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z\"}))),r(\"div\",{className:\"aa-ItemContentBody\"},r(\"div\",{className:\"aa-ItemContentTitle\"},r(i.ReverseHighlight,{hit:n,attribute:\"query\"})))),r(\"div\",{className:\"aa-ItemActions\"},r(\"button\",{className:\"aa-ItemActionButton\",title:'Fill query with \"'.concat(n.query,'\"'),onClick:function(e){e.preventDefault(),e.stopPropagation(),t(n)}},r(\"svg\",{viewBox:\"0 0 24 24\",fill:\"currentColor\"},r(\"path\",{d:\"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\"})))))}}}var b=\"1.7.1\",w=[{segment:\"autocomplete-core\",version:b}],S=[\"params\"],R=[{segment:\"autocomplete-js\",version:b}],_=function(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map(function(e){return e.query})}).then(function(e){return e.map(function(e,n){var r=t.requests[n];return{items:e,sourceId:r.sourceId,transformResponse:r.transformResponse}})})}return function(e){return function(r){return o(o({requesterId:t,execute:n},e),r)}}}(function(e){return function(e){var t=e.searchClient,n=e.queries,r=e.userAgents,i=void 0===r?[]:r;return\"function\"==typeof t.addAlgoliaAgent&&[].concat(d(w),d(i)).forEach(function(e){var n=e.segment,r=e.version;t.addAlgoliaAgent(n,r)}),t.search(n.map(function(e){var t=e.params;return l(l({},h(e,S)),{},{params:l({hitsPerPage:5,highlightPreTag:\"__aa-highlight__\",highlightPostTag:\"__/aa-highlight__\"},t)})})).then(function(e){return e.results})}(g(g({},e),{},{userAgents:R}))},\"algolia\"),P=_({transformResponse:function(e){return e.hits}});e.createQuerySuggestionsPlugin=function(e){var t=function(e){return n({getSearchParams:function(){return{}},transformSource:function(e){return e.source},itemsWithCategories:1,categoriesPerItem:1},e)}(e),r=t.searchClient,i=t.indexName,s=t.getSearchParams,o=t.transformSource,c=t.categoryAttribute,u=t.itemsWithCategories,l=t.categoriesPerItem;return{name:\"aa.querySuggestionsPlugin\",getSources:function(e){function t(e){h(\"\".concat(e.query,\" \")),d()}var f=e.query,h=e.setQuery,d=e.refresh,p=e.state;return[o({source:{sourceId:\"querySuggestionsPlugin\",getItemInputValue:function(e){return e.item.query},getItems:function(){return P({searchClient:r,queries:[{indexName:i,query:f,params:s({state:p})}],transformResponse:function(e){var t=e.hits[0];return f&&c?t.reduce(function(e,t,r){var i,s,o=[t];if(r<=u-1){var f,h=(i=t,s=Array.isArray(c)?c:[c],s.reduce(function(e,t){return e&&e[t]},i)).map(function(e){return e.value}).slice(0,l),d=a(h);try{for(d.s();!(f=d.n()).done;){var p=f.value;o.push(n({__autocomplete_qsCategory:p},t))}}catch(e){d.e(e)}finally{d.f()}}return e.push.apply(e,o),e},[]):t}})},templates:y({onTapAhead:t})},onTapAhead:t,state:p})]},__autocomplete_pluginOptions:e}},e.getTemplates=y,Object.defineProperty(e,\"__esModule\",{value:!0})})}])});\n//# sourceMappingURL=algoliaBundle.min.js.map\n","Mageplaza_LayeredNavigation/js/view/layer.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license sliderConfig is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_LayeredNavigation\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine([\n    'jquery',\n    'Mageplaza_AjaxLayer/js/action/submit-filter',\n    'Magento_Catalog/js/price-utils',\n    'accordion',\n    'productListToolbarForm',\n    'jquery/jquery-ui'\n], function ($, submitFilterAction, ultil) {\n    \"use strict\";\n\n    $.widget('mageplaza.layer', $.mage.accordion, {\n        options: {\n            openedState: 'active',\n            collapsible: true,\n            multipleCollapsible: true,\n            animate: 200,\n            mobileShopbyElement: '#layered-filter-block .filter-title [data-role=title]',\n            collapsibleElement: '[data-role=ln_collapsible]',\n            header: '[data-role=ln_title]',\n            content: '[data-role=ln_content]',\n            isCustomerLoggedIn: false,\n            isAjax: true,\n            params: [],\n            active: [],\n            activeDesktop: [],\n            activeMobile: [],\n            checkboxEl: 'input[type=checkbox], input[type=radio]',\n            sliderElementPrefix: '#ln_slider_',\n            sliderTextElementPrefix: '#ln_slider_text_'\n        },\n\n        _create: function () {\n            this.initActiveItems();\n\n            this._super();\n\n            this.initProductListUrl();\n            this.initObserve();\n            this.initSlider();\n            this.initWishlistCompare();\n            this.selectedAttr();\n            this.renderCategoryTree();\n        },\n\n        initActiveItems: function () {\n            var layerActivesDesktop = this.options.activeDesktop,\n                layerActivesMobile  = this.options.activeMobile,\n                activesDesktop = [],\n                activesMobile = [];\n            if ($(\".page-layout-1column\").length){\n                this.options.multipleCollapsible = false;\n            }\n\n            if (typeof window.layerActiveTabs !== 'undefined') {\n                layerActivesDesktop, layerActivesMobile = window.layerActiveTabs;\n            }\n            if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)\n                || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.userAgent.substr(0,4))) {\n                if (layerActivesMobile.length) {\n                    this.element.find('.filter-options-item').each(function (index) {\n                        if (~$.inArray($(this).attr('attribute'), layerActivesMobile)) {\n                            activesMobile.push(index);\n                        }\n                    });\n                }\n                this.options.active = activesMobile;\n                return this;\n            }else{\n                if (layerActivesDesktop.length) {\n                    this.element.find('.filter-options-item').each(function (index) {\n                        if (~$.inArray($(this).attr('attribute'), layerActivesDesktop)) {\n                            activesDesktop.push(index);\n                        }\n                    });\n                }\n                this.options.active = activesDesktop;\n                return this;\n            }\n        },\n\n        initProductListUrl: function () {\n            var isProcessToolbar = false,\n                isAjax = this.options.isAjax;\n            $.mage.productListToolbarForm.prototype.changeUrl = function (paramName, paramValue, defaultValue) {\n                if (isProcessToolbar) {\n                    return;\n                }\n                if (isAjax) {\n                    isProcessToolbar = true;\n                }\n\n                var urlPaths = this.options.url.split('?'),\n                    baseUrl = urlPaths[0],\n                    urlParams = urlPaths[1] ? urlPaths[1].split('&') : [],\n                    paramData = {},\n                    parameters;\n                for (var i = 0; i < urlParams.length; i++) {\n                    parameters = urlParams[i].split('=');\n                    paramData[parameters[0]] = parameters[1] !== undefined\n                        ? window.decodeURIComponent(parameters[1].replace(/\\+/g, '%20'))\n                        : '';\n                }\n                paramData[paramName] = paramValue;\n                if (paramValue === defaultValue) {\n                    delete paramData[paramName];\n                }\n                paramData = $.param(paramData);\n                if (isAjax) {\n                    submitFilterAction(baseUrl + (paramData.length ? '?' + paramData : ''));\n                } else location.href = baseUrl + (paramData.length ? '?' + paramData : '');\n            }\n        },\n\n        initObserve: function () {\n            var self = this;\n            var isAjax = this.options.isAjax;\n\n            // fix browser back, forward button\n            if (typeof window.history.replaceState === \"function\") {\n                window.history.replaceState({url: document.URL}, document.title);\n\n                setTimeout(function () {\n                    window.onpopstate = function (e) {\n                        if (e.state) {\n                            submitFilterAction(e.state.url, 1);\n                        }\n                    };\n                }, 0)\n            }\n\n            var pageElements = $('#layer-product-list').find('.pages a');\n            pageElements.each(function () {\n                var el = $(this),\n                    link = self.checkUrl(el.prop('href'));\n                if (!link) {\n                    return;\n                }\n\n                el.bind('click', function (e) {\n                    e.stopPropagation();\n                    e.preventDefault();\n                    if (isAjax) {\n                        submitFilterAction(link);\n                    } else location.href = link;\n                })\n            });\n\n            var currentElements = this.element.find('.filter-current a, .filter-actions a');\n            currentElements.each(function (index) {\n                var el = $(this),\n                    link = self.checkUrl(el.prop('href'));\n                if (!link) {\n                    return;\n                }\n\n                el.bind('click', function (e) {\n                    e.stopPropagation();\n                    e.preventDefault();\n                    if (isAjax) {\n                        submitFilterAction(link);\n                    } else {\n                        location.href = link;\n                    }\n                });\n            });\n\n            var optionElements = this.element.find('.filter-options a');\n            optionElements.each(function (index) {\n                var el = $(this),\n                    link = self.checkUrl(el.prop('href'));\n                if (!link) {\n                    return;\n                }\n\n                el.bind('click', function (e) {\n                    if (el.hasClass('swatch-option-link-layered')) {\n                        self.selectSwatchOption(el);\n                    } else {\n                        var checkboxEl = el.siblings(self.options.checkboxEl);\n                        checkboxEl.prop('checked', !checkboxEl.prop('checked'));\n                    }\n\n                    e.stopPropagation();\n                    e.preventDefault();\n                    self.ajaxSubmit(link);\n                });\n\n                var checkbox = el.siblings(self.options.checkboxEl);\n                checkbox.bind('click', function (e) {\n                    e.stopPropagation();\n                    self.ajaxSubmit(link);\n                });\n            });\n\n            var swatchElements = this.element.find('.swatch-attribute');\n            swatchElements.each(function (index) {\n                var el = $(this);\n                var attCode = el.attr('attribute-code');\n                if (attCode) {\n                    if (self.options.params.hasOwnProperty(attCode)) {\n                        var attValues = self.options.params[attCode].split(\",\");\n                        var swatchOptions = el.find('.swatch-option');\n                        swatchOptions.each(function (option) {\n                            var elOption = $(this);\n                            if ($.inArray(elOption.attr('option-id'), attValues) !== -1) {\n                                elOption.addClass('selected');\n                            }\n                        });\n                    }\n                }\n            });\n        },\n\n        selectSwatchOption: function (el) {\n            var childEl = el.find('.swatch-option');\n            if (childEl.hasClass('selected')) {\n                childEl.removeClass('selected');\n            } else {\n                childEl.addClass('selected');\n            }\n        },\n\n        initSlider: function () {\n            var self = this,\n                slider = this.options.slider;\n\n            for (var code in slider) {\n                if (slider.hasOwnProperty(code)) {\n                    var sliderConfig = slider[code],\n                        sliderElement = self.element.find(this.options.sliderElementPrefix + code),\n                        priceFormat = sliderConfig.hasOwnProperty('priceFormat') ? JSON.parse(sliderConfig.priceFormat) : null;\n\n                    if (sliderElement.length) {\n                        sliderElement.slider({\n                            range: true,\n                            min: sliderConfig.minValue,\n                            max: sliderConfig.maxValue,\n                            step: 0.01,\n                            values: [sliderConfig.selectedFrom, sliderConfig.selectedTo],\n                            slide: function (event, ui) {\n                                self.displaySliderText(code, ui.values[0], ui.values[1], priceFormat);\n                            },\n                            change: function (event, ui) {\n                                self.ajaxSubmit(self.getSliderUrl(sliderConfig.ajaxUrl, ui.values[0], ui.values[1]));\n                            }\n                        });\n                    }\n                    self.displaySliderText(code, sliderConfig.selectedFrom, sliderConfig.selectedTo, priceFormat);\n                }\n            }\n        },\n\n        displaySliderText: function (code, from, to, format) {\n            var textElement = this.element.find(this.options.sliderTextElementPrefix + code);\n            if (textElement.length) {\n                if (format !== null) {\n                    from = this.formatPrice(from, format);\n                    to = this.formatPrice(to, format);\n                }\n\n                textElement.html(from + ' - ' + to);\n            }\n        },\n\n        getSliderUrl: function (url, from, to) {\n            return url.replace('from-to', from + '-' + to);\n        },\n\n        formatPrice: function (value, format) {\n            return ultil.formatPrice(value, format);\n        },\n\n        ajaxSubmit: function (submitUrl) {\n            var isAjax = this.options.isAjax;\n            this.element.find(this.options.mobileShopbyElement).trigger('click');\n\n            if (isAjax) {\n                return submitFilterAction(submitUrl);\n            }\n            location.href = submitUrl;\n        },\n\n        checkUrl: function (url) {\n            var regex = /(http|https):\\/\\/(\\w+:{0,1}\\w*)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%!\\-\\/]))?/;\n\n            return regex.test(url) ? url : null;\n        },\n\n        //Handling 'add to wishlist' & 'add to compare' event\n        initWishlistCompare: function () {\n            var isAjax = this.options.isAjax;\n            var isCustomerLoggedIn = this.options.isCustomerLoggedIn,\n                elClass = 'a.action.tocompare' + (isCustomerLoggedIn ? ',a.action.towishlist' : '');\n            $(elClass).each(function () {\n                var el = $(this);\n                if (isAjax){\n                    $(el).bind('click', function (e) {\n                        var dataPost = $(el).data('post'),\n                            formKey = $('input[name=\"form_key\"]').val(), method = 'post';\n                        if (formKey) {\n                            dataPost.data.form_key = formKey;\n                        }\n\n                        var paramData = $.param(dataPost.data),\n                            url = dataPost.action + (paramData.length ? '?' + paramData : '');\n\n                        e.stopPropagation();\n                        e.preventDefault();\n\n                        if (el.hasClass('towishlist')) {\n                            submitFilterAction(url, true, method);\n                        } else{\n                            submitFilterAction(url, true, method);\n                        }\n                    });\n                }\n            })\n        },\n\n        //Selected attribute color after page load.\n        selectedAttr: function () {\n            var filterCurrent = $('.layered-filter-block-container .filter-current .items .item .filter-value');\n\n            filterCurrent.each(function(){\n                var el         = $(this),\n                    colorLabel = el.html(),\n                    swatchAttr  = $('.filter-options .filter-options-item .swatch-option-link-layered .swatch-option');\n\n                swatchAttr.each(function(){\n                    var elA = $(this);\n                    if(elA.attr('data-option-label') === colorLabel && !elA.hasClass('selected')){\n                        elA.addClass('selected');\n                    }\n                });\n            });\n        },\n\n        renderCategoryTree: function () {\n            var iconExpand = this.element.find('.filter-options .icon-expand');\n\n            iconExpand.each(function () {\n                var el = $(this);\n\n                el.nextAll('ol').each(function() {\n                    if($(this).find('input[checked]').length !== 0\n                        && !$(this).prevAll('.icon-expand').hasClass('active')\n                    ) {\n                        $(this).show();\n                        $(this).prevAll('.icon-expand').toggleClass('active');\n                    }\n                });\n\n                el.bind('click', function (e) {\n                    el.nextAll('ol').toggle();\n                    el.toggleClass('active');\n                    e.stopPropagation();\n                });\n            });\n        }\n    });\n\n    return $.mageplaza.layer;\n});\n","Mageplaza_AjaxLayer/js/view/layer.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_AjaxLayer\n * @copyright   Copyright (c) Mageplaza (http://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine([\n    'jquery',\n    'Mageplaza_AjaxLayer/js/action/submit-filter',\n    'Magento_Catalog/js/price-utils',\n    'jquery-ui-modules/widget',\n    'accordion',\n    'productListToolbarForm'\n], function ($, submitFilterAction, ultil) {\n    \"use strict\";\n\n    $.widget('mageplaza.layer', $.mage.accordion, {\n        options: {\n            openedState: 'active',\n            collapsible: true,\n            multipleCollapsible: true,\n            animate: 200,\n            mobileShopbyElement: '#layered-filter-block .filter-title [data-role=title]',\n            collapsibleElement: '[data-role=ln_collapsible]',\n            header: '[data-role=ln_title]',\n            content: '[data-role=ln_content]',\n            isCustomerLoggedIn: false,\n            params: [],\n            active: []\n        },\n\n        _create: function () {\n            this.initActiveItems();\n\n            this._super();\n\n            this.initProductListUrl();\n            this.initObserve();\n            this.initWishlistCompare();\n        },\n\n        initActiveItems: function () {\n            var layerActives = this.options.active,\n                actives = [];\n\n            if (typeof window.layerActiveTabs !== 'undefined') {\n                layerActives = window.layerActiveTabs;\n            }\n            if (layerActives.length) {\n                this.element.find('.filter-options-item').each(function (index) {\n                    if (~$.inArray($(this).attr('attribute'), layerActives)) {\n                        actives.push(index);\n                    }\n                });\n            }\n\n            this.options.active = actives;\n\n            return this;\n        },\n\n        initProductListUrl: function () {\n            var isProcessToolbar = false;\n            $.mage.productListToolbarForm.prototype.changeUrl = function (paramName, paramValue, defaultValue) {\n                if (isProcessToolbar) {\n                    return;\n                }\n                isProcessToolbar = true;\n\n                var urlPaths = this.options.url.split('?'),\n                    baseUrl = urlPaths[0],\n                    urlParams = urlPaths[1] ? urlPaths[1].split('&') : [],\n                    paramData = {},\n                    parameters;\n                for (var i = 0; i < urlParams.length; i++) {\n                    parameters = urlParams[i].split('=');\n                    paramData[parameters[0]] = parameters[1] !== undefined\n                        ? window.decodeURIComponent(parameters[1].replace(/\\+/g, '%20'))\n                        : '';\n                }\n                paramData[paramName] = paramValue;\n                if (paramValue === defaultValue) {\n                    delete paramData[paramName];\n                }\n                paramData = $.param(paramData);\n                submitFilterAction(baseUrl + (paramData.length ? '?' + paramData : ''));\n            }\n        },\n\n        initObserve: function () {\n            var self = this;\n\n            // fix browser back, forward button\n            if (typeof window.history.replaceState === \"function\") {\n                window.history.replaceState({url: document.URL}, document.title);\n\n                setTimeout(function () {\n                    window.onpopstate = function (e) {\n                        if (e.state) {\n                            submitFilterAction(e.state.url, 1);\n                        }\n                    };\n                }, 0)\n            }\n\n            var pageElements = $('#layer-product-list').find('.pages a');\n            pageElements.each(function () {\n                var el = $(this),\n                    link = self.checkUrl(el.prop('href'));\n                if (!link) {\n                    return;\n                }\n\n                el.bind('click', function (e) {\n                    submitFilterAction(link);\n                    e.stopPropagation();\n                    e.preventDefault();\n                })\n            });\n\n            var currentElements = this.element.find('.filter-current a, .filter-actions a');\n            currentElements.each(function (index) {\n                var el = $(this),\n                    link = self.checkUrl(el.prop('href'));\n                if (!link) {\n                    return;\n                }\n\n                el.bind('click', function (e) {\n                    submitFilterAction(link);\n                    e.stopPropagation();\n                    e.preventDefault();\n                });\n            });\n\n            var optionElements = this.element.find('.filter-options a');\n            optionElements.each(function (index) {\n                var el = $(this),\n                    link = self.checkUrl(el.prop('href'));\n                if (!link) {\n                    return;\n                }\n\n                el.bind('click', function (e) {\n                    if (el.hasClass('swatch-option-link-layered')) {\n                        self.selectSwatchOption(el);\n                    }\n\n                    self.ajaxSubmit(link);\n                    e.stopPropagation();\n                    e.preventDefault();\n                });\n            });\n\n            var swatchElements = this.element.find('.swatch-attribute');\n            swatchElements.each(function (index) {\n                var el = $(this);\n                var attCode = el.attr('attribute-code');\n                if (attCode) {\n                    if (self.options.params.hasOwnProperty(attCode)) {\n                        var attValues = self.options.params[attCode].split(\",\");\n                        var swatchOptions = el.find('.swatch-option');\n                        swatchOptions.each(function (option) {\n                            var elOption = $(this);\n                            if ($.inArray(elOption.attr('option-id'), attValues) !== -1) {\n                                elOption.addClass('selected');\n                            }\n                        });\n                    }\n                }\n            });\n        },\n\n        selectSwatchOption: function (el) {\n            var childEl = el.find('.swatch-option');\n            if (childEl.hasClass('selected')) {\n                childEl.removeClass('selected');\n            } else {\n                childEl.addClass('selected');\n            }\n        },\n\n        ajaxSubmit: function (submitUrl) {\n            this.element.find(this.options.mobileShopbyElement).trigger('click');\n\n            return submitFilterAction(submitUrl);\n        },\n\n        checkUrl: function (url) {\n            var regex = /(http|https):\\/\\/(\\w+:{0,1}\\w*)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%!\\-\\/]))?/;\n\n            return regex.test(url) ? url : null;\n        },\n\n        //Handling 'add to wishlist' & 'add to compare' event\n        initWishlistCompare: function () {\n            var isCustomerLoggedIn = this.options.isCustomerLoggedIn,\n                elClass = 'a.action.tocompare' + (isCustomerLoggedIn ? ',a.action.towishlist' : '');\n            $(elClass).each(function () {\n                var el = $(this);\n                $(el).bind('click', function (e) {\n                    var dataPost = $(el).data('post'),\n                        formKey = $('input[name=\"form_key\"]').val(), method = 'post';\n                    if (formKey) {\n                        dataPost.data.form_key = formKey;\n                    }\n\n                    var paramData = $.param(dataPost.data),\n                        url = dataPost.action + (paramData.length ? '?' + paramData : '');\n                    submitFilterAction(url, true, method);\n                    e.stopPropagation();\n                    e.preventDefault();\n                });\n            })\n        }\n    });\n\n    return $.mageplaza.layer;\n});\n","Mageplaza_AjaxLayer/js/action/submit-filter.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_AjaxLayer\n * @copyright   Copyright (c) Mageplaza (http://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(\n    [\n        'jquery',\n        'mage/storage',\n        'Mageplaza_AjaxLayer/js/model/loader',\n        'mage/apply/main',\n        'ko'\n    ],\n    function ($, storage, loader, mage, ko) {\n        'use strict';\n\n        var productContainer   = $('#layer-product-list'),\n            layerContainer     = $('.layered-filter-block-container'),\n            quickViewContainer = $('#mpquickview-popup');\n\n        return function (submitUrl, isChangeUrl, method) {\n            /** save active state */\n            var actives = [],\n                data;\n            $('.filter-options-item').each(function (index) {\n                if ($(this).hasClass('active')) {\n                    actives.push($(this).attr('attribute'));\n                }\n            });\n            window.layerActiveTabs = actives;\n\n            /** start loader */\n            loader.startLoader();\n\n            /** change browser url */\n            if (typeof window.history.pushState === 'function' && (typeof isChangeUrl === 'undefined')) {\n                window.history.pushState({url: submitUrl}, '', submitUrl);\n            }\n            if (method === 'post') {// For 'add to wishlist' & 'add to compare' event\n                return storage.post(submitUrl).done(\n                ).fail(\n                    function () {\n                        window.location.reload();\n                    }\n                ).always(function () {\n                    loader.stopLoader();\n                });\n            }\n\n            return storage.get(submitUrl).done(\n                function (response) {\n                    if (response.backUrl) {\n                        window.location = response.backUrl;\n                        return;\n                    }\n                    if (response.navigation) {\n                        layerContainer.html(response.navigation);\n                    }\n                    if (response.products) {\n                        productContainer.html(response.products);\n                    }\n                    if (response.quickview) {\n                        quickViewContainer.html(response.quickview);\n                    }\n\n                    ko.cleanNode(productContainer[0]);\n                    productContainer.applyBindings();\n\n                    if (mage) {\n                        $(\"html, body\").animate({scrollTop: $('#layer-product-list').offset().top - 100}, \"slow\");\n                        mage.apply();\n                    }\n                }\n            ).fail(\n                function () {\n                    window.location.reload();\n                }\n            ).always(\n                function () {\n\n                    var colorAttr = $('.filter-options .filter-options-item .color .swatch-option-link-layered .swatch-option');\n\n                    colorAttr.each(function(){\n                        var el  = $(this),\n                            hex = el.attr('data-option-tooltip-value');\n                        if(typeof hex != \"undefined\"){\n                            if (hex.charAt(0) === '#') {\n                                hex = hex.substr(1);\n                            }\n                            if ((hex.length < 2) || (hex.length > 6)) {\n                                el.attr('style','background: '+el.attr('data-option-label')+';');\n                            }\n                            var values = hex.split(''),\n                                r,\n                                g,\n                                b;\n\n                            if (hex.length === 2) {\n                                r = parseInt(values[0].toString() + values[1].toString(), 16);\n                                g = r;\n                                b = r;\n                            } else if (hex.length === 3) {\n                                r = parseInt(values[0].toString() + values[0].toString(), 16);\n                                g = parseInt(values[1].toString() + values[1].toString(), 16);\n                                b = parseInt(values[2].toString() + values[2].toString(), 16);\n                            } else if (hex.length === 6) {\n                                r = parseInt(values[0].toString() + values[1].toString(), 16);\n                                g = parseInt(values[2].toString() + values[3].toString(), 16);\n                                b = parseInt(values[4].toString() + values[5].toString(), 16);\n                            } else {\n                                el.attr('style','background: '+el.attr('data-option-label')+';');\n                            }\n\n                            el.attr('style','background: center center no-repeat rgb('+[r, g, b]+');');\n                        }\n\n                    });\n\n                    //selected\n\n                    var filterCurrent = $('.layered-filter-block-container .filter-current .items .item .filter-value');\n\n                    filterCurrent.each(function(){\n                        var el         = $(this),\n                            colorLabel = el.html(),\n                            colorAttr  = $('.filter-options .filter-options-item .color .swatch-option-link-layered .swatch-option');\n\n                        colorAttr.each(function(){\n                            var elA = $(this);\n                            if(elA.attr('data-option-label') === colorLabel && !elA.hasClass('selected')){\n                                elA.addClass('selected');\n                            }\n                        });\n                    });\n\n                    loader.stopLoader();\n                }\n            );\n        };\n    }\n);\n","Mageplaza_AjaxLayer/js/model/loader.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_AjaxLayer\n * @copyright   Copyright (c) Mageplaza (http://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(['jquery'], function ($) {\n        'use strict';\n\n        return {\n            /**\n             * Start full page loader action\n             */\n            startLoader: function () {\n                $('.ln_overlay').show();\n            },\n\n            /**\n             * Stop full page loader action\n             */\n            stopLoader: function () {\n                $('.ln_overlay').hide();\n                $('.swatch-option-tooltip').hide();\n            }\n        };\n    }\n);\n","Mageplaza_Smtp/js/view/shipping-mixins.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_StoreLocator\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(\n    [\n        'jquery',\n        'underscore',\n        'Magento_Ui/js/form/form',\n        'ko',\n        'Magento_Customer/js/model/customer',\n        'Magento_Customer/js/model/address-list',\n        'Magento_Checkout/js/model/address-converter',\n        'Magento_Checkout/js/model/quote',\n        'Magento_Checkout/js/action/create-shipping-address',\n        'Magento_Checkout/js/action/select-shipping-address',\n        'Magento_Checkout/js/model/shipping-rates-validator',\n        'Magento_Checkout/js/model/shipping-address/form-popup-state',\n        'Magento_Checkout/js/model/shipping-service',\n        'Magento_Checkout/js/action/select-shipping-method',\n        'Magento_Checkout/js/model/shipping-rate-registry',\n        'Magento_Checkout/js/action/set-shipping-information',\n        'Magento_Checkout/js/model/step-navigator',\n        'Magento_Ui/js/modal/modal',\n        'Magento_Checkout/js/model/checkout-data-resolver',\n        'Magento_Checkout/js/checkout-data',\n        'uiRegistry',\n        'mage/translate',\n        'Magento_Checkout/js/model/shipping-rate-service',\n        'Mageplaza_Smtp/js/model/address-on-change'\n    ],\n    function (\n        $,\n        _,\n        Component,\n        ko,\n        customer,\n        addressList,\n        addressConverter,\n        quote,\n        createShippingAddress,\n        selectShippingAddress,\n        shippingRatesValidator,\n        formPopUpState,\n        shippingService,\n        selectShippingMethodAction,\n        rateRegistry,\n        setShippingInformationAction,\n        stepNavigator,\n        modal,\n        checkoutDataResolver,\n        checkoutData,\n        registry,\n        $t,\n        shippingRateService,\n        shippingAddressOnChange\n    ) {\n        'use strict';\n\n        var mixin = {\n\n            initialize: function () {\n                var fieldsetName = 'checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset';\n\n                this._super();\n\n                shippingAddressOnChange.initFields(fieldsetName);\n            }\n        };\n\n        return function (target) {\n            return target.extend(mixin);\n        };\n    }\n);\n","Mageplaza_Smtp/js/view/billing-address-mixins.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_StoreLocator\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(\n    [\n        'jquery',\n        'ko',\n        'underscore',\n        'Magento_Ui/js/form/form',\n        'Magento_Customer/js/model/customer',\n        'Magento_Customer/js/model/address-list',\n        'Magento_Checkout/js/model/quote',\n        'Magento_Checkout/js/action/create-billing-address',\n        'Magento_Checkout/js/action/select-billing-address',\n        'Magento_Checkout/js/checkout-data',\n        'Magento_Checkout/js/model/checkout-data-resolver',\n        'Magento_Customer/js/customer-data',\n        'Magento_Checkout/js/action/set-billing-address',\n        'Magento_Ui/js/model/messageList',\n        'mage/translate',\n        'Magento_Checkout/js/model/billing-address-postcode-validator',\n        'Mageplaza_Smtp/js/model/address-on-change'\n    ],\n    function (\n        $,\n        ko,\n        _,\n        Component,\n        customer,\n        addressList,\n        quote,\n        createBillingAddress,\n        selectBillingAddress,\n        checkoutData,\n        checkoutDataResolver,\n        customerData,\n        setBillingAddressAction,\n        globalMessageList,\n        $t,\n        billingAddressPostcodeValidator,\n        billingAddressOnChange\n    ) {\n        'use strict';\n\n        var mixin = {\n            initialize: function () {\n                var fieldset;\n\n                this._super();\n\n                if (window.checkoutConfig.oscConfig) {\n                    fieldset = this.get('name') + '.billing-address-fieldset';\n                } else {\n                    fieldset = this.get('name') + '.form-fields';\n                }\n\n                billingAddressOnChange.initFields(fieldset);\n            },\n        };\n\n        return function (target) {\n            return target.extend(mixin);\n        };\n    }\n);\n","Mageplaza_Smtp/js/action/send-address.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_Smtp\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine([\n    'mage/storage',\n    'Mageplaza_Smtp/js/model/resource-url-manager',\n    'Magento_Checkout/js/model/quote'\n], function (storage, resourceUrlManager, quote) {\n    'use strict';\n\n    return function (address, isOsc) {\n        return storage.post(\n            resourceUrlManager.getUrlForUpdateOrder(quote),\n            JSON.stringify({\n                address: address,\n                isOsc: isOsc\n            }),\n            false\n        );\n    };\n});\n","Mageplaza_Smtp/js/model/resource-url-manager.js":"/**\n * Mageplaza\n *\n * NOTICE OF LICENSE\n *\n * This source file is subject to the Mageplaza.com license that is\n * available through the world-wide-web at this URL:\n * https://www.mageplaza.com/LICENSE.txt\n *\n * DISCLAIMER\n *\n * Do not edit or add to this file if you wish to upgrade this extension to newer\n * version in the future.\n *\n * @category    Mageplaza\n * @package     Mageplaza_Smtp\n * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)\n * @license     https://www.mageplaza.com/LICENSE.txt\n */\n\ndefine(\n    [\n        'jquery',\n        'Magento_Checkout/js/model/resource-url-manager'\n    ],\n    function ($, resourceUrlManager) {\n        \"use strict\";\n\n        return $.extend({\n            /** Get url for send the address to update order */\n            getUrlForUpdateOrder: function (quote) {\n                var params = {cartId: quote.getQuoteId()};\n                var urls   = {\n                    'default': '/carts/:cartId/update-order'\n                };\n\n                return this.getUrl(urls, params);\n            }\n        }, resourceUrlManager);\n    }\n);\n","Mageplaza_Smtp/js/model/address-on-change.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n\n/**\n * @api\n */\ndefine([\n    'jquery',\n    'ko',\n    'mage/translate',\n    'uiRegistry',\n    'Magento_Checkout/js/model/quote',\n    'Mageplaza_Smtp/js/action/send-address'\n], function (\n    $,\n    ko,\n    $t,\n    uiRegistry,\n    quote,\n    sendAddress\n) {\n    'use strict';\n\n    var elements         = ['firstname', 'lastname', 'company', 'street', 'country_id', 'region_id', 'city', 'postcode', 'telephone'],\n        observedElements = [];\n\n    return {\n        validateAddressTimeout: 0,\n        validateDelay: 1000,\n\n        /**\n         * Perform postponed binding for fieldset elements\n         *\n         * @param {String} formPath\n         */\n        initFields: function (formPath) {\n            var self = this;\n\n            $.each(elements, function (index, field) {\n                uiRegistry.async(formPath + '.' + field)(self.smtpBindHandler.bind(self));\n            });\n        },\n\n        /**\n         * @param {Object} element\n         * @param {Number} delay\n         */\n        smtpBindHandler: function (element, delay) {\n            var self = this;\n\n            delay = typeof delay === 'undefined' ? self.validateDelay : delay;\n\n            if (element.component.indexOf('/group') !== -1) {\n                $.each(element.elems(), function (index, elem) {\n                    uiRegistry.async(elem.name)(function () {\n                        self.smtpBindHandler(elem);\n                    });\n                });\n            } else if (element && element.hasOwnProperty('value')) {\n                element.on('value', function () {\n                    clearTimeout(self.validateAddressTimeout);\n                    self.validateAddressTimeout = setTimeout(function () {\n                        sendAddress(JSON.stringify(self.collectObservedData()), self.isOsc());\n                    }, delay);\n                });\n\n                observedElements.push(element);\n            }\n        },\n        /**\n         * Collect observed fields data to object\n         *\n         * @returns {*}\n         */\n        collectObservedData: function () {\n            var observedValues = {};\n\n            $.each(observedElements, function (index, field) {\n                var value = field.value();\n\n                if ($.type(value) === 'undefined') {\n                    value = '';\n                }\n                observedValues[field.dataScope] = value;\n            });\n\n            return observedValues;\n        },\n        isOsc: function () {\n            return !!window.checkoutConfig.oscConfig;\n        }\n    };\n});\n","js/navigation-menu.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n/**\n * @deprecated\n * @see lib/web/mage/menu.js\n */\ndefine([\n    'jquery',\n    'matchMedia',\n    'mage/template',\n    'mage/dropdowns',\n    'mage/terms'\n], function ($, mediaCheck, mageTemplate) {\n    'use strict';\n\n    $.widget('mage.navigationMenu', {\n        options: {\n            itemsContainer: '> ul',\n            topLevel: 'li.level0',\n            topLevelSubmenu: '> .submenu',\n            topLevelHoverClass: 'hover',\n            expandedTopLevel: '.more',\n            hoverInTimeout: 300,\n            hoverOutTimeout: 500,\n            submenuAnimationSpeed: 200,\n            collapsable: true,\n            collapsableDropdownTemplate:\n                '<script type=\"text/x-magento-template\">' +\n                    '<li class=\"level0 level-top more parent\">' +\n                        '<div class=\"submenu\">' +\n                            '<ul><%= elems %></ul>' +\n                        '</div>' +\n                    '</li>' +\n                '</script>'\n        },\n\n        /** @inheritdoc */\n        _create: function () {\n            this.itemsContainer = $(this.options.itemsContainer, this.element);\n            this.topLevel = $(this.options.topLevel, this.element);\n            this.topLevelSubmenu = $(this.options.topLevelSubmenu, this.topLevel);\n\n            this._bind();\n        },\n\n        /**\n         * @private\n         */\n        _init: function () {\n            if (this.options.collapsable) {\n                setTimeout($.proxy(function () {\n                    this._checkToCollapseOrExpand();\n                }, this), 100);\n            }\n        },\n\n        /**\n         * @private\n         */\n        _bind: function () {\n            this._on({\n                /**\n                 * @param {jQuery.Event} e\n                 */\n                'mouseenter > ul > li.level0': function (e) {\n                    if (!this.entered) { // fix IE bug with 'mouseenter' event\n                        this.timeoutId && clearTimeout(this.timeoutId);\n                        this.timeoutId = setTimeout($.proxy(function () {\n                            this._openSubmenu(e);\n                        }, this), this.options.hoverInTimeout);\n                        this.entered = true;\n                    }\n                },\n\n                /**\n                 * @param {jQuery.Event} e\n                 */\n                'mouseleave > ul > li.level0': function (e) {\n                    this.entered = null;\n\n                    this.timeoutId && clearTimeout(this.timeoutId);\n                    this.timeoutId = setTimeout($.proxy(function () {\n                        this._closeSubmenu(e.currentTarget);\n                    }, this), this.options.hoverOutTimeout);\n                },\n\n                /**\n                 * @param {jQuert.Event} e\n                 */\n                'click': function (e) {\n                    e.stopPropagation();\n                }\n            });\n\n            $(document)\n                .on('click.hideMenu', $.proxy(function () {\n                    var isOpened = this.topLevel.filter(function () {\n                        return $(this).data('opened');\n                    });\n\n                    if (isOpened) {\n                        this._closeSubmenu(null, false);\n                    }\n                }, this));\n\n            $(window)\n                .on('resize', $.proxy(function () {\n                    this.timeoutOnResize && clearTimeout(this.timeoutOnResize);\n                    this.timeoutOnResize = setTimeout($.proxy(function () {\n                        if (this.options.collapsable) {\n                            if ($(this.options.expandedTopLevel, this.element).length) {\n                                this._expandMenu();\n                            }\n                            this._checkToCollapseOrExpand();\n                        }\n                    }, this), 300);\n                }, this));\n        },\n\n        /**\n         * @param {jQuery.Event} e\n         * @private\n         */\n        _openSubmenu: function (e) {\n            var menuItem = e.currentTarget;\n\n            if (!$(menuItem).data('opened')) {\n                this._closeSubmenu(menuItem, true, true);\n\n                $(this.options.topLevelSubmenu, menuItem)\n                    .slideDown(this.options.submenuAnimationSpeed, $.proxy(function () {\n                        $(menuItem).addClass(this.options.topLevelHoverClass);\n                        $(menuItem).data('opened', true);\n                    }, this));\n            } else if ($(e.target).closest(this.options.topLevel)) {\n                $(e.target)\n                    .addClass(this.options.topLevelHoverClass)\n                    .siblings(this.options.topLevel)\n                        .removeClass(this.options.topLevelHoverClass);\n            }\n        },\n\n        /**\n         * @param {*} menuItem\n         * @param {*} excludeCurrent\n         * @param {*} fast\n         * @private\n         */\n        _closeSubmenu: function (menuItem, excludeCurrent, fast) {\n            var topLevel = $(this.options.topLevel, this.element),\n                activeSubmenu = $(this.options.topLevelSubmenu, menuItem || null);\n\n            $(this.options.topLevelSubmenu, topLevel)\n                .filter(function () {\n                    return excludeCurrent ? $(this).not(activeSubmenu) : true;\n                })\n                .slideUp(fast ? 0 : this.options.submenuAnimationSpeed);\n\n            topLevel\n                .removeClass(this.options.topLevelHoverClass)\n                .data('opened', false);\n        },\n\n        /**\n         * @private\n         */\n        _checkToCollapseOrExpand: function () {\n            var navWidth, totalWidth, startCollapseIndex;\n\n            if ($('html').hasClass('lt-640') || $('html').hasClass('w-640')) {\n                return;\n            }\n\n            navWidth = this.itemsContainer.width();\n            totalWidth = 0;\n            startCollapseIndex = 0;\n\n            $.each($(this.options.topLevel, this.element), function (index, item) {\n                totalWidth += $(item).outerWidth(true);\n\n                if (totalWidth > navWidth && !startCollapseIndex) {\n                    startCollapseIndex = index - 2;\n                }\n            });\n\n            this[startCollapseIndex ? '_collapseMenu' : '_expandMenu'](startCollapseIndex);\n        },\n\n        /**\n         * @param {*} startCollapseIndex\n         * @private\n         */\n        _collapseMenu: function (startCollapseIndex) {\n            this.elemsToCollapse = this.topLevel.filter(function (index) {\n                return index > startCollapseIndex;\n            });\n            this.elemsToCollapseClone = $('<div></div>').append(this.elemsToCollapse.clone()).html();\n\n            this.collapsableDropdown = $(\n                mageTemplate(\n                    this.options.collapsableDropdownTemplate,\n                    {\n                        elems: this.elemsToCollapseClone\n                    }\n                )\n            );\n\n            this.itemsContainer.append(this.collapsableDropdown);\n            this.elemsToCollapse.detach();\n        },\n\n        /**\n         * @private\n         */\n        _expandMenu: function () {\n            this.elemsToCollapse && this.elemsToCollapse.appendTo(this.itemsContainer);\n            this.collapsableDropdown && this.collapsableDropdown.remove();\n        },\n\n        /**\n         * @private\n         */\n        _destroy: function () {\n            this._expandMenu();\n        }\n    });\n\n    /*\n     * Provides \"Continium\" effect for submenu\n     * */\n    $.widget('mage.navigationMenu', $.mage.navigationMenu, {\n        options: {\n            parentLevel: '> ul > li.level0',\n            submenuAnimationSpeed: 150,\n            submenuContiniumEffect: false\n        },\n\n        /**\n         * @private\n         */\n        _init: function () {\n            this._super();\n            this._applySubmenuStyles();\n        },\n\n        /**\n         * @private\n         */\n        _applySubmenuStyles: function () {\n            $(this.options.topLevelSubmenu, $(this.options.topLevel, this.element))\n                .removeAttr('style');\n\n            $(this.options.topLevelSubmenu, $(this.options.parentLevel, this.element))\n                .css({\n                    display: 'block',\n                    height: 0,\n                    overflow: 'hidden'\n                });\n        },\n\n        /**\n         * @param {jQuery.Event} e\n         * @private\n         */\n        _openSubmenu: function (e) {\n            var menuItem = e.currentTarget,\n                submenu = $(this.options.topLevelSubmenu, menuItem),\n                openedItems = $(this.options.topLevel, this.element).filter(function () {\n                    return $(this).data('opened');\n                });\n\n            if (submenu.length) {\n                this.heightToAnimate = $(this.options.itemsContainer, submenu).outerHeight(true);\n\n                if (openedItems.length) {\n                    this._closeSubmenu(menuItem, true, this.heightToAnimate, $.proxy(function () {\n                        submenu.css({\n                            height: 'auto'\n                        });\n                        $(menuItem)\n                            .addClass(this.options.topLevelHoverClass);\n                    }, this), e);\n                } else {\n                    submenu.animate({\n                        height: this.heightToAnimate\n                    }, this.options.submenuAnimationSpeed, $.proxy(function () {\n                        $(menuItem)\n                            .addClass(this.options.topLevelHoverClass);\n                    }, this));\n                }\n\n                $(menuItem)\n                    .data('opened', true);\n            } else {\n                this._closeSubmenu(menuItem);\n            }\n        },\n\n        /**\n         * @param {*} menuItem\n         * @param {*} excludeCurrent\n         * @param {*} heightToAnimate\n         * @param {Function} callback\n         * @private\n         */\n        _closeSubmenu: function (menuItem, excludeCurrent, heightToAnimate, callback) {\n            var topLevel = $(this.options.topLevel, this.itemsContainer),\n                prevOpenedItem, prevOpenedSubmenu;\n\n            if (!excludeCurrent) {\n                $(this.options.topLevelSubmenu, $(this.options.parentLevel, this.element))\n                    .animate({\n                        height: 0\n                    });\n\n                topLevel\n                    .data('opened', false)\n                    .removeClass(this.options.topLevelHoverClass);\n            } else {\n                prevOpenedItem = topLevel.filter(function () {\n                    return $(this).data('opened');\n                });\n                prevOpenedSubmenu = $(this.options.topLevelSubmenu, prevOpenedItem);\n\n                prevOpenedSubmenu.animate({\n                    height: heightToAnimate\n                }, this.options.submenuAnimationSpeed, 'linear', function () {\n                    $(this).css({\n                        height: 0\n                    });\n                    callback && callback();\n                });\n\n                prevOpenedItem\n                    .data('opened', false)\n                    .removeClass(this.options.topLevelHoverClass);\n            }\n        },\n\n        /**\n         * @private\n         */\n        _collapseMenu: function () {\n            this._superApply(arguments);\n            this._applySubmenuStyles();\n        }\n    });\n\n    //  Responsive menu\n    $.widget('mage.navigationMenu', $.mage.navigationMenu, {\n        options: {\n            responsive: false,\n            origNavPlaceholder: '.page-header',\n            mainContainer: 'body',\n            pageWrapper: '.page-wrapper',\n            openedMenuClass: 'opened',\n            toggleActionPlaceholder: '.block-search',\n            itemWithSubmenu: 'li.parent',\n            titleWithSubmenu: 'li.parent > a',\n            submenu: 'li.parent > .submenu',\n            toggleActionTemplate:\n                '<script type=\"text/x-magento-template\">' +\n                    '<span data-action=\"toggle-nav\" class=\"action toggle nav\">Toggle Nav</span>' +\n                '</script>',\n            submenuActionsTemplate:\n                '<script type=\"text/x-magento-template\">' +\n                    '<li class=\"action all\">' +\n                        '<a href=\"<%= categoryURL %>\"><span>All <%= category %></span></a>' +\n                    '</li>' +\n                '</script>',\n            navigationSectionsWrapperTemplate:\n                '<script type=\"text/x-magento-template\">' +\n                    '<dl class=\"navigation-tabs\" data-sections=\"tabs\">' +\n                    '</dl>' +\n                '</script>',\n            navigationItemWrapperTemplate:\n                '<script type=\"text/x-magento-template\">' +\n                    '<dt class=\"item title <% if (active) { %>active<% } %>\" data-section=\"title\">' +\n                        '<a class=\"switch\" data-toggle=\"switch\" href=\"#TODO\"><%= title %></a>' +\n                    '</dt>' +\n                    '<dd class=\"item content <% if (active) { %>active<%}%>\" data-section=\"content\">' +\n                    '</dd>' +\n                '</script>'\n        },\n\n        /**\n         * @private\n         */\n        _init: function () {\n            this._super();\n\n            this.mainContainer = $(this.options.mainContainer);\n            this.pageWrapper = $(this.options.pageWrapper);\n            this.toggleAction = $(mageTemplate(this.options.toggleActionTemplate, {}));\n\n            if (this.options.responsive) {\n                mediaCheck({\n                    media: '(min-width: 768px)',\n                    entry: $.proxy(function () {\n                        this._toggleDesktopMode();\n                    }, this),\n                    exit: $.proxy(function () {\n                        this._toggleMobileMode();\n                    }, this)\n                });\n            }\n        },\n\n        /**\n         * @private\n         */\n        _bind: function () {\n            this._super();\n            this._bindDocumentEvents();\n        },\n\n        /**\n         * @private\n         */\n        _bindDocumentEvents: function () {\n            if (!this.eventsBound) {\n                $(document)\n                    .on('click.toggleMenu', '.action.toggle.nav', $.proxy(function (e) {\n                        if ($(this.element).data('opened')) {\n                            this._hideMenu();\n                        } else {\n                            this._showMenu();\n                        }\n                        e.stopPropagation();\n                        this.mobileNav.scrollTop(0);\n                        this._fixedBackLink();\n                    }, this))\n                    .on('click.hideMenu', this.options.pageWrapper, $.proxy(function () {\n                        if ($(this.element).data('opened')) {\n                            this._hideMenu();\n                            this.mobileNav.scrollTop(0);\n                            this._fixedBackLink();\n                        }\n                    }, this))\n                    .on('click.showSubmenu', this.options.titleWithSubmenu, $.proxy(function (e) {\n                        this._showSubmenu(e);\n\n                        e.preventDefault();\n                        this.mobileNav.scrollTop(0);\n                        this._fixedBackLink();\n                    }, this))\n                    .on('click.hideSubmenu', '.action.back', $.proxy(function (e) {\n                        this._hideSubmenu(e);\n                        this.mobileNav.scrollTop(0);\n                        this._fixedBackLink();\n                    }, this));\n\n                this.eventsBound = true;\n            }\n        },\n\n        /**\n         * @private\n         */\n        _showMenu: function () {\n            $(this.element).data('opened', true);\n            this.mainContainer.add('html').addClass(this.options.openedMenuClass);\n        },\n\n        /**\n         * @private\n         */\n        _hideMenu: function () {\n            $(this.element).data('opened', false);\n            this.mainContainer.add('html').removeClass(this.options.openedMenuClass);\n        },\n\n        /**\n         * @param {jQuery.Event} e\n         * @private\n         */\n        _showSubmenu: function (e) {\n            var submenu;\n\n            $(e.currentTarget).addClass('action back');\n            submenu = $(e.currentTarget).siblings('.submenu');\n\n            submenu.addClass('opened');\n        },\n\n        /**\n         * @param {jQuery.Event} e\n         * @private\n         */\n        _hideSubmenu: function (e) {\n            var submenuSelector = '.submenu',\n                submenu = $(e.currentTarget).next(submenuSelector);\n\n            $(e.currentTarget).removeClass('action back');\n            submenu.removeClass('opened');\n        },\n\n        /**\n         * @private\n         */\n        _renderSubmenuActions: function () {\n            $.each(\n                $(this.options.itemWithSubmenu),\n                $.proxy(function (index, item) {\n                    var actions = $(mageTemplate(\n                            this.options.submenuActionsTemplate,\n                            {\n                                category: $('> a > span', item).text(),\n                                categoryURL: $('> a', item).attr('href')\n                            }\n                        )),\n                        submenu = $('> .submenu', item),\n                        items = $('> ul', submenu);\n\n                    items.prepend(actions);\n                }, this)\n            );\n        },\n\n        /**\n         * @private\n         */\n        _toggleMobileMode: function () {\n            this._expandMenu();\n\n            $(this.options.topLevelSubmenu, $(this.options.topLevel, this.element))\n                .removeAttr('style');\n\n            this.toggleAction.insertBefore(this.options.toggleActionPlaceholder);\n            this.mobileNav = $(this.element).detach().clone();\n            this.mainContainer.prepend(this.mobileNav);\n            this.mobileNav.find('> ul').addClass('nav');\n            this._insertExtraItems();\n            this._wrapItemsInSections();\n            this.mobileNav.scroll($.proxy(function () {\n                this._fixedBackLink();\n            }, this));\n\n            this._renderSubmenuActions();\n            this._bindDocumentEvents();\n        },\n\n        /**\n         * @private\n         */\n        _toggleDesktopMode: function () {\n            this.mobileNav && this.mobileNav.remove();\n            this.toggleAction.detach();\n            $(this.element).insertAfter(this.options.origNavPlaceholder);\n\n            $(document)\n                .off('click.toggleMenu', '.action.toggle.nav')\n                .off('click.hideMenu', this.options.pageWrapper)\n                .off('click.showSubmenu', this.options.titleWithSubmenu)\n                .off('click.hideSubmenu', '.action.back');\n\n            this.eventsBound = false;\n\n            this._applySubmenuStyles();\n        },\n\n        /**\n         * @private\n         */\n        _insertExtraItems: function () {\n            var settings, footerSettings, account;\n\n            if ($('.header.panel .switcher').length) {\n                settings = $('.header.panel .switcher')\n                    .clone()\n                    .addClass('settings');\n\n                this.mobileNav.prepend(settings);\n            }\n\n            if ($('.footer .switcher').length) {\n                footerSettings = $('.footer .switcher')\n                    .clone()\n                    .addClass('settings');\n\n                this.mobileNav.prepend(footerSettings);\n            }\n\n            if ($('.header.panel .header.links li').length) {\n                account = $('.header.panel > .header.links')\n                    .clone()\n                    .addClass('account');\n\n                this.mobileNav.prepend(account);\n            }\n        },\n\n        /**\n         * @private\n         */\n        _wrapItemsInSections: function () {\n            var account = $('> .account', this.mobileNav),\n                settings = $('> .settings', this.mobileNav),\n                nav = $('> .nav', this.mobileNav),\n                navigationSectionsWrapper = $(mageTemplate(this.options.navigationSectionsWrapperTemplate, {})),\n                navigationItemWrapper;\n\n            this.mobileNav.append(navigationSectionsWrapper);\n\n            if (nav.length) {\n                navigationItemWrapper = $(mageTemplate(this.options.navigationItemWrapperTemplate, {\n                    title: 'Menu'\n                }));\n                navigationSectionsWrapper.append(navigationItemWrapper);\n                navigationItemWrapper.eq(1).append(nav);\n            }\n\n            if (account.length) {\n                navigationItemWrapper = $(mageTemplate(this.options.navigationItemWrapperTemplate, {\n                    title: 'Account'\n                }));\n                navigationSectionsWrapper.append(navigationItemWrapper);\n                navigationItemWrapper.eq(1).append(account);\n            }\n\n            if (settings.length) {\n                navigationItemWrapper = $(\n                    mageTemplate(this.options.navigationItemWrapperTemplate, {\n                        title: 'Settings'\n                    })\n                );\n                navigationSectionsWrapper.append(navigationItemWrapper);\n                navigationItemWrapper.eq(1).append(settings);\n            }\n\n            navigationSectionsWrapper.addClass(\n                'navigation-tabs-' + navigationSectionsWrapper.find('[data-section=\"title\"]').length\n            );\n            navigationSectionsWrapper.terms();\n        },\n\n        /**\n         * @private\n         */\n        _fixedBackLink: function () {\n            var linksBack = this.mobileNav.find('.submenu .action.back'),\n                linkBack = this.mobileNav.find('.submenu.opened > ul > .action.back').last(),\n                subMenu, navOffset, linkBackHeight;\n\n            linksBack.removeClass('fixed');\n\n            if (linkBack.length) {\n                subMenu = linkBack.parent();\n                navOffset = this.mobileNav.find('.nav').position().top;\n                linkBackHeight = linkBack.height();\n\n                if (navOffset <= 0) {\n                    linkBack.addClass('fixed');\n                    subMenu.css({\n                        paddingTop: linkBackHeight\n                    });\n                } else {\n                    linkBack.removeClass('fixed');\n                    subMenu.css({\n                        paddingTop: 0\n                    });\n                }\n            }\n        }\n    });\n\n    return $.mage.navigationMenu;\n});\n","mage/trim-input.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n\ndefine([\n    'jquery'\n], function ($) {\n    'use strict';\n\n    $.widget('mage.trimInput', {\n        options: {\n            cache: {}\n        },\n\n        /**\n         * Widget initialization\n         * @private\n         */\n        _create: function () {\n            this.options.cache.input = $(this.element);\n            this._bind();\n        },\n\n        /**\n         * Event binding, will monitor change, keyup and paste events.\n         * @private\n         */\n        _bind: function () {\n            if (this.options.cache.input.length) {\n                this._on(this.options.cache.input, {\n                    'change': this._trimInput,\n                    'keyup': this._trimInput,\n                    'paste': this._trimInput\n                });\n            }\n        },\n\n        /**\n         * Trim value\n         * @private\n         */\n        _trimInput: function () {\n            // Safari caret position workaround: storing carter position\n            var caretStart, caretEnd, input;\n\n            caretStart = this.options.cache.input.get(0).selectionStart;\n            caretEnd = this.options.cache.input.get(0).selectionEnd;\n\n            input = this._getInputValue().trim();\n\n            this.options.cache.input.val(input);\n\n            // Safari caret position workaround: setting caret position to previously stored values\n            if (caretStart !== null && caretEnd !== null) {\n                this.options.cache.input.get(0).setSelectionRange(caretStart, caretEnd);\n            }\n        },\n\n        /**\n         * Get input value\n         * @returns {*}\n         * @private\n         */\n        _getInputValue: function () {\n            return this.options.cache.input.val();\n        }\n    });\n\n    return $.mage.trimInput;\n});\n","mage/storage.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n\ndefine(['jquery', 'mage/url'], function ($, urlBuilder) {\n    'use strict';\n\n    return {\n        /**\n         * Perform asynchronous GET request to server.\n         * @param {String} url\n         * @param {Boolean} global\n         * @param {String} contentType\n         * @param {Object} headers\n         * @returns {Deferred}\n         */\n        get: function (url, global, contentType, headers) {\n            headers = headers || {};\n            global = global === undefined ? true : global;\n            contentType = contentType || 'application/json';\n\n            return $.ajax({\n                url: urlBuilder.build(url),\n                type: 'GET',\n                global: global,\n                contentType: contentType,\n                headers: headers\n            });\n        },\n\n        /**\n         * Perform asynchronous POST request to server.\n         * @param {String} url\n         * @param {String} data\n         * @param {Boolean} global\n         * @param {String} contentType\n         * @param {Object} headers\n         * @returns {Deferred}\n         */\n        post: function (url, data, global, contentType, headers) {\n            headers = headers || {};\n            global = global === undefined ? true : global;\n            contentType = contentType || 'application/json';\n\n            return $.ajax({\n                url: urlBuilder.build(url),\n                type: 'POST',\n                data: data,\n                global: global,\n                contentType: contentType,\n                headers: headers\n            });\n        },\n\n        /**\n         * Perform asynchronous PUT request to server.\n         * @param {String} url\n         * @param {String} data\n         * @param {Boolean} global\n         * @param {String} contentType\n         * @param {Object} headers\n         * @returns {Deferred}\n         */\n        put: function (url, data, global, contentType, headers) {\n            var ajaxSettings = {};\n\n            headers = headers || {};\n            global = global === undefined ? true : global;\n            contentType = contentType || 'application/json';\n            ajaxSettings.url = urlBuilder.build(url);\n            ajaxSettings.type = 'PUT';\n            ajaxSettings.data = data;\n            ajaxSettings.global = global;\n            ajaxSettings.contentType = contentType;\n            ajaxSettings.headers = headers;\n\n            return $.ajax(ajaxSettings);\n        },\n\n        /**\n         * Perform asynchronous DELETE request to server.\n         * @param {String} url\n         * @param {Boolean} global\n         * @param {String} contentType\n         * @param {Object} headers\n         * @returns {Deferred}\n         */\n        delete: function (url, global, contentType, headers) {\n            headers = headers || {};\n            global = global === undefined ? true : global;\n            contentType = contentType || 'application/json';\n\n            return $.ajax({\n                url: urlBuilder.build(url),\n                type: 'DELETE',\n                global: global,\n                contentType: contentType,\n                headers: headers\n            });\n        }\n    };\n});\n","mage/decorate.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n\n/* eslint-disable strict */\ndefine([\n    'jquery',\n    'mage/translate'\n], function ($) {\n    var methods = {\n        /**\n         * Decorate a list (e.g. a <ul> containing <li>) recursively if specified.\n         * @param {Boolean} isRecursive\n         */\n        list: function (isRecursive) {\n            return this.each(function () {\n                var list = $(this),\n                    items;\n\n                if (list.length > 0) {\n                    items = typeof isRecursive === 'undefined' || isRecursive ?\n                        list.find('li') :\n                        list.children();\n                    items.decorate('generic', ['odd', 'even', 'last']);\n                }\n            });\n        },\n\n        /**\n         * Annotate a set of DOM elements with decorator classes.\n         * @param {Array} decoratorParams\n         */\n        generic: function (decoratorParams) {\n            var elements = $(this),\n                allSupportedParams;\n\n            if (elements) {\n                allSupportedParams = {\n                    even: 'odd', // Flip jQuery odd/even so that index 0 is odd.\n                    odd: 'even',\n                    last: 'last',\n                    first: 'first'\n                };\n\n                decoratorParams = decoratorParams || allSupportedParams;\n\n                $.each(decoratorParams, function (index, param) {\n                    if (param === 'even' || param === 'odd') {\n                        elements.filter(':' + param).removeClass('odd even').addClass(allSupportedParams[param]);\n                    } else {\n                        elements.filter(':' + param).addClass(allSupportedParams[param]);\n                    }\n                });\n            }\n\n            return this;\n        },\n\n        /**\n         * Decorate DOM elements in an HTML table with specified classes.\n         * @param {Object} instanceOptions\n         */\n        table: function (instanceOptions) {\n            return this.each(function () {\n                var table = $(this),\n                    options;\n\n                if (table.length > 0) {\n                    options = {\n                        'tbody': false,\n                        'tbody tr': ['odd', 'even', 'first', 'last'],\n                        'thead tr': ['first', 'last'],\n                        'tfoot tr': ['first', 'last'],\n                        'tr td': ['last']\n                    };\n\n                    $.extend(options, instanceOptions || {});\n\n                    $.each(options, function (key, value) {\n                        if (options[key]) {\n                            if (key === 'tr td') {\n                                $.each(table.find('tr'), function () {\n                                    $(this).find('td').decorate('generic', options['tr td']);\n                                });\n                            } else {\n                                table.find(key).decorate('generic', value);\n                            }\n                        }\n                    });\n                }\n            });\n        },\n\n        /**\n         * Annotate data list elements with CSS classes.\n         */\n        dataList: function () {\n            return this.each(function () {\n                var list = $(this);\n\n                if (list) {\n                    list.find('dt').decorate('generic', ['odd', 'even', 'last']);\n                    list.find('dd').decorate('generic', ['odd', 'even', 'last']);\n                }\n            });\n        }\n    };\n\n    /**\n     * @param {String} method\n     * @return {*}\n     */\n    $.fn.decorate = function (method) {\n        var message;\n\n        if (methods[method]) {\n            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));\n        } else if (typeof method === 'object' || !method) {\n            return methods.init.apply(this, arguments);\n        }\n\n        message = $.mage.__('Method %s does not exist on jQuery.decorate');\n        // eslint-disable-next-line jquery-no-event-shorthand\n        $.error(message.replace('%s', method));\n    };\n});\n","mage/deletable-item.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n\n/**\n * @deprecated since version 2.2.0\n */\ndefine([\n    'jquery',\n    'jquery-ui-modules/widget'\n], function ($) {\n    'use strict';\n\n    /**\n     * This widget is used to tag a DOM element as deletable. By default, it will use the click event on the item with a\n     * data role of delete to trigger the deletion.\n     */\n    $.widget('mage.deletableItem', {\n        options: {\n            deleteEvent: 'click',\n            deleteSelector: '[data-role=\"delete\"]',\n            hiddenClass: 'no-display'\n        },\n\n        /**\n         * This method binds elements found in this widget.\n         */\n        _bind: function () {\n            var handlers = {};\n\n            // since the first handler is dynamic, generate the object using array notation\n            handlers[this.options.deleteEvent + ' ' + this.options.deleteSelector] = '_onDeleteClicked';\n            handlers.hideDelete = '_onHideDelete';\n            handlers.showDelete = '_onShowDelete';\n\n            this._on(handlers);\n        },\n\n        /**\n         * This method constructs a new widget.\n         */\n        _create: function () {\n            this._bind();\n        },\n\n        /**\n         * This method is to initialize the control\n         * @private\n         */\n        _init: function () {\n            this._onHideDelete(); // by default, hide the control\n        },\n\n        /**\n         * This method removes the entity from the DOM.\n         * @private\n         */\n        _onDeleteClicked: function (e) {\n            e.stopPropagation();\n            this.element.trigger('deleteItem');\n        },\n\n        /**\n         * This method hides the delete capability of this item (i.e. making it not deletable)\n         * @private\n         */\n        _onHideDelete: function () {\n            this.element.find(this.options.deleteSelector).addClass(this.options.hiddenClass);\n        },\n\n        /**\n         * This method shows the delete capability of this item (i.e. making it deletable)\n         * @private\n         */\n        _onShowDelete: function () {\n            this.element.find(this.options.deleteSelector).removeClass(this.options.hiddenClass);\n        }\n    });\n\n    return $.mage.deletableItem;\n});\n","mage/tooltip.js":"/**\n * Copyright \u00a9 Magento, Inc. All rights reserved.\n * See COPYING.txt for license details.\n */\n\n/**\n * @deprecated since version 2.2.0\n */\ndefine([\n    'jquery',\n    'jquery-ui-modules/tooltip'\n], function ($) {\n    'use strict';\n\n    //Widget Wrapper\n    $.widget('mage.tooltip', $.ui.tooltip, {});\n\n    return $.mage.tooltip;\n});\n"}
}});

Spamworldpro Mini