UNPKG

@aurigma/ui-framework

Version:

A platform which allows building print product personalization editors based on Aurigma's Customer's Canvas.

1 lines 69.4 kB
(window.multistep_editor_jsonpFunction=window.multistep_editor_jsonpFunction||[]).push([[3],{821:function(e,n,t){var i,u=t(0),o=t(846),r=t.n(o),o=t(2),a=t(20),c=function(e,n,t,i,o,r,a,s,l){this.src=e,this.w=n,this.h=t,this.loadError=i,this.vGap=o,this.fitRatio=r,this.initialZoomLevel=a,this.bounds=s,this.initialPosition=l},d=t(847),f=t(848);i=a.a,Object(u.d)(s,i),s.prototype.openFunction=function(e){e&&(this.__fillLightBox(this.pswpElement,this.images),this.openLightBox())},s.prototype.connectedCallback=function(){i.prototype.connectedCallback.call(this);var e=document.createElement("div");e.setAttribute("style","position: absolute;z-index: 2147483650;"),e.innerHTML=r.a,document.body.appendChild(e),this.pswpElement=e.lastChild},s.prototype.disconnectedCallback=function(){i.prototype.disconnectedCallback.call(this),this.pswpElement.parentElement.remove()},s.prototype.__fillLightBox=function(e,n){var t,i,n=n.map(function(e){return e.width=e.width||0,e.height=e.height||0,new c(e.urlHD||"",e.width,e.height)}),n=this.currentImageId?n.slice(this.currentImageId).concat(n.slice(0,this.currentImageId)):n,o=(this.__lightbox&&this.__lightbox.close(),new d(e,f,n,this.options));if(o.listen("imageLoadComplete",function(e,n){var t;(n.h<1||n.w<1)&&((t=new Image).onload=function(){n.w=t.width,n.h=t.height,o.invalidateCurrItems(),o.updateSize(!0)},t.src=n.src)}),this.__lightbox=o,this.__lightbox.listen("open",this.openLightBox),this.__lightbox.listen("close",this.closeLightBox),o.init(),this.styles)try{for(var r=Object(u.k)(Object.entries(this.styles)),a=r.next();!a.done;a=r.next()){var s=Object(u.h)(a.value,2),l=s[0],p=s[1];this.__lightbox.container.style.setProperty(l,p)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},s.prototype.openLightBox=function(){document.body.classList.toggle("photoswipe-lightbox"),this.open=!0},s.prototype.closeLightBox=function(){document.body.classList.toggle("photoswipe-lightbox"),this.open=!1},Object(u.c)([Object(o.c)({notify:!0}),Object(u.g)("design:type",Boolean)],s.prototype,"open",void 0),Object(u.c)([Object(o.b)("open"),Object(u.g)("design:type",Function),Object(u.g)("design:paramtypes",[Object]),Object(u.g)("design:returntype",void 0)],s.prototype,"openFunction",null),Object(u.c)([Object(o.c)({notify:!0}),Object(u.g)("design:type",Array)],s.prototype,"images",void 0),Object(u.c)([Object(o.c)(),Object(u.g)("design:type",Number)],s.prototype,"currentImageId",void 0),Object(u.c)([Object(o.c)(),Object(u.g)("design:type",Object)],s.prototype,"styles",void 0),Object(u.c)([Object(o.a)("au-lightbox"),Object(u.g)("design:paramtypes",[])],s);function s(){var e=i.call(this)||this;return e.styles={},e.options={history:!1,focus:!1,showAnimationDuration:0,hideAnimationDuration:0,maxSpreadZoom:4,getDoubleTapZoom:function(e,n){return e||n.initialZoomLevel<.7?1:1.5},clickToCloseNonZoomable:!0,clickToImageZoom:!0,fullscreenEl:!1,arrowEl:!1,zoomEl:!1,shareEl:!1},e.closeLightBox=e.closeLightBox.bind(e),e}},846:function(e,n){e.exports='<style>\n /*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */\n /*\n\tStyles for basic PhotoSwipe functionality (sliding area, open/close transitions)\n*/\n .photoswipe-lightbox {\n overflow: hidden;\n }\n\n /* pswp = photoswipe */\n .pswp {\n display: none;\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n overflow: hidden;\n -ms-touch-action: none;\n touch-action: none;\n z-index: 1500;\n -webkit-text-size-adjust: 100%;\n /* create separate layer, to avoid paint on window.onscroll in webkit/blink */\n -webkit-backface-visibility: hidden;\n outline: none;\n }\n\n .pswp * {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n\n .pswp img {\n max-width: none;\n }\n\n /* style is added when JS option showHideOpacity is set to true */\n .pswp--animate_opacity {\n /* 0.001, because opacity:0 doesn\'t trigger Paint action, which causes lag at start of transition */\n opacity: 0.001;\n will-change: opacity;\n /* for open/close transition */\n -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n }\n\n .pswp--open {\n display: block;\n }\n\n .pswp--zoom-allowed .pswp__img {\n /* autoprefixer: off */\n cursor: -webkit-zoom-in;\n cursor: -moz-zoom-in;\n cursor: zoom-in;\n }\n\n .pswp--zoomed-in .pswp__img {\n /* autoprefixer: off */\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n }\n\n .pswp--dragging .pswp__img {\n /* autoprefixer: off */\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n }\n\n /*\n\tBackground is added as a separate element.\n\tAs animating opacity is much faster than animating rgba() background-color.\n*/\n .pswp__bg {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: var(--carousel-lightbox-background);\n opacity: 0;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-backface-visibility: hidden;\n will-change: opacity;\n }\n\n .pswp__scroll-wrap {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n\n .pswp__container,\n .pswp__zoom-wrap {\n -ms-touch-action: none;\n touch-action: none;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n }\n\n /* Prevent selection and tap highlights */\n .pswp__container,\n .pswp__img {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n }\n\n .pswp__zoom-wrap {\n position: absolute;\n width: 100%;\n -webkit-transform-origin: left top;\n -ms-transform-origin: left top;\n transform-origin: left top;\n /* for open/close transition */\n -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);\n transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);\n }\n\n .pswp__bg {\n will-change: opacity;\n /* for open/close transition */\n -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n }\n\n .pswp--animated-in .pswp__bg,\n .pswp--animated-in .pswp__zoom-wrap {\n -webkit-transition: none;\n transition: none;\n }\n\n .pswp__container,\n .pswp__zoom-wrap {\n -webkit-backface-visibility: hidden;\n }\n\n .pswp__item {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n overflow: hidden;\n }\n\n .pswp__img {\n position: absolute;\n width: auto;\n height: auto;\n top: 0;\n left: 0;\n cursor: zoom-in;\n box-shadow: var(--carousel-lightbox-shadow, 0 2px 8px rgba(0, 0, 0, .2));\n }\n\n /*\n\tstretched thumbnail or div placeholder element (see below)\n\tstyle is added to avoid flickering in webkit/blink when layers overlap\n*/\n .pswp__img--placeholder {\n -webkit-backface-visibility: hidden;\n }\n\n /*\n\tdiv element that matches size of large image\n\tlarge image loads on top of it\n*/\n .pswp__img--placeholder--blank {\n background: #222;\n }\n\n .pswp--ie .pswp__img {\n width: 100% !important;\n height: auto !important;\n left: 0;\n top: 0;\n }\n\n /*\n\tError message appears when image is not loaded\n\t(JS option errorMsg controls markup)\n*/\n .pswp__error-msg {\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 16px;\n margin-top: -8px;\n color: #CCC;\n }\n\n .pswp__error-msg a {\n color: #CCC;\n text-decoration: underline;\n }\n\n button.pswp__button iron-icon {\n color: var(--carousel-lightbox-color);\n z-index: -1;\n }\n</style>\n<style>\n /*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */\n\n /*\n\n\tContents:\n\n\t1. Buttons\n\t2. Share modal and links\n\t3. Index indicator ("1 of X" counter)\n\t4. Caption\n\t5. Loading indicator\n\t6. Additional styles (root element, top bar, idle state, hidden state, etc.)\n\n*/\n\n /*\n\t\n\t1. Buttons\n\n */\n\n /* <button> css reset */\n\n .pswp__button {\n width: 44px;\n height: 44px;\n position: relative;\n background: none;\n cursor: pointer;\n overflow: visible;\n -webkit-appearance: none;\n display: block;\n border: 0;\n padding: 0;\n margin: 0;\n float: right;\n opacity: 0.75;\n -webkit-transition: opacity 0.2s;\n transition: opacity 0.2s;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n\n .pswp__button:focus,\n .pswp__button:hover {\n opacity: 1;\n }\n\n .pswp__button:active {\n outline: none;\n opacity: 0.9;\n }\n\n .pswp__button::-moz-focus-inner {\n padding: 0;\n border: 0;\n }\n\n /* pswp__ui--over-close class it added when mouse is over element that should close gallery */\n\n .pswp__ui--over-close .pswp__button--close {\n opacity: 1;\n }\n\n .pswp__button,\n .pswp__button--arrow--left:before,\n .pswp__button--arrow--right:before {\n background-size: 264px 88px;\n width: 48px;\n height: 48px;\n border-radius: 50%;\n }\n\n @media (-webkit-min-device-pixel-ratio: 1.1),\n (-webkit-min-device-pixel-ratio: 1.09375),\n (min-resolution: 105dpi),\n (min-resolution: 1.1dppx) {\n\n /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */\n .pswp--svg .pswp__button,\n .pswp--svg .pswp__button--arrow--left:before,\n .pswp--svg .pswp__button--arrow--right:before {\n }\n\n .pswp--svg .pswp__button--arrow--left,\n .pswp--svg .pswp__button--arrow--right {\n background: none;\n }\n }\n\n .pswp__button--close {\n background-position: 0 -44px;\n }\n\n .pswp__button--share {\n background-position: -44px -44px;\n }\n\n .pswp__button--fs {\n display: none;\n }\n\n .pswp--supports-fs .pswp__button--fs {\n display: block;\n }\n\n .pswp--fs .pswp__button--fs {\n background-position: -44px 0;\n }\n\n .pswp__button--zoom {\n /* display: none; */\n background-position: -88px 0;\n }\n\n .pswp--zoom-allowed .pswp__button--zoom {\n display: block;\n }\n\n .pswp--zoomed-in .pswp__button--zoom {\n background-position: -132px 0;\n }\n\n /* no arrows on touch screens */\n\n .pswp--touch .pswp__button--arrow--left,\n .pswp--touch .pswp__button--arrow--right {\n visibility: hidden;\n }\n\n /*\n\tArrow buttons hit area\n\t(icon is added to :before pseudo-element)\n*/\n\n .pswp__button--arrow--left,\n .pswp__button--arrow--right {\n background: none;\n top: 50%;\n margin-top: -50px;\n width: 70px;\n height: 100px;\n position: absolute;\n }\n\n .pswp__button--arrow--left {\n left: 0;\n }\n\n .pswp__button--arrow--right {\n right: 0;\n }\n\n .pswp__button--arrow--left:before,\n .pswp__button--arrow--right:before {\n content: \'\';\n top: 26px;\n background-color: rgba(255, 255, 255, 0.8);\n height: 48px;\n width: 48px;\n border-radius: 50%;\n position: absolute;\n margin: 0 7px;\n }\n\n .pswp__button--arrow--left:before {\n left: 6px;\n background-position: -138px -44px;\n }\n\n .pswp__button--arrow--right:before {\n right: 6px;\n background-position: -94px -44px;\n }\n\n /*\n\n\t2. Share modal/popup and links\n\n */\n\n .pswp__counter,\n .pswp__share-modal {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n .pswp__share-modal {\n display: block;\n background: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n padding: 10px;\n position: absolute;\n z-index: 1600;\n opacity: 0;\n -webkit-transition: opacity 0.25s ease-out;\n transition: opacity 0.25s ease-out;\n -webkit-backface-visibility: hidden;\n will-change: opacity;\n }\n\n .pswp__share-modal--hidden {\n display: none;\n }\n\n .pswp__share-tooltip {\n z-index: 1620;\n position: absolute;\n background: #FFF;\n top: 56px;\n border-radius: 2px;\n display: block;\n width: auto;\n right: 44px;\n -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);\n -webkit-transform: translateY(6px);\n -ms-transform: translateY(6px);\n transform: translateY(6px);\n -webkit-transition: -webkit-transform 0.25s;\n transition: transform 0.25s;\n -webkit-backface-visibility: hidden;\n will-change: transform;\n }\n\n .pswp__share-tooltip a {\n display: block;\n padding: 8px 12px;\n color: #000;\n text-decoration: none;\n font-size: 14px;\n line-height: 18px;\n }\n\n .pswp__share-tooltip a:hover {\n text-decoration: none;\n color: #000;\n }\n\n .pswp__share-tooltip a:first-child {\n /* round corners on the first/last list item */\n border-radius: 2px 2px 0 0;\n }\n\n .pswp__share-tooltip a:last-child {\n border-radius: 0 0 2px 2px;\n }\n\n .pswp__share-modal--fade-in {\n opacity: 1;\n }\n\n .pswp__share-modal--fade-in .pswp__share-tooltip {\n -webkit-transform: translateY(0);\n -ms-transform: translateY(0);\n transform: translateY(0);\n }\n\n /* increase size of share links on touch devices */\n\n .pswp--touch .pswp__share-tooltip a {\n padding: 16px 12px;\n }\n\n a.pswp__share--facebook:before {\n content: \'\';\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n top: -12px;\n right: 15px;\n border: 6px solid transparent;\n border-bottom-color: #FFF;\n -webkit-pointer-events: none;\n -moz-pointer-events: none;\n pointer-events: none;\n }\n\n a.pswp__share--facebook:hover {\n background: #3E5C9A;\n color: #FFF;\n }\n\n a.pswp__share--facebook:hover:before {\n border-bottom-color: #3E5C9A;\n }\n\n a.pswp__share--twitter:hover {\n background: #55ACEE;\n color: #FFF;\n }\n\n a.pswp__share--pinterest:hover {\n background: #CCC;\n color: #CE272D;\n }\n\n a.pswp__share--download:hover {\n background: #DDD;\n }\n\n /*\n\n\t3. Index indicator ("1 of X" counter)\n\n */\n\n .pswp__counter {\n position: absolute;\n left: 0;\n top: 0;\n height: 44px;\n font-size: 13px;\n line-height: 44px;\n color: var(--carousel-lightbox-color);\n opacity: 0.75;\n padding: 0 10px;\n }\n\n /*\n\t\n\t4. Caption\n\n */\n\n .pswp__caption {\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n min-height: 44px;\n }\n\n .pswp__caption small {\n font-size: 11px;\n color: #BBB;\n }\n\n .pswp__caption__center {\n text-align: left;\n max-width: 420px;\n margin: 0 auto;\n font-size: 13px;\n padding: 10px;\n line-height: 20px;\n color: #CCC;\n }\n\n .pswp__caption--empty {\n display: none;\n }\n\n /* Fake caption element, used to calculate height of next/prev image */\n\n .pswp__caption--fake {\n visibility: hidden;\n }\n\n /*\n\n\t5. Loading indicator (preloader)\n\n\tYou can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR\n\n */\n\n .pswp__preloader {\n width: 44px;\n height: 44px;\n position: absolute;\n top: 0;\n left: 50%;\n margin-left: -22px;\n opacity: 0;\n -webkit-transition: opacity 0.25s ease-out;\n transition: opacity 0.25s ease-out;\n will-change: opacity;\n direction: ltr;\n }\n\n .pswp__preloader__icn {\n width: 20px;\n height: 20px;\n margin: 12px;\n }\n\n .pswp__preloader--active {\n opacity: 1;\n }\n\n .pswp__preloader--active .pswp__preloader__icn {\n /* We use .gif in browsers that don\'t support CSS animation */\n background: url(preloader.gif) 0 0 no-repeat;\n }\n\n .pswp--css_animation .pswp__preloader--active {\n opacity: 1;\n }\n\n .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {\n -webkit-animation: clockwise 500ms linear infinite;\n animation: clockwise 500ms linear infinite;\n }\n\n .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {\n -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;\n animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;\n }\n\n .pswp--css_animation .pswp__preloader__icn {\n background: none;\n opacity: 0.75;\n width: 14px;\n height: 14px;\n position: absolute;\n left: 15px;\n top: 15px;\n margin: 0;\n }\n\n .pswp--css_animation .pswp__preloader__cut {\n /* \n\t\t\tThe idea of animating inner circle is based on Polymer ("material") loading indicator \n\t\t\t by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html\n\t\t*/\n position: relative;\n width: 7px;\n height: 14px;\n overflow: hidden;\n }\n\n .pswp--css_animation .pswp__preloader__donut {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n border: 2px solid #FFF;\n border-radius: 50%;\n border-left-color: transparent;\n border-bottom-color: transparent;\n position: absolute;\n top: 0;\n left: 0;\n background: none;\n margin: 0;\n }\n\n @media screen and (max-width: 1024px) {\n .pswp__preloader {\n position: relative;\n left: auto;\n top: auto;\n margin: 0;\n float: right;\n }\n }\n\n @-webkit-keyframes clockwise {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n }\n\n @keyframes clockwise {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n }\n\n @-webkit-keyframes donut-rotate {\n 0% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n\n 50% {\n -webkit-transform: rotate(-140deg);\n transform: rotate(-140deg);\n }\n\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n }\n\n @keyframes donut-rotate {\n 0% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n\n 50% {\n -webkit-transform: rotate(-140deg);\n transform: rotate(-140deg);\n }\n\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n }\n\n /*\n\t\n\t6. Additional styles\n\n */\n\n /* root element of UI */\n\n .pswp__ui {\n -webkit-font-smoothing: auto;\n visibility: visible;\n opacity: 1;\n z-index: 1550;\n }\n\n /* top black bar with buttons and "1 of X" indicator */\n\n .pswp__top-bar {\n position: absolute;\n left: 0;\n top: 0;\n height: 44px;\n width: 100%;\n }\n\n .pswp__caption,\n .pswp__top-bar,\n .pswp--has_mouse .pswp__button--arrow--left,\n .pswp--has_mouse .pswp__button--arrow--right {\n -webkit-backface-visibility: hidden;\n will-change: opacity;\n -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);\n }\n\n /* pswp--has_mouse class is added only when two subsequent mousemove events occur */\n\n .pswp--has_mouse .pswp__button--arrow--left,\n .pswp--has_mouse .pswp__button--arrow--right {\n visibility: visible;\n }\n\n .pswp__top-bar,\n .pswp__caption {\n background-color: rgba(var(--carousel-lightbox-background), 0.5);\n }\n\n /* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */\n\n .pswp__ui--fit .pswp__top-bar,\n .pswp__ui--fit .pswp__caption {\n background-color: rgba(var(--carousel-lightbox-background), 0.3);\n }\n\n /* pswp__ui--idle class is added when mouse isn\'t moving for several seconds (JS option timeToIdle) */\n\n .pswp__ui--idle .pswp__top-bar {\n opacity: 0;\n }\n\n .pswp__ui--idle .pswp__button--arrow--left,\n .pswp__ui--idle .pswp__button--arrow--right {\n opacity: 0;\n }\n\n /*\n\tpswp__ui--hidden class is added when controls are hidden\n\te.g. when user taps to toggle visibility of controls\n*/\n\n .pswp__ui--hidden .pswp__top-bar,\n .pswp__ui--hidden .pswp__caption,\n .pswp__ui--hidden .pswp__button--arrow--left,\n .pswp__ui--hidden .pswp__button--arrow--right {\n /* Force paint & create composition layer for controls. */\n opacity: 0.001;\n }\n\n /* pswp__ui--one-slide class is added when there is just one item in gallery */\n\n .pswp__ui--one-slide .pswp__button--arrow--left,\n .pswp__ui--one-slide .pswp__button--arrow--right,\n .pswp__ui--one-slide .pswp__counter {\n display: none;\n }\n\n .pswp__element--disabled {\n display: none !important;\n }\n\n .pswp--minimal--dark .pswp__top-bar {\n background: none;\n }\n</style>\n\x3c!-- Root element of PhotoSwipe. Must have class pswp. --\x3e\n<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true" id="pswp">\n\n \x3c!-- Background of PhotoSwipe. \n It\'s a separate element as animating opacity is faster than rgba(). --\x3e\n <div class="pswp__bg"></div>\n\n \x3c!-- Slides wrapper with overflow:hidden. --\x3e\n <div class="pswp__scroll-wrap">\n\n \x3c!-- Container that holds slides. \n PhotoSwipe keeps only 3 of them in the DOM to save memory.\n Don\'t modify these 3 pswp__item elements, data is added later on. --\x3e\n <div class="pswp__container">\n <div class="pswp__item"></div>\n <div class="pswp__item"></div>\n <div class="pswp__item"></div>\n </div>\n\n \x3c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\x3e\n <div class="pswp__ui pswp__ui--hidden">\n\n <div class="pswp__top-bar">\n\n \x3c!-- Controls are self-explanatory. Order can be changed. --\x3e\n\n <div class="pswp__counter"></div>\n\n <button class="pswp__button pswp__button--close" title="Close (Esc)">\n <iron-icon icon="au-icons:close"></iron-icon>\n <au-icon-fixer></au-icon-fixer>\n </button>\n\n <button class="pswp__button pswp__button--share" title="Share">\n <iron-icon icon="au-icons:shape"></iron-icon>\n <au-icon-fixer></au-icon-fixer>\n </button>\n\n <button class="pswp__button pswp__button--fs" title="Toggle fullscreen">\n <iron-icon icon="au-icons:full_screen"></iron-icon>\n <au-icon-fixer></au-icon-fixer>\n </button>\n\n <button class="pswp__button pswp__button--zoom" title="Zoom in/out">\n <iron-icon icon="au-icons:zoom"></iron-icon>\n <au-icon-fixer></au-icon-fixer>\n </button>\n\n \x3c!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --\x3e\n \x3c!-- element will get class pswp__preloader--active when preloader is running --\x3e\n <div class="pswp__preloader">\n <div class="pswp__preloader__icn">\n <div class="pswp__preloader__cut">\n <div class="pswp__preloader__donut"></div>\n </div>\n </div>\n </div>\n </div>\n\n <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">\n <div class="pswp__share-tooltip"></div>\n </div>\n\n <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">\n <iron-icon icon="au-icons:chevron_left"></iron-icon>\n <au-icon-fixer></au-icon-fixer>\n </button>\n\n <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">\n <iron-icon icon="au-icons:chevron_right"></iron-icon>\n <au-icon-fixer></au-icon-fixer>\n </button>\n\n <div class="pswp__caption">\n <div class="pswp__caption__center"></div>\n </div>\n\n </div>\n\n </div>\n\n</div>'},847:function(e,n,t){var i;function Pt(e){return(Pt="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)}void 0!==(t="function"==typeof(i=function(){"use strict";var e;return function e(d,U,n,t){var w={features:null,bind:function e(n,t,i,o){var r=(o?"remove":"add")+"EventListener";t=t.split(" ");for(var a=0;a<t.length;a++)if(t[a])n[r](t[a],i,false)},isArray:function e(n){return n instanceof Array},createEl:function e(n,t){var i=document.createElement(t||"div");if(n)i.className=n;return i},getScrollY:function e(){var n=window.pageYOffset;return n!==undefined?n:document.documentElement.scrollTop},unbind:function e(n,t,i){w.bind(n,t,i,true)},removeClass:function e(n,t){var i=new RegExp("(\\s|^)"+t+"(\\s|$)");n.className=n.className.replace(i," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")},addClass:function e(n,t){if(!w.hasClass(n,t))n.className+=(n.className?" ":"")+t},hasClass:function e(n,t){return n.className&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(n.className)},getChildByClass:function e(n,t){var i=n.firstChild;while(i){if(w.hasClass(i,t))return i;i=i.nextSibling}},arraySearch:function e(n,t,i){var o=n.length;while(o--)if(n[o][i]===t)return o;return-1},extend:function e(n,t,i){for(var o in t)if(t.hasOwnProperty(o)){if(i&&n.hasOwnProperty(o))continue;n[o]=t[o]}},easing:{sine:{out:function e(n){return Math.sin(n*(Math.PI/2))},inOut:function e(n){return-(Math.cos(Math.PI*n)-1)/2}},cubic:{out:function e(n){return--n*n*n+1}}},detectFeatures:function e(){if(w.features)return w.features;var n=w.createEl(),t=n.style,i="",o={};o.oldIE=document.all&&!document.addEventListener;o.touch="ontouchstart"in window;if(window.requestAnimationFrame){o.raf=window.requestAnimationFrame;o.caf=window.cancelAnimationFrame}o.pointerEvent=navigator.pointerEnabled||navigator.msPointerEnabled;if(!o.pointerEvent){var r=navigator.userAgent;if(/iP(hone|od)/.test(navigator.platform)){var a=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);if(a&&a.length>0){a=parseInt(a[1],10);if(a>=1&&a<8)o.isOldIOSPhone=true}}var s=r.match(/Android\s([0-9\.]*)/);var l=s?s[1]:0;l=parseFloat(l);if(l>=1){if(l<4.4)o.isOldAndroid=true;o.androidVersion=l}o.isMobileOpera=/opera mini|opera mobi/i.test(r)}var p=["transform","perspective","animationName"],u=["","webkit","Moz","ms","O"],c,d;for(var f=0;f<4;f++){i=u[f];for(var m=0;m<3;m++){c=p[m];d=i+(i?c.charAt(0).toUpperCase()+c.slice(1):c);if(!o[c]&&d in t)o[c]=d}if(i&&!o.raf){i=i.toLowerCase();o.raf=window[i+"RequestAnimationFrame"];if(o.raf)o.caf=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}}if(!o.raf){var h=0;o.raf=function(e){var n=(new Date).getTime();var t=Math.max(0,16-(n-h));var i=window.setTimeout(function(){e(n+t)},t);h=n+t;return i};o.caf=function(e){clearTimeout(e)}}o.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;w.features=o;return o}};w.detectFeatures();if(w.features.oldIE)w.bind=function(e,n,t,i){n=n.split(" ");var o=(i?"detach":"attach")+"Event",r,a=function e(){t.handleEvent.call(t)};for(var s=0;s<n.length;s++){r=n[s];if(r)if(Pt(t)==="object"&&t.handleEvent){if(!i)t["oldIE"+r]=a;else if(!t["oldIE"+r])return false;e[o]("on"+r,t["oldIE"+r])}else e[o]("on"+r,t)}};var f=this;var i=25,K=3;var m={allowPanToNext:true,spacing:.12,bgOpacity:1,mouseUsed:false,loop:true,pinchToClose:true,closeOnScroll:false,closeOnVerticalDrag:true,verticalDragRange:.75,hideAnimationDuration:333,showAnimationDuration:333,showHideOpacity:false,focus:true,escKey:true,arrowKeys:true,mainScrollEndFriction:.35,panEndFriction:.35,isClickableElement:function e(n){return n.tagName==="A"},getDoubleTapZoom:function e(n,t){if(n)return 1;else return t.initialZoomLevel<.7?1:1.33},maxSpreadZoom:1.33,modal:true,scaleMode:"fit"};w.extend(m,t);var o=function e(){return{x:0,y:0}};var j,H,W,h,Y,s,G=o(),q=o(),b=o(),V,X,r,p={},g,J,$,Q,ee,ne,te=0,ie={},c=o(),l,oe,_=0,re,ae,se,le,pe,ue,ce=true,a,de=[],fe,me,he,we,be,ge,v,_e={},ve=false,xe,ye=function e(n,t){w.extend(f,t.publicMethods);de.push(n)},ke=function e(n){var t=P();if(n>t-1)return n-t;else if(n<0)return t+n;return n},Ce={},u=function e(n,t){if(!Ce[n])Ce[n]=[];return Ce[n].push(t)},x=function e(n){var t=Ce[n];if(t){var i=Array.prototype.slice.call(arguments);i.shift();for(var o=0;o<t.length;o++)t[o].apply(f,i)}},y=function e(){return(new Date).getTime()},k=function e(n){Tn=n;f.bg.style.opacity=n*m.bgOpacity},Ie=function e(n,t,i,o,r){if(!ve||r&&r!==f.currItem)o=o/(r?r.fitRatio:f.currItem.fitRatio);n[pe]=$+t+"px, "+i+"px"+Q+" scale("+o+")"},C=function e(n){if(A){if(n)if(g>f.currItem.fitRatio){if(!ve){bt(f.currItem,false,true);ve=true}}else if(ve){bt(f.currItem);ve=false}Ie(A,b.x,b.y,g)}},Te=function e(n){if(n.container)Ie(n.container.style,n.initialPosition.x,n.initialPosition.y,n.initialZoomLevel,n)},Ee=function e(n,t){t[pe]=$+n+"px, 0px"+Q},Se=function e(n,t){if(!m.loop&&t){var i=h+(c.x*te-n)/c.x,o=Math.round(n-vn.x);if(i<0&&o>0||i>=P()-1&&o<0)n=vn.x+o*m.mainScrollEndFriction}vn.x=n;Ee(n,Y)},De=function e(n,t){var i=xn[n]-ie[n];return q[n]+G[n]+i-i*(t/J)},I=function e(n,t){n.x=t.x;n.y=t.y;if(t.id)n.id=t.id},Oe=function e(n){n.x=Math.round(n.x);n.y=Math.round(n.y)},Fe=null,ze=function e(){if(Fe){w.unbind(document,"mousemove",e);w.addClass(d,"pswp--has_mouse");m.mouseUsed=true;x("mouseUsed")}Fe=setTimeout(function(){Fe=null},100)},Me=function e(){w.bind(document,"keydown",f);if(v.transform)w.bind(f.scrollWrap,"click",f);if(!m.mouseUsed)w.bind(document,"mousemove",ze);w.bind(window,"resize scroll orientationchange",f);x("bindEvents")},Ae=function e(){w.unbind(window,"resize scroll orientationchange",f);w.unbind(window,"scroll",r.scroll);w.unbind(document,"keydown",f);w.unbind(document,"mousemove",ze);if(v.transform)w.unbind(f.scrollWrap,"click",f);if(O)w.unbind(window,V,f);clearTimeout(xe);x("unbindEvents")},Le=function e(n,t){var i=ft(f.currItem,p,n);if(t)M=i;return i},Re=function e(n){if(!n)n=f.currItem;return n.initialZoomLevel},Pe=function e(n){if(!n)n=f.currItem;return n.w>0?m.maxSpreadZoom:1},Ze=function e(n,t,i,o){if(o===f.currItem.initialZoomLevel){i[n]=f.currItem.initialPosition[n];return true}else{i[n]=De(n,o);if(i[n]>t.min[n]){i[n]=t.min[n];return true}else if(i[n]<t.max[n]){i[n]=t.max[n];return true}}return false},Be=function e(){if(pe){var n=v.perspective&&!a;$="translate"+(n?"3d(":"(");Q=v.perspective?", 0px)":")";return}pe="left";w.addClass(d,"pswp--ie");Ee=function e(n,t){t.left=n+"px"};Te=function e(n){var t=n.fitRatio>1?1:n.fitRatio,i=n.container.style,o=t*n.w,r=t*n.h;i.width=o+"px";i.height=r+"px";i.left=n.initialPosition.x+"px";i.top=n.initialPosition.y+"px"};C=function e(){if(A){var n=A,t=f.currItem,i=t.fitRatio>1?1:t.fitRatio,o=i*t.w,r=i*t.h;n.width=o+"px";n.height=r+"px";n.left=b.x+"px";n.top=b.y+"px"}}},Ne=function e(n){var t="";if(m.escKey&&n.keyCode===27)t="close";else if(m.arrowKeys)if(n.keyCode===37)t="prev";else if(n.keyCode===39)t="next";if(t)if(!n.ctrlKey&&!n.altKey&&!n.shiftKey&&!n.metaKey){if(n.preventDefault)n.preventDefault();else n.returnValue=false;f[t]()}},Ue=function e(n){if(!n)return;if(hn||mn||L||ln){n.preventDefault();n.stopPropagation()}},Ke=function e(){f.setScrollOffset(0,w.getScrollY())};var T={},je=0,He=function e(n){if(T[n]){if(T[n].raf)me(T[n].raf);je--;delete T[n]}},We=function e(n){if(T[n])He(n);if(!T[n]){je++;T[n]={}}},Ye=function e(){for(var n in T)if(T.hasOwnProperty(n))He(n)},Ge=function e(n,t,i,o,r,a,s){var l=y(),p;We(n);var u=function e(){if(T[n]){p=y()-l;if(p>=o){He(n);a(i);if(s)s();return}a((i-t)*r(p/o)+t);T[n].raf=fe(e)}};u()};var qe={shout:x,listen:u,viewportSize:p,options:m,isMainScrollAnimating:function e(){return L},getZoomLevel:function e(){return g},getCurrentIndex:function e(){return h},isDragging:function e(){return O},isZooming:function e(){return z},setScrollOffset:function e(n,t){ie.x=n;ge=ie.y=t;x("updateScrollOffset",ie)},applyZoomPan:function e(n,t,i,o){b.x=t;b.y=i;g=n;C(o)},init:function e(){if(j||H)return;var n;f.framework=w;f.template=d;f.bg=w.getChildByClass(d,"pswp__bg");he=d.className;j=true;v=w.detectFeatures();fe=v.raf;me=v.caf;pe=v.transform;be=v.oldIE;f.scrollWrap=w.getChildByClass(d,"pswp__scroll-wrap");f.container=w.getChildByClass(f.scrollWrap,"pswp__container");Y=f.container.style;f.itemHolders=l=[{el:f.container.children[0],wrap:0,index:-1},{el:f.container.children[1],wrap:0,index:-1},{el:f.container.children[2],wrap:0,index:-1}];l[0].el.style.display=l[2].el.style.display="none";Be();r={resize:f.updateSize,orientationchange:function e(){clearTimeout(xe);xe=setTimeout(function(){if(p.x!==f.scrollWrap.clientWidth)f.updateSize()},500)},scroll:Ke,keydown:Ne,click:Ue};var t=v.isOldIOSPhone||v.isOldAndroid||v.isMobileOpera;if(!v.animationName||!v.transform||t)m.showAnimationDuration=m.hideAnimationDuration=0;for(n=0;n<de.length;n++)f["init"+de[n]]();if(U){var i=f.ui=new U(f,w);i.init()}x("firstUpdate");h=h||m.index||0;if(isNaN(h)||h<0||h>=P())h=0;f.currItem=pt(h);if(v.isOldIOSPhone||v.isOldAndroid)ce=false;d.setAttribute("aria-hidden","false");if(m.modal)if(!ce){d.style.position="absolute";d.style.top=w.getScrollY()+"px"}else d.style.position="fixed";if(ge===undefined){x("initialLayout");ge=we=w.getScrollY()}var o="pswp--open ";if(m.mainClass)o+=m.mainClass+" ";if(m.showHideOpacity)o+="pswp--animate_opacity ";o+=a?"pswp--touch":"pswp--notouch";o+=v.animationName?" pswp--css_animation":"";o+=v.svg?" pswp--svg":"";w.addClass(d,o);f.updateSize();s=-1;_=null;for(n=0;n<K;n++)Ee((n+s)*c.x,l[n].el.style);if(!be)w.bind(f.scrollWrap,X,f);u("initialZoomInEnd",function(){f.setContent(l[0],h-1);f.setContent(l[2],h+1);l[0].el.style.display=l[2].el.style.display="block";if(m.focus)d.focus();Me()});f.setContent(l[1],h);f.updateCurrItem();x("afterInit");if(!ce)ee=setInterval(function(){if(!je&&!O&&!z&&g===f.currItem.initialZoomLevel)f.updateSize()},1e3);w.addClass(d,"pswp--visible")},close:function e(){if(!j)return;j=false;H=true;x("close");Ae();it(f.currItem,null,true,f.destroy)},destroy:function e(){x("destroy");if(tt)clearTimeout(tt);d.setAttribute("aria-hidden","true");d.className=he;if(ee)clearInterval(ee);w.unbind(f.scrollWrap,X,f);w.unbind(window,"scroll",f);Fn();Ye();Ce=null},panTo:function e(n,t,i){if(!i){if(n>M.min.x)n=M.min.x;else if(n<M.max.x)n=M.max.x;if(t>M.min.y)t=M.min.y;else if(t<M.max.y)t=M.max.y}b.x=n;b.y=t;C()},handleEvent:function e(n){n=n||window.event;if(r[n.type])r[n.type](n)},goTo:function e(n){n=ke(n);var t=n-h;_=t;h=n;f.currItem=pt(h);te-=t;Se(c.x*te);Ye();L=false;f.updateCurrItem()},next:function e(){f.goTo(h+1)},prev:function e(){f.goTo(h-1)},updateCurrZoomItem:function e(n){if(n)x("beforeChange",0);if(l[1].el.children.length){var t=l[1].el.children[0];if(w.hasClass(t,"pswp__zoom-wrap"))A=t.style;else A=null}else A=null;M=f.currItem.bounds;J=g=f.currItem.initialZoomLevel;b.x=M.center.x;b.y=M.center.y;if(n)x("afterChange")},invalidateCurrItems:function e(){ne=true;for(var n=0;n<K;n++)if(l[n].item)l[n].item.needsUpdate=true},updateCurrItem:function e(n){if(_===0)return;var t=Math.abs(_),i;if(n&&t<2)return;f.currItem=pt(h);ve=false;x("beforeChange",_);if(t>=K){s+=_+(_>0?-K:K);t=K}for(var o=0;o<t;o++)if(_>0){i=l.shift();l[K-1]=i;s++;Ee((s+2)*c.x,i.el.style);f.setContent(i,h-t+o+1+1)}else{i=l.pop();l.unshift(i);s--;Ee(s*c.x,i.el.style);f.setContent(i,h+t-o-1-1)}if(A&&Math.abs(_)===1){var r=pt(oe);if(r.initialZoomLevel!==g){ft(r,p);bt(r);Te(r)}}_=0;f.updateCurrZoomItem();oe=h;x("afterChange")},updateSize:function e(n){if(!ce&&m.modal){var t=w.getScrollY();if(ge!==t){d.style.top=t+"px";ge=t}if(!n&&_e.x===window.innerWidth&&_e.y===window.innerHeight)return;_e.x=window.innerWidth;_e.y=window.innerHeight;d.style.height=_e.y+"px"}p.x=f.scrollWrap.clientWidth;p.y=f.scrollWrap.clientHeight;Ke();c.x=p.x+Math.round(p.x*m.spacing);c.y=p.y;Se(c.x*te);x("beforeResize");if(s!==undefined){var i,o,r;for(var a=0;a<K;a++){i=l[a];Ee((a+s)*c.x,i.el.style);r=h+a-1;if(m.loop&&P()>2)r=ke(r);o=pt(r);if(o&&(ne||o.needsUpdate||!o.bounds)){f.cleanSlide(o);f.setContent(i,r);if(a===1){f.currItem=o;f.updateCurrZoomItem(true)}o.needsUpdate=false}else if(i.index===-1&&r>=0)f.setContent(i,r);if(o&&o.container){ft(o,p);bt(o);Te(o)}}ne=false}J=g=f.currItem.initialZoomLevel;M=f.currItem.bounds;if(M){b.x=M.center.x;b.y=M.center.y;C(true)}x("resize")},zoomTo:function e(t,n,i,o,r){if(n){J=g;xn.x=Math.abs(n.x)-b.x;xn.y=Math.abs(n.y)-b.y;I(q,b)}var a=Le(t,false),s={};Ze("x",a,s,t);Ze("y",a,s,t);var l=g;var p={x:b.x,y:b.y};Oe(s);var u=function e(n){if(n===1){g=t;b.x=s.x;b.y=s.y}else{g=(t-l)*n+l;b.x=(s.x-p.x)*n+p.x;b.y=(s.y-p.y)*n+p.y}if(r)r(n);C(n===1)};if(i)Ge("customZoomTo",0,1,i,o||w.easing.sine.inOut,u);else u(1)}};var Ve=30,Xe=10;var Je,$e,E={},Qe={},S={},D={},en={},nn=[],tn={},on,rn=[],an={},sn,ln,pn,un=0,cn=o(),dn=0,O,fn,mn,hn,wn,bn,F,z,gn,_n,M,vn=o(),A,L,xn=o(),yn=o(),kn,Cn,In,Tn,En,Sn=function e(n,t){return n.x===t.x&&n.y===t.y},Dn=function e(n,t){return Math.abs(n.x-t.x)<i&&Math.abs(n.y-t.y)<i},On=function e(n,t){an.x=Math.abs(n.x-t.x);an.y=Math.abs(n.y-t.y);return Math.sqrt(an.x*an.x+an.y*an.y)},Fn=function e(){if(wn){me(wn);wn=null}},zn=function e(){if(O){wn=fe(e);Vn()}},Mn=function e(){return!(m.scaleMode==="fit"&&g===f.currItem.initialZoomLevel)},An=function e(n,t){if(!n||n===document)return false;if(n.getAttribute("class")&&n.getAttribute("class").indexOf("pswp__scroll-wrap")>-1)return false;if(t(n))return n;return e(n.parentNode,t)},Ln={},Rn=function e(n,t){Ln.prevent=!An(n.target,m.isClickableElement);x("preventDragEvent",n,t,Ln);return Ln.prevent},Pn=function e(n,t){t.x=n.pageX;t.y=n.pageY;t.id=n.identifier;return t},Zn=function e(n,t,i){i.x=(n.x+t.x)*.5;i.y=(n.y+t.y)*.5},Bn=function e(n,t,i){if(n-$e>50){var o=rn.length>2?rn.shift():{};o.x=t;o.y=i;rn.push(o);$e=n}},Nn=function e(){var n=b.y-f.currItem.initialPosition.y;return 1-Math.abs(n/(p.y/2))},Un={},Kn={},jn=[],Hn,Wn=function e(n){while(jn.length>0)jn.pop();if(!ue)if(n.type.indexOf("touch")>-1){if(n.touches&&n.touches.length>0){jn[0]=Pn(n.touches[0],Un);if(n.touches.length>1)jn[1]=Pn(n.touches[1],Kn)}}else{Un.x=n.pageX;Un.y=n.pageY;Un.id="";jn[0]=Un}else{Hn=0;nn.forEach(function(e){if(Hn===0)jn[0]=e;else if(Hn===1)jn[1]=e;Hn++})}return jn},Yn=function e(n,t){var i,o=0,r=b[n]+t[n],a,s=t[n]>0,l=vn.x+t.x,p=vn.x-tn.x,u,c;if(r>M.min[n]||r<M.max[n])i=m.panEndFriction;else i=1;r=b[n]+t[n]*i;if(m.allowPanToNext||g===f.currItem.initialZoomLevel){if(!A)c=l;else if(kn==="h"&&n==="x"&&!mn)if(s){if(r>M.min[n]){i=m.panEndFriction;o=M.min[n]-r;a=M.min[n]-q[n]}if((a<=0||p<0)&&P()>1){c=l;if(p<0&&l>tn.x)c=tn.x}else if(M.min.x!==M.max.x)u=r}else{if(r<M.max[n]){i=m.panEndFriction;o=r-M.max[n];a=q[n]-M.max[n]}if((a<=0||p>0)&&P()>1){c=l;if(p>0&&l<tn.x)c=tn.x}else if(M.min.x!==M.max.x)u=r}if(n==="x"){if(c!==undefined){Se(c,true);if(c===tn.x)bn=false;else bn=true}if(M.min.x!==M.max.x)if(u!==undefined)b.x=u;else if(!bn)b.x+=t.x*i;return c!==undefined}}if(!L)if(!bn)if(g>f.currItem.fitRatio)b[n]+=t[n]*i},Gn=function e(n){if(n.type==="mousedown"&&n.button>0)return;if(st){n.preventDefault();return}if(pn&&n.type==="mousedown")return;if(Rn(n,true))n.preventDefault();x("pointerDown");if(ue){var t=w.arraySearch(nn,n.pointerId,"id");if(t<0)t=nn.length;nn[t]={x:n.pageX,y:n.pageY,id:n.pointerId}}var i=Wn(n),o=i.length;F=null;Ye();if(!O||o===1){O=Cn=true;w.bind(window,V,f);sn=En=In=ln=bn=hn=fn=mn=false;kn=null;x("firstTouchStart",i);I(q,b);G.x=G.y=0;I(D,i[0]);I(en,D);tn.x=c.x*te;rn=[{x:D.x,y:D.y}];$e=Je=y();Le(g,true);Fn();zn()}if(!z&&o>1&&!L&&!bn){J=g;mn=false;z=fn=true;G.y=G.x=0;I(q,b);I(E,i[0]);I(Qe,i[1]);Zn(E,Qe,yn);xn.x=Math.abs(yn.x)-b.x;xn.y=Math.abs(yn.y)-b.y;gn=_n=On(E,Qe)}},qn=function e(n){n.preventDefault();if(ue){var t=w.arraySearch(nn,n.pointerId,"id");if(t>-1){var i=nn[t];i.x=n.pageX;i.y=n.pageY}}if(O){var o=Wn(n);if(!kn&&!hn&&!z)if(vn.x!==c.x*te)kn="h";else{var r=Math.abs(o[0].x-D.x)-Math.abs(o[0].y-D.y);if(Math.abs(r)>=Xe){kn=r>0?"h":"v";F=o}}else F=o}},Vn=function e(){if(!F)return;var n=F.length;if(n===0)return;I(E,F[0]);S.x=E.x-D.x;S.y=E.y-D.y;if(z&&n>1){D.x=E.x;D.y=E.y;if(!S.x&&!S.y&&Sn(F[1],Qe))return;I(Qe,F[1]);if(!mn){mn=true;x("zoomGestureStarted")}var t=On(E,Qe);var i=et(t);if(i>f.currItem.initialZoomLevel+f.currItem.initialZoomLevel/15)En=true;var o=1,r=Re(),a=Pe();if(i<r)if(m.pinchToClose&&!En&&J<=f.currItem.initialZoomLevel){var s=r-i;var l=1-s/(r/1.2);k(l);x("onPinchClose",l);In=true}else{o=(r-i)/r;if(o>1)o=1;i=r-o*(r/3)}else if(i>a){o=(i-a)/(r*6);if(o>1)o=1;i=a+o*r}if(o<0)o=0;gn=t;Zn(E,Qe,cn);G.x+=cn.x-yn.x;G.y+=cn.y-yn.y;I(yn,cn);b.x=De("x",i);b.y=De("y",i);sn=i>g;g=i;C()}else{if(!kn)return;if(Cn){Cn=false;if(Math.abs(S.x)>=Xe)S.x-=F[0].x-en.x;if(Math.abs(S.y)>=Xe)S.y-=F[0].y-en.y}D.x=E.x;D.y=E.y;if(S.x===0&&S.y===0)return;if(kn==="v"&&m.closeOnVerticalDrag)if(!Mn()){G.y+=S.y;b.y+=S.y;var p=Nn();ln=true;x("onVerticalDrag",p);k(p);C();return}Bn(y(),E.x,E.y);hn=true;M=f.currItem.bounds;var u=Yn("x",S);if(!u){Yn("y",S);Oe(b);C()}}},Xn=function e(n){if(v.isOldAndroid){if(pn&&n.type==="mouseup")return;if(n.type.indexOf("touch")>-1){clearTimeout(pn);pn=setTimeout(function(){pn=0},600)}}x("pointerUp");if(Rn(n,false))n.preventDefault();var t;if(ue){var i=w.arraySearch(nn,n.pointerId,"id");if(i>-1){t=nn.splice(i,1)[0];if(navigator.pointerEnabled)t.type=n.pointerType||"mouse";else{var o={4:"mouse",2:"touch",3:"pen"};t.type=o[n.pointerType];if(!t.type)t.type=n.pointerType||"mouse"}}}var r=Wn(n),a,s=r.length;if(n.type==="mouseup")s=0;if(s===2){F=null;return true}if(s===1)I(en,r[0]);if(s===0&&!kn&&!L){if(!t)if(n.type==="mouseup")t={x:n.pageX,y:n.pageY,type:"mouse"};else if(n.changedTouches&&n.changedTouches[0])t={x:n.changedTouches[0].pageX,y:n.changedTouches[0].pageY,type:"touch"};x("touchRelease",n,t)}var l=-1;if(s===0){O=false;w.unbind(window,V,f);Fn();if(z)l=0;else if(dn!==-1)l=y()-dn}dn=s===1?y():-1;if(l!==-1&&l<150)a="zoom";else a="swipe";if(z&&s<2){z=false;if(s===1)a="zoomPointerUp";x("zoomGestureEnded")}F=null;if(!hn&&!mn&&!L&&!ln)return;Ye();if(!on)on=Jn();on.calculateSwipeSpeed("x");if(ln){var p=Nn();if(p<m.verticalDragRange)f.close();else{var u=b.y,c=Tn;Ge("verticalDrag",0,1,300,w.easing.cubic.out,function(e){b.y=(f.currItem.initialPosition.y-u)*e+u;k((1-c)*e+c);C()});x("onVerticalDrag",1)}return}if((bn||L)&&s===0){var d=Qn(a,on);if(d)return;a="zoomPointerUp"}if(L)return;if(a!=="swipe"){nt();return}if(!bn&&g>f.currItem.fitRatio)$n(on)},Jn=function e(){var t,i;var o={lastFlickOffset:{},lastFlickDist:{},lastFlickSpeed:{},slowDownRatio:{},slowDownRatioReverse:{},speedDecelerationRatio:{},speedDecelerationRatioAbs:{},distanceOffset:{},backAnimDestination:{},backAnimStarted:{},calculateSwipeSpeed:function e(n){if(rn.length>1){t=y()-$e+50;i=rn[rn.length-2][n]}else{t=y()-Je;i=en[n]}o.lastFlickOffset[n]=D[n]-i;o.lastFlickDist[n]=Math.abs(o.lastFlickOffset[n]);if(o.lastFlickDist[n]>20)o.lastFlickSpeed[n]=o.lastFlickOffset[n]/t;else o.lastFlickSpeed[n]=0;if(Math.abs(o.lastFlickSpeed[n])<.1)o.lastFlickSpeed[n]=0;o.slowDownRatio[n]=.95;o.slowDownRatioReverse[n]=1-o.slowDownRatio[n];o.speedDecelerationRatio[n]=1},calculateOverBoundsAnimOffset:function e(n,t){if(!o.backAnimStarted[n]){if(b[n]>M.min[n])o.backAnimDestination[n]=M.min[n];else if(b[n]<M.max[n])o.backAnimDestination[n]=M.max[n];if(o.backAnimDestination[n]!==undefined){o.slowDownRatio[n]=.7;o.slowDownRatioReverse[n]=1-o.slowDownRatio[n];if(o.speedDecelerationRatioAbs[n]<.05){o.lastFlickSpeed[n]=0;o.backAnimStarted[n]=true;Ge("bounceZoomPan"+n,b[n],o.backAnimDestination[n],t||300,w.easing.sine.out,function(e){b[n]=e;C()})}}}},calculateAnimOffset:function e(n){if(!o.backAnimStarted[n]){o.speedDecelerationRatio[n]=o.speedDecelerationRatio[n]*(o.slowDownRatio[n]+o.slowDownRatioReverse[n]-o.slowDownRatioReverse[n]*o.timeDiff/10);o.speedDecelerationRatioAbs[n]=Math.abs(o.lastFlickSpeed[n]*o.speedDecelerationRatio[n]);o.distanceOffset[n]=o.lastFlickSpeed[n]*o.speedDecelerationRatio[n]*o.timeDiff;b[n]+=o.distanceOffset[n]}},panAnimLoop:function e(){if(T.zoomPan){T.zoomPan.raf=fe(o.panAnimLoop);o.now=y();o.timeDiff=o.now-o.lastNow;o.lastNow=o.now;o.calculateAnimOffset("x");o.calculateAnimOffset("y");C();o.calculateOverBoundsAnimOffset("x");o.calculateOverBoundsAnimOffset("y");if(o.speedDecelerationRatioAbs.x<.05&&o.speedDecelerationRatioAbs.y<.05){b.x=Math.round(b.x);b.y=Math.round(b.y);C();He("zoomPan");return}}}};return o},$n=function e(n){n.calculateSwipeSpeed("y");M=f.currItem.bounds;n.backAnimDestination={};n.backAnimStarted={};if(Math.abs(n.lastFlickSpeed.x)<=.05&&Math.abs(n.lastFlickSpeed.y)<=.05){n.speedDecelerationRatioAbs.x=n.speedDecelerationRatioAbs.y=0;n.calculateOverBoundsAnimOffset("x");n.calculateOverBoundsAnimOffset("y");return true}We("zoomPan");n.lastNow=y();n.panAnimLoop()},Qn=function e(n,t){var i;if(!L)un=h;var o;if(n==="swipe"){var r=D.x-en.x,a=t.lastFlickDist.x<10;if(r>Ve&&(a||t.lastFlickOffset.x>20))o=-1;else if(r<-Ve&&(a||t.lastFlickOffset.x<-20))o=1}var s;if(o){h+=o;if(h<0){h=m.loop?P()-1:0;s=true}else if(h>=P()){h=m.loop?0:P()-1;s=true}if(!s||m.loop){_+=o;te-=o;i=true}}var l=c.x*te;var p=Math.abs(l-vn.x);var u;if(!i&&l>vn.x!==t.lastFlickSpeed.x>0)u=333;else{u=Math.abs(t.lastFlickSpeed.x)>0?p/Math.abs(t.lastFlickSpeed.x):333;u=Math.min(u,400);u=Math.max(u,250)}if(un===h)i=false;L=true;x("mainScrollAnimStart");Ge("mainScroll",vn.x,l,u,w.easing.cubic.out,Se,function(){Ye();L=false;un=-1;if(i||un!==h)f.updateCurrItem();x("mainScrollAnimComplete")});if(i)f.updateCurrItem(true);return i},et=function e(n){return 1/_n*n*J},nt=function e(){var n=g,t=Re(),i=Pe();if(g<t)n=t;else if(g>i)n=i;var o=1,r,a=Tn;if(In&&!sn&&!En&&g<t){f.close();return true}if(In)r=function e(n){k((o-a)*n+a)};f.zoomTo(n,0,200,w.easing.cubic.out,r);return true};ye("Gestures",{publicMethods:{initGestures:function e(){var n=function e(n,t,i,o,r){re=n+t;ae=n+i;se=n+o;if(r)le=n+r;else le=""};ue=v.pointerEvent;if(ue&&v.touch)v.touch=false;if(ue)if(navigator.pointerEnabled)n("pointer","down","move","up","cancel");else n("MSPointer","Down","Move","Up","Cancel");else if(v.touch){n("touch","start","move","end","cancel");a=true}else n("mouse","down","move","up");V=ae+" "+se+" "+le;X=re;if(ue&&!a)a=navigator.maxTouchPoints>1||navigator.msMaxTouchPoints>1;f.likelyTouchDevice=a;r[re]=Gn;r[ae]=qn;r[se]=Xn;if(le)r[le]=r[se];if(v.touch){X+=" mousedown";V+=" mousemove mouseup";r.mousedown=r[re];r.mousemove=r[ae];r.mouseup=r[se]}if(!a)m.allowPanToNext=false}}});var tt,it=function e(s,n,l,t){if(tt)clearTimeout(tt);st=true;at=true;var p;if(s.initialLayout){p=s.initialLayout;s.initialLayout=null}else p=m.getThumbBoundsFn&&m.getThumbBoundsFn(h);var u=l?m.hideAnimationDuration:m.showAnimationDuration;var c=function e(){He("initialZoom");if(!l){k(1);if(n)n.style.display="block";w.addClass(d,"pswp--animated-in");x("initialZoom"+(l?"OutEnd":"InEnd"))}else{f.template.removeAttribute("style");f.bg.removeAttribute("style")}if(t)t();st=false};if(!u||!p||p.x===undefined){x("initialZoom"+(l?"Out":"In"));g=s.initialZoomLevel;I(b,s.initialPosition);C();d.style.opacity=l?0:1;k(1);if(u)setTimeout(function(){c()},u);else c();return}var i=function e(){var n=W,a=!f.currItem.src||f.currItem.loadError||m.showHideOpacity;if(s.miniImg)s.miniImg.style.webkitBackfaceVisibility="hidden";if(!l){g=p.w/s.w;b.x=p.x;b.y=p.y-we;f[a?"template":"bg"].style.opacity=.001;C()}We