!function(t){var e={};function i(s){if(e[s])return e[s].exports;var r=e[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(s,r,function(e){return t[e]}.bind(null,r));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/",i(i.s=47)}([function(t,e,i){"use strict";t.exports={PICTURE_DATA_DOWNLOAD_AREA_KEYFRAME:"data-download-area-keyframe",PICTURE_DATA_LAZY:"data-lazy",PICTURE_DATA_EMPTY_SOURCE:"data-empty",PICTURE_DATA_LOADED:"data-picture-loaded",PICTURE_CLASS_LOADED:"loaded"}},function(t,e,i){"use strict";const s={GUI_INSTANCE:null,ANIM_INSTANCE:null,VIEWPORT_EMITTER_ELEMENT:void 0,LOCAL_STORAGE_KEYS:{GuiPosition:"anim-ui.position",GroupCollapsedStates:"anim-ui.group-collapsed-states",scrollY:"anim-ui.scrollY-position",path:"anim-ui.path"},RESIZE_TIMEOUT:-1,BREAKPOINTS:[{name:"S",mediaQuery:"only screen and (max-width: 734px)"},{name:"M",mediaQuery:"only screen and (max-width: 1068px)"},{name:"L",mediaQuery:"only screen and (min-width: 1069px)"}],getBreakpoint:function(){for(let t=0;t<s.BREAKPOINTS.length;t++){let e=s.BREAKPOINTS[t];if(window.matchMedia(e.mediaQuery).matches)return e.name}},KeyframeDefaults:{ease:1,epsilon:.05,preserveState:!1,easeFunctionString:"linear",easeFunction:"linear",hold:!1,snapAtCreation:!1,toggle:!1,breakpointMask:"SMLX",event:"",disabledWhen:[],cssClass:""},KeyframeTypes:{Interpolation:0,InterpolationForward:1,CSSClass:2,Event:3},EVENTS:{ON_DOM_KEYFRAMES_CREATED:"ON_DOM_KEYFRAMES_CREATED",ON_DOM_GROUPS_CREATED:"ON_DOM_GROUPS_CREATED",ON_GROUP_CREATED:"ON_GROUP_CREATED",ON_KEYFRAME_UPDATED:"ON_KEYFRAME_UPDATED",ON_TIMELINE_START:"ON_TIMELINE_START",ON_TIMELINE_UPDATE:"ON_TIMELINE_UPDATE",ON_TIMELINE_COMPLETE:"ON_TIMELINE_COMPLETE",ON_CHAPTER_INITIATED:"ON_CHAPTER_INITIATED",ON_CHAPTER_OCCURRED:"ON_CHAPTER_OCCURRED",ON_CHAPTER_COMPLETED:"ON_CHAPTER_COMPLETED"},PageEvents:{ON_SCROLL:"ON_SCROLL",ON_RESIZE_IMMEDIATE:"ON_RESIZE_IMMEDIATE",ON_RESIZE_DEBOUNCED:"ON_RESIZE_DEBOUNCED",ON_BREAKPOINT_CHANGE:"ON_BREAKPOINT_CHANGE"},KeyframeJSONReservedWords:["event","cssClass","style","anchors","start","end","epsilon","easeFunction","ease","breakpointMask","disabledWhen"],TweenProps:i(20),TargetValue:i(3),CSSTargetValue:i(14),pageMetrics:new function(){this.scrollX=0,this.scrollY=0,this.windowWidth=0,this.windowHeight=0,this.documentOffsetX=0,this.documentOffsetY=0,this.previousBreakpoint="",this.breakpoint=""},KeyframeComparison:function(t,e){return t.start<e.start?-1:t.start>e.start?1:0}};t.exports=s},function(t,e,i){"use strict";t.exports={EventEmitterMicro:i(19)}},function(t,e,i){"use strict";t.exports=class{constructor(t,e,i,s){let r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0;this.epsilon=parseFloat(e),this.snapAtCreation=i,this.initialValue=t,this.target=t,this.current=t,this.previousValue=t,this.isActive=!1,this.key=s,this.round=r,this.suffix=n}update(t,e,i){this.target=t[0]+e*(t[1]-t[0]),this.previousValue=this.current,this.current+=(this.target-this.current)*i;let s=this.delta(this.current,this.target);return s<this.epsilon&&(this.current=this.target,s=0),s>this.epsilon||0===s&&this.previousValue!==this.current}reconcile(t,e){return this.initialValue=t[0],this.update(t,e,1)}needsUpdate(){return this.delta(this.current,this.target)>this.epsilon}delta(t,e){return Math.abs(t-e)}calculateEpsilon(t,e){if(t.epsilon)return void(this.epsilon=t.epsilon);let i=this.delta(e[0],e[1]),s=Math.min(.001*i,this.epsilon,.05);this.epsilon=Math.max(s,.001)}set(t){let e=this.current;this.round&&(e=Math.round(e)),this.suffix&&(e+=this.suffix),t[this.key]=e}}},function(t,e,i){"use strict";t.exports={lerp:function(t,e,i){return e+(i-e)*t},map:function(t,e,i,s,r){return s+(r-s)*(t-e)/(i-e)},mapClamp:function(t,e,i,s,r){var n=s+(r-s)*(t-e)/(i-e);return Math.max(s,Math.min(r,n))},norm:function(t,e,i){return(t-e)/(i-e)},clamp:function(t,e,i){return Math.max(e,Math.min(i,t))},randFloat:function(t,e){return Math.random()*(e-t)+t},randInt:function(t,e){return Math.floor(Math.random()*(e-t)+t)}}},function(t,e,i){"use strict";const s=i(1),r=i(3),n=i(14),o=i(4),a=i(49),h=i(50),l=i(51),c=i(15),u=i(52),d=i(21),m=i(22),{cssAttributes:p}=i(23);class f{constructor(t,e){this.controller=t,this.anchors=[],this.jsonProps=e,this.ease=t.group.defaultEase,this.easeFunction=a.linear,this.start=0,this.end=0,this.localT=0,this.curvedT=0,this.id=0,this.event="",this.needsEventDispatch=!1,this.snapAtCreation=!1,this.isEnabled=!1,this.animValues={},this.breakpointMask=s.KeyframeDefaults.breakpointMask,this.disabledWhen=[],this.keyframeType=s.KeyframeTypes.Interpolation,this.hold=!1,this.preserveState=!1,this.markedForRemoval=!1;let i=!1;Object.defineProperty(this,"hidden",{get:()=>i,set(e){i=e,t.group.keyframesDirty=!0}}),this.uuid=m(),this.destroyed=!1}destroy(){this.destroyed=!0,this.controller=null,this.disabledWhen=null,this.anchors=null,this.jsonProps=null,this.easeFunction=null,this.animValues=null}remove(){return this.controller.removeKeyframe(this)}parseOptions(t){this.jsonProps=t,t.relativeTo&&console.error(`KeyframeError: relativeTo has been removed. Use 'anchors' property instead. Found 'relativeTo':"${t.relativeTo}"`),void 0===t.end&&void 0===t.duration&&(t.end=t.start),""!==t.anchors&&t.anchors?(this.anchors=[],t.anchors=Array.isArray(t.anchors)?t.anchors:[t.anchors],t.anchors.forEach(((e,i)=>{let s=u(e,this.controller.group.element);if(!s){let s="";return"string"==typeof e&&(s=" Provided value was a string, so a failed attempt was made to find anchor with the provided querystring in group.element, or in the document."),void console.warn("Keyframe on",this.controller.element,` failed to find anchor at index ${i} in array`,t.anchors,`. Anchors must be JS Object references, Elements references, or valid query selector strings. ${s}`)}this.anchors.push(s),this.controller.group.metrics.add(s)}))):(this.anchors=[],t.anchors=[]),t.ease?this.ease=parseFloat(t.ease):t.ease=this.ease,t.hasOwnProperty("snapAtCreation")?this.snapAtCreation=t.snapAtCreation:t.snapAtCreation=this.snapAtCreation,t.easeFunction||(t.easeFunction=s.KeyframeDefaults.easeFunctionString),t.breakpointMask?this.breakpointMask=t.breakpointMask:t.breakpointMask=this.breakpointMask,t.disabledWhen?this.disabledWhen=Array.isArray(t.disabledWhen)?t.disabledWhen:[t.disabledWhen]:t.disabledWhen=this.disabledWhen,t.hasOwnProperty("hold")?this.hold=t.hold:t.hold=this.hold,t.hasOwnProperty("preserveState")?this.preserveState=t.preserveState:t.preserveState=s.KeyframeDefaults.preserveState,this.easeFunction=a[t.easeFunction],a.hasOwnProperty(t.easeFunction)||(t.easeFunction.includes("bezier")?this.easeFunction=h.fromCSSString(t.easeFunction):t.easeFunction.includes("spring")?this.easeFunction=l.fromCSSString(t.easeFunction):console.error("Keyframe parseOptions cannot find 'easeFunction' named '"+t.easeFunction+"'"));for(let e in t){if(-1!==s.KeyframeJSONReservedWords.indexOf(e))continue;let i=t[e];if(Array.isArray(i)){if(1===i.length&&(i[1]=i[0],i[0]=null),void 0===this.controller.tweenProps[e]||!this.controller._ownerIsElement){let o=0;this.controller._ownerIsElement||(o=this.controller.element[e]||0);const a=e.startsWith("--");let h=i[2]||(a||["opacity","z-index","font-weight","zIndex","fontWeight"].includes(e)?void 0:"px"),l=this.controller.group.anim.plugins.keyframe.reduce(((i,s)=>i||s.parseProp.call(this,t,e)),null);if(!l&&this.controller._ownerIsElement&&(a||p.includes(e))){let i=d(e),r=t.round||["zIndex"].includes(i);o=parseFloat(this.controller.getTargetComputedStyle().getPropertyValue(i)),isNaN(o)&&(o=0),l=new n(o,s.KeyframeDefaults.epsilon,this.snapAtCreation,e,r,h),this.controller.cssAttributes.push(l)}l||(l=new r(o,s.KeyframeDefaults.epsilon,this.snapAtCreation,e,t.round,h)),this.controller.tweenProps[e]=l}this.animValues[e]=this.controller.group.expressionParser.parseArray(this,i),this.controller.tweenProps[e].calculateEpsilon(t,this.animValues[e])}}this.keyframeType=this.hold?s.KeyframeTypes.InterpolationForward:s.KeyframeTypes.Interpolation,t.event&&(this.event=t.event)}overwriteProps(t){this.animValues={};let e=Object.assign({},this.jsonProps,t);this.controller.updateKeyframe(this,e)}updateLocalProgress(t){if(this.start===this.end||t<this.start||t>this.end)return this.localT=t<this.start?this.hold?this.localT:0:t>this.end?1:0,void(this.curvedT=this.easeFunction(this.localT));const e=(t-this.start)/(this.end-this.start),i=this.hold?this.localT:0;this.localT=o.clamp(e,i,1),this.curvedT=this.easeFunction(this.localT)}reconcile(t){this.controller.tweenProps[t].reconcile(this.animValues[t],this.curvedT)&&(this.needsEventDispatch||(this.needsEventDispatch=!0,this.controller.keyframesRequiringDispatch.push(this)))}reset(t){this.localT=t||0;let e=this.ease;this.ease=1;for(let t in this.animValues)this.reconcile(t);this.ease=e}onDOMRead(t){let e=this.controller.tweenProps[t].update(this.animValues[t],this.curvedT,this.ease);return""===this.event||this.needsEventDispatch||e&&(this.needsEventDispatch=!0,this.controller.keyframesRequiringDispatch.push(this)),e}isInRange(t){return t>=this.start&&t<=this.end}setEnabled(t){t=t||c(Array.from(document.documentElement.classList));let e=-1!==this.breakpointMask.indexOf(s.pageMetrics.breakpoint),i=!1;return this.disabledWhen.length>0&&(i=this.disabledWhen.some((e=>void 0!==t[e]))),this.isEnabled=e&&!i,this.isEnabled}evaluateConstraints(){this.start=this.controller.group.expressionParser.parseTimeValue(this,this.jsonProps.start),this.end=this.controller.group.expressionParser.parseTimeValue(this,this.jsonProps.end),this.evaluateInterpolationConstraints()}evaluateInterpolationConstraints(){for(let t in this.animValues){let e=this.jsonProps[t];this.animValues[t]=this.controller.group.expressionParser.parseArray(this,e)}}}f.DATA_ATTRIBUTE="data-anim-tween",t.exports=f},function(t,e,i){"use strict";var s,r=i(2).EventEmitterMicro,n=i(63),o=i(66);function a(t){t=t||{},r.call(this),this.id=o.getNewID(),this.executor=t.executor||n,this._reset(),this._willRun=!1,this._didDestroy=!1}(s=a.prototype=Object.create(r.prototype)).run=function(){return this._willRun||(this._willRun=!0),this._subscribe()},s.cancel=function(){this._unsubscribe(),this._willRun&&(this._willRun=!1),this._reset()},s.destroy=function(){var t=this.willRun();return this.cancel(),this.executor=null,r.prototype.destroy.call(this),this._didDestroy=!0,t},s.willRun=function(){return this._willRun},s.isRunning=function(){return this._isRunning},s._subscribe=function(){return this.executor.subscribe(this)},s._unsubscribe=function(){return this.executor.unsubscribe(this)},s._onAnimationFrameStart=function(t){this._isRunning=!0,this._willRun=!1,this._didEmitFrameData||(this._didEmitFrameData=!0,this.trigger("start",t))},s._onAnimationFrameEnd=function(t){this._willRun||(this.trigger("stop",t),this._reset())},s._reset=function(){this._didEmitFrameData=!1,this._isRunning=!1},t.exports=a},function(t,e,i){"use strict";var s=i(8);t.exports=s.requestAnimationFrame("update")},function(t,e,i){"use strict";var s=i(61),r=function(){this.events={}},n=r.prototype;n.requestAnimationFrame=function(t){return this.events[t]||(this.events[t]=new s(t)),this.events[t].requestAnimationFrame},n.cancelAnimationFrame=function(t){return this.events[t]||(this.events[t]=new s(t)),this.events[t].cancelAnimationFrame},t.exports=new r},function(t,e,i){"use strict";t.exports={SharedInstance:i(64)}},function(t,e,i){"use strict";var s=i(8);t.exports=s.requestAnimationFrame("draw")},function(t,e,i){"use strict";const s=i(12),r=i(13);t.exports={PictureLazyLoading:s,PictureHead:r}},function(t,e,i){"use strict";const s=i(0).PICTURE_DATA_LAZY,r=i(0).PICTURE_DATA_EMPTY_SOURCE,n=i(0).PICTURE_DATA_DOWNLOAD_AREA_KEYFRAME;t.exports=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t,this._init()}_init(){this._pictures=Array.from(document.querySelectorAll(`*[${s}]`)),this.AnimSystem=this._findAnim(),null!==this.AnimSystem&&(this._injectSources(),this._addKeyframesToImages(),this._addMethodsToPictures())}_addMethodsToPictures(){this._pictures.forEach((t=>{t.forceLoad=()=>{this._downloadImage(t)}}))}_injectSources(){this._pictures.forEach((t=>{const e=t.nextElementSibling;if(e&&"NOSCRIPT"===e.nodeName){const i=t.querySelector("img"),s=e.textContent.match(/<source .+ \/>/g);s&&i.insertAdjacentHTML("beforebegin",s.join(""))}}))}_defineKeyframeOptions(t){const e=t.getAttribute(n)||"{}";return Object.assign({},{start:"t - 200vh",end:"b + 100vh",event:"PictureLazyLoading"},JSON.parse(e))}_addKeyframesToImages(){this._pictures.forEach((t=>{t.__scrollGroup=this.AnimSystem.getGroupForTarget(document.body),this.AnimSystem.getGroupForTarget(t)&&(t.__scrollGroup=this.AnimSystem.getGroupForTarget(t));let e=this._defineKeyframeOptions(t);t.__scrollGroup.addKeyframe(t,e).controller.once("PictureLazyLoading:enter",(()=>{this._imageIsInLoadRange(t)}))}))}_imageIsInLoadRange(t){t.querySelector("img")&&this._downloadImage(t)}_downloadImage(t){const e=t.querySelector(`[${r}]`);e&&t.removeChild(e)}_findAnim(){var t=Array.from(document.querySelectorAll("[data-anim-group],[data-anim-scroll-group],[data-anim-time-group]"));return t.map((t=>t._animInfo?t._animInfo.group:null)).filter((t=>null!==t)),t[0]&&t[0]._animInfo?t[0]._animInfo.group.anim:(console.error("PictureLazyLoading: AnimSystem not found, please initialize anim before instantiating"),null)}}},function(t,e,i){"use strict";const s=i(0).PICTURE_CLASS_LOADED,r=i(0).PICTURE_DATA_LOADED,n=i(0).PICTURE_DATA_EMPTY_SOURCE;t.exports=(window.__pictureElementInstancesLoaded=new Map,void(window.__lp=function(t){const e=t.target.parentElement;e.querySelector(`[${n}]`)?t.stopImmediatePropagation():(e.classList.add(`${s}`),e.setAttribute(`${r}`,""),window.__pictureElementInstancesLoaded.set(e.id,e),t.target.onload=null)}))},function(t,e,i){"use strict";const s=i(3),r=i(21);t.exports=class extends s{constructor(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0;super(t,e,i,s=r(s),n,o)}set(t){let e=this.current;this.round&&(e=Math.round(e)),this.suffix&&(e+=this.suffix),t.setProperty(this.key,e)}}},function(t,e,i){"use strict";t.exports=function(t){return t.reduce(((t,e)=>(t[e]=e,t)),{})}},function(t,e,i){"use strict";const s=i(5),r=i(1),n=i(3);class o extends s{constructor(t,e){super(t,e),this.keyframeType=r.KeyframeTypes.CSSClass,this._triggerType=o.TRIGGER_TYPE_CSS_CLASS,this.cssClass="",this.friendlyName="",this.style={on:null,off:null},this.toggle=r.KeyframeDefaults.toggle,this.isApplied=!1}parseOptions(t){if(!this.controller._ownerIsElement)throw new TypeError("CSS Keyframes cannot be applied to JS Objects");if(t.x=void 0,t.y=void 0,t.z=void 0,t.scale=void 0,t.scaleX=void 0,t.scaleY=void 0,t.rotationX=void 0,t.rotationY=void 0,t.rotationZ=void 0,t.rotation=void 0,t.opacity=void 0,t.hold=void 0,void 0!==t.toggle&&(this.toggle=t.toggle),void 0!==t.cssClass)this._triggerType=o.TRIGGER_TYPE_CSS_CLASS,this.cssClass=t.cssClass,this.friendlyName="."+this.cssClass,void 0===this.controller.tweenProps.targetClasses&&(this.controller.tweenProps.targetClasses={add:[],remove:[]});else{if(void 0===t.style||!this.isValidStyleProperty(t.style))throw new TypeError("KeyframeCSSClass no 'cssClass` property found. If using `style` property its also missing or invalid");if(this._triggerType=o.TRIGGER_TYPE_STYLE_PROPERTY,this.style=t.style,this.friendlyName="style",this.toggle=void 0!==this.style.off||this.toggle,this.toggle&&void 0===this.style.off){this.style.off={};for(let t in this.style.on)this.style.off[t]=""}void 0===this.controller.tweenProps.targetStyles&&(this.controller.tweenProps.targetStyles={})}if(void 0===t.end&&(t.end=t.start),t.toggle=this.toggle,this._triggerType===o.TRIGGER_TYPE_CSS_CLASS)this.isApplied=this.controller.element.classList.contains(this.cssClass);else{let t=getComputedStyle(this.controller.element);this.isApplied=!0;for(let e in this.style.on)if(t[e]!==this.style.on[e]){this.isApplied=!1;break}}s.prototype.parseOptions.call(this,t),this.animValues[this.friendlyName]=[0,0],void 0===this.controller.tweenProps[this.friendlyName]&&(this.controller.tweenProps[this.friendlyName]=new n(0,1,!1,this.friendlyName)),this.keyframeType=r.KeyframeTypes.CSSClass}updateLocalProgress(t){this.isApplied&&!this.toggle||(this.start!==this.end?!this.isApplied&&t>=this.start&&t<=this.end?this._apply():this.isApplied&&this.toggle&&(t<this.start||t>this.end)&&this._unapply():!this.isApplied&&t>=this.start?this._apply():this.isApplied&&this.toggle&&t<this.start&&this._unapply())}_apply(){if(this._triggerType===o.TRIGGER_TYPE_CSS_CLASS)this.controller.tweenProps.targetClasses.add.push(this.cssClass),this.controller.needsClassUpdate=!0;else{for(let t in this.style.on)this.controller.tweenProps.targetStyles[t]=this.style.on[t];this.controller.needsStyleUpdate=!0}this.isApplied=!0}_unapply(){if(this._triggerType===o.TRIGGER_TYPE_CSS_CLASS)this.controller.tweenProps.targetClasses.remove.push(this.cssClass),this.controller.needsClassUpdate=!0;else{for(let t in this.style.off)this.controller.tweenProps.targetStyles[t]=this.style.off[t];this.controller.needsStyleUpdate=!0}this.isApplied=!1}isValidStyleProperty(t){if(!t.hasOwnProperty("on"))return!1;if("object"!=typeof t.on)throw new TypeError("KeyframeCSSClass `style` property should be in the form of: {on:{visibility:'hidden', otherProperty: 'value'}}");if(this.toggle&&t.hasOwnProperty("off")&&"object"!=typeof t.off)throw new TypeError("KeyframeCSSClass `style` property should be in the form of: {on:{visibility:'hidden', otherProperty: 'value'}}");return!0}reconcile(t){}onDOMRead(t){}evaluateInterpolationConstraints(){}}o.TRIGGER_TYPE_CSS_CLASS=0,o.TRIGGER_TYPE_STYLE_PROPERTY=1,o.DATA_ATTRIBUTE="data-anim-classname",t.exports=o},function(t,e,i){"use strict";const s=i(2).EventEmitterMicro,r=i(4),n=i(15),o=i(1),a=i(25),h=i(53),l=i(54),c=i(26),u=i(55),d=i(57),m={};"undefined"!=typeof window&&(m.create=i(6),m.update=i(7),m.draw=i(10));let p=0;t.exports=class extends s{constructor(t,e){super(),this.anim=e,this.element=t,this.name=this.name||t.getAttribute("data-anim-scroll-group"),this.isEnabled=!0,this.position=new h,this.metrics=new c,this.metrics.add(this.element),this.expressionParser=new u(this),this.boundsMin=0,this.boundsMax=0,this.timelineUpdateRequired=!1,this._keyframesDirty=!1,this.viewableRange=this.createViewableRange(),this.defaultEase=o.KeyframeDefaults.ease,this.keyframeControllers=[],this.updateProgress(this.getPosition()),this.onDOMRead=this.onDOMRead.bind(this),this.onDOMWrite=this.onDOMWrite.bind(this),this.gui=null,this.computedStyleCache={},this.finalizeInit()}finalizeInit(){this.element._animInfo=new a(this,null,!0),this.setupRAFEmitter()}destroy(){this.destroyed=!0,this.expressionParser.destroy(),this.expressionParser=null;for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].destroy();this.keyframeControllers=null,this.position=null,this.viewableRange=null,this.gui&&(this.gui.destroy(),this.gui=null),this.metrics.destroy(),this.metrics=null,this.rafEmitter.destroy(),this.rafEmitter=null,this.anim=null,this.element._animInfo&&this.element._animInfo.group===this&&(this.element._animInfo.group=null,this.element._animInfo=null),this.element=null,this.isEnabled=!1,super.destroy()}removeKeyframeController(t){return this.keyframeControllers.includes(t)?(t._allKeyframes.forEach((t=>t.markedForRemoval=!0)),this.keyframesDirty=!0,new Promise((e=>{m.draw((()=>{const i=this.keyframeControllers.indexOf(t);-1!==i?(this.keyframeControllers.splice(i,1),t.onDOMWrite(),t.destroy(),this.gui&&this.gui.create(),e()):e()}))}))):Promise.resolve()}remove(){return this.anim.removeGroup(this)}clear(){return Promise.all(this.keyframeControllers.map((t=>this.removeKeyframeController(t))))}setupRAFEmitter(t){this.rafEmitter&&this.rafEmitter.destroy(),this.rafEmitter=t||new m.create,this.rafEmitter.on("update",this.onDOMRead),this.rafEmitter.on("draw",this.onDOMWrite),this.rafEmitter.once("external",(()=>this.reconcile()))}requestDOMChange(){return!!this.isEnabled&&this.rafEmitter.run()}onDOMRead(){this.keyframesDirty&&this.onKeyframesDirty();for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].onDOMRead(this.position.local)}onDOMWrite(){for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].onDOMWrite();this.needsUpdate()&&this.requestDOMChange(),this.computedStyleCache={}}needsUpdate(){if(this._keyframesDirty)return!0;for(let t=0,e=this.keyframeControllers.length;t<e;t++)if(this.keyframeControllers[t].needsUpdate())return!0;return!1}addKeyframe(t,e){let i=this.getControllerForTarget(t);return null===i&&(i=new d(this,t),this.keyframeControllers.push(i)),this.keyframesDirty=!0,i.addKeyframe(e)}addEvent(t,e){e.event=e.event||"Generic-Event-Name-"+p++;let i=void 0!==e.end&&e.end!==e.start;const s=this.addKeyframe(t,e);return i?(e.onEnterOnce&&s.controller.once(e.event+":enter",e.onEnterOnce),e.onExitOnce&&s.controller.once(e.event+":exit",e.onExitOnce),e.onEnter&&s.controller.on(e.event+":enter",e.onEnter),e.onExit&&s.controller.on(e.event+":exit",e.onExit)):(e.onEventOnce&&s.controller.once(e.event,e.onEventOnce),e.onEventReverseOnce&&s.controller.once(e.event+":reverse",e.onEventReverseOnce),e.onEvent&&s.controller.on(e.event,e.onEvent),e.onEventReverse&&s.controller.on(e.event+":reverse",e.onEventReverse)),s}forceUpdate(){let{waitForNextUpdate:t=!0,silent:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.isEnabled&&(this.refreshMetrics(),this.timelineUpdateRequired=!0,t?this.keyframesDirty=!0:this.onKeyframesDirty({silent:e}))}onKeyframesDirty(){let{silent:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.determineActiveKeyframes(),this.keyframesDirty=!1,this.metrics.refreshMetrics(this.element),this.viewableRange=this.createViewableRange();for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].updateAnimationConstraints();this.updateBounds(),this.updateProgress(this.getPosition()),t||this.updateTimeline(),this.gui&&this.gui.create()}refreshMetrics(){let t=new Set([this.element]);this.keyframeControllers.forEach((e=>{t.add(e.element),e._allKeyframes.forEach((e=>e.anchors.forEach((e=>t.add(e)))))})),this.metrics.refreshCollection(t),this.viewableRange=this.createViewableRange()}reconcile(){for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].reconcile()}determineActiveKeyframes(t){t=t||n(Array.from(document.documentElement.classList));for(let e=0,i=this.keyframeControllers.length;e<i;e++)this.keyframeControllers[e].determineActiveKeyframes(t)}updateBounds(){if(0===this.keyframeControllers.length)return this.boundsMin=0,void(this.boundsMax=0);let t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};for(let e=0,i=this.keyframeControllers.length;e<i;e++)this.keyframeControllers[e].getBounds(t);let e=this.convertTValueToScrollPosition(t.min),i=this.convertTValueToScrollPosition(t.max);i-e<o.pageMetrics.windowHeight?(t.min=this.convertScrollPositionToTValue(e-.5*o.pageMetrics.windowHeight),t.max=this.convertScrollPositionToTValue(i+.5*o.pageMetrics.windowHeight)):(t.min-=.001,t.max+=.001),this.boundsMin=t.min,this.boundsMax=t.max,this.timelineUpdateRequired=!0}createViewableRange(){return new l(this.metrics.get(this.element),o.pageMetrics.windowHeight)}_onBreakpointChange(t,e){this.keyframesDirty=!0,this.determineActiveKeyframes()}updateProgress(t){this.hasDuration()?(this.position.localUnclamped=(t-this.viewableRange.a)/(this.viewableRange.d-this.viewableRange.a),this.position.local=r.clamp(this.position.localUnclamped,this.boundsMin,this.boundsMax)):this.position.local=this.position.localUnclamped=0}performTimelineDispatch(){for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].updateLocalProgress(this.position.local);this.trigger(o.EVENTS.ON_TIMELINE_UPDATE,this.position.local),this.trigger("update",this.position.local),this.timelineUpdateRequired=!1,this.position.lastPosition!==this.position.local&&(this.position.lastPosition<=this.boundsMin&&this.position.localUnclamped>this.boundsMin?(this.trigger(o.EVENTS.ON_TIMELINE_START,this),this.trigger("start",this)):this.position.lastPosition>=this.boundsMin&&this.position.localUnclamped<this.boundsMin?(this.trigger(o.EVENTS.ON_TIMELINE_START+":reverse",this),this.trigger("start:reverse",this)):this.position.lastPosition<=this.boundsMax&&this.position.localUnclamped>=this.boundsMax?(this.trigger(o.EVENTS.ON_TIMELINE_COMPLETE,this),this.trigger("complete",this)):this.position.lastPosition>=this.boundsMax&&this.position.localUnclamped<this.boundsMax&&(this.trigger(o.EVENTS.ON_TIMELINE_COMPLETE+":reverse",this),this.trigger("complete:reverse",this))),null!==this.gui&&this.gui.onScrollUpdate(this.position)}updateTimeline(t){if(!this.isEnabled)return!1;void 0===t&&(t=this.getPosition()),this.updateProgress(t);let e=this.position.lastPosition===this.boundsMin||this.position.lastPosition===this.boundsMax,i=this.position.localUnclamped===this.boundsMin||this.position.localUnclamped===this.boundsMax;if(!this.timelineUpdateRequired&&e&&i&&this.position.lastPosition===t)return void(this.position.local=this.position.localUnclamped);if(this.timelineUpdateRequired||this.position.localUnclamped>this.boundsMin&&this.position.localUnclamped<this.boundsMax)return this.performTimelineDispatch(),this.requestDOMChange(),void(this.position.lastPosition=this.position.localUnclamped);let s=this.position.lastPosition>this.boundsMin&&this.position.lastPosition<this.boundsMax,r=this.position.localUnclamped<=this.boundsMin||this.position.localUnclamped>=this.boundsMax;if(s&&r)return this.performTimelineDispatch(),this.requestDOMChange(),void(this.position.lastPosition=this.position.localUnclamped);const n=this.position.lastPosition<this.boundsMin&&this.position.localUnclamped>this.boundsMax,o=this.position.lastPosition>this.boundsMax&&this.position.localUnclamped<this.boundsMax;(n||o)&&(this.performTimelineDispatch(),this.requestDOMChange(),this.position.lastPosition=this.position.localUnclamped),null!==this.gui&&this.gui.onScrollUpdate(this.position)}_onScroll(t){this.updateTimeline(t)}convertScrollPositionToTValue(t){return this.hasDuration()?r.map(t,this.viewableRange.a,this.viewableRange.d,0,1):0}convertTValueToScrollPosition(t){return this.hasDuration()?r.map(t,0,1,this.viewableRange.a,this.viewableRange.d):0}hasDuration(){return this.viewableRange.a!==this.viewableRange.d}getPosition(){return o.pageMetrics.scrollY}getControllerForTarget(t){if(!t._animInfo||!t._animInfo.controllers)return null;if(t._animInfo.controller&&t._animInfo.controller.group===this)return t._animInfo.controller;const e=t._animInfo.controllers;for(let t=0,i=e.length;t<i;t++)if(e[t].group===this)return e[t];return null}trigger(t,e){if(void 0!==this._events[t])for(let i=this._events[t].length-1;i>=0;i--)void 0!==e?this._events[t][i](e):this._events[t][i]()}set keyframesDirty(t){this._keyframesDirty=t,this._keyframesDirty&&this.requestDOMChange()}get keyframesDirty(){return this._keyframesDirty}}},function(t,e,i){"use strict";const s=i(2).EventEmitterMicro,r=i(1),n=i(5),o=i(16),a=i(24),h=i(17),l=i(72),c=i(73),u=i(74),d={};"undefined"!=typeof window&&(d.update=i(7),d.cancelUpdate=i(75),d.external=i(28),d.draw=i(10));let m=null;class p extends s{constructor(){if(super(),m)throw"You cannot create multiple AnimSystems. You probably want to create multiple groups instead. You can have unlimited groups on a page";m=this,this.groups=[],this.scrollSystems=[],this.timeSystems=[],this.tweenGroup=null,this._forceUpdateRAFId=-1,this.initialized=!1,this.model=r,this.plugins={keyframe:[],parser:[]},this.version=u.version,this._resolveReady=()=>{},this.ready=new Promise((t=>this._resolveReady=t)),this.onScroll=this.onScroll.bind(this),this.onResizedDebounced=this.onResizedDebounced.bind(this),this.onResizeImmediate=this.onResizeImmediate.bind(this)}initialize(){return this.initialized||"undefined"==typeof window||(this.initialized=!0,this.timeSystems=[],this.scrollSystems=[],this.groups=[],this.setupEvents(),this.initializeResizeFilter(),this.initializeModel(),this.createDOMGroups(),this.createDOMKeyframes(),this.tweenGroup=new c(null,this),this.groups.unshift(this.tweenGroup),this._resolveReady()),this.ready}use(t,e){t.install(this,e)}remove(){return this.initialized?Promise.all(this.groups.map((t=>t.remove()))).then((()=>{this.groups=null,this.scrollSystems=null,this.timeSystems=null,window.clearTimeout(r.RESIZE_TIMEOUT),window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResizeImmediate),this._events={},this.initialized=!1,this.ready=new Promise((t=>this._resolveReady=t))})):(this.ready=new Promise((t=>this._resolveReady=t)),Promise.resolve())}destroy(){return this.remove()}createTimeGroup(t,e){t instanceof HTMLElement||(t=(e=t||{}).el);let i=new l(t,this);return e&&e.name&&(i.name=e.name),this.groups.push(i),this.timeSystems.push(i),this.trigger(r.EVENTS.ON_GROUP_CREATED,i),i}createScrollGroup(t,e){if(!t)throw"AnimSystem scroll based groups must supply an HTMLElement";let i=new h(t,this);return(e=e||{}).name&&(i.name=e.name),e.getPosition&&e.getMaxPosition&&(i.getPosition=e.getPosition,i.createViewableRange=()=>({a:0,d:e.getMaxPosition()})),i.getPosition=e.getPosition||i.getPosition,i.getPosition=e.getPosition||i.getPosition,this.groups.push(i),this.scrollSystems.push(i),this.trigger(r.EVENTS.ON_GROUP_CREATED,i),i}removeGroup(t){return Promise.all(t.keyframeControllers.map((e=>t.removeKeyframeController(e)))).then((()=>{let e=this.groups.indexOf(t);-1!==e&&this.groups.splice(e,1),e=this.scrollSystems.indexOf(t),-1!==e&&this.scrollSystems.splice(e,1),e=this.timeSystems.indexOf(t),-1!==e&&this.timeSystems.splice(e,1),t.destroy()}))}createDOMGroups(){document.body.setAttribute("data-anim-scroll-group","body"),document.querySelectorAll("[data-anim-scroll-group]").forEach((t=>this.createScrollGroup(t))),document.querySelectorAll("[data-anim-time-group]").forEach((t=>this.createTimeGroup(t))),this.trigger(r.EVENTS.ON_DOM_GROUPS_CREATED,this.groups)}createDOMKeyframes(){let t=[];["data-anim-keyframe",n.DATA_ATTRIBUTE,o.DATA_ATTRIBUTE,a.DATA_ATTRIBUTE].forEach((function(e){for(let i=0;i<12;i++)t.push(e+(0===i?"":"-"+(i-1)))}));for(let e=0;e<t.length;e++){let i=t[e],s=document.querySelectorAll("["+i+"]");for(let t=0;t<s.length;t++){const e=s[t],r=JSON.parse(e.getAttribute(i));this.addKeyframe(e,r)}}d.update((()=>{null!==this.groups&&(this.groups.forEach((t=>t.onKeyframesDirty({silent:!0}))),this.groups.forEach((t=>t.trigger(r.EVENTS.ON_DOM_KEYFRAMES_CREATED,t))),this.trigger(r.EVENTS.ON_DOM_KEYFRAMES_CREATED,this),this.groups.forEach((t=>{t.forceUpdate({waitForNextUpdate:!1,silent:!0}),t.reconcile()})),this.onScroll())}),!0)}initializeResizeFilter(){if(r.cssDimensionsTracker)return;const t=document.querySelector(".cssDimensionsTracker")||document.createElement("div");t.setAttribute("cssDimensionsTracker","true"),t.style.position="fixed",t.style.top="0",t.style.width="100%",t.style.height="100vh",t.style.pointerEvents="none",t.style.visibility="hidden",t.style.zIndex="-1",document.documentElement.appendChild(t),r.cssDimensionsTracker=t}initializeModel(){r.pageMetrics.windowHeight=r.cssDimensionsTracker.clientHeight,r.pageMetrics.windowWidth=r.cssDimensionsTracker.clientWidth,r.pageMetrics.scrollY=window.scrollY||window.pageYOffset,r.pageMetrics.scrollX=window.scrollX||window.pageXOffset,r.pageMetrics.breakpoint=r.getBreakpoint();let t=document.documentElement.getBoundingClientRect();r.pageMetrics.documentOffsetX=t.left+r.pageMetrics.scrollX,r.pageMetrics.documentOffsetY=t.top+r.pageMetrics.scrollY}setupEvents(){window.removeEventListener("scroll",this.onScroll),window.addEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResizeImmediate),window.addEventListener("resize",this.onResizeImmediate)}onScroll(){r.pageMetrics.scrollY=window.scrollY||window.pageYOffset,r.pageMetrics.scrollX=window.scrollX||window.pageXOffset;for(let t=0,e=this.scrollSystems.length;t<e;t++)this.scrollSystems[t].updateTimeline();this.trigger(r.PageEvents.ON_SCROLL,r.pageMetrics)}onResizeImmediate(){let t=r.cssDimensionsTracker.clientWidth,e=r.cssDimensionsTracker.clientHeight;if(t===r.pageMetrics.windowWidth&&e===r.pageMetrics.windowHeight)return;r.pageMetrics.windowWidth=t,r.pageMetrics.windowHeight=e,r.pageMetrics.scrollY=window.scrollY||window.pageYOffset,r.pageMetrics.scrollX=window.scrollX||window.pageXOffset;let i=document.documentElement.getBoundingClientRect();r.pageMetrics.documentOffsetX=i.left+r.pageMetrics.scrollX,r.pageMetrics.documentOffsetY=i.top+r.pageMetrics.scrollY,window.clearTimeout(r.RESIZE_TIMEOUT),r.RESIZE_TIMEOUT=window.setTimeout(this.onResizedDebounced,250),this.trigger(r.PageEvents.ON_RESIZE_IMMEDIATE,r.pageMetrics)}onResizedDebounced(){d.update((()=>{let t=r.pageMetrics.breakpoint,e=r.getBreakpoint();if(e!==t){r.pageMetrics.previousBreakpoint=t,r.pageMetrics.breakpoint=e;for(let t=0,e=this.groups.length;t<e;t++)this.groups[t]._onBreakpointChange();this.trigger(r.PageEvents.ON_BREAKPOINT_CHANGE,r.pageMetrics)}for(let t=0,e=this.groups.length;t<e;t++)this.groups[t].forceUpdate({waitForNextUpdate:!1});this.trigger(r.PageEvents.ON_RESIZE_DEBOUNCED,r.pageMetrics)}),!0)}forceUpdate(){let{waitForNextUpdate:t=!0,silent:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};-1!==this._forceUpdateRAFId&&d.cancelUpdate(this._forceUpdateRAFId);let i=()=>{for(let t=0,i=this.groups.length;t<i;t++){this.groups[t].forceUpdate({waitForNextUpdate:!1,silent:e})}return-1};this._forceUpdateRAFId=t?d.update(i,!0):i()}addKeyframe(t,e){let i=this.getGroupForTarget(t);return i=i||this.getGroupForTarget(document.body),i.addKeyframe(t,e)}addEvent(t,e){let i=this.getGroupForTarget(t);return i=i||this.getGroupForTarget(document.body),i.addEvent(t,e)}getTimeGroupForTarget(t){return this._getGroupForTarget(t,(t=>t instanceof l))}getScrollGroupForTarget(t){return this._getGroupForTarget(t,(t=>!(t instanceof l)))}getGroupForTarget(t){return this._getGroupForTarget(t,(()=>!0))}getGroupByName(t){return this.groups.find((e=>e.name===t))}_getGroupForTarget(t,e){if(t._animInfo&&t._animInfo.group&&e(t._animInfo.group))return t._animInfo.group;let i=t;for(;i;){if(i._animInfo&&i._animInfo.isGroup&&e(i._animInfo.group))return i._animInfo.group;i=i.parentElement}}getControllerForTarget(t){return t._animInfo&&t._animInfo.controller?t._animInfo.controller:null}addTween(t,e){return this.tweenGroup.addKeyframe(t,e)}}t.exports="undefined"==typeof window?new p:window.AC.SharedInstance.share("AnimSystem",u.major,p),t.exports.default=t.exports},function(t,e,i){"use strict";function s(){this._events={}}var r=s.prototype;r.on=function(t,e){this._events[t]=this._events[t]||[],this._events[t].unshift(e)},r.once=function(t,e){var i=this;this.on(t,(function s(r){i.off(t,s),void 0!==r?e(r):e()}))},r.off=function(t,e){if(this.has(t)){if(1===arguments.length)return this._events[t]=null,void delete this._events[t];var i=this._events[t].indexOf(e);-1!==i&&this._events[t].splice(i,1)}},r.trigger=function(t,e){if(this.has(t))for(var i=this._events[t].length-1;i>=0;i--)void 0!==e?this._events[t][i](e):this._events[t][i]()},r.has=function(t){return t in this._events!=!1&&0!==this._events[t].length},r.destroy=function(){for(var t in this._events)this._events[t]=null;this._events=null},t.exports=s},function(t,e,i){"use strict";t.exports=class{}},function(t,e,i){"use strict";t.exports=function(t){return t.startsWith("--")?t:t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}},function(t,e,i){"use strict";t.exports=()=>Math.random().toString(16).slice(-4)},function(t,e,i){"use strict";let s=["borderRadius","bottom","fontSize","fontWeight","height","left","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","opacity","paddingBottom","paddingLeft","paddingRight","paddingTop","right","top","width","zIndex","color","backgroundColor","clipPath","fill","stroke","strokeDashoffset"];s.push(...s.map((t=>t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase())))));t.exports={transformAttributes:["x","y","z","scale","scaleX","scaleY","rotation","rotationX","rotationY","rotationZ"],cssAttributes:s,domAttributes:["currentTime","scrollLeft","scrollTop","path"]}},function(t,e,i){"use strict";const s=i(5),r=i(1),n=i(3);class o extends s{constructor(t,e){super(t,e),this.keyframeType=r.KeyframeTypes.Event,this.isApplied=!1,this.hasDuration=!1,this.isCurrentlyInRange=!1}parseOptions(t){t.x=void 0,t.y=void 0,t.scale=void 0,t.scaleX=void 0,t.scaleY=void 0,t.rotation=void 0,t.style=void 0,t.cssClass=void 0,t.rotation=void 0,t.opacity=void 0,t.hold=void 0,this.event=t.event,this.animValues[this.event]=[0,0],void 0===this.controller.tweenProps[this.event]&&(this.controller.tweenProps[this.event]=new n(0,1,!1,this.event)),super.parseOptions(t),this.keyframeType=r.KeyframeTypes.Event}updateLocalProgress(t){if(this.hasDuration){let e=this.isCurrentlyInRange,i=t>=this.start&&t<=this.end;if(e===i)return;return this.isCurrentlyInRange=i,void(i&&!e?this._trigger(this.event+":enter"):e&&!i&&this._trigger(this.event+":exit"))}!this.isApplied&&t>=this.start?(this.isApplied=!0,this._trigger(this.event)):this.isApplied&&t<this.start&&(this.isApplied=!1,this._trigger(this.event+":reverse"))}_trigger(t){this.controller.eventObject.event=t,this.controller.eventObject.keyframe=this,this.controller.trigger(t,this.controller.eventObject)}evaluateConstraints(){super.evaluateConstraints(),this.hasDuration=this.start!==this.end}reset(t){this.isApplied=!1,this.isCurrentlyInRange=!1,super.reset(t)}onDOMRead(t){}reconcile(t){}evaluateInterpolationConstraints(){}}o.DATA_ATTRIBUTE="data-anim-event",t.exports=o},function(t,e,i){"use strict";const s=i(20);t.exports=class{constructor(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.isGroup=i,this.group=t,this.controller=e,this.controllers=[],this.tweenProps=new s}}},function(t,e,i){"use strict";const s=i(1),r=(t,e)=>null==t?e:t;class n{constructor(t){this.top=0,this.bottom=0,this.left=0,this.right=0,this.height=0,this.width=0}toString(){return`top:${this.top}, bottom:${this.bottom}, left:${this.left}, right:${this.right}, height:${this.height}, width:${this.width}`}toObject(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right,height:this.height,width:this.width}}}t.exports=class{constructor(){this.clear()}clear(){this._metrics=new WeakMap}destroy(){this._metrics=null}add(t){let e=this._metrics.get(t);if(e)return e;let i=new n(t);return this._metrics.set(t,i),this._refreshMetrics(t,i)}get(t){return this._metrics.get(t)}refreshCollection(t){t.forEach((t=>this._refreshMetrics(t,null)))}refreshMetrics(t){return this._refreshMetrics(t)}_refreshMetrics(t,e){if(e=e||this._metrics.get(t),!(t instanceof Element))return e.width=r(t.width,0),e.height=r(t.height,0),e.top=r(t.top,r(t.y,0)),e.left=r(t.left,r(t.x,0)),e.right=e.left+e.width,e.bottom=e.top+e.height,e;if(void 0===t.offsetWidth){let i=t.getBoundingClientRect();return e.width=i.width,e.height=i.height,e.top=s.pageMetrics.scrollY+i.top,e.left=s.pageMetrics.scrollX+i.left,e.right=e.left+e.width,e.bottom=e.top+e.height,e}e.width=t.offsetWidth,e.height=t.offsetHeight,e.top=s.pageMetrics.documentOffsetY,e.left=s.pageMetrics.documentOffsetX;let i=t;for(;i;)e.top+=i.offsetTop,e.left+=i.offsetLeft,i=i.offsetParent;return e.right=e.left+e.width,e.bottom=e.top+e.height,e}}},function(t,e,i){"use strict";t.exports={majorVersionNumber:"3.x"}},function(t,e,i){"use strict";var s=i(8);t.exports=s.requestAnimationFrame("external")},function(t,e,i){"use strict";const s=i(1);class r{constructor(t,e){this._index=0,this.keyframe=t,e&&(this.name=e)}get start(){return this.keyframe.jsonProps.start}set index(t){this._index=t}get index(){return this._index}}t.exports=class{constructor(t){this.timeGroup=t,this.chapters=[],this.chapterNames={},this.currentChapter=null,this.tween=null}addChapter(t){const{position:e,name:i}=t;if(void 0===e)throw ReferenceError("Cannot add chapter without target position.");t._impIsFirst||0!==this.chapters.length||this.addChapter({position:0,_impIsFirst:!0});let s=this.timeGroup.addKeyframe(this,{start:e,end:e,event:"Chapter"});this.timeGroup.forceUpdate({waitForNextFrame:!1,silent:!0});const n=new r(s,i);if(this.chapters.push(n),i){if(this.chapterNames.hasOwnProperty(i))throw ReferenceError(`Duplicate chapter name assigned - "${i}" is already in use`);this.chapterNames[i]=n}return this.chapters.sort(((t,e)=>t.start-e.start)).forEach(((t,e)=>t.index=e)),this.currentChapter=this.currentChapter||this.chapters[0],n}playToChapter(t){let e;if(t.hasOwnProperty("index"))e=this.chapters[t.index];else{if(!t.hasOwnProperty("name"))throw ReferenceError("Cannot play to chapter without target index or name");e=this.chapterNames[t.name]}if(!e||this.currentChapter===e&&!0!==t.force)return;let i=t.ease||"easeInOutCubic";this.tween&&this.tween.controller&&(this.tween.remove(),i="easeOutQuint"),this.timeGroup.timeScale(t.timeScale||1);const r=void 0!==t.duration?t.duration:this.getDurationToChapter(e),n=this.timeGroup.time(),o=e.start;let a=!1;this.tween=this.timeGroup.anim.addTween({time:n},{easeFunction:i,duration:r,time:[n,o],onStart:()=>this.timeGroup.trigger(s.EVENTS.ON_CHAPTER_INITIATED,{player:this,next:e}),onDraw:t=>{let i=t.tweenProps.time.current;this.timeGroup.time(i),t.keyframe.curvedT>.5&&!a&&(a=!0,this.currentIndex=e.index,this.currentChapter=e,this.timeGroup.trigger(s.EVENTS.ON_CHAPTER_OCCURRED,{player:this,current:e}))},onComplete:()=>{this.timeGroup.trigger(s.EVENTS.ON_CHAPTER_COMPLETED,{player:this,current:e}),this.timeGroup.paused(!0),this.tween=null}})}getDurationToChapter(t){const e=this.chapters[t.index-1]||this.chapters[t.index+1];return Math.abs(e.start-t.start)}}},function(t,e,i){"use strict";t.exports={BaseComponent:i(78)}},function(t,e,i){"use strict";t.exports=function(t,e){var i;return e?{width:(i=t.getBoundingClientRect()).width,height:i.height}:{width:t.offsetWidth,height:t.offsetHeight}}},function(t,e,i){"use strict";var s=i(87),r=function(){this.events={}},n=r.prototype;n.requestAnimationFrame=function(t){return this.events[t]||(this.events[t]=new s(t)),this.events[t].requestAnimationFrame},n.cancelAnimationFrame=function(t){return this.events[t]||(this.events[t]=new s(t)),this.events[t].cancelAnimationFrame},t.exports=new r},,,,,,,,,,,,,,,function(t,e,i){t.exports=i(48)},function(t,e,i){"use strict";const s=i(18),r=i(76),n=i(30),o=i(79),a=(i(80),i(101)),h=i(11).PictureLazyLoading;({initialize(){Object.assign(n,o),a.detect(),new r(document.querySelector("main")).anim.on(s.model.EVENTS.ON_DOM_GROUPS_CREATED,(()=>{new h}))}}).initialize()},function(t,e,i){"use strict";t.exports=new class{constructor(){this.linear=function(t){return t},this.easeInQuad=function(t){return t*t},this.easeOutQuad=function(t){return t*(2-t)},this.easeInOutQuad=function(t){return t<.5?2*t*t:(4-2*t)*t-1},this.easeInSin=function(t){return 1+Math.sin(Math.PI/2*t-Math.PI/2)},this.easeOutSin=function(t){return Math.sin(Math.PI/2*t)},this.easeInOutSin=function(t){return(1+Math.sin(Math.PI*t-Math.PI/2))/2},this.easeInElastic=function(t){return 0===t?t:(.04-.04/t)*Math.sin(25*t)+1},this.easeOutElastic=function(t){return.04*t/--t*Math.sin(25*t)},this.easeInOutElastic=function(t){return(t-=.5)<0?(.02+.01/t)*Math.sin(50*t):(.02-.01/t)*Math.sin(50*t)+1},this.easeOutBack=function(t){return(t-=1)*t*(2.70158*t+1.70158)+1},this.easeInCubic=function(t){return t*t*t},this.easeOutCubic=function(t){return--t*t*t+1},this.easeInOutCubic=function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},this.easeInQuart=function(t){return t*t*t*t},this.easeOutQuart=function(t){return 1- --t*t*t*t},this.easeInOutQuart=function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},this.easeInQuint=function(t){return t*t*t*t*t},this.easeOutQuint=function(t){return 1+--t*t*t*t*t},this.easeInOutQuint=function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}}}},function(t,e,i){"use strict";const s=1e-5,r=Math.abs;class n{constructor(t,e,i,s){this.cp=new Float32Array(6),this.cp[0]=3*t,this.cp[1]=3*(i-t)-this.cp[0],this.cp[2]=1-this.cp[0]-this.cp[1],this.cp[3]=3*e,this.cp[4]=3*(s-e)-this.cp[3],this.cp[5]=1-this.cp[3]-this.cp[4]}sampleCurveX(t){return((this.cp[2]*t+this.cp[1])*t+this.cp[0])*t}sampleCurveY(t){return((this.cp[5]*t+this.cp[4])*t+this.cp[3])*t}sampleCurveDerivativeX(t){return(3*this.cp[2]*t+2*this.cp[1])*t+this.cp[0]}solveCurveX(t){var e,i,n,o,a,h;for(n=t,h=0;h<5;h++){if(o=this.sampleCurveX(n)-t,r(o)<s)return n;if(a=this.sampleCurveDerivativeX(n),r(a)<s)break;n-=o/a}if((n=t)<(e=0))return e;if(n>(i=1))return i;for(;e<i;){if(o=this.sampleCurveX(n),r(o-t)<s)return n;t>o?e=n:i=n,n=.5*(i-e)+e}return n}solve(t){return this.sampleCurveY(this.solveCurveX(t))}}const o=/\d*\.?\d+/g;n.fromCSSString=function(t){let e=t.match(o);if(4!==e.length)throw`UnitBezier could not convert ${t} to cubic-bezier`;let i=e.map(Number),s=new n(i[0],i[1],i[2],i[3]);return s.solve.bind(s)},t.exports=n},function(t,e,i){"use strict";const{map:s}=i(4),r={};class n{constructor(t,e,i,s){this.mass=t,this.stiffness=e,this.damping=i,this.initialVelocity=s,this.m_w0=Math.sqrt(this.stiffness/this.mass),this.m_zeta=this.damping/(2*Math.sqrt(this.stiffness*this.mass)),this.m_zeta<1?(this.m_wd=this.m_w0*Math.sqrt(1-this.m_zeta*this.m_zeta),this.m_A=1,this.m_B=(this.m_zeta*this.m_w0-this.initialVelocity)/this.m_wd):(this.m_wd=0,this.m_A=1,this.m_B=-this.initialVelocity+this.m_w0)}solve(t){return 1-(t=this.m_zeta<1?Math.exp(-t*this.m_zeta*this.m_w0)*(this.m_A*Math.cos(this.m_wd*t)+this.m_B*Math.sin(this.m_wd*t)):(this.m_A+this.m_B*t)*Math.exp(-t*this.m_w0))}}const o=/\d*\.?\d+/g;n.fromCSSString=function(t){let e=t.match(o);if(4!==e.length)throw`SpringEasing could not convert ${cssString} to spring params`;let i=e.map(Number),a=new n(...i);const h=a.solve.bind(a);let l=0;let c=function(){if(r[t])return r[t];const e=1/6;let i,s=0;for(;;){l+=e;if(1===h(l)){if(s++,s>=16){i=l*e;break}}else s=0}return r[t]=i,r[t]}();return function(t){return 0===t||1===t?t:h(s(t,0,1,0,c))}},t.exports=n},function(t,e,i){"use strict";t.exports=function(t,e){if("string"!=typeof t)return t;try{return(e||document).querySelector(t)||document.querySelector(t)}catch(t){return!1}}},function(t,e,i){"use strict";t.exports=class{constructor(){this.local=0,this.localUnclamped=0,this.lastPosition=0}}},function(t,e,i){"use strict";t.exports=class{constructor(t,e){this.a=t.top-e,this.a<0&&(this.a=t.top),this.b=t.top,this.d=t.bottom,this.c=Math.max(this.d-e,this.b)}}},function(t,e,i){"use strict";const s=i(56),r=new(i(26));class n{constructor(t){this.group=t,this.data={target:null,anchors:null,metrics:this.group.metrics}}parseArray(t,e){return[this.parseExpression(t,e[0]),this.parseExpression(t,e[1])]}parseExpression(t,e){if(!e)return null;if("number"==typeof e)return e;if("string"!=typeof e)throw`Expression must be a string, received ${typeof e}: ${e}`;return this.data.target=t.controller.element,this.data.anchors=t.anchors,this.data.keyframe=t.keyframe,this.group.anim.plugins.parser.reduce(((i,s)=>i||s.parseExpression.call(this,t,e)),null)||n._parse(e,this.data)}parseTimeValue(t,e){if("number"==typeof e)return e;let i=this.group.expressionParser.parseExpression(t,e);return this.group.convertScrollPositionToTValue(i)}destroy(){this.group=null}static parse(t,e){return(e=e||{})&&(r.clear(),e.target&&r.add(e.target),e.anchors&&e.anchors.forEach((t=>r.add(t)))),e.metrics=r,n._parse(t,e)}static _parse(t,e){return s.Parse(t).execute(e)}}n.programs=s.programs,"undefined"!=typeof window&&(window.ExpressionParser=n),t.exports=n},function(t,e,i){"use strict";const s=i(1),r=i(4),n={},o={smoothstep:(t,e,i)=>(i=o.clamp((i-t)/(e-t),0,1))*i*(3-2*i),deg:t=>180*t/Math.PI,rad:t=>t*Math.PI/180,random:(t,e)=>Math.random()*(e-t)+t,atan:Math.atan2};Object.getOwnPropertyNames(Math).forEach((t=>o[t]?null:o[t.toLowerCase()]=Math[t])),Object.getOwnPropertyNames(r).forEach((t=>o[t]?null:o[t.toLowerCase()]=r[t]));let a=null;const h="a",l="ALPHA",c="(",u=")",d="PLUS",m="MINUS",p="MUL",f="DIV",_="INTEGER_CONST",g="FLOAT_CONST",b=",",y="EOF",v={NUMBERS:/\d|\d\.\d/,DIGIT:/\d/,OPERATOR:/[-+*/]/,PAREN:/[()]/,WHITE_SPACE:/\s/,ALPHA:/[a-zA-Z]|%/,ALPHANUMERIC:/[a-zA-Z0-9]/,OBJECT_UNIT:/^(t|l|b|r|%w|%h|%|h|w)$/,GLOBAL_METRICS_UNIT:/^(px|vh|vw)$/,ANY_UNIT:/^(t|l|b|r|%w|%h|%|h|w|px|vh|vw)$/,MATH_FUNCTION:new RegExp(`\\b(${Object.keys(o).join("|")})\\b`,"i")},E=function(t,e,i){let s=e.slice(Math.max(i,0),Math.min(e.length,i+3)),r=new Error(`Expression Error. ${t} in expression "${e}", near "${s}"`);throw console.error(r.message,a?a.keyframe||a.target:""),r},w={round:1,clamp:3,lerp:3,random:2,atan:2,floor:1,ceil:1,abs:1,cos:1,sin:1,smoothstep:3,rad:1,deg:1,pow:2,calc:1};class x{constructor(t,e){this.type=t,this.value=e}}x.ONE=new x("100",100),x.EOF=new x(y,null);class S{constructor(t){this.type=t}}class C extends S{constructor(t,e){super("UnaryOp"),this.token=this.op=t,this.expr=e}}class A extends S{constructor(t,e,i){super("BinOp"),this.left=t,this.op=e,this.right=i}}class T extends S{constructor(t,e){if(super("MathOp"),this.op=t,this.list=e,w[t.value]&&e.length!==w[t.value])throw new Error(`Incorrect number of arguments for '${t.value}'. Received ${e.length}, expected ${w[t.value]}`)}}class P extends S{constructor(t){super("Num"),this.token=t,this.value=t.value}}class I extends S{constructor(t,e,i){super("RefValue"),this.num=t,this.ref=e,this.unit=i}}class O extends S{constructor(t,e){super("CSSValue"),this.ref=t,this.propertyName=e}}class F extends S{constructor(t,e){super("PropValue"),this.ref=t,this.propertyName=e}}class R{constructor(t){let e;for(this.text=t,this.pos=0,this.char=this.text[this.pos],this.tokens=[];(e=this.getNextToken())&&e!==x.EOF;)this.tokens.push(e);this.tokens.push(e)}advance(){this.char=this.text[++this.pos]}skipWhiteSpace(){for(;null!=this.char&&v.WHITE_SPACE.test(this.char);)this.advance()}name(){let t="";for(;null!=this.char&&v.ALPHA.test(this.char);)t+=this.char,this.advance();return new x(l,t)}number(){let t="";for("."===this.char&&(t+=this.char,this.advance());null!=this.char&&v.DIGIT.test(this.char);)t+=this.char,this.advance();if(null!=this.char&&"."===this.char)for(t.includes(".")&&E("Number appears to contain 2 decimal points",this.text,this.pos),t+=this.char,this.advance();null!=this.char&&v.DIGIT.test(this.char);)t+=this.char,this.advance();return"."===t&&E("Attempted to parse a number, but found only a decimal point",this.text,this.pos),t.includes(".")?new x(g,parseFloat(t)):new x(_,parseInt(t))}getNextToken(){for(;null!=this.char;)if(v.WHITE_SPACE.test(this.char))this.skipWhiteSpace();else{if("."===this.char||v.DIGIT.test(this.char))return this.number();if(","===this.char)return this.advance(),new x(b,",");if(v.OPERATOR.test(this.char)){let t="",e=this.char;switch(e){case"+":t=d;break;case"-":t=m;break;case"*":t=p;break;case"/":t=f}return this.advance(),new x(t,e)}if(v.PAREN.test(this.char)){let t="",e=this.char;switch(e){case"(":t=c;break;case")":t=u}return this.advance(),new x(t,e)}if(v.ALPHA.test(this.char))return this.name();E(`Unexpected character "${this.char}"`,this.text,this.pos)}return x.EOF}}class M{constructor(t){this.lexer=t,this.pos=0}get currentToken(){return this.lexer.tokens[this.pos]}error(t){E(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",this.lexer.text,this.pos)}consume(t){let e=this.currentToken;return e.type===t?this.pos+=1:this.error(`Invalid token ${this.currentToken.value}, expected ${t}`),e}consumeList(t){t.includes(this.currentToken)?this.pos+=1:this.error(`Invalid token ${this.currentToken.value}, expected ${tokenType}`)}expr(){let t=this.term();for(;this.currentToken.type===d||this.currentToken.type===m;){const e=this.currentToken;switch(e.value){case"+":this.consume(d);break;case"-":this.consume(m)}t=new A(t,e,this.term())}return t}term(){let t=this.factor();for(;this.currentToken.type===p||this.currentToken.type===f;){const e=this.currentToken;switch(e.value){case"*":this.consume(p);break;case"/":this.consume(f)}t=new A(t,e,this.factor())}return t}factor(){if(this.currentToken.type===d)return new C(this.consume(d),this.factor());if(this.currentToken.type===m)return new C(this.consume(m),this.factor());if(this.currentToken.type===_||this.currentToken.type===g){let t=new P(this.currentToken);if(this.pos+=1,v.OPERATOR.test(this.currentToken.value)||this.currentToken.type===u||this.currentToken.type===b||this.currentToken.type===y)return t;if(this.currentToken.type===l&&this.currentToken.value===h)return this.consume(l),new I(t,this.anchorIndex(),this.unit(v.ANY_UNIT));if(this.currentToken.type===l)return"%a"===this.currentToken.value&&this.error("%a is invalid, try removing the %"),new I(t,null,this.unit());this.error("Expected a scaling unit type","Such as 'h' / 'w'")}else{if(v.OBJECT_UNIT.test(this.currentToken.value))return new I(new P(x.ONE),null,this.unit());if(this.currentToken.value===h){this.consume(l);const t=this.anchorIndex();if(v.OBJECT_UNIT.test(this.currentToken.value))return new I(new P(x.ONE),t,this.unit())}else if(this.currentToken.type===l){if("calc"===this.currentToken.value)return this.consume(l),this.expr();if("css"===this.currentToken.value||"var"===this.currentToken.value||"prop"===this.currentToken.value){const t="prop"!==this.currentToken.value?O:F;this.consume(l),this.consume(c);const e=this.propertyName();let i=null;return this.currentToken.type===b&&(this.consume(b),this.consume(l),i=this.anchorIndex()),this.consume(u),new t(i,e)}if(v.MATH_FUNCTION.test(this.currentToken.value)){const t=this.currentToken.value.toLowerCase();if("number"==typeof o[t])return this.consume(l),new P(new x(l,o[t]));const e=x[t]||new x(t,t),i=[];this.consume(l),this.consume(c);let s=null;do{this.currentToken.value===b&&this.consume(b),s=this.expr(),i.push(s)}while(this.currentToken.value===b);return this.consume(u),new T(e,i)}}else if(this.currentToken.type===c){this.consume(c);let t=this.expr();return this.consume(u),t}}this.error(`Unexpected token ${this.currentToken.value}`)}propertyName(){let t="";for(;this.currentToken.type===l||this.currentToken.type===m;)t+=this.currentToken.value,this.pos+=1;return t}unit(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.ANY_UNIT;const e=this.currentToken;if(e.type===l&&t.test(e.value))return this.consume(l),new x(l,e.value=e.value.replace(/%(h|w)/,"$1").replace("%","h"));this.error("Expected unit type")}anchorIndex(){const t=this.currentToken;if(t.type===_)return this.consume(_),new P(t);this.error("Invalid anchor reference",". Should be something like a0, a1, a2")}parse(){const t=this.expr();return this.currentToken!==x.EOF&&this.error(`Unexpected token ${this.currentToken.value}`),t}}class k{constructor(t){this.parser=t,this.root=t.parse()}visit(t){let e=this[t.type];if(!e)throw new Error(`No visit method named, ${e}`);return e.call(this,t)}BinOp(t){switch(t.op.type){case d:return this.visit(t.left)+this.visit(t.right);case m:return this.visit(t.left)-this.visit(t.right);case p:return this.visit(t.left)*this.visit(t.right);case f:return this.visit(t.left)/this.visit(t.right)}}RefValue(t){let e=this.unwrapReference(t),i=t.unit.value,r=t.num.value;const n=a.metrics.get(e);switch(i){case"h":return.01*r*n.height;case"t":return.01*r*n.top;case"vh":return.01*r*s.pageMetrics.windowHeight;case"vw":return.01*r*s.pageMetrics.windowWidth;case"px":return r;case"w":return.01*r*n.width;case"b":return.01*r*n.bottom;case"l":return.01*r*n.left;case"r":return.01*r*n.right}}PropValue(t){return(null===t.ref?a.target:a.anchors[t.ref.value])[t.propertyName]}CSSValue(t){let e=this.unwrapReference(t);const i=getComputedStyle(e).getPropertyValue(t.propertyName);return""===i?0:k.Parse(i).execute(a)}Num(t){return t.value}UnaryOp(t){return t.op.type===d?+this.visit(t.expr):t.op.type===m?-this.visit(t.expr):void 0}MathOp(t){let e=t.list.map((t=>this.visit(t)));return o[t.op.value].apply(null,e)}unwrapReference(t){return null===t.ref?a.target:(t.ref.value>=a.anchors.length&&console.error(`Not enough anchors supplied for expression ${this.parser.lexer.text}`,a.target),a.anchors[t.ref.value])}execute(t){return a=t,this.visit(this.root)}static Parse(t){return n[t]||(n[t]=new k(new M(new R(t))))}}k.programs=n,t.exports=k},function(t,e,i){"use strict";const s=i(1),r=i(3),n=(i(14),i(58)),o=i(25),a=(i(5),i(16)),h=i(59),l=i(15),c=i(22),u=i(2).EventEmitterMicro,d=i(60),m={};"undefined"!=typeof window&&(m.update=i(7),m.external=i(28),m.draw=i(10));const{transformAttributes:p,cssAttributes:f,domAttributes:_}=i(23),g=Math.PI/180,b={create:i(67),rotateX:i(68),rotateY:i(69),rotateZ:i(70),scale:i(71)};t.exports=class extends u{constructor(t,e){super(),this._events.draw=[],this.uuid=c(),this.group=t,this.element=e,this._ownerIsElement=this.element instanceof Element,this._ownerIsElement?this.friendlyName=this.element.tagName+"."+Array.from(this.element.classList).join("."):this.friendlyName=this.element.friendlyName||this.uuid,this.element._animInfo=this.element._animInfo||new o(t,this),this.element._animInfo.controller=this,this.element._animInfo.group=this.group,this.element._animInfo.controllers.push(this),this.tweenProps=this.element._animInfo.tweenProps,this.eventObject=new n(this),this.needsStyleUpdate=!1,this.needsClassUpdate=!1,this.elementMetrics=this.group.metrics.add(this.element),this.attributes=[],this.cssAttributes=[],this.domAttributes=[],this.keyframes={},this._allKeyframes=[],this._activeKeyframes=[],this.keyframesRequiringDispatch=[],this.updateCachedValuesFromElement(),this.boundsMin=0,this.boundsMax=0,this.mat2d=new Float32Array(6),this.mat4=b.create(),this.needsWrite=!0,this.onDOMWriteImp=this._ownerIsElement?this.onDOMWriteForElement:this.onDOMWriteForObject}destroy(){if(this.element._animInfo){this.element._animInfo.controller===this&&(this.element._animInfo.controller=null);let t=this.element._animInfo.controllers.indexOf(this);if(-1!==t&&this.element._animInfo.controllers.splice(t,1),0===this.element._animInfo.controllers.length)this.element._animInfo=null;else{let t=this.element._animInfo.controllers.find((t=>t.group!==t.group.anim.tweenGroup));t&&(this.element._animInfo.controller=t,this.element._animInfo.group=t.group)}}this.eventObject.controller=null,this.eventObject.element=null,this.eventObject.keyframe=null,this.eventObject.tweenProps=null,this.eventObject=null,this.elementMetrics=null,this.group=null,this.keyframesRequiringDispatch=null;for(let t=0;t<this._allKeyframes.length;t++)this._allKeyframes[t].destroy();this._allKeyframes=null,this._activeKeyframes=null,this.attributes=null,this.keyframes=null,this.element=null,this.tweenProps=null,this.destroyed=!0,super.destroy()}remove(){return this.group.removeKeyframeController(this)}updateCachedValuesFromElement(){if(!this._ownerIsElement)return;const t=this.getTargetComputedStyle(!0);let e=new DOMMatrix(t.getPropertyValue("transform")),i=d(e),n=s.KeyframeDefaults.epsilon,o=!1;["x","y","z"].forEach(((t,e)=>{this.tweenProps[t]=new r(i.translation[e],n,o,t)})),this.tweenProps.rotation=new r(i.rotation[2],n,o,"rotation"),["rotationX","rotationY","rotationZ"].forEach(((t,e)=>{this.tweenProps[t]=new r(i.rotation[e],n,o,t)})),this.tweenProps.scale=new r(i.scale[0],n,o,"scale"),["scaleX","scaleY","scaleZ"].forEach(((t,e)=>{this.tweenProps[t]=new r(i.scale[e],n,o,t)}))}addKeyframe(t){let e=h(t);if(!e)throw new Error("AnimSystem Cannot create keyframe for from options `"+t+"`");let i=new e(this,t);return i.parseOptions(t),i.id=this._allKeyframes.length,this._allKeyframes.push(i),i}needsUpdate(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t];if(this.tweenProps[e].needsUpdate())return!0}return!1}updateLocalProgress(t){for(let e=0,i=this.attributes.length;e<i;e++){let i=this.attributes[e],s=this.keyframes[this.attributes[e]];if(1===s.length){s[0].updateLocalProgress(t);continue}let r=this.getNearestKeyframeForAttribute(i,t);r&&r.updateLocalProgress(t)}}reconcile(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t],i=this.getNearestKeyframeForAttribute(e,this.group.position.local);i.updateLocalProgress(this.group.position.local),i.snapAtCreation&&i.reconcile(e)}}determineActiveKeyframes(t){t=t||l(Array.from(document.documentElement.classList));let e=this._activeKeyframes,i=this.attributes,s={};this._activeKeyframes=[],this.attributes=[],this.keyframes={};for(let e=0;e<this._allKeyframes.length;e++){let i=this._allKeyframes[e];if(i.markedForRemoval||i.hidden||!i.setEnabled(t))for(let t in i.animValues)this.tweenProps[t].isActive=i.preserveState,i.preserveState&&(s[t]=!0);else{this._activeKeyframes.push(i);for(let t in i.animValues)this.keyframes[t]=this.keyframes[t]||[],this.keyframes[t].push(i),-1===this.attributes.indexOf(t)&&(s[t]=!0,this.attributes.push(t),this.tweenProps[t].isActive=!0)}}this.attributes.forEach((t=>this.tweenProps[t].isActive=!0)),this.cssAttributes=this.attributes.filter((t=>f.includes(t)||t.startsWith("--"))).map((t=>this.tweenProps[t])),this.domAttributes=this.attributes.filter((t=>_.includes(t))).map((t=>this.tweenProps[t]));let r=e.filter((t=>-1===this._activeKeyframes.indexOf(t)));if(0===r.length)return;let n=i.filter((t=>-1===this.attributes.indexOf(t)&&!s.hasOwnProperty(t)));if(0!==n.length)if(this.needsWrite=!0,this._ownerIsElement)m.external((()=>{let t=n.some((t=>p.includes(t))),e=t&&Object.keys(s).some((t=>p.includes(t)));t&&!e&&this.element.style.removeProperty("transform");for(let t=0,e=n.length;t<e;++t){let e=n[t],i=this.tweenProps[e],s=i.isActive?i.target:i.initialValue;i.current=i.target=s,!i.isActive&&f.includes(e)&&(this.element.style[e]=null)}for(let t=0,e=r.length;t<e;++t){let e=r[t];e instanceof a&&!e.preserveState&&e._unapply()}}),!0);else for(let t=0,e=n.length;t<e;++t){let e=this.tweenProps[n[t]];e.current=e.target,e.isActive=!1}}onDOMRead(t){for(let e=0,i=this.attributes.length;e<i;e++){let i=this.attributes[e],s=this.getNearestKeyframeForAttribute(i,t);s&&s.onDOMRead(i)&&(this.needsWrite=!0)}}onDOMWrite(){(this.needsWrite||this.needsClassUpdate||this.needsStyleUpdate)&&(this.needsWrite=!1,this.onDOMWriteImp(),this.handleEventDispatch())}onDOMWriteForObject(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t];this.element[e]=this.tweenProps[e].current}}onDOMWriteForElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.element.style;this.handleStyleTransform(t);for(let e=0,i=this.cssAttributes.length;e<i;e++)this.cssAttributes[e].set(t);for(let t=0,e=this.domAttributes.length;t<e;t++)this.domAttributes[t].set(this.element);if(this.needsStyleUpdate){for(let t in this.tweenProps.targetStyles)null!==this.tweenProps.targetStyles[t]&&(this.element.style[t]=this.tweenProps.targetStyles[t]),this.tweenProps.targetStyles[t]=null;this.needsStyleUpdate=!1}this.needsClassUpdate&&(this.tweenProps.targetClasses.add.length>0&&this.element.classList.add.apply(this.element.classList,this.tweenProps.targetClasses.add),this.tweenProps.targetClasses.remove.length>0&&this.element.classList.remove.apply(this.element.classList,this.tweenProps.targetClasses.remove),this.tweenProps.targetClasses.add.length=0,this.tweenProps.targetClasses.remove.length=0,this.needsClassUpdate=!1)}handleStyleTransform(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.element.style,e=this.tweenProps;if(e.z.isActive||e.rotationX.isActive||e.rotationY.isActive){const i=this.mat4;i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1;const s=e.x.current,r=e.y.current,n=e.z.current;if(i[12]=i[0]*s+i[4]*r+i[8]*n+i[12],i[13]=i[1]*s+i[5]*r+i[9]*n+i[13],i[14]=i[2]*s+i[6]*r+i[10]*n+i[14],i[15]=i[3]*s+i[7]*r+i[11]*n+i[15],0!==e.rotation.current||0!==e.rotationZ.current){const t=(e.rotation.current||e.rotationZ.current)*g;b.rotateZ(i,i,t)}if(0!==e.rotationX.current){const t=e.rotationX.current*g;b.rotateX(i,i,t)}if(0!==e.rotationY.current){const t=e.rotationY.current*g;b.rotateY(i,i,t)}1===e.scale.current&&1===e.scaleX.current&&1===e.scaleY.current||b.scale(i,i,[e.scale.current,e.scale.current,1]),t.transform="matrix3d("+i[0]+","+i[1]+","+i[2]+","+i[3]+","+i[4]+","+i[5]+","+i[6]+","+i[7]+","+i[8]+","+i[9]+","+i[10]+","+i[11]+","+i[12]+","+i[13]+","+i[14]+","+i[15]+")"}else if(e.x.isActive||e.y.isActive||e.rotation.isActive||e.rotationZ.isActive||e.scale.isActive||e.scaleX.isActive||e.scaleY.isActive){const i=this.mat2d;i[0]=1,i[1]=0,i[2]=0,i[3]=1,i[4]=0,i[5]=0;const s=e.x.current,r=e.y.current,n=i[0],o=i[1],a=i[2],h=i[3],l=i[4],c=i[5];if(i[0]=n,i[1]=o,i[2]=a,i[3]=h,i[4]=n*s+a*r+l,i[5]=o*s+h*r+c,0!==e.rotation.current||0!==e.rotationZ.current){const t=(e.rotation.current||e.rotationZ.current)*g,s=i[0],r=i[1],n=i[2],o=i[3],a=i[4],h=i[5],l=Math.sin(t),c=Math.cos(t);i[0]=s*c+n*l,i[1]=r*c+o*l,i[2]=s*-l+n*c,i[3]=r*-l+o*c,i[4]=a,i[5]=h}e.scaleX.isActive||e.scaleY.isActive?(i[0]=i[0]*e.scaleX.current,i[1]=i[1]*e.scaleX.current,i[2]=i[2]*e.scaleY.current,i[3]=i[3]*e.scaleY.current):(i[0]=i[0]*e.scale.current,i[1]=i[1]*e.scale.current,i[2]=i[2]*e.scale.current,i[3]=i[3]*e.scale.current),t.transform="matrix("+i[0]+", "+i[1]+", "+i[2]+", "+i[3]+", "+i[4]+", "+i[5]+")"}}handleEventDispatch(){if(0!==this.keyframesRequiringDispatch.length){for(let t=0,e=this.keyframesRequiringDispatch.length;t<e;t++){let e=this.keyframesRequiringDispatch[t];e.needsEventDispatch=!1,this.eventObject.keyframe=e,this.eventObject.pageMetrics=s.pageMetrics,this.eventObject.event=e.event,this.trigger(e.event,this.eventObject)}this.keyframesRequiringDispatch.length=0}if(0!==this._events.draw.length){this.eventObject.keyframe=null,this.eventObject.event="draw";for(let t=this._events.draw.length-1;t>=0;t--)this._events.draw[t](this.eventObject)}}updateAnimationConstraints(){for(let t=0,e=this._activeKeyframes.length;t<e;t++)this._activeKeyframes[t].evaluateConstraints();this.attributes.forEach((t=>{1!==this.keyframes[t].length&&this.keyframes[t].sort(s.KeyframeComparison)})),this.updateDeferredPropertyValues()}refreshMetrics(){let t=new Set([this.element]);this._allKeyframes.forEach((e=>e.anchors.forEach((e=>t.add(e))))),this.group.metrics.refreshCollection(t),this.group.keyframesDirty=!0}getTargetComputedStyle(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._ownerIsElement?((t||void 0===this.group.computedStyleCache[this.uuid])&&(this.group.computedStyleCache[this.uuid]=getComputedStyle(this.element)),this.group.computedStyleCache[this.uuid]):null}updateDeferredPropertyValues(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t],i=this.keyframes[e];if(!(i[0].keyframeType>s.KeyframeTypes.InterpolationForward))for(let t=0,s=i.length;t<s;t++){let r=i[t];null===r.jsonProps[e][0]&&(0===t?r.jsonProps[e][0]=r.animValues[e][0]=this.tweenProps[e].current:r.animValues[e][0]=i[t-1].animValues[e][1]),null===r.jsonProps[e][1]&&(r.animValues[e][1]=t===s-1?this.tweenProps[e].current:i[t+1].animValues[e][0]),r.snapAtCreation&&(r.jsonProps[e][0]=r.animValues[e][0],r.jsonProps[e][1]=r.animValues[e][1])}}}getBounds(t){this.boundsMin=Number.MAX_VALUE,this.boundsMax=-Number.MAX_VALUE;for(let e=0,i=this.attributes.length;e<i;e++){let i=this.keyframes[this.attributes[e]];for(let e=0;e<i.length;e++){let s=i[e];this.boundsMin=Math.min(s.start,this.boundsMin),this.boundsMax=Math.max(s.end,this.boundsMax),t.min=Math.min(s.start,t.min),t.max=Math.max(s.end,t.max)}}}getNearestKeyframeForAttribute(t,e){e=void 0!==e?e:this.group.position.local;let i=null,s=Number.POSITIVE_INFINITY,r=this.keyframes[t];if(void 0===r)return null;let n=r.length;if(0===n)return null;if(1===n)return r[0];for(let t=0;t<n;t++){let n=r[t];if(n.isInRange(e)){i=n;break}let o=Math.min(Math.abs(e-n.start),Math.abs(e-n.end));o<s&&(s=o,i=n)}return i}getAllKeyframesForAttribute(t){return this.keyframes[t]}updateKeyframe(t,e){t.parseOptions(e),t.evaluateConstraints(),this.group.keyframesDirty=!0,m.update((()=>{this.trigger(s.EVENTS.ON_KEYFRAME_UPDATED,t),this.group.trigger(s.EVENTS.ON_KEYFRAME_UPDATED,t)}),!0)}removeKeyframe(t){return t.controller!==this?Promise.resolve(null):(t.markedForRemoval=!0,this.group.keyframesDirty=!0,new Promise((e=>{this.group.rafEmitter.executor.eventEmitter.once("before:draw",(()=>{e(t),t.destroy();let i=this._allKeyframes.indexOf(t);-1!==i&&this._allKeyframes.splice(i,1)}))})))}updateAnimation(t,e){return this.group.gui&&console.warn("KeyframeController.updateAnimation(keyframe,props) has been deprecated. Please use updateKeyframe(keyframe,props)"),this.updateKeyframe(t,e)}}},function(t,e,i){"use strict";t.exports=class{constructor(t){this.controller=t,this.element=this.controller.element,this.keyframe=null,this.event="",this.tweenProps=this.controller.tweenProps}}},function(t,e,i){"use strict";const s=i(1),r=i(5),n=i(24),o=i(16),a=function(t){for(let e in t){let i=t[e];if(-1===s.KeyframeJSONReservedWords.indexOf(e)&&Array.isArray(i))return!0}return!1};t.exports=function(t){if(void 0!==t.cssClass||void 0!==t.style){if(a(t))throw"CSS Keyframes cannot tween values, please use multiple keyframes instead";return o}if(a(t))return r;if(t.event)return n;throw delete t.anchors,`Could not determine tween type based on ${JSON.stringify(t)}`}},function(t,e,i){"use strict";"undefined"!=typeof window&&(window.DOMMatrix=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix);const s=180/Math.PI,r=t=>Math.round(1e6*t)/1e6;function n(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])}function o(t,e){return 0===e?Array.from(t):[t[0]/e,t[1]/e,t[2]/e]}function a(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function h(t,e,i,s){return[t[0]*i+e[0]*s,t[1]*i+e[1]*s,t[2]*i+e[2]*s]}function l(t){const e=new Float32Array(4),i=new Float32Array(3),l=new Float32Array(3),c=new Float32Array(3);c[0]=t[3][0],c[1]=t[3][1],c[2]=t[3][2];const u=new Array(3);for(let e=0;e<3;e++)u[e]=t[e].slice(0,3);i[0]=n(u[0]),u[0]=o(u[0],i[0]),l[0]=a(u[0],u[1]),u[1]=h(u[1],u[0],1,-l[0]),i[1]=n(u[1]),u[1]=o(u[1],i[1]),l[0]/=i[1],l[1]=a(u[0],u[2]),u[2]=h(u[2],u[0],1,-l[1]),l[2]=a(u[1],u[2]),u[2]=h(u[2],u[1],1,-l[2]),i[2]=n(u[2]),u[2]=o(u[2],i[2]),l[1]/=i[2],l[2]/=i[2];const d=(m=u[1],p=u[2],[m[1]*p[2]-m[2]*p[1],m[2]*p[0]-m[0]*p[2],m[0]*p[1]-m[1]*p[0]]);var m,p;if(a(u[0],d)<0)for(let t=0;t<3;t++)i[t]*=-1,u[t][0]*=-1,u[t][1]*=-1,u[t][2]*=-1;let f;return e[0]=.5*Math.sqrt(Math.max(1+u[0][0]-u[1][1]-u[2][2],0)),e[1]=.5*Math.sqrt(Math.max(1-u[0][0]+u[1][1]-u[2][2],0)),e[2]=.5*Math.sqrt(Math.max(1-u[0][0]-u[1][1]+u[2][2],0)),e[3]=.5*Math.sqrt(Math.max(1+u[0][0]+u[1][1]+u[2][2],0)),u[2][1]>u[1][2]&&(e[0]=-e[0]),u[0][2]>u[2][0]&&(e[1]=-e[1]),u[1][0]>u[0][1]&&(e[2]=-e[2]),f=e[0]<.001&&e[0]>=0&&e[1]<.001&&e[1]>=0?[0,0,r(180*Math.atan2(u[0][1],u[0][0])/Math.PI)]:function(t){const[e,i,n,o]=t,a=e*e,h=i*i,l=n*n,c=e*i+n*o,u=o*o+a+h+l;return c>.49999*u?[0,2*Math.atan2(e,o)*s,90]:c<-.49999*u?[0,-2*Math.atan2(e,o)*s,-90]:[r(Math.atan2(2*e*o-2*i*n,1-2*a-2*l)*s),r(Math.atan2(2*i*o-2*e*n,1-2*h-2*l)*s),r(Math.asin(2*e*i+2*n*o)*s)]}(e),{translation:c,rotation:f,eulerRotation:f,scale:[r(i[0]),r(i[1]),r(i[2])]}}t.exports=function(t){t instanceof Element&&(t=String(getComputedStyle(t).transform).trim());let e=new DOMMatrix(t);const i=new Array(4);for(let t=1;t<5;t++){const s=i[t-1]=new Float32Array(4);for(let i=1;i<5;i++)s[i-1]=e[`m${t}${i}`]}return l(i)}},function(t,e,i){"use strict";var s=i(62),r=function(t){this.phase=t,this.rafEmitter=new s,this._cachePhaseIndex(),this.requestAnimationFrame=this.requestAnimationFrame.bind(this),this.cancelAnimationFrame=this.cancelAnimationFrame.bind(this),this._onBeforeRAFExecutorStart=this._onBeforeRAFExecutorStart.bind(this),this._onBeforeRAFExecutorPhase=this._onBeforeRAFExecutorPhase.bind(this),this._onAfterRAFExecutorPhase=this._onAfterRAFExecutorPhase.bind(this),this.rafEmitter.on(this.phase,this._onRAFExecuted.bind(this)),this.rafEmitter.executor.eventEmitter.on("before:start",this._onBeforeRAFExecutorStart),this.rafEmitter.executor.eventEmitter.on("before:"+this.phase,this._onBeforeRAFExecutorPhase),this.rafEmitter.executor.eventEmitter.on("after:"+this.phase,this._onAfterRAFExecutorPhase),this._frameCallbacks=[],this._currentFrameCallbacks=[],this._nextFrameCallbacks=[],this._phaseActive=!1,this._currentFrameID=-1,this._cancelFrameIdx=-1,this._frameCallbackLength=0,this._currentFrameCallbacksLength=0,this._nextFrameCallbacksLength=0,this._frameCallbackIteration=0},n=r.prototype;n.requestAnimationFrame=function(t,e){return!0===e&&this.rafEmitter.executor.phaseIndex>0&&this.rafEmitter.executor.phaseIndex<=this.phaseIndex?this._phaseActive?(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!0),this._frameCallbacks.push(this._currentFrameID,t),this._frameCallbackLength+=2):(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!1),this._currentFrameCallbacks.push(this._currentFrameID,t),this._currentFrameCallbacksLength+=2):(this._currentFrameID=this.rafEmitter.run(),this._nextFrameCallbacks.push(this._currentFrameID,t),this._nextFrameCallbacksLength+=2),this._currentFrameID},n.cancelAnimationFrame=function(t){this._cancelFrameIdx=this._nextFrameCallbacks.indexOf(t),this._cancelFrameIdx>-1?this._cancelNextAnimationFrame():(this._cancelFrameIdx=this._currentFrameCallbacks.indexOf(t),this._cancelFrameIdx>-1?this._cancelCurrentAnimationFrame():(this._cancelFrameIdx=this._frameCallbacks.indexOf(t),this._cancelFrameIdx>-1&&this._cancelRunningAnimationFrame()))},n._onRAFExecuted=function(t){for(this._frameCallbackIteration=0;this._frameCallbackIteration<this._frameCallbackLength;this._frameCallbackIteration+=2)this._frameCallbacks[this._frameCallbackIteration+1](t.time,t);this._frameCallbacks.length=0,this._frameCallbackLength=0},n._onBeforeRAFExecutorStart=function(){Array.prototype.push.apply(this._currentFrameCallbacks,this._nextFrameCallbacks.splice(0,this._nextFrameCallbacksLength)),this._currentFrameCallbacksLength=this._nextFrameCallbacksLength,this._nextFrameCallbacks.length=0,this._nextFrameCallbacksLength=0},n._onBeforeRAFExecutorPhase=function(){this._phaseActive=!0,Array.prototype.push.apply(this._frameCallbacks,this._currentFrameCallbacks.splice(0,this._currentFrameCallbacksLength)),this._frameCallbackLength=this._currentFrameCallbacksLength,this._currentFrameCallbacks.length=0,this._currentFrameCallbacksLength=0},n._onAfterRAFExecutorPhase=function(){this._phaseActive=!1},n._cachePhaseIndex=function(){this.phaseIndex=this.rafEmitter.executor.phases.indexOf(this.phase)},n._cancelRunningAnimationFrame=function(){this._frameCallbacks.splice(this._cancelFrameIdx,2),this._frameCallbackLength-=2},n._cancelCurrentAnimationFrame=function(){this._currentFrameCallbacks.splice(this._cancelFrameIdx,2),this._currentFrameCallbacksLength-=2},n._cancelNextAnimationFrame=function(){this._nextFrameCallbacks.splice(this._cancelFrameIdx,2),this._nextFrameCallbacksLength-=2,0===this._nextFrameCallbacksLength&&this.rafEmitter.cancel()},t.exports=r},function(t,e,i){"use strict";var s=i(6),r=function(t){s.call(this,t)};(r.prototype=Object.create(s.prototype))._subscribe=function(){return this.executor.subscribe(this,!0)},t.exports=r},function(t,e,i){"use strict";var s=i(9).SharedInstance,r=i(27).majorVersionNumber,n=i(65);t.exports=s.share("@marcom/ac-raf-emitter/sharedRAFExecutorInstance",r,n)},function(t,e,i){"use strict";var s,r=window,n=r.AC,o=(s={},{get:function(t,e){var i=null;return s[t]&&s[t][e]&&(i=s[t][e]),i},set:function(t,e,i){return s[t]||(s[t]={}),s[t][e]="function"==typeof i?new i:i,s[t][e]},share:function(t,e,i){var s=this.get(t,e);return s||(s=this.set(t,e,i)),s},remove:function(t,e){var i=typeof e;if("string"!==i&&"number"!==i)s[t]&&(s[t]=null);else{if(!s[t]||!s[t][e])return;s[t][e]=null}}});n||(n=r.AC={}),n.SharedInstance||(n.SharedInstance=o),t.exports=n.SharedInstance},function(t,e,i){"use strict";var s,r=i(19);function n(t){t=t||{},this._reset(),this.updatePhases(),this.eventEmitter=new r,this._willRun=!1,this._totalSubscribeCount=-1,this._requestAnimationFrame=window.requestAnimationFrame,this._cancelAnimationFrame=window.cancelAnimationFrame,this._boundOnAnimationFrame=this._onAnimationFrame.bind(this),this._boundOnExternalAnimationFrame=this._onExternalAnimationFrame.bind(this)}(s=n.prototype).frameRequestedPhase="requested",s.startPhase="start",s.runPhases=["update","external","draw"],s.endPhase="end",s.disabledPhase="disabled",s.beforePhaseEventPrefix="before:",s.afterPhaseEventPrefix="after:",s.subscribe=function(t,e){return this._totalSubscribeCount++,this._nextFrameSubscribers[t.id]||(e?this._nextFrameSubscribersOrder.unshift(t.id):this._nextFrameSubscribersOrder.push(t.id),this._nextFrameSubscribers[t.id]=t,this._nextFrameSubscriberArrayLength++,this._nextFrameSubscriberCount++,this._run()),this._totalSubscribeCount},s.subscribeImmediate=function(t,e){return this._totalSubscribeCount++,this._subscribers[t.id]||(e?this._subscribersOrder.splice(this._currentSubscriberIndex+1,0,t.id):this._subscribersOrder.unshift(t.id),this._subscribers[t.id]=t,this._subscriberArrayLength++,this._subscriberCount++),this._totalSubscribeCount},s.unsubscribe=function(t){return!!this._nextFrameSubscribers[t.id]&&(this._nextFrameSubscribers[t.id]=null,this._nextFrameSubscriberCount--,0===this._nextFrameSubscriberCount&&this._cancel(),!0)},s.getSubscribeID=function(){return this._totalSubscribeCount+=1},s.destroy=function(){var t=this._cancel();return this.eventEmitter.destroy(),this.eventEmitter=null,this.phases=null,this._subscribers=null,this._subscribersOrder=null,this._nextFrameSubscribers=null,this._nextFrameSubscribersOrder=null,this._rafData=null,this._boundOnAnimationFrame=null,this._onExternalAnimationFrame=null,t},s.useExternalAnimationFrame=function(t){if("boolean"==typeof t){var e=this._isUsingExternalAnimationFrame;return t&&this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),!this._willRun||t||this._animationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this._isUsingExternalAnimationFrame=t,t?this._boundOnExternalAnimationFrame:e||!1}},s.updatePhases=function(){this.phases||(this.phases=[]),this.phases.length=0,this.phases.push(this.frameRequestedPhase),this.phases.push(this.startPhase),Array.prototype.push.apply(this.phases,this.runPhases),this.phases.push(this.endPhase),this._runPhasesLength=this.runPhases.length,this._phasesLength=this.phases.length},s._run=function(){if(!this._willRun)return this._willRun=!0,0===this.lastFrameTime&&(this.lastFrameTime=performance.now()),this._animationFrameActive=!0,this._isUsingExternalAnimationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this.phase===this.disabledPhase&&(this.phaseIndex=0,this.phase=this.phases[this.phaseIndex]),!0},s._cancel=function(){var t=!1;return this._animationFrameActive&&(this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),this._animationFrameActive=!1,this._willRun=!1,t=!0),this._isRunning||this._reset(),t},s._onAnimationFrame=function(t){for(this._subscribers=this._nextFrameSubscribers,this._subscribersOrder=this._nextFrameSubscribersOrder,this._subscriberArrayLength=this._nextFrameSubscriberArrayLength,this._subscriberCount=this._nextFrameSubscriberCount,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this.phaseIndex=0,this.phase=this.phases[this.phaseIndex],this._isRunning=!0,this._willRun=!1,this._didRequestNextRAF=!1,this._rafData.delta=t-this.lastFrameTime,this.lastFrameTime=t,this._rafData.fps=0,this._rafData.delta>=1e3&&(this._rafData.delta=0),0!==this._rafData.delta&&(this._rafData.fps=1e3/this._rafData.delta),this._rafData.time=t,this._rafData.naturalFps=this._rafData.fps,this._rafData.timeNow=Date.now(),this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._onAnimationFrameStart(this._rafData);for(this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase),this._runPhaseIndex=0;this._runPhaseIndex<this._runPhasesLength;this._runPhaseIndex++){for(this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]].trigger(this.phase,this._rafData);this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase)}for(this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._onAnimationFrameEnd(this._rafData);this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase),this._willRun?(this.phaseIndex=0,this.phaseIndex=this.phases[this.phaseIndex]):this._reset()},s._onExternalAnimationFrame=function(t){this._isUsingExternalAnimationFrame&&this._onAnimationFrame(t)},s._reset=function(){this._rafData||(this._rafData={}),this._rafData.time=0,this._rafData.delta=0,this._rafData.fps=0,this._rafData.naturalFps=0,this._rafData.timeNow=0,this._subscribers={},this._subscribersOrder=[],this._currentSubscriberIndex=-1,this._subscriberArrayLength=0,this._subscriberCount=0,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this._didEmitFrameData=!1,this._animationFrame=null,this._animationFrameActive=!1,this._isRunning=!1,this._shouldReset=!1,this.lastFrameTime=0,this._runPhaseIndex=-1,this.phaseIndex=-1,this.phase=this.disabledPhase},t.exports=n},function(t,e,i){"use strict";var s=i(9).SharedInstance,r=i(27).majorVersionNumber,n=function(){this._currentID=0};n.prototype.getNewID=function(){return this._currentID++,"raf:"+this._currentID},t.exports=s.share("@marcom/ac-raf-emitter/sharedRAFEmitterIDGeneratorInstance",r,n)},function(t,e){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},function(t,e){t.exports=function(t,e,i){var s=Math.sin(i),r=Math.cos(i),n=e[4],o=e[5],a=e[6],h=e[7],l=e[8],c=e[9],u=e[10],d=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=n*r+l*s,t[5]=o*r+c*s,t[6]=a*r+u*s,t[7]=h*r+d*s,t[8]=l*r-n*s,t[9]=c*r-o*s,t[10]=u*r-a*s,t[11]=d*r-h*s,t}},function(t,e){t.exports=function(t,e,i){var s=Math.sin(i),r=Math.cos(i),n=e[0],o=e[1],a=e[2],h=e[3],l=e[8],c=e[9],u=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=n*r-l*s,t[1]=o*r-c*s,t[2]=a*r-u*s,t[3]=h*r-d*s,t[8]=n*s+l*r,t[9]=o*s+c*r,t[10]=a*s+u*r,t[11]=h*s+d*r,t}},function(t,e){t.exports=function(t,e,i){var s=Math.sin(i),r=Math.cos(i),n=e[0],o=e[1],a=e[2],h=e[3],l=e[4],c=e[5],u=e[6],d=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=n*r+l*s,t[1]=o*r+c*s,t[2]=a*r+u*s,t[3]=h*r+d*s,t[4]=l*r-n*s,t[5]=c*r-o*s,t[6]=u*r-a*s,t[7]=d*r-h*s,t}},function(t,e){t.exports=function(t,e,i){var s=i[0],r=i[1],n=i[2];return t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},function(t,e,i){"use strict";const s=i(17),r=i(29),n=i(4);let o=0;const a={};"undefined"!=typeof window&&(a.create=i(6));class h extends s{constructor(t,e){t||((t=document.createElement("div")).className="TimeGroup-"+o++),super(t,e),this.name=this.name||t.getAttribute("data-anim-time-group"),this._isPaused=!0,this._repeats=0,this._isReversed=!1,this._timeScale=1,this._chapterPlayer=new r(this),this.now=performance.now()}finalizeInit(){if(!this.anim)throw"TimeGroup not instantiated correctly. Please use `AnimSystem.createTimeGroup(el)`";this.onPlayTimeUpdate=this.onPlayTimeUpdate.bind(this),super.finalizeInit()}progress(t){if(void 0===t)return 0===this.boundsMax?0:this.position.local/this.boundsMax;let e=t*this.boundsMax;this.timelineUpdateRequired=!0,this.updateTimeline(e)}time(t){if(void 0===t)return this.position.local;t=n.clamp(t,this.boundsMin,this.duration),this.timelineUpdateRequired=!0,this.updateTimeline(t)}play(t){this.reversed(!1),this.isEnabled=!0,this._isPaused=!1,this.time(t),this.now=performance.now(),this._playheadEmitter.run()}reverse(t){this.reversed(!0),this.isEnabled=!0,this._isPaused=!1,this.time(t),this.now=performance.now(),this._playheadEmitter.run()}reversed(t){if(void 0===t)return this._isReversed;this._isReversed=t}restart(){this._isReversed?(this.progress(1),this.reverse(this.time())):(this.progress(0),this.play(this.time()))}pause(t){this.time(t),this._isPaused=!0}paused(t){return void 0===t?this._isPaused:(this._isPaused=t,this._isPaused||this.play(),this)}onPlayTimeUpdate(){if(this._isPaused)return;let t=performance.now(),e=(t-this.now)/1e3;this.now=t,this._isReversed&&(e=-e);let i=this.time()+e*this._timeScale;if(this._repeats===h.REPEAT_FOREVER||this._repeats>0){let t=!1;!this._isReversed&&i>this.boundsMax?(i-=this.boundsMax,t=!0):this._isReversed&&i<0&&(i=this.boundsMax+i,t=!0),t&&(this._repeats=this._repeats===h.REPEAT_FOREVER?h.REPEAT_FOREVER:this._repeats-1)}this.time(i);let s=!this._isReversed&&this.position.local!==this.duration,r=this._isReversed&&0!==this.position.local;s||r?this._playheadEmitter.run():this.paused(!0)}updateProgress(t){this.hasDuration()?(this.position.localUnclamped=t,this.position.local=n.clamp(this.position.localUnclamped,this.boundsMin,this.boundsMax)):this.position.local=this.position.localUnclamped=0}updateBounds(){if(0===this.keyframeControllers.length)return this.boundsMin=0,void(this.boundsMax=0);let t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};for(let e=0,i=this.keyframeControllers.length;e<i;e++)this.keyframeControllers[e].getBounds(t);this.boundsMin=0,this.boundsMax=t.max,this.viewableRange.a=this.viewableRange.b=0,this.viewableRange.c=this.viewableRange.d=this.boundsMax,this.timelineUpdateRequired=!0}setupRAFEmitter(t){this._playheadEmitter=new a.create,this._playheadEmitter.on("update",this.onPlayTimeUpdate),super.setupRAFEmitter(t)}get duration(){return this.keyframesDirty&&this.onKeyframesDirty({silent:!0}),this.boundsMax}timeScale(t){return void 0===t?this._timeScale:(this._timeScale=t,this)}repeats(t){if(void 0===t)return this._repeats;this._repeats=t}getPosition(){return this.position.local}addChapter(t){return this._chapterPlayer.addChapter(t)}playToChapter(t){this._chapterPlayer.playToChapter(t)}convertScrollPositionToTValue(t){return t}convertTValueToScrollPosition(t){return t}hasDuration(){return this.duration>0}destroy(){this._playheadEmitter.destroy(),this._playheadEmitter=null,super.destroy()}get timelineProgress(){return this.progress()}set timelineProgress(t){this.progress(t)}get progressValue(){return this.progress()}set progressValue(t){this.progress(t)}get timeValue(){return this.time()}set timeValue(t){this.time(t)}}h.REPEAT_FOREVER=-1,t.exports=h},function(t,e,i){"use strict";const s=i(17),r=(i(29),i(4));let n=0;const o={};"undefined"!=typeof window&&(o.create=i(6));t.exports=class extends s{constructor(t,e){t||((t=document.createElement("div")).className="TweenGroup-"+n++),super(t,e),this.name="Tweens",this.keyframes=[],this._isPaused=!1,this.now=performance.now()}finalizeInit(){this.onTimeEmitterUpdate=this.onTimeEmitterUpdate.bind(this),this.removeExpiredKeyframeControllers=this.removeExpiredKeyframeControllers.bind(this),super.finalizeInit()}destroy(){this._timeEmitter.destroy(),this._timeEmitter=null,this._keyframes=[],super.destroy()}setupRAFEmitter(t){this.now=performance.now(),this._timeEmitter=new o.create,this._timeEmitter.on("update",this.onTimeEmitterUpdate),this._timeEmitter.run(),super.setupRAFEmitter(t)}addKeyframe(t,e){if(void 0!==e.start||void 0!==e.end)throw Error("Tweens do not have a start or end, they can only have a duration. Consider using a TimeGroup instead");if("number"!=typeof e.duration)throw Error("Tween options.duration is undefined, or is not a number");let i,s;e.start=(e.delay||0)+this.position.localUnclamped,e.end=e.start+e.duration,e.preserveState=!0,e.snapAtCreation=!0,t._animInfo&&(i=t._animInfo.group,s=t._animInfo.controller);let r=super.addKeyframe(t,e);return t._animInfo.group=i,t._animInfo.controller=s,e.onStart&&r.controller.once("draw",(t=>{t.keyframe=r,e.onStart(t),t.keyframe=null})),e.onDraw&&r.controller.on("draw",(t=>{t.keyframe=r,e.onDraw(t),t.keyframe=null})),this.removeOverlappingProps(r),this.keyframes.push(r),this._timeEmitter.willRun()||(this.now=performance.now(),this._timeEmitter.run()),r}removeOverlappingProps(t){if(t.controller._allKeyframes.length<=1)return;let e=Object.keys(t.animValues),i=t.controller;for(let s=0,r=i._allKeyframes.length;s<r;s++){const r=i._allKeyframes[s];if(r===t)continue;if(r.markedForRemoval)continue;let n=Object.keys(r.animValues),o=n.filter((t=>e.includes(t)));o.length!==n.length?o.forEach((t=>delete r.animValues[t])):r.markedForRemoval=!0}}onTimeEmitterUpdate(t){if(this._isPaused||0===this.keyframeControllers.length)return;let e=performance.now(),i=(e-this.now)/1e3;this.now=e;let s=this.position.local+i;this.position.local=this.position.localUnclamped=s,this.onTimeUpdate()}onTimeUpdate(){for(let t=0,e=this.keyframes.length;t<e;t++)this.keyframes[t].updateLocalProgress(this.position.localUnclamped);this.requestDOMChange(),this._timeEmitter.run(),null!==this.gui&&this.gui.onScrollUpdate(this.position)}onDOMRead(){if(this.keyframesDirty&&this.onKeyframesDirty(),0!==this.keyframes.length)for(let t=0,e=this.keyframes.length;t<e;t++){this.keyframes[t].controller.needsWrite=!0;for(let e in this.keyframes[t].animValues)this.keyframes[t].onDOMRead(e)}}onDOMWrite(){super.onDOMWrite(),this.removeExpiredKeyframes()}removeExpiredKeyframes(){let t=this.keyframes.length,e=t;for(;t--;){let e=this.keyframes[t];e.destroyed?this.keyframes.splice(t,1):(e.markedForRemoval&&(e.jsonProps.onComplete&&1===e.localT&&(e.controller.eventObject.keyframe=e,e.jsonProps.onComplete(e.controller.eventObject),e.jsonProps.onComplete=null),null!==this.gui&&this.gui.isDraggingPlayhead||(e.remove(),this.keyframes.splice(t,1))),1===e.localT&&(e.markedForRemoval=!0))}this.keyframes.length===e&&0!==this.keyframes.length||this._timeEmitter.executor.eventEmitter.once("after:draw",this.removeExpiredKeyframeControllers)}removeExpiredKeyframeControllers(){for(let t=0,e=this.keyframeControllers.length;t<e;t++){let e=!0,i=this.keyframeControllers[t];for(let t=0,s=i._allKeyframes.length;t<s;t++)if(!i._allKeyframes[t].destroyed){e=!1;break}e&&i.remove()}}updateBounds(){this.boundsMin=Math.min(...this.keyframes.map((t=>t.start))),this.boundsMax=Math.max(...this.keyframes.map((t=>t.end)))}play(){this.isEnabled=!0,this._isPaused=!1,this.now=performance.now(),this._timeEmitter.run()}pause(){this._isPaused=!0}paused(){return this._isPaused}time(t){if(void 0===t)return this.position.local;this.position.local=this.position.localUnclamped=r.clamp(t,this.boundsMin,this.boundsMax),this.onTimeUpdate()}performTimelineDispatch(){}hasDuration(){return!0}getPosition(){return this.position.local}updateProgress(t){}get duration(){return this.boundsMax}}},function(t,e,i){"use strict";t.exports={version:"3.6.0",major:"3.x",majorMinor:"3.6"}},function(t,e,i){"use strict";var s=i(8);t.exports=s.cancelAnimationFrame("update")},function(t,e,i){"use strict";const s=i(2).EventEmitterMicro,r=i(77),n=i(18),o=i(1),a=i(30),h={};class l extends s{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.el=t,this.anim=n,this.componentAttribute=e.attribute||"data-component-list",this.components=[],this.componentsInitialized=!1,this.el.getAttribute("data-anim-scroll-group")||this.el.setAttribute("data-anim-scroll-group","bubble-gum-group"),r.add((()=>{n.initialize().then((()=>{this.initComponents(),this.setupEvents(),this.components.forEach((t=>t.mounted())),this.trigger(l.EVENTS.DOM_COMPONENTS_MOUNTED)}))}))}initComponents(){const t=Array.prototype.slice.call(this.el.querySelectorAll(`[${this.componentAttribute}]`));this.el.hasAttribute(this.componentAttribute)&&t.push(this.el);for(let e=0;e<t.length;e++){let i=t[e],s=i.getAttribute(this.componentAttribute).split(" ");for(let t=0,e=s.length;t<e;t++){let e=s[t];""!==e&&" "!==e&&this.addComponent({el:i,componentName:e})}}this.componentsInitialized=!0}setupEvents(){this.onResizeDebounced=this.onResizeDebounced.bind(this),this.onResizeImmediate=this.onResizeImmediate.bind(this),this.onBreakpointChange=this.onBreakpointChange.bind(this),n.on(o.PageEvents.ON_RESIZE_IMMEDIATE,this.onResizeImmediate),n.on(o.PageEvents.ON_RESIZE_DEBOUNCED,this.onResizeDebounced),n.on(o.PageEvents.ON_BREAKPOINT_CHANGE,this.onBreakpointChange)}addComponent(t){const{el:e,componentName:i,data:s}=t;if(!a.hasOwnProperty(i))throw"BubbleGum::addComponent could not add component to '"+e.className+"'. No component type '"+i+"' found!";const r=a[i];if(!l.componentIsSupported(r,i))return void 0===h[i]&&(console.log("BubbleGum::addComponent unsupported component '"+i+"'. Reason: '"+i+".IS_SUPPORTED' returned false"),h[i]=!0),null;let n=e.dataset.componentList||"";n.includes(i)||(e.dataset.componentList=n.split(" ").concat(i).join(" "));let c=new r({el:e,data:s,componentName:t.componentName,gum:this,pageMetrics:o.pageMetrics});return this.components.push(c),this.componentsInitialized&&c.mounted(),c}removeComponent(t){const e=this.components.indexOf(t);-1!==e&&(this.components.splice(e,1),t.el.dataset.componentList=t.el.dataset.componentList.split(" ").filter((e=>e!==t.componentName)).join(" "),t.destroy())}getComponentOfType(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.documentElement;const i=`[${this.componentAttribute}*=${t}]`,s=e.matches(i)?e:e.querySelector(i);return s?this.components.find((e=>e instanceof a[t]&&e.el===s)):null}getComponentsOfType(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.documentElement;const i=`[${this.componentAttribute}*=${t}]`,s=e.matches(i)?[e]:Array.from(e.querySelectorAll(i));return this.components.filter((e=>e instanceof a[t]&&s.includes(e.el)))}getComponentsForElement(t){return this.components.filter((e=>e.el===t))}onResizeImmediate(){this.components.forEach((t=>t.onResizeImmediate(o.pageMetrics)))}onResizeDebounced(){this.components.forEach((t=>t.onResizeDebounced(o.pageMetrics)))}onBreakpointChange(){this.components.forEach((t=>t.onBreakpointChange(o.pageMetrics)))}static componentIsSupported(t,e){const i=t.IS_SUPPORTED;if(void 0===i)return!0;if("function"!=typeof i)return console.error('BubbleGum::addComponent error in "'+e+'".IS_SUPPORTED - it should be a function which returns true/false'),!0;const s=t.IS_SUPPORTED();return void 0===s?(console.error('BubbleGum::addComponent error in "'+e+'".IS_SUPPORTED - it should be a function which returns true/false'),!0):s}}l.EVENTS={DOM_COMPONENTS_MOUNTED:"DOM_COMPONENTS_MOUNTED"},t.exports=l},function(t,e,i){"use strict";let s=!1,r=!1,n=[],o=-1;t.exports={NUMBER_OF_FRAMES_TO_WAIT:30,add:function(t){if(r&&t(),n.push(t),s)return;s=!0;let e=document.documentElement.scrollHeight,i=0;const a=()=>{let t=document.documentElement.scrollHeight;if(e!==t)i=0;else if(i++,i>=this.NUMBER_OF_FRAMES_TO_WAIT)return void n.forEach((t=>t()));e=t,o=requestAnimationFrame(a)};o=requestAnimationFrame(a)},reset(){cancelAnimationFrame(o),s=!1,r=!1,n=[]}}},function(t,e,i){"use strict";const s=i(2).EventEmitterMicro,r=i(1),n={create:i(6),update:i(7),draw:i(10)},o=()=>{};let a=0;t.exports=class extends s{constructor(t){super(),this.el=t.el,this.gum=t.gum,this.componentName=t.componentName,this._keyframeController=null}destroy(){this.el=null,this.gum=null,this._keyframeController=null,super.destroy()}addKeyframe(t){const e=t.el||this.el;return(t.group||this.anim).addKeyframe(e,t)}addDiscreteEvent(t){t.event=t.event||"Generic-Event-Name-"+a++;let e=void 0!==t.end&&t.end!==t.start;const i=this.addKeyframe(t);return e?(t.onEnterOnce&&i.controller.once(t.event+":enter",t.onEnterOnce),t.onExitOnce&&i.controller.once(t.event+":exit",t.onExitOnce),t.onEnter&&i.controller.on(t.event+":enter",t.onEnter),t.onExit&&i.controller.on(t.event+":exit",t.onExit)):(t.onEventOnce&&i.controller.once(t.event,t.onEventOnce),t.onEventReverseOnce&&i.controller.once(t.event+":reverse",t.onEventReverseOnce),t.onEvent&&i.controller.on(t.event,t.onEvent),t.onEventReverse&&i.controller.on(t.event+":reverse",t.onEventReverse)),i}addRAFLoop(t){let e=["start","end"];if(!e.every((e=>t.hasOwnProperty(e))))return void console.log("BubbleGum.BaseComponent::addRAFLoop required options are missing: "+e.join(" "));const i=new n.create;i.on("update",t.onUpdate||o),i.on("draw",t.onDraw||o),i.on("draw",(()=>i.run()));const{onEnter:s,onExit:r}=t;return t.onEnter=()=>{i.run(),s&&s()},t.onExit=()=>{i.cancel(),r&&r()},this.addDiscreteEvent(t)}addContinuousEvent(t){t.onDraw||console.log("BubbleGum.BaseComponent::addContinuousEvent required option `onDraw` is missing. Consider using a regular keyframe if you do not need a callback"),t.event=t.event||"Generic-Event-Name-"+a++;let e=this.addKeyframe(t);return e.controller.on(t.event,t.onDraw),e}mounted(){}onResizeImmediate(t){}onResizeDebounced(t){}onBreakpointChange(t){}get anim(){return this.gum.anim}get keyframeController(){return this._keyframeController||(this._keyframeController=this.anim.getControllerForTarget(this.el))}get pageMetrics(){return r.pageMetrics}}},function(t,e,i){"use strict";t.exports={}},function(t,e,i){"use strict";const s=i(81),r=document.getElementById("chapternav");r&&(t.exports=new s(r))},function(t,e,i){"use strict";const s=i(82).ScrollContainer,r={componentName:"chapternav",scrollEasing:"ease-out",scrollDuration:.4,usePaddles:!0};t.exports=class{constructor(t,e){return this.el=t,e=Object.assign({},r,e),this.options={componentName:e.componentName,itemsSelector:e.itemsSelector||`.${e.componentName}-items`,itemSelector:e.itemSelector||`.${e.componentName}-link`,itemLabelSelector:e.itemLabelSelector||`.${e.componentName}-label`,itemNewSelector:e.itemNewSelector||`.${e.componentName}-new`,leftPaddleSelector:e.leftPaddleSelector||`.${e.componentName}-paddle-left`,rightPaddleSelector:e.rightPaddleSelector||`.${e.componentName}-paddle-right`,tallClass:e.tallClass||`${e.componentName}-tall`,scrollEasing:e.scrollEasing,scrollDuration:e.scrollDuration,usePaddles:e.usePaddles},this.setChapternavTall(this.isChapternavTall()),new s(this.el,this.options)}isChapternavTall(){const t=this.el.querySelectorAll(this.options.itemSelector);let e=!1;return t.forEach((t=>{const i=t.querySelector(this.options.itemLabelSelector),s=!!t.querySelector(this.options.itemNewSelector),r=i.getElementsByTagName("BR").length>0;s&&r&&(e=!0)})),e}setChapternavTall(t){!0===t?this.el.classList.add(this.options.tallClass):this.el.classList.remove(this.options.tallClass)}}},function(t,e,i){"use strict";var s=i(83);t.exports={ScrollContainer:s}},function(t,e,i){"use strict";var s=i(31),r=i(84),n=i(85),o=i(99),a=i(100);function h(t,e){this.el=t,this._options=e||{},this._wrapper=this.el.querySelector(this._options.itemsSelector),this._items=Array.prototype.slice.call(this.el.querySelectorAll(this._options.itemSelector)),this.lastCenteredItem=this._items[0],this._isRightToLeft="rtl"===window.getComputedStyle(t).direction,this._inlineStart=this._isRightToLeft?"right":"left",this._inlineEnd=this._isRightToLeft?"left":"right",this._scrollType=this._scrollDirection(),this._usePaddles=void 0===this._options.usePaddles||this._options.usePaddles,this.centerItem=this.centerItem.bind(this),this._init()}var l=h.prototype;l._init=function(){this._usePaddles&&this._setupPaddles()},l.centerItem=function(t,e){this.lastCenteredItem=t;var i=.5*s(this.el).width,n=r(t).left+.5*s(t).width,o=Math.round(n-i);e?this.el.scrollLeft=this._setNormalizedScroll(o):(this._destroyCurrentClip(),this._isRightToLeft&&(o*=-1),this._smoothScrollTo(o))},l._getPaddles=function(){var t=this._isRightToLeft?this._options.rightPaddleSelector:this._options.leftPaddleSelector,e=this._isRightToLeft?this._options.leftPaddleSelector:this._options.rightPaddleSelector;return{start:this.el.querySelector(t),end:this.el.querySelector(e)}},l._setupPaddles=function(){this.el.classList.add("with-paddles"),this._paddles=this._getPaddles(),this._children=this._wrapper.children,this._childCount=this._wrapper.children.length,this._onScrollClipComplete=this._onScrollClipComplete.bind(this),this._onPaddleStartClick=this._onPaddleStartClick.bind(this),this._paddles.start.addEventListener("click",this._onPaddleStartClick),this._onPaddleEndClick=this._onPaddleEndClick.bind(this),this._paddles.end.addEventListener("click",this._onPaddleEndClick),this._onScroll=this._onScroll.bind(this),this._wrapper.addEventListener("scroll",this._onScroll),this._updateElementMetrics=this._updateElementMetrics.bind(this),window.addEventListener("resize",this._updateElementMetrics),window.addEventListener("orientationchange",this._updateElementMetrics),this._updateElementMetrics()},l._updateElementMetrics=function(){this._wrapperWidth=this._wrapper.offsetWidth,this._contentWidth=this._wrapper.scrollWidth,this._contentWidth<=this._wrapperWidth&&(this._destroyCurrentClip(),0!==this._wrapper.scrollLeft&&(this._wrapper.scrollLeft=0)),this._scrollStart=this._wrapper.scrollLeft,this._usePaddles&&(this._paddleWidth=this._paddles.start.offsetWidth,this._updatePaddleDisplay())},l._onScroll=function(){this._lockPaddles||(this._scrollStart=this._wrapper.scrollLeft,this._updatePaddleDisplay())},l._updatePaddleDisplay=function(){var t=this._getNormalizedScroll(this._scrollStart)+this._wrapperWidth;this._paddles.start.disabled=this._getNormalizedScroll(this._scrollStart)<=1,this._paddles.end.disabled=t>=this._contentWidth-1},l._onPaddleStartClick=function(t){this._smoothScrollTo(this._getPaddleStartScrollDestination())},l._getPaddleStartScrollDestination=function(){var t,e,i=this._getNormalizedScroll(this._scrollStart);for(e=this._childCount-1;e>0;e--)if((t=this._normalizePosition(r(this._children[e])))[this._inlineStart]<i)return t[this._inlineEnd]-this._wrapperWidth;return 0},l._onPaddleEndClick=function(t){this._smoothScrollTo(this._getPaddleEndScrollDestination())},l._getPaddleEndScrollDestination=function(){var t,e,i=this._getNormalizedScroll(this._scrollStart)+this._wrapperWidth;for(e=0;e<this._childCount;e++)if((t=this._normalizePosition(r(this._children[e])))[this._inlineEnd]>i)return t[this._inlineStart];return this._contentWidth},l._getBoundedScrollX=function(t){var e=this._contentWidth-this._wrapperWidth;return Math.max(Math.min(t,e),0)},l._smoothScrollTo=function(t){if(this._updateElementMetrics(),!this._lockPaddles&&t!==this._scrollStart){var e=this._wrapper.scrollLeft,i={ease:o.fromCSSString(a[this._options.scrollEasing]),draw:i=>{this._wrapper.scrollLeft=((t,e,i)=>t*(i-e)+e)(i,e,this._setNormalizedScroll(t))}};this._usePaddles&&(this._lockPaddles=!0),this._clip=new n(this._options.scrollDuration,i),this._clip.play().then((()=>{this._destroyCurrentClip(),this._clip=null,this._usePaddles&&this._onScrollClipComplete()}))}},l._onScrollClipComplete=function(){this._updatePaddleDisplay(),this._lockPaddles=!1,this._onScroll()},l._scrollDirection=function(){var t="reverse",e=document.createElement("div");return e.style.cssText="width:2px; height:1px; position:absolute; top:-1000px; overflow:scroll; font-size: 14px;",e.style.direction="rtl",e.innerHTML="test",document.body.appendChild(e),e.scrollLeft>0?t="default":(e.scrollLeft=1,0===e.scrollLeft&&(t="negative")),document.body.removeChild(e),t},l._getNormalizedScroll=function(t){if(!this._isRightToLeft)return t;var e=Math.abs(t);return"default"===this._scrollType&&(e=this._contentWidth-this._wrapperWidth-e),e},l._setNormalizedScroll=function(t){var e=this._getBoundedScrollX(t);return this._isRightToLeft&&"reverse"!==this._scrollType?"negative"===this._scrollType?-e:-(e-this._contentWidth+this._wrapperWidth):e},l._normalizePosition=function(t){return this._isRightToLeft?{top:t.top,right:this._wrapperWidth-t.right+this._paddleWidth,bottom:t.bottom,left:this._wrapperWidth-t.left+this._paddleWidth}:{top:t.top,right:t.right-this._paddleWidth,bottom:t.bottom,left:t.left-this._paddleWidth}},l._destroyCurrentClip=function(){this._clip&&this._clip._isPlaying&&(this._clip.destroy(),this._lockPaddles=!1)},l._destroyPaddles=function(){this._paddles.start.removeEventListener("click",this._onPaddleStartClick),this._paddles.end.removeEventListener("click",this._onPaddleEndClick),this._wrapper.removeEventListener("scroll",this._onScroll),this._paddles=null},l.destroy=function(){this._items=null,this._destroyCurrentClip(),this._destroyPaddles(),window.removeEventListener("resize",this._updateElementMetrics),window.removeEventListener("orientationchange",this._updateElementMetrics)},t.exports=h},function(t,e,i){"use strict";var s=i(31);t.exports=function(t,e){var i,r,n,o,a,h,l;return e?(r=(i=t.getBoundingClientRect()).top,n=i.left,o=i.width,a=i.height,t.offsetParent&&(r-=(h=t.offsetParent.getBoundingClientRect()).top,n-=h.left)):(l=s(t,e),r=t.offsetTop,n=t.offsetLeft,o=l.width,a=l.height),{top:r,right:n+o,bottom:r+a,left:n}}},function(t,e,i){"use strict";const s=i(86),r=i(94),n=i(95),o=i(96),a=i(97),h=i(98);t.exports=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof t||!isFinite(t))throw new TypeError(`Clip duration must be a finite number; got "${t}"`);"function"==typeof e&&(e={draw:e}),this.ease=o(e.ease),this.update=o(e.update),this.draw=e.draw,this.prepare=o(e.prepare),this.finish=o(e.finish),this._duration=1e3*t,this._startTime=null,this._isPrepared=!1,this._promise=null,this._isPlaying=!1}get isReversed(){return this._duration<0}get isComplete(){const t=this.progress;return!this.isReversed&&t>=1||this.isReversed&&t<=0}get progress(){if(0===this._duration)return 1;let t=(this.lastFrameTime-this._startTime)/this._duration;return this.isReversed&&(t=1+t),h(t,0,1)}get easedProgress(){return this.ease?this.ease(this.progress):this.progress}_run(t,e){this.lastFrameTime=Date.now(),null===this._startTime&&(this._startTime=this.lastFrameTime);const i=this.easedProgress;this.update&&s((()=>this._isPlaying&&this.update(i))),r((()=>{this._isPlaying&&(this.draw(i),this.isComplete?a(r,[this.finish,e]):this._run(this,e))}))}play(){if("function"!=typeof this.draw)throw new Error('Clip must be given a "draw" function as an option or have its "draw" method overriden.');return this._isPlaying=!0,this._promise||(this._promise=new Promise(((t,e)=>{!this._isPrepared&&this.prepare?(this._isPrepared=!0,r((()=>n(this.prepare(),(()=>{this._run(this,t)}))))):this._run(this,t)}))),this._promise}destroy(){this._isPlaying=!1,this.draw=this.finish=this.update=null}static play(){return new this(...arguments).play()}}},function(t,e,i){"use strict";var s=i(32);t.exports=s.requestAnimationFrame("update")},function(t,e,i){"use strict";var s=i(88),r=function(t){this.rafEmitter=new s,this.rafEmitter.on(t,this._onRAFExecuted.bind(this)),this.requestAnimationFrame=this.requestAnimationFrame.bind(this),this.cancelAnimationFrame=this.cancelAnimationFrame.bind(this),this._frameCallbacks=[],this._nextFrameCallbacks=[],this._currentFrameID=-1,this._cancelFrameIdx=-1,this._frameCallbackLength=0,this._nextFrameCallbacksLength=0,this._frameCallbackIteration=0},n=r.prototype;n.requestAnimationFrame=function(t){return this._currentFrameID=this.rafEmitter.run(),this._nextFrameCallbacks.push(this._currentFrameID,t),this._nextFrameCallbacksLength+=2,this._currentFrameID},n.cancelAnimationFrame=function(t){this._cancelFrameIdx=this._nextFrameCallbacks.indexOf(t),-1!==this._cancelFrameIdx&&(this._nextFrameCallbacks.splice(this._cancelFrameIdx,2),this._nextFrameCallbacksLength-=2,0===this._nextFrameCallbacksLength&&this.rafEmitter.cancel())},n._onRAFExecuted=function(t){for(this._frameCallbacks=this._nextFrameCallbacks,this._frameCallbackLength=this._nextFrameCallbacksLength,this._nextFrameCallbacks=[],this._nextFrameCallbacksLength=0,this._frameCallbackIteration=0;this._frameCallbackIteration<this._frameCallbackLength;this._frameCallbackIteration+=2)this._frameCallbacks[this._frameCallbackIteration+1](t.time,t)},t.exports=r},function(t,e,i){"use strict";var s=i(89),r=function(t){s.call(this,t)};(r.prototype=Object.create(s.prototype))._subscribe=function(){return this.executor.subscribe(this,!0)},t.exports=r},function(t,e,i){"use strict";var s,r=i(2).EventEmitterMicro,n=i(90),o=i(93);function a(t){t=t||{},r.call(this),this.id=o.getNewID(),this.executor=t.executor||n,this._reset(),this._willRun=!1,this._didDestroy=!1}(s=a.prototype=Object.create(r.prototype)).run=function(){return this._willRun||(this._willRun=!0),this._subscribe()},s.cancel=function(){this._unsubscribe(),this._willRun&&(this._willRun=!1),this._reset()},s.destroy=function(){var t=this.willRun();return this.cancel(),this.executor=null,r.prototype.destroy.call(this),this._didDestroy=!0,t},s.willRun=function(){return this._willRun},s.isRunning=function(){return this._isRunning},s._subscribe=function(){return this.executor.subscribe(this)},s._unsubscribe=function(){return this.executor.unsubscribe(this)},s._onAnimationFrameStart=function(t){this._isRunning=!0,this._willRun=!1,this._didEmitFrameData||(this._didEmitFrameData=!0,this.trigger("start",t))},s._onAnimationFrameEnd=function(t){this._willRun||(this.trigger("stop",t),this._reset())},s._reset=function(){this._didEmitFrameData=!1,this._isRunning=!1},t.exports=a},function(t,e,i){"use strict";var s=i(9).SharedInstance,r=i(91);t.exports=s.share("ac-raf-executor:sharedRAFExecutorInstance","2.0.1",r)},function(t,e,i){"use strict";var s;function r(t){t=t||{},this._reset(),this._willRun=!1,this._totalSubscribeCount=-1,this._requestAnimationFrame=window.requestAnimationFrame,this._cancelAnimationFrame=window.cancelAnimationFrame,this._boundOnAnimationFrame=this._onAnimationFrame.bind(this),this._boundOnExternalAnimationFrame=this._onExternalAnimationFrame.bind(this)}i(92),(s=r.prototype).subscribe=function(t,e){return this._totalSubscribeCount++,this._nextFrameSubscribers[t.id]||(e?this._nextFrameSubscribersOrder.unshift(t.id):this._nextFrameSubscribersOrder.push(t.id),this._nextFrameSubscribers[t.id]=t,this._nextFrameSubscriberArrayLength++,this._nextFrameSubscriberCount++,this._run()),this._totalSubscribeCount},s.unsubscribe=function(t){return!!this._nextFrameSubscribers[t.id]&&(this._nextFrameSubscribers[t.id]=null,this._nextFrameSubscriberCount--,0===this._nextFrameSubscriberCount&&this._cancel(),!0)},s.trigger=function(t,e){var i;for(i=0;i<this._subscriberArrayLength;i++)null!==this._subscribers[this._subscribersOrder[i]]&&!1===this._subscribers[this._subscribersOrder[i]]._didDestroy&&this._subscribers[this._subscribersOrder[i]].trigger(t,e)},s.destroy=function(){var t=this._cancel();return this._subscribers=null,this._subscribersOrder=null,this._nextFrameSubscribers=null,this._nextFrameSubscribersOrder=null,this._rafData=null,this._boundOnAnimationFrame=null,this._onExternalAnimationFrame=null,t},s.useExternalAnimationFrame=function(t){if("boolean"==typeof t){var e=this._isUsingExternalAnimationFrame;return t&&this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),!this._willRun||t||this._animationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this._isUsingExternalAnimationFrame=t,t?this._boundOnExternalAnimationFrame:e||!1}},s._run=function(){if(!this._willRun)return this._willRun=!0,0===this.lastFrameTime&&(this.lastFrameTime=performance.now()),this._animationFrameActive=!0,this._isUsingExternalAnimationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),!0},s._cancel=function(){var t=!1;return this._animationFrameActive&&(this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),this._animationFrameActive=!1,this._willRun=!1,t=!0),this._isRunning||this._reset(),t},s._onSubscribersAnimationFrameStart=function(t){var e;for(e=0;e<this._subscriberArrayLength;e++)null!==this._subscribers[this._subscribersOrder[e]]&&!1===this._subscribers[this._subscribersOrder[e]]._didDestroy&&this._subscribers[this._subscribersOrder[e]]._onAnimationFrameStart(t)},s._onSubscribersAnimationFrameEnd=function(t){var e;for(e=0;e<this._subscriberArrayLength;e++)null!==this._subscribers[this._subscribersOrder[e]]&&!1===this._subscribers[this._subscribersOrder[e]]._didDestroy&&this._subscribers[this._subscribersOrder[e]]._onAnimationFrameEnd(t)},s._onAnimationFrame=function(t){this._subscribers=this._nextFrameSubscribers,this._subscribersOrder=this._nextFrameSubscribersOrder,this._subscriberArrayLength=this._nextFrameSubscriberArrayLength,this._subscriberCount=this._nextFrameSubscriberCount,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this._isRunning=!0,this._willRun=!1,this._didRequestNextRAF=!1,this._rafData.delta=t-this.lastFrameTime,this.lastFrameTime=t,this._rafData.fps=0,this._rafData.delta>=1e3&&(this._rafData.delta=0),0!==this._rafData.delta&&(this._rafData.fps=1e3/this._rafData.delta),this._rafData.time=t,this._rafData.naturalFps=this._rafData.fps,this._rafData.timeNow=Date.now(),this._onSubscribersAnimationFrameStart(this._rafData),this.trigger("update",this._rafData),this.trigger("external",this._rafData),this.trigger("draw",this._rafData),this._onSubscribersAnimationFrameEnd(this._rafData),this._willRun||this._reset()},s._onExternalAnimationFrame=function(t){this._isUsingExternalAnimationFrame&&this._onAnimationFrame(t)},s._reset=function(){this._rafData={time:0,delta:0,fps:0,naturalFps:0,timeNow:0},this._subscribers={},this._subscribersOrder=[],this._subscriberArrayLength=0,this._subscriberCount=0,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this._didEmitFrameData=!1,this._animationFrame=null,this._animationFrameActive=!1,this._isRunning=!1,this._shouldReset=!1,this.lastFrameTime=0},t.exports=r},function(t,e){},function(t,e,i){"use strict";var s=i(9).SharedInstance,r=function(){this._currentID=0};r.prototype.getNewID=function(){return this._currentID++,"raf:"+this._currentID},t.exports=s.share("ac-raf-emitter-id-generator:sharedRAFEmitterIDGeneratorInstance","1.0.3",r)},function(t,e,i){"use strict";var s=i(32);t.exports=s.requestAnimationFrame("draw")},function(t,e,i){"use strict";t.exports=function(t,e){t instanceof Promise?t.then(e):e()}},function(t,e,i){"use strict";t.exports=function(t){return"function"==typeof t?t:null}},function(t,e,i){"use strict";t.exports=function(t,e){const i=e.length;let s=0;!function r(){"function"==typeof e[s]&&t(e[s]),s++,s<i&&r()}()}},function(t,e,i){"use strict";t.exports=function(t,e,i){return Math.min(Math.max(t,e),i)}},function(t,e,i){"use strict";const s=1e-5,r=Math.abs;class n{constructor(t,e,i,s){this.cp=new Float32Array(6),this.cp[0]=3*t,this.cp[1]=3*(i-t)-this.cp[0],this.cp[2]=1-this.cp[0]-this.cp[1],this.cp[3]=3*e,this.cp[4]=3*(s-e)-this.cp[3],this.cp[5]=1-this.cp[3]-this.cp[4]}sampleCurveX(t){return((this.cp[2]*t+this.cp[1])*t+this.cp[0])*t}sampleCurveY(t){return((this.cp[5]*t+this.cp[4])*t+this.cp[3])*t}sampleCurveDerivativeX(t){return(3*this.cp[2]*t+2*this.cp[1])*t+this.cp[0]}solveCurveX(t){var e,i,n,o,a,h;for(n=t,h=0;h<5;h++){if(o=this.sampleCurveX(n)-t,r(o)<s)return n;if(a=this.sampleCurveDerivativeX(n),r(a)<s)break;n-=o/a}if((n=t)<(e=0))return e;if(n>(i=1))return i;for(;e<i;){if(o=this.sampleCurveX(n),r(o-t)<s)return n;t>o?e=n:i=n,n=.5*(i-e)+e}return n}solve(t){return this.sampleCurveY(this.solveCurveX(t))}}const o=/\d*\.?\d+/g;n.fromCSSString=function(t){let e=t.match(o);if(4!==e.length)throw`UnitBezier could not convert ${t} to cubic-bezier`;let i=e.map(Number),s=new n(i[0],i[1],i[2],i[3]);return s.solve.bind(s)},t.exports=n},function(t,e,i){"use strict";const s={easeInCubic:"cubic-bezier(0.42, 0.0, 1.0, 1.0)",easeOutCubic:"cubic-bezier(0.0, 0.0, 0.58, 1.0)",easeInOutCubic:"cubic-bezier(0.42, 0.0, 0.58, 1.0)",easeInCirc:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",easeOutCirc:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",easeInOutCirc:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",easeInExpo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",easeOutExpo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",easeInOutExpo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",easeInQuad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",easeOutQuad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",easeInOutQuad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",easeInQuart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",easeOutQuart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",easeInOutQuart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",easeInQuint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",easeOutQuint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",easeInOutQuint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",easeInSine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)",easeOutSine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)",easeInOutSine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)",easeInBack:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",easeOutBack:"cubic-bezier(0.175,  0.885, 0.320, 1.275)",easeInOutBack:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",linear:"cubic-bezier(0.0, 0.0, 1.0, 1.0)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1.0)","ease-in":"cubic-bezier(0.42, 0.0, 1.0, 1.0)","ease-out":"cubic-bezier(0.0, 0.0, 0.58, 1.0)","ease-in-out":"cubic-bezier(0.42, 0.0, 0.58, 1.0)"};t.exports=s},function(t,e,i){"use strict";function s(){this._createElements(),this._bindEvents()}var r=s.prototype;r._bindEvents=function(){this._onResize=this._resize.bind(this)},r._createElements=function(){this.span=document.createElement("span");var t=this.span.style;if(t.visibility="hidden",t.position="absolute",t.top="0",t.zIndex="-1",this.span.innerHTML="&nbsp;",!window.ResizeObserver){this.iframe=document.createElement("iframe");var e=this.iframe.style;e.position="absolute",e.top="0",e.left="0",e.width="100%",e.height="100%",this.span.appendChild(this.iframe)}document.body.appendChild(this.span)},r.detect=function(t){this.originalSize=t||17,this.currentSize=parseFloat(window.getComputedStyle(this.span)["font-size"]),this.currentSize>this.originalSize&&this._onResize(),this.isDetecting||(window.ResizeObserver?(this.resizeObserver=new ResizeObserver(this._onResize),this.resizeObserver.observe(this.span)):this.iframe.contentWindow.addEventListener("resize",this._onResize),this.isDetecting=!0)},r._resize=function(){this.currentSize=parseFloat(window.getComputedStyle(this.span)["font-size"]),this.originalSize<this.currentSize?document.documentElement.classList.add("text-zoom"):document.documentElement.classList.remove("text-zoom"),window.dispatchEvent(new Event("resize")),window.dispatchEvent(new CustomEvent("resize:text-zoom",{detail:this}))},r.getScale=function(){return this.currentSize/this.originalSize},r.remove=function(){this.isDetecting&&(this.resizeObserver&&this.resizeObserver.unobserve(this.span),this.iframe&&this.iframe.contentWindow.removeEventListener("resize",this._onResize),this.isDetecting=!1)},r.destroy=function(){this.remove(),this.span&&this.span.parentElement&&this.span.parentElement.removeChild(this.span),this.span=null,this.iframe=null,this.resizeObserver=null},t.exports=new s}]);