origin33/app/html/js/akamai-viewer.js

4 lines
88 KiB
JavaScript

/*! Copyright 2019, Akamai Technologies, Inc. All Rights Reserved. akamai-viewer-0.7.2 */
!function(a){var b=Date.now||function(){return+new Date},c={},d=1;a.core?core.effect||(core.effect={}):a.core={effect:{}},core.effect.Animate={requestAnimationFrame:function(){var b=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame,c=!!b;if(b&&!/requestAnimationFrame\(\)\s*\{\s*\[native code\]\s*\}/i.test(b.toString())&&(c=!1),c)return function(a,c){b(a,c)};var d={},e=0,f=1,g=null,h=+new Date;return function(a,b){var c=f++;return d[c]=a,e++,null===g&&(g=setInterval(function(){var a=+new Date,b=d;d={},e=0;for(var c in b)b.hasOwnProperty(c)&&(b[c](a),h=a);a-h>2500&&(clearInterval(g),g=null)},1e3/60)),c}}(),stop:function(a){var b=null!=c[a];return b&&(c[a]=null),b},isRunning:function(a){return null!=c[a]},start:function(a,e,f,g,h,i){var j=b(),k=j,l=0,m=0,n=d++;if(i||(i=document.body),n%20==0){var o={};for(var p in c)o[p]=!0;c=o}var q=function(d){var o=!0!==d,p=b();if(!c[n]||e&&!e(n))return c[n]=null,void(f&&f(60-m/((p-j)/1e3),n,!1));if(o)for(var r=Math.round((p-k)/(1e3/60))-1,s=0;s<Math.min(r,4);s++)q(!0),m++;g&&(l=(p-j)/g)>1&&(l=1);var t=h?h(l):l;!1!==a(t,p,o)&&1!==l||!o?o&&(k=p,core.effect.Animate.requestAnimationFrame(q,i)):(c[n]=null,f&&f(60-m/((p-j)/1e3),n,1===l||null==g))};return c[n]=!0,core.effect.Animate.requestAnimationFrame(q,i),n}}}(this);var Scroller;!function(){Scroller=function(a,b){this.__callback=a,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3};for(var c in b)this.options[c]=b[c]};var a=function(a){return Math.pow(a-1,3)+1},b=function(a){return(a/=.5)<1?.5*Math.pow(a,3):.5*(Math.pow(a-2,3)+2)},c={__isSingleTouch:!1,__isTracking:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(a,b,c,d){var e=this;a&&(e.__clientWidth=a),b&&(e.__clientHeight=b),c&&(e.__contentWidth=c),d&&(e.__contentHeight=d),e.__computeScrollMax(),e.scrollTo(e.__scrollLeft,e.__scrollTop,!0)},setPosition:function(a,b){var c=this;c.__clientLeft=a||0,c.__clientTop=b||0},setSnapSize:function(a,b){var c=this;c.__snapWidth=a,c.__snapHeight=b},activatePullToRefresh:function(a,b,c,d){var e=this;e.__refreshHeight=a,e.__refreshActivate=b,e.__refreshDeactivate=c,e.__refreshStart=d},finishPullToRefresh:function(){var a=this;a.__refreshActive=!1,a.__refreshDeactivate&&a.__refreshDeactivate(),a.scrollTo(a.__scrollLeft,a.__scrollTop,!0)},getValues:function(){var a=this;return{left:a.__scrollLeft,top:a.__scrollTop,zoom:a.__zoomLevel}},getScrollMax:function(){var a=this;return{left:a.__maxScrollLeft,top:a.__maxScrollTop}},zoomTo:function(a,b,c,d){var e=this;if(!e.options.zooming)throw new Error("Zooming is not enabled!");e.__isDecelerating&&(core.effect.Animate.stop(e.__isDecelerating),e.__isDecelerating=!1);var f=e.__zoomLevel;null==c&&(c=e.__clientWidth/2),null==d&&(d=e.__clientHeight/2),a=Math.max(Math.min(a,e.options.maxZoom),e.options.minZoom),e.__computeScrollMax(a);var g=(c+e.__scrollLeft)*a/f-c,h=(d+e.__scrollTop)*a/f-d;g>e.__maxScrollLeft?g=e.__maxScrollLeft:g<0&&(g=0),h>e.__maxScrollTop?h=e.__maxScrollTop:h<0&&(h=0),e.__publish(g,h,a,b)},zoomBy:function(a,b,c,d){var e=this;e.zoomTo(e.__zoomLevel*a,b,c,d)},scrollTo:function(a,b,c,d){var e=this;if(e.__isDecelerating&&(core.effect.Animate.stop(e.__isDecelerating),e.__isDecelerating=!1),null!=d&&d!==e.__zoomLevel){if(!e.options.zooming)throw new Error("Zooming is not enabled!");a*=d,b*=d,e.__computeScrollMax(d)}else d=e.__zoomLevel;e.options.scrollingX?e.options.paging?a=Math.round(a/e.__clientWidth)*e.__clientWidth:e.options.snapping&&(a=Math.round(a/e.__snapWidth)*e.__snapWidth):a=e.__scrollLeft,e.options.scrollingY?e.options.paging?b=Math.round(b/e.__clientHeight)*e.__clientHeight:e.options.snapping&&(b=Math.round(b/e.__snapHeight)*e.__snapHeight):b=e.__scrollTop,a=Math.max(Math.min(e.__maxScrollLeft,a),0),b=Math.max(Math.min(e.__maxScrollTop,b),0),a===e.__scrollLeft&&b===e.__scrollTop&&(c=!1),e.__publish(a,b,d,c)},scrollBy:function(a,b,c){var d=this,e=d.__isAnimating?d.__scheduledLeft:d.__scrollLeft,f=d.__isAnimating?d.__scheduledTop:d.__scrollTop;d.scrollTo(e+(a||0),f+(b||0),c)},doMouseZoom:function(a,b,c,d){var e=this,f=a>0?.97:1.03;return e.zoomTo(e.__zoomLevel*f,!1,c-e.__clientLeft,d-e.__clientTop)},doTouchStart:function(a,b){if(null==a.length)throw new Error("Invalid touch list: "+a);if(b instanceof Date&&(b=b.valueOf()),"number"!=typeof b)throw new Error("Invalid timestamp value: "+b);var c=this;c.__isDecelerating&&(core.effect.Animate.stop(c.__isDecelerating),c.__isDecelerating=!1),c.__isAnimating&&(core.effect.Animate.stop(c.__isAnimating),c.__isAnimating=!1);var d,e,f=1===a.length;f?(d=a[0].pageX,e=a[0].pageY):(d=Math.abs(a[0].pageX+a[1].pageX)/2,e=Math.abs(a[0].pageY+a[1].pageY)/2),c.__initialTouchLeft=d,c.__initialTouchTop=e,c.__zoomLevelStart=c.__zoomLevel,c.__lastTouchLeft=d,c.__lastTouchTop=e,c.__lastTouchMove=b,c.__lastScale=1,c.__enableScrollX=!f&&c.options.scrollingX,c.__enableScrollY=!f&&c.options.scrollingY,c.__isTracking=!0,c.__isDragging=!f,c.__isSingleTouch=f,c.__positions=[]},doTouchMove:function(a,b,c){if(null==a.length)throw new Error("Invalid touch list: "+a);if(b instanceof Date&&(b=b.valueOf()),"number"!=typeof b)throw new Error("Invalid timestamp value: "+b);var d=this;if(d.__isTracking){var e,f;2===a.length?(e=Math.abs(a[0].pageX+a[1].pageX)/2,f=Math.abs(a[0].pageY+a[1].pageY)/2):(e=a[0].pageX,f=a[0].pageY);var g=d.__positions;if(d.__isDragging){var h=e-d.__lastTouchLeft,i=f-d.__lastTouchTop,j=d.__scrollLeft,k=d.__scrollTop,l=d.__zoomLevel;if(null!=c&&d.options.zooming){var m=l;if(l=l/d.__lastScale*c,l=Math.max(Math.min(l,d.options.maxZoom),d.options.minZoom),m!==l){var n=e-d.__clientLeft,o=f-d.__clientTop;j=(n+j)*l/m-n,k=(o+k)*l/m-o,d.__computeScrollMax(l)}}if(d.__enableScrollX){j-=h;var p=d.__maxScrollLeft;(j>p||j<0)&&(d.options.bouncing?j+=h/2:j=j>p?p:0)}if(d.__enableScrollY){k-=i;var q=d.__maxScrollTop;(k>q||k<0)&&(d.options.bouncing?(k+=i/2,d.__enableScrollX||null==d.__refreshHeight||(!d.__refreshActive&&k<=-d.__refreshHeight?(d.__refreshActive=!0,d.__refreshActivate&&d.__refreshActivate()):d.__refreshActive&&k>-d.__refreshHeight&&(d.__refreshActive=!1,d.__refreshDeactivate&&d.__refreshDeactivate()))):k=k>q?q:0)}g.length>60&&g.splice(0,30),g.push(j,k,b),d.__publish(j,k,l)}else{var r=d.options.locking?3:0,s=Math.abs(e-d.__initialTouchLeft),t=Math.abs(f-d.__initialTouchTop);d.__enableScrollX=d.options.scrollingX&&s>=r,d.__enableScrollY=d.options.scrollingY&&t>=r,g.push(d.__scrollLeft,d.__scrollTop,b),d.__isDragging=(d.__enableScrollX||d.__enableScrollY)&&(s>=5||t>=5)}d.__lastTouchLeft=e,d.__lastTouchTop=f,d.__lastTouchMove=b,d.__lastScale=c}},doTouchEnd:function(a){if(a instanceof Date&&(a=a.valueOf()),"number"!=typeof a)throw new Error("Invalid timestamp value: "+a);var b=this;if(b.__isTracking){if(b.__isTracking=!1,b.__isDragging&&(b.__isDragging=!1,b.__isSingleTouch&&b.options.animating&&a-b.__lastTouchMove<=100)){for(var c=b.__positions,d=c.length-1,e=d,f=d;f>0&&c[f]>b.__lastTouchMove-100;f-=3)e=f;if(e!==d){var g=c[d]-c[e],h=b.__scrollLeft-c[e-2],i=b.__scrollTop-c[e-1];b.__decelerationVelocityX=h/g*(1e3/60),b.__decelerationVelocityY=i/g*(1e3/60);var j=b.options.paging||b.options.snapping?4:1;(Math.abs(b.__decelerationVelocityX)>j||Math.abs(b.__decelerationVelocityY)>j)&&(b.__refreshActive||b.__startDeceleration(a))}}b.__isDecelerating||(b.__refreshActive&&b.__refreshStart?(b.__publish(b.__scrollLeft,-b.__refreshHeight,b.__zoomLevel,!0),b.__refreshStart&&b.__refreshStart()):(b.scrollTo(b.__scrollLeft,b.__scrollTop,!0,b.__zoomLevel),b.__refreshActive&&(b.__refreshActive=!1,b.__refreshDeactivate&&b.__refreshDeactivate()))),b.__positions.length=0}},__publish:function(c,d,e,f){var g=this,h=g.__isAnimating;if(h&&(core.effect.Animate.stop(h),g.__isAnimating=!1),f&&g.options.animating){g.__scheduledLeft=c,g.__scheduledTop=d,g.__scheduledZoom=e;var i=g.__scrollLeft,j=g.__scrollTop,k=g.__zoomLevel,l=c-i,m=d-j,n=e-k,o=function(a,b,c){c&&(g.__scrollLeft=i+l*a,g.__scrollTop=j+m*a,g.__zoomLevel=k+n*a,g.__callback&&g.__callback(g.__scrollLeft,g.__scrollTop,g.__zoomLevel))},p=function(a){return g.__isAnimating===a},q=function(a,b,c){b===g.__isAnimating&&(g.__isAnimating=!1),g.options.zooming&&g.__computeScrollMax()};g.__isAnimating=core.effect.Animate.start(o,p,q,g.options.animationDuration,h?a:b)}else g.__scheduledLeft=g.__scrollLeft=c,g.__scheduledTop=g.__scrollTop=d,g.__scheduledZoom=g.__zoomLevel=e,g.__callback&&g.__callback(c,d,e),g.options.zooming&&g.__computeScrollMax()},__computeScrollMax:function(a){var b=this;null==a&&(a=b.__zoomLevel),b.__maxScrollLeft=Math.max(b.__contentWidth*a-b.__clientWidth,0),b.__maxScrollTop=Math.max(b.__contentHeight*a-b.__clientHeight,0)},__startDeceleration:function(a){var b=this;if(b.options.paging){var c=Math.max(Math.min(b.__scrollLeft,b.__maxScrollLeft),0),d=Math.max(Math.min(b.__scrollTop,b.__maxScrollTop),0),e=b.__clientWidth,f=b.__clientHeight;b.__minDecelerationScrollLeft=Math.floor(c/e)*e,b.__minDecelerationScrollTop=Math.floor(d/f)*f,b.__maxDecelerationScrollLeft=Math.ceil(c/e)*e,b.__maxDecelerationScrollTop=Math.ceil(d/f)*f}else b.__minDecelerationScrollLeft=0,b.__minDecelerationScrollTop=0,b.__maxDecelerationScrollLeft=b.__maxScrollLeft,b.__maxDecelerationScrollTop=b.__maxScrollTop;var g=function(a,c,d){b.__stepThroughDeceleration(d)},h=b.options.snapping?4:.1,i=function(){return Math.abs(b.__decelerationVelocityX)>=h||Math.abs(b.__decelerationVelocityY)>=h},j=function(a,c,d){b.__isDecelerating=!1,b.scrollTo(b.__scrollLeft,b.__scrollTop,b.options.snapping)};b.__isDecelerating=core.effect.Animate.start(g,i,j)},__stepThroughDeceleration:function(a){var b=this,c=b.__scrollLeft+b.__decelerationVelocityX,d=b.__scrollTop+b.__decelerationVelocityY;if(!b.options.bouncing){var e=Math.max(Math.min(b.__maxDecelerationScrollLeft,c),b.__minDecelerationScrollLeft);e!==c&&(c=e,b.__decelerationVelocityX=0);var f=Math.max(Math.min(b.__maxDecelerationScrollTop,d),b.__minDecelerationScrollTop);f!==d&&(d=f,b.__decelerationVelocityY=0)}if(a?b.__publish(c,d,b.__zoomLevel):(b.__scrollLeft=c,b.__scrollTop=d),!b.options.paging){b.__decelerationVelocityX*=.95,b.__decelerationVelocityY*=.95}if(b.options.bouncing){var g=0,h=0;c<b.__minDecelerationScrollLeft?g=b.__minDecelerationScrollLeft-c:c>b.__maxDecelerationScrollLeft&&(g=b.__maxDecelerationScrollLeft-c),d<b.__minDecelerationScrollTop?h=b.__minDecelerationScrollTop-d:d>b.__maxDecelerationScrollTop&&(h=b.__maxDecelerationScrollTop-d),0!==g&&(g*b.__decelerationVelocityX<=0?b.__decelerationVelocityX+=.03*g:b.__decelerationVelocityX=.08*g),0!==h&&(h*b.__decelerationVelocityY<=0?b.__decelerationVelocityY+=.03*h:b.__decelerationVelocityY=.08*h)}}};for(var d in c)Scroller.prototype[d]=c[d]}(),function(a){"function"==typeof define&&define.amd?define(["shoestring"],a):"object"==typeof module&&module.exports?module.exports=a():a()}(function(){function a(b,c){var d,e=typeof b,f=[];if(!b)return new i(f);if(b.call)return a.ready(b);if(b.constructor===i&&!c)return b;if("string"===e&&0===b.indexOf("<")){var j=h.createElement("div");return j.innerHTML=b,a(j).children().each(function(){j.removeChild(this)})}return"string"===e?c?a(c).find(b):(d=h.querySelectorAll(b),new i(d,b)):"[object Array]"===Object.prototype.toString.call(e)||g.NodeList&&b instanceof g.NodeList?new i(b,b):b.constructor===Array?new i(b,b):new i([b],b)}function b(a,b){var c=!1;return a.each(function(){for(var a=0;a<b.length;)this===b[a]&&(c=!0),a++}),c}function c(a,b){a.shoestringData||(a.shoestringData={}),a.shoestringData.events||(a.shoestringData.events={}),a.shoestringData.loop||(a.shoestringData.loop={}),a.shoestringData.events[b]||(a.shoestringData.events[b]=[])}function d(a,b,c){var d={};d.isCustomEvent=c.isCustomEvent,d.callback=c.callfunc,d.originalCallback=c.originalCallback,d.namespace=c.namespace,a.shoestringData.events[b].push(d),c.customEventLoop&&(a.shoestringData.loop[b]=c.customEventLoop)}function e(a,b,c){var d=this.shoestringData.events[a];if(d&&d.length){var e,f,g=[];for(e=0,f=d.length;e<f;e++)b&&b!==d[e].namespace||void 0!==c&&c!==d[e].originalCallback||(this.removeEventListener(a,d[e].callback,!1),g.push(e));for(e=0,f=g.length;e<f;e++)this.shoestringData.events[a].splice(e,1)}}function f(a,b){for(var c in this.shoestringData.events)e.call(this,c,a,b)}var g="undefined"!=typeof window?window:this,h=g.document,i=function(b,c){this.length=0,this.selector=c,a.merge(this,b)};i.prototype.reverse=[].reverse,a.fn=i.prototype,a.Shoestring=i,a.extend=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},a.merge=function(a,b){var c,d,e;for(c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},g.shoestring=a,a.ajax=function(b,c){var d,e,f="",g=new XMLHttpRequest;if(d=a.extend({},a.ajax.settings),c&&a.extend(d,c),b||(b=d.url),g&&b){if(d.data)for(e in d.data)d.data.hasOwnProperty(e)&&(""!==f&&(f+="&"),f+=encodeURIComponent(e)+"="+encodeURIComponent(d.data[e]));if("GET"===d.method&&f&&(b+="?"+f),g.open(d.method,b,d.async),g.setRequestHeader){g.setRequestHeader("X-Requested-With","XMLHttpRequest"),"POST"===d.method&&f&&g.setRequestHeader("Content-type","application/x-www-form-urlencoded");for(e in d.headers)d.headers.hasOwnProperty(e)&&g.setRequestHeader(e,d.headers[e])}return g.onreadystatechange=function(){if(4===g.readyState){var a=(g.responseText||"").replace(/^\s+|\s+$/g,"");if(0===g.status.toString().indexOf("0"))return d.cancel(a,g.status,g);if(g.status.toString().match(/^(4|5)/)&&RegExp.$1)return d.error(a,g.status,g);if(d.success)return d.success(a,g.status,g)}},4===g.readyState?g:("POST"===d.method&&f?g.send(f):g.send(),g)}},a.ajax.settings={success:function(){},error:function(){},cancel:function(){},method:"GET",async:!0,data:null,headers:{}},a.get=function(b,c){return a.ajax(b,{success:c})},a.fn.load=function(b,c){var d=this,e=arguments,f=function(b){d.each(function(){a(this).html(b)}),c&&c.apply(d,e)};return a.ajax(b,{success:f}),this},a.post=function(b,c,d){return a.ajax(b,{data:c,method:"POST",success:d})},a.fn.each=function(b){return a.each(this,b)},a.each=function(a,b){for(var c=0,d=a.length;c<d&&!1!==b.call(a[c],c,a[c]);c++);return a},a.inArray=function(a,b){for(var c=-1,d=0,e=b.length;d<e;d++)b.hasOwnProperty(d)&&b[d]===a&&(c=d);return c},a.ready=function(a){return j&&a?a.call(h):a?k.push(a):l(),[h]},a.fn.ready=function(b){return a.ready(b),this};var j=!1,k=[],l=function(){if(!j){for(;k.length;)k.shift().call(h);j=!0}};(h.attachEvent?"complete"===h.readyState:"loading"!==h.readyState)?l():(h.addEventListener("DOMContentLoaded",l,!1),h.addEventListener("readystatechange",l,!1),g.addEventListener("load",l,!1)),a.fn.is=function(c){var d,e,f=!1,g=this;return"string"!=typeof c?(e=c.length&&c[0]?c:[c],b(this,e)):(d=this.parent(),d.length||(d=a(h)),d.each(function(a,d){var e;e=d.querySelectorAll(c),f=b(g,e)}),f)},a.fn.data=function(a,b){return void 0===a?this[0]?this[0].shoestringData||{}:void 0:void 0!==b?this.each(function(){this.shoestringData||(this.shoestringData={}),this.shoestringData[a]=b}):this[0]&&this[0].shoestringData?this[0].shoestringData[a]:void 0},a.fn.removeData=function(a){return this.each(function(){void 0!==a&&this.shoestringData?(this.shoestringData[a]=void 0,delete this.shoestringData[a]):this[0].shoestringData={}})},void 0===g.$&&(g.$=a),a.fn.addClass=function(a){var b=a.replace(/^\s+|\s+$/g,"").split(" ");return this.each(function(){for(var a=0,c=b.length;a<c;a++)void 0===this.className||""!==this.className&&this.className.match(new RegExp("(^|\\s)"+b[a]+"($|\\s)"))||(this.className+=" "+b[a])})},a.fn.add=function(b){var c=[];return this.each(function(){c.push(this)}),a(b).each(function(){c.push(this)}),a(c)},a.fn.after=function(b){return"string"!=typeof b&&void 0===b.nodeType||(b=a(b)),b.length>1&&(b=b.reverse()),this.each(function(a){for(var c=0,d=b.length;c<d;c++){var e=a>0?b[c].cloneNode(!0):b[c];this.parentNode.insertBefore(e,this.nextSibling)}})},a.fn.append=function(b){return"string"!=typeof b&&void 0===b.nodeType||(b=a(b)),this.each(function(a){for(var c=0,d=b.length;c<d;c++)this.appendChild(a>0?b[c].cloneNode(!0):b[c])})},a.fn.appendTo=function(b){return this.each(function(){a(b).append(this)})},a.fn.attr=function(a,b){var c="string"==typeof a;return void 0===b&&c?this[0]?this[0].getAttribute(a):void 0:this.each(function(){if(c)this.setAttribute(a,b);else for(var d in a)a.hasOwnProperty(d)&&this.setAttribute(d,a[d])})},a.fn.before=function(b){return"string"!=typeof b&&void 0===b.nodeType||(b=a(b)),this.each(function(a){for(var c=0,d=b.length;c<d;c++)this.parentNode.insertBefore(a>0?b[c].cloneNode(!0):b[c],this)})},a.fn.children=function(){var b,c,d=[];return this.each(function(){for(b=this.children,c=-1;c++<b.length-1;)-1===a.inArray(b[c],d)&&d.push(b[c])}),a(d)},a.fn.clone=function(){var b=[];return this.each(function(){b.push(this.cloneNode(!0))}),a(b)},a.fn.closest=function(b){var c=[];return b?(this.each(function(){var d;if(a(d=this).is(b))return void c.push(this);for(;d.parentElement;){if(a(d.parentElement).is(b)){c.push(d.parentElement);break}d=d.parentElement}}),a(c)):a(c)},a.cssExceptions={float:["cssFloat"]},function(){function b(a){return a.replace(/\-([A-Za-z])/g,function(a,b){return b.toUpperCase()})}function c(a,b){return g.getComputedStyle(a,null).getPropertyValue(b)}var d=a.cssExceptions,e=["","-webkit-","-ms-","-moz-","-o-","-khtml-"];a._getStyle=function(a,f){var g,h,i,j;if(d[f])for(i=0,j=d[f].length;i<j;i++)if(h=c(a,d[f][i]))return h;for(i=0,j=e.length;i<j;i++)if(g=b(e[i]+f),h=c(a,g),g!==f&&(h=h||c(a,f)),e[i]&&(h=h||c(a,e[i]+f)),h)return h}}(),function(){function b(a){return a.replace(/\-([A-Za-z])/g,function(a,b){return b.toUpperCase()})}var c=a.cssExceptions;a._setStyle=function(a,d,e){var f=b(d);if(a.style[d]=e,f!==d&&(a.style[f]=e),c[d])for(var g=0,h=c[d].length;g<h;g++)a.style[c[d][g]]=e}}(),a.fn.css=function(b,c){if(this[0])return"object"==typeof b?this.each(function(){for(var c in b)b.hasOwnProperty(c)&&a._setStyle(this,c,b[c])}):void 0!==c?this.each(function(){a._setStyle(this,b,c)}):a._getStyle(this[0],b)},a.fn.eq=function(b){return a(this[b]?this[b]:[])},a.fn.filter=function(b){var c=[];return this.each(function(d){var e;if("function"==typeof b)!1!==b.call(this,d)&&c.push(this);else if(9===this.nodeType)this===b&&c.push(this);else{if(this.parentNode)e=a(b,this.parentNode);else{var f=a(h.createDocumentFragment());f[0].appendChild(this),e=a(b,f)}a.inArray(this,e)>-1&&c.push(this)}}),a(c)},a.fn.find=function(b){var c,d=[];return this.each(function(){c=this.querySelectorAll(b);for(var a=0,e=c.length;a<e;a++)d=d.concat(c[a])}),a(d)},a.fn.first=function(){return this.eq(0)},a.fn.get=function(a){if(void 0===a){for(var b=[],c=0;c<this.length;c++)b.push(this[c]);return b}return this[a]},a._dimension=function(a,b,c){var d;return void 0===c?(d=b.replace(/^[a-z]/,function(a){return a.toUpperCase()}),a[0]["offset"+d]):(c="string"==typeof c?c:c+"px",a.each(function(){this.style[b]=c}))},a.fn.height=function(b){return a._dimension(this,"height",b)};var m=function(a){if("string"==typeof a||"number"==typeof a)return this.each(function(){this.innerHTML=""+a});var b="";if(void 0!==a.length)for(var c=0,d=a.length;c<d;c++)b+=a[c].outerHTML;else b=a.outerHTML;return this.each(function(){this.innerHTML=b})};a.fn.html=function(a){if(void 0!==a)return m.call(this,a);var b="";return this.each(function(){b+=this.innerHTML}),b},function(){function b(a,b){var c,d,e;for(c=d=0;c<a.length;c++){if(e=a.item?a.item(c):a[c],b(e))return d;1===e.nodeType&&d++}return-1}a.fn.index=function(c){var d,e;return d=this,void 0===c?(e=(this[0]&&this[0].parentNode||h.documentElement).childNodes,b(e,function(a){return d[0]===a})):b(d,function(b){return b===a(c,b.parentNode)[0]})}}(),a.fn.insertAfter=function(b){return this.each(function(){a(b).after(this)})},a.fn.insertBefore=function(b){return this.each(function(){a(b).before(this)})},a.fn.last=function(){return this.eq(this.length-1)},a.fn.next=function(){var b=[];return this.each(function(){var c,d,e;c=a(this.parentNode)[0].childNodes;for(var f=0;f<c.length;f++){if(d=c.item(f),e&&1===d.nodeType){b.push(d);break}d===this&&(e=!0)}}),a(b)},a.fn.not=function(b){var c=[];return this.each(function(){var d=a(b,this.parentNode);-1===a.inArray(this,d)&&c.push(this)}),a(c)},a.fn.offset=function(){return{top:this[0].offsetTop,left:this[0].offsetLeft}},a.fn.parent=function(){var b,c=[];return this.each(function(){(b=this===h.documentElement?h:this.parentNode)&&11!==b.nodeType&&c.push(b)}),a(c)},a.fn.parents=function(b){var c=[];return this.each(function(){for(var d,e=this;e.parentElement&&!d;)e=e.parentElement,b?e===a(b)[0]&&(d=!0,-1===a.inArray(e,c)&&c.push(e)):-1===a.inArray(e,c)&&c.push(e)}),a(c)},a.fn.prepend=function(b){return"string"!=typeof b&&void 0===b.nodeType||(b=a(b)),this.each(function(a){for(var c=0,d=b.length;c<d;c++){var e=a>0?b[c].cloneNode(!0):b[c];this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e)}})},a.fn.prependTo=function(b){return this.each(function(){a(b).prepend(this)})},a.fn.prev=function(){var b=[];return this.each(function(){var c,d,e;c=a(this.parentNode)[0].childNodes;for(var f=c.length-1;f>=0;f--){if(d=c.item(f),e&&1===d.nodeType){b.push(d);break}d===this&&(e=!0)}}),a(b)},a.fn.prevAll=function(){var b=[];return this.each(function(){for(var c=a(this).prev();c.length;)b.push(c[0]),c=c.prev()}),a(b)},a.propFix={class:"className",contenteditable:"contentEditable",for:"htmlFor",readonly:"readOnly",tabindex:"tabIndex"},a.fn.prop=function(b,c){if(this[0])return b=a.propFix[b]||b,void 0!==c?this.each(function(){this[b]=c}):this[0][b]},a.fn.removeAttr=function(a){return this.each(function(){this.removeAttribute(a)})},a.fn.removeClass=function(a){var b=a.replace(/^\s+|\s+$/g,"").split(" ");return this.each(function(){for(var a,c,d=0,e=b.length;d<e;d++)void 0!==this.className&&(c=new RegExp("(^|\\s)"+b[d]+"($|\\s)","gmi"),a=this.className.replace(c," "),this.className=a.replace(/^\s+|\s+$/g,""))})},a.fn.remove=function(){return this.each(function(){this.parentNode&&this.parentNode.removeChild(this)})},a.fn.removeProp=function(b){var c=a.propFix[b]||b;return this.each(function(){this[c]=void 0,delete this[c]})},a.fn.replaceWith=function(b){"string"==typeof b&&(b=a(b));var c=[];return b.length>1&&(b=b.reverse()),this.each(function(a){var d,e=this.cloneNode(!0);if(c.push(e),this.parentNode)if(1===b.length)d=a>0?b[0].cloneNode(!0):b[0],this.parentNode.replaceChild(d,this);else{for(var f=0,g=b.length;f<g;f++)d=a>0?b[f].cloneNode(!0):b[f],this.parentNode.insertBefore(d,this.nextSibling);this.parentNode.removeChild(this)}}),a(c)},a.inputTypes=["text","hidden","password","color","date","datetime","email","month","number","range","search","tel","time","url","week"],a.inputTypeTest=new RegExp(a.inputTypes.join("|")),a.fn.serialize=function(){var b={};return a("input, select",this).each(function(){var c=this.type,d=this.name,e=this.value;a.inputTypeTest.test(c)||("checkbox"===c||"radio"===c)&&this.checked?b[d]=e:"SELECT"===this.nodeName&&(b[d]=this.options[this.selectedIndex].nodeValue)}),b},a.fn.siblings=function(){if(!this.length)return a([]);var b=[],c=this[0].parentNode.firstChild;do{1===c.nodeType&&c!==this[0]&&b.push(c),c=c.nextSibling}while(c);return a(b)};var n=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=n(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=n(b);return c};return a.fn.text=function(){return n(this)},a.fn.val=function(b){var c;return void 0!==b?this.each(function(){if("SELECT"===this.tagName){var c,d,e,f=this.options,g=[],h=f.length;for(g[0]=b;h--;)d=f[h],(d.selected=a.inArray(d.value,g)>=0)&&(c=!0,e=h);this.selectedIndex=c?e:-1}else this.value=b}):(c=this[0],"SELECT"===c.tagName?c.selectedIndex<0?"":c.options[c.selectedIndex].value:c.value)},a.fn.width=function(b){return a._dimension(this,"width",b)},a.fn.wrapInner=function(b){return this.each(function(){var c=this.innerHTML;this.innerHTML="",a(this).append(a(b).html(c))})},a.fn.bind=function(a,b,e){function f(a,c,d){var f;if(!a._namespace||a._namespace===c){a.data=b,a.namespace=a._namespace;var g=function(){return!0};a.isDefaultPrevented=function(){return!1};var h=a.preventDefault;return a.target=d||a.target||a.srcElement,a.preventDefault=function(){return h?function(){a.isDefaultPrevented=g,h.call(a)}:function(){a.isDefaultPrevented=g,a.returnValue=!1}}(),a.stopPropagation=a.stopPropagation||function(){a.cancelBubble=!0},f=e.apply(this,[a].concat(a._args)),!1===f&&(a.preventDefault(),a.stopPropagation()),f}}"function"==typeof b&&(e=b,b=null);var g=a.split(" ");return this.each(function(){for(var a,b,h,i=this,j=0,k=g.length;j<k;j++){var l=g[j].split("."),m=l[0],n=l.length>0?l[1]:null;a=function(a){return i.ssEventTrigger&&(a._namespace=i.ssEventTrigger._namespace,a._args=i.ssEventTrigger._args,i.ssEventTrigger=null),f.call(i,a,n)},b=null,h=null,c(this,m),this.addEventListener(m,a,!1),d(this,m,{callfunc:b||a,isCustomEvent:!!b,customEventLoop:h,originalCallback:e,namespace:n})}})},a.fn.on=a.fn.bind,a.fn.unbind=function(a,b){var c=a?a.split(" "):[];return this.each(function(){if(this.shoestringData&&this.shoestringData.events)if(c.length)for(var a,d,g,h=0,i=c.length;h<i;h++)a=c[h].split("."),d=a[0],g=a.length>0?a[1]:null,d?e.call(this,d,g,b):f.call(this,g,b);else f.call(this)})},a.fn.off=a.fn.unbind,a.fn.one=function(b,c){var d=b.split(" ");return this.each(function(){for(var b,e={},f=a(this),g=0,h=d.length;g<h;g++)b=d[g],e[b]=function(b){var d=a(this);for(var f in e)d.unbind(f,e[f]);return c.apply(this,[b].concat(b._args))},f.bind(b,e[b])})},a.fn.triggerHandler=function(a,b){var c,d=a.split(" ")[0],e=this[0];if(h.createEvent&&e.shoestringData&&e.shoestringData.events&&e.shoestringData.events[d]){var f=e.shoestringData.events[d];for(var g in f)f.hasOwnProperty(g)&&(a=h.createEvent("Event"),a.initEvent(d,!0,!0),a._args=b,b.unshift(a),c=f[g].originalCallback.apply(a.target,b))}return c},a.fn.trigger=function(a,b){var c=a.split(" ");return this.each(function(){for(var a,d,e,f=0,g=c.length;f<g;f++){if(a=c[f].split("."),d=a[0],e=a.length>0?a[1]:null,"click"===d&&"INPUT"===this.tagName&&"checkbox"===this.type&&this.click)return this.click(),!1;if(h.createEvent){var i=h.createEvent("Event");i.initEvent(d,!0,!0),i._args=b,i._namespace=e,this.dispatchEvent(i)}}})},a}),window.jQuery||(window.jQuery=window.jQuery||window.shoestring),function(a){a.Akamai=a.Akamai||{},window.componentNamespace="Akamai"}("undefined"==typeof exports?window:exports),function(a,b){var c;b(a),c=b(document.documentElement);var d=a.componentNamespace=a.componentNamespace||"FG";a[d]=a[d]||{},Function.prototype.bind=Function.prototype.bind||function(a){var b=this;return function(){b.apply(a,arguments)}};var e=a[d].Tau=function(c,d){var f;this.element=c,this.options=d||{},this.$element=b(c),this.$initial=this.$element.find("img"),this.$loading=this.$element.find(".loading"),this.index=0,this.frames=this.$initial.length>1?this.$initial.length:parseInt(this.$initial.attr("data-frames"),10)||this.options.frames,f=parseInt(this.$initial.attr("data-reduced-step-size"),10)||4,this.stepSize=a.requestAnimationFrame?1:f,this.autoRotateStartDelay=(this.options.autoplay||{}).delay||parseInt(this.$initial.attr("data-auto-rotate-delay"),10)||e.autoRotateStartDelay,this.mouseMoveBinding=this.rotateEvent.bind(this),this.touchMoveBinding=this.rotateEvent.bind(this),this.path=new e.Path,this.$initial.first().addClass("focused"),this.$element.addClass("tau-enhanced"),this.$render=b('<div data-render class="render"></div>').css("position","absolute").css("left","0").css("top","0").prependTo(this.element),!1!==this.options.canvas&&(this.canvas=b("<canvas/>").prependTo(this.element)[0],this.canvas.getContext&&(this.canvasCtx=this.canvas.getContext("2d"),this.$element.addClass("tau-canvas"),b(a).bind("resize",function(){clearTimeout(this.canvasResizeTimeout),this.canvasResizeTimeout=setTimeout(this.renderCanvas.bind(this),100)}.bind(this)))),this.options.controls&&(this.options.controls.text=this.options.controls.text||{play:"Spin Object",left:"Rotate Left",right:"Rotate Right"},this.createControls()),this.createImages(),this.options.autoplay&&this.options.autoplay.enabled&&(this.autostartTimeout=setTimeout(this.autoRotate.bind(this),this.autoRotateStartDelay)),this.bind()};e.autoRotateTraversalTime=4500,e.autoRotateStartDelay=100,e.verticalScrollRatio=4,e.maxVelocity=60,e.prototype.createControls=function(){this.$controls=b("<div class='tau-controls'></div>"),this.options.controls.play&&this.$controls.append(this.controlAnchorMarkup("play")),this.options.controls.arrows&&this.$controls.prepend(this.controlAnchorMarkup("left")).append(this.controlAnchorMarkup("right")),this.$controls.bind("mousedown touchstart",this.onControlDown.bind(this)),this.$controls.bind("mouseup",this.onControlUp.bind(this)),this.$controls.bind("click",function(a){b(a.target).is("a")&&a.preventDefault()}),this.$element.append(this.$controls)},e.prototype.controlAnchorMarkup=function(a){var b=this.options.controls.text[a];return"<a href='#' data-tau-controls='"+a+"' title='"+b+"'>"+b+"</a>"},e.prototype.onControlDown=function(a){switch(b(a.target).closest("a").attr("data-tau-controls")){case"left":this.$element.addClass("control-left-down"),this.stopAutoRotate(),this.autoRotate();break;case"right":this.$element.addClass("control-right-down"),this.stopAutoRotate(),this.autoRotate(!0)}},e.prototype.onControlUp=function(a){switch(b(a.target).closest("a").attr("data-tau-controls")){case"left":case"right":this.$element.removeClass("control-left-down"),this.$element.removeClass("control-right-down"),this.stopAutoRotate();break;case"play":this.autoInterval?this.stopAutoRotate():this.autoRotate()}},e.prototype.change=function(a){this.goto(this.options.reverse?this.index-a:this.index+a)},e.prototype.goto=function(a){var b,c,d=this.$images.length;return a%=d,c=(d+a)%d,b=this.$images.eq(c),b[0].tauImageLoaded?(this.$current?this.$current.removeClass("focused"):this.$images.removeClass("focused"),this.$current=b,this.index=c,this.canvasCtx?this.renderCanvas():(this.$current.addClass("focused"),!0)):(this.showLoading(),!1)},e.prototype.renderCanvas=function(){var a=this.$current,b=a[0],c=b.naturalWidth,d=b.naturalHeight,e=this.element.clientWidth,f=e/c*d;return!!(c&&d&&b.complete)&&((this.canvas.width!==e||this.canvas.height!==f||e&&f)&&(this.canvas.width=e,this.canvas.height=f),this.canvasCtx.drawImage(b,0,0,e,f),!0)},e.prototype.createImages=function(){var a,c,d;if(this.$initial.length<1)throw new Error("At least one image required");if(this.loadedCount=0,1==this.$initial.length){this.markImageLoaded(this.$initial[0]),a=this.options.template||this.$initial.attr("data-src-template");for(var e=[],f=this.stepSize+1;f<=this.frames;f+=this.stepSize)c="<img src="+a.replace("$FRAME",f)+"></img>",d=b(c),e.push(d);b.each(e,function(a,c){var d=b(c);d.bind("load error",function(b){this.imageLoaded(a,b.target,b)}.bind(this)),this.$element.append(d),this.$render.append(d.html())}.bind(this)),this.$images=this.$element.children().filter("img"),this.$current=this.$images,this.goto(0)}else this.$images=this.$element.children().filter("img"),
this.$images.each(function(a,c){b(c).height()>0?this.imageLoaded(a,c):b(c).bind("load error",function(b){this.imageLoaded(a,b.target,b)}.bind(this))}.bind(this))},e.prototype.imageLoaded=function(a,b,c){var d=!1;this.markImageLoaded(b),this.$element.find("img")[0]!=b||c&&"error"===c.type||this.options.autoplay&&this.options.autoplay.enabled||(this.goto(0),this.$element.trigger("tau.init"),d=!0),++this.loadedCount>=this.frames-1&&(this.hideLoading(),d||(this.$element.trigger("tau.init"),this.initialized=!0))},e.prototype.markImageLoaded=function(a){a.tauImageLoaded=!0},e.prototype.bind=function(){this.$element.bind("mousedown touchstart",this.track.bind(this))},e.prototype.autoRotate=function(a){this.autoInterval||(this.$element.addClass("spinning"),this.change(a?-1:1),this.autoInterval=setInterval(function(){this.change(a?-1:1)}.bind(this),this.autoRotateDelay()*this.stepSize),this.$element.trigger("tau.auto-rotate-start"))},e.prototype.autoRotateDelay=function(){return(this.options.interval||e.autoRotateTraversalTime)/this.frames},e.prototype.stopAutoRotate=function(){clearInterval(this.autoInterval),clearInterval(this.autostartTimeout),this.$element.removeClass("spinning"),this.autoInterval=void 0,this.$element.trigger("tau.auto-rotate-stop")},e.prototype.track=function(a){var d;if(!b(a.target).closest(".tau-controls").length&&("mousedown"===a.type&&a.preventDefault(),"touchstart"===a.type?this.$element.trigger("tau.touch-tracking-start"):this.$element.trigger("tau.mouse-tracking-start"),!this.tracking)){c.one("mouseup",this.release.bind(this)),c.one("touchend",this.release.bind(this)),this.tracking=!0,this.path.reset(),this.cursorGrab();var e=this.$element[0].clientWidth/this.frames;this.rotateThreshold=e/(this.options.sensitivity||1),d=this.getPoint(a),this.downX=d.x,this.downY=d.y,this.downIndex=this.index,c.bind("mousemove",this.mouseMoveBinding),c.bind("touchmove",this.touchMoveBinding)}},e.prototype.slow=function(){if(!this.path.isSufficient())return void this.clearSlowInterval();this.rotate({x:this.path.last().x+this.velocity,y:this.path.last().y}),this.velocity>0?(this.velocity=this.velocity-this.decelVal(),this.velocity<=0&&this.clearSlowInterval()):(this.velocity=this.velocity+this.decelVal(),this.velocity>=0&&this.clearSlowInterval())},e.prototype.decelVal=function(){return this.decelTimeStep()/8},e.prototype.clearSlowInterval=function(){clearInterval(this.slowInterval),this.velocity=0,this.slowInterval=void 0},e.prototype.decel=function(){var a,b;this.path.isSufficient()&&(a=this.path.velocity(this.decelTimeStep()),b=a>0?1:a<0?-1:0,Math.abs(a)>e.maxVelocity&&(a=b*e.maxVelocity),this.velocity=a,this.slowInterval=setInterval(this.slow.bind(this),this.decelTimeStep()))},e.prototype.decelTimeStep=function(){return this.autoRotateDelay()/2},e.prototype.release=function(a){b(a.target).closest(".tau-controls").length||this.tracking&&("touchend"===a.type?this.$element.trigger("tau.touch-tracking-stop"):this.$element.trigger("tau.mouse-tracking-stop"),this.decel(),this.cursorRelease(),c.unbind("mousemove",this.mouseMoveBinding),c.unbind("touchmove",this.touchMoveBinding),this.tracking=!1)},e.prototype.cursorGrab=function(){c.addClass("grabbing")},e.prototype.cursorRelease=function(){c.removeClass("grabbing")},e.prototype.showLoading=function(){this.$loading.attr("style","display: block")},e.prototype.hideLoading=function(){this.$loading.attr("style","display: none")},e.prototype.getPoint=function(a){var b=a.touches||a.originalEvent&&a.originalEvent.touches;return b?{x:b[0].pageX,y:b[0].pageY}:{x:a.pageX||a.clientX,y:a.pageY||a.clientY}},e.prototype.rotateEvent=function(a){this.rotate(this.getPoint(a))&&a.preventDefault()},e.prototype.rotate=function(a){var b,c;if(b=a.x-this.downX,c=a.y-this.downY,Math.abs(c)/Math.abs(b)>=e.verticalScrollRatio)return!1;if(this.path.record(a),Math.abs(b)>=this.rotateThreshold){this.stopAutoRotate();var d;return d=this.options.reverse?this.downIndex+Math.round(b/this.rotateThreshold):this.downIndex-Math.round(b/this.rotateThreshold),this.goto(d),!0}}}(this,jQuery),function(a,b){var c=a.componentNamespace=a.componentNamespace||"FG";a[c]=a[c]||{},Date.now=Date.now||function(){return(new Date).getTime()};var d=a[c].Tau.Path=function(){this.reset()};d.prototype.isSufficient=function(){return!!this.prevPoint&&this.prevPrevPoint},d.prototype.distance=function(){return this.prevPoint.x-this.prevPrevPoint.x},d.prototype.duration=function(){return this.prevTime-this.prevPrevTime},d.prototype.record=function(a){this.prevPrevTime=this.prevTime,this.prevPrevPoint=this.prevPoint,this.prevTime=Date.now(),this.prevPoint=a},d.prototype.velocity=function(a){var b,c;return b=this.distance(),c=this.duration(),b/(c/a)},d.prototype.reset=function(){this.prevPoint=void 0,this.prevTime=void 0,this.prevPrevTime=void 0,this.prevPrevPoint=void 0},d.prototype.last=function(){return this.prevPoint}}(this,jQuery),function(a,b){function c(a){return String(a).replace(/[&<>"'`=\/]/g,function(a){return f[a]})}a.Akamai=a.Akamai||{};var d=a.Akamai.Util={};d.preflight=function(a,c,e,f){if(f=f||a.constructor.name,a._$el=b(c),!a._$el.length)throw new Error(f+" component requires element");return a._$el.data(f)?a._$el.data(f):(a._$el.data(f,a),a._$el.attr(a.constructor._dataAttr,!0),a._options=d.options(a.constructor.defaultOptions||{},e||{},a._$el,f),a._originalOptions=d.extend(!0,{},a._options),d.mapEvents(a),!1)},d.component=function(a,b,c){c||(c=b,b=!1);var e=function(e,f){var g=d.preflight(this,e,f,a);if(g)return this._trigger("init"),g;c.apply(this,arguments),b||this._trigger("init")};return e.name=a,e._dataAttr="data-akamai-"+a.toLowerCase(),e.createMany=d.createMany(e),e.prototype._trigger=d.trigger(a),e},d.mapEvents=function(a){var b=a.constructor._componentEventMapping||{};for(var c in b)if(b.hasOwnProperty(c)){var e=b[c].to||b[c],f=b[c].selector?a._$el.find(b[c].selector):void 0;d.mapEvent(a,c,e,f)}},d.mapEvent=function(a,b,c,d){(d||a._$el).bind(b,function(){a._trigger(c)}.bind(a))},d.createMany=function(a,c){return c=c||"["+a._dataAttr+"]",function(d,e){var f=b(d).find(c),g=[];return f.each(function(b,c){g.push(new a(c,e))}),g}},d.propRequired=function(a,b,c){return function(){var d=arguments;if(!this[a])throw new Error(b);return c.apply(this,d)}},d.trigger=function(a){return a=a.toLowerCase(),function(b){var c="akamai-"+a+"-"+b;this._$el.trigger(c)}},d.camelToKabob=function(a){return a.replace(/([A-Z]+)/g,function(a){return"-"+a.toLowerCase()})},d.options=function(a,b,c,e){var f={},g=d.extend(!0,{},a);c&&e&&(f=d.getDataAttrOptions(c,a,"data-akamai-"+e.toLowerCase()));var h=d.extend(!0,d.extend(!0,g,f),b);return c&&e&&d.setDataAttrOptions(c,a,h,e),h},d.getDataAttrOptions=function(a,b,c){var e={};for(var f in b)if(b.hasOwnProperty(f)){var g=d.camelToKabob(f),h=c+"-"+g;if(!/object/.test(typeof b[f])||b[f]instanceof Array){var i=a.attr(h);i=d.coerceAttrVal(i),void 0!==i&&null!==i&&(e[f]=i)}else{var j=b[f],k=h,l=d.getDataAttrOptions(a,j,k);e[f]=l}}return e},d.setDataAttrOptions=function(a,b,c,e){d.setDataAttrOptionsPrefix(a,b,c,"data-akamai-"+e.toLowerCase())},d.setDataAttrOptionsPrefix=function(a,b,c,e){b=b||{};for(var f in c)if(c.hasOwnProperty(f)&&"breakpoints"!==f){var g=d.camelToKabob(f),h=e+"-"+g;if(/object/.test(typeof c[f])){var i=c[f],j=h;d.setDataAttrOptionsPrefix(a,b[f],i,j)}else(a.attr(h)||void 0!==b[f])&&a.attr(h,c[f])}},d.coerceAttrVal=function(a){return"true"===a||"false"!==a&&(/^[0-9]+$/.test(a)?parseInt(a,10):/^[0-9]+.[0-9]+$/.test(a)?parseFloat(a,10):a)},d.extend=function(a,b,c){var e,f,g,h;if(null!=c)for(e in c)f=b[e],g=c[e],b!==g&&(a&&g&&d.isPlainObject(g)?(h=f&&d.isPlainObject(f)?f:{},b[e]=d.extend(a,h,g)):void 0!==g&&(b[e]=g));return b},d.isPlainObject=function(a){return!(!a||"[object Object]"!==Object.prototype.toString.call(a))};var e=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;d.trim=function(a){return null==a?"":(a+"").replace(e,"")},d.map=function(a,b){return d.reduce(a,function(a,c,d){return a.push(b(c,d)),a},[])},d.reduce=function(a,b,c){for(var d=0;d<a.length;d++)c=b(c,a[d],d);return c},d.log=function(a,b){b=b||"log",console&&console[b](a)},d.mapJSONVals=function(a,b,c){var e={};if(a.map)return a.map(function(a){return d.mapJSONVals(a,b)});if(["string","number","boolean"].indexOf(typeof a)>=0)return b(a,c);for(var f in a)a.hasOwnProperty(f)&&(e[f]=d.mapJSONVals(a[f],b,f));return e},d.escapeJSONVals=function(a){return d.mapJSONVals(a,function(a){return"string"==typeof a?c(a):a})};var f={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"}}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c={extension:{next:function(a){this.goto(this.getIndex()+1,function(){a&&a(),this._trigger("next")}.bind(this))},previous:function(a){this.goto(this.getIndex()-1,function(){a&&a(),this._trigger("previous")}.bind(this))}},extend:function(a){if(!a.prototype.goto||!a.prototype.getIndex)throw new Error("Advanceable mixin requires `goto` and `getIndex` methods");b.extend(a.prototype,this.extension)}};a.Akamai=a.Akamai||{},a.Akamai.Advanceable=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c={extension:{_srcArray:function(a,b,c){var d=b.policy||b.thumbnail&&b.thumbnail.policy,e=b.widthParam;return b.widths.map(function(b){var f=a+(-1===a.indexOf("?")?"?":"&")+e+"="+b;return d&&(f+="&impolicy="+d),c&&(f+=" "+b+"w"),f})},_srcset:function(a,b){return this._srcArray(a,b,!0).join(", ")},_fallbackSrc:function(a,b){return this._srcArray(a,b)[0]},_largestSrc:function(a,b){return this._srcArray(a,b).pop()}},extendStatic:function(a){Akamai.Util.extend(!1,a,this.extension)}};a.Akamai=a.Akamai||{},a.Akamai.Sourceable=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(b){a.setTimeout(b,1e3/60)}}();a.toss=function(a,b){toss.tossing(a,!1);var d,e,f=0,g=a.scrollLeft,h=a.scrollTop,i={top:"+0",left:"+0",duration:200,easing:toss.easing,finished:function(){}};if(b)for(var j in i)void 0!==b[j]&&(i[j]=b[j]);"string"==typeof i.left?(i.left=parseFloat(i.left),d=i.left+g):(d=i.left,i.left=i.left-g),"string"==typeof i.top?(i.top=parseFloat(i.top),e=i.top+h):(e=i.top,i.top=i.top-h),toss.tossing(a,!0);var k=(new Date).getTime(),l=k+i.duration,m=function(){var b=(new Date).getTime();if(toss.tossing(a)){if(b<l)return f=(b-k)/i.duration*i.duration,a.scrollLeft=i.easing(f,g,i.left,i.duration),a.scrollTop=i.easing(f,h,i.top,i.duration),c(m);a.scrollLeft=d,a.scrollTop=e,i.finished&&i.finished(),toss.tossing(a,!1)}else i.finished&&i.finished()};return c(m),{top:e,left:d,duration:i.duration,easing:i.easing}};var d={};toss.tossing=function(a,b){return void 0!==b&&(d[a]=b),d[a]},toss.easing=function(a,b,c,d){return c*((a=a/d-1)*a*a+1)+b},toss.toss=toss}(this),function(a,b){var c="snapper";b.fn[c]=function(d){function e(a,d){var e=b(a).find("."+c+"_item"),f=b(a).width(),g=[];return e.each(function(a){this.offsetLeft>=d-5&&this.offsetLeft<d+f-5&&g.push(this)}),b(g)}function f(a){return a.width()+parseFloat(a.css("margin-left"))+parseFloat(a.css("margin-right"))}function g(a){return a.height()+parseFloat(a.css("margin-bottom"))+parseFloat(a.css("margin-top"))}function h(a,d,f){f=f?f+"-":"";var g=e(a,d);b(a).trigger(c+"."+f+"snap",{activeSlides:g})}function i(d,f,g,i){m=!1,h(d,f);var j=function(){d.scrollLeft=f,b(d).closest("."+c).removeClass(c+"-looping"),b(d).trigger(c+".after-goto",{activeSlides:e(d,f)}),i&&i(),h(d,f,"after"),m=!0};!a.toss&&a.overthrow&&(a.toss=a.overthrow.toss),void 0===a.toss||g?(d.scrollLeft=f,j()):a.toss(d,{left:f,finished:j})}var j,k,l=arguments,m=!0,n="scroll-snap-type",o=a.CSS&&a.CSS.supports&&(a.CSS.supports(n,"x mandatory")||a.CSS.supports(n,"mandatory")||a.CSS.supports("-webkit-"+n,"mandatory")||a.CSS.supports("-ms-"+n,"mandatory"));return j=this.each(function(){function e(){var a=z.attr("data-autoplay")||z.attr("data-snapper-autoplay"),b=!1;if(a){try{a=parseInt(a,10)}catch(a){b=!0}if(!a||b){throw new Error("Snapper: `data-autoplay` must have an natural number value.")}}return a}function j(){var b=D.attr("style");D.attr("style","");var c=E.eq(0).attr("style");E.eq(0).attr("style","");var d=B.width(),e=E.eq(0).width(),f=a.getComputedStyle(E[0],null),g=parseFloat(f.getPropertyValue("margin-left")),h=parseFloat(f.getPropertyValue("margin-right")),i=e+g+h;E.eq(0).attr("style",c),D.attr("style",b);var j=F/Math.round(d/i)*100,k=e/d*100,l=h/d*100,m=g/d*100,n=k+m+l,o=k/n,p=l/n,q=m/n;D.css("width",j+"%"),E.css("width",100/F*o+"%"),E.css("margin-left",100/F*q+"%"),E.css("margin-right",100/F*p+"%")}function m(){if(S)return void(O=!0);var a=B[0].scrollLeft,b=D.width(),c=E[1]?E[1].offsetLeft:f(E.eq(0)),d=Math.round(a/c)*c,e=b-B.width();d>e&&(d=e),a!==d&&o?(h(B[0],d),h(B[0],d,"after")):i(B[0],d),O=!1}function n(){var a=B[0].scrollLeft,b=E.length,c=D.width();void 0===M&&(M=Math.round(a/c*b)),N&&clearTimeout(N),N=setTimeout(function(){j(),i(B[0],E[M].offsetLeft,!0),M=N=void 0},50)}function p(a){var b=B[0].scrollLeft,d=D.width(),e=f(B),g=d-e-5;return a?b>=g?(z.addClass(c+"-looping"),s()):q():0===b?(z.addClass(c+"-looping"),t()):r()}function q(){i(B[0],B[0].scrollLeft+D.width()/F,!1,function(){B.trigger(c+".after-next")})}function r(){i(B[0],B[0].scrollLeft-D.width()/F,!1,function(){B.trigger(c+".after-prev")})}function s(){i(B[0],0)}function t(){i(B[0],D.width()-B.width())}function u(b,c,d){void 0!==a.toss?a.toss(b,{left:c,top:d}):(b.scrollLeft=c,b.scrollTop=d)}function v(a){var b=(new Date).getTime();if(!(!a&&P&&b-P<200)){P=b;var c=B[0].scrollLeft,d=f(D),e=f(G),h=g(G),i=Math.round(c/d*F)||0,j=G.find("a").removeClass(H),k=j.eq(i).addClass(H),l=k[0].offsetLeft-e/2,m=k[0].offsetTop-h/2;u(J[0],l,m)}}function w(a){a&&(x=setTimeout(function(){var a=e();a&&(p(!0),w(a))},a))}if(void 0===k){var x,y=this,z=b(y),A=z.is("[data-"+c+"-nextprev]"),B=b("."+c+"_pane",y),C=c+"-enhanced",D=B.find("."+c+"_items"),E=D.children();E.addClass(c+"_item");var F=E.length,G=b("."+c+"_nav",y),H=c+"_nav_item-selected",I="false"!==z.attr("data-snapper-deeplinking");if("string"!=typeof d){if(!z.attr("data-"+c+"-enhanced")){var J=G.find("."+c+"_nav_inner");if(J.length||(J=b('<div class="'+c+'_nav_inner"></div>').append(G.children()).appendTo(G)),B.attr("tabindex","0"),j(),b(y).addClass(C),A){var K=b('<ul class="snapper_nextprev"><li class="snapper_nextprev_item"><a href="#prev" class="snapper_nextprev_prev">Prev</a></li><li class="snapper_nextprev_item"><a href="#next" class="snapper_nextprev_next">Next</a></li></ul>'),L=b(".snapper_nextprev_contain",y);L.length||(L=b(y)),K.appendTo(L)}b("a",this).bind("click",function(c){clearTimeout(x);var d=b(this).attr("href");if(b(this).is(".snapper_nextprev_next"))return c.preventDefault(),p(!0);if(b(this).is(".snapper_nextprev_prev"))return c.preventDefault(),p(!1);if(0===d.indexOf("#")&&d.length>1){c.preventDefault();var e=b(d,y);e.length&&(i(B[0],e[0].offsetLeft),I&&"replaceState"in a.history&&a.history.replaceState({},document.title,d))}}),b(this).bind("keydown",function(a){37!==a.keyCode&&38!==a.keyCode||(clearTimeout(x),a.preventDefault(),a.stopImmediatePropagation(),p(!1)),39!==a.keyCode&&40!==a.keyCode||(clearTimeout(x),a.preventDefault(),a.stopImmediatePropagation(),p(!0))});var M,N,O=!1;if(b(a).bind("resize",n),G.length){var P;v(),B.bind("scroll",v)}var Q,R=0;B.bind("scroll",function(a){R=(new Date).getTime(),Q=!0}),setInterval(function(){Q&&R<=(new Date).getTime()-150&&(m(),v&&v(!0),Q=!1)},150);var S=!1;B.bind("touchstart",function(){clearTimeout(x),S=!0}),B.bind("touchend",function(){S=!1,O&&!Q&&(m(),Q=!1)}),w(e()),z.attr("data-"+c+"-enhanced",!0)}}else{var T,U=Array.prototype.slice.call(l,1),V=D.width()/F;switch(d){case"goto":T=U[0]%F,offset=V*T,i(B[0],offset,!1,function(){m(),"function"==typeof U[1]&&U[1]()});break;case"getIndex":k=Math.floor((B[0].scrollLeft+1)/V);break;case"updateWidths":j()}}}}),void 0!==k?k:j}}(this,jQuery),function(a){var b=function(){var b=a.jQuery,c="enlarge";b.fn[c]=function(d){var e=arguments,f=b(this).data("options")||{button:!0,hoverZoomWithoutClick:!0,delay:300,flyout:{width:200,height:200},placement:"inline",magnification:3};"string"!=typeof d&&(f=b.extend(f,d),b(this).data("options",f));var g,h=this.each(function(){function h(){"inline"===f.placement?(C=B,M=L,v.data("zoomParent",M),K=J):(C=V.find("img")[0],M=K=V,v.data("zoomParent",M))}function i(){V.css({width:f.flyout.width+"px",height:f.flyout.height+"px",top:"",left:"","margin-left":"","margin-top":""});var a=f.placement.match(/left|right/);a&&V.css(a[0],-f.flyout.width+"px"),f.placement.match(/loupe/)&&V.css({"margin-left":-f.flyout.width/2+"px","margin-top":-f.flyout.height/2+"px"}),V[0].className=V[0].className.replace(/enlarge_flyout\-[^$\s]+/," "),V.addClass("enlarge_flyout-"+f.placement)}function j(){f.disabled?v.addClass("enlarge_disabled"):v.removeClass("enlarge_disabled")}function k(){N=!v.data("zoomed"),v.data("zoomed",N)}function l(a){if(a=a||function(){},N){if(f.disabled)return a(),!1;var c=new Image;c.className="enlarge_img-loading",c.onload=function(){C.sizes=c.sizes,z&&E||(C.src=G),b(c).remove(),a()},c.sizes=o()+"px",z&&E?E&&(c.srcset=E):c.src=G,b(c).insertBefore(C)}else C.sizes=F,z||(C.src=D),a()}function m(){var a=K.width(),b=K.height(),c=C.offsetWidth,d=C.offsetHeight;K[0].scrollLeft=c/2-a/2,K[0].scrollTop=d/2-b/2}function n(){if(v.data("lockedZoom"))L.add(M).removeClass(O),v.data("lockedZoom",lockedZoom=!1),K.removeAttr("tabindex");else{if(f.disabled)return!1;L.add(M).addClass(O),v.data("lockedZoom",lockedZoom=!0),K.attr("tabindex","0"),K[0].focus()}}function o(){return L[0].offsetWidth*f.magnification}function p(){if(v.data("zoomed")){if(f.disabled)return!1;"inline"===f.placement&&J.add(L).css({width:L[0].offsetWidth+"px",height:parseFloat(getComputedStyle(L[0]).height)+"px"}),M.addClass(H),b(C).css("width",o()+"px"),b(w).trigger(c+".after-zoom-in")}else M.removeClass(H),"inline"===f.placement&&J.add(L).css({width:"",height:""}),b(C).css("width",""),b(w).trigger(c+".after-zoom-out")}function q(){function a(){f.placement=d,h(),b(w).unbind(c+".after-zoom-out",a)}var d=f.placement;"inline"!==d&&(b(w).bind(c+".after-zoom-out",a),f.placement="inline",h())}function r(){if(f.disabled&&!v.data("zoomed"))return!1;k(),l(function(){n(),p(),m()})}function s(a){"touchstart"===a.type&&(S=!0),S&&"mouseenter"===a.type||"mouseenter"===a.type&&!S&&!U||v.data("lockedZoom")||R||(R=!0,J.addClass(I),Q=setTimeout(function(){J.removeClass(I),k(),l(function(){p(),P=!0,u(T?T:a)})},f.delay))}function t(a){J.removeClass(I),clearTimeout(Q),P=!1,!1!==f.hoverZoomWithoutClick||S||(U=!1),S&&"mouseleave"===a.type&&(S=!1)}function u(a){if(P){if(S&&"mousemove"===a.type)return;var b=a.touches?a.touches[0]:a;a.preventDefault();var c=b.clientX-J[0].getBoundingClientRect().left,d=b.clientY-J[0].getBoundingClientRect().top;if(f.placement.match(/loupe/)){var e=(a.touches?-f.flyout.width/1.3:-f.flyout.width/2)+"px",g=(a.touches?-f.flyout.height/1.3:-f.flyout.height/2)+"px";requestAnimationFrame(function(){V.css({top:d+"px",left:c+"px","margin-left":e,"margin-top":g})})}var h=J[0].offsetWidth,i=J[0].offsetHeight,j=C.offsetWidth,k=C.offsetHeight,l=K[0].offsetWidth,m=K[0].offsetHeight;K[0].scrollLeft=c/h*(j-l),K[0].scrollLeft+=(c/h-.5)*l,K[0].scrollTop=d/i*(k-m),K[0].scrollTop+=(d/i-.5)*m}else T=a}var v=b(this),w=this,x=a.document.createElement("img"),y="srcset"in x,z=y&&"sizes"in x,A=b(this).find("a");if(!A.length)throw new Error(c+": requires an anchor element with `href` for the enlarged image source");var B=v.find("img")[0],C=B,D=C.src,E=b(C).attr("srcset"),F=b(C).attr("sizes"),G=A[0].href,H=(A[0].innerText,c+"-zoomed"),I=c+"-delay",J=b(C).closest(".enlarge_contain"),K=J,L=b(C).closest(".enlarge_pane")||v,M=b(this).data("zoomParent")||L;b(this).data("zoomParent",M);var N=v.data("zoomed")||!1;v.data("zoomed",N),v.data("lockedZoom",v.data("lockedZoom")||!1);var O=c+"-locked";if(!J.length)throw new Error(c+": requires an element above the image marked with the class `enlarge_contain`");if("string"!=typeof d){j(),v.data("updateOptions",function(a){f=b.extend(f,a),b(this).data("options",f),h(),i(),U=f.hoverZoomWithoutClick,f.image&&f.image.sizes&&(F=f.image.sizes,l()),j(),f.disabled&&v.data("zoomed")&&r()});var P,Q,R,S,T,U=f.hoverZoomWithoutClick,V=b('<div class="enlarge_flyout"></div>').append(J.clone());V.insertAfter(L),function(){J.append('<i class="enlarge_loader"><i></i></i>')}(),h(),i(),A.bind("keydown",function(a){13!==a.keyCode&&32!==a.keyCode||q(),32===a.keyCode&&(a.preventDefault(),b(this).trigger("click"))}).bind("click",function(a){a.preventDefault(),r()}),b(a).bind("resize",function(a){v.data("lockedZoom")&&r()}),b(a.document).bind("mouseup",function(a){v.data("lockedZoom")&&!b(a.target).closest(L).length&&r()}),b(B).bind("mouseenter touchstart",s).bind("mousemove touchmove",u).bind("mouseleave touchend",function(a){R=!1,N&&!v.data("lockedZoom")&&(k(),l(function(){p()})),t(a)}).bind("click",function(a){a.preventDefault(),S&&"inline"===f.placement&&r(),!1!==f.hoverZoomWithoutClick||S||(U=!U,U?b(this).trigger("mouseenter"):b(this).trigger("mouseleave"))}),b(this).bind("keydown keyup",function(a){37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?(a.stopImmediatePropagation(),v.data("lockedZoom")||a.preventDefault()):"keyup"===a.type&&b(this).data("lockedZoom")&&27===a.keyCode&&(r(),A[0].focus(),a.stopImmediatePropagation())}),L.bind("scroll",function(){v.data("zoomed")&&(k(),l(function(){v.data("lockedZoom")&&n(),p()}))})}else{var W=Array.prototype.slice.call(e,1);switch(d){case"in":v.data("zoomed")||r();break;case"out":v.data("zoomed")&&r();break;case"isZoomed":g=v.data("zoomed");break;case"updateOptions":v.data("updateOptions")(W[0])}}});return void 0!==g?g:h}};"undefined"!=typeof module?module.exports=b:b()}("undefined"!=typeof global?global:this),function(a){var b={defaultConfig:{widths:["320","640","800","1024","2048","5000"],sizes:"100vw",policy:void 0,widthParam:"imwidth"}};a.Akamai=a.Akamai||{},a.Akamai.Image=b}("undefined"==typeof exports?window:exports),function(a,b){var c=Akamai.Util.component("Spin360",function(a,b){this._comp=new Akamai.Tau(a,this._options)});Akamai.Sourceable.extendStatic(c),c._componentEventMapping={"tau.auto-rotate-start":"play","tau.auto-rotate-stop":"pause"},c.prototype._updateOptions=function(a){a||(this._options=this._originalOptions),this._options=Akamai.Util.extend(!0,this._options,a),Akamai.Util.setDataAttrOptions(this._$el,c.defaultOptions,this._options,"Spin360")},c._renderImg=function(a,b){return'\n\t\t\t<img src="'+c._fallbackSrc(a,b.images)+'"\n\t\t\t\tsrcset="'+c._srcset(a,b.images)+'"\n\t\t\t\tsizes="'+b.images.sizes+'" />\n\t\t'},c.render=function(a,b){var d=Akamai.Util.options(c.defaultOptions,b);return Akamai.Util.trim('\n\t\t\t<div class="tau" data-akamai-spin360 title="'+a.alt+'">\n\t\t\t\t'+Akamai.Util.map(a.urls,function(a){return c._renderImg(a,d)}).join("\n")+"\n\t\t\t</div>\n\t\t")},c.defaultOptions={autoplay:{enabled:!1,delay:1e3},controls:{arrows:!1,play:!1,text:{left:"Rotate Left",right:"Rotate Right",play:"Spin Object"}},frames:72,images:Akamai.Image.defaultConfig,interval:3e3,reverse:!1,sensitivity:1,template:void 0},c.prototype.goto=function(a,b){this._comp.goto(a),this._trigger("goto"),b&&b()},c.prototype.getIndex=function(){return this._comp.index},Akamai.Advanceable.extend(c),c.prototype.next,c.prototype.previous,c.prototype.play=function(){this._comp.autoRotate()},c.prototype.pause=function(){this._comp.stopAutoRotate()},c.prototype.getElement=function(){return this._$el[0]},c.States={Playing:0,Paused:1},c.prototype.getState=function(){return this._comp.autoInterval?c.States.Playing:c.States.Paused},a.Akamai=a.Akamai||{},a.Akamai.Spin360=c}("undefined"==typeof exports?window:exports,this.jQuery),function(){function a(a,b){throw new Error("Not allowed to instantiate MagnifierImpl")}a.prototype.updateOptions=function(a){throw new Error("magnifier updateOptions not implemented")},a.prototype.zoomIn=function(){throw new Error("magnifier zoomIn not implemented")},a.prototype.zoomOut=function(){throw new Error("magnifier zoomOut not implemented")},a.prototype.isMagnified=function(){throw new Error("magnifier isMagnified not implemented")},a.prototype.toggleZoom=function(){throw new Error("magnifier toggleZoom not implemented")},a.prototype.render=function(a,b,c,d,e){throw new Error("magnifier render not implemented")};var b="undefined"==typeof exports?window:exports;b.Akamai=b.Akamai||{},b.Akamai.MagnifierImpl=a}(),function(){function a(a,b){this._$el=$(a),this._$el.enlarge(b)}a.prototype=Object.create(Akamai.MagnifierImpl.prototype),a.prototype.constructor=a,a.prototype.updateOptions=function(a){this._$el.enlarge("updateOptions",a)},a.prototype.zoomIn=function(){this._$el.enlarge("in")},a.prototype.zoomOut=function(){this._$el.enlarge("out")},a.prototype.isMagnified=function(){return this._$el.enlarge("isZoomed")},a.prototype.toggleZoom=function(){this.isMagnified()?this.zoomOut():this.zoomIn()},a.render=function(a,b,c,d,e){return"\n\t\t\t<div "+b+'>\n\t\t\t\t<div class="enlarge_contain">\n\t\t\t\t\t<img src="'+c+'"\n\t\t\t\t\t\tsrcset="'+e+'"\n\t\t\t\t\t\tsizes="'+a.image.sizes+'">\n\t\t\t\t</div>\n\t\t\t\t<a href="'+d+'"\n\t\t\t\t\tclass="enlarge_btn"\n\t\t\t\t\ttitle="'+a.buttonText+'">\n\t\t\t\t\t'+a.buttonText+"\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t"};var b="undefined"==typeof exports?window:exports;b.Akamai=b.Akamai||{},b.Akamai.MagnifierImplEnlarge=a}(),function(){function a(a,b){var c=this;c.element=a,c.handler=b,this.reset()}function b(a,b){this._$el=$(a),this._options=b,this._container=this._$el.get(0),this._content=this._$el.children().get(0),this._imgCast=$(this._content).find("div").get(0),this._zoomInBtn=this._$el.find("a.scroller-zoom-in").get(0),this._zoomOutBtn=this._$el.find("a.scroller-zoom-out").get(0),this._magnification=1;var c=this;this.scroller=new Scroller(this._renderer(),{zooming:b.enabled,minZoom:1,maxZoom:b.magnification,animationDuration:b.animationDuration});var d=this._container.getBoundingClientRect();this.scroller.setPosition(d.left+this._container.clientLeft,d.top+this._container.clientTop),this._installEventHandlers(),this._updateButtonStates(),setTimeout(function(){c._onResize()})}a.prototype.onDown=function(a){a.target==this.element&&(this.isDown?this.reset():(this.down.x=a.clientX,this.down.y=a.clientY,this.down.timestamp=new Date,this.isDown=!0))},a.prototype.onMove=function(){this.isMoved=!0},a.prototype.onUp=function(a){this.isDown&&(this.up.x=a.clientX,this.up.y=a.clientY,this.up.timestamp=new Date,!this.isMoved&&this.down.x===this.up.x&&this.down.y===this.up.y&&this.up.timestamp.getTime()-this.down.timestamp.getTime()<=500&&this.handler()),this.reset()},a.prototype.reset=function(a,b){this.down={x:-1/0,y:-1/0,timestamp:new Date(0)},this.isDown=!1,this.isMoved=!1,this.up={x:1/0,y:1/0,timestamp:new Date}},b.prototype=Object.create(Akamai.MagnifierImpl.prototype),b.prototype.constructor=b,b.prototype.updateOptions=function(a){var b=this._container.getBoundingClientRect();this.scroller.setPosition(b.left+this._container.clientLeft,b.top+this._container.clientTop),this._onResize(),this._zoomBy(1/this._options.magnification,!1)},b.prototype.zoomIn=function(){this._zoomBy(this._options.incrementalZoomFactor)},b.prototype.cyclicZoom=function(){this._magnification>=this._options.magnification?this._zoomBy(1/this._options.magnification):this.zoomIn()},b.prototype.zoomOut=function(){this._zoomBy(1/this._options.incrementalZoomFactor)},b.prototype.isMagnified=function(){return this._magnification>1},b.prototype.toggleZoom=function(){throw new Error("zoom toggle behavior is undefined in scroller mode")},b.render=function(a,b,c,d,e){return"\n\t\t\t<div "+b+'>\n\t\t\t\t<div>\n\t\t\t\t\t<img src="'+c+'"\n\t\t\t\t\tsrcset="'+e+'"\n\t\t\t\t\tsizes="'+a.image.sizes+'">\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t\t<a href="'+d+'"\n\t\t\t\t\tclass="scroller-zoom-in"\n\t\t\t\t\ttitle="'+a.zoomInBtnText+'">\n\t\t\t\t\t'+a.zoomInBtnText+'\n\t\t\t\t</a>\n\t\t\t\t<a href="'+d+'"\n\t\t\t\t\tclass="scroller-zoom-out"\n\t\t\t\t\ttitle="'+a.zoomOutBtnText+'">\n\t\t\t\t\t'+a.zoomOutBtnText+"\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t"},b.prototype._zoomBy=function(a,b){var c=this,a=Number(a);void 0===b&&(b=this._options.animateZoom),1===a||1===this._magnification&&a<1||this._magnification===this._options.magnification&&a>1||(this.scroller.zoomTo(this._magnification*a,this._options.animateZoom),setTimeout(function(){c._onZoom()},this._options.animationDuration))},b.prototype._onZoom=function(){var a=this._magnification;this._magnification=Number(this.scroller.getValues().zoom.toFixed(2)),this._updateButtonStates(),a>this._magnification?this._$el.trigger("scroller.after-zoom-out"):a<this._magnification&&this._$el.trigger("scroller.after-zoom-in")},b.prototype._renderer=function(){var a,b=document.documentElement.style,c=this;window.opera&&"[object Opera]"===Object.prototype.toString.call(opera)?a="presto":"MozAppearance"in b?a="gecko":"WebkitAppearance"in b?a="webkit":"string"==typeof navigator.cpuClass&&(a="trident");var d={trident:"ms",gecko:"Moz",webkit:"Webkit",presto:"O"}[a],e=document.createElement("div"),f=d+"Perspective",g=d+"Transform";return void 0!==e.style[f]?function(a,b,d){c._content.style[g]="translate3d("+-a+"px,"+-b+"px,0) scale("+d+")"}:void 0!==e.style[g]?function(a,b,d){c._content.style[g]="translate("+-a+"px,"+-b+"px) scale("+d+")"}:function(a,b,d){c._content.style.marginLeft=a?-a/d+"px":"",c._content.style.marginTop=b?-b/d+"px":"",c._content.style.zoom=d||""}},b.prototype._onResize=function(){this.scroller.setDimensions(this._container.clientWidth,this._container.clientHeight,this._container.clientWidth,this._container.clientHeight)},b.prototype._installEventHandlers=function(){var b=this,c=new a(this._imgCast,function(){b.cyclicZoom()});window.addEventListener("resize",function(a){b._onResize(a)},!1),this._zoomInBtn.addEventListener("click",function(a){a.preventDefault(),b.zoomIn()},!1),this._zoomOutBtn.addEventListener("click",function(a){a.preventDefault(),b.zoomOut()},!1),"ontouchstart"in window?(b._container.addEventListener("touchstart",function(a){if(a.touches[0].target!=b._$el.find("a.scroller-zoom-in").get(0)&&a.touches[0].target!=b._$el.find("a.scroller-zoom-out").get(0)&&!(a.touches[0]&&a.touches[0].target&&a.touches[0].target.tagName.match(/input|textarea|select/i))){b.scroller.doTouchStart(a.touches,a.timeStamp);for(var d=0;d<a.touches.length;d++)c.onDown(a.touches[d]);a.preventDefault()}},!1),document.addEventListener("touchmove",function(a){b.scroller.doTouchMove(a.touches,a.timeStamp,a.scale),c.onMove()},!1),document.addEventListener("touchend",function(a){b.scroller.doTouchEnd(a.timeStamp),b._onZoom();for(var d=0;d<a.changedTouches.length;d++)c.onUp(a.changedTouches[d])},!1),document.addEventListener("touchcancel",function(a){b.scroller.doTouchEnd(a.timeStamp),b._onZoom();for(var d=0;d<a.changedTouches.length;d++)c.onUp(a.changedTouches[d])},!1)):(b._container.addEventListener("mousedown",function(a){a.target.tagName.match(/input|textarea|select/i)||(0===b.scroller.__clientWidth&&b._onResize(),b.scroller.doTouchStart([{pageX:a.pageX,pageY:a.pageY}],a.timeStamp),c.onDown(a))},!1),document.addEventListener("mousemove",function(a){c.isDown&&(b.scroller.doTouchMove([{pageX:a.pageX,pageY:a.pageY}],a.timeStamp),c.onMove())},!1),document.addEventListener("mouseup",function(a){c.isDown&&(b.scroller.doTouchEnd(a.timeStamp),c.onUp(a))},!1))},b.prototype._updateButtonStates=function(){1===this._magnification?($(this._$el).addClass("scroller-zoom-out-max"),$(this._$el).removeClass("scroller-zoom-in-max")):this._magnification===this._options.magnification?($(this._$el).addClass("scroller-zoom-in-max"),$(this._$el).removeClass("scroller-zoom-out-max")):($(this._$el).removeClass("scroller-zoom-in-max"),$(this._$el).removeClass("scroller-zoom-out-max"))}
;var c="undefined"==typeof exports?window:exports;c.Akamai=c.Akamai||{},c.Akamai.MagnifierImplScroller=b}(),function(a,b){var c=Akamai.Util.component("Magnifier",function(a,b){this._options.disabled=!this._options.enabled,this._options.mode===c.MODE_ANIMATED_ZOOM?this._impl=new Akamai.MagnifierImplScroller(a,b):this._impl=new Akamai.MagnifierImplEnlarge(a,b)});c.prototype._updateOptions=function(a){a||(this._options=this._originalOptions),this._options=Akamai.Util.extend(!0,this._options,a),this._options.disabled=!this._options.enabled,Akamai.Util.setDataAttrOptions(this._$el,c.defaultOptions,this._options,"Magnifier"),this._impl.updateOptions(this._options)},c._componentEventMapping={"enlarge.after-zoom-in":"in","enlarge.after-zoom-out":"out","scroller.after-zoom-in":"in","scroller.after-zoom-out":"out"},c.MODE_HOVER_ZOOM="hoverzoom",c.MODE_ANIMATED_ZOOM="animatedzoom",c.defaultOptions={mode:c.MODE_HOVER_ZOOM,button:!0,enabled:!0,magnification:3,image:Akamai.Image.defaultConfig,delay:300,buttonText:"Toggle Image Magnification",flyout:{width:200,height:200},hoverZoomWithoutClick:!0,placement:"inline",incrementalZoomFactor:3,animateZoom:!0,animationDuration:250,zoomInBtnText:"Zoom In",zoomOutBtnText:"Zoom Out"},Akamai.Sourceable.extendStatic(c),c.render=function(a,b){var d=Akamai.Util.options(c.defaultOptions,b),e=c._dataAttr,f=c._fallbackSrc(a.url,d.image),g=c._largestSrc(a.url,d.image),h=c._srcset(a.url,d.image),i=d.image.sizes;return(d.mode===c.MODE_ANIMATED_ZOOM?Akamai.MagnifierImplScroller:Akamai.MagnifierImplEnlarge).render(d,e,f,g,h,i)},c.prototype.in=function(){this._impl.zoomIn()},c.prototype.out=function(){this._impl.zoomOut()},c.prototype.isMagnified=function(){return this._impl.isMagnified()},c.prototype.toggle=function(){this._impl.toggleZoom()},a.Akamai=a.Akamai||{},a.Akamai.Magnifier=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("VideoImpl",function(a,b){throw new Error("Not allowed to instantiate VideoImpl")});c.render=function(a,b){throw new Error("VideoImpl.render not implemented")},a.Akamai=a.Akamai||{},a.Akamai.VideoImpl=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("VideoImplPristine",function(a,b){});c.prototype=Object.create(Akamai.VideoImpl.prototype),c.prototype.constructor=c,c.render=function(a,b){var c=Akamai.Util.options(Akamai.Video.defaultOptions,b),d=a.url,e=a.poster||"",f=a.mime?'type="'+a.mime+'"':"",g=[c.loop?"loop":"",c.autoplay?"autoplay":"",c.controls?"controls":"",c.muted?"muted":"","playsinline"];return Akamai.Util.trim("\n\t\t\t<div "+Akamai.Video._dataAttr+">\n\t\t\t\t<video "+g.join(" ")+' poster="'+e+'" preload="metadata">\n\t\t\t\t\t<source src="'+d+'" '+f+" />\n\t\t\t\t</video>\n\t\t\t</div>\n\t\t")},a.Akamai=a.Akamai||{},a.Akamai.VideoImplPristine=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("VideoImplIm",function(a,b){var d=Akamai.Util.options(Akamai.Video.defaultOptions,b);c._validateOptions(d)});c.prototype=Object.create(Akamai.VideoImpl.prototype),c.prototype.constructor=c,c._validateOptions=function(a){if(!Array.isArray(a.sizes)||3!==a.sizes.length)throw new Error("Akamai.Video sizes must have three entries");if(a.sizes.some(function(a){return isNaN(a)}))throw new Error("Akamai.VideoImplIm all sizes must be numbers")},c.render=function(a,b){var d=Akamai.Util.options(Akamai.Video.defaultOptions,b);c._validateOptions(d);var e,f=a.url,g=a.poster||"",h=window.innerWidth;e=h<992?d.sizes[0]:h<1200?d.sizes[1]:d.sizes[2];var i=[d.loop?"loop":"",d.autoplay?"autoplay":"",d.controls?"controls":"",d.muted?"muted":"","playsinline"],j=-1===f.indexOf("?")?"?":"&";return Akamai.Util.trim("\n\t\t\t<div "+Akamai.Video._dataAttr+">\n\t\t\t\t<video "+i.join(" ")+' poster="'+g+'" preload="metadata">\n\t\t\t\t\t<source src="'+f+j+"imformat=vp9&imwidth="+e+'" type="video/webm" />\n\t\t\t\t\t<source src="'+f+j+"imformat=h265&imwidth="+e+'" type="video/mp4; codecs=hevc" />\n\t\t\t\t\t<source src="'+f+j+"imformat=h264&imwidth="+e+'" type="video/mp4" />\n\t\t\t\t</video>\n\t\t\t</div>\n\t\t')},a.Akamai=a.Akamai||{},a.Akamai.VideoImplIm=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("Video",function(a,b){if(this._comp=this._$el.length&&void 0,this._$videoElement=this._$el.find("video"),this._videoElement=this._$videoElement[0],!this._videoElement)throw new Error("Akamai.Video requires a child HTML Video element");if(!this._videoElement.play||!this._videoElement.pause)return this._unsupportedAPI=!0,void this._unsupported();this._setState(this._videoElement.paused?c.States.Paused:c.States.Playing),this._$el.bind("akamai-video-play",function(){this._setState(c.States.Playing)}.bind(this)).bind("akamai-video-pause",function(){this._setState(c.States.Paused)}.bind(this)),this._createPlayButton()});c.MODE_IM="im",c.MODE_PRISTINE="pristine",c._componentEventMapping={play:{to:"play",selector:"video"},pause:{to:"pause",selector:"video"},seeked:{to:"seek",selector:"video"}},c.prototype._updateOptions=function(a){a||(this._options=this._originalOptions),this._options=Akamai.Util.extend(!0,this._options,a),Akamai.Util.setDataAttrOptions(this._$el,c.defaultOptions,this._options,"Video")},c.defaultOptions={autoplay:!1,controls:!0,loop:!1,muted:!0,mode:c.MODE_PRISTINE,sizes:[854,1280,1920]},c.render=function(a,b){return(b&&b.mode===c.MODE_IM?Akamai.VideoImplIm:Akamai.VideoImplPristine).render(a,b)},c.States={Playing:0,Paused:1},c.prototype._unsupported=function(){return this._unsupportedAPI&&Akamai.Util.log("Video: video API not supported","error"),this._unsupportedAPI},c.prototype.play=function(){this._unsupported()||this._videoElement.play()},c.prototype.pause=function(){this._unsupported()||this._videoElement.pause()},c.prototype.getState=function(){return this._state},c.prototype._setState=function(a){this._state=a},c.prototype.seek=function(a){if(a<0||100<a)throw new Error("seek takes a an integer between 0 and 100");var b=a/100*(this._videoElement.duration||1);this._videoElement.currentTime=b},c.prototype.setLoop=function(a){this._videoElement.loop=a},c.prototype.getElement=function(){return this._$el[0]},c.prototype._createPlayButton=function(){var a,b=this._$el[0],c=this._videoElement;this._options.autoplay||(b.insertAdjacentHTML("beforeend",'\n\t\t\t<svg viewBox="0 0 200 200" alt="Play video">\n\t\t\t\t<circle cx="100" cy="100" r="90" fill="none" stroke-width="15" stroke="#fff"/>\n\t\t\t\t<polygon points="70, 55 70, 145 145, 100" fill="#fff"/>\n\t\t\t</svg>\n\t\t'),c.removeAttribute("controls"),a=this._$el.find("svg")[0],a.addEventListener("click",function(){c.play(),a.classList.add("is-hidden"),this._options.controls&&c.setAttribute("controls","controls")}.bind(this)))},a.Akamai=a.Akamai||{},a.Akamai.Video=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("Carousel",function(a,b){this._spins=Akamai.Spin360.createMany(this._$el[0],this._options.spin360),this._magnifiers=Akamai.Magnifier.createMany(this._$el[0],this._options.magnifier),this._videos=Akamai.Video.createMany(this._$el[0],this._options.video),this._$el.snapper(this._options),this._setAspectRatio(),this._bindAspectAttributes(),this._options.slideshow.autostart&&setTimeout(function(){this.startSlideshow()}.bind(this),this._options.slideshow.interval),this._activeItemAttributes(),this._$el.bind("akamai-carousel-goto",this._activeItemAttributes.bind(this)),this._handleAutoplayables(),this._$el.bind("akamai-carousel-goto",this._handleAutoplayables.bind(this)),this._$el.bind("tau.touch-tracking-start",function(){this._$el.find(".snapper_pane").addClass("no-scroll")}.bind(this)).bind("tau.touch-tracking-stop",function(){this._$el.find(".snapper_pane").removeClass("no-scroll")}.bind(this)),this._$el.bind(this.constructor._stopSlideshowEvents.join(" "),this.stopSlideshow.bind(this))});c._stopSlideshowEvents=["akamai-magnifier-in","akamai-magnifier-out","akamai-spin360-goto","akamai-video-play","akamai-video-seek"],c.prototype._handleAutoplayables=function(){var a=function(a){return!!b(a.getElement()).closest("["+this.constructor.activeItemAttr+"]").length}.bind(this);this._videos.concat(this._spins).forEach(function(b){a(b)&&b._carouselWasPlaying?b.play():b.getState()==b.constructor.States.Playing?(b._carouselWasPlaying=!0,b.pause()):b._carouselWasPlaying=!1}.bind(this))},c.counter=0,c.prototype._updateOptions=function(a){a||(this._options=this._originalOptions),this._options=Akamai.Util.extend(!0,this._options,a);var b=function(a,b){a._updateOptions(this._options[b])}.bind(this);Akamai.Util.setDataAttrOptions(this._$el,c.defaultOptions,this._options,"Carousel"),this._$el.snapper("updateOptions",a),this._spins.forEach(function(a){b(a,"spin360")}),this._magnifiers.forEach(function(a){b(a,"magnifier")}),this._videos.forEach(function(a){b(a,"video")}),this._setAspectRatio()},c._componentEventMapping={"snapper.after-snap":"goto","snapper.snap":"snap","snapper.after-next":"next","snapper.after-prev":"previous"},c.defaultOptions={arrows:!0,aspectratio:!1,slideshow:{interval:4e3,autostart:!1},thumbnail:{placement:"bottom",type:"images",policy:void 0,sizes:"300px"},images:Akamai.Image.defaultConfig},c.renderMapping={image:Akamai.Magnifier,spin360:Akamai.Spin360,video:Akamai.Video},c._typeMapping={image:"magnifier"},c._uniqueItemId=function(a,b){return"akamai-carousel-"+c.counter+"-"+a.type+"-"+b},Akamai.Sourceable.extendStatic(c),c._renderItem=function(a,b,d){var e=c._typeMapping[a.type]||a.type;if(!c.renderMapping[a.type])throw new Error("\n\t\t\t\titem type "+a.type+" at index "+b+" must be 'image', 'spin360', or 'video'\n\t\t\t");return'\n\t\t\t<div class="snapper_item" id="'+c._uniqueItemId(a,b)+'">\n\t\t\t\t'+c.renderMapping[a.type].render(a,d[e])+"\n\t\t\t</div>\n\t\t"},c._renderThumbnailAnchor=function(a,b,d,e){var f="",g=a.alt||"";f="video"===a.type?a.poster||b.reduce(function(a,b){return a||c._thumbUrl(b)},""):c._thumbUrl(a),e.images.policy=e.thumbnail.policy;var h=c._fallbackSrc(f,e.images),i=c._srcset(f,e.images),j=e.images.sizes;e.thumbnail.policy&&(j=e.thumbnail.sizes);var k=[c._dataAttr+'-thumb-type="'+a.type+'"',"video"!=a.type||a.poster?"":"${Carousel._dataAttr}-thumb-noposter"];return'\n\t\t\t<a href="#'+c._uniqueItemId(a,d)+'" '+k.join(" ")+'>\n\t\t\t\t<img src="'+h+'" srcset="'+i+'" sizes="'+j+'" alt="'+g+'" title="Scroll to '+a.type+" "+d+'" />\n\t\t\t</a>\n\t\t'},c._thumbUrl=function(a){return"video"===a.type?a.poster:a.url||a.urls&&a.urls[0]},c._renderThumbnails=function(a,b){return a.length<=1?"":'\n\t\t\t<div class="snapper_nav">\n\t\t\t\t<div class="snapper_nav_inner">\n\t\t\t\t\t'+Akamai.Util.map(a,function(d,e){return c._renderThumbnailAnchor(d,a,e,b)}).join("\n")+"\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t"},c.prototype._setAspectAttributes=function(a){var b=c._dataAttr+"-aspectratio-orientation";a.height()>a.width()?a.attr(b,"portrait"):a.height()<a.width()?a.attr(b,"landscape"):a.parent().height()>=a.parent().width()?a.attr(b,"landscape"):a.attr(b,"portrait")},c.prototype._setAspectRatio=function(){var a=this._options.aspectratio||0,b=this._$el.find(".snapper_item");b.css("padding-top",a/b.length+"%")},c.prototype._bindAspectAttributes=function(){if(!1!==this._options.aspectratio){var a=(this._options.aspectratio,this),c=this._$el.find(".snapper_item");c.each(function(){var c,d=b(this),e=d.find("img, video").eq(0);e.bind("load loadedmetadata",loadBinding=function(){clearTimeout(c),d.is("["+Akamai.Spin360._dataAttr+"]")?a._setAspectAttributes(d.find("canvas")):a._setAspectAttributes(e)}),c=setTimeout(loadBinding,5e3)}),c.eq(0).find("img,video").eq(0).bind("load loadedmetadata",function(){a._trigger("first-media-load")})}},c.render=function(a,b){b=b||{};var d=Akamai.Util.options(c.defaultOptions,b),e=[""+c._dataAttr,c._dataAttr+'-item-count="'+(a||[]).length+'"','data-snapper-deeplinking="false"',d.arrows?"data-snapper-nextprev":""];return c.counter++,Akamai.Util.trim("\n\t\t\t<div "+e.join(" ")+' class="snapper">\n\t\t\t\t<div class="snapper_nextprev_contain">\n\t\t\t\t\t<div class="snapper_pane_crop">\n\t\t\t\t\t\t<div class="snapper_pane enlarge_pane">\n\t\t\t\t\t\t\t<div class="snapper_items">\n\t\t\t\t\t\t\t\t'+Akamai.Util.map(a,function(a,b){return c._renderItem(a,b,d)}).join("\n")+"\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t"+c._renderThumbnails(a,d)+"\n\t\t\t</div>\n\t\t")},c.prototype.getSpin360s=function(){return this._spins},c.prototype.getMagnifiers=function(){return this._magnifiers},c.prototype.getVideos=function(){return this._videos},c.prototype.goto=function(a,b){this._$el.snapper("goto",a,b)},c._itemAttr=c._dataAttr+"-item",c._activeItemAttr=c._itemAttr+"-active",c.prototype._activeItemAttributes=function(){var a=this.constructor._itemAttr,b=this.constructor._activeItemAttr;this._$el.find(".snapper_item").attr(a,!0).removeAttr(b).eq(this.getIndex()).attr(b,!0)},c.prototype.getIndex=function(){return this._$el.snapper("getIndex")},Akamai.Advanceable.extend(c),c.prototype.next,c.prototype.previous,c.prototype.startSlideshow=function(){this._$el.one("mousedown touchstart",this.stopSlideshow.bind(this)),this.next(function(){this._trigger("start-slideshow"),this._slideshowTimer=setTimeout(function(){this.startSlideshow()}.bind(this),this._options.slideshow.interval)}.bind(this))},c.prototype.stopSlideshow=function(){clearTimeout(this._slideshowTimer),this._slideshowTimer=void 0,this._trigger("stop-slideshow")},c.prototype.refresh=function(){this._$el.snapper("updateWidths")},a.Akamai=a.Akamai||{},a.Akamai.Carousel=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("Fullscreen",function(a,b){this._options.enabled&&this._init()});c.prototype._init=function(){this._$fullscreen=this._$el,this.addButton(),this._fullscreenApiKeys=c._keys(),this._options.native?this._useNativeApi=!!this._fullscreenApiKeys:this._useNativeApi=!1,this._fullscreenFallbackEnabled=!1,this._$placeholder=b("<div>"),this._isFullscreen=!1,this.addEvents()},c.classes={btn:"akamai-fullscreen-btn",btnContainer:"akamai-fullscreen-btncontainer",enterBtn:"akamai-fullscreen-btn-enter",exitBtn:"akamai-fullscreen-btn-exit",active:"akamai-fullscreen-active",fallback:"akamai-fullscreen-fallback"},c.attr={width:"data-akamai-fullscreen-width",enterBtn:"data-akamai-fullscreen-btn",exitBtn:"data-akamai-fullscreen-exit-btn"},c.defaultOptions={enabled:!1,native:!1},c.prototype.addButton=function(){this._$widthAdjust=this._$fullscreen.children().filter(".focused"),this._$widthAdjust.length||(this._$widthAdjust=this._$fullscreen.children().eq(0)),null===this._$widthAdjust.attr(c.attr.width)&&this._$widthAdjust.attr(c.attr.width,""),this._$widthAdjust.find("["+c.attr.enterBtn+"]").length||(this._$buttonContainer=this._$widthAdjust,this._$buttonContainer.addClass(c.classes.btnContainer),this._$buttonContainer.append(this.render()))},c.prototype.addEvents=function(){this._$fullscreen.on("click",function(a){b(a.target).is("["+c.attr.enterBtn+"]")&&(this.enter(),a.preventDefault())}.bind(this)),this._$fullscreen.on("click",function(a){b(a.target).is("["+c.attr.exitBtn+"]")&&(this.exit(),a.preventDefault())}.bind(this)),this._useNativeApi&&document.addEventListener(this._fullscreenApiKeys.onchange,function(){document[this._fullscreenApiKeys.element]||this._exit()}.bind(this),!1),b(document).on("keydown",function(a){27===(a.keyCode||a.which)&&this._exit()}.bind(this))},c.prototype.render=function(){return Akamai.Util.trim("\n\t\t\t<button "+c.attr.enterBtn+' class="'+c.classes.btn+" "+c.classes.enterBtn+' icon-fullscreen">Full Screen</button>\n\t\t\t<button '+c.attr.exitBtn+' class="'+c.classes.btn+" "+c.classes.exitBtn+' icon-close-light">Exit Full Screen</button>\n\t\t')},c._keyLookup=[{enter:"requestFullscreen",exit:"exitFullscreen",element:"fullscreenElement",onchange:"fullscreenchange"},{enter:"webkitRequestFullscreen",exit:"webkitExitFullscreen",element:"webkitFullscreenElement",onchange:"webkitfullscreenchange"},{enter:"webkitRequestFullScreen",exit:"webkitCancelFullScreen",element:"webkitCurrentFullScreenElement",onchange:"webkitfullscreenchange"},{enter:"mozRequestFullScreen",exit:"mozCancelFullScreen",element:"mozFullScreenElement",onchange:"mozfullscreenchange"},{enter:"msRequestFullscreen",exit:"msExitFullscreen",element:"msFullscreenElement",onchange:"MSFullscreenChange"}],c._keys=function(a){for(var b=c._keyLookup,a=document.body,d=0,e=b.length;d<e;d++)if(b[d].enter in a)return b[d]},c.prototype._maximizePlacement=function(){this._fullscreenFallbackEnabled=!0,this._$fullscreen.addClass(c.classes.fallback),this._$placeholder.insertAfter(this._$fullscreen),this._$fullscreen.appendTo(document.body)},c.prototype._restorePlacement=function(){this._fullscreenFallbackEnabled&&(this._fullscreenFallbackEnabled=!1,this._$fullscreen.removeClass(c.classes.fallback),this._$fullscreen.insertAfter(this._$placeholder),this._$placeholder.remove())},c.prototype._adjustWidth=function(){this._$fullscreen.css("width","auto !important");var a=this._$fullscreen.width(),b=this._$fullscreen.height(),c=this._useNativeApi?window.screen.width:Math.max(document.documentElement.clientWidth,window.innerWidth||0),d=this._useNativeApi?window.screen.height:Math.max(document.documentElement.clientHeight,window.innerHeight||0),e=a*d/b;e>c&&(e="100%"),this._$widthAdjust.width(e)},c.prototype._revertWidth=function(){this._$widthAdjust.css("width","")},c.prototype.enter=function(){var a=this._$fullscreen[0].shoestringData.Viewer._carousels[0].getIndex();this._$fullscreen.addClass(c.classes.active),this._useNativeApi?(this._$fullscreen[0][this._fullscreenApiKeys.enter](),this._adjustWidth()):(this._adjustWidth(),this._maximizePlacement()),this._isFullscreen=!0,this._$fullscreen[0].shoestringData.Viewer._carousels[0].goto(a),this._trigger("enter")},c.prototype._exit=function(){var a=this._$fullscreen[0].shoestringData.Viewer._carousels[0].getIndex();this._$fullscreen.removeClass(c.classes.active),this._useNativeApi||this._restorePlacement(),this._revertWidth(),this._isFullscreen=!1,this._$fullscreen[0].shoestringData.Viewer._carousels[0].goto(a),this._trigger("exit")},c.prototype.exit=function(){this._useNativeApi&&document[this._fullscreenApiKeys.exit](),this._exit()},c.prototype.isFullscreen=function(){return this._isFullscreen},a.Akamai=a.Akamai||{},a.Akamai.Fullscreen=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){var c=Akamai.Util.component("Viewer",!0,function(a,b){this._updateSizesOptions(!0),this._onResizeComplete(this._updateSizesOptions.bind(this)),this._options.carousel=c._extendCarouselOptions(this._options),this._withData(function(b){b&&(this._checkJSONUrls(b),b=Akamai.Util.escapeJSONVals(b),this._options.items.data=b),this._tagMapping={},0==this._$el.children().length&&b&&(this._tagMapping=this.constructor._tagSplit(b,this._options.items),this._$el.append(this.constructor.render(b,this._options,!0))),this._carousels=Akamai.Carousel.createMany(a,this._options.carousel),this._fullscreen=new Akamai.Fullscreen(a,this._options.fullscreen),this._$el.bind("akamai-fullscreen-enter akamai-fullscreen-exit",function(){this._updateOptions(this._resolveBreakpointOptions())}.bind(this)),this._setBreakpoints(),this._trigger("init")}.bind(this),function(a){throw new Error(a)})});c.prototype._updateSizesOptions=function(a){var b=this._$el.width();b&&b>0&&(b+="px",this._options=Akamai.Util.extend(!0,this._options,{carousel:{images:{sizes:b}}})),a||this._updateOptions(this._options)},c.prototype._withData=function(a,c){if(this._options.items.uri)void 0!==this._options.items.uri&&this._options.items.uri.length>0&&b.get(this._options.items.uri,function(b){b="string"==typeof b?JSON.parse(b):b,this._exceedsLimit(b.items,c)||a(b.items)}.bind(this));else{if(this._exceedsLimit(this._options.items.data,c))return;a(this._options.items.data)}},c.prototype._exceedsLimit=function(a,b){return!!a&&(4*JSON.stringify(a).length/1024>this._options.items.limit&&(b=b||function(){},b("JSON data size exceeds "+this._options.items.limit+" KiB. Limit can be configured with items.limit Akamai.Viewer options."),!0))},c.prototype._setBreakpoints=function(){this._breakpoints=this._reduceBreakpoints(this._options.breakpoints||{}),this._fullscreenBreakpoints=this._reduceBreakpoints(this._options.fullscreenBreakpoints||{}),this._bindBreakpoints()},c.prototype._reduceBreakpoints=function(a){var b=[];for(var c in a)if(a.hasOwnProperty(c))try{b.push(parseInt(c,10))}catch(a){Akamai.Util.log(a,"error")}return b.sort(function(a,b){return b<a}),b},c.prototype._bindBreakpoints=function(){[this._breakpoints,this._fullscreenBreakpoints].forEach(function(a){if(a.length)for(var b=-1;b<a.length;b++)this._bindMatchMedia(a[b],a[b+1])}.bind(this))},c.prototype._onResizeComplete=function(a){var b;window.addEventListener("resize",function(){clearTimeout(b),b=setTimeout(a,500)})},c.prototype._bindMatchMedia=function(a,b){if(a=a||0,b=b||1e9,window.matchMedia){var c="(min-width: "+a+"px) and (max-width: "+b+"px)",d=window.matchMedia(c);d&&d.addListener&&(this._mediaMatch(d,a,!0),d.addListener(function(b){this._mediaMatch(b,a)}.bind(this)))}},c.prototype._mediaMatch=function(a,b,c){if(a.matches){var d=this._resolveBreakpointOptions(b);this._updateOptions(d)}},c.prototype._getCurrentMinWidth=function(a){for(var b=-1;b<a.length;b++)if(minWidth=a[b]||0,maxWidth=a[b+1]||1e8,window.matchMedia){var c="(min-width: "+minWidth+"px) and (max-width: "+maxWidth+"px)",d=window.matchMedia(c);if(d&&d.matches)return minWidth}return!1},c.prototype._resolveBreakpointOptions=function(a){var b,c,d=this;return this._fullscreen.isFullscreen()?(b=this._fullscreenBreakpoints,c=d._options.fullscreenBreakpoints):(b=this._breakpoints,c=d._options.breakpoints),a||(a=d._getCurrentMinWidth(b)),b.length?b.reduce(function(b,d){var e=Akamai.Util.extend(!0,{},b);return d<=a&&(e=Akamai.Util.extend(!0,e,c[d])),e},Akamai.Util.extend(!0,{},this._originalOptions)):d._originalOptions},c._extendCarouselOptions=function(a){var b=Akamai.Util.extend(!0,{},a.carousel||{});return Akamai.Util.extend(!0,b,{magnifier:a.magnifier,spin360:a.spin360,video:a.video,fullscreen:a.fullscreen})},c.prototype._updateOptions=function(a){this._options=Akamai.Util.extend(!0,this._options,a);var b=c._extendCarouselOptions(a);Akamai.Util.setDataAttrOptions(this._$el,c.defaultOptions,a,"Viewer"),this._carousels.forEach(function(a){a._updateOptions(b)}.bind(this))},c.prototype._checkJSONUrls=function(a){var b=this._options.items.hostnames;return Akamai.Util.mapJSONVals(a,function(a,c){if("url"===c&&!this._urlHostnameMatch(a))throw new Error("The URL `"+a+"` does not match this page's hostname or the whitelist defined in Akamai.Viewer option `hostnames` which is:\n\n"+(b.length?b.join("\n"):"No hostnames")+"\n");return a}.bind(this))},c.prototype._urlHostnameMatch=function(a){var b=document.createElement("a");return b.href=a,""===b.hostname||b.hostname===window.location.hostname||this._options.items.hostnames.indexOf(b.hostname)>=0},c.defaultOptions={breakpoints:{},items:{data:void 0,defaultTag:"akamai-untagged",hostnames:[],limit:100,renderAll:!1,tags:void 0,uri:void 0},carousel:Akamai.Carousel.defaultOptions,magnifier:Akamai.Magnifier.defaultOptions,spin360:Akamai.Spin360.defaultOptions,video:Akamai.Video.defaultOptions,fullscreen:Akamai.Fullscreen.defaultOptions},c._tagSplit=function(a,b){var d=b;a=a.map(function(a){return a.tags=a.tags&&a.tags.length?a.tags:[d.defaultTag],a}),d.tags&&(a=d.data.filter(function(a){return a.tags.reduce(function(a,b){return a||d.tags.indexOf(b)>=0},!1)}));var e=a[0].tags[0],f=a.reduce(function(a,b){return(b.tags||[]).forEach(function(c){a[c]=a[c]||[],a[c].push(b)}),a},{});return f[c._firstRenderTag]=f[e],f},c._firstRenderTag="akamai-first-render",c._tagAttr=c._dataAttr+"-tag",c._renderTag=function(a,b){var d=a[0].tags[0];return Akamai.Util.trim("\n\t\t\t<div "+c._tagAttr+'="'+d+'">\n\t\t\t\t'+Akamai.Carousel.render(a,b)+"\n\t\t\t</div>\n\t\t")},c.render=function(a,b,d){var e,f=c._tagSplit(a,b.items),g=c._extendCarouselOptions(b);e=b.items.renderAll?f.map(function(a,b){return c._renderTag(b,g)}).join(" "):c._renderTag(f[c._firstRenderTag],g);var h="\n\t\t\t<div "+c._dataAttr+">\n\t\t\t\t"+e+"\n\t\t\t</div>\n\t\t";return d?e:h},c.prototype.getCarousels=function(){return this._carousels},c.prototype.switchTag=function(a){if(-1==this.getTags().indexOf(a))return void Akamai.Util.log("tag: "+a+" is not present in the data for this viewer","error");var d="["+this.constructor._tagAttr+'="'+a+'"]',e=this._$el.find(d);if(e.length)this._showViewer(e);else{var f=this._resolveBreakpointOptions(),g=c._extendCarouselOptions(f),h=b(this.constructor._renderTag(this._tagMapping[a],g,!0)),i=h.find("img"),j=i.length,k=0;h.css("display","none"),i.bind("load",function(){if(++k===j){i.unbind("load");var a=Akamai.Carousel.createMany(h[0],g);a.forEach(function(a){a.goto(a.getIndex())}),this._carousels=this._carousels.concat(a),this._showViewer(h,a)}}.bind(this)),this._$el.append(h)}},c.prototype._showViewer=function(a,b){this._$el.find("["+this.constructor._tagAttr+"]").css("display","none").removeClass("focused"),a.css("display","block").addClass("focused"),b&&b.map(function(a){a.refresh()}),this._fullscreen.addButton(),this._trigger("switch-tag")},c.prototype.getTags=function(){if(this._tags)return this._tags;var a=[];for(var b in this._tagMapping)this._tagMapping.hasOwnProperty(b)&&b!==c._firstRenderTag&&a.push(b);return this._tags=a},a.Akamai=a.Akamai||{},a.Akamai.Viewer=c}("undefined"==typeof exports?window:exports,this.jQuery),function(a,b){b.fn.akamaiViewer=function(a){this.each(function(b,c){new Akamai.Viewer(c,a)})}}("undefined"==typeof exports?window:exports,this.jQuery);