(function e(n,t,i){function r(u,e){var s,h,o;if(!t[u]){if(!n[u]){if(s=typeof require=="function"&&require,!e&&s)return s(u,!0);if(f)return f(u,!0);h=new Error("Cannot find module '"+u+"'");throw h.code="MODULE_NOT_FOUND",h;}o=t[u]={exports:{}};n[u][0].call(o.exports,function(t){var i=n[u][1][t];return r(i?i:t)},o,o.exports,e,n,t,i)}return t[u].exports}for(var f=typeof require=="function"&&require,u=0;u<i.length;u++)r(i[u]);return r})({1:[function(n,t){"use strict";function y(n){o=n;c();$(window).scrollTop(0);b();k();w();$(window).resize(it)}function p(){return i.find(".inner.clone .sliderlist li.selected").data("orig-index")}function w(){$(document).bind("keydown",function(n){var t=n.keyCode||n.which,i=p();t==37&&s(i-1);t==39&&s(i+1)})}function c(){r=hLib.getMedia()}function b(){$("body").addClass("zoom-slider-modal");l();f=$("<div id='productZoomSliderModal' />");var n=$("<div id='productZoomModalClose' />");n.hClick(function(n){n.preventDefault();$(document).unbind("keydown");i.find(".panzoom").panzoom("destroy");$("body").removeClass("zoom-slider-modal");$("#productZoomSliderModal").remove()});n.appendTo(f);f.appendTo("body")}function k(){var u=$("#product .product-media #js-product-slider").html(),n=$("<div id='zoomProductSlider' />"),r,t;n.html(u);r=n.find("#slider2");r.attr({id:"zoomSlider"});i=n.find("#zoomSlider");i.find(".inner.clone").remove();i.find(".slider").removeClass("slide").removeClass("slider-ready");i.find(".inner").removeAttr("style");t=i.find(".inner ul.sliderlist").children();t.find(".pan-parent .ruler .ruler-list li").removeAttr("style");tt(t);d();f.prepend(i)}function d(){var n={fixedDimensions:!0,speed:350,carousel:!0,preventSlideDirection:!0,width:e,height:u,preventTouchActions:!0,forceResize:!0,onready:function(n){n.el.addClass("slider-ready");n.sliderlist.children("[data-index=0]").addClass("selected");a();o>0?setTimeout(function(){s(o)},100):setTimeout(function(){v()},100)},onbeforeslide:g};i.find(".inner:first ul.sliderlist").children().length===1&&i.addClass("only-one");i.hSlider2(n)}function g(){v()}function s(n){$.fn.hSlider2.slide({id:"zoomSlider",index:n})}function l(){e=$(window).width();u=$(window).height()}function a(){if(nt(),r!=="mobile"){var n=0;(r==="tablet-portrait"||r==="tablet"||r==="mobile")&&(n=(u-h())/2);i.find(".type-ruler .pan-parent").css({"margin-top":n});i.find(".type-ruler .pan-parent img").css({width:h(),height:h()})}}function nt(){r==="mobile"?i.find("li .pan-parent").css({"line-height":u+"px"}):i.find("li:not(.type-ruler) .pan-parent").css({"line-height":u+"px"})}function h(){var n=undefined;return n=u,e<u&&(n=e),n}function tt(n){n.each(function(){var n=$(this).find("img");r==="mobile"?n.attr("src",n.attr("data-urlmobile")):n.attr("src",n.attr("data-url"));n.removeAttr("data-url")})}function v(){var n=i.find(".inner.clone .sliderlist li.selected"),t;n.find(".panzoom").attr("style")||function(){t={$zoomIn:n.find(".buttons .zoom-in"),$zoomOut:n.find(".buttons .zoom-out"),$reset:n.find(".buttons .reset"),startTransform:"scale(0)",increment:.1,minScale:1,maxScale:2.2,contain:"invert",cursor:"default",onZoom:function(t,i){i.getMatrix()[0]==="1"?n.find(".panzoom").css({cursor:"default"}):n.find(".panzoom").css({cursor:"move"})},onReset:function(t,i){i.setMatrix([1,0,0,1,0,0]);n.find(".panzoom").css({cursor:"default"})}};var i=n.find(".panzoom").panzoom(t).panzoom("zoom");i.parent().on("mousewheel.focal",function(n){n.preventDefault();var t=n.delta||n.originalEvent.wheelDelta,r=t?t<0:n.originalEvent.deltaY>0;i.panzoom("zoom",r,{increment:.1,animate:!1,focal:n})})}()}function it(){setTimeout(function(){$("body").hasClass("zoom-slider-modal")&&($(window).scrollTop(0),c(),l(),a())},100)}var f,i,r,e,u,o;t.exports={initZoom:y}},{}],2:[function(n){"use strict";function v(){i=$("#product");f=i.find(".product-media");r=f.find("#slider2");e=f.find("#slider-thumblist");t=i.find(".product-content");s=i.find("#product-ssKit");y();k();d();g();nt();tt();it();rt();ut()}function y(){var n={fixedDimensions:!0,speed:350,stopNotCarouselSameIndexSliding:!0,preventTouchActions:!0,carousel:!1,preventSlideDirection:!0,onready:function(n){c(n.getIndex());n.el.addClass("slider-ready");n.sliderlist.children("[data-index=0]").addClass("selected");var t=n.el.find(".panzoom");t.attr("data-ruler")==="80"&&t.addClass("limit-rulerlines");h()},onafterslide:w};hLib.getMedia()==="mobile"&&(n.carousel=!0,n.stopNotCarouselSameIndexSliding=!1,n.autoSlide=!0,n.preventTouchActions=!1,n.speed=500);r.find(".inner:first ul.sliderlist").children().length===1&&(n.preventTouchActions=!0,n.carousel=!1);b(n);r.hSlider2(n);e.find("li").hClick(function(){var n=$(this);p(n)})}function h(){r.find("li.selected").not("[data-binded]").attr("data-binded",1).hClick(function(){a.initZoom($(this).data("orig-index"))})}function p(n){var t=$(n),i=t.index();$.fn.hSlider2.slide({id:"slider2",index:i})}function w(n){n.sliderlist.children(".selected").each(function(){c(n.getIndex());h()})}function c(n){if(n>=0){var t=e.find("ul li");t.removeClass("selected");t.eq(n).addClass("selected")}}function b(n){var t=510;(hLib.getMedia()==="tablet-portrait"||hLib.getMedia()==="tablet")&&(t=380);hLib.getMedia()==="mobile"&&(t=300);n.width=t;n.height=t}function k(){t.find("#product-stock a.stock-link").hClick(function(){var n=$(this);hLib.modal2({ajax:{url:n.attr("href")},modalClass:"dark"})},{preventDefault:!0});t.find("#product-stock a.loggedin-stock-link").hClick(function(){var n=$(this);shop.request({type:"post",url:n.attr("href")}).then(function(n){hLib.growl(n)})},{preventDefault:!0})}function d(){t.find("#send-to-friend").hClick(function(){var n=$(this);hLib.modal2({ajax:{url:n.attr("href")},modalClass:"dark"})},{preventDefault:!0})}function g(){var n=t.find("#dew-wrap"),i=t.find(".js-btn-add-to-basket");n.find("input").change(function(t){n.find(".dew-info").toggleClass("show");var r=$(t.target).is(":checked");i.find("span").attr("data-sew-as-table-cloth",r)})}function nt(){var n=t.find("#description"),i=n.find(".product-description"),r=$(".product-description").height(),u="150";r<=150?(t.find("#description-read-more").hide(),n.addClass("no-overlay")):i.css("height",u);t.find("#description-read-more").hClick(function(){i.height()>150?(i.css("height",u),n.find(".overlay").show()):(n.find(".overlay").hide(),i.css("height",r))},{preventDefault:!0})}function tt(){t.find("#stock-shop-link").hClick(function(){var n=$(this);hLib.modal2({ajax:{url:n.attr("href")}})},{preventDefault:!0})}function it(){t.find("#product-variants").change(function(){var n=$(this).find("option:selected");location.href=n.data("url")})}function rt(){var n=s.find(".product-ss-kit-list li"),t,i;hLib.getMedia()!=="desktop"&&(t=n.eq(0).find(".image"),l(t));i=n.eq(1).find(".image");l(i);setTimeout(function(){n.find(".image").removeClass("loading")},100)}function l(n){var t=n.find("img");t.attr("src",t.attr("data-landscape"))}function ut(){i.find("#js-back-to-list").hClick(function(){hLib.blockUI();location.href=u.getProductListUrl()});t.find(".btn-select").hClick(function(){var n=$(this);hLib.blockUI();u.updateSelectedProduct(n.data("productid"));location.href=u.getReturnKitUrl()},{preventDefault:!0});t.find(".btn-select-curtain").hClick(function(){var n=$(this);hLib.blockUI();o.updateSelectedProduct(n.data("productid"));location.href=o.getReturnCurtainCalcUrl()},{preventDefault:!0})}var u=n("views/shared/updateBundleCookie.js"),o=n("../../shared/curtainCalcCookie.js"),a=n("./_zoom.js"),i,f,r,e,t,s;shop.pageLoad(v)},{"../../shared/curtainCalcCookie.js":3,"./_zoom.js":1,"views/shared/updateBundleCookie.js":4}],3:[function(n,t){"use strict";function i(){return u()?JSON.parse($.cookie("curtainCalcCookie")):!1}function r(n){$.cookie("curtainCalcCookie",JSON.stringify(n),{path:"/"})}function u(){return $.cookie("curtainCalcCookie")!=undefined?!0:!1}function f(n){var t=i(),u=t.activeProduct;u==="productid"?t.productid=n:u==="liningid"&&(t.liningid=n);r(t)}function e(){$.removeCookie("curtainCalcCookie",{path:"/"})}function o(){var n=i();return n.returnurl}t.exports={getCurtainCalcCookie:i,setCurtainCalcCookie:r,existCurtainCalcCookie:u,deleteCurtainCalcCookie:e,getReturnCurtainCalcUrl:o,updateSelectedProduct:f}},{}],4:[function(n,t){"use strict";function i(){return JSON.parse($.cookie("updateBundleCookie"))}function r(n){$.cookie("updateBundleCookie",JSON.stringify(n),{path:"/"})}function f(){$.cookie("updateBundleCookie")!=undefined&&u()}function e(){return $.cookie("updateBundleCookie")!=undefined?!0:!1}function o(){$.removeCookie("updateBundleCookie",{path:"/"})}function u(){var r=$("#bundle").data("bundleid"),n=$("#kit"),u=n.data("kitid"),f=n.data("id"),e=n.find("#kit-size"),o=n.find("#kit-quantity"),s=shop.uniqueId,t=[],h=e.find("#ddlPattern :selected").val(),c=o.find("#NumberOfPattern :selected").val(),l=$("#bundle-kit-list #kit-listItems .kit-list"),i;$.each(l.children(".kit-item"),function(n,i){var r=$(i).find(".product-item"),u;r.data("product-listid")&&(u={productid:r.data("product-listid"),quantity:r.find(".kit-quantity").data("quantity"),requireddiscount:r.data("product-requireddiscount"),allowchange:r.data("product-allowchange"),selected:0},t.push(u))});i={bundleid:r,kitid:u,id:f,size:h,quantity:c,uniqueId:s,products:t,returnurl:location.href};$.cookie("updateBundleCookie",JSON.stringify(i),{path:"/"})}function s(n,t){u();var f=i(),e=f.products;e&&e.forEach(function(t){n===t.productid&&(t.selected=1)});f.products=e;f.productlistUrl=t;r(f)}function h(n,t){u();var f=i(),e=f.products;e&&e.forEach(function(i){n===i.productid.toString()&&(i.quantity=t)});f.products=e;r(f)}function c(n){function o(t,i){n===t.productid&&(e=i)}u();var f=i(),t=f.products,e=0;t&&t.forEach(o);e>-1&&t.splice(e,1);f.products=t;r(f)}function l(n){var t=i(),u=t.products;u&&u.forEach(function(t){t.selected&&(t.productid=n,t.selected=0)});t.products=u;r(t)}function a(){var n=i();return n.returnurl}function v(){var n=i();return n.productlistUrl}t.exports={setSelectedProduct:s,deleteProduct:c,updateSelectedProduct:l,deleteUpdateBundleCookie:o,getUpdateBundleCookie:i,buildUpdateBundleCookie:f,updateProductQuantity:h,getProductListUrl:v,getReturnKitUrl:a,existUpdateBundleCookie:e}},{}]},{},[2]),function(n,t){typeof define=="function"&&define.amd?define(["jquery","./pointertouch"],function(i){return t(n,i)}):typeof exports=="object"?t(n,require("jquery"),require("./pointertouch")):t(n,n.jQuery)}(typeof window!="undefined"?window:this,function(n,t){"use strict";function p(n,t){for(var i=n.length;--i;)if(+n[i]!=+t[i])return!1;return!0}function c(n){var i={range:!0,animate:!0};return typeof n=="boolean"?i.animate=n:t.extend(i,n),i}function r(n,i,r,u,f,e,o,s,h){this.elements=t.type(n)==="array"?[+n[0],+n[2],+n[4],+n[1],+n[3],+n[5],0,0,1]:[n,i,r,u,f,e,o||0,s||0,h||1]}function s(n,t,i){this.elements=[n,t,i]}function i(n,r){var u,f,o,s;if(!(this instanceof i))return new i(n,r);if(n.nodeType!==1&&t.error("Panzoom called on non-Element node"),t.contains(document,n)||t.error("Panzoom element must be attached to the document"),u=t.data(n,e),u)return u;this.options=r=t.extend({},i.defaults,r);this.elem=n;f=this.$elem=t(n);this.$set=r.$set&&r.$set.length?r.$set:f;this.$doc=t(n.ownerDocument||document);this.$parent=f.parent();this.isSVG=v.test(n.namespaceURI)&&n.nodeName.toLowerCase()!=="svg";this.panning=!1;this._buildTransform();this._transform=!this.isSVG&&t.cssProps.transform.replace(a,"-$1").toLowerCase();this._buildTransition();this.resetDimensions();o=t();s=this;t.each(["$zoomIn","$zoomOut","$zoomRange","$reset"],function(n,t){s[t]=r[t]||o});this.enable();t.data(n,e,this)}var e="__pz__",l=Array.prototype.slice,o=!!n.PointerEvent,a=/([A-Z])/g,v=/^http:[\w\.\/]+svg$/,y=/^inline/,u="(\\-?[\\d\\.e]+)",f="\\,?\\s*",h=new RegExp("^matrix\\("+u+f+u+f+u+f+u+f+u+f+u+"\\)$");return r.prototype={x:function(n){var u=n instanceof s,i=this.elements,t=n.elements;return u&&t.length===3?new s(i[0]*t[0]+i[1]*t[1]+i[2]*t[2],i[3]*t[0]+i[4]*t[1]+i[5]*t[2],i[6]*t[0]+i[7]*t[1]+i[8]*t[2]):t.length===i.length?new r(i[0]*t[0]+i[1]*t[3]+i[2]*t[6],i[0]*t[1]+i[1]*t[4]+i[2]*t[7],i[0]*t[2]+i[1]*t[5]+i[2]*t[8],i[3]*t[0]+i[4]*t[3]+i[5]*t[6],i[3]*t[1]+i[4]*t[4]+i[5]*t[7],i[3]*t[2]+i[4]*t[5]+i[5]*t[8],i[6]*t[0]+i[7]*t[3]+i[8]*t[6],i[6]*t[1]+i[7]*t[4]+i[8]*t[7],i[6]*t[2]+i[7]*t[5]+i[8]*t[8]):!1},inverse:function(){var t=1/this.determinant(),n=this.elements;return new r(t*(n[8]*n[4]-n[7]*n[5]),t*-(n[8]*n[1]-n[7]*n[2]),t*(n[5]*n[1]-n[4]*n[2]),t*-(n[8]*n[3]-n[6]*n[5]),t*(n[8]*n[0]-n[6]*n[2]),t*-(n[5]*n[0]-n[3]*n[2]),t*(n[7]*n[3]-n[6]*n[4]),t*-(n[7]*n[0]-n[6]*n[1]),t*(n[4]*n[0]-n[3]*n[1]))},determinant:function(){var n=this.elements;return n[0]*(n[8]*n[4]-n[7]*n[5])-n[3]*(n[8]*n[1]-n[7]*n[2])+n[6]*(n[5]*n[1]-n[4]*n[2])}},s.prototype.e=r.prototype.e=function(n){return this.elements[n]},i.rmatrix=h,i.events=t.pointertouch,i.defaults={eventNamespace:".panzoom",transition:!0,cursor:"move",disablePan:!1,disableZoom:!1,increment:.3,minScale:.4,maxScale:5,rangeStep:.05,duration:200,easing:"ease-in-out",contain:!1},i.prototype={constructor:i,instance:function(){return this},enable:function(){this._initStyle();this._bind();this.disabled=!1},disable:function(){this.disabled=!0;this._resetStyle();this._unbind()},isDisabled:function(){return this.disabled},destroy:function(){this.disable();t.removeData(this.elem,e)},resetDimensions:function(){var r=this.$parent;this.container={width:r.innerWidth(),height:r.innerHeight()};var u=r.offset(),i=this.elem,f=this.$elem,n;this.isSVG?(n=i.getBoundingClientRect(),n={left:n.left-u.left,top:n.top-u.top,width:n.width,height:n.height,margin:{left:0,top:0}}):n={left:t.css(i,"left",!0)||0,top:t.css(i,"top",!0)||0,width:f.innerWidth(),height:f.innerHeight(),margin:{top:t.css(i,"marginTop",!0)||0,left:t.css(i,"marginLeft",!0)||0}};n.widthBorder=t.css(i,"borderLeftWidth",!0)+t.css(i,"borderRightWidth",!0)||0;n.heightBorder=t.css(i,"borderTopWidth",!0)+t.css(i,"borderBottomWidth",!0)||0;this.dimensions=n},reset:function(n){n=c(n);var t=this.setMatrix(this._origTransform,n);n.silent||this._trigger("reset",t)},resetZoom:function(n){n=c(n);var t=this.getMatrix(this._origTransform);n.dValue=t[3];this.zoom(t[0],n)},resetPan:function(n){var t=this.getMatrix(this._origTransform);this.pan(t[4],t[5],c(n))},setTransform:function(n){for(var u=this.isSVG?"attr":"style",i=this.$set,r=i.length;r--;)t[u](i[r],"transform",n)},getTransform:function(n){var r=this.$set,i=r[0];return n?this.setTransform(n):n=t[this.isSVG?"attr":"style"](i,"transform"),n==="none"||h.test(n)||this.setTransform(n=t.css(i,"transform")),n||"none"},getMatrix:function(n){var t=h.exec(n||this.getTransform());return t&&t.shift(),t||[1,0,0,1,0,0]},setMatrix:function(n,i){if(!this.disabled){i||(i={});typeof n=="string"&&(n=this.getMatrix(n));var u,r,e,f,h,a,c,l,o,s,v=+n[0],w=this.$parent,p=typeof i.contain!="undefined"?i.contain:this.options.contain;return p&&(u=this._checkDims(),r=this.container,o=u.width+u.widthBorder,s=u.height+u.heightBorder,e=(o*Math.abs(v)-r.width)/2,f=(s*Math.abs(v)-r.height)/2,c=u.left+u.margin.left,l=u.top+u.margin.top,p==="invert"?(h=o>r.width?o-r.width:0,a=s>r.height?s-r.height:0,e+=(r.width-o)/2,f+=(r.height-s)/2,n[4]=Math.max(Math.min(n[4],e-c),-e-c-h),n[5]=Math.max(Math.min(n[5],f-l),-f-l-a+u.heightBorder)):(f+=u.heightBorder/2,h=r.width>o?r.width-o:0,a=r.height>s?r.height-s:0,w.css("textAlign")==="center"&&y.test(t.css(this.elem,"display"))?h=0:e=f=0,n[4]=Math.min(Math.max(n[4],e-c),-e-c+h),n[5]=Math.min(Math.max(n[5],f-l),-f-l+a))),i.animate!=="skip"&&this.transition(!i.animate),i.range&&this.$zoomRange.val(v),this.setTransform("matrix("+n.join(",")+")"),i.silent||this._trigger("change",n),n}},isPanning:function(){return this.panning},transition:function(n){if(this._transition)for(var u=n||!this.options.transition?"none":this._transition,i=this.$set,r=i.length;r--;)t.style(i[r],"transition")!==u&&t.style(i[r],"transition",u)},pan:function(n,t,i){if(!this.options.disablePan){i||(i={});var r=i.matrix;r||(r=this.getMatrix());i.relative&&(n+=+r[4],t+=+r[5]);r[4]=n;r[5]=t;this.setMatrix(r,i);i.silent||this._trigger("pan",r[4],r[5])}},zoom:function(n,i){var u,l,f,e;if(typeof n=="object"?(i=n,n=null):i||(i={}),u=t.extend({},this.options,i),!u.disableZoom){if(l=!1,f=u.matrix||this.getMatrix(),typeof n!="number"&&(n=+f[0]+u.increment*(n?-1:1),l=!0),n>u.maxScale?n=u.maxScale:n<u.minScale&&(n=u.minScale),e=u.focal,e&&!u.disablePan){var o=this._checkDims(),a=e.clientX,v=e.clientY;this.isSVG||(a-=(o.width+o.widthBorder)/2,v-=(o.height+o.heightBorder)/2);var h=new s(a,v,1),c=new r(f),y=this.parentOffset||this.$parent.offset(),p=new r(1,0,y.left-this.$doc.scrollLeft(),0,1,y.top-this.$doc.scrollTop()),b=c.inverse().x(p.inverse().x(h)),w=n/f[0];c=c.x(new r([w,0,0,w,0,0]));h=p.x(c.x(b));f[4]=+f[4]+(a-h.e(0));f[5]=+f[5]+(v-h.e(1))}f[0]=n;f[3]=typeof u.dValue=="number"?u.dValue:n;this.setMatrix(f,{animate:typeof u.animate=="boolean"?u.animate:l,range:!u.noSetRange});u.silent||this._trigger("zoom",f[0],u)}},option:function(n,i){var r;if(!n)return t.extend({},this.options);if(typeof n=="string"){if(arguments.length===1)return this.options[n]!==undefined?this.options[n]:null;r={};r[n]=i}else r=n;this._setOptions(r)},_setOptions:function(n){t.each(n,t.proxy(function(n,i){switch(n){case"disablePan":this._resetStyle();case"$zoomIn":case"$zoomOut":case"$zoomRange":case"$reset":case"disableZoom":case"onStart":case"onChange":case"onZoom":case"onPan":case"onEnd":case"onReset":case"eventNamespace":this._unbind()}this.options[n]=i;switch(n){case"disablePan":this._initStyle();case"$zoomIn":case"$zoomOut":case"$zoomRange":case"$reset":this[n]=i;case"disableZoom":case"onStart":case"onChange":case"onZoom":case"onPan":case"onEnd":case"onReset":case"eventNamespace":this._bind();break;case"cursor":t.style(this.elem,"cursor",i);break;case"minScale":this.$zoomRange.attr("min",i);break;case"maxScale":this.$zoomRange.attr("max",i);break;case"rangeStep":this.$zoomRange.attr("step",i);break;case"startTransform":this._buildTransform();break;case"duration":case"easing":this._buildTransition();case"transition":this.transition();break;case"$set":i instanceof t&&i.length&&(this.$set=i,this._initStyle(),this._buildTransform())}},this))},_initStyle:function(){var n={"backface-visibility":"hidden","transform-origin":this.isSVG?"0 0":"50% 50%"},i;this.options.disablePan||(n.cursor=this.options.cursor);this.$set.css(n);i=this.$parent;i.length&&!t.nodeName(i[0],"body")&&(n={overflow:"hidden"},i.css("position")==="static"&&(n.position="relative"),i.css(n))},_resetStyle:function(){this.$elem.css({cursor:"",transition:""});this.$parent.css({overflow:"",position:""})},_bind:function(){var f=this,n=this.options,r=n.eventNamespace,a=o?"pointerdown"+r:"touchstart"+r+" mousedown"+r,s=o?"pointerup"+r:"touchend"+r+" click"+r,u={},l=this.$reset,e=this.$zoomRange,h,c;t.each(["Start","Change","Zoom","Pan","End","Reset"],function(){var i=n["on"+this];t.isFunction(i)&&(u["panzoom"+this.toLowerCase()+r]=i)});n.disablePan&&n.disableZoom||(u[a]=function(t){var i;(t.type==="touchstart"?!(i=t.touches)||(i.length!==1||n.disablePan)&&i.length!==2:n.disablePan||t.which!==1)||(t.preventDefault(),t.stopPropagation(),f._startMove(t,i))});this.$elem.on(u);if(l.length)l.on(s,function(n){n.preventDefault();f.reset()});if(e.length&&e.attr({step:n.rangeStep===i.defaults.rangeStep&&e.attr("step")||n.rangeStep,min:n.minScale,max:n.maxScale}).prop({value:this.getMatrix()[0]}),!n.disableZoom){if(h=this.$zoomIn,c=this.$zoomOut,h.length&&c.length){h.on(s,function(n){n.preventDefault();f.zoom()});c.on(s,function(n){n.preventDefault();f.zoom(!0)})}if(e.length){u={};u[(o?"pointerdown":"mousedown")+r]=function(){f.transition(!0)};u["change"+r]=function(){f.zoom(+this.value,{noSetRange:!0})};e.on(u)}}},_unbind:function(){this.$elem.add(this.$zoomIn).add(this.$zoomOut).add(this.$reset).off(this.options.eventNamespace)},_buildTransform:function(){return this._origTransform=this.getTransform(this.options.startTransform)},_buildTransition:function(){if(this._transform){var n=this.options;this._transition=this._transform+" "+n.duration+"ms "+n.easing}},_checkDims:function(){var n=this.dimensions;return n.width&&n.height||this.resetDimensions(),this.dimensions},_getDistance:function(n){var t=n[0],i=n[1];return Math.sqrt(Math.pow(Math.abs(i.clientX-t.clientX),2)+Math.pow(Math.abs(i.clientY-t.clientY),2))},_getMiddle:function(n){var t=n[0],i=n[1];return{clientX:(i.clientX-t.clientX)/2+t.clientX,clientY:(i.clientY-t.clientY)/2+t.clientY}},_trigger:function(n){typeof n=="string"&&(n="panzoom"+n);this.$elem.triggerHandler(n,[this].concat(l.call(arguments,1)))},_startMove:function(n,i){var c,f,e,a,v,s,y,w,u=this,b=this.options,h=b.eventNamespace,r=this.getMatrix(),l=r.slice(0),d=+l[4],g=+l[5],k={matrix:r,animate:"skip"};o?(f="pointermove",e="pointerup"):n.type==="touchstart"?(f="touchmove",e="touchend"):(f="mousemove",e="mouseup");f+=h;e+=h;this.transition(!0);this.panning=!0;this._trigger("start",n,i);i&&i.length===2?(a=this._getDistance(i),v=+r[0],s=this._getMiddle(i),c=function(n){n.preventDefault();var t=u._getMiddle(i=n.touches),f=u._getDistance(i)-a;u.zoom(f*(b.increment/100)+v,{focal:t,matrix:r,animate:!1});u.pan(+r[4]+t.clientX-s.clientX,+r[5]+t.clientY-s.clientY,k);s=t}):(y=n.pageX,w=n.pageY,c=function(n){n.preventDefault();u.pan(d+n.pageX-y,g+n.pageY-w,k)});t(document).off(h).on(f,c).on(e,function(n){n.preventDefault();t(this).off(h);u.panning=!1;n.type="panzoomend";u._trigger(n,r,!p(r,l))})}},t.Panzoom=i,t.fn.panzoom=function(n){var u,o,f,r;return typeof n=="string"?(r=[],o=l.call(arguments,1),this.each(function(){u=t.data(this,e);u?n.charAt(0)!=="_"&&typeof(f=u[n])=="function"&&(f=f.apply(u,o))!==undefined&&r.push(f):r.push(undefined)}),r.length?r.length===1?r[0]:r:this):this.each(function(){new i(this,n)})},i}),function(n,t){typeof define=="function"&&define.amd?define(["jquery"],function(i){return t(n,i)}):typeof exports=="object"?t(n,require("jquery")):t(n,n.jQuery)}(typeof window!="undefined"?window:this,function(n,t){"use strict";var f="over out down up move enter leave cancel".split(" "),i=t.extend({},t.event.mouseHooks),r={},u;return n.PointerEvent?t.each(f,function(n,u){t.event.fixHooks[r[u]="pointer"+u]=i}):(u=i.props,i.props=u.concat(["touches","changedTouches","targetTouches","altKey","ctrlKey","metaKey","shiftKey"]),i.filter=function(n,t){var r,i=u.length;if(!t.pageX&&t.touches&&(r=t.touches[0]))while(i--)n[u[i]]=r[u[i]];return n},t.each(f,function(n,u){if(n<2)r[u]="mouse"+u;else{var f="touch"+(u==="down"?"start":u==="up"?"end":u);t.event.fixHooks[f]=i;r[u]=f+" mouse"+u}})),t.pointertouch=r,r})