{"version":3,"sources":["webpack:///./node_modules/react-move/core/mergeKeys.js","webpack:///./node_modules/react-move/NodeGroup/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/react-move/Animate/index.js","webpack:///./src/pages/index.js","webpack:///./node_modules/react-move/utils.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/nuka-carousel/es/utilities/style-utilities.js","webpack:///./node_modules/nuka-carousel/es/default-controls.js","webpack:///./node_modules/nuka-carousel/es/utilities/utilities.js","webpack:///./node_modules/nuka-carousel/es/transitions/scroll-transition.js","webpack:///./node_modules/nuka-carousel/es/transitions/fade-transition.js","webpack:///./node_modules/nuka-carousel/es/transitions/3d-scroll-transition.js","webpack:///./node_modules/nuka-carousel/es/all-transitions.js","webpack:///./node_modules/nuka-carousel/es/announce-slide.js","webpack:///./node_modules/nuka-carousel/es/utilities/bootstrapping-utilities.js","webpack:///./node_modules/nuka-carousel/es/index.js","webpack:///./src/slices/HeroImage/index.js","webpack:///./src/slices/HeroVideo/index.js","webpack:///./src/components/HeroCarousel/index.js","webpack:///./node_modules/react-move/core/types.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/kapellmeister/es/utils.js","webpack:///./node_modules/kapellmeister/es/Events.js","webpack:///./node_modules/kapellmeister/es/BaseNode.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/kapellmeister/es/index.js","webpack:///./src/components/PartnerItem/index.js"],"names":["Object","defineProperty","exports","value","_default","currNodeKeys","currKeyIndex","nextNodeKeys","nextKeyIndex","allKeys","i","length","_i","undefined","push","sort","a","b","nextOrderA","nextOrderB","currOrderA","currOrderB","_i2","pivot","_i3","_pivot","_react","obj","__esModule","_typeof","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_kapellmeister","_interopRequireDefault","_mergeKeys","_types","_utils","WeakMap","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_inherits","subClass","superClass","create","_setPrototypeOf","p","_defineProperty","NodeGroup","_Component","_this","this","_this$state","state","nodeKeys","nodeHash","unmounting","pending","k","n","isTransitioning","type","LEAVE","interval","stop","setState","nodes","map","interpolation","Node","_BaseNode","data","_this2","ENTER","BaseNode","protoProps","staticProps","nextProps","prevState","keyAccessor","start","enter","update","leave","keyIndex","d","node","_k","UPDATE","mergedNodeKeys","_k2","_n","_d","transition","startInterval","prevProps","restart","animate","_this$state2","forEach","stopTransitions","renderedChildren","children","Children","only","Component","propTypes","defaultProps","numeric","canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","_NodeGroup","Animate","apply","arguments","_this$props","show","IntroSection","styled","div","rem","breakpoint","IntroContent","Col","LogoContainer","border","theme","global","width","style","color","grid","maxWidth","GridItem","LogoSectionTitle","h4","typography","weights","heading","normal","palette","colors","greyLight","App","prismic","allHomepages","partners","allPartners","page","edges","title","RichText","asText","seo_meta_title","description","seo_description","hero_items","items","content","render","linkResolver","partner","_meta","id","fragments","LinkFragment","query","beg","end","t","circleIn","Math","sqrt","circleOut","circleInOut","linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","custom","e","pow","exponent","polyOut","polyInOut","pi","PI","halfPi","sinIn","cos","sinOut","sin","sinInOut","expIn","expOut","expInOut","b0","bounceIn","bounceOut","bounceInOut","backIn","s","overshoot","backOut","backInOut","tau","elasticIn","asin","max","amplitude","period","elasticOut","elasticInOut","childCount","count","listWidth","slideWidth","spacingOffset","cellSpacing","calculatedHeight","vertical","slideHeight","heightMode","getAlignmentOffset","slideIndex","config","offset","cellAlign","frameWidth","getDecoratorStyles","position","top","left","transform","WebkitTransform","msTransform","right","bottom","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","_createClass","defaultButtonStyles","disabled","background","padding","textTransform","opacity","cursor","_React$Component","PreviousButton","handleClick","bind","event","preventDefault","previousSlide","_this$props$defaultCo","defaultControlsConfig","prevButtonClassName","_this$props$defaultCo2","prevButtonStyle","prevButtonText","currentSlide","wrapAround","slideCount","className","onClick","_React$Component2","NextButton","nextButtonDisable","nextButtonDisabled","nextSlide","params","positionValue","slidesToShow","buttonDisabled","alignmentOffset","relativePosition","endPosition","abs","_this$props$defaultCo3","nextButtonClassName","_this$props$defaultCo4","nextButtonStyle","nextButtonText","_React$Component3","PagingDots","slidesToScroll","scrollMode","dotIndexes","lastDotIndex","floor","display","margin","listStyleType","active","fill","_this3","indexes","getDotIndexes","_this$props$defaultCo5","pagingDotsContainerClassName","pagingDotsClassName","_this$props$defaultCo6","pagingDotsStyle","getListStyles","index","isActive","getButtonStyles","goToSlide","concat","height","cx","cy","r","addEvent","elem","eventHandle","removeEvent","removeEventListener","detachEvent","getPropsByTransitionMode","transitionMode","updatedDefaults","parseInt","swipeDirection","x1","x2","y1","y2","xDist","yDist","atan2","swipeAngle","round","calcSomeInitialState","_getPropsByTransition","initialSlideHeight","initialSlideWidth","frameHeight","handleSelfFocus","currentTarget","focus","ScrollTransition","currentSlideIndex","animation","slideOffset","targetPosition","startSlideIndex","min","slidesOutOfView","ceil","slidesOutOfViewBefore","slidesOutOfViewAfter","isWrapping","direction","getSlideDirection","isWrappingAround","temp","slidesBefore","slidesAfter","distanceFromStart","child","visible","getSlideStyles","tabIndex","getSlideTargetPosition","transformScale","zoomScale","boxSizing","marginBottom","marginLeft","marginRight","marginTop","MozBoxSizing","verticalAlign","styles","deltaX","deltaY","dragging","touchAction","formatChildren","oneOf","string","number","bool","oneOfType","FadeTransition","fadeFromSlide","fadeFrom","fadeTo","fade","fadeToPosition","distance","visibility","opacityAndLeftMap","getSlideOpacityAndLeftMap","getContainerStyles","ScrollTransition3D","relativeDistanceToCurrentSlide","getRelativeDistanceToCurrentSlide","getZoomOffsetFor","getDistanceToCurrentSlide","current","relativeDistanceToCurrent","referenceIndex","_this$props2","getDistance","_this$props3","distanceByLeftEge","distanceByRightEdge","absoluteDirectDistance","opacityScale","_this$props4","getTransformScale","getOpacityScale","zIndex","slideListMargin","scroll","scroll3d","_ref","message","overflow","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","from","_iterableToArray","_nonIterableSpread","toArray","getMax","getHeightOfSlide","slide","reduce","totalHeight","offsetHeight","findMaxHeightSlideInRange","slides","maxHeight","findCurrentHeightSlide","alignment","startIndex","lastIndex","_extends","assign","Carousel","displayName","clickDisabled","timers","touchObject","controlsMap","funcName","keyCodeConfig","firstSlide","lastSlide","pause","childNodesMutationObs","easing","disableAnimation","hasInteraction","resetWrapAroundPosition","wrapToIndex","hasFocus","autoplayIterator","calcSlideHeightAndWidth","getChildNodes","getMouseEvents","getOffsetDeltas","getTargetLeft","getTouchEvents","handleFocus","handleBlur","handleKeyPress","handleMouseOut","handleMouseOver","handleSwipe","onResize","onVisibilityChange","renderControls","resetAutoplay","setDimensions","setLeft","setSlideHeightAndWidth","startAutoplay","stopAutoplay","establishChildNodesMutationObserver","mounted","bindEvents","autoplay","keyCodeMap","getKeyCodeMap","getlockScrollEvents","lockTouchScroll","initializeHeight","delay","setTimeout","slideChanged","heightModeChanged","image","getCurrentChildNodeImg","prevSlideCount","slideCountChanged","heightMismatches","curr","next","shouldUpdate","unbindEvents","disconnectChildNodesMutationObserver","clearTimeout","unlockTouchScroll","childNodes","MutationObserver","observeChildNodeMutation","observe","attributeFilter","attributeOldValue","attributes","characterData","characterDataOldValue","childList","subtree","_childNodesArray","disconnect","_this4","blockEvent","startX","touches","pageX","startY","pageY","passive","_this5","swiping","onTouchStart","onTouchEnd","onTouchMove","onDragStart","endX","endY","onTouchCancel","_this6","onMouseOver","onMouseOut","onMouseDown","clientX","clientY","onMouseMove","onMouseUp","onMouseLeave","autoplayPaused","pauseOnHover","pauseAutoplay","unpauseAutoplay","metaKey","shiftKey","altKey","ctrlKey","stopPropagation","nativeEvent","_this7","touchLength","edgeEasing","enableKeyboardControls","keyCode","actionName","autoplayReverse","autoplayID","setInterval","autoplayInterval","clearInterval","touchOffset","tx","ty","_this$getOffsetDeltas","lastSlideLimit","offsetTy","offsetTx","_this8","beforeSlide","afterSlide","speed","endSlide","targetSlideIndex","swipeDistance","leftAlignSlideIndex","nextSlideIndex","_this$state3","hidden","calculateSlideHeight","frame","offsetWidth","_this$calcSlideHeight2","stateCb","_getPropsByTransition2","_this$calcSlideHeight3","_getPropsByTransition3","currentChildNode","getElementsByTagName","newLeft","newTop","_this9","withoutControls","func","controlChildren","toLowerCase","containerClassName","join","trim","getControlsContainerStyles","propVertical","stateFrameWidth","propWidth","propHeight","_this10","_this$state4","frameOverflow","framePadding","renderAnnounceSlideMessage","duration","frameStyles","touchEvents","mouseEvents","TransitionControl","validChildren","onFocus","onBlur","ref","innerRef","onClickCapture","_this10$getOffsetDelt","disableEdgeSwiping","isEdgeSwiping","timing","ease","events","_ref2","cloneElement","autoGenerateStyleTag","dangerouslySetInnerHTML","__html","shape","elementType","exact","arrayOf","renderBottomCenterControls","renderBottomLeftControls","renderBottomRightControls","renderCenterCenterControls","renderCenterLeftControls","renderCenterRightControls","renderTopCenterControls","renderTopLeftControls","renderTopRightControls","Root","HeroImage","pageTitle","Hero","preHeading","primary","pre_title","imageSharp","actions","link","Button","variant","link_label","big","text","HeroVideo","videoProps","video","src","url","poster","HeroCarousel","slice","taskHead","taskTail","timeout","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","f","clearNow","Timer","_call","_time","_next","timer","callback","time","wake","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","elapsed","transitionId","extend","timingDefaults","Events","interrupt","Error","called","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","done","item","parse","err","transitionData","transitions","clone","stateKey","_this$setState","prop","tweens","attr","val","getTween","_objectSpread2","_objectSpread3","_objectSpread4","_ref3","_this$setState2","_this$setState3","status","endValue","nameSpace","begValue","getInterpolator","_this2$setState","_objectSpread5","_ref4","init","tid","tick","j","res","_","total","Logo","PartnerItem","href","LinkUtil","rel","partner_logo"],"mappings":"6FAEA,EAAQ,QAER,EAAQ,QAERA,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EA6DrB,IAAIE,EA3DJ,SAAmBC,EAAcC,EAAcC,EAAcC,GAG3D,IAFA,IAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIH,EAAaI,OAAQD,IACvCD,EAAQC,GAAKH,EAAaG,GAG5B,IAAK,IAAIE,EAAK,EAAGA,EAAKP,EAAaM,OAAQC,SACFC,IAAnCL,EAAaH,EAAaO,KAC5BH,EAAQK,KAAKT,EAAaO,IAI9B,OAAOH,EAAQM,MAAK,SAAUC,EAAGC,GAC/B,IAAIC,EAAaV,EAAaQ,GAC1BG,EAAaX,EAAaS,GAC1BG,EAAad,EAAaU,GAC1BK,EAAaf,EAAaW,GAE9B,GAAkB,MAAdC,GAAoC,MAAdC,EACxB,OAAOX,EAAaQ,GAAKR,EAAaS,GACjC,GAAkB,MAAdG,GAAoC,MAAdC,EAC/B,OAAOf,EAAaU,GAAKV,EAAaW,GACjC,GAAkB,MAAdC,EAAoB,CAC7B,IAAK,IAAII,EAAM,EAAGA,EAAMf,EAAaI,OAAQW,IAAO,CAClD,IAAIC,EAAQhB,EAAae,GAEzB,GAAKhB,EAAaiB,GAAlB,CAIA,GAAIL,EAAaV,EAAae,IAAUF,EAAaf,EAAaiB,GAChE,OAAQ,EACH,GAAIL,EAAaV,EAAae,IAAUF,EAAaf,EAAaiB,GACvE,OAAO,GAIX,OAAO,EAGT,IAAK,IAAIC,EAAM,EAAGA,EAAMjB,EAAaI,OAAQa,IAAO,CAClD,IAAIC,EAASlB,EAAaiB,GAE1B,GAAKlB,EAAamB,GAAlB,CAIA,GAAIN,EAAaX,EAAaiB,IAAWL,EAAad,EAAamB,GACjE,OAAO,EACF,GAAIN,EAAaX,EAAaiB,IAAWL,EAAad,EAAamB,GACxE,OAAQ,GAIZ,OAAQ,MAKZvB,EAAiB,QAAIE,G,oCCrErB,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAERJ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EAErB,IAAIwB,EA6BJ,SAAiCC,GAC/B,GAAIA,GAAOA,EAAIC,WACb,OAAOD,EAGT,GAAY,OAARA,GAAiC,WAAjBE,EAAQF,IAAoC,mBAARA,EACtD,MAAO,CACL,QAAWA,GAIf,IAAIG,EAAQC,IAEZ,GAAID,GAASA,EAAME,IAAIL,GACrB,OAAOG,EAAMG,IAAIN,GAGnB,IAAIO,EAAS,GACTC,EAAwBnC,OAAOC,gBAAkBD,OAAOoC,yBAE5D,IAAK,IAAIC,KAAOV,EACd,GAAI3B,OAAOsC,UAAUC,eAAeC,KAAKb,EAAKU,GAAM,CAClD,IAAII,EAAON,EAAwBnC,OAAOoC,yBAAyBT,EAAKU,GAAO,KAE3EI,IAASA,EAAKR,KAAOQ,EAAKC,KAC5B1C,OAAOC,eAAeiC,EAAQG,EAAKI,GAEnCP,EAAOG,GAAOV,EAAIU,GAKxBH,EAAgB,QAAIP,EAEhBG,GACFA,EAAMY,IAAIf,EAAKO,GAGjB,OAAOA,EAnEIS,CAAwB,EAAQ,SAIzCC,GAFaC,EAAuB,EAAQ,SAE3B,EAAQ,SAEzBC,EAAaD,EAAuB,EAAQ,SAE5CE,EAAS,EAAQ,QAEjBC,EAAS,EAAQ,QAErB,SAASH,EAAuBlB,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAIf,SAASI,IACP,GAAuB,mBAAZkB,QAAwB,OAAO,KAC1C,IAAInB,EAAQ,IAAImB,QAMhB,OAJAlB,EAA2B,WACzB,OAAOD,GAGFA,EA4CT,SAASD,EAAQF,GAWf,OATEE,EADoB,mBAAXqB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GAGjB,SAAS0B,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAUlD,SAASI,EAA2BC,EAAMzB,GACxC,OAAIA,GAA2B,WAAlBX,EAAQW,IAAsC,mBAATA,EAI3C0B,EAAuBD,GAHrBzB,EAMX,SAAS2B,EAAgBC,GAIvB,OAHAD,EAAkBnE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAGzB,SAASF,EAAuBD,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EAGT,SAASQ,EAAUC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAYE,EAAgBH,EAAUC,GAG5C,SAASE,EAAgBT,EAAGU,GAM1B,OALAD,EAAkB7E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GAG5B,SAASC,EAAgBpD,EAAKU,EAAKlC,GAYjC,OAXIkC,KAAOV,EACT3B,OAAOC,eAAe0B,EAAKU,EAAK,CAC9BlC,MAAOA,EACP0D,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZpC,EAAIU,GAAOlC,EAGNwB,EAGT,IAAIqD,EAAY,SAAUC,GAGxB,SAASD,EAAUrB,GACjB,IAAIuB,EAEJ7B,EAAgB8B,KAAMH,GAItBD,EAAgBb,EAFhBgB,EAAQlB,EAA2BmB,KAAMhB,EAAgBa,GAAWxC,KAAK2C,KAAMxB,KAEhC,WAAW,WACxD,IAAIyB,EAAcF,EAAMG,MACpBC,EAAWF,EAAYE,SACvBC,EAAWH,EAAYG,SAE3B,IAAIL,EAAMM,WAAV,CAQA,IAJA,IAAIC,GAAU,EACVlF,EAAe,GACfI,EAAS2E,EAAS3E,OAEbD,EAAI,EAAGA,EAAIC,EAAQD,IAAK,CAC/B,IAAIgF,EAAIJ,EAAS5E,GACbiF,EAAIJ,EAASG,GACbE,EAAkBD,EAAEC,kBAEpBA,IACFH,GAAU,GAGRE,EAAEE,OAAS9C,EAAO+C,OAAUF,EAG9BrF,EAAaO,KAAK4E,UAFXH,EAASG,GAMfD,GACHP,EAAMa,SAASC,OAGjBd,EAAMe,UAAS,WACb,MAAO,CACLX,SAAU/E,EACV2F,MAAO3F,EAAa4F,KAAI,SAAU9D,GAChC,OAAOkD,EAASlD,cAMxB0C,EAAgBb,EAAuBgB,GAAQ,WAAY,MAE3DH,EAAgBb,EAAuBgB,GAAQ,cAAc,GAE7D,IAAIkB,EAAgBzC,EAAMyC,cAEtBC,EAAO,SAAUC,GAGnB,SAASD,EAAKhE,EAAKkE,GACjB,IAAIC,EAWJ,OATAnD,EAAgB8B,KAAMkB,GAItBtB,EAAgBb,EAFhBsC,EAASxC,EAA2BmB,KAAMhB,EAAgBkC,GAAM7D,KAAK2C,QAErB,kBAAmBiB,GAEnEI,EAAOnE,IAAMA,EACbmE,EAAOD,KAAOA,EACdC,EAAOX,KAAO9C,EAAO0D,MACdD,EAGT,OAjBA/B,EAAU4B,EAAMC,GAiBTD,EAlBE,CAmBTzD,EAAe8D,UASjB,OAPAxB,EAAMG,MAAQ,CACZgB,KAAMA,EACNf,SAAU,GACVC,SAAU,GACVW,MAAO,GACPK,KAAM,MAEDrB,EA3JX,IAAsB3B,EAAaoD,EAAYC,EA0R7C,OArNAnC,EAAUO,EAAWC,GArED1B,EA8JPyB,EA9JgC4B,EAyMzC,CAAC,CACHvE,IAAK,2BACLlC,MAAO,SAAkC0G,EAAWC,GAClD,GAAID,EAAUN,OAASO,EAAUP,KAAM,CAYrC,IAXA,IAAIA,EAAOM,EAAUN,KACjBQ,EAAcF,EAAUE,YACxBC,EAAQH,EAAUG,MAClBC,EAAQJ,EAAUI,MAClBC,EAASL,EAAUK,OACnBC,EAAQN,EAAUM,MAClBd,EAAOS,EAAUT,KACjBf,EAAWwB,EAAUxB,SACrBC,EAAWuB,EAAUvB,SACrB6B,EAAW,GAEN1G,EAAI,EAAGA,EAAI4E,EAAS3E,OAAQD,IACnC0G,EAAS9B,EAAS5E,IAAMA,EAM1B,IAHA,IAAIF,EAAe,GACfD,EAAe,GAEVK,EAAK,EAAGA,EAAK2F,EAAK5F,OAAQC,IAAM,CACvC,IAAIyG,EAAId,EAAK3F,GACT8E,EAAIqB,EAAYM,EAAGzG,GAIvB,GAHAJ,EAAakF,GAAK9E,EAClBL,EAAaO,KAAK4E,QAEE7E,IAAhBuG,EAAS1B,GAAkB,CAC7B,IAAI4B,EAAO,IAAIjB,EACfiB,EAAKjF,IAAMqD,EACX4B,EAAKf,KAAOc,EACZC,EAAKzB,KAAO9C,EAAO0D,MACnBlB,EAASG,GAAK4B,GAIlB,IAAK,IAAIhG,EAAM,EAAGA,EAAMgE,EAAS3E,OAAQW,IAAO,CAC9C,IAAIiG,EAAKjC,EAAShE,GACdqE,EAAIJ,EAASgC,QAEQ1G,IAArBL,EAAa+G,IACf5B,EAAEY,KAAOA,EAAK/F,EAAa+G,IAC3B5B,EAAEE,KAAO9C,EAAOyE,QAEhB7B,EAAEE,KAAO9C,EAAO+C,MAMpB,IAFA,IAAI2B,GAAiB,EAAI3E,EAAoB,SAAGwC,EAAU8B,EAAU7G,EAAcC,GAEzEgB,EAAM,EAAGA,EAAMiG,EAAe9G,OAAQa,IAAO,CACpD,IAAIkG,EAAMD,EAAejG,GACrBmG,EAAKpC,EAASmC,GACdE,EAAKD,EAAGpB,KAERoB,EAAG9B,OAAS9C,EAAO0D,OACrBkB,EAAG1B,SAASe,EAAMY,EAAIpH,EAAakH,KAEnCC,EAAGE,WAAWZ,EAAMW,EAAIpH,EAAakH,MAC5BC,EAAG9B,OAAS9C,EAAO+C,MAC5B6B,EAAGE,WAAWV,EAAMS,EAAIR,EAASM,KAEjCC,EAAGE,WAAWX,EAAOU,EAAIpH,EAAakH,KAI1C,MAAO,CACLnB,KAAMA,EACNL,MAAOuB,EAAetB,KAAI,SAAU9D,GAClC,OAAOkD,EAASlD,MAElBkD,SAAUA,EACVD,SAAUmC,GAId,OAAO,SAtRsBd,EA8JT,CAAC,CACvBtE,IAAK,oBACLlC,MAAO,WACLgF,KAAK2C,kBAEN,CACDzF,IAAK,qBACLlC,MAAO,SAA4B4H,GAC7BA,EAAUxB,OAASpB,KAAKxB,MAAM4C,MAASpB,KAAKK,YAC9CL,KAAK2C,kBAGR,CACDzF,IAAK,gBACLlC,MAAO,WACAgF,KAAKY,SAGRZ,KAAKY,SAASiC,QAAQ7C,KAAK8C,SAF3B9C,KAAKY,UAAW,EAAInD,EAAemD,UAAUZ,KAAK8C,WAKrD,CACD5F,IAAK,uBACLlC,MAAO,WACL,IAAI+H,EAAe/C,KAAKE,MACpBC,EAAW4C,EAAa5C,SACxBC,EAAW2C,EAAa3C,SAC5BJ,KAAKK,YAAa,EAEdL,KAAKY,UACPZ,KAAKY,SAASC,OAGhBV,EAAS6C,SAAQ,SAAU9F,GACzBkD,EAASlD,GAAK+F,uBAGjB,CACD/F,IAAK,SACLlC,MAAO,WACL,IAAIkI,EAAmBlD,KAAKxB,MAAM2E,SAASnD,KAAKE,MAAMa,OACtD,OAAOmC,GAAoB3G,EAAgB,QAAE6G,SAASC,KAAKH,QAtM/C5E,EAAkBF,EAAYjB,UAAWqE,GACrDC,GAAanD,EAAkBF,EAAaqD,GAwRzC5B,EAtNO,CAuNdtD,EAAO+G,WAETzD,EAAU0D,UASN,GACJ1D,EAAU2D,aAAe,CACvB1B,MAAO,aACPC,OAAQ,aACRC,MAAO,aACPf,cAAepD,EAAO4F,SAExB,IAAIxI,EAAW4E,EACf9E,EAAiB,QAAIE,G,uBCjbrB,OAOA,WACE,aAEA,IAAIyI,IAAiC,oBAAXC,SAA0BA,OAAOC,WAAYD,OAAOC,SAASC,eACnFC,EAAuB,CACzBJ,UAAWA,EACXK,cAAiC,oBAAXC,OACtBC,qBAAsBP,MAAgBC,OAAOO,mBAAoBP,OAAOQ,aACxEC,eAAgBV,KAAeC,OAAOU,aAMrC,KAFD,aACE,OAAOP,GACR,8BAdL,I,oCCLA,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAER,EAAQ,QAERjJ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EAErB,IAAIwB,EAyBJ,SAAiCC,GAC/B,GAAIA,GAAOA,EAAIC,WACb,OAAOD,EAGT,GAAY,OAARA,GAAiC,WAAjBE,EAAQF,IAAoC,mBAARA,EACtD,MAAO,CACL,QAAWA,GAIf,IAAIG,EAAQC,IAEZ,GAAID,GAASA,EAAME,IAAIL,GACrB,OAAOG,EAAMG,IAAIN,GAGnB,IAAIO,EAAS,GACTC,EAAwBnC,OAAOC,gBAAkBD,OAAOoC,yBAE5D,IAAK,IAAIC,KAAOV,EACd,GAAI3B,OAAOsC,UAAUC,eAAeC,KAAKb,EAAKU,GAAM,CAClD,IAAII,EAAON,EAAwBnC,OAAOoC,yBAAyBT,EAAKU,GAAO,KAE3EI,IAASA,EAAKR,KAAOQ,EAAKC,KAC5B1C,OAAOC,eAAeiC,EAAQG,EAAKI,GAEnCP,EAAOG,GAAOV,EAAIU,GAKxBH,EAAgB,QAAIP,EAEhBG,GACFA,EAAMY,IAAIf,EAAKO,GAGjB,OAAOA,EA/DIS,CAAwB,EAAQ,SAIzC8G,GAFa5G,EAAuB,EAAQ,SAE/BA,EAAuB,EAAQ,UAE5CG,EAAS,EAAQ,QAErB,SAASH,EAAuBlB,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAIf,SAASI,IACP,GAAuB,mBAAZkB,QAAwB,OAAO,KAC1C,IAAInB,EAAQ,IAAImB,QAMhB,OAJAlB,EAA2B,WACzB,OAAOD,GAGFA,EA4CT,SAASD,EAAQF,GAWf,OATEE,EADoB,mBAAXqB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GAGjB,SAAS0B,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAUlD,SAASI,EAA2BC,EAAMzB,GACxC,OAAIA,GAA2B,WAAlBX,EAAQW,IAAsC,mBAATA,EAOpD,SAAgCyB,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EARAC,CAAuBD,GAHrBzB,EAcX,SAAS2B,EAAgBC,GAIvB,OAHAD,EAAkBnE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAkBzB,SAASS,EAAgBT,EAAGU,GAM1B,OALAD,EAAkB7E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GAG5B,IAAIiC,EAAc,WAChB,MAAO,WAGL2C,EAAU,SAAUzE,GAGtB,SAASyE,IAGP,OAFArG,EAAgB8B,KAAMuE,GAEf1F,EAA2BmB,KAAMhB,EAAgBuF,GAASC,MAAMxE,KAAMyE,YA/DjF,IAAsBrG,EAAaoD,EAAYC,EAyG7C,OA5EF,SAAmBlC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAYE,EAAgBH,EAAUC,GAiB1CF,CAAUiF,EAASzE,GA1DC1B,EAkEPmG,GAlEoB/C,EAkEX,CAAC,CACrBtE,IAAK,SACLlC,MAAO,WACL,IAAI0J,EAAc1E,KAAKxB,MACnBmG,EAAOD,EAAYC,KACnB9C,EAAQ6C,EAAY7C,MACpBC,EAAQ4C,EAAY5C,MACpBC,EAAS2C,EAAY3C,OACrBC,EAAQ0C,EAAY1C,MACpBf,EAAgByD,EAAYzD,cAC5BkC,EAAWuB,EAAYvB,SACvB/B,EAAwB,mBAAVS,EAAuBA,IAAUA,EACnD,OAAOtF,EAAgB,QAAEsH,cAAcS,EAAoB,QAAG,CAC5DlD,KAAMuD,EAAO,CAACvD,GAAQ,GACtBS,MAAO,WACL,OAAOT,GAETQ,YAAaA,EACbX,cAAeA,EACfa,MAAwB,mBAAVA,EAAuBA,EAAQ,WAC3C,OAAOA,GAETC,OAA0B,mBAAXA,EAAwBA,EAAS,WAC9C,OAAOA,GAETC,MAAwB,mBAAVA,EAAuBA,EAAQ,WAC3C,OAAOA,KAER,SAAUjB,GACX,IAAKA,EAAM,GACT,OAAO,KAGT,IAAImC,EAAmBC,EAASpC,EAAM,GAAGb,OACzC,OAAOgD,GAAoB3G,EAAgB,QAAE6G,SAASC,KAAKH,WAnGjD5E,EAAkBF,EAAYjB,UAAWqE,GACrDC,GAAanD,EAAkBF,EAAaqD,GAuGzC8C,EAhDK,CAiDZhI,EAAO+G,WAETiB,EAAQhB,UAQJ,GACJgB,EAAQf,aAAe,CACrBmB,MAAM,EACN1D,cAAepD,EAAO4F,SAExB,IAAIxI,EAAWsJ,EACfxJ,EAAiB,QAAIE,G,kCCrPrB,sNAoBM2J,EAAeC,UAAOC,IAAV,wEAAGD,CAAH,gFACDE,YAAI,IACDA,YAAI,IAEpBC,YAAW,SACID,YAAI,IACDA,YAAI,KAIpBE,EAAeJ,kBAAOK,KAAV,wEAAGL,CAAH,iFAGHE,YAAI,KAGfC,YAAW,eACED,YAAI,MAIfI,EAAgBN,UAAOC,IAAV,yEAAGD,CAAH,sGACH,SAACrG,GAAW,IAChB4G,EAAW5G,EAAM6G,MAAMC,OAAvBF,OACR,OAAUA,EAAOG,MAAjB,IAA0BH,EAAOI,MAAjC,IAA0CJ,EAAOK,SAItC,SAACjH,GAAD,OAAWA,EAAM6G,MAAMK,KAAKC,YAKrCC,EAAWf,kBAAOK,KAAV,oEAAGL,CAAH,mDAEHE,YAAI,KAGXC,YAAW,SACFD,YAAI,MAIXc,EAAmBhB,UAAOiB,GAAV,4EAAGjB,CAAH,uEAGL,SAACrG,GAAD,OAAWA,EAAM6G,MAAMU,WAAWC,QAAQC,QAAQC,UACxD,SAAC1H,GAAD,OAAWA,EAAM6G,MAAMc,QAAQC,OAAOC,YAClCtB,YAAI,KAGnB,SAASuB,EAAT,GAAwB,IAAD,IAARlF,KACwCmF,QAA7CC,EADa,EACbA,aAA2BC,EADd,EACCC,YAChBC,EAAOH,EAAaI,MAAM,GAAGzE,KAInC,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACE0E,MAAOC,WAASC,OAAOJ,EAAKK,gBAC5BC,YAAaN,EAAKO,kBAGnBP,EAAKQ,YAAcR,EAAKQ,WAAW3L,QAClC,kBAAC,IAAD,CAAc4L,MAAOT,EAAKQ,aAG3BR,EAAKU,SAAWV,EAAKU,QAAQ7L,QAAUsL,WAASC,OAAOJ,EAAKU,UAC3D,kBAACzC,EAAD,KACE,kBAAC,IAAD,KACE,kBAACK,EAAD,KACE,kBAAC,WAAD,CAAUqC,OAAQX,EAAKU,QAASE,aAAcA,oBAMtD,kBAACpC,EAAD,KACE,kBAACU,EAAD,oBACCY,EAASG,MAAM5F,KAAI,YAAwB,IAAfwG,EAAc,EAApBrF,KACrB,OACE,kBAACyD,EAAD,CAAU1I,IAAKsK,EAAQC,MAAMC,IAC3B,kBAAC,IAAD,CAAatG,KAAMoG,UAajClB,EAAIqB,UAAY,CAACC,KAEV,IAAMC,EAAK,68FAuHHvB,a,oCC3Of,EAAQ,QAERzL,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQ0I,QAER,SAAiBqE,EAAKC,GACpB,IAAIlM,GAAKiM,EACLhM,GAAKiM,EAAMlM,EACf,OAAO,SAAUmM,GACf,OAAOnM,EAAIC,EAAIkM,K,q7DCbZ,SAASC,EAASD,GACvB,OAAO,EAAIE,KAAKC,KAAK,EAAIH,EAAIA,GAExB,SAASI,EAAUJ,GACxB,OAAOE,KAAKC,KAAK,KAAMH,EAAIA,GAEtB,SAASK,EAAYL,GAC1B,QAASA,GAAK,IAAM,EAAI,EAAIE,KAAKC,KAAK,EAAIH,EAAIA,GAAKE,KAAKC,KAAK,GAAKH,GAAK,GAAKA,GAAK,GAAK,ECPjF,SAASM,EAAON,GACrB,OAAQA,ECDH,SAASO,EAAOP,GACrB,OAAOA,EAAIA,EAEN,SAASQ,EAAQR,GACtB,OAAOA,GAAK,EAAIA,GAEX,SAASS,EAAUT,GACxB,QAASA,GAAK,IAAM,EAAIA,EAAIA,IAAMA,GAAK,EAAIA,GAAK,GAAK,ECPhD,SAASU,EAAQV,GACtB,OAAOA,EAAIA,EAAIA,EAEV,SAASW,EAASX,GACvB,QAASA,EAAIA,EAAIA,EAAI,EAEhB,SAASY,EAAWZ,GACzB,QAASA,GAAK,IAAM,EAAIA,EAAIA,EAAIA,GAAKA,GAAK,GAAKA,EAAIA,EAAI,GAAK,ECP9D,IACWa,EAAS,SAASC,EAAOC,GAGlC,SAASF,EAAOb,GACd,OAAOE,KAAKc,IAAIhB,EAAGe,GAIrB,OAPAA,GAAKA,EAMLF,EAAOI,SAAWH,EACXD,EARW,CADL,GAWJK,EAAU,SAASJ,EAAOC,GAGnC,SAASG,EAAQlB,GACf,OAAO,EAAIE,KAAKc,IAAI,EAAIhB,EAAGe,GAI7B,OAPAA,GAAKA,EAMLG,EAAQD,SAAWH,EACZI,EARY,CAXN,GAqBJC,EAAY,SAASL,EAAOC,GAGrC,SAASI,EAAUnB,GACjB,QAASA,GAAK,IAAM,EAAIE,KAAKc,IAAIhB,EAAGe,GAAK,EAAIb,KAAKc,IAAI,EAAIhB,EAAGe,IAAM,EAIrE,OAPAA,GAAKA,EAMLI,EAAUF,SAAWH,EACdK,EARc,CArBR,GCAXC,EAAKlB,KAAKmB,GACVC,EAASF,EAAK,EACX,SAASG,EAAMvB,GACpB,OAAO,EAAIE,KAAKsB,IAAIxB,EAAIsB,GAEnB,SAASG,EAAOzB,GACrB,OAAOE,KAAKwB,IAAI1B,EAAIsB,GAEf,SAASK,EAAS3B,GACvB,OAAQ,EAAIE,KAAKsB,IAAIJ,EAAKpB,IAAM,ECT3B,SAAS4B,EAAM5B,GACpB,OAAOE,KAAKc,IAAI,EAAG,GAAKhB,EAAI,IAEvB,SAAS6B,EAAO7B,GACrB,OAAO,EAAIE,KAAKc,IAAI,GAAI,GAAKhB,GAExB,SAAS8B,EAAS9B,GACvB,QAASA,GAAK,IAAM,EAAIE,KAAKc,IAAI,EAAG,GAAKhB,EAAI,IAAM,EAAIE,KAAKc,IAAI,EAAG,GAAK,GAAKhB,IAAM,ECPrF,IASI+B,EAAK,OACF,SAASC,EAAShC,GACvB,OAAO,EAAIiC,EAAU,EAAIjC,GAEpB,SAASiC,EAAUjC,GACxB,OAAQA,GAAKA,GAdN,EAAI,GAcY+B,EAAK/B,EAAIA,EAAIA,EAZ7B,EAAI,GAYkC+B,GAAM/B,GAb5C,EAAI,IAamDA,EAXvD,EAAI,EAW4DA,EAThE,GAAK,GASoE+B,GAAM/B,GAV/E,EAAI,IAUsFA,EAR1F,GAAK,GAQ8F+B,GAAM/B,GAPzG,GAAK,IAO+GA,EANpH,GAAK,GAQP,SAASkC,EAAYlC,GAC1B,QAASA,GAAK,IAAM,EAAI,EAAIiC,EAAU,EAAIjC,GAAKiC,EAAUjC,EAAI,GAAK,GAAK,ECjBzE,IACWmC,EAAS,SAASrB,EAAOsB,GAGlC,SAASD,EAAOnC,GACd,OAAOA,EAAIA,IAAMoC,EAAI,GAAKpC,EAAIoC,GAIhC,OAPAA,GAAKA,EAMLD,EAAOE,UAAYvB,EACZqB,EARW,CADJ,SAWLG,EAAU,SAASxB,EAAOsB,GAGnC,SAASE,EAAQtC,GACf,QAASA,EAAIA,IAAMoC,EAAI,GAAKpC,EAAIoC,GAAK,EAIvC,OAPAA,GAAKA,EAMLE,EAAQD,UAAYvB,EACbwB,EARY,CAXL,SAqBLC,EAAY,SAASzB,EAAOsB,GAGrC,SAASG,EAAUvC,GACjB,QAASA,GAAK,GAAK,EAAIA,EAAIA,IAAMoC,EAAI,GAAKpC,EAAIoC,IAAMpC,GAAK,GAAKA,IAAMoC,EAAI,GAAKpC,EAAIoC,GAAK,GAAK,EAI7F,OAPAA,GAAKA,EAMLG,EAAUF,UAAYvB,EACfyB,EARc,CArBP,SCAZC,EAAM,EAAItC,KAAKmB,GAGRoB,EAAY,SAAS3B,EAAOjN,EAAG8D,GACxC,IAAIyK,EAAIlC,KAAKwC,KAAK,GAAK7O,EAAIqM,KAAKyC,IAAI,EAAG9O,MAAQ8D,GAAK6K,GAEpD,SAASC,EAAUzC,GACjB,OAAOnM,EAAIqM,KAAKc,IAAI,EAAG,KAAOhB,GAAKE,KAAKwB,KAAKU,EAAIpC,GAAKrI,GAWxD,OARA8K,EAAUG,UAAY,SAAU/O,GAC9B,OAAOiN,EAAOjN,EAAG8D,EAAI6K,IAGvBC,EAAUI,OAAS,SAAUlL,GAC3B,OAAOmJ,EAAOjN,EAAG8D,IAGZ8K,EAfc,CAFP,EACH,IAkBFK,EAAa,SAAShC,EAAOjN,EAAG8D,GACzC,IAAIyK,EAAIlC,KAAKwC,KAAK,GAAK7O,EAAIqM,KAAKyC,IAAI,EAAG9O,MAAQ8D,GAAK6K,GAEpD,SAASM,EAAW9C,GAClB,OAAO,EAAInM,EAAIqM,KAAKc,IAAI,GAAI,IAAMhB,GAAKA,IAAME,KAAKwB,KAAK1B,EAAIoC,GAAKzK,GAWlE,OARAmL,EAAWF,UAAY,SAAU/O,GAC/B,OAAOiN,EAAOjN,EAAG8D,EAAI6K,IAGvBM,EAAWD,OAAS,SAAUlL,GAC5B,OAAOmJ,EAAOjN,EAAG8D,IAGZmL,EAfe,CAnBR,EACH,IAmCFC,EAAe,SAASjC,EAAOjN,EAAG8D,GAC3C,IAAIyK,EAAIlC,KAAKwC,KAAK,GAAK7O,EAAIqM,KAAKyC,IAAI,EAAG9O,MAAQ8D,GAAK6K,GAEpD,SAASO,EAAa/C,GACpB,QAASA,EAAQ,EAAJA,EAAQ,GAAK,EAAInM,EAAIqM,KAAKc,IAAI,EAAG,GAAKhB,GAAKE,KAAKwB,KAAKU,EAAIpC,GAAKrI,GAAK,EAAI9D,EAAIqM,KAAKc,IAAI,GAAI,GAAKhB,GAAKE,KAAKwB,KAAKU,EAAIpC,GAAKrI,IAAM,EAW1I,OARAoL,EAAaH,UAAY,SAAU/O,GACjC,OAAOiN,EAAOjN,EAAG8D,EAAI6K,IAGvBO,EAAaF,OAAS,SAAUlL,GAC9B,OAAOmJ,EAAOjN,EAAG8D,IAGZoL,EAfiB,CApCV,EACH,ICEF,EAAiB,SAAwBvM,GAClD,IAAIwM,EAAa,IAAM5H,SAAS6H,MAAMzM,EAAM2E,UACxC+H,EAAY1M,EAAM2M,WAAaH,EAC/BI,EAAgB5M,EAAM6M,YAAcL,EACpCM,EAAmB9M,EAAM+M,SAAWL,EAAYE,EAAgB5M,EAAMgN,YAC1E,OAAOF,EAAmB,GAA0B,YAArB9M,EAAMiN,WAA2BH,EAAmB,QAE1EI,EAAqB,SAA4BC,EAAYC,GACtE,IAAIC,EAAS,EAEb,OAAQD,EAAOE,WACb,IAAK,OAEDD,EAAS,EACTA,GAAUD,EAAOP,YAAcM,EAC/B,MAGJ,IAAK,SAEDE,GAAUD,EAAOG,WAAaH,EAAOT,YAAc,EACnDU,GAAUD,EAAOP,YAAcM,EAC/B,MAGJ,IAAK,QAEDE,EAASD,EAAOG,WAAaH,EAAOT,WACpCU,GAAUD,EAAOP,YAAcM,EAKrC,OAAOE,GAEEG,EAAqB,SAA4BC,GAC1D,OAAQA,GACN,IAAK,UAED,MAAO,CACLA,SAAU,WACVC,IAAK,EACLC,KAAM,GAIZ,IAAK,YAED,MAAO,CACLF,SAAU,WACVC,IAAK,EACLC,KAAM,MACNC,UAAW,mBACXC,gBAAiB,mBACjBC,YAAa,oBAInB,IAAK,WAED,MAAO,CACLL,SAAU,WACVC,IAAK,EACLK,MAAO,GAIb,IAAK,aAED,MAAO,CACLN,SAAU,WACVC,IAAK,MACLC,KAAM,EACNC,UAAW,mBACXC,gBAAiB,mBACjBC,YAAa,oBAInB,IAAK,eAED,MAAO,CACLL,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,uBACXC,gBAAiB,wBACjBC,YAAa,yBAInB,IAAK,cAED,MAAO,CACLL,SAAU,WACVC,IAAK,MACLK,MAAO,EACPH,UAAW,mBACXC,gBAAiB,mBACjBC,YAAa,oBAInB,IAAK,aAED,MAAO,CACLL,SAAU,WACVO,OAAQ,EACRL,KAAM,GAIZ,IAAK,eAED,MAAO,CACLF,SAAU,WACVO,OAAQ,EACRL,KAAM,MACNC,UAAW,mBACXC,gBAAiB,mBACjBC,YAAa,oBAInB,IAAK,cAED,MAAO,CACLL,SAAU,WACVO,OAAQ,EACRD,MAAO,GAIb,QAEI,MAAO,CACLN,SAAU,WACVC,IAAK,EACLC,KAAM,KC9HhB,SAASzP,EAAQF,GAWf,OATEE,EADoB,mBAAXqB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GAGjB,SAASiQ,EAAQC,EAAQC,GACvB,IAAIC,EAAO/R,OAAO+R,KAAKF,GAEvB,GAAI7R,OAAOgS,sBAAuB,CAChC,IAAIC,EAAUjS,OAAOgS,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOnS,OAAOoC,yBAAyByP,EAAQM,GAAKtO,eAEtDkO,EAAKjR,KAAK6I,MAAMoI,EAAME,GAGxB,OAAOF,EAGT,SAASK,EAAc1O,GACrB,IAAK,IAAIhD,EAAI,EAAGA,EAAIkJ,UAAUjJ,OAAQD,IAAK,CACzC,IAAI2R,EAAyB,MAAhBzI,UAAUlJ,GAAakJ,UAAUlJ,GAAK,GAE/CA,EAAI,EACNkR,EAAQ5R,OAAOqS,IAAS,GAAMlK,SAAQ,SAAU9F,GAC9C0C,EAAgBrB,EAAQrB,EAAKgQ,EAAOhQ,OAE7BrC,OAAOsS,0BAChBtS,OAAOuS,iBAAiB7O,EAAQ1D,OAAOsS,0BAA0BD,IAEjET,EAAQ5R,OAAOqS,IAASlK,SAAQ,SAAU9F,GACxCrC,OAAOC,eAAeyD,EAAQrB,EAAKrC,OAAOoC,yBAAyBiQ,EAAQhQ,OAKjF,OAAOqB,EAGT,SAASqB,EAAgBpD,EAAKU,EAAKlC,GAYjC,OAXIkC,KAAOV,EACT3B,OAAOC,eAAe0B,EAAKU,EAAK,CAC9BlC,MAAOA,EACP0D,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZpC,EAAIU,GAAOlC,EAGNwB,EAGT,SAAS0B,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAIlD,SAAS4O,EAAajP,EAAaoD,EAAYC,GAG7C,OAFID,GAAYlD,EAAkBF,EAAYjB,UAAWqE,GACrDC,GAAanD,EAAkBF,EAAaqD,GACzCrD,EAGT,SAASS,GAA2BC,EAAMzB,GACxC,OAAIA,GAA2B,WAAlBX,EAAQW,IAAsC,mBAATA,EAI3C0B,GAAuBD,GAHrBzB,EAMX,SAAS2B,GAAgBC,GAIvB,OAHAD,GAAkBnE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAGzB,SAASF,GAAuBD,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EAGT,SAASQ,GAAUC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAYE,GAAgBH,EAAUC,GAG5C,SAASE,GAAgBT,EAAGU,GAM1B,OALAD,GAAkB7E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GAM5B,IAAI2N,GAAsB,SAA6BC,GACrD,MAAO,CACLnI,OAAQ,EACRoI,WAAY,kBACZ/H,MAAO,QACPgI,QAAS,GACTC,cAAe,YACfC,QAASJ,GAAY,GACrBK,OAAQL,EAAW,cAAgB,YAI5B,GAA8B,SAAUM,GAGjD,SAASC,IACP,IAAI/N,EAMJ,OAJA7B,EAAgB8B,KAAM8N,IAEtB/N,EAAQlB,GAA2BmB,KAAMhB,GAAgB8O,GAAgBtJ,MAAMxE,KAAMyE,aAC/EsJ,YAAchO,EAAMgO,YAAYC,KAAKjP,GAAuBgB,IAC3DA,EA6BT,OAtCAT,GAAUwO,EAAgBD,GAY1BR,EAAaS,EAAgB,CAAC,CAC5B5Q,IAAK,cACLlC,MAAO,SAAqBiT,GAC1BA,EAAMC,iBACNlO,KAAKxB,MAAM2P,kBAEZ,CACDjR,IAAK,SACLlC,MAAO,WACL,IAAIoT,EAAwBpO,KAAKxB,MAAM6P,sBACnCC,EAAsBF,EAAsBE,oBAC5CC,EAAyBH,EAAsBI,gBAC/CA,OAA6C,IAA3BD,EAAoC,GAAKA,EAC3DE,EAAiBL,EAAsBK,eACvClB,EAAuC,IAA5BvN,KAAKxB,MAAMkQ,eAAuB1O,KAAKxB,MAAMmQ,YAAwC,IAA1B3O,KAAKxB,MAAMoQ,WACrF,OAAO,IAAM/K,cAAc,SAAU,CACnCgL,UAAWP,EACX9I,MAAOyH,EAAc,GAAIK,GAAoBC,GAAW,GAAIiB,GAC5DjB,SAAUA,EACVuB,QAAS9O,KAAK+N,YACd,aAAc,WACdrN,KAAM,UACL+N,GAAkB,YAIlBX,EAvCgC,CAwCvC,IAAMxK,WACG,GAA0B,SAAUyL,GAG7C,SAASC,IACP,IAAI3N,EAOJ,OALAnD,EAAgB8B,KAAMgP,IAEtB3N,EAASxC,GAA2BmB,KAAMhB,GAAgBgQ,GAAYxK,MAAMxE,KAAMyE,aAC3EsJ,YAAc1M,EAAO0M,YAAYC,KAAKjP,GAAuBsC,IACpEA,EAAO4N,kBAAoB5N,EAAO6N,mBAAmBlB,KAAKjP,GAAuBsC,IAC1EA,EAiFT,OA3FA/B,GAAU0P,EAAYD,GAatB1B,EAAa2B,EAAY,CAAC,CACxB9R,IAAK,cACLlC,MAAO,SAAqBiT,GAC1BA,EAAMC,iBACNlO,KAAKxB,MAAM2Q,cAEZ,CACDjS,IAAK,qBACLlC,MAAO,SAA4BoU,GACjC,IAAItD,EAAYsD,EAAOtD,UACnBT,EAAc+D,EAAO/D,YACrBqD,EAAeU,EAAOV,aACtB3C,EAAaqD,EAAOrD,WACpBsD,EAAgBD,EAAOC,cACvBT,EAAaQ,EAAOR,WACpBU,EAAeF,EAAOE,aACtBnE,EAAaiE,EAAOjE,WAEpBoE,GAAiB,EAErB,IAHiBH,EAAOT,WAGP,CACf,IAAIa,EAAkB9D,EAAmBgD,EAAc,CACrD5C,UAAWA,EACXT,YAAaA,EACbU,WAAYA,EACZZ,WAAYA,IAEVsE,EAAmBJ,EAAgBG,EACnCjK,EAAQ4F,EAAaE,EAErBqE,GAAenK,EAAQqJ,EAAarJ,EAAQ+J,GADlB,WAAdxD,EAAyB,EAAI0D,EAAkBA,GAE/DD,EAAiBE,EAAmBC,GAAexH,KAAKyH,IAAIF,EAAmBC,GAAe,IAGhG,OAAOH,IAER,CACDrS,IAAK,SACLlC,MAAO,WACL,IAAI0J,EAAc1E,KAAKxB,MACnBsN,EAAYpH,EAAYoH,UACxBT,EAAc3G,EAAY2G,YAC1BqD,EAAehK,EAAYgK,aAC3B3C,EAAarH,EAAYqH,WACzBI,EAAOzH,EAAYyH,KACnByC,EAAalK,EAAYkK,WACzBU,EAAe5K,EAAY4K,aAC3BnE,EAAazG,EAAYyG,WACzBe,EAAMxH,EAAYwH,IAClBX,EAAW7G,EAAY6G,SACvBoD,EAAajK,EAAYiK,WACzBiB,EAAyB5P,KAAKxB,MAAM6P,sBACpCwB,EAAsBD,EAAuBC,oBAC7CC,EAAyBF,EAAuBG,gBAChDA,OAA6C,IAA3BD,EAAoC,GAAKA,EAC3DE,EAAiBJ,EAAuBI,eACxCzC,EAAWvN,KAAKkP,mBAAmB,CACrCpD,UAAWA,EACXT,YAAaA,EACbqD,aAAcA,EACd3C,WAAYA,EACZsD,cAAe9D,EAAWW,EAAMC,EAChCyC,WAAYA,EACZU,aAAcA,EACdnE,WAAYA,EACZwD,WAAYA,IAEd,OAAO,IAAM9K,cAAc,SAAU,CACnCgL,UAAWgB,EACXrK,MAAOyH,EAAc,GAAIK,GAAoBC,GAAW,GAAIwC,GAC5DxC,SAAUA,EACVuB,QAAS9O,KAAK+N,YACd,aAAc,OACdrN,KAAM,UACLsP,GAAkB,YAIlBhB,EA5F4B,CA6FnC,IAAM1L,WACG,GAA0B,SAAU2M,GAG7C,SAASC,IAGP,OAFAhS,EAAgB8B,KAAMkQ,GAEfrR,GAA2BmB,KAAMhB,GAAgBkR,GAAY1L,MAAMxE,KAAMyE,YA4FlF,OAjGAnF,GAAU4Q,EAAYD,GAQtB5C,EAAa6C,EAAY,CAAC,CACxBhT,IAAK,gBACLlC,MAAO,SAAuB4T,EAAYuB,EAAgBb,EAAcxD,EAAWsE,GACjF,IAAIC,EAAa,GACbC,EAAe1B,EAAaU,EAEhC,OAAQxD,GACN,IAAK,SACL,IAAK,QACHwE,GAAgBhB,EAAe,EAInC,GAAIgB,EAAe,EACjB,MAAO,CAAC,GAGV,IAAK,IAAI/U,EAAI,EAAGA,EAAI+U,EAAc/U,GAAK4U,EACrCE,EAAW1U,KAAKJ,GAQlB,MALkB,SAAduQ,GAAuC,SAAfsE,IAC1BE,EAAepI,KAAKqI,MAAM3B,GAAcA,EAAaU,GAAgBA,KAGvEe,EAAW1U,KAAK2U,GACTD,IAER,CACDnT,IAAK,gBACLlC,MAAO,WACL,MAAO,CACLiR,SAAU,WACVC,KAAM,GACNsE,QAAS,OACTC,OAAQ,EACRhD,QAAS,EACTiD,cAAe,UAGlB,CACDxT,IAAK,kBACLlC,MAAO,SAAyB2V,GAC9B,MAAO,CACL/C,OAAQ,UACRD,QAASgD,EAAS,EAAI,GACtBnD,WAAY,cACZpI,OAAQ,OACRwL,KAAM,WAGT,CACD1T,IAAK,SACLlC,MAAO,WACL,IAAI6V,EAAS7Q,KAET8Q,EAAU9Q,KAAK+Q,cAAc/Q,KAAKxB,MAAMoQ,WAAY5O,KAAKxB,MAAM2R,eAAgBnQ,KAAKxB,MAAM8Q,aAActP,KAAKxB,MAAMsN,UAAW9L,KAAKxB,MAAM4R,YACzIY,EAAyBhR,KAAKxB,MAAM6P,sBACpC4C,EAA+BD,EAAuBC,6BACtDC,EAAsBF,EAAuBE,oBAC7CC,EAAyBH,EAAuBI,gBAChDA,OAA6C,IAA3BD,EAAoC,GAAKA,EAC/D,OAAO,IAAMtN,cAAc,KAAM,CAC/BgL,UAAWoC,EACXzL,MAAOxF,KAAKqR,iBACXP,EAAQ9P,KAAI,SAAUsQ,GACvB,IAAIC,EAAWV,EAAOrS,MAAMkQ,eAAiB4C,EAC7C,OAAO,IAAMzN,cAAc,KAAM,CAC/B3G,IAAKoU,EACLzC,UAAW0C,EAAW,qBAAuB,eAC5C,IAAM1N,cAAc,SAAU,CAC/BgL,UAAWqC,EACXxQ,KAAM,SACN8E,MAAOyH,EAAc,GAAI4D,EAAOW,gBAAgBD,GAAW,GAAIH,GAC/DtC,QAAS+B,EAAOrS,MAAMiT,UAAUzD,KAAK,KAAMsD,GAC3C,aAAc,SAASI,OAAOJ,EAAQ,EAAG,YACxC,IAAMzN,cAAc,MAAO,CAC5BgL,UAAW,aACXtJ,MAAO,IACPoM,OAAQ,KACP,IAAM9N,cAAc,SAAU,CAC/B+N,GAAI,IACJC,GAAI,IACJC,EAAG,iBAMJ5B,EAlG4B,CAmGnC,IAAM5M,WC/UD,IAAIyO,GAAW,SAAkBC,EAAMtR,EAAMuR,GAC9CD,UAIAA,EAAK9N,iBACP8N,EAAK9N,iBAAiBxD,EAAMuR,GAAa,GAChCD,EAAK7N,YACd6N,EAAK7N,YAAY,KAAKuN,OAAOhR,GAAOuR,GAEpCD,EAAK,KAAKN,OAAOhR,IAASuR,IAGnBC,GAAc,SAAqBF,EAAMtR,EAAMuR,GACpDD,UAIAA,EAAKG,oBACPH,EAAKG,oBAAoBzR,EAAMuR,GAAa,GACnCD,EAAKI,YACdJ,EAAKI,YAAY,KAAKV,OAAOhR,GAAOuR,GAEpCD,EAAK,KAAKN,OAAOhR,IAAS,OAgCnB2R,GAA2B,SAAkC7T,EAAOoO,GAC7E,IAAI0C,EAAe9Q,EAAM8Q,aACrBgD,EAAiB9T,EAAM8T,eACvBC,EAAkB,GA4BtB,MA1BuB,SAAnBD,EACF1F,EAAK5J,SAAQ,SAAU9F,GACrB,OAAQA,GACN,IAAK,eAIL,IAAK,iBACHqV,EAAgBrV,GAAOgL,KAAKyC,IAAI6H,SAASlD,GAAe,GACxD,MAEF,IAAK,YACHiD,EAAgBrV,GAAO,OACvB,MAEF,QACEqV,EAAgBrV,GAAOsB,EAAMtB,OAKnC0P,EAAK5J,SAAQ,SAAU9F,GACrBqV,EAAgBrV,GAAOsB,EAAMtB,MAI1BqV,GAEEE,GAAiB,SAAwBC,EAAIC,EAAIC,EAAIC,EAAItH,GAClE,IAAIuH,EAAQJ,EAAKC,EACbI,EAAQH,EAAKC,EACbf,EAAI5J,KAAK8K,MAAMD,EAAOD,GACtBG,EAAa/K,KAAKgL,MAAU,IAAJpB,EAAU5J,KAAKmB,IAM3C,OAJI4J,EAAa,IACfA,EAAa,IAAM/K,KAAKyH,IAAIsD,IAG1BA,GAAc,IAAMA,GAAc,GAIlCA,GAAc,KAAOA,GAAc,IAH9B,EAOLA,GAAc,KAAOA,GAAc,KAC7B,GAGO,IAAb1H,EACE0H,GAAc,IAAMA,GAAc,IAC7B,GAEC,EAIL,GA0BEE,GAAuB,SAA8B3U,GAC9D,IAAI4U,EAAwBf,GAAyB7T,EAAO,CAAC,iBAAkB,eAAgB,cAC3F2R,EAAiBiD,EAAsBjD,eACvCb,EAAe8D,EAAsB9D,aACrCxD,EAAYsH,EAAsBtH,UAElCX,EAAa3M,EAAM+M,SAAW/M,EAAM6U,oBAAsB,EAAI7U,EAAM8U,mBAAqB,EACzF9H,EAAchN,EAAM+M,UAAY/M,EAAM6U,oBAAsB,GAAK7U,EAAM8Q,aAAe9Q,EAAM6U,oBAAsB,EAClHE,EAAc/H,EAAchN,EAAM6M,aAAeiE,EAAe,GAEpE,MAAO,CACLnE,WAAYA,EACZK,YAAaA,EACbO,WAJevN,EAAM+M,SAAWgI,EAAc,OAK9CpD,eAAgBA,EAChBb,aAAcA,EACdxD,UAAWA,IAGJ0H,GAAkB,SAAyBzK,GAChDA,GAAKA,EAAE0K,eACT1K,EAAE0K,cAAcC,SC3NpB,SAAS,GAAQlX,GAWf,OATE,GADoB,mBAAXuB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GASjB,SAAS,GAAkB+B,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAkBlD,SAAS,GAAgBQ,GAIvB,OAHA,GAAkBpE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAGzB,SAAS,GAAuBH,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EAkBT,SAAS,GAAgBG,EAAGU,GAM1B,OALA,GAAkB9E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GAO5B,IAGI,GAAgC,SAAUkO,GAG5C,SAAS8F,EAAiBnV,GACxB,IAAIuB,EA1D4BjB,EAAMzB,EAgEtC,OAtFJ,SAAyBc,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAgFpB,CAAgB2B,KAAM2T,GA5DU7U,EA8DGkB,MAAnCD,IA9DsC1C,EA8DG,GAAgBsW,GAAkBtW,KAAK2C,KAAMxB,KA7DzD,WAAlB,GAAQnB,IAAsC,mBAATA,EAI3C,GAAuByB,GAHrBzB,GA6DDgU,cAAgBtR,EAAMsR,cAAcrD,KAAK,GAAuBjO,IAC/DA,EAtEX,IAAsB3B,EAAaoD,EAAYC,EAkN7C,OArLF,SAAmBlC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAY,GAAgBD,EAAUC,GAoB1C,CAAUmU,EAAkB9F,GA7DRzP,EA2EPuV,GA3EoBnS,EA2EF,CAAC,CAC9BtE,IAAK,yBACLlC,MAAO,SAAgC4Y,EAAmBvE,GACxD,IAAIxD,EAAS,EAEgB,SAAzB7L,KAAKxB,MAAMqV,YAAyB7T,KAAKxB,MAAMkQ,eAAiBkF,EAAoB,GAAiC,IAA5B5T,KAAKxB,MAAMkQ,cAAsBkF,IAAsB5T,KAAKxB,MAAM2E,SAAS3H,OAAS,GAC/KqQ,EAAS7L,KAAKxB,MAAMsV,YACc,SAAzB9T,KAAKxB,MAAMqV,YAAyB7T,KAAKxB,MAAMkQ,eAAiBkF,EAAoB,GAAK5T,KAAKxB,MAAMkQ,eAAiB1O,KAAKxB,MAAM2E,SAAS3H,OAAS,GAA2B,IAAtBoY,KAChK/H,GAAU7L,KAAKxB,MAAMsV,aAGvB,IAAIC,GAAkB/T,KAAKxB,MAAM2M,WAAanL,KAAKxB,MAAM6M,aAAeuI,EACpEpE,EAAkB9D,EAAmBkI,EAAmB5T,KAAKxB,OAC7DiR,EAAmBJ,EAAgBG,EACnCwE,EAAkB9L,KAAK+L,IAAI/L,KAAKyH,IAAIzH,KAAKqI,MAAMd,EAAmBzP,KAAKxB,MAAM2M,aAAcnL,KAAKxB,MAAMoQ,WAAa,GAEvH,GAAI5O,KAAKxB,MAAMmQ,YAAciF,IAAsBI,EAAiB,CAClE,IAAIE,EAAkBhM,KAAKyC,IAAI3K,KAAKxB,MAAMoQ,WAAa1G,KAAKiM,KAAKnU,KAAKxB,MAAMuN,WAAa/L,KAAKxB,MAAM2M,YACpG,GACIiJ,EAAwBlM,KAAKqI,MAAM2D,EAAkB,GACrDG,EAAuBH,EAAkBE,EAG7C,GD8CuB,SAA2BvS,EAAOkG,EAAKuM,GACpE,IAAIC,EAAY,EAChB,OAAI1S,IAAUkG,EAAYwM,EAGxBA,EADED,EACUzS,EAAQkG,GAAO,EAAI,EAEnBlG,EAAQkG,EAAM,GAAK,ECvDXyM,CAAkBR,EAAiBhU,KAAKxB,MAAMkQ,aAAc1O,KAAKxB,MAAMiW,kBAEvE,EAAG,CACjB,IAAIC,EAAON,EACXA,EAAwBC,EACxBA,EAAuBK,EAGzB,IACIC,EADqBzM,KAAKiM,KAAK3E,EAAkBxP,KAAKxB,MAAM2M,YACxBiJ,EAEpCQ,EADoB1M,KAAKiM,MAAMnU,KAAKxB,MAAMuN,WAAayD,GAAmBxP,KAAKxB,MAAM2M,YAAc,EACjEkJ,EAClCQ,EAAoB3M,KAAKyH,IAAIqE,EAAkBJ,GAE/CA,EAAoBI,EAClBa,EAAoBF,IACtBZ,GAAkB/T,KAAKxB,MAAM2M,WAAanL,KAAKxB,MAAM6M,cAAgBrL,KAAKxB,MAAMoQ,WAAagF,IAEtFiB,EAAoBD,IAC7Bb,GAAkB/T,KAAKxB,MAAM2M,WAAanL,KAAKxB,MAAM6M,cAAgBrL,KAAKxB,MAAMoQ,WAAagF,IAAsB,GAIvH,OAAOG,EAAiBlI,GAAU,IAInC,CACD3O,IAAK,iBACLlC,MAAO,SAAwBmI,GAC7B,IAAI9B,EAASrB,KAET0E,EAAc1E,KAAKxB,MACnB0N,EAAMxH,EAAYwH,IAClBC,EAAOzH,EAAYyH,KACnBuC,EAAehK,EAAYgK,aAC3BY,EAAe5K,EAAY4K,aAE3BD,EADW3K,EAAY6G,SACIW,EAAMC,EACrC,OAAO,IAAM/I,SAASpC,IAAImC,GAAU,SAAU2R,EAAOxD,GACnD,IAAIyD,EAAUzD,GAAS5C,GAAgB4C,EAAQ5C,EAAeY,EAC9D,OAAO,IAAMzL,cAAc,KAAM,CAC/BgL,UAAW,eAAe6C,OAAOqD,EAAU,iBAAmB,IAC9DvP,MAAOnE,EAAO2T,eAAe1D,EAAOjC,GACpCnS,IAAKoU,EACLxC,QAAS0E,GACTyB,UAAW,GACVH,QAGN,CACD5X,IAAK,iBACLlC,MAAO,SAAwBsW,EAAOjC,GACpC,IAAI0E,EAAiB/T,KAAKkV,uBAAuB5D,EAAOjC,GACpD8F,EAA0C,SAAzBnV,KAAKxB,MAAMqV,WAAwB7T,KAAKxB,MAAMkQ,eAAiB4C,EAAQpJ,KAAKyC,IAAIzC,KAAK+L,IAAIjU,KAAKxB,MAAM4W,UA5F1G,GADA,GA6FwJ,EACvK,MAAO,CACLC,UAAW,aACX7E,QAASxQ,KAAKxB,MAAM+M,SAAW,QAAU,eACzCoG,OAAQ,EAAe3R,KAAKxB,OAC5B2N,KAAMnM,KAAKxB,MAAM+M,SAAW,EAAIwI,EAChCrD,cAAe,OACf4E,aAActV,KAAKxB,MAAM+M,SAAWvL,KAAKxB,MAAM6M,YAAc,EAAI,OACjEkK,WAAYvV,KAAKxB,MAAM+M,SAAW,OAASvL,KAAKxB,MAAM6M,YAAc,EACpEmK,YAAaxV,KAAKxB,MAAM+M,SAAW,OAASvL,KAAKxB,MAAM6M,YAAc,EACrEoK,UAAWzV,KAAKxB,MAAM+M,SAAWvL,KAAKxB,MAAM6M,YAAc,EAAI,OAC9DqK,aAAc,aACdzJ,SAAU,WACVC,IAAKlM,KAAKxB,MAAM+M,SAAWwI,EAAiB,EAC5C3H,UAAW,SAASsF,OAAOyD,EAAgB,KAC3CzS,WAAY,uBACZiT,cAAe,MACfpQ,MAAOvF,KAAKxB,MAAM+M,SAAW,OAASvL,KAAKxB,MAAM2M,cAGpD,CACDjO,IAAK,gBACLlC,MAAO,SAAuB4a,GAC5B,IAAIC,EAASD,EAAOC,OAChBC,EAASF,EAAOE,OAChB5K,EAAYlL,KAAKxB,MAAM2M,WAAa,IAAM/H,SAAS6H,MAAMjL,KAAKxB,MAAM2E,UACpEiI,EAAgBpL,KAAKxB,MAAM6M,YAAc,IAAMjI,SAAS6H,MAAMjL,KAAKxB,MAAM2E,UACzEiJ,EAAY,eAAesF,OAAOmE,EAAQ,QAAQnE,OAAOoE,EAAQ,UACrE,MAAO,CACLT,UAAW,aACXzH,QAAgC,IAAxB5N,KAAKxB,MAAMuX,SAAoB,UAAY,UACnDvF,QAAS,QACTmB,OAAQ3R,KAAKxB,MAAM+M,SAAWL,EAAYE,EAAgBpL,KAAKxB,MAAMgN,YACrEiF,OAAQzQ,KAAKxB,MAAM+M,SAAW,GAAGmG,OAAO1R,KAAKxB,MAAM6M,YAAc,GAAK,EAAG,UAAY,OAAOqG,OAAO1R,KAAKxB,MAAM6M,YAAc,GAAK,EAAG,MACpIoC,QAAS,EACTxB,SAAU,WACVyJ,aAAc,aACdpJ,YAAa,aAAaoF,OAAOmE,EAAQ,QAAQnE,OAAOoE,EAAQ,OAChEE,YAAa,cAActE,OAAO1R,KAAKxB,MAAM+M,SAAW,QAAU,SAClEa,UAAWA,EACXC,gBAAiBD,EACjB7G,MAAO,UAGV,CACDrI,IAAK,SACLlC,MAAO,WACL,IAAImI,EAAWnD,KAAKiW,eAAejW,KAAKxB,MAAM2E,UAC1C0S,EAAS7V,KAAKxB,MAAMqX,OACpBC,EAAS9V,KAAKxB,MAAMsX,OACxB,OAAO,IAAMjS,cAAc,KAAM,CAC/BgL,UAAW,cACXrJ,MAAOxF,KAAKqR,cAAc,CACxBwE,OAAQA,EACRC,OAAQA,KAET3S,QA7MS,GAAkB/E,EAAYjB,UAAWqE,GACrDC,GAAa,GAAkBrD,EAAaqD,GAgNzCkS,EAtJ2B,CAuJlC,IAAMrQ,WClPR,SAAS,GAAQ9G,GAWf,OATE,GADoB,mBAAXuB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GASjB,SAAS,GAAkB+B,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAUlD,SAAS,GAA2BK,EAAMzB,GACxC,OAAIA,GAA2B,WAAlB,GAAQA,IAAsC,mBAATA,EAOpD,SAAgCyB,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EARA,CAAuBA,GAHrBzB,EAcX,SAAS,GAAgB4B,GAIvB,OAHA,GAAkBpE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAkBzB,SAAS,GAAgBA,EAAGU,GAM1B,OALA,GAAkB9E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GDqK5B,GAAiB4D,UAAY,CAC3BsQ,UAAW,IAAUqC,MAAM,CAAC,SAC5BpK,UAAW,IAAUqK,OACrB9K,YAAa,IAAU+K,OACvB1H,aAAc,IAAU0H,OACxBP,OAAQ,IAAUO,OAClBN,OAAQ,IAAUM,OAClBL,SAAU,IAAUM,KACpBtK,WAAY,IAAUqK,OACtB3K,WAAY,IAAUyK,MAAM,CAAC,QAAS,UAAW,QACjDzB,iBAAkB,IAAU4B,KAC5BlK,KAAM,IAAUiK,OAChBxH,WAAY,IAAUwH,OACtB5K,YAAa,IAAU4K,OACvBtC,YAAa,IAAUsC,OACvBjG,eAAgB,IAAUmG,UAAU,CAAC,IAAUH,OAAQ,IAAUC,SACjEjL,WAAY,IAAUiL,OACtBlK,IAAK,IAAUkK,OACf7K,SAAU,IAAU8K,KACpB1H,WAAY,IAAU0H,KACtBjB,UAAW,IAAUgB,QAEvB,GAAiB5S,aAAe,CAC9BsI,UAAW,OACXT,YAAa,EACbqD,aAAc,EACdmH,OAAQ,EACRC,OAAQ,EACRC,UAAU,EACVhK,WAAY,EACZN,WAAY,MACZgJ,kBAAkB,EAClBtI,KAAM,EACNyC,WAAY,EACZpD,YAAa,EACb2E,eAAgB,EAChBhF,WAAY,EACZe,IAAK,EACLX,UAAU,EACVoD,YAAY,EACZyG,UAAW,KCrMb,IAAI,GAA8B,SAAUvH,GAG1C,SAAS0I,EAAe/X,GACtB,IAAIuB,EAMJ,OApFJ,SAAyB5B,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCA8EpB,CAAgB2B,KAAMuW,IAEtBxW,EAAQ,GAA2BC,KAAM,GAAgBuW,GAAgBlZ,KAAK2C,KAAMxB,KAC9EgY,cAAgBhY,EAAMkQ,aACrB3O,EApEX,IAAsB3B,EAAaoD,EAAYC,EAyL7C,OA5JF,SAAmBlC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAY,GAAgBD,EAAUC,GAkB1C,CAAU+W,EAAgB1I,GA3DNzP,EAuEPmY,GAvEoB/U,EAuEJ,CAAC,CAC5BtE,IAAK,iBACLlC,MAAO,SAAwBmI,EAAUwK,GACvC,IAAItM,EAASrB,KAET0E,EAAc1E,KAAKxB,MACnBkQ,EAAehK,EAAYgK,aAC3BY,EAAe5K,EAAY4K,aAC/B,OAAO,IAAMlM,SAASpC,IAAImC,GAAU,SAAU2R,EAAOxD,GACnD,IAAIyD,EAAUzD,GAAS5C,GAAgB4C,EAAQ5C,EAAeY,EAC9D,OAAO,IAAMzL,cAAc,KAAM,CAC/BgL,UAAW,eAAe6C,OAAOqD,EAAU,iBAAmB,IAC9DvP,MAAOnE,EAAO2T,eAAe1D,EAAO3D,GACpCzQ,IAAKoU,EACLxC,QAAS0E,GACTyB,UAAW,GACVH,QAGN,CACD5X,IAAK,4BACLlC,MAAO,SAAmCyb,EAAUC,EAAQC,GAE1D,IAAIC,EAAiBF,EAEjBD,EAAWE,GAAqB,IAAbF,EACrBG,EAAiBH,EAAWzW,KAAKxB,MAAM8Q,aAC9BmH,EAAWE,GAAQF,EAAWzW,KAAKxB,MAAM8Q,aAAetP,KAAKxB,MAAMoQ,WAAa,IACzFgI,EAAiBH,EAAWzW,KAAKxB,MAAM8Q,cAIzC,IAAI3B,EAAU,GAEd,GAAI8I,IAAaC,EACf/I,EAAQ8I,GAAY,MACf,CACL,IAAII,EAAWJ,EAAWG,EAC1BjJ,EAAQ8I,IAAaE,EAAOC,GAAkBC,EAC9ClJ,EAAQ+I,IAAWD,EAAWE,GAAQE,EAMxC,IAFA,IAAI7V,EAAM,GAEDzF,EAAI,EAAGA,EAAIyE,KAAKxB,MAAM8Q,aAAc/T,IAC3CyF,EAAIyV,EAAWlb,GAAK,CAClBoS,QAASA,EAAQ8I,GACjBtK,KAAMnM,KAAKxB,MAAM2M,WAAa5P,GAEhCyF,EAAI0V,EAASnb,GAAK,CAChBoS,QAASA,EAAQ+I,GACjBvK,KAAMnM,KAAKxB,MAAM2M,WAAa5P,GAIlC,OAAOyF,IAER,CACD9D,IAAK,iBACLlC,MAAO,SAAwBsW,EAAOlQ,GACpC,MAAO,CACLiU,UAAW,aACX7E,QAAS,QACTmB,OAAQ,EAAe3R,KAAKxB,OAC5B2N,KAAM/K,EAAKkQ,GAASlQ,EAAKkQ,GAAOnF,KAAO,EACvCuE,cAAe,OACf4E,aAAc,OACdC,WAAYvV,KAAKxB,MAAM6M,YAAc,EACrCmK,YAAaxV,KAAKxB,MAAM6M,YAAc,EACtCoK,UAAW,OACXC,aAAc,aACd/H,QAASvM,EAAKkQ,GAASlQ,EAAKkQ,GAAO3D,QAAU,EAC7C1B,SAAU,WACVC,IAAK,EACLyJ,cAAe,MACfmB,WAAY1V,EAAKkQ,GAAS,UAAY,SACtC/L,MAAOvF,KAAKxB,MAAM2M,cAGrB,CACDjO,IAAK,qBACLlC,MAAO,WACL,IAAIuK,EAAQvF,KAAKxB,MAAM2M,WAAanL,KAAKxB,MAAM8Q,aAC/C,MAAO,CACL+F,UAAW,aACXzH,QAAgC,IAAxB5N,KAAKxB,MAAMuX,SAAoB,UAAY,UACnDvF,QAAS,QACTmB,OAAQ3R,KAAKxB,MAAMgN,YACnBiF,OAAQzQ,KAAKxB,MAAM+M,SAAW,GAAGmG,OAAO1R,KAAKxB,MAAM6M,YAAc,GAAK,EAAG,UAAY,OAAOqG,OAAO1R,KAAKxB,MAAM6M,YAAc,GAAK,EAAG,MACpIqK,aAAc,aACdjI,QAAS,EACTuI,YAAa,cAActE,OAAO1R,KAAKxB,MAAM+M,SAAW,QAAU,SAClEhG,MAAOA,KAGV,CACDrI,IAAK,SACLlC,MAAO,WACL,IAAI2b,IAAS3W,KAAKxB,MAAMqX,QAAU7V,KAAKxB,MAAMsX,QAAU9V,KAAKxB,MAAM2M,WAAanL,KAAKxB,MAAMoQ,WAEtF4D,SAASmE,KAAUA,IACrB3W,KAAKwW,cAAgBG,GAGvB,IAAII,EAAoB/W,KAAKgX,0BAA0BhX,KAAKwW,cAAexW,KAAKxB,MAAMkQ,aAAciI,GAChGxT,EAAWnD,KAAKiW,eAAejW,KAAKxB,MAAM2E,SAAU4T,GACxD,OAAO,IAAMlT,cAAc,KAAM,CAC/BgL,UAAW,cACXrJ,MAAOxF,KAAKiX,sBACX9T,QApLS,GAAkB/E,EAAYjB,UAAWqE,GACrDC,GAAa,GAAkBrD,EAAaqD,GAuLzC8U,EA/HyB,CAgIhC,IAAMjT,WCvNR,SAAS,GAAQ9G,GAWf,OATE,GADoB,mBAAXuB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GASjB,SAAS,GAAkB+B,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAkBlD,SAAS,GAAgBQ,GAIvB,OAHA,GAAkBpE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAGzB,SAAS,GAAuBH,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EAkBT,SAAS,GAAgBG,EAAGU,GAM1B,OALA,GAAkB9E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GD0I5B,GAAe4D,UAAY,CACzB8H,YAAa,IAAU+K,OACvB1H,aAAc,IAAU0H,OACxBP,OAAQ,IAAUO,OAClBN,OAAQ,IAAUM,OAClBL,SAAU,IAAUM,KACpB5K,WAAY,IAAUyK,MAAM,CAAC,QAAS,UAAW,QACjDzB,iBAAkB,IAAU4B,KAC5BlK,KAAM,IAAUiK,OAChBxH,WAAY,IAAUwH,OACtB5K,YAAa,IAAU4K,OACvB9G,aAAc,IAAU8G,OACxBjL,WAAY,IAAUiL,OACtBlK,IAAK,IAAUkK,OACf7K,SAAU,IAAU8K,KACpB1H,WAAY,IAAU0H,MAExB,GAAe7S,aAAe,CAC5B6H,YAAa,EACbqD,aAAc,EACdmH,OAAQ,EACRC,OAAQ,EACRC,UAAU,EACVtK,WAAY,MACZgJ,kBAAkB,EAClBtI,KAAM,EACNyC,WAAY,EACZpD,YAAa,EACb8D,aAAc,EACdnE,WAAY,EACZe,IAAK,EACLX,UAAU,EACVoD,YAAY,GCnKd,IAGI,GAAkC,SAAUd,GAG9C,SAASqJ,EAAmB1Y,GAC1B,IAAIuB,EA1D4BjB,EAAMzB,EAgEtC,OAtFJ,SAAyBc,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAgFpB,CAAgB2B,KAAMkX,GA5DUpY,EA8DGkB,MAAnCD,IA9DsC1C,EA8DG,GAAgB6Z,GAAoB7Z,KAAK2C,KAAMxB,KA7D3D,WAAlB,GAAQnB,IAAsC,mBAATA,EAI3C,GAAuByB,GAHrBzB,GA6DDgU,cAAgBtR,EAAMsR,cAAcrD,KAAK,GAAuBjO,IAC/DA,EAtEX,IAAsB3B,EAAaoD,EAAYC,EAwP7C,OA3NF,SAAmBlC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAY,GAAgBD,EAAUC,GAoB1C,CAAU0X,EAAoBrJ,GA7DVzP,EA2EP8Y,GA3EoB1V,EA2EA,CAAC,CAChCtE,IAAK,yBACLlC,MAAO,SAAgCsW,GACrC,IAAIyC,EAAiB,EACjBlI,EAAS,EAEb,GAAIyF,IAAUtR,KAAKxB,MAAMkQ,aAAc,CACrC,IAAIyI,EAAiCnX,KAAKoX,kCAAkC9F,GAC5EyC,GAAkB/T,KAAKxB,MAAM2M,WAAanL,KAAKxB,MAAM6M,aAAe8L,EAAiCnX,KAAKqX,iBAAiBF,GAC3HtL,EAAS,EAEoB,SAAzB7L,KAAKxB,MAAMqV,YAAyB7T,KAAKxB,MAAMkQ,eAAiB4C,EAAQ,GAAiC,IAA5BtR,KAAKxB,MAAMkQ,cAAsB4C,IAAUtR,KAAKxB,MAAM2E,SAAS3H,OAAS,GACvJqQ,EAAS7L,KAAKxB,MAAMsV,YACc,SAAzB9T,KAAKxB,MAAMqV,YAAyB7T,KAAKxB,MAAMkQ,eAAiB4C,EAAQ,GAAKtR,KAAKxB,MAAMkQ,eAAiB1O,KAAKxB,MAAM2E,SAAS3H,OAAS,GAAe,IAAV8V,KACpJzF,GAAU7L,KAAKxB,MAAMsV,aAIzB,OAAOC,EAAiBlI,IAIzB,CACD3O,IAAK,iBACLlC,MAAO,SAAwBmI,GAC7B,IAAI9B,EAASrB,KAET0E,EAAc1E,KAAKxB,MACnB0N,EAAMxH,EAAYwH,IAClBC,EAAOzH,EAAYyH,KACnBuC,EAAehK,EAAYgK,aAC3BY,EAAe5K,EAAY4K,aAE3BD,EADW3K,EAAY6G,SACIW,EAAMC,EACrC,OAAO,IAAM/I,SAASpC,IAAImC,GAAU,SAAU2R,EAAOxD,GACnD,IAAIyD,EAAU1T,EAAOiW,0BAA0BhG,IAAUhC,EAAe,EACpEiI,EAAU7I,IAAiB4C,EAC/B,OAAO,IAAMzN,cAAc,KAAM,CAC/BgL,UAAW,eAAe6C,OAAOqD,EAAU,iBAAmB,IAAIrD,OAAO6F,EAAU,iBAAmB,IACtG/R,MAAOnE,EAAO2T,eAAe1D,EAAOjC,GACpCnS,IAAKoU,EACLxC,QAAS0E,GACTyB,UAAW,GACVH,QAGN,CACD5X,IAAK,mBACLlC,MAAO,SAA0Bwc,GAC/B,OAAkC,IAA9BA,EACK,GAGoB,EAAItP,KAAKc,IAAIhJ,KAAKxB,MAAM4W,UAAWlN,KAAKyH,IAAI6H,KAA+BxX,KAAKxB,MAAM2M,YACnGqM,EAA4B,GAAK,EAAI,GACJxX,KAAKqX,iBAAiBG,EAA4B,EAAIA,EAA4B,EAAIA,EAA4B,KAGpK,CACDta,IAAK,cACLlC,MAAO,SAAqBsW,EAAOmG,GACjC,OAAOvP,KAAKyH,IAAI2B,EAAQmG,KAEzB,CACDva,IAAK,4BACLlC,MAAO,SAAmCsW,GACxC,IAAIoG,EAAe1X,KAAKxB,MACpBmQ,EAAa+I,EAAa/I,WAC1BD,EAAegJ,EAAahJ,aAC5BE,EAAa8I,EAAa9I,WAC9B,OAAOD,EAAazG,KAAK+L,IAAI/L,KAAK+L,IAAIjU,KAAK2X,YAAYrG,EAAO,GAAKtR,KAAK2X,YAAYjJ,EAAcE,GAAa5O,KAAK2X,YAAYrG,EAAO1C,GAAc5O,KAAK2X,YAAYjJ,EAAc,IAAK1O,KAAK2X,YAAYrG,EAAO5C,IAAiB1O,KAAK2X,YAAYrG,EAAO5C,KAE3P,CACDxR,IAAK,oCACLlC,MAAO,SAA2CsW,GAChD,IAAIsG,EAAe5X,KAAKxB,MACpBmQ,EAAaiJ,EAAajJ,WAC1BD,EAAekJ,EAAalJ,aAC5BE,EAAagJ,EAAahJ,WAE9B,IAAID,EAoBF,OAAO2C,EAAQ5C,EAnBf,IAAImJ,EAAoB7X,KAAK2X,YAAYrG,EAAO,GAAKtR,KAAK2X,YAAYjJ,EAAcE,GAChFkJ,EAAsB9X,KAAK2X,YAAYrG,EAAO1C,GAAc5O,KAAK2X,YAAYjJ,EAAc,GAC3FqJ,EAAyB/X,KAAK2X,YAAYrG,EAAO5C,GAGrD,OAFsBxG,KAAK+L,IAAI/L,KAAK+L,IAAI4D,EAAmBC,GAAsBC,IAG/E,KAAKA,EACH,OAAOzG,EAAQ5C,EAEjB,KAAKmJ,EACH,OAAOA,EAET,KAAKC,EACH,OAAQA,EAEV,QACE,OAAO,KAMd,CACD5a,IAAK,oBACLlC,MAAO,SAA2BsW,GAChC,OAAOtR,KAAKxB,MAAMkQ,eAAiB4C,EAAQpJ,KAAKyC,IAAIzC,KAAK+L,IAAI/L,KAAKc,IAAIhJ,KAAKxB,MAAM4W,UAAWpV,KAAKsX,0BAA0BhG,IA3H5G,GADA,GA4HwJ,IAExK,CACDpU,IAAK,kBACLlC,MAAO,SAAyBsW,GAC9B,OAAOtR,KAAKxB,MAAMkQ,eAAiB4C,EAAQpJ,KAAKyC,IAAIzC,KAAK+L,IAAI/L,KAAKc,IAAIhJ,KAAKxB,MAAMwZ,aAAchY,KAAKsX,0BAA0BhG,IAhI/G,GADA,GAiI2J,IAE3K,CACDpU,IAAK,iBACLlC,MAAO,SAAwBsW,EAAOjC,GACpC,IAAI4I,EAAejY,KAAKxB,MACpB+M,EAAW0M,EAAa1M,SACxBqD,EAAaqJ,EAAarJ,WAC1BvD,EAAc4M,EAAa5M,YAC3BF,EAAa8M,EAAa9M,WAC1B4I,EAAiB/T,KAAKkV,uBAAuB5D,EAAOjC,GACpD8F,EAAiBnV,KAAKkY,kBAAkB5G,GAC5C,MAAO,CACL+D,UAAW,aACX7E,QAASjF,EAAW,QAAU,eAC9BoG,OAAQ,EAAe3R,KAAKxB,OAC5B2N,KAAMZ,EAAW,EAAIwI,EACrBrD,cAAe,OACf4E,aAAc/J,EAAWF,EAAc,EAAI,OAC3CkK,WAAYhK,EAAW,OAASF,EAAc,EAC9CmK,YAAajK,EAAW,OAASF,EAAc,EAC/CoK,UAAWlK,EAAWF,EAAc,EAAI,OACxCqK,aAAc,aACd/H,QAAS3N,KAAKmY,gBAAgB7G,GAC9BrF,SAAU,WACVC,IAAKX,EAAWwI,EAAiB,EACjC3H,UAAW,SAASsF,OAAOyD,EAAgB,KAC3CzS,WAAY,qEACZiT,cAAe,MACfpQ,MAAOgG,EAAW,OAASJ,EAC3BiN,OAAQxJ,EAAa5O,KAAKsX,0BAA0BhG,MAGvD,CACDpU,IAAK,gBACLlC,MAAO,WACL,IAAIkQ,EAAYlL,KAAKxB,MAAM2M,WAAa,IAAM/H,SAAS6H,MAAMjL,KAAKxB,MAAM2E,UACpEiI,EAAgBpL,KAAKxB,MAAM6M,YAAc,IAAMjI,SAAS6H,MAAMjL,KAAKxB,MAAM2E,UAC7E,MAAO,CACLkS,UAAW,aACXzH,QAAgC,IAAxB5N,KAAKxB,MAAMuX,SAAoB,UAAY,UACnDpE,OAAQ3R,KAAKxB,MAAM+M,SAAWL,EAAYE,EAAgBpL,KAAKxB,MAAMgN,YACrEW,KAAM,eAAeuF,OAAO1R,KAAKxB,MAAM2M,WAAY,YACnDsF,OAAQzQ,KAAKxB,MAAM+M,SAAW,GAAGmG,OAAO1R,KAAKxB,MAAM6M,YAAc,GAAK,EAAG,UAAY,GAAGqG,OAAO1R,KAAKxB,MAAM6Z,gBAAiB,OAAO3G,OAAO1R,KAAKxB,MAAM6M,YAAc,GAAK,EAAG,MAC1KqK,aAAc,aACdjI,QAAS,EACTxB,SAAU,WACV+J,YAAa,cAActE,OAAO1R,KAAKxB,MAAM+M,SAAW,QAAU,SAClEhG,MAAOvF,KAAKxB,MAAM+M,SAAW,OAAS,UAGzC,CACDrO,IAAK,SACLlC,MAAO,WACL,IAAImI,EAAWnD,KAAKiW,eAAejW,KAAKxB,MAAM2E,UAC9C,OAAO,IAAMU,cAAc,KAAM,CAC/BgL,UAAW,cACXrJ,MAAOxF,KAAKqR,iBACXlO,QAnPS,GAAkB/E,EAAYjB,UAAWqE,GACrDC,GAAa,GAAkBrD,EAAaqD,GAsPzCyV,EA5L6B,CA6LpC,IAAM5T,WAGR,GAAmBC,UAAY,CAC7B8H,YAAa,IAAU+K,OACvB1H,aAAc,IAAU0H,OACxBL,SAAU,IAAUM,KACpB5K,WAAY,IAAUyK,MAAM,CAAC,QAAS,UAAW,QACjDzB,iBAAkB,IAAU4B,KAC5BlK,KAAM,IAAUiK,OAChB4B,aAAc,IAAU5B,OACxBxH,WAAY,IAAUwH,OACtB5K,YAAa,IAAU4K,OACvBiC,gBAAiB,IAAUjC,OAC3BtC,YAAa,IAAUsC,OACvB9G,aAAc,IAAU8G,OACxBjL,WAAY,IAAUiL,OACtBlK,IAAK,IAAUkK,OACf7K,SAAU,IAAU8K,KACpB1H,WAAY,IAAU0H,KACtBjB,UAAW,IAAUgB,QAEvB,GAAmB5S,aAAe,CAChC6H,YAAa,EACbqD,aAAc,EACdqH,UAAU,EACVtK,WAAY,MACZgJ,kBAAkB,EAClBtI,KAAM,EACN6L,aAAc,IACdpJ,WAAY,EACZpD,YAAa,EACb6M,gBAAiB,EACjB/I,aAAc,EACdnE,WAAY,EACZe,IAAK,EACLX,UAAU,EACVoD,YAAY,EACZyG,UAAW,KClUE,QACbuB,KAAM,GACN2B,OAAQ,GACRC,SAAU,ICmBG,GAvBK,SAAuBC,GACzC,IAAIC,EAAUD,EAAKC,QASnB,OAAO,IAAM5U,cAAc,MAAO,CAChC,YAAa,SACb,cAAe,OACf2B,MAXW,CACXyG,SAAU,WACVE,KAAM,WACND,IAAK,OACL3G,MAAO,MACPoM,OAAQ,MACR+G,SAAU,UAMVzD,UAAW,GACVwD,I,wCCLL,SAASE,GAAmBC,GAC1B,OAWF,SAA4BA,GAC1B,GAAIC,MAAMC,QAAQF,GAAM,CACtB,IAAK,IAAIrd,EAAI,EAAGwd,EAAO,IAAIF,MAAMD,EAAIpd,QAASD,EAAIqd,EAAIpd,OAAQD,IAC5Dwd,EAAKxd,GAAKqd,EAAIrd,GAGhB,OAAOwd,GAjBFC,CAAmBJ,IAO5B,SAA0BK,GACxB,GAAIlb,OAAOC,YAAYnD,OAAOoe,IAAkD,uBAAzCpe,OAAOsC,UAAU+b,SAAS7b,KAAK4b,GAAgC,OAAOJ,MAAMM,KAAKF,GARtFG,CAAiBR,IAGrD,WACE,MAAM,IAAIva,UAAU,mDAJuCgb,GAsBtD,IAYI,GAAmB,SAA0BlW,GAEtD,OAAO,IAAMC,SAASkW,QAAQnW,IAG5BoW,GAAS,SAAgB1d,EAAGC,GAC9B,OAAOD,EAAIC,EAAID,EAAIC,GAGjB0d,GAAmB,SAA0BC,GAC/C,OAAKA,EAIDA,EAAMtW,UAAYsW,EAAMtW,SAAS3H,OAAS,EAG7Bmd,GAAmBc,EAAMtW,UAExBuW,QAAO,SAAUC,EAAa7E,GAC5C,OAAO6E,EAAc7E,EAAM8E,eAC1B,GAEIH,EAAMG,aAZN,GAiBAC,GAA4B,SAAmCC,EAAQjY,EAAOkG,GACvF,IAAIgS,EAAY,EAEhB,GAAsB,IAAlBD,EAAOte,QAAgBqG,EAAQ,GAAKkG,EAAM,GAAKlG,EAAQiY,EAAOte,OAAS,GAAKuM,EAAM+R,EAAOte,OAC3F,OAAOue,EAGT,GAAIlY,EAAQkG,EACV,IAAK,IAAIxM,EAAIsG,EAAOtG,EAAIwM,EAAKxM,IAC3Bwe,EAAYR,GAAOC,GAAiBM,EAAOve,IAAKwe,QAE7C,GAAIlY,EAAQkG,EAAK,CAEtB,IAAK,IAAItM,EAAKoG,EAAOpG,EAAKqe,EAAOte,OAAQC,IACvCse,EAAYR,GAAOC,GAAiBM,EAAOre,IAAMse,GAGnD,IAAK,IAAI5d,EAAM,EAAGA,EAAM4L,EAAK5L,IAC3B4d,EAAYR,GAAOC,GAAiBM,EAAO3d,IAAO4d,QAIpDA,EAAYP,GAAiBM,EAAOjY,IAGtC,OAAOkY,GAEEC,GAAyB,SAAgCtL,EAAcY,EAAc2K,EAAWtL,EAAYmL,GACrH,GAAIxK,EAAe,EAAG,CACpB,IAAI4K,EAAaxL,EACbyL,EAAYjS,KAAK+L,IAAI/L,KAAKiM,KAAK7E,GAAgBZ,EAAcoL,EAAOte,QACpEqQ,EAAuB,WAAdoO,GAA0B3K,EAAe,GAAK,EAAIA,EAAe,EAE9E,OAAQ2K,GACN,IAAK,SACHC,EAAahS,KAAKqI,MAAM7B,EAAe7C,GACvCsO,EAAYjS,KAAKiM,KAAKzF,EAAe7C,GAAU,EAC/C,MAEF,IAAK,QACHqO,EAAahS,KAAKqI,MAAM7B,EAAe7C,GACvCsO,EAAYzL,EAAe,EAC3B,MAEF,IAAK,OACHwL,EAAahS,KAAKqI,MAAM7B,EAAe7C,GACvCsO,EAAYjS,KAAKiM,KAAKzF,EAAe7C,GAAU,EAQnD,OAHAqO,EAAavL,GAAcuL,EAAa,EAAIJ,EAAOte,OAAS0e,EAAahS,KAAKyC,IAAIuP,EAAY,GAE9FC,EAAYxL,GAAcwL,EAAYL,EAAOte,OAAS2e,EAAYL,EAAOte,OAAS0M,KAAK+L,IAAIkG,EAAWL,EAAOte,QACtGqe,GAA0BC,EAAQI,EAAYC,GAErD,OAAOX,GAAiBM,EAAOpL,KC/GnC,SAAS,GAAQlS,GAWf,OATE,GADoB,mBAAXuB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GAGjB,SAAS4d,KAeP,OAdAA,GAAWvf,OAAOwf,QAAU,SAAU9b,GACpC,IAAK,IAAIhD,EAAI,EAAGA,EAAIkJ,UAAUjJ,OAAQD,IAAK,CACzC,IAAI2R,EAASzI,UAAUlJ,GAEvB,IAAK,IAAI2B,KAAOgQ,EACVrS,OAAOsC,UAAUC,eAAeC,KAAK6P,EAAQhQ,KAC/CqB,EAAOrB,GAAOgQ,EAAOhQ,IAK3B,OAAOqB,IAGOiG,MAAMxE,KAAMyE,WAG9B,SAAS,GAAQiI,EAAQC,GACvB,IAAIC,EAAO/R,OAAO+R,KAAKF,GAEvB,GAAI7R,OAAOgS,sBAAuB,CAChC,IAAIC,EAAUjS,OAAOgS,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOnS,OAAOoC,yBAAyByP,EAAQM,GAAKtO,eAEtDkO,EAAKjR,KAAK6I,MAAMoI,EAAME,GAGxB,OAAOF,EAGT,SAAS,GAAcrO,GACrB,IAAK,IAAIhD,EAAI,EAAGA,EAAIkJ,UAAUjJ,OAAQD,IAAK,CACzC,IAAI2R,EAAyB,MAAhBzI,UAAUlJ,GAAakJ,UAAUlJ,GAAK,GAE/CA,EAAI,EACN,GAAQV,OAAOqS,IAAS,GAAMlK,SAAQ,SAAU9F,GAC9C,GAAgBqB,EAAQrB,EAAKgQ,EAAOhQ,OAE7BrC,OAAOsS,0BAChBtS,OAAOuS,iBAAiB7O,EAAQ1D,OAAOsS,0BAA0BD,IAEjE,GAAQrS,OAAOqS,IAASlK,SAAQ,SAAU9F,GACxCrC,OAAOC,eAAeyD,EAAQrB,EAAKrC,OAAOoC,yBAAyBiQ,EAAQhQ,OAKjF,OAAOqB,EAGT,SAAS,GAAgB/B,EAAKU,EAAKlC,GAYjC,OAXIkC,KAAOV,EACT3B,OAAOC,eAAe0B,EAAKU,EAAK,CAC9BlC,MAAOA,EACP0D,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZpC,EAAIU,GAAOlC,EAGNwB,EAGT,SAAS,GAAgB2B,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAAS,GAAkBE,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAUlD,SAAS,GAA2BK,EAAMzB,GACxC,OAAIA,GAA2B,WAAlB,GAAQA,IAAsC,mBAATA,EAI3C,GAAuByB,GAHrBzB,EAMX,SAAS,GAAgB4B,GAIvB,OAHA,GAAkBpE,OAAOqE,eAAiBrE,OAAOsE,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAavE,OAAOsE,eAAeF,KAEvBA,GAGzB,SAAS,GAAuBH,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIO,eAAe,6DAG3B,OAAOP,EAkBT,SAAS,GAAgBG,EAAGU,GAM1B,OALA,GAAkB9E,OAAOqE,gBAAkB,SAAyBD,EAAGU,GAErE,OADAV,EAAEG,UAAYO,EACPV,IAGcA,EAAGU,GAe5B,IAAI,GAAwB,SAAUkO,GAGpC,SAASyM,IACP,IAAIva,EAuFJ,OArFA,GAAgBC,KAAMsa,IAEtBva,EAAQ,GAA2BC,KAAM,GAAgBsa,GAAU9V,MAAMxE,KAAMyE,aACzE8V,YAAc,WACpBxa,EAAMya,eAAgB,EACtBza,EAAMU,iBAAkB,EACxBV,EAAM0a,OAAS,GACf1a,EAAM2a,YAAc,GACpB3a,EAAM4a,YAAc,CAAC,CACnBC,SAAU,wBACV1d,IAAK,WACJ,CACD0d,SAAU,0BACV1d,IAAK,aACJ,CACD0d,SAAU,yBACV1d,IAAK,YACJ,CACD0d,SAAU,2BACV1d,IAAK,cACJ,CACD0d,SAAU,6BACV1d,IAAK,gBACJ,CACD0d,SAAU,4BACV1d,IAAK,eACJ,CACD0d,SAAU,2BACV1d,IAAK,cACJ,CACD0d,SAAU,6BACV1d,IAAK,gBACJ,CACD0d,SAAU,4BACV1d,IAAK,gBAEP6C,EAAM8a,cAAgB,CACpB1L,UAAW,CAAC,GAAI,GAAI,GAAI,IACxBhB,cAAe,CAAC,GAAI,GAAI,GAAI,IAC5B2M,WAAY,CAAC,IACbC,UAAW,CAAC,IACZC,MAAO,CAAC,KAEVjb,EAAMkb,sBAAwB,KAC9Blb,EAAMG,MAAQ,GAAc,CAC1BwO,aAAc3O,EAAMvB,MAAMmN,WAC1BoK,UAAU,EACVmF,OAAQnb,EAAMvB,MAAM2c,iBAAmB,GAAK,EAC5CC,gBAAgB,EAEhB3G,kBAAkB,EAClBtI,KAAM,EACNkP,yBAAyB,EACzBzM,WAAY,GAAiB7O,EAAMvB,MAAM2E,UAAU3H,OACnD0Q,IAAK,EACLoP,YAAa,KACbC,UAAU,GACTpI,GAAqBpT,EAAMvB,QAC9BuB,EAAMyb,iBAAmBzb,EAAMyb,iBAAiBxN,KAAK,GAAuBjO,IAC5EA,EAAM0b,wBAA0B1b,EAAM0b,wBAAwBzN,KAAK,GAAuBjO,IAC1FA,EAAM2b,cAAgB3b,EAAM2b,cAAc1N,KAAK,GAAuBjO,IACtEA,EAAM4b,eAAiB5b,EAAM4b,eAAe3N,KAAK,GAAuBjO,IACxEA,EAAM6b,gBAAkB7b,EAAM6b,gBAAgB5N,KAAK,GAAuBjO,IAC1EA,EAAM8b,cAAgB9b,EAAM8b,cAAc7N,KAAK,GAAuBjO,IACtEA,EAAM+b,eAAiB/b,EAAM+b,eAAe9N,KAAK,GAAuBjO,IACxEA,EAAM0R,UAAY1R,EAAM0R,UAAUzD,KAAK,GAAuBjO,IAC9DA,EAAMgc,YAAchc,EAAMgc,YAAY/N,KAAK,GAAuBjO,IAClEA,EAAMic,WAAajc,EAAMic,WAAWhO,KAAK,GAAuBjO,IAChEA,EAAMgO,YAAchO,EAAMgO,YAAYC,KAAK,GAAuBjO,IAClEA,EAAMkc,eAAiBlc,EAAMkc,eAAejO,KAAK,GAAuBjO,IACxEA,EAAMmc,eAAiBnc,EAAMmc,eAAelO,KAAK,GAAuBjO,IACxEA,EAAMoc,gBAAkBpc,EAAMoc,gBAAgBnO,KAAK,GAAuBjO,IAC1EA,EAAMqc,YAAcrc,EAAMqc,YAAYpO,KAAK,GAAuBjO,IAClEA,EAAMoP,UAAYpP,EAAMoP,UAAUnB,KAAK,GAAuBjO,IAC9DA,EAAMsc,SAAWtc,EAAMsc,SAASrO,KAAK,GAAuBjO,IAC5DA,EAAMuc,mBAAqBvc,EAAMuc,mBAAmBtO,KAAK,GAAuBjO,IAChFA,EAAMoO,cAAgBpO,EAAMoO,cAAcH,KAAK,GAAuBjO,IACtEA,EAAMwc,eAAiBxc,EAAMwc,eAAevO,KAAK,GAAuBjO,IACxEA,EAAMyc,cAAgBzc,EAAMyc,cAAcxO,KAAK,GAAuBjO,IACtEA,EAAM0c,cAAgB1c,EAAM0c,cAAczO,KAAK,GAAuBjO,IACtEA,EAAM2c,QAAU3c,EAAM2c,QAAQ1O,KAAK,GAAuBjO,IAC1DA,EAAM4c,uBAAyB5c,EAAM4c,uBAAuB3O,KAAK,GAAuBjO,IACxFA,EAAM6c,cAAgB7c,EAAM6c,cAAc5O,KAAK,GAAuBjO,IACtEA,EAAM8c,aAAe9c,EAAM8c,aAAa7O,KAAK,GAAuBjO,IACpEA,EAAM+c,oCAAsC/c,EAAM+c,oCAAoC9O,KAAK,GAAuBjO,IAC3GA,EA5JX,IAAsB3B,EAAaoD,EAAYC,EAmrC7C,OAtpCF,SAAmBlC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInB,UAAU,sDAGtBkB,EAASpC,UAAYtC,OAAO4E,OAAOD,GAAcA,EAAWrC,UAAW,CACrEc,YAAa,CACXjD,MAAOuE,EACPX,UAAU,EACVD,cAAc,KAGda,GAAY,GAAgBD,EAAUC,GAyB1C,CAAU8a,EAAUzM,GAlEAzP,EA+JPkc,GA/JoB9Y,EA+JV,CAAC,CACtBtE,IAAK,oBACLlC,MAAO,WACL,IAAIqG,EAASrB,KAGbA,KAAK+c,SAAU,EACf/c,KAAK0c,UACL1c,KAAKyc,gBACLzc,KAAKgd,aACLhd,KAAK8c,sCAED9c,KAAKxB,MAAMye,UACbjd,KAAK4c,gBAGP,IAAI/B,EAAgBT,GAAS,GAAIpa,KAAK6a,cAAe7a,KAAKxB,MAAMqc,eAEhE7a,KAAKkd,WAAald,KAAKmd,cAActC,GACrC7a,KAAKod,sBAAsBC,kBAGJ,SAASC,EAAiBC,GAC/Clc,EAAOoZ,OAAO9e,KAAK6hB,YAAW,WAIxBnc,EAAOnB,MAAMsL,YAAc,IAI/BnK,EAAOob,gBAIPa,EAAiBC,EAfE,QAgBlBA,IAGLD,CAnBuB,OAsBxB,CACDpgB,IAAK,qBACLlC,MAAO,SAA4B4H,EAAWjB,GAC5C,IAAI8b,EAAe9b,EAAU+M,eAAiB1O,KAAKE,MAAMwO,aACrDgP,EAAoB9a,EAAU6I,aAAezL,KAAKxB,MAAMiN,WAG5D,GAFkB7I,EAAU2I,WAAavL,KAAKxB,MAAM+M,SAGlDvL,KAAKqc,gBACA,GAAIoB,GAAgBC,EAAmB,CAC5C,IAAIC,EAAQ3d,KAAK4d,yBAEbD,GACFA,EAAMzZ,iBAAiB,OAAQlE,KAAK2c,wBACpCgB,EAAMxL,oBAAoB,OAAQnS,KAAK2c,yBAEvC3c,KAAK2c,yBAIT,IAAIkB,EAAiB,GAAiBjb,EAAUO,UAAU3H,OACtDoT,EAAa,GAAiB5O,KAAKxB,MAAM2E,UAAU3H,OACnDsiB,EAAoBD,IAAmBjP,EAEvCkP,GACF9d,KAAKc,SAAS,CACZ8N,WAAYA,EACZF,aAAc1O,KAAKxB,MAAMmN,aAI7B,IAGIoS,EAHwB/d,KAAKyb,0BACOjQ,cAED7J,EAAU6J,YAE7CxL,KAAK+c,SAAWgB,EAClB/d,KAAKyc,iBAEkBqB,GPnKL,SAAsBE,EAAMC,EAAMrR,GAG1D,IAFA,IAAI7K,GAAS,EAEJxG,EAAI,EAAGA,EAAIqR,EAAKpR,OAAQD,IAC/B,GAAIyiB,EAAKpR,EAAKrR,MAAQ0iB,EAAKrR,EAAKrR,IAAK,CACnCwG,GAAS,EACT,MAIJ,OAAOA,EOyJ2Cmc,CAAatb,EAAW5C,KAAKxB,MAAO,CAAC,cAAe,WAAY,aAAc,cAAe,aAAc,iBAAkB,eAAgB,iBAAkB,gBAGzMwB,KAAKyc,cAAczc,KAAKxB,OAIxBsf,GAAqBlP,GAAc5O,KAAKE,MAAMwO,aAChD1O,KAAKyR,UAAUvJ,KAAKyC,IAAIiE,EAAa,EAAG,GAAI5O,KAAKxB,OACxCoE,EAAU+I,aAAe3L,KAAKxB,MAAMmN,YAAc3L,KAAKxB,MAAMmN,aAAe3L,KAAKE,MAAMwO,cAAiB1O,KAAKE,MAAMuU,kBAC5HzU,KAAKyR,UAAUzR,KAAKxB,MAAMmN,WAAY3L,KAAKxB,OAGzCoE,EAAUqa,WAAajd,KAAKxB,MAAMye,WAChCjd,KAAKxB,MAAMye,SACbjd,KAAK4c,gBAEL5c,KAAK6c,kBAIV,CACD3f,IAAK,uBACLlC,MAAO,WACLgF,KAAKme,eACLne,KAAKoe,uCACLpe,KAAK6c,eAEL7c,KAAK+c,SAAU,EAEf,IAAK,IAAIxhB,EAAI,EAAGA,EAAIyE,KAAKya,OAAOjf,OAAQD,IACtC8iB,aAAare,KAAKya,OAAOlf,IAG3ByE,KAAKod,sBAAsBkB,sBAE5B,CACDphB,IAAK,sCACLlC,MAAO,WACL,IAAI6V,EAAS7Q,KAETue,EAAave,KAAK0b,gBAEtB,GAAI6C,EAAW/iB,QAAU,qBAAsBmI,OAAQ,CACrD3D,KAAKib,sBAAwB,IAAIuD,kBAAiB,WAChD3N,EAAO8L,4BAiBT,IAdA,IAAI8B,EAA2B,SAAkCtc,GAC/D0O,EAAOoK,sBAAsByD,QAAQvc,EAAM,CACzCwc,gBAAiB,CAAC,SAClBC,mBAAmB,EACnBC,YAAY,EACZC,eAAe,EACfC,uBAAuB,EACvBC,WAAW,EACXC,SAAS,KAMJxjB,EAAK,EAAGyjB,EAFKrG,MAAMM,KAAKoF,GAEoB9iB,EAAKyjB,EAAiB1jB,OAAQC,IAEjFgjB,EADWS,EAAiBzjB,OAKjC,CACDyB,IAAK,uCACLlC,MAAO,WACDgF,KAAKib,iCAAiCuD,kBACxCxe,KAAKib,sBAAsBkE,eAG9B,CACDjiB,IAAK,sBACLlC,MAAO,WACL,IAAIokB,EAASpf,KAETqf,EAAa,SAAoBtW,GAC/BqW,EAAOlf,MAAM6V,UAGG,IAFFtD,GAAe2M,EAAO1E,YAAY4E,OAAQvW,EAAEwW,QAAQ,GAAGC,MAAOJ,EAAO1E,YAAY+E,OAAQ1W,EAAEwW,QAAQ,GAAGG,MAAON,EAAO5gB,MAAM+M,WAGxIxC,EAAEmF,kBAiBR,MAAO,CACLmP,gBAboB,WACpBzZ,SAASM,iBAAiB,YAAamb,EAAY,CACjDM,SAAS,KAYXrB,kBARsB,WACtB1a,SAASuO,oBAAoB,YAAakN,EAAY,CACpDM,SAAS,QASd,CACDziB,IAAK,iBACLlC,MAAO,WACL,IAAI4kB,EAAS5f,KAEb,OAA2B,IAAvBA,KAAKxB,MAAMqhB,QACN,CACLC,aAAc9f,KAAKmc,gBACnB4D,WAAY/f,KAAKkc,gBAId,CACL4D,aAAc,SAAsB/W,GAClC6W,EAAOlF,YAAc,CACnB4E,OAAQvW,EAAEwW,QAAQ,GAAGC,MACrBC,OAAQ1W,EAAEwW,QAAQ,GAAGG,OAGvBE,EAAOzD,kBAEPyD,EAAO9e,SAAS,CACdiV,UAAU,KAGdiK,YAAa,SAAqBjX,GAChC,IAAIwL,EAAY9B,GAAemN,EAAOlF,YAAY4E,OAAQvW,EAAEwW,QAAQ,GAAGC,MAAOI,EAAOlF,YAAY+E,OAAQ1W,EAAEwW,QAAQ,GAAGG,MAAOE,EAAOphB,MAAM+M,UAExH,IAAdgJ,GACFxL,EAAEmF,iBAGJ,IAAI1S,EAASokB,EAAOphB,MAAM+M,SAAWrD,KAAKgL,MAAMhL,KAAKC,KAAKD,KAAKc,IAAID,EAAEwW,QAAQ,GAAGG,MAAQE,EAAOlF,YAAY+E,OAAQ,KAAOvX,KAAKgL,MAAMhL,KAAKC,KAAKD,KAAKc,IAAID,EAAEwW,QAAQ,GAAGC,MAAQI,EAAOlF,YAAY4E,OAAQ,KAEpM9jB,GAAU,MACiB,IAAzBokB,EAAOpF,eAAyBoF,EAAOphB,MAAMyhB,YAAYlX,GAC7D6W,EAAOpF,eAAgB,GAGzBoF,EAAOlF,YAAc,CACnB4E,OAAQM,EAAOlF,YAAY4E,OAC3BG,OAAQG,EAAOlF,YAAY+E,OAC3BS,KAAMnX,EAAEwW,QAAQ,GAAGC,MACnBW,KAAMpX,EAAEwW,QAAQ,GAAGG,MACnBlkB,OAAQA,EACR+Y,UAAWA,GAGbqL,EAAO9e,SAAS,CACdqL,KAAMyT,EAAOphB,MAAM+M,SAAW,EAAIqU,EAAO/D,cAAc+D,EAAOlF,YAAYlf,OAASokB,EAAOlF,YAAYnG,WACtGrI,IAAK0T,EAAOphB,MAAM+M,SAAWqU,EAAO/D,cAAc+D,EAAOlF,YAAYlf,OAASokB,EAAOlF,YAAYnG,WAAa,KAGlHwL,WAAY,SAAoBhX,GAC9B6W,EAAOxD,YAAYrT,GAEnB6W,EAAO1D,kBAETkE,cAAe,SAAuBrX,GACpC6W,EAAOxD,YAAYrT,OAIxB,CACD7L,IAAK,iBACLlC,MAAO,WACL,IAAIqlB,EAASrgB,KAEb,OAA4B,IAAxBA,KAAKxB,MAAMuX,SACN,CACLuK,YAAatgB,KAAKmc,gBAClBoE,WAAYvgB,KAAKkc,gBAId,CACLoE,YAAatgB,KAAKmc,gBAClBoE,WAAYvgB,KAAKkc,eACjBsE,YAAa,SAAqBzX,GAC5BA,EAAEmF,gBACJnF,EAAEmF,iBAGJmS,EAAO3F,YAAc,CACnB4E,OAAQvW,EAAE0X,QACVhB,OAAQ1W,EAAE2X,SAGZL,EAAOvf,SAAS,CACdiV,UAAU,KAGd4K,YAAa,SAAqB5X,GAChC,GAAKsX,EAAOngB,MAAM6V,SAAlB,CAIA,IAAIxB,EAAY9B,GAAe4N,EAAO3F,YAAY4E,OAAQvW,EAAE0X,QAASJ,EAAO3F,YAAY+E,OAAQ1W,EAAE2X,QAASL,EAAO7hB,MAAM+M,UAEtG,IAAdgJ,GACFxL,EAAEmF,iBAGJ,IAAI1S,EAAS6kB,EAAO7hB,MAAM+M,SAAWrD,KAAKgL,MAAMhL,KAAKC,KAAKD,KAAKc,IAAID,EAAE2X,QAAUL,EAAO3F,YAAY+E,OAAQ,KAAOvX,KAAKgL,MAAMhL,KAAKC,KAAKD,KAAKc,IAAID,EAAE0X,QAAUJ,EAAO3F,YAAY4E,OAAQ,KAElL9jB,GAAU,MACiB,IAAzB6kB,EAAO7F,eAAyB6F,EAAO7hB,MAAMyhB,YAAYlX,GAC7DsX,EAAO7F,eAAgB,GAGzB6F,EAAO3F,YAAc,CACnB4E,OAAQe,EAAO3F,YAAY4E,OAC3BG,OAAQY,EAAO3F,YAAY+E,OAC3BS,KAAMnX,EAAE0X,QACRN,KAAMpX,EAAE2X,QACRllB,OAAQA,EACR+Y,UAAWA,GAGb8L,EAAOvf,SAAS,CACdqL,KAAMkU,EAAO7hB,MAAM+M,SAAW,EAAI8U,EAAOxE,cAAcwE,EAAO3F,YAAYlf,OAAS6kB,EAAO3F,YAAYnG,WACtGrI,IAAKmU,EAAO7hB,MAAM+M,SAAW8U,EAAOxE,cAAcwE,EAAO3F,YAAYlf,OAAS6kB,EAAO3F,YAAYnG,WAAa,MAGlHqM,UAAW,SAAmB7X,GACM,IAA9BsX,EAAO3F,YAAYlf,aAA8CE,IAA9B2kB,EAAO3F,YAAYlf,OAQ1D6kB,EAAOjE,YAAYrT,GAPjBsX,EAAOvf,SAAS,CACdiV,UAAU,KAQhB8K,aAAc,SAAsB9X,GAC7BsX,EAAOngB,MAAM6V,UAIlBsK,EAAOjE,YAAYrT,OAIxB,CACD7L,IAAK,gBACLlC,MAAO,WACDgF,KAAKxB,MAAMye,WACbjd,KAAK8gB,gBAAiB,EACtB9gB,KAAK6c,kBAGR,CACD3f,IAAK,kBACLlC,MAAO,WACDgF,KAAKxB,MAAMye,UAAYjd,KAAK8gB,iBAC9B9gB,KAAK4c,gBACL5c,KAAK8gB,eAAiB,QAGzB,CACD5jB,IAAK,kBACLlC,MAAO,WACDgF,KAAKxB,MAAMuiB,cACb/gB,KAAKghB,kBAGR,CACD9jB,IAAK,iBACLlC,MAAO,WACDgF,KAAK8gB,gBACP9gB,KAAKihB,oBAGR,CACD/jB,IAAK,cACLlC,MAAO,WACLgF,KAAKc,SAAS,CACZya,UAAU,MAGb,CACDre,IAAK,aACLlC,MAAO,WACLgF,KAAKc,SAAS,CACZya,UAAU,MAGb,CACDre,IAAK,cACLlC,MAAO,SAAqBiT,GAC1B,IAA2B,IAAvBjO,KAAKwa,cAAwB,CAC/B,GAAIvM,EAAMiT,SAAWjT,EAAMkT,UAAYlT,EAAMmT,QAAUnT,EAAMoT,QAC3D,OAGFpT,EAAMC,iBACND,EAAMqT,kBAEFrT,EAAMsT,aACRtT,EAAMsT,YAAYD,qBAIvB,CACDpkB,IAAK,cACLlC,MAAO,WACL,IAAIwmB,EAASxhB,KAETsP,EAAetP,KAAKE,MAAMoP,aAEI,SAA9BtP,KAAKxB,MAAM2R,iBACbb,EAAetP,KAAKE,MAAMiQ,gBAG5B,IAAIsR,EAAczhB,KAAK0a,YAAYlf,QAAU,EAEzCimB,EAAczhB,KAAKE,MAAMiL,WAAamE,EAAe,EACpB,IAA/BtP,KAAK0a,YAAYnG,UACfvU,KAAKE,MAAMwO,aAAe,GAAK1O,KAAKE,MAAM0O,aAAe5O,KAAKxB,MAAMmQ,WACtE3O,KAAKc,SAAS,CACZoa,OAAQ,EAAOlb,KAAKxB,MAAMkjB,cAG5B1hB,KAAKmP,aAEkC,IAAhCnP,KAAK0a,YAAYnG,YACtBvU,KAAKE,MAAMwO,cAAgB,IAAM1O,KAAKxB,MAAMmQ,WAC9C3O,KAAKc,SAAS,CACZoa,OAAQ,EAAOlb,KAAKxB,MAAMkjB,cAG5B1hB,KAAKmO,iBAGAsT,EAAc,GACvBzhB,KAAKyR,UAAUzR,KAAKE,MAAMwO,cAI5B1O,KAAKya,OAAO9e,KAAK6hB,YAAW,WAC1BgE,EAAOhH,eAAgB,IACtB,IACHxa,KAAK0a,YAAc,GACnB1a,KAAKc,SAAS,CACZiV,UAAU,MAIb,CACD7Y,IAAK,iBACLlC,MAAO,SAAwB+N,GAC7B,GAAI/I,KAAKE,MAAMqb,UAAYvb,KAAKxB,MAAMmjB,uBAGpC,OAFiB3hB,KAAKkd,WAAWnU,EAAE6Y,UAGjC,IAAK,YACH5hB,KAAKmP,YACL,MAEF,IAAK,gBACHnP,KAAKmO,gBACL,MAEF,IAAK,aACHnO,KAAKyR,UAAU,EAAGzR,KAAKxB,OACvB,MAEF,IAAK,YACHwB,KAAKyR,UAAUzR,KAAKE,MAAM0O,WAAa,EAAG5O,KAAKxB,OAC/C,MAEF,IAAK,QACH,GAAIwB,KAAKE,MAAM6gB,cAAgB/gB,KAAKxB,MAAMye,SAAU,CAClDjd,KAAKc,SAAS,CACZigB,cAAc,IAEhB/gB,KAAKghB,gBACL,MAEAhhB,KAAKc,SAAS,CACZigB,cAAc,IAEhB/gB,KAAKihB,qBAOd,CACD/jB,IAAK,gBACLlC,MAAO,SAAuB6f,GAC5B,IAAIqC,EAAa,GAMjB,OALAriB,OAAO+R,KAAKiO,GAAe7X,SAAQ,SAAU6e,GAC3ChH,EAAcgH,GAAY7e,SAAQ,SAAU4e,GAC1C,OAAO1E,EAAW0E,GAAWC,QAG1B3E,IAER,CACDhgB,IAAK,mBACLlC,MAAO,WACDgF,KAAKxB,MAAMmQ,WACT3O,KAAKxB,MAAMsjB,gBACb9hB,KAAKmO,gBAELnO,KAAKmP,YAMLnP,KAAKxB,MAAMsjB,gBACmB,IAA5B9hB,KAAKE,MAAMwO,aACb1O,KAAKmO,gBAELnO,KAAK6c,eAEE7c,KAAKE,MAAMwO,eAAiB1O,KAAKE,MAAM0O,WAAa5O,KAAKE,MAAMoP,aACxEtP,KAAKmP,YAELnP,KAAK6c,iBAGR,CACD3f,IAAK,gBACLlC,MAAO,WACLgF,KAAK+hB,WAAaC,YAAYhiB,KAAKwb,iBAAkBxb,KAAKxB,MAAMyjB,oBAEjE,CACD/kB,IAAK,gBACLlC,MAAO,WACDgF,KAAKxB,MAAMye,WAAajd,KAAK8gB,iBAC/B9gB,KAAK6c,eACL7c,KAAK4c,mBAGR,CACD1f,IAAK,eACLlC,MAAO,WACDgF,KAAK+hB,YACPG,cAAcliB,KAAK+hB,cAItB,CACD7kB,IAAK,gBACLlC,MAAO,SAAuBmnB,EAAa1I,GACzC,IAAIlb,EAASkb,GAASzZ,KAAKE,MAAMwO,aAC7B7C,EAASH,EAAmBnN,EAAQ,GAAc,GAAIyB,KAAKxB,MAAO,GAAIwB,KAAKE,QAC3EiM,EAAOnM,KAAKE,MAAMiL,WAAa5M,EAUnC,OATgByB,KAAKE,MAAMwO,aAAe,GAAKnQ,EAASyB,KAAKE,MAAMiQ,gBAAkBnQ,KAAKE,MAAM0O,YAErD,IAA1B5O,KAAKxB,MAAM2M,aAAqBnL,KAAKxB,MAAMmQ,YAA4C,SAA9B3O,KAAKxB,MAAM2R,iBACnFhE,EAAOnM,KAAKE,MAAMiL,WAAanL,KAAKE,MAAM0O,WAAa5O,KAAKE,MAAM6L,WAClEF,EAAS,EACTA,GAAU7L,KAAKxB,MAAM6M,aAAerL,KAAKE,MAAM0O,WAAa,KAIpC,GAAlBzC,GADRN,GAAUsW,GAAe,MAG1B,CACDjlB,IAAK,kBACLlC,MAAO,WACL,IAAI6Q,EAAS,EAQb,OALEA,EADE7L,KAAKE,MAAMuU,iBACJzU,KAAK6b,cAAc,KAAM7b,KAAKE,MAAMob,aAEpCtb,KAAK6b,cAAc7b,KAAK0a,YAAYlf,OAASwE,KAAK0a,YAAYnG,WAGlE,CACL6N,GAAI,CAACpiB,KAAKxB,MAAM+M,SAAW,EAAIM,GAC/BwW,GAAI,CAACriB,KAAKxB,MAAM+M,SAAWM,EAAS,MAGvC,CACD3O,IAAK,gBACLlC,MAAO,WACL,IAAIiF,EAAcD,KAAKE,MACnBwO,EAAezO,EAAYyO,aAC3BE,EAAa3O,EAAY2O,WACzBzD,EAAalL,EAAYkL,WACzBK,EAAcvL,EAAYuL,YAC1B8D,EAAerP,EAAYqP,aAE3BgT,EAAwBtiB,KAAK4b,kBAC7BwG,EAAKE,EAAsBF,GAC3BC,EAAKC,EAAsBD,GAE3BxW,EAASH,EAAmBgD,EAAc,GAAc,GAAI1O,KAAKxB,MAAO,GAAIwB,KAAKE,QAErF,GAAIF,KAAKxB,MAAM+M,SAAU,CACvB,IAEIgX,EAFY/W,EAAc8D,GACPV,EAAaU,GAEhCkT,EAAWH,EAAG,GAAKxW,EAEvB,OAAO2W,EAAW,IAAMA,EAAWD,EAGrC,IAAIE,EAAWL,EAAG,GAAKvW,EAEvB,OAAO4W,EAAW,IAAMA,EAAWtX,GAAcyD,EAAa,KAG/D,CACD1R,IAAK,YACLlC,MAAO,SAAmBsW,EAAO9S,GAC/B,IAAIkkB,EAAS1iB,KAMb,QAJctE,IAAV8C,IACFA,EAAQwB,KAAKxB,QAGXwB,KAAKS,gBAAT,CAIAT,KAAKc,SAAS,CACZsa,gBAAgB,EAChBF,OAAQ,EAAO1c,EAAM0c,UAEvBlb,KAAKS,iBAAkB,EACvB,IAAI0N,EAAgBnO,KAAKE,MAAMwO,aAE/B,GAAI4C,GAAStR,KAAKE,MAAM0O,YAAc0C,EAAQ,EAAG,CAC/C,IAAK9S,EAAMmQ,WAET,YADA3O,KAAKS,iBAAkB,GAIzB,GAAI6Q,GAAStR,KAAKE,MAAM0O,WAqBtB,OApBApQ,EAAMmkB,YAAY3iB,KAAKE,MAAMwO,aAAc,QAC3C1O,KAAKc,UAAS,SAAUa,GACtB,MAAO,CACLwK,KAAM3N,EAAM+M,SAAW,EAAImX,EAAO7G,cAAc6G,EAAOxiB,MAAMiL,WAAYxJ,EAAU+M,cACnFxC,IAAK1N,EAAM+M,SAAWmX,EAAO7G,cAAc6G,EAAOxiB,MAAMiL,WAAYxJ,EAAU+M,cAAgB,EAC9FA,aAAc,EACd+F,kBAAkB,EAClB6G,YAAaoH,EAAOxiB,MAAM0O,eAE3B,WACD8T,EAAOjI,OAAO9e,KAAK6hB,YAAW,WAC5BkF,EAAOlG,gBAEPkG,EAAOjiB,iBAAkB,EAErB6Q,IAAUnD,GACZuU,EAAOlkB,MAAMokB,WAAW,KAEzBpkB,EAAMqkB,WAIX,IAAIC,EAAWxR,EAAQ,EAAItR,KAAKE,MAAM0O,WAAa0C,EAAQtR,KAAKE,MAAM0O,WAAa5O,KAAKE,MAAMiQ,eAqB9F,OApBA3R,EAAMmkB,YAAY3iB,KAAKE,MAAMwO,aAAcoU,QAC3C9iB,KAAKc,UAAS,SAAUa,GACtB,MAAO,CACLwK,KAAM3N,EAAM+M,SAAW,EAAImX,EAAO7G,cAAc,EAAGla,EAAU+M,cAC7DxC,IAAK1N,EAAM+M,SAAWmX,EAAO7G,cAAc,EAAGla,EAAU+M,cAAgB,EACxEA,aAAcoU,EACdrO,kBAAkB,EAClB6G,YAAahK,MAEd,WACDoR,EAAOjI,OAAO9e,KAAK6hB,YAAW,WAC5BkF,EAAOlG,gBAEPkG,EAAOjiB,iBAAkB,EAErB6Q,IAAUnD,GACZuU,EAAOlkB,MAAMokB,WAAWF,EAAOxiB,MAAM0O,WAAa,KAEnDpQ,EAAMqkB,WAMf7iB,KAAKxB,MAAMmkB,YAAY3iB,KAAKE,MAAMwO,aAAc4C,GAChDtR,KAAKc,SAAS,CACZ4N,aAAc4C,IACb,WACD,OAAOoR,EAAOjI,OAAO9e,KAAK6hB,YAAW,WACnCkF,EAAOlG,gBAEPkG,EAAOjiB,iBAAkB,EAErB6Q,IAAUnD,GACZuU,EAAOlkB,MAAMokB,WAAWtR,KAEzB9S,EAAMqkB,cAGZ,CACD3lB,IAAK,YACLlC,MAAO,WACL,IAAI+H,EAAe/C,KAAKE,MACpBiQ,EAAiBpN,EAAaoN,eAC9BzB,EAAe3L,EAAa2L,aAC5BvD,EAAapI,EAAaoI,WAC1ByD,EAAa7L,EAAa6L,WAC1BmU,EAAmBrU,EAAeyB,EAClCb,EAAetP,KAAKE,MAAMoP,aAE9B,GAAkC,SAA9BtP,KAAKxB,MAAM2R,eAA2B,CACxC,IAAI6S,EAAgBhjB,KAAK0a,YAAYlf,OAEjCwnB,EAAgB,EAClBD,EAAmB7a,KAAKgL,MAAM8P,EAAgB7X,GAAcuD,EAE5DY,EAAea,EAInB,KAAIzB,GAAgBE,EAAaU,IAAiBtP,KAAKxB,MAAMmQ,YAAuC,SAAzB3O,KAAKxB,MAAMsN,UAItF,GAAI9L,KAAKxB,MAAMmQ,WACb3O,KAAKyR,UAAUsR,OACV,CACL,GAA8B,IAA1B/iB,KAAKxB,MAAM2M,WAEb,YADAnL,KAAKyR,UAAUsR,GAIjB,IAAIlX,EAASkX,EACTE,EAAgD,SAA1BjjB,KAAKxB,MAAM4R,WAAwBvE,EAAS3D,KAAK+L,IAAIpI,EAAQ+C,EAAaU,GAChG4T,EAA0C,SAAzBljB,KAAKxB,MAAMsN,UAAuBD,EAASoX,EAGhEjjB,KAAKyR,UAAUvJ,KAAK+L,IAAIiP,EAAgBtU,EAAa,OAGxD,CACD1R,IAAK,gBACLlC,MAAO,WACL,IAAImoB,EAAenjB,KAAKE,MACpBiQ,EAAiBgT,EAAahT,eAC9BhF,EAAagY,EAAahY,WAC1BuD,EAAeyU,EAAazU,aAC5BqU,EAAmBrU,EAAeyB,EAClC6S,EAAgBhjB,KAAK0a,YAAYlf,OAEH,SAA9BwE,KAAKxB,MAAM2R,gBAA6B6S,EAAgB,IAC1DD,EAAmBrU,EAAexG,KAAKgL,MAAM8P,EAAgB7X,IAG3DuD,GAAgB,IAAM1O,KAAKxB,MAAMmQ,aAIjC3O,KAAKxB,MAAMmQ,WACb3O,KAAKyR,UAAUsR,GAEf/iB,KAAKyR,UAAUvJ,KAAKyC,IAAI,EAAGoY,OAI9B,CACD7lB,IAAK,aACLlC,MAAO,WACD,IAAqB0I,YACvBqO,GAASpO,OAAQ,SAAU3D,KAAKqc,UAChCtK,GAASnO,SAAU,mBAAoB5D,KAAKsc,oBAC5CvK,GAASnO,SAAU,UAAW5D,KAAKic,mBAGtC,CACD/e,IAAK,WACLlC,MAAO,WACLgF,KAAKyc,cAAc,KAAMzc,KAAKxB,MAAM6d,YAErC,CACDnf,IAAK,qBACLlC,MAAO,WACD4I,SAASwf,OACXpjB,KAAKghB,gBAELhhB,KAAKihB,oBAGR,CACD/jB,IAAK,eACLlC,MAAO,WACD,IAAqB0I,YACvBwO,GAAYvO,OAAQ,SAAU3D,KAAKqc,UACnCnK,GAAYtO,SAAU,mBAAoB5D,KAAKsc,oBAC/CpK,GAAYtO,SAAU,UAAW5D,KAAKic,mBAGzC,CACD/e,IAAK,0BACLlC,MAAO,SAAiCwD,GAEtCA,EAAQA,GAASwB,KAAKxB,MACtB,IAOI2M,EAPAoT,EAAave,KAAK0b,gBAClBlQ,EDr6BwB,SAA8BhN,EAAO0B,GACrE,IAAIqe,EAAa9Z,UAAUjJ,OAAS,QAAsBE,IAAjB+I,UAAU,GAAmBA,UAAU,GAAK,GACjFgH,EAAajN,EAAMiN,WACnBF,EAAW/M,EAAM+M,SACjB8H,EAAqB7U,EAAM6U,mBAC3B1E,EAAanQ,EAAMmQ,WACnBW,EAAepP,EAAMoP,aACrBZ,EAAexO,EAAMwO,aACrB5C,EAAY5L,EAAM4L,UAClBgP,EAAayD,EAAW,GAE5B,OAAIzD,GAA6B,UAAfrP,EACTF,EAAWiO,GAAiBsB,GAAcxL,EAAekK,GAAiBsB,GAGhE,QAAfrP,EACKoO,GAA0B0E,EAAY,EAAGA,EAAW/iB,QAG1C,YAAfiQ,EACKuO,GAAuBtL,EAAcY,EAAcxD,EAAW6C,EAAY4P,GAG5ElL,GAAsB,IC84BPgQ,CAAqB7kB,EAAOwB,KAAKE,MAAOqe,GAGtDjP,EADwB+C,GAAyB7T,EAAO,CAAC,iBACpB8Q,aAErCgU,EAAQtjB,KAAKsjB,MAiBjB,OAbEnY,EAD2B,SAAzBnL,KAAKxB,MAAMqV,UACAyP,EAAMC,YAAkC,GAApBD,EAAMC,YAAmB,IACrB,iBAArB/kB,EAAM2M,WACTqH,SAAShU,EAAM2M,YACnB3M,EAAM+M,SACFC,EAAc8D,EAAe9Q,EAAM2M,WAEnCmY,EAAMC,YAAcjU,EAAe9Q,EAAM2M,WAGnD3M,EAAM+M,WACTJ,GAAc3M,EAAM6M,cAAgB,IAAM,IAAMiE,GAAgB,MAG3D,CACL9D,YAAaA,EACbL,WAAYA,KAGf,CACDjO,IAAK,yBACLlC,MAAO,WACL,IAAIwoB,EAAyBxjB,KAAKyb,0BAC9BjQ,EAAcgY,EAAuBhY,YACrCL,EAAaqY,EAAuBrY,WAEpCK,IAAgBxL,KAAKE,MAAMsL,aAAeL,IAAenL,KAAKE,MAAMiL,YACtEnL,KAAKc,SAAS,CACZ0K,YAAaA,EACbL,WAAYA,MAIjB,CACDjO,IAAK,gBACLlC,MAAO,SAAuBwD,GAC5B,IAAIilB,EAAUhf,UAAUjJ,OAAS,QAAsBE,IAAjB+I,UAAU,GAAmBA,UAAU,GAAK,aAClFjG,EAAQA,GAASwB,KAAKxB,MAEtB,IAAIklB,EAAyBrR,GAAyB7T,EAAO,CAAC,eAAgB,YAAa,eACvF8Q,EAAeoU,EAAuBpU,aACtCxD,EAAY4X,EAAuB5X,UACnCsE,EAAasT,EAAuBtT,WAEpCkT,EAAQtjB,KAAKsjB,MAEbK,EAAyB3jB,KAAKyb,wBAAwBjd,GACtDgN,EAAcmY,EAAuBnY,YACrCL,EAAawY,EAAuBxY,WAEpCoI,EAAc/H,EAAchN,EAAM6M,aAAeiE,EAAe,GAChEvD,EAAavN,EAAM+M,SAAWgI,EAAc+P,EAAMC,YAElDK,EAAyBvR,GAAyB7T,EAAO,CAAC,mBAC1D2R,EAAiByT,EAAuBzT,eAErB,SAAnBA,GAA4C,SAAfC,IAC/BD,EAAiBjI,KAAKqI,MAAMxE,GAAcZ,EAAa3M,EAAM6M,eAG/DrL,KAAKc,SAAS,CACZiL,WAAYA,EACZP,YAAaA,EACb2E,eAAgBA,EAChBb,aAAcA,EACdnE,WAAYA,EACZW,UAAWA,IACV,WACD2X,SAGH,CACDvmB,IAAK,gBACLlC,MAAO,WACL,OAAOgF,KAAKsjB,MAAM/E,WAAW,GAAGA,aAEjC,CACDrhB,IAAK,yBACLlC,MAAO,WACL,IACI6oB,EADa7jB,KAAK0b,gBACY1b,KAAKxB,MAAMmN,YAC7C,OAAOkY,EAAmBA,EAAiBC,qBAAqB,OAAO,GAAK,OAE7E,CACD5mB,IAAK,UACLlC,MAAO,WACL,IAAI+oB,EAAU/jB,KAAKxB,MAAM+M,SAAW,EAAIvL,KAAK6b,gBACzCmI,EAAShkB,KAAKxB,MAAM+M,SAAWvL,KAAK6b,gBAAkB,EAEtDkI,IAAY/jB,KAAKE,MAAMiM,MAAQ6X,IAAWhkB,KAAKE,MAAMgM,KACvDlM,KAAKc,SAAS,CACZqL,KAAM4X,EACN7X,IAAK8X,MAIV,CACD9mB,IAAK,iBACLlC,MAAO,WACL,IAAIipB,EAASjkB,KAEb,OAAIA,KAAKxB,MAAM0lB,gBACNlkB,KAAK2a,YAAY3Z,KAAI,WAC1B,OAAO,QAGFhB,KAAK2a,YAAY3Z,KAAI,SAAUwX,GACpC,IAAIoC,EAAWpC,EAAKoC,SAChB1d,EAAMsb,EAAKtb,IACXinB,EAAOF,EAAOzlB,MAAMoc,GACpBwJ,EAAkBD,GAAwB,mBAATA,GAAuBA,EAAK,CAC/DrY,UAAWmY,EAAOzlB,MAAMsN,UACxBT,YAAa4Y,EAAOzlB,MAAM6M,YAC1BqD,aAAcuV,EAAO/jB,MAAMwO,aAC3BL,sBAAuB4V,EAAOzlB,MAAM6P,sBACpCtC,WAAYkY,EAAO/jB,MAAM6L,WACzB0F,UAAW,SAAmBH,GAC5B,OAAO2S,EAAOxS,UAAUH,IAE1BnF,KAAM8X,EAAO/jB,MAAMiM,KACnBgD,UAAW,WACT,OAAO8U,EAAO9U,aAEhBhB,cAAe,WACb,OAAO8V,EAAO9V,iBAEhBiC,WAAY6T,EAAOzlB,MAAM4R,WACzBxB,WAAYqV,EAAO/jB,MAAM0O,WACzBuB,eAAgB8T,EAAO/jB,MAAMiQ,eAC7Bb,aAAc2U,EAAO/jB,MAAMoP,aAC3BnE,WAAY8Y,EAAO/jB,MAAMiL,WACzBe,IAAK+X,EAAO/jB,MAAMgM,IAClBX,SAAU0Y,EAAOzlB,MAAM+M,SACvBoD,WAAYsV,EAAOzlB,MAAMmQ,aAE3B,OAAOyV,GAAmB,IAAMvgB,cAAc,MAAO,CACnD3G,IAAKA,EACL2R,UAAW,CAAC,kBAAkB6C,OAAOxU,EAAImnB,eAAgBJ,EAAOzlB,MAAM6P,sBAAsBiW,oBAAsB,IAAIC,KAAK,KAAKC,OAChIhf,MAAO,GAAc,GAAIwG,EAAmB9O,GAAM,GAAI+mB,EAAOzlB,MAAMimB,2BAA2BvnB,KAC7FknB,QAIR,CACDlnB,IAAK,SACLlC,MAAO,WACL,ITxiCiE0pB,EAAgCC,EAVjDC,EAAWC,ESkjCvDC,EAAU9kB,KAEV+kB,EAAe/kB,KAAKE,MACpBwO,EAAeqW,EAAarW,aAC5BE,EAAamW,EAAanW,WAC1B7C,EAAagZ,EAAahZ,WAC1BrH,EAAc1E,KAAKxB,MACnB2c,EAAmBzW,EAAYyW,iBAC/B6J,EAAgBtgB,EAAYsgB,cAC5BC,EAAevgB,EAAYugB,aAC3BC,EAA6BxgB,EAAYwgB,2BAEzC3Z,GADe7G,EAAY4K,aAChB5K,EAAY6G,UACvB4Z,EAAWnlB,KAAKE,MAAM6V,WAAa/V,KAAKE,MAAM6V,UAAY/V,KAAKE,MAAMmb,yBAA2Brb,KAAKxB,MAAMmQ,YAAcwM,IAAqBnb,KAAKE,MAAMkb,eAAiB,EAAIpb,KAAKxB,MAAMqkB,MACzLuC,GTtjC6FT,ESsjCzB5Y,ETrjCrE,CACLsJ,UAAW,aACX7E,QAAS,QACTmB,QAJmE+S,ESsjCjBnZ,GTljC3BoZ,GAAmB,UAAY,OACtDlU,OSijC4DwU,EThjC5DvP,aAAc,aACdpJ,YAAa,kBACboM,SS8iCmCsM,ET7iCnCvX,QAAS,EACTxB,SAAU,WACV+J,YAAa,cAActE,OAAOgT,EAAe,QAAU,SAC3DtY,UAAW,uBACXC,gBAAiB,yBS0iCXgZ,EAAcrlB,KAAK8b,iBACnBwJ,EAActlB,KAAK2b,iBACnB4J,EAAoB,GAAYvlB,KAAKxB,MAAM8T,gBAC3CkT,EAAgB,GAAiBxlB,KAAKxB,MAAM2E,UAChD,OAAO,IAAMU,cAAc,MAAO,CAChCgL,UAAW,CAAC,SAAU7O,KAAKxB,MAAMqQ,WAAa,IAAI0V,KAAK,KAAKC,OAC5DiB,QAASzlB,KAAK+b,YACd2J,OAAQ1lB,KAAKgc,WACb2J,IAAK3lB,KAAKxB,MAAMonB,SAChB3Q,SAAU,EACVzP,MAAO4U,GAAS,IT3kC8BwK,ES2kCV5kB,KAAKxB,MAAM+G,MT3kCUsf,ES2kCH7kB,KAAKxB,MAAMmT,OT1kChE,CACL0D,UAAW,aACX7E,QAAS,QACTmB,OAAQkT,EACRnP,aAAc,aACdzJ,SAAU,WACV1G,MAAOqf,ISokCuE5kB,KAAKxB,MAAMgH,SACnFxF,KAAKxB,MAAMye,UAAY,IAAMpZ,cAAc,GAAe,CAC5D4U,QAASyM,EAA2B,CAClCxW,aAAcA,EACdE,WAAYA,MAEZ,IAAM/K,cAAc,MAAOuW,GAAS,CACtCvL,UAAW,eACX8W,IAAK,SAAarC,GAChB,OAAOwB,EAAQxB,MAAQA,GAEzB9d,MAAO4f,GACNC,EAAaC,EAAa,CAC3BO,eAAgB7lB,KAAK+N,cACnB,IAAMlK,cAAc,IAAS,CAC/Bc,MAAM,EACN9C,MAAO,CACLugB,GAAI,EACJC,GAAI,GAENtgB,OAAQ,WACN,IAAI+jB,EAAwBhB,EAAQlJ,kBAChCwG,EAAK0D,EAAsB1D,GAC3BC,EAAKyD,EAAsBzD,GAE/B,OAAIyC,EAAQtmB,MAAMunB,qBAAuBjB,EAAQtmB,MAAMmQ,YAAcmW,EAAQkB,gBACpE,GAEA,CACL5D,GAAIA,EACJC,GAAIA,EACJ4D,OAAQ,CACNd,SAAUA,EACVe,KAAMpB,EAAQ5kB,MAAMgb,QAEtBiL,OAAQ,CACNpe,IAAK,WACH,IAAIgc,EAAUe,EAAQtmB,MAAM+M,SAAW,EAAIuZ,EAAQjJ,gBAC/CmI,EAASc,EAAQtmB,MAAM+M,SAAWuZ,EAAQjJ,gBAAkB,EAE5DkI,IAAYe,EAAQ5kB,MAAMiM,MAAQ6X,IAAWc,EAAQ5kB,MAAMgM,KAC7D4Y,EAAQhkB,SAAS,CACfqL,KAAM4X,EACN7X,IAAK8X,EACLvP,kBAAkB,EAClB4G,yBAAyB,IACxB,WACDyJ,EAAQhkB,SAAS,CACfua,yBAAyB,WASzClY,SAAU,SAAkBijB,GAC1B,IT3mCkD5nB,EAAO0B,ES2mCrDkiB,EAAKgE,EAAMhE,GACXC,EAAK+D,EAAM/D,GACf,OAAO,IAAMxe,cAAc0hB,EAAmBnL,GAAS,IT7mCL5b,ES6mC4BsmB,EAAQtmB,MT7mC7B0B,ES6mCoC4kB,EAAQ5kB,MT5mCtG,CACL2T,UAAWrV,EAAMqV,UACjB/H,UAAWtN,EAAMsN,UACjBT,YAAa7M,EAAM6M,YACnBqD,aAAcxO,EAAMwO,aACpBqH,SAAUvX,EAAMuX,SAChBhK,WAAYyG,SAAStS,EAAM6L,YAC3BN,WAAYjN,EAAMiN,WAClBgJ,iBAAkBvU,EAAMuU,iBACxBtI,KAAMjM,EAAMiM,KACZ6L,aAAcxZ,EAAMwZ,aACpBpJ,WAAY1O,EAAM0O,WAClBpD,YAAatL,EAAMsL,YACnB6M,gBAAiB7Z,EAAM6Z,gBACvBvE,YAAatV,EAAMsV,YACnB3D,eAAqC,SAArB3R,EAAM4R,WAAwBlQ,EAAMoP,aAAe9Q,EAAM2R,eACzEb,aAAcpP,EAAMoP,aACpBnE,WAAYjL,EAAMiL,WAClBe,IAAKhM,EAAMgM,IACXX,SAAU/M,EAAM+M,SAChBoD,WAAYnQ,EAAMmQ,WAClByG,UAAW5W,EAAM4W,YSulCkG,CAC3GS,OAAQuM,EACRtM,OAAQuM,IDzvCU,SAA0Blf,EAAUmM,GAChE,OACS,IAAMlM,SAASpC,IAAImC,GAAU,SAAU2R,GAC5C,OAAO,IAAMuR,aAAavR,EAAOA,EAAMtW,UCuvC/B,CAAiBgnB,QAEpBxlB,KAAKuc,iBAAkBvc,KAAKxB,MAAM8nB,sBAAwB,IAAMziB,cAAc,QAAS,CAC1FnD,KAAM,WACN6lB,wBAAyB,CACvBC,OThyCD,uHSoHS,GAAkBpoB,EAAYjB,UAAWqE,GACrDC,GAAa,GAAkBrD,EAAaqD,GAirCzC6Y,EAlnCmB,CAmnC1B,IAAMhX,WAGR,GAASC,UAAY,CACnBqf,WAAY,IAAUuB,KACtBtQ,UAAW,IAAUqC,MAAM,CAAC,SAC5BoQ,qBAAsB,IAAUjQ,KAChC4G,SAAU,IAAU5G,KACpB4L,iBAAkB,IAAU7L,OAC5B0L,gBAAiB,IAAUzL,KAC3BsM,YAAa,IAAUwB,KACvBrY,UAAW,IAAUoK,MAAM,CAAC,OAAQ,SAAU,UAC9C7K,YAAa,IAAU+K,OACvBqO,2BAA4B,IAAUN,KACtC9V,sBAAuB,IAAUoY,MAAM,CACrCnC,mBAAoB,IAAUnO,OAC9BtG,oBAAqB,IAAUsG,OAC/BpG,gBAAiB,IAAUrD,OAC3BsD,eAAgB,IAAUmG,OAC1B7H,oBAAqB,IAAU6H,OAC/B3H,gBAAiB,IAAU9B,OAC3B+B,eAAgB,IAAU0H,OAC1BlF,6BAA8B,IAAUkF,OACxCjF,oBAAqB,IAAUiF,OAC/B/E,gBAAiB,IAAU1E,SAE7ByO,iBAAkB,IAAU9E,KAC5B0P,mBAAoB,IAAU1P,KAC9BN,SAAU,IAAUM,KACpB6E,OAAQ,IAAU/E,OAClBuL,WAAY,IAAUvL,OACtBwL,uBAAwB,IAAUtL,KAClC2O,cAAe,IAAU7O,OACzB8O,aAAc,IAAU9O,OACxBxE,OAAQ,IAAUwE,OAClB1K,WAAY,IAAUyK,MAAM,CAAC,QAAS,UAAW,QACjD0P,SAAU,IAAUtP,UAAU,CAAC,IAAU6N,KAAM,IAAUsC,MAAM,CAC7DlP,QAAS,IAAUmP,gBAErBrT,mBAAoB,IAAU+C,OAC9B9C,kBAAmB,IAAU8C,OAC7ByE,cAAe,IAAU8L,MAAM,CAC7BxY,cAAe,IAAUyY,QAAQ,IAAUxQ,QAC3CjH,UAAW,IAAUyX,QAAQ,IAAUxQ,QACvC0E,WAAY,IAAU8L,QAAQ,IAAUxQ,QACxC2E,UAAW,IAAU6L,QAAQ,IAAUxQ,QACvC4E,MAAO,IAAU4L,QAAQ,IAAUxQ,UAErC6J,YAAa,IAAUkE,KACvB9H,SAAU,IAAU8H,KACpBnM,aAAc,IAAU5B,OACxB2K,aAAc,IAAU1K,KACxB6O,2BAA4B,IAAUf,KACtC0C,2BAA4B,IAAU1C,KACtC2C,yBAA0B,IAAU3C,KACpC4C,0BAA2B,IAAU5C,KACrC6C,2BAA4B,IAAU7C,KACtC8C,yBAA0B,IAAU9C,KACpC+C,0BAA2B,IAAU/C,KACrCgD,wBAAyB,IAAUhD,KACnCiD,sBAAuB,IAAUjD,KACjCkD,uBAAwB,IAAUlD,KAClC/T,WAAY,IAAU8F,MAAM,CAAC,OAAQ,cACrCvK,WAAY,IAAUyK,OACtBiC,gBAAiB,IAAUjC,OAC3BtC,YAAa,IAAUsC,OACvBjG,eAAgB,IAAUmG,UAAU,CAAC,IAAUF,OAAQ,IAAUF,MAAM,CAAC,WACxE5G,aAAc,IAAU8G,OACxBjL,WAAY,IAAUmL,UAAU,CAAC,IAAUH,OAAQ,IAAUC,SAC7DyM,MAAO,IAAUzM,OACjByJ,QAAS,IAAUxJ,KACnB/D,eAAgB,IAAU4D,MAAM,CAAC,SAAU,OAAQ,aACnD3K,SAAU,IAAU8K,KACpB9Q,MAAO,IAAU4Q,OACjB+N,gBAAiB,IAAU7N,KAC3B1H,WAAY,IAAU0H,MAExB,GAAS7S,aAAe,CACtBof,WAAY,aACZ0D,sBAAsB,EACtBrJ,UAAU,EACVgF,iBAAkB,IAClBH,iBAAiB,EACjBa,YAAa,aACb7W,UAAW,OACXT,YAAa,EACboZ,2BAA4B,aAC5BpW,sBAAuB,GACvB8M,kBAAkB,EAClB4K,oBAAoB,EACpBhQ,UAAU,EACVmF,OAAQ,gBACRwG,WAAY,iBACZC,wBAAwB,EACxBqD,cAAe,SACfC,aAAc,MACdtT,OAAQ,UACRlG,WAAY,MACZoP,cAAe,GACfoF,YAAa,aACb5D,SAAU,aACV0E,cAAc,EACdmE,2BF33C6C,SAA2CkB,GACxF,IAAI1X,EAAe0X,EAAM1X,aACrBE,EAAawX,EAAMxX,WACvB,MAAO,SAAS8C,OAAOhD,EAAe,EAAG,QAAQgD,OAAO9C,IEy3CxDiY,2BAA4B,SAAoCroB,GAC9D,OAAO,IAAMqF,cAAc,GAAYrF,IAEzCyoB,yBAA0B,SAAkCzoB,GAC1D,OAAO,IAAMqF,cAAc,GAAgBrF,IAE7C0oB,0BAA2B,SAAmC1oB,GAC5D,OAAO,IAAMqF,cAAc,GAAYrF,IAEzC4R,WAAY,YACZzE,WAAY,EACZ0M,gBAAiB,GACjBvE,YAAa,GACb3D,eAAgB,EAChBb,aAAc,EACdnE,WAAY,EACZ0X,MAAO,IACPrd,MAAO,GACPqa,SAAS,EACTvN,eAAgB,SAChB/G,UAAU,EACVhG,MAAO,OACP2e,iBAAiB,EACjBvV,YAAY,G,iFC35CR2Y,GAAOziB,WAAOC,IAAV,qEAAGD,CAAH,mCAKV,SAAS0iB,GAAT,GAAyC,IAApBnmB,EAAmB,EAAnBA,KAAMomB,EAAa,EAAbA,UACzB,OACE,kBAACF,GAAD,KACE,kBAACG,GAAA,EAAD,CACEC,WACEtmB,EAAKumB,QAAQC,WAAa9gB,YAASC,OAAO3F,EAAKumB,QAAQC,WAEzD3hB,QAASa,YAASC,OAAO3F,EAAKumB,QAAQ9gB,OACtC8W,MAAOvc,EAAKumB,QAAQE,WACpBC,QACE1mB,EAAKumB,QAAQI,MACX,kBAACC,GAAA,EAAD,CAAQD,KAAM3mB,EAAKumB,QAAQI,KAAME,QAAQ,QACtC7mB,EAAKumB,QAAQO,YAIpBC,KAAG,EACHX,UAAWA,GAEVpmB,EAAKumB,QAAQS,MACZ,kBAAC,YAAD,CAAU9gB,OAAQlG,EAAKumB,QAAQS,KAAM7gB,aAAcA,oBAY7DggB,GAAU/jB,aAAe,CACvBgkB,WAAW,GAGED,UC1CTD,GAAOziB,WAAOC,IAAV,kEAAGD,CAAH,mCAgBV,SAASwjB,GAAT,GAAyC,IAiCf,EAjCLjnB,EAAmB,EAAnBA,KAAMomB,EAAa,EAAbA,UAgBnBc,EAAa,GAiBflnB,EAAKumB,QAAQY,QACfD,EAAWE,IAAM,CACf,CACEA,IAAKpnB,EAAKumB,QAAQY,MAAME,IACxB/nB,KAAM,cAGV4nB,EAAWI,OAAX,UAAoBtnB,EAAKumB,QAAQhK,aAAjC,aAAoB,EAAoB8K,KAG1C,OACE,kBAAC,GAAD,KACE,kBAAChB,GAAA,EAAD,CACEC,WACEtmB,EAAKumB,QAAQC,WAAa9gB,YAASC,OAAO3F,EAAKumB,QAAQC,WAEzD3hB,QAASa,YAASC,OAAO3F,EAAKumB,QAAQ9gB,OACtC8W,MAAOvc,EAAKumB,QAAQE,WACpBC,QACE1mB,EAAKumB,QAAQI,MACX,kBAACC,GAAA,EAAD,CAAQD,KAAM3mB,EAAKumB,QAAQI,KAAME,QAAQ,QACtC7mB,EAAKumB,QAAQO,YAIpBC,KAAG,EACHX,UAAWA,EACXc,WAAYA,GAEXlnB,EAAKumB,QAAQS,MACZ,kBAAC,YAAD,CAAU9gB,OAAQlG,EAAKumB,QAAQS,KAAM7gB,aAAcA,oBAY7D8gB,GAAU7kB,aAAe,CACvBgkB,WAAW,GAGEa,UCjGTf,GAAOziB,WAAOC,IAAV,wEAAGD,CAAH,mCASV,SAAS8jB,GAAT,GAAuC,IAAfvhB,EAAc,EAAdA,MAAO+gB,EAAO,EAAPA,IAC7B,OACE,kBAAC,GAAD,KACE,kBAAC,GAAD,CACE7V,eAAe,OACfuQ,MAAO,IACP5F,UAAQ,EACRgF,iBAAkB,KAClBtT,YAAU,EACVN,sBAAuB,CAErB0B,gBAAiB,CACfS,QAAS,QAIXhC,gBAAiB,CACfgC,QAAS,QAKXY,gBAAiB,CACfR,KAAM,UAITxJ,GACCA,EAAMpG,KAAI,SAAC4nB,EAAOtX,GAChB,OAAQsX,EAAMloB,MACZ,IAAK,aACH,OACE,kBAAC,GAAD,CACExD,IAAKoU,EACLlQ,KAAMwnB,EACNT,IAAKA,EACLX,UAAqB,IAAVlW,IAGjB,IAAK,aACH,OACE,kBAAC,GAAD,CACEpU,IAAKoU,EACLlQ,KAAMwnB,EACNT,IAAKA,EACLX,UAAqB,IAAVlW,IAGjB,QACE,OAAO,WAavBqX,GAAanlB,aAAe,CAC1B4D,MAAO,GACP+gB,KAAK,GAGQQ,Q,kCCnFf,EAAQ,QAER9tB,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQ4F,MAAQ5F,EAAQsH,OAAStH,EAAQuG,WAAQ,EAEjDvG,EAAQuG,MADI,QAGZvG,EAAQsH,OADK,SAGbtH,EAAQ4F,MADI,S,2JCHZkoB,EACIC,EATA,EAAQ,EAEZC,EAAU,EAEVnoB,EAAW,EAMPooB,EAAY,EACZC,EAAW,EACXC,EAAY,EACZC,EAA+B,iBAAhBC,aAA4BA,YAAYC,IAAMD,YAAcE,KAC3EC,EAA6B,iBAAX5lB,QAAuBA,OAAO6lB,sBAAwB7lB,OAAO6lB,sBAAsBxb,KAAKrK,QAAU,SAAU8lB,GAChIjM,WAAWiM,EAAG,KAET,SAASJ,IACd,OAAOJ,IAAaM,EAASG,GAAWT,EAAWE,EAAME,MAAQH,GAGnE,SAASQ,IACPT,EAAW,EAGN,SAASU,IACd3pB,KAAK4pB,MAAQ5pB,KAAK6pB,MAAQ7pB,KAAK8pB,MAAQ,KAyBlC,SAASC,EAAMC,EAAUzM,EAAO0M,GACrC,IAAIjiB,EAAI,IAAI2hB,EAEZ,OADA3hB,EAAEnF,QAAQmnB,EAAUzM,EAAO0M,GACpBjiB,EAkBT,SAASkiB,IACPjB,GAAYD,EAAYG,EAAME,OAASH,EACvC,EAAQH,EAAU,EAElB,KApBK,WACLM,MAEE,EAKF,IAHA,IACItgB,EADAf,EAAI6gB,EAGD7gB,IACAe,EAAIkgB,EAAWjhB,EAAE6hB,QAAU,GAAG7hB,EAAE4hB,MAAMvsB,KAAK,KAAM0L,GACtDf,EAAIA,EAAE8hB,QAGN,EAQAK,GACA,QACA,EAAQ,EAYZ,WACE,IAAIC,EAEAC,EADAC,EAAKzB,EAELoB,EAAOM,IAEX,KAAOD,GACDA,EAAGV,OACDK,EAAOK,EAAGT,QAAOI,EAAOK,EAAGT,OAC/BO,EAAKE,EAAIA,EAAKA,EAAGR,QAEjBO,EAAKC,EAAGR,MAAOQ,EAAGR,MAAQ,KAC1BQ,EAAKF,EAAKA,EAAGN,MAAQO,EAAKxB,EAAWwB,GAIzCvB,EAAWsB,EACXI,EAAMP,GA5BJQ,GACAxB,EAAW,GAIf,SAASyB,IACP,IAAIrB,EAAMF,EAAME,MACZ9L,EAAQ8L,EAAML,EACdzL,EAlFM,MAkFa2L,GAAa3L,EAAOyL,EAAYK,GAuBzD,SAASmB,EAAMP,GACT,IAEAlB,IAASA,EAAU1K,aAAa0K,IACxBkB,EAAOhB,EAEP,IACNgB,EAAOM,MAAUxB,EAAUvL,WAAW0M,EAAMD,EAAOd,EAAME,MAAQH,IACjEtoB,IAAUA,EAAWshB,cAActhB,MAElCA,IAAUooB,EAAYG,EAAME,MAAOzoB,EAAWohB,YAAY0I,EAnHvD,MAoHR,EAAQ,EAAGnB,EAASW,KA9FxBP,EAAMxsB,UAAY4sB,EAAM5sB,UAAY,CAClCc,YAAa0rB,EACb9mB,QAAS,SAAiBmnB,EAAUzM,EAAO0M,GACzC,GAAwB,mBAAbD,EAAyB,MAAM,IAAI3rB,UAAU,8BACxD4rB,GAAgB,MAARA,EAAeZ,KAASY,IAAkB,MAAT1M,EAAgB,GAAKA,GAEzDvd,KAAK8pB,OAAShB,IAAa9oB,OAC1B8oB,EAAUA,EAASgB,MAAQ9pB,KAAU6oB,EAAW7oB,KACpD8oB,EAAW9oB,MAGbA,KAAK4pB,MAAQI,EACbhqB,KAAK6pB,MAAQI,EACbO,KAEF3pB,KAAM,WACAb,KAAK4pB,QACP5pB,KAAK4pB,MAAQ,KACb5pB,KAAK6pB,MAAQU,IACbC,OC/CS,sBACb,IAAIxiB,EAAI,IAAI2hB,EAMZ,OALApM,EAAiB,MAATA,EAAgB,GAAKA,EAC7BvV,EAAEnF,SAAQ,SAAU8nB,GAClB3iB,EAAEnH,OACFmpB,EAASW,EAAUpN,KAClBA,EAAO0M,GACHjiB,GCJT,SAAStL,EAAQF,GAWf,OATEE,EADoB,mBAAXqB,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBxB,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXuB,QAAyBvB,EAAIyB,cAAgBF,QAAUvB,IAAQuB,OAAOZ,UAAY,gBAAkBX,IAI9GA,GAGjB,IAAIouB,EAAe,EAIZ,SAASC,EAAOruB,EAAKgC,GAC1B,IAAK,IAAIjD,KAAKiD,EACZhC,EAAIjB,GAAKiD,EAAMjD,GAgBnB,IAIWuvB,EAAiB,CAC1BvN,MAAO,EACP4H,SAAU,IACVe,KAPW,SAAgBle,GAC3B,OAAQA,IC5BH,IAmBQ,EAnBK,SAAS+iB,EAAOnf,GAClC,IAAI7L,EAAQC,MARd,SAAyB7B,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAQtBH,CAAgB8B,KAAM+qB,GAEtB/qB,KAAK6B,MAAQ,KACb7B,KAAKgrB,UAAY,KACjBhrB,KAAK+H,IAAM,KAEP6D,EAAOua,QACTtrB,OAAO+R,KAAKhB,EAAOua,QAAQnjB,SAAQ,SAAUd,GAC3C,GAAgC,mBAArB0J,EAAOua,OAAOjkB,GACvB,MAAM,IAAI+oB,MAAM,qCDEjB,IAAc9G,EACf+G,ECDEnrB,EAAMmC,IDAOiiB,ECAGvY,EAAOua,OAAOjkB,GDChCgpB,GAAS,EACN,WACAA,IACHA,GAAS,EACT/G,EAAK9mB,KAAK2C,aErBhB,SAASiN,EAAc1O,GACrB,IAAK,IAAIhD,EAAI,EAAGA,EAAIkJ,UAAUjJ,OAAQD,IAAK,CACzC,IAAI2R,EAAyB,MAAhBzI,UAAUlJ,GAAakJ,UAAUlJ,GAAK,GAC/CkR,EAAU5R,OAAO+R,KAAKM,GAEkB,mBAAjCrS,OAAOgS,wBAChBJ,EAAUA,EAAQiF,OAAO7W,OAAOgS,sBAAsBK,GAAQH,QAAO,SAAUC,GAC7E,OAAOnS,OAAOoC,yBAAyBiQ,EAAQF,GAAKtO,gBAIxD+N,EAAQzJ,SAAQ,SAAU9F,GACxB0C,EAAgBrB,EAAQrB,EAAKgQ,EAAOhQ,OAIxC,OAAOqB,EAGT,SAASqB,EAAgBpD,EAAKU,EAAKlC,GAYjC,OAXIkC,KAAOV,EACT3B,OAAOC,eAAe0B,EAAKU,EAAK,CAC9BlC,MAAOA,EACP0D,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZpC,EAAIU,GAAOlC,EAGNwB,EAST,SAAS8B,EAAkBC,EAAQC,GACjC,IAAK,IAAIjD,EAAI,EAAGA,EAAIiD,EAAMhD,OAAQD,IAAK,CACrC,IAAIkD,EAAaD,EAAMjD,GACvBkD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/D,OAAOC,eAAeyD,EAAQE,EAAWvB,IAAKuB,IAclD,IAgVe,EAhVA,WACb,SAAS8C,EAASrB,IA3BpB,SAAyB/B,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCA0BpB,CAAgB2B,KAAMuB,GAEtBvB,KAAKE,MAAQA,GAAS,GAd1B,IAAsB9B,EAAaoD,EAAYC,EAuV7C,OAvVoBrD,EAiBPmD,GAjBoBC,EAiBV,CAAC,CACtBtE,IAAK,aACLlC,MAAO,SAAoB4Q,GACzB,GAAIiN,MAAMC,QAAQlN,GAAS,CACzB,IAAIuf,GAA4B,EAC5BC,GAAoB,EACpBC,OAAiB3vB,EAErB,IACE,IAAK,IAA2C4vB,EAAvCC,EAAY3f,EAAO7N,OAAOC,cAAsBmtB,GAA6BG,EAAQC,EAAUtN,QAAQuN,MAAOL,GAA4B,EAAM,CACvJ,IAAIM,EAAOH,EAAMtwB,MACjBgF,KAAK0rB,MAAMD,IAEb,MAAOE,GACPP,GAAoB,EACpBC,EAAiBM,EACjB,QACA,IACOR,GAAoD,MAAvBI,EAAkB,QAClDA,EAAkB,SAEpB,QACA,GAAIH,EACF,MAAMC,SAKZrrB,KAAK0rB,MAAM9f,KAGd,CACD1O,IAAK,kBACLlC,MAAO,WACL,QAASgF,KAAK4rB,iBAEf,CACD1uB,IAAK,kBACLlC,MAAO,WACL,IAAI6wB,EAAc7rB,KAAK4rB,eAEnBC,GACFhxB,OAAO+R,KAAKif,GAAa7oB,SAAQ,SAAUgF,GACzC6jB,EAAY7jB,GAAG+hB,MAAMlpB,YAI1B,CACD3D,IAAK,WACLlC,MAAO,SAAkB+G,GAErB8oB,EAAO7qB,KAAKE,MADQ,mBAAX6B,EACUA,EAAO/B,KAAKE,OAEZ6B,KAGtB,CACD7E,IAAK,QACLlC,MAAO,SAAe4Q,GACpB,IAAI7L,EAAQC,KAER8rB,EAAQ7e,EAAc,GAAIrB,GAE1Bua,EAAS,IAAI,EAAO2F,GAEpBA,EAAM3F,eACD2F,EAAM3F,OAGf,IAAIF,EAAShZ,EAAc,GAAI6d,EAAgBgB,EAAM7F,QAAU,GAAI,CACjEgE,KAAMZ,MAGJyC,EAAM7F,eACD6F,EAAM7F,OAGfprB,OAAO+R,KAAKkf,GAAO9oB,SAAQ,SAAU+oB,GACnC,IAgDUC,EFxKUC,EEwHhBC,EAAS,GACTjO,EAAO6N,EAAMC,GAEjB,GF1HmB,WAAlBrvB,EADmBuvB,EE2HJhO,KF1HuC,IAAxBpF,MAAMC,QAAQmT,GE2H3CpxB,OAAO+R,KAAKqR,GAAMjb,SAAQ,SAAUmpB,GAClC,IAAIC,EAAMnO,EAAKkO,GAEXtT,MAAMC,QAAQsT,GACG,IAAfA,EAAI5wB,OACN0wB,EAAOvwB,KAAKoE,EAAMssB,SAASF,EAAMC,EAAI,GAAIL,KAEzChsB,EAAMe,UAAS,SAAUZ,GACvB,IAAIosB,EAAgB9T,EAEpB,OAAOA,EAAO,IAASuT,GAAY9e,EAAc,GAAI/M,EAAM6rB,KAAYO,EAAiB,IAAmBH,GAAQC,EAAI,GAAIE,IAAkB9T,KAG/I0T,EAAOvwB,KAAKoE,EAAMssB,SAASF,EAAMC,EAAI,GAAIL,KAEnB,mBAARK,EAahBF,EAAOvwB,MAZwB,WAS7B,OARmC,SAAsCqM,GACvEjI,EAAMe,UAAS,SAAUZ,GACvB,IAAIqsB,EAAgBnG,EAEpB,OAAOA,EAAQ,IAAU2F,GAAY9e,EAAc,GAAI/M,EAAM6rB,KAAYQ,EAAiB,IAAmBJ,GAAQC,EAAIpkB,GAAIukB,IAAkBnG,UASrJrmB,EAAMe,UAAS,SAAUZ,GACvB,IAAIssB,EAAgBC,EAEpB,OAAOA,EAAQ,IAAUV,GAAY9e,EAAc,GAAI/M,EAAM6rB,KAAYS,EAAiB,IAAmBL,GAAQC,EAAKI,IAAkBC,KAG9IP,EAAOvwB,KAAKoE,EAAMssB,SAASF,EAAMC,EAAKL,aAI1C,GAAIlT,MAAMC,QAAQmF,GACI,IAAhBA,EAAKziB,OACP0wB,EAAOvwB,KAAKoE,EAAMssB,SAASN,EAAU9N,EAAK,GAAI,QAI9Cle,EAAMe,WAAUkrB,EAAiB,IAAmBD,GAAY9N,EAAK,GAAI+N,IAEzEE,EAAOvwB,KAAKoE,EAAMssB,SAASN,EAAU9N,EAAK,GAAI,aAE3C,GAAoB,mBAATA,EAWhBiO,EAAOvwB,MAVc,WAOnB,OANyB,SAA4BqM,GACnD,IAAI0kB,EAEJ3sB,EAAMe,WAAU4rB,EAAkB,IAAoBX,GAAY9N,EAAKjW,GAAI0kB,YAO1E,CACL,IAAIC,EAEJ5sB,EAAMe,WAAU6rB,EAAkB,IAAoBZ,GAAY9N,EAAM0O,IAExET,EAAOvwB,KAAKoE,EAAMssB,SAASN,EAAU9N,EAAM,OAI/Cle,EAAMgC,OAAO,CACXgqB,SAAUA,EACV9F,OAAQA,EACRiG,OAAQA,EACR/F,OAAQA,EACRyG,OAAQ,SAIb,CACD1vB,IAAK,WACLlC,MAAO,SAAkBmxB,EAAMU,EAAUC,GACvC,IAAIzrB,EAASrB,KAEb,OAAO,WACL,IAAI+sB,EAAWD,EAAYzrB,EAAOnB,MAAM4sB,GAAWX,GAAQ9qB,EAAOnB,MAAMisB,GAExE,GAAIY,IAAaF,EACf,OAAO,KAGT,IAAItxB,EAAI8F,EAAO2rB,gBAAgBD,EAAUF,EAAUV,EAAMW,GAoBzD,OAhBkB,OAAdA,EACW,SAAoB9kB,GAC/B,IAAIilB,EAEJ5rB,EAAOP,WAAUmsB,EAAkB,IAAoBd,GAAQ5wB,EAAEyM,GAAIilB,KAG1D,SAAoBjlB,GAC/B3G,EAAOP,UAAS,SAAUZ,GACxB,IAAIgtB,EAAgBC,EAEpB,OAAOA,EAAQ,IAAUL,GAAa7f,EAAc,GAAI/M,EAAM4sB,KAAaI,EAAiB,IAAmBf,GAAQ5wB,EAAEyM,GAAIklB,IAAkBC,SAQxJ,CACDjwB,IAAK,SACLlC,MAAO,SAAgB0H,GAChB1C,KAAK4rB,iBACR5rB,KAAK4rB,eAAiB,IAGxB5rB,KAAKotB,OFtQAxC,EEsQwBloB,KAE9B,CACDxF,IAAK,OACLlC,MAAO,SAAc0M,EAAIhF,GACvB,IAAImO,EAAS7Q,KAETQ,EAAIkC,EAAWwpB,OAAO1wB,OACtB0wB,EAAS,IAAIrT,MAAMrY,GAWvBR,KAAK4rB,eAAelkB,GAAMhF,EAC1BA,EAAWqnB,MAAQA,GAVP,SAAeY,GACzBjoB,EAAWkqB,OAAS,EACpBlqB,EAAWqnB,MAAMlnB,QAAQhB,EAAOa,EAAWujB,OAAO1I,MAAO7a,EAAWujB,OAAOgE,MAEvEvnB,EAAWujB,OAAO1I,OAASoN,GAC7B9oB,EAAM8oB,EAAUjoB,EAAWujB,OAAO1I,SAKN,EAAG7a,EAAWujB,OAAOgE,MAErD,IAAIpoB,EAAQ,SAASA,EAAM8oB,GACzB,GAA0B,IAAtBjoB,EAAWkqB,OAAc,OAAO/rB,IAEpC,IAAK,IAAIwsB,KAAOxc,EAAO+a,eAAgB,CACrC,IAAI5jB,EAAI6I,EAAO+a,eAAeyB,GAE9B,GAAIrlB,EAAE+jB,WAAarpB,EAAWqpB,SAA9B,CAIA,GAAiB,IAAb/jB,EAAE4kB,OACJ,OAAO,EAAQ/qB,GAGA,IAAbmG,EAAE4kB,QACJ5kB,EAAE4kB,OAAS,EACX5kB,EAAE+hB,MAAMlpB,OAEJmH,EAAEme,OAAO6E,WACXhjB,EAAEme,OAAO6E,UAAU3tB,KAAKwT,UAGnBA,EAAO+a,eAAeyB,KACnBA,EAAM3lB,IAChBM,EAAE4kB,OAAS,EACX5kB,EAAE+hB,MAAMlpB,cACDgQ,EAAO+a,eAAeyB,KAiBjC,GAbA,GAAQ,WACoB,IAAtB3qB,EAAWkqB,SACblqB,EAAWkqB,OAAS,EACpBlqB,EAAWqnB,MAAMlnB,QAAQyqB,EAAM5qB,EAAWujB,OAAO1I,MAAO7a,EAAWujB,OAAOgE,MAC1EqD,EAAK3C,OAGTjoB,EAAWkqB,OAAS,EAEhBlqB,EAAWyjB,OAAOtkB,OACpBa,EAAWyjB,OAAOtkB,MAAMxE,KAAKwT,GAGL,IAAtBnO,EAAWkqB,OAAf,CAIAlqB,EAAWkqB,OAAS,EAGpB,IAFA,IAAIW,GAAK,EAEAhyB,EAAI,EAAGA,EAAIiF,IAAKjF,EAAG,CAC1B,IAAIiyB,EAAM9qB,EAAWwpB,OAAO3wB,KAExBiyB,IACFtB,IAASqB,GAAKC,GAIlBtB,EAAO1wB,OAAS+xB,EAAI,IAGlBD,EAAO,SAAc3C,GACvB,IAAI3iB,EAAI,EAEJ2iB,EAAUjoB,EAAWujB,OAAOd,SAC9Bnd,EAAItF,EAAWujB,OAAOC,KAAKyE,EAAUjoB,EAAWujB,OAAOd,WAEvDziB,EAAWqnB,MAAMlnB,QAAQhC,GACzB6B,EAAWkqB,OAAS,GAKtB,IAFA,IAAIrxB,GAAK,IAEAA,EAAI2wB,EAAO1wB,QAClB0wB,EAAO3wB,GAAGyM,GAGc,IAAtBtF,EAAWkqB,SACTlqB,EAAWyjB,OAAOpe,KACpBrF,EAAWyjB,OAAOpe,IAAI1K,KAAKwT,GAG7BhQ,MAIAA,EAAO,WAKT,IAAK,IAAI4sB,KAJT/qB,EAAWkqB,OAAS,EACpBlqB,EAAWqnB,MAAMlpB,cACVgQ,EAAO+a,eAAelkB,GAEfmJ,EAAO+a,eACnB,cAGK/a,EAAO+a,qBAjVJttB,EAAkBF,EAAYjB,UAAWqE,GACrDC,GAAanD,EAAkBF,EAAaqD,GAqVzCF,EA7UM,GCtEA,kBACb,IAAIyG,EAAI,IAAI2hB,EACR+D,EAAQnQ,EACZ,OAAa,MAATA,GAAsBvV,EAAEnF,QAAQmnB,EAAUzM,EAAO0M,GAAOjiB,IAC5DuV,GAASA,EAAO0M,EAAe,MAARA,EAAeZ,KAASY,EAC/CjiB,EAAEnF,SAAQ,SAASyqB,EAAK3C,GACtBA,GAAW+C,EACX1lB,EAAEnF,QAAQyqB,EAAMI,GAASnQ,EAAO0M,GAChCD,EAASW,KACRpN,EAAO0M,GACHjiB,ICXT,qM,yGCQMsf,EAAOziB,UAAOC,IAAV,oEAAGD,CAAH,iBAIJ8oB,EAAO9oB,UAAOC,IAAV,oEAAGD,CAAH,kKAOgB,SAACrG,GAAD,OAAWA,EAAMmf,SA2B5BiQ,IAxBf,YAAgC,IAAD,EAARxsB,EAAQ,EAARA,KACrB,OACE,kBAACkmB,EAAD,KACE,uBACEuG,KAAMC,IAASrF,IAAIrnB,EAAK2mB,MACxBxpB,OAAO,SACPsI,MAAOC,WAASC,OAAO3F,EAAKyF,OAC5BknB,IAAI,uBAEH3sB,EAAK4sB,cACJ,kBAACL,EAAD,CACEhQ,MAAK,UAAEvc,EAAK4sB,oBAAP,aAAE,EAAmBvF,IAC1B5hB,MAAOC,WAASC,OAAO3F,EAAKyF","file":"component---src-pages-index-js-b1f603476cf386f9164c.js","sourcesContent":["\"use strict\";\n\nrequire(\"core-js/modules/es6.array.sort\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction mergeKeys(currNodeKeys, currKeyIndex, nextNodeKeys, nextKeyIndex) {\n var allKeys = [];\n\n for (var i = 0; i < nextNodeKeys.length; i++) {\n allKeys[i] = nextNodeKeys[i];\n }\n\n for (var _i = 0; _i < currNodeKeys.length; _i++) {\n if (nextKeyIndex[currNodeKeys[_i]] === undefined) {\n allKeys.push(currNodeKeys[_i]);\n }\n }\n\n return allKeys.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a];\n var nextOrderB = nextKeyIndex[b];\n var currOrderA = currKeyIndex[a];\n var currOrderB = currKeyIndex[b];\n\n if (nextOrderA != null && nextOrderB != null) {\n return nextKeyIndex[a] - nextKeyIndex[b];\n } else if (currOrderA != null && currOrderB != null) {\n return currKeyIndex[a] - currKeyIndex[b];\n } else if (nextOrderA != null) {\n for (var _i2 = 0; _i2 < nextNodeKeys.length; _i2++) {\n var pivot = nextNodeKeys[_i2];\n\n if (!currKeyIndex[pivot]) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && currOrderB > currKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && currOrderB < currKeyIndex[pivot]) {\n return 1;\n }\n }\n\n return 1;\n }\n\n for (var _i3 = 0; _i3 < nextNodeKeys.length; _i3++) {\n var _pivot = nextNodeKeys[_i3];\n\n if (!currKeyIndex[_pivot]) {\n continue;\n }\n\n if (nextOrderB < nextKeyIndex[_pivot] && currOrderA > currKeyIndex[_pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[_pivot] && currOrderA < currKeyIndex[_pivot]) {\n return -1;\n }\n }\n\n return -1;\n });\n}\n\nvar _default = mergeKeys;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.string.iterator\");\n\nrequire(\"core-js/modules/es6.weak-map\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _kapellmeister = require(\"kapellmeister\");\n\nvar _mergeKeys = _interopRequireDefault(require(\"../core/mergeKeys\"));\n\nvar _types = require(\"../core/types\");\n\nvar _utils = require(\"../utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar NodeGroup = function (_Component) {\n _inherits(NodeGroup, _Component);\n\n function NodeGroup(props) {\n var _this;\n\n _classCallCheck(this, NodeGroup);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeGroup).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"animate\", function () {\n var _this$state = _this.state,\n nodeKeys = _this$state.nodeKeys,\n nodeHash = _this$state.nodeHash;\n\n if (_this.unmounting) {\n return;\n }\n\n var pending = false;\n var nextNodeKeys = [];\n var length = nodeKeys.length;\n\n for (var i = 0; i < length; i++) {\n var k = nodeKeys[i];\n var n = nodeHash[k];\n var isTransitioning = n.isTransitioning();\n\n if (isTransitioning) {\n pending = true;\n }\n\n if (n.type === _types.LEAVE && !isTransitioning) {\n delete nodeHash[k];\n } else {\n nextNodeKeys.push(k);\n }\n }\n\n if (!pending) {\n _this.interval.stop();\n }\n\n _this.setState(function () {\n return {\n nodeKeys: nextNodeKeys,\n nodes: nextNodeKeys.map(function (key) {\n return nodeHash[key];\n })\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"interval\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"unmounting\", false);\n\n var interpolation = props.interpolation;\n\n var Node = function (_BaseNode) {\n _inherits(Node, _BaseNode);\n\n function Node(key, data) {\n var _this2;\n\n _classCallCheck(this, Node);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Node).call(this));\n\n _defineProperty(_assertThisInitialized(_this2), \"getInterpolator\", interpolation);\n\n _this2.key = key;\n _this2.data = data;\n _this2.type = _types.ENTER;\n return _this2;\n }\n\n return Node;\n }(_kapellmeister.BaseNode);\n\n _this.state = {\n Node: Node,\n nodeKeys: [],\n nodeHash: {},\n nodes: [],\n data: null\n };\n return _this;\n }\n\n _createClass(NodeGroup, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startInterval();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.data !== this.props.data && !this.unmounting) {\n this.startInterval();\n }\n }\n }, {\n key: \"startInterval\",\n value: function startInterval() {\n if (!this.interval) {\n this.interval = (0, _kapellmeister.interval)(this.animate);\n } else {\n this.interval.restart(this.animate);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$state2 = this.state,\n nodeKeys = _this$state2.nodeKeys,\n nodeHash = _this$state2.nodeHash;\n this.unmounting = true;\n\n if (this.interval) {\n this.interval.stop();\n }\n\n nodeKeys.forEach(function (key) {\n nodeHash[key].stopTransitions();\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderedChildren = this.props.children(this.state.nodes);\n return renderedChildren && _react[\"default\"].Children.only(renderedChildren);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.data !== prevState.data) {\n var data = nextProps.data,\n keyAccessor = nextProps.keyAccessor,\n start = nextProps.start,\n enter = nextProps.enter,\n update = nextProps.update,\n leave = nextProps.leave;\n var Node = prevState.Node,\n nodeKeys = prevState.nodeKeys,\n nodeHash = prevState.nodeHash;\n var keyIndex = {};\n\n for (var i = 0; i < nodeKeys.length; i++) {\n keyIndex[nodeKeys[i]] = i;\n }\n\n var nextKeyIndex = {};\n var nextNodeKeys = [];\n\n for (var _i = 0; _i < data.length; _i++) {\n var d = data[_i];\n var k = keyAccessor(d, _i);\n nextKeyIndex[k] = _i;\n nextNodeKeys.push(k);\n\n if (keyIndex[k] === undefined) {\n var node = new Node();\n node.key = k;\n node.data = d;\n node.type = _types.ENTER;\n nodeHash[k] = node;\n }\n }\n\n for (var _i2 = 0; _i2 < nodeKeys.length; _i2++) {\n var _k = nodeKeys[_i2];\n var n = nodeHash[_k];\n\n if (nextKeyIndex[_k] !== undefined) {\n n.data = data[nextKeyIndex[_k]];\n n.type = _types.UPDATE;\n } else {\n n.type = _types.LEAVE;\n }\n }\n\n var mergedNodeKeys = (0, _mergeKeys[\"default\"])(nodeKeys, keyIndex, nextNodeKeys, nextKeyIndex);\n\n for (var _i3 = 0; _i3 < mergedNodeKeys.length; _i3++) {\n var _k2 = mergedNodeKeys[_i3];\n var _n = nodeHash[_k2];\n var _d = _n.data;\n\n if (_n.type === _types.ENTER) {\n _n.setState(start(_d, nextKeyIndex[_k2]));\n\n _n.transition(enter(_d, nextKeyIndex[_k2]));\n } else if (_n.type === _types.LEAVE) {\n _n.transition(leave(_d, keyIndex[_k2]));\n } else {\n _n.transition(update(_d, nextKeyIndex[_k2]));\n }\n }\n\n return {\n data: data,\n nodes: mergedNodeKeys.map(function (key) {\n return nodeHash[key];\n }),\n nodeHash: nodeHash,\n nodeKeys: mergedNodeKeys\n };\n }\n\n return null;\n }\n }]);\n\n return NodeGroup;\n}(_react.Component);\n\nNodeGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n data: _propTypes[\"default\"].array.isRequired,\n keyAccessor: _propTypes[\"default\"].func.isRequired,\n interpolation: _propTypes[\"default\"].func,\n start: _propTypes[\"default\"].func.isRequired,\n enter: _propTypes[\"default\"].func,\n update: _propTypes[\"default\"].func,\n leave: _propTypes[\"default\"].func,\n children: _propTypes[\"default\"].func.isRequired\n} : {};\nNodeGroup.defaultProps = {\n enter: function enter() {},\n update: function update() {},\n leave: function leave() {},\n interpolation: _utils.numeric\n};\nvar _default = NodeGroup;\nexports[\"default\"] = _default;","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n var ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen\n };\n\n if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n define(function () {\n return ExecutionEnvironment;\n });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = ExecutionEnvironment;\n } else {\n window.ExecutionEnvironment = ExecutionEnvironment;\n }\n})();","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.string.iterator\");\n\nrequire(\"core-js/modules/es6.weak-map\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _NodeGroup = _interopRequireDefault(require(\"../NodeGroup\"));\n\nvar _utils = require(\"../utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nvar keyAccessor = function keyAccessor() {\n return '$$key$$';\n};\n\nvar Animate = function (_Component) {\n _inherits(Animate, _Component);\n\n function Animate() {\n _classCallCheck(this, Animate);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Animate).apply(this, arguments));\n }\n\n _createClass(Animate, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n show = _this$props.show,\n start = _this$props.start,\n enter = _this$props.enter,\n update = _this$props.update,\n leave = _this$props.leave,\n interpolation = _this$props.interpolation,\n children = _this$props.children;\n var data = typeof start === 'function' ? start() : start;\n return _react[\"default\"].createElement(_NodeGroup[\"default\"], {\n data: show ? [data] : [],\n start: function start() {\n return data;\n },\n keyAccessor: keyAccessor,\n interpolation: interpolation,\n enter: typeof enter === 'function' ? enter : function () {\n return enter;\n },\n update: typeof update === 'function' ? update : function () {\n return update;\n },\n leave: typeof leave === 'function' ? leave : function () {\n return leave;\n }\n }, function (nodes) {\n if (!nodes[0]) {\n return null;\n }\n\n var renderedChildren = children(nodes[0].state);\n return renderedChildren && _react[\"default\"].Children.only(renderedChildren);\n });\n }\n }]);\n\n return Animate;\n}(_react.Component);\n\nAnimate.propTypes = process.env.NODE_ENV !== \"production\" ? {\n show: _propTypes[\"default\"].bool,\n interpolation: _propTypes[\"default\"].func,\n start: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].object]),\n enter: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].array, _propTypes[\"default\"].object]),\n update: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].array, _propTypes[\"default\"].object]),\n leave: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].array, _propTypes[\"default\"].object]),\n children: _propTypes[\"default\"].func.isRequired\n} : {};\nAnimate.defaultProps = {\n show: true,\n interpolation: _utils.numeric\n};\nvar _default = Animate;\nexports[\"default\"] = _default;","/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { graphql } from 'gatsby';\nimport styled from 'styled-components';\nimport { rem } from 'polished';\nimport { linkResolver } from '@digitaliseringsbyran/gatsby-source-prismic-graphql';\n\nimport { RichText } from 'prismic-reactjs';\nimport LinkFragment from '../utils/linkFragment';\n\nimport SEO from '../components/SEO';\nimport Layout from '../components/Layout';\nimport Row from '../components/Row';\nimport Col from '../components/Col';\nimport HeroCarousel from '../components/HeroCarousel';\nimport PartnerItem from '../components/PartnerItem';\n\nimport { breakpoint } from '../theme';\n\nconst IntroSection = styled.div`\n padding-top: ${rem(50)};\n padding-bottom: ${rem(50)};\n\n ${breakpoint('large')} {\n padding-top: ${rem(60)};\n padding-bottom: ${rem(60)};\n }\n`;\n\nconst IntroContent = styled(Col)`\n text-align: center;\n width: 100%;\n max-width: ${rem(500)};\n margin: 0 auto;\n\n ${breakpoint('mediumlarge')} {\n max-width: ${rem(570)};\n }\n`;\n\nconst LogoContainer = styled.div`\n border-top: ${(props) => {\n const { border } = props.theme.global;\n return `${border.width} ${border.style} ${border.color}`;\n }};\n padding-top: 2rem;\n padding-bottom: 2rem;\n max-width: ${(props) => props.theme.grid.maxWidth};\n margin: auto;\n text-align: center;\n`;\n\nconst GridItem = styled(Col)`\n display: inline-block;\n width: ${rem(185)};\n /* padding: ${(props) => props.theme.spacing.gutter}; */\n\n ${breakpoint('large')} {\n width: ${rem(205)};\n }\n`;\n\nconst LogoSectionTitle = styled.h4`\n display: block;\n width: 100%;\n font-weight: ${(props) => props.theme.typography.weights.heading.normal};\n color: ${(props) => props.theme.palette.colors.greyLight};\n font-size: ${rem(17)};\n`;\n\nfunction App({ data }) {\n const { allHomepages, allPartners: partners } = data.prismic;\n const page = allHomepages.edges[0].node;\n\n // console.log(data);\n\n return (\n \n \n\n {page.hero_items && page.hero_items.length && (\n \n )}\n\n {page.content && page.content.length && RichText.asText(page.content) && (\n \n \n \n \n \n \n \n )}\n\n \n Our friends\n {partners.edges.map(({ node: partner }) => {\n return (\n \n \n \n );\n })}\n \n \n );\n}\n\nApp.propTypes = {\n data: PropTypes.objectOf(PropTypes.object).isRequired,\n};\n\nApp.fragments = [LinkFragment];\n\nexport const query = graphql`\n query {\n prismic {\n allHomepages(first: 1) {\n edges {\n node {\n title\n hero_title\n hero_text\n hero_image\n hero_imageSharp {\n childImageSharp {\n fluid(maxWidth: 1600, quality: 75) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n seo_meta_title\n seo_description\n hero_link {\n ...LinkFragment\n }\n hero_items {\n ... on PRISMIC_HomepageHero_itemsImage_item {\n type\n label\n primary {\n image\n imageSharp {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 75) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n link {\n ...LinkFragment\n }\n title\n text\n pre_title\n link_label\n }\n }\n ... on PRISMIC_HomepageHero_itemsVideo_item {\n type\n label\n primary {\n link {\n ...LinkFragment\n }\n image\n imageSharp {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 75) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n link_label\n pre_title\n text\n title\n video {\n ... on PRISMIC__FileLink {\n _linkType\n name\n size\n url\n }\n }\n }\n }\n }\n }\n }\n }\n allSettingss {\n edges {\n node {\n page_for_partners {\n ...LinkFragment\n }\n page_for_clients {\n ...LinkFragment\n }\n }\n }\n }\n allPartners(sortBy: title_ASC, first: 8) {\n edges {\n node {\n _linkType\n _meta {\n id\n lang\n lastPublicationDate\n tags\n type\n uid\n }\n content\n hero_text\n link {\n ...LinkFragment\n }\n _linkType\n partner_logo\n seo_description\n seo_meta_title\n title\n }\n }\n totalCount\n }\n }\n }\n`;\n\nexport default App;\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.numeric = numeric;\n\nfunction numeric(beg, end) {\n var a = +beg;\n var b = +end - a;\n return function (t) {\n return a + b * t;\n };\n}","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}","export function linear(t) {\n return +t;\n}","export function quadIn(t) {\n return t * t;\n}\nexport function quadOut(t) {\n return t * (2 - t);\n}\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}","export function cubicIn(t) {\n return t * t * t;\n}\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}","var exponent = 3;\nexport var polyIn = function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n return polyIn;\n}(exponent);\nexport var polyOut = function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n return polyOut;\n}(exponent);\nexport var polyInOut = function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n return polyInOut;\n}(exponent);","var pi = Math.PI,\n halfPi = pi / 2;\nexport function sinIn(t) {\n return 1 - Math.cos(t * halfPi);\n}\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;\n}","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}","var overshoot = 1.70158;\nexport var backIn = function custom(s) {\n s = +s;\n\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n return backIn;\n}(overshoot);\nexport var backOut = function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n return backOut;\n}(overshoot);\nexport var backInOut = function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n return backInOut;\n}(overshoot);","var tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\nexport var elasticIn = function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function (a) {\n return custom(a, p * tau);\n };\n\n elasticIn.period = function (p) {\n return custom(a, p);\n };\n\n return elasticIn;\n}(amplitude, period);\nexport var elasticOut = function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function (a) {\n return custom(a, p * tau);\n };\n\n elasticOut.period = function (p) {\n return custom(a, p);\n };\n\n return elasticOut;\n}(amplitude, period);\nexport var elasticInOut = function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0 ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p) : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function (a) {\n return custom(a, p * tau);\n };\n\n elasticInOut.period = function (p) {\n return custom(a, p);\n };\n\n return elasticInOut;\n}(amplitude, period);","import React from 'react';\nexport var getImgTagStyles = function getImgTagStyles() {\n return \".slider-slide > img { width: 100%; display: block; }\\n .slider-slide > img:focus { margin: auto; }\";\n};\nexport var getSlideHeight = function getSlideHeight(props) {\n var childCount = React.Children.count(props.children);\n var listWidth = props.slideWidth * childCount;\n var spacingOffset = props.cellSpacing * childCount;\n var calculatedHeight = props.vertical ? listWidth + spacingOffset : props.slideHeight;\n return calculatedHeight > 0 && props.heightMode !== 'current' ? calculatedHeight : 'auto';\n};\nexport var getAlignmentOffset = function getAlignmentOffset(slideIndex, config) {\n var offset = 0;\n\n switch (config.cellAlign) {\n case 'left':\n {\n offset = 0;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n\n case 'center':\n {\n offset = (config.frameWidth - config.slideWidth) / 2;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n\n case 'right':\n {\n offset = config.frameWidth - config.slideWidth;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n }\n\n return offset;\n};\nexport var getDecoratorStyles = function getDecoratorStyles(position) {\n switch (position) {\n case 'TopLeft':\n {\n return {\n position: 'absolute',\n top: 0,\n left: 0\n };\n }\n\n case 'TopCenter':\n {\n return {\n position: 'absolute',\n top: 0,\n left: '50%',\n transform: 'translateX(-50%)',\n WebkitTransform: 'translateX(-50%)',\n msTransform: 'translateX(-50%)'\n };\n }\n\n case 'TopRight':\n {\n return {\n position: 'absolute',\n top: 0,\n right: 0\n };\n }\n\n case 'CenterLeft':\n {\n return {\n position: 'absolute',\n top: '50%',\n left: 0,\n transform: 'translateY(-50%)',\n WebkitTransform: 'translateY(-50%)',\n msTransform: 'translateY(-50%)'\n };\n }\n\n case 'CenterCenter':\n {\n return {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n WebkitTransform: 'translate(-50%, -50%)',\n msTransform: 'translate(-50%, -50%)'\n };\n }\n\n case 'CenterRight':\n {\n return {\n position: 'absolute',\n top: '50%',\n right: 0,\n transform: 'translateY(-50%)',\n WebkitTransform: 'translateY(-50%)',\n msTransform: 'translateY(-50%)'\n };\n }\n\n case 'BottomLeft':\n {\n return {\n position: 'absolute',\n bottom: 0,\n left: 0\n };\n }\n\n case 'BottomCenter':\n {\n return {\n position: 'absolute',\n bottom: 0,\n left: '50%',\n transform: 'translateX(-50%)',\n WebkitTransform: 'translateX(-50%)',\n msTransform: 'translateX(-50%)'\n };\n }\n\n case 'BottomRight':\n {\n return {\n position: 'absolute',\n bottom: 0,\n right: 0\n };\n }\n\n default:\n {\n return {\n position: 'absolute',\n top: 0,\n left: 0\n };\n }\n }\n};\nexport var getSliderStyles = function getSliderStyles(propWidth, propHeight) {\n return {\n boxSizing: 'border-box',\n display: 'block',\n height: propHeight,\n MozBoxSizing: 'border-box',\n position: 'relative',\n width: propWidth\n };\n};\nexport var getFrameStyles = function getFrameStyles(propFrameOverFlow, propVertical, propFramePadding, stateFrameWidth) {\n return {\n boxSizing: 'border-box',\n display: 'block',\n height: propVertical ? stateFrameWidth || 'initial' : '100%',\n margin: propFramePadding,\n MozBoxSizing: 'border-box',\n msTransform: 'translate(0, 0)',\n overflow: propFrameOverFlow,\n padding: 0,\n position: 'relative',\n touchAction: \"pinch-zoom \".concat(propVertical ? 'pan-x' : 'pan-y'),\n transform: 'translate3d(0, 0, 0)',\n WebkitTransform: 'translate3d(0, 0, 0)'\n };\n};\nexport var getTransitionProps = function getTransitionProps(props, state) {\n return {\n animation: props.animation,\n cellAlign: props.cellAlign,\n cellSpacing: props.cellSpacing,\n currentSlide: state.currentSlide,\n dragging: props.dragging,\n frameWidth: parseInt(state.frameWidth),\n heightMode: props.heightMode,\n isWrappingAround: state.isWrappingAround,\n left: state.left,\n opacityScale: props.opacityScale,\n slideCount: state.slideCount,\n slideHeight: state.slideHeight,\n slideListMargin: props.slideListMargin,\n slideOffset: props.slideOffset,\n slidesToScroll: props.scrollMode === 'page' ? state.slidesToShow : props.slidesToScroll,\n slidesToShow: state.slidesToShow,\n slideWidth: state.slideWidth,\n top: state.top,\n vertical: props.vertical,\n wrapAround: props.wrapAround,\n zoomScale: props.zoomScale\n };\n};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport { getAlignmentOffset } from './utilities/style-utilities';\n\nvar defaultButtonStyles = function defaultButtonStyles(disabled) {\n return {\n border: 0,\n background: 'rgba(0,0,0,0.4)',\n color: 'white',\n padding: 10,\n textTransform: 'uppercase',\n opacity: disabled && 0.3,\n cursor: disabled ? 'not-allowed' : 'pointer'\n };\n};\n\nexport var PreviousButton = /*#__PURE__*/function (_React$Component) {\n _inherits(PreviousButton, _React$Component);\n\n function PreviousButton() {\n var _this;\n\n _classCallCheck(this, PreviousButton);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(PreviousButton).apply(this, arguments));\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(PreviousButton, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault();\n this.props.previousSlide();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props$defaultCo = this.props.defaultControlsConfig,\n prevButtonClassName = _this$props$defaultCo.prevButtonClassName,\n _this$props$defaultCo2 = _this$props$defaultCo.prevButtonStyle,\n prevButtonStyle = _this$props$defaultCo2 === void 0 ? {} : _this$props$defaultCo2,\n prevButtonText = _this$props$defaultCo.prevButtonText;\n var disabled = this.props.currentSlide === 0 && !this.props.wrapAround || this.props.slideCount === 0;\n return React.createElement(\"button\", {\n className: prevButtonClassName,\n style: _objectSpread({}, defaultButtonStyles(disabled), {}, prevButtonStyle),\n disabled: disabled,\n onClick: this.handleClick,\n \"aria-label\": \"previous\",\n type: \"button\"\n }, prevButtonText || 'Prev');\n }\n }]);\n\n return PreviousButton;\n}(React.Component);\nexport var NextButton = /*#__PURE__*/function (_React$Component2) {\n _inherits(NextButton, _React$Component2);\n\n function NextButton() {\n var _this2;\n\n _classCallCheck(this, NextButton);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NextButton).apply(this, arguments));\n _this2.handleClick = _this2.handleClick.bind(_assertThisInitialized(_this2));\n _this2.nextButtonDisable = _this2.nextButtonDisabled.bind(_assertThisInitialized(_this2));\n return _this2;\n }\n\n _createClass(NextButton, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault();\n this.props.nextSlide();\n }\n }, {\n key: \"nextButtonDisabled\",\n value: function nextButtonDisabled(params) {\n var cellAlign = params.cellAlign,\n cellSpacing = params.cellSpacing,\n currentSlide = params.currentSlide,\n frameWidth = params.frameWidth,\n positionValue = params.positionValue,\n slideCount = params.slideCount,\n slidesToShow = params.slidesToShow,\n slideWidth = params.slideWidth,\n wrapAround = params.wrapAround;\n var buttonDisabled = false;\n\n if (!wrapAround) {\n var alignmentOffset = getAlignmentOffset(currentSlide, {\n cellAlign: cellAlign,\n cellSpacing: cellSpacing,\n frameWidth: frameWidth,\n slideWidth: slideWidth\n });\n var relativePosition = positionValue - alignmentOffset;\n var width = slideWidth + cellSpacing;\n var endOffset = cellAlign === 'center' ? 2 * alignmentOffset : alignmentOffset;\n var endPosition = -width * slideCount + width * slidesToShow - endOffset;\n buttonDisabled = relativePosition < endPosition || Math.abs(relativePosition - endPosition) < 0.01;\n }\n\n return buttonDisabled;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cellAlign = _this$props.cellAlign,\n cellSpacing = _this$props.cellSpacing,\n currentSlide = _this$props.currentSlide,\n frameWidth = _this$props.frameWidth,\n left = _this$props.left,\n slideCount = _this$props.slideCount,\n slidesToShow = _this$props.slidesToShow,\n slideWidth = _this$props.slideWidth,\n top = _this$props.top,\n vertical = _this$props.vertical,\n wrapAround = _this$props.wrapAround;\n var _this$props$defaultCo3 = this.props.defaultControlsConfig,\n nextButtonClassName = _this$props$defaultCo3.nextButtonClassName,\n _this$props$defaultCo4 = _this$props$defaultCo3.nextButtonStyle,\n nextButtonStyle = _this$props$defaultCo4 === void 0 ? {} : _this$props$defaultCo4,\n nextButtonText = _this$props$defaultCo3.nextButtonText;\n var disabled = this.nextButtonDisabled({\n cellAlign: cellAlign,\n cellSpacing: cellSpacing,\n currentSlide: currentSlide,\n frameWidth: frameWidth,\n positionValue: vertical ? top : left,\n slideCount: slideCount,\n slidesToShow: slidesToShow,\n slideWidth: slideWidth,\n wrapAround: wrapAround\n });\n return React.createElement(\"button\", {\n className: nextButtonClassName,\n style: _objectSpread({}, defaultButtonStyles(disabled), {}, nextButtonStyle),\n disabled: disabled,\n onClick: this.handleClick,\n \"aria-label\": \"next\",\n type: \"button\"\n }, nextButtonText || 'Next');\n }\n }]);\n\n return NextButton;\n}(React.Component);\nexport var PagingDots = /*#__PURE__*/function (_React$Component3) {\n _inherits(PagingDots, _React$Component3);\n\n function PagingDots() {\n _classCallCheck(this, PagingDots);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PagingDots).apply(this, arguments));\n }\n\n _createClass(PagingDots, [{\n key: \"getDotIndexes\",\n value: function getDotIndexes(slideCount, slidesToScroll, slidesToShow, cellAlign, scrollMode) {\n var dotIndexes = [];\n var lastDotIndex = slideCount - slidesToShow;\n\n switch (cellAlign) {\n case 'center':\n case 'right':\n lastDotIndex += slidesToShow - 1;\n break;\n }\n\n if (lastDotIndex < 0) {\n return [0];\n }\n\n for (var i = 0; i < lastDotIndex; i += slidesToScroll) {\n dotIndexes.push(i);\n }\n\n if (cellAlign === 'left' && scrollMode === 'page') {\n lastDotIndex = Math.floor(slideCount - (slideCount % slidesToShow || slidesToShow));\n }\n\n dotIndexes.push(lastDotIndex);\n return dotIndexes;\n }\n }, {\n key: \"getListStyles\",\n value: function getListStyles() {\n return {\n position: 'relative',\n top: -10,\n display: 'flex',\n margin: 0,\n padding: 0,\n listStyleType: 'none'\n };\n }\n }, {\n key: \"getButtonStyles\",\n value: function getButtonStyles(active) {\n return {\n cursor: 'pointer',\n opacity: active ? 1 : 0.5,\n background: 'transparent',\n border: 'none',\n fill: 'black'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var indexes = this.getDotIndexes(this.props.slideCount, this.props.slidesToScroll, this.props.slidesToShow, this.props.cellAlign, this.props.scrollMode);\n var _this$props$defaultCo5 = this.props.defaultControlsConfig,\n pagingDotsContainerClassName = _this$props$defaultCo5.pagingDotsContainerClassName,\n pagingDotsClassName = _this$props$defaultCo5.pagingDotsClassName,\n _this$props$defaultCo6 = _this$props$defaultCo5.pagingDotsStyle,\n pagingDotsStyle = _this$props$defaultCo6 === void 0 ? {} : _this$props$defaultCo6;\n return React.createElement(\"ul\", {\n className: pagingDotsContainerClassName,\n style: this.getListStyles()\n }, indexes.map(function (index) {\n var isActive = _this3.props.currentSlide === index;\n return React.createElement(\"li\", {\n key: index,\n className: isActive ? 'paging-item active' : 'paging-item'\n }, React.createElement(\"button\", {\n className: pagingDotsClassName,\n type: \"button\",\n style: _objectSpread({}, _this3.getButtonStyles(isActive), {}, pagingDotsStyle),\n onClick: _this3.props.goToSlide.bind(null, index),\n \"aria-label\": \"slide \".concat(index + 1, \" bullet\")\n }, React.createElement(\"svg\", {\n className: \"paging-dot\",\n width: \"6\",\n height: \"6\"\n }, React.createElement(\"circle\", {\n cx: \"3\",\n cy: \"3\",\n r: \"3\"\n }))));\n }));\n }\n }]);\n\n return PagingDots;\n}(React.Component);","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport React from 'react';\nexport var addEvent = function addEvent(elem, type, eventHandle) {\n if (elem === null || typeof elem === 'undefined') {\n return;\n }\n\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle, false);\n } else if (elem.attachEvent) {\n elem.attachEvent(\"on\".concat(type), eventHandle);\n } else {\n elem[\"on\".concat(type)] = eventHandle;\n }\n};\nexport var removeEvent = function removeEvent(elem, type, eventHandle) {\n if (elem === null || typeof elem === 'undefined') {\n return;\n }\n\n if (elem.removeEventListener) {\n elem.removeEventListener(type, eventHandle, false);\n } else if (elem.detachEvent) {\n elem.detachEvent(\"on\".concat(type), eventHandle);\n } else {\n elem[\"on\".concat(type)] = null;\n }\n};\nexport var addAccessibility = function addAccessibility(children, slidesToShow, currentSlide) {\n var needsTabIndex;\n\n if (slidesToShow > 1) {\n return React.Children.map(children, function (child, index) {\n var firstVisibleSlide = index >= currentSlide;\n var lastVisibleSlide = index < slidesToShow + currentSlide;\n needsTabIndex = firstVisibleSlide && lastVisibleSlide;\n var ariaProps = needsTabIndex ? {\n 'aria-hidden': 'false',\n tabIndex: 0\n } : {\n 'aria-hidden': 'true'\n };\n return React.cloneElement(child, _objectSpread({}, child.props, {}, ariaProps));\n });\n } else {\n return React.Children.map(children, function (child, index) {\n needsTabIndex = index !== currentSlide;\n var ariaProps = needsTabIndex ? {\n 'aria-hidden': 'true'\n } : {\n 'aria-hidden': 'false',\n tabIndex: 0\n };\n return React.cloneElement(child, _objectSpread({}, child.props, {}, ariaProps));\n });\n }\n};\nexport var getPropsByTransitionMode = function getPropsByTransitionMode(props, keys) {\n var slidesToShow = props.slidesToShow,\n transitionMode = props.transitionMode;\n var updatedDefaults = {};\n\n if (transitionMode === 'fade') {\n keys.forEach(function (key) {\n switch (key) {\n case 'slidesToShow':\n updatedDefaults[key] = Math.max(parseInt(slidesToShow), 1);\n break;\n\n case 'slidesToScroll':\n updatedDefaults[key] = Math.max(parseInt(slidesToShow), 1);\n break;\n\n case 'cellAlign':\n updatedDefaults[key] = 'left';\n break;\n\n default:\n updatedDefaults[key] = props[key];\n break;\n }\n });\n } else {\n keys.forEach(function (key) {\n updatedDefaults[key] = props[key];\n });\n }\n\n return updatedDefaults;\n};\nexport var swipeDirection = function swipeDirection(x1, x2, y1, y2, vertical) {\n var xDist = x1 - x2;\n var yDist = y1 - y2;\n var r = Math.atan2(yDist, xDist);\n var swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0) {\n return 1;\n }\n\n if (swipeAngle <= 360 && swipeAngle >= 315) {\n return 1;\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return -1;\n }\n\n if (vertical === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return 1;\n } else {\n return -1;\n }\n }\n\n return 0;\n};\nexport var getSlideDirection = function getSlideDirection(start, end, isWrapping) {\n var direction = 0;\n if (start === end) return direction;\n\n if (isWrapping) {\n direction = start < end ? -1 : 1;\n } else {\n direction = start < end ? 1 : -1;\n }\n\n return direction;\n};\nexport var shouldUpdate = function shouldUpdate(curr, next, keys) {\n var update = false;\n\n for (var i = 0; i < keys.length; i++) {\n if (curr[keys[i]] !== next[keys[i]]) {\n update = true;\n break;\n }\n }\n\n return update;\n};\nexport var calcSomeInitialState = function calcSomeInitialState(props) {\n var _getPropsByTransition = getPropsByTransitionMode(props, ['slidesToScroll', 'slidesToShow', 'cellAlign']),\n slidesToScroll = _getPropsByTransition.slidesToScroll,\n slidesToShow = _getPropsByTransition.slidesToShow,\n cellAlign = _getPropsByTransition.cellAlign;\n\n var slideWidth = props.vertical ? props.initialSlideHeight || 0 : props.initialSlideWidth || 0;\n var slideHeight = props.vertical ? (props.initialSlideHeight || 0) * props.slidesToShow : props.initialSlideHeight || 0;\n var frameHeight = slideHeight + props.cellSpacing * (slidesToShow - 1);\n var frameWidth = props.vertical ? frameHeight : '100%';\n return {\n slideWidth: slideWidth,\n slideHeight: slideHeight,\n frameWidth: frameWidth,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n cellAlign: cellAlign\n };\n};\nexport var handleSelfFocus = function handleSelfFocus(e) {\n if (e && e.currentTarget) {\n e.currentTarget.focus();\n }\n};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getSlideHeight, getAlignmentOffset } from '../utilities/style-utilities';\nimport { getSlideDirection, handleSelfFocus } from '../utilities/utilities';\nvar MIN_ZOOM_SCALE = 0;\nvar MAX_ZOOM_SCALE = 1;\n\nvar ScrollTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollTransition, _React$Component);\n\n function ScrollTransition(props) {\n var _this;\n\n _classCallCheck(this, ScrollTransition);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ScrollTransition).call(this, props));\n _this.getListStyles = _this.getListStyles.bind(_assertThisInitialized(_this));\n return _this;\n }\n /* eslint-disable complexity */\n\n\n _createClass(ScrollTransition, [{\n key: \"getSlideTargetPosition\",\n value: function getSlideTargetPosition(currentSlideIndex, positionValue) {\n var offset = 0;\n\n if (this.props.animation === 'zoom' && (this.props.currentSlide === currentSlideIndex + 1 || this.props.currentSlide === 0 && currentSlideIndex === this.props.children.length - 1)) {\n offset = this.props.slideOffset;\n } else if (this.props.animation === 'zoom' && (this.props.currentSlide === currentSlideIndex - 1 || this.props.currentSlide === this.props.children.length - 1 && currentSlideIndex === 0)) {\n offset = -this.props.slideOffset;\n }\n\n var targetPosition = (this.props.slideWidth + this.props.cellSpacing) * currentSlideIndex;\n var alignmentOffset = getAlignmentOffset(currentSlideIndex, this.props);\n var relativePosition = positionValue - alignmentOffset;\n var startSlideIndex = Math.min(Math.abs(Math.floor(relativePosition / this.props.slideWidth)), this.props.slideCount - 1);\n\n if (this.props.wrapAround && currentSlideIndex !== startSlideIndex) {\n var slidesOutOfView = Math.max(this.props.slideCount - Math.ceil(this.props.frameWidth / this.props.slideWidth), // Total slides in view\n 0);\n var slidesOutOfViewBefore = Math.floor(slidesOutOfView / 2);\n var slidesOutOfViewAfter = slidesOutOfView - slidesOutOfViewBefore;\n var direction = getSlideDirection(startSlideIndex, this.props.currentSlide, this.props.isWrappingAround);\n\n if (direction < 0) {\n var temp = slidesOutOfViewBefore;\n slidesOutOfViewBefore = slidesOutOfViewAfter;\n slidesOutOfViewAfter = temp;\n }\n\n var slidesInViewBefore = Math.ceil(alignmentOffset / this.props.slideWidth);\n var slidesBefore = slidesInViewBefore + slidesOutOfViewBefore;\n var slidesInViewAfter = Math.ceil((this.props.frameWidth - alignmentOffset) / this.props.slideWidth) - 1;\n var slidesAfter = slidesInViewAfter + slidesOutOfViewAfter;\n var distanceFromStart = Math.abs(startSlideIndex - currentSlideIndex);\n\n if (currentSlideIndex < startSlideIndex) {\n if (distanceFromStart > slidesBefore) {\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * (this.props.slideCount + currentSlideIndex);\n }\n } else if (distanceFromStart > slidesAfter) {\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * (this.props.slideCount - currentSlideIndex) * -1;\n }\n }\n\n return targetPosition + offset || 0;\n }\n /* eslint-enable complexity */\n\n }, {\n key: \"formatChildren\",\n value: function formatChildren(children) {\n var _this2 = this;\n\n var _this$props = this.props,\n top = _this$props.top,\n left = _this$props.left,\n currentSlide = _this$props.currentSlide,\n slidesToShow = _this$props.slidesToShow,\n vertical = _this$props.vertical;\n var positionValue = vertical ? top : left;\n return React.Children.map(children, function (child, index) {\n var visible = index >= currentSlide && index < currentSlide + slidesToShow;\n return React.createElement(\"li\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : ''),\n style: _this2.getSlideStyles(index, positionValue),\n key: index,\n onClick: handleSelfFocus,\n tabIndex: -1\n }, child);\n });\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, positionValue) {\n var targetPosition = this.getSlideTargetPosition(index, positionValue);\n var transformScale = this.props.animation === 'zoom' && this.props.currentSlide !== index ? Math.max(Math.min(this.props.zoomScale, MAX_ZOOM_SCALE), MIN_ZOOM_SCALE) : 1.0;\n return {\n boxSizing: 'border-box',\n display: this.props.vertical ? 'block' : 'inline-block',\n height: getSlideHeight(this.props),\n left: this.props.vertical ? 0 : targetPosition,\n listStyleType: 'none',\n marginBottom: this.props.vertical ? this.props.cellSpacing / 2 : 'auto',\n marginLeft: this.props.vertical ? 'auto' : this.props.cellSpacing / 2,\n marginRight: this.props.vertical ? 'auto' : this.props.cellSpacing / 2,\n marginTop: this.props.vertical ? this.props.cellSpacing / 2 : 'auto',\n MozBoxSizing: 'border-box',\n position: 'absolute',\n top: this.props.vertical ? targetPosition : 0,\n transform: \"scale(\".concat(transformScale, \")\"),\n transition: 'transform .4s linear',\n verticalAlign: 'top',\n width: this.props.vertical ? '100%' : this.props.slideWidth\n };\n }\n }, {\n key: \"getListStyles\",\n value: function getListStyles(styles) {\n var deltaX = styles.deltaX,\n deltaY = styles.deltaY;\n var listWidth = this.props.slideWidth * React.Children.count(this.props.children);\n var spacingOffset = this.props.cellSpacing * React.Children.count(this.props.children);\n var transform = \"translate3d(\".concat(deltaX, \"px, \").concat(deltaY, \"px, 0)\");\n return {\n boxSizing: 'border-box',\n cursor: this.props.dragging === true ? 'pointer' : 'inherit',\n display: 'block',\n height: this.props.vertical ? listWidth + spacingOffset : this.props.slideHeight,\n margin: this.props.vertical ? \"\".concat(this.props.cellSpacing / 2 * -1, \"px 0px\") : \"0px \".concat(this.props.cellSpacing / 2 * -1, \"px\"),\n padding: 0,\n position: 'relative',\n MozBoxSizing: 'border-box',\n msTransform: \"translate(\".concat(deltaX, \"px, \").concat(deltaY, \"px)\"),\n touchAction: \"pinch-zoom \".concat(this.props.vertical ? 'pan-x' : 'pan-y'),\n transform: transform,\n WebkitTransform: transform,\n width: 'auto'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.formatChildren(this.props.children);\n var deltaX = this.props.deltaX;\n var deltaY = this.props.deltaY;\n return React.createElement(\"ul\", {\n className: \"slider-list\",\n style: this.getListStyles({\n deltaX: deltaX,\n deltaY: deltaY\n })\n }, children);\n }\n }]);\n\n return ScrollTransition;\n}(React.Component);\n\nexport { ScrollTransition as default };\nScrollTransition.propTypes = {\n animation: PropTypes.oneOf(['zoom']),\n cellAlign: PropTypes.string,\n cellSpacing: PropTypes.number,\n currentSlide: PropTypes.number,\n deltaX: PropTypes.number,\n deltaY: PropTypes.number,\n dragging: PropTypes.bool,\n frameWidth: PropTypes.number,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n isWrappingAround: PropTypes.bool,\n left: PropTypes.number,\n slideCount: PropTypes.number,\n slideHeight: PropTypes.number,\n slideOffset: PropTypes.number,\n slidesToScroll: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n slideWidth: PropTypes.number,\n top: PropTypes.number,\n vertical: PropTypes.bool,\n wrapAround: PropTypes.bool,\n zoomScale: PropTypes.number\n};\nScrollTransition.defaultProps = {\n cellAlign: 'left',\n cellSpacing: 0,\n currentSlide: 0,\n deltaX: 0,\n deltaY: 0,\n dragging: false,\n frameWidth: 0,\n heightMode: 'max',\n isWrappingAround: false,\n left: 0,\n slideCount: 0,\n slideHeight: 0,\n slidesToScroll: 1,\n slideWidth: 0,\n top: 0,\n vertical: false,\n wrapAround: false,\n zoomScale: 0.85\n};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getSlideHeight } from '../utilities/style-utilities';\nimport { handleSelfFocus } from '../utilities/utilities';\n\nvar FadeTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(FadeTransition, _React$Component);\n\n function FadeTransition(props) {\n var _this;\n\n _classCallCheck(this, FadeTransition);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(FadeTransition).call(this, props));\n _this.fadeFromSlide = props.currentSlide;\n return _this;\n }\n\n _createClass(FadeTransition, [{\n key: \"formatChildren\",\n value: function formatChildren(children, opacity) {\n var _this2 = this;\n\n var _this$props = this.props,\n currentSlide = _this$props.currentSlide,\n slidesToShow = _this$props.slidesToShow;\n return React.Children.map(children, function (child, index) {\n var visible = index >= currentSlide && index < currentSlide + slidesToShow;\n return React.createElement(\"li\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : ''),\n style: _this2.getSlideStyles(index, opacity),\n key: index,\n onClick: handleSelfFocus,\n tabIndex: -1\n }, child);\n });\n }\n }, {\n key: \"getSlideOpacityAndLeftMap\",\n value: function getSlideOpacityAndLeftMap(fadeFrom, fadeTo, fade) {\n // Figure out which position to fade to\n var fadeToPosition = fadeTo;\n\n if (fadeFrom > fade && fadeFrom === 0) {\n fadeToPosition = fadeFrom - this.props.slidesToShow;\n } else if (fadeFrom < fade && fadeFrom + this.props.slidesToShow > this.props.slideCount - 1) {\n fadeToPosition = fadeFrom + this.props.slidesToShow;\n } // Calculate opacity for active slides\n\n\n var opacity = {};\n\n if (fadeFrom === fadeTo) {\n opacity[fadeFrom] = 1;\n } else {\n var distance = fadeFrom - fadeToPosition;\n opacity[fadeFrom] = (fade - fadeToPosition) / distance;\n opacity[fadeTo] = (fadeFrom - fade) / distance;\n } // Calculate left for slides and merge in opacity\n\n\n var map = {};\n\n for (var i = 0; i < this.props.slidesToShow; i++) {\n map[fadeFrom + i] = {\n opacity: opacity[fadeFrom],\n left: this.props.slideWidth * i\n };\n map[fadeTo + i] = {\n opacity: opacity[fadeTo],\n left: this.props.slideWidth * i\n };\n }\n\n return map;\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, data) {\n return {\n boxSizing: 'border-box',\n display: 'block',\n height: getSlideHeight(this.props),\n left: data[index] ? data[index].left : 0,\n listStyleType: 'none',\n marginBottom: 'auto',\n marginLeft: this.props.cellSpacing / 2,\n marginRight: this.props.cellSpacing / 2,\n marginTop: 'auto',\n MozBoxSizing: 'border-box',\n opacity: data[index] ? data[index].opacity : 0,\n position: 'absolute',\n top: 0,\n verticalAlign: 'top',\n visibility: data[index] ? 'inherit' : 'hidden',\n width: this.props.slideWidth\n };\n }\n }, {\n key: \"getContainerStyles\",\n value: function getContainerStyles() {\n var width = this.props.slideWidth * this.props.slidesToShow;\n return {\n boxSizing: 'border-box',\n cursor: this.props.dragging === true ? 'pointer' : 'inherit',\n display: 'block',\n height: this.props.slideHeight,\n margin: this.props.vertical ? \"\".concat(this.props.cellSpacing / 2 * -1, \"px 0px\") : \"0px \".concat(this.props.cellSpacing / 2 * -1, \"px\"),\n MozBoxSizing: 'border-box',\n padding: 0,\n touchAction: \"pinch-zoom \".concat(this.props.vertical ? 'pan-x' : 'pan-y'),\n width: width\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var fade = -(this.props.deltaX || this.props.deltaY) / this.props.slideWidth % this.props.slideCount;\n\n if (parseInt(fade) === fade) {\n this.fadeFromSlide = fade;\n }\n\n var opacityAndLeftMap = this.getSlideOpacityAndLeftMap(this.fadeFromSlide, this.props.currentSlide, fade);\n var children = this.formatChildren(this.props.children, opacityAndLeftMap);\n return React.createElement(\"ul\", {\n className: \"slider-list\",\n style: this.getContainerStyles()\n }, children);\n }\n }]);\n\n return FadeTransition;\n}(React.Component);\n\nexport { FadeTransition as default };\nFadeTransition.propTypes = {\n cellSpacing: PropTypes.number,\n currentSlide: PropTypes.number,\n deltaX: PropTypes.number,\n deltaY: PropTypes.number,\n dragging: PropTypes.bool,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n isWrappingAround: PropTypes.bool,\n left: PropTypes.number,\n slideCount: PropTypes.number,\n slideHeight: PropTypes.number,\n slidesToShow: PropTypes.number,\n slideWidth: PropTypes.number,\n top: PropTypes.number,\n vertical: PropTypes.bool,\n wrapAround: PropTypes.bool\n};\nFadeTransition.defaultProps = {\n cellSpacing: 0,\n currentSlide: 0,\n deltaX: 0,\n deltaY: 0,\n dragging: false,\n heightMode: 'max',\n isWrappingAround: false,\n left: 0,\n slideCount: 0,\n slideHeight: 0,\n slidesToShow: 1,\n slideWidth: 0,\n top: 0,\n vertical: false,\n wrapAround: false\n};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getSlideHeight } from '../utilities/style-utilities';\nimport { handleSelfFocus } from '../utilities/utilities';\nvar MIN_ZOOM_SCALE = 0;\nvar MAX_ZOOM_SCALE = 1;\n\nvar ScrollTransition3D = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollTransition3D, _React$Component);\n\n function ScrollTransition3D(props) {\n var _this;\n\n _classCallCheck(this, ScrollTransition3D);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ScrollTransition3D).call(this, props));\n _this.getListStyles = _this.getListStyles.bind(_assertThisInitialized(_this));\n return _this;\n }\n /* eslint-disable complexity */\n\n\n _createClass(ScrollTransition3D, [{\n key: \"getSlideTargetPosition\",\n value: function getSlideTargetPosition(index) {\n var targetPosition = 0;\n var offset = 0;\n\n if (index !== this.props.currentSlide) {\n var relativeDistanceToCurrentSlide = this.getRelativeDistanceToCurrentSlide(index);\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * relativeDistanceToCurrentSlide - this.getZoomOffsetFor(relativeDistanceToCurrentSlide);\n offset = 0;\n\n if (this.props.animation === 'zoom' && (this.props.currentSlide === index + 1 || this.props.currentSlide === 0 && index === this.props.children.length - 1)) {\n offset = this.props.slideOffset;\n } else if (this.props.animation === 'zoom' && (this.props.currentSlide === index - 1 || this.props.currentSlide === this.props.children.length - 1 && index === 0)) {\n offset = -this.props.slideOffset;\n }\n }\n\n return targetPosition + offset;\n }\n /* eslint-enable complexity */\n\n }, {\n key: \"formatChildren\",\n value: function formatChildren(children) {\n var _this2 = this;\n\n var _this$props = this.props,\n top = _this$props.top,\n left = _this$props.left,\n currentSlide = _this$props.currentSlide,\n slidesToShow = _this$props.slidesToShow,\n vertical = _this$props.vertical;\n var positionValue = vertical ? top : left;\n return React.Children.map(children, function (child, index) {\n var visible = _this2.getDistanceToCurrentSlide(index) <= slidesToShow / 2;\n var current = currentSlide === index;\n return React.createElement(\"li\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : '').concat(current ? ' slide-current' : ''),\n style: _this2.getSlideStyles(index, positionValue),\n key: index,\n onClick: handleSelfFocus,\n tabIndex: -1\n }, child);\n });\n }\n }, {\n key: \"getZoomOffsetFor\",\n value: function getZoomOffsetFor(relativeDistanceToCurrent) {\n if (relativeDistanceToCurrent === 0) {\n return 0;\n }\n\n var marginGeneratedByZoom = (1 - Math.pow(this.props.zoomScale, Math.abs(relativeDistanceToCurrent))) * this.props.slideWidth;\n var direction = relativeDistanceToCurrent < 0 ? -1 : 1;\n var result = marginGeneratedByZoom * direction + this.getZoomOffsetFor(relativeDistanceToCurrent < 0 ? relativeDistanceToCurrent + 1 : relativeDistanceToCurrent - 1);\n return result;\n }\n }, {\n key: \"getDistance\",\n value: function getDistance(index, referenceIndex) {\n return Math.abs(index - referenceIndex);\n }\n }, {\n key: \"getDistanceToCurrentSlide\",\n value: function getDistanceToCurrentSlide(index) {\n var _this$props2 = this.props,\n wrapAround = _this$props2.wrapAround,\n currentSlide = _this$props2.currentSlide,\n slideCount = _this$props2.slideCount;\n return wrapAround ? Math.min(Math.min(this.getDistance(index, 0) + this.getDistance(currentSlide, slideCount), this.getDistance(index, slideCount) + this.getDistance(currentSlide, 0)), this.getDistance(index, currentSlide)) : this.getDistance(index, currentSlide);\n }\n }, {\n key: \"getRelativeDistanceToCurrentSlide\",\n value: function getRelativeDistanceToCurrentSlide(index) {\n var _this$props3 = this.props,\n wrapAround = _this$props3.wrapAround,\n currentSlide = _this$props3.currentSlide,\n slideCount = _this$props3.slideCount;\n\n if (wrapAround) {\n var distanceByLeftEge = this.getDistance(index, 0) + this.getDistance(currentSlide, slideCount);\n var distanceByRightEdge = this.getDistance(index, slideCount) + this.getDistance(currentSlide, 0);\n var absoluteDirectDistance = this.getDistance(index, currentSlide);\n var minimumDistance = Math.min(Math.min(distanceByLeftEge, distanceByRightEdge), absoluteDirectDistance);\n\n switch (minimumDistance) {\n case absoluteDirectDistance:\n return index - currentSlide;\n\n case distanceByLeftEge:\n return distanceByLeftEge;\n\n case distanceByRightEdge:\n return -distanceByRightEdge;\n\n default:\n return 0;\n }\n } else {\n return index - currentSlide;\n }\n }\n }, {\n key: \"getTransformScale\",\n value: function getTransformScale(index) {\n return this.props.currentSlide !== index ? Math.max(Math.min(Math.pow(this.props.zoomScale, this.getDistanceToCurrentSlide(index)), MAX_ZOOM_SCALE), MIN_ZOOM_SCALE) : 1.0;\n }\n }, {\n key: \"getOpacityScale\",\n value: function getOpacityScale(index) {\n return this.props.currentSlide !== index ? Math.max(Math.min(Math.pow(this.props.opacityScale, this.getDistanceToCurrentSlide(index)), MAX_ZOOM_SCALE), MIN_ZOOM_SCALE) : 1.0;\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, positionValue) {\n var _this$props4 = this.props,\n vertical = _this$props4.vertical,\n slideCount = _this$props4.slideCount,\n cellSpacing = _this$props4.cellSpacing,\n slideWidth = _this$props4.slideWidth;\n var targetPosition = this.getSlideTargetPosition(index, positionValue);\n var transformScale = this.getTransformScale(index);\n return {\n boxSizing: 'border-box',\n display: vertical ? 'block' : 'inline-block',\n height: getSlideHeight(this.props),\n left: vertical ? 0 : targetPosition,\n listStyleType: 'none',\n marginBottom: vertical ? cellSpacing / 2 : 'auto',\n marginLeft: vertical ? 'auto' : cellSpacing / 2,\n marginRight: vertical ? 'auto' : cellSpacing / 2,\n marginTop: vertical ? cellSpacing / 2 : 'auto',\n MozBoxSizing: 'border-box',\n opacity: this.getOpacityScale(index),\n position: 'absolute',\n top: vertical ? targetPosition : 0,\n transform: \"scale(\".concat(transformScale, \")\"),\n transition: 'left 0.4s ease-out, transform 0.4s ease-out, opacity 0.4s ease-out',\n verticalAlign: 'top',\n width: vertical ? '100%' : slideWidth,\n zIndex: slideCount - this.getDistanceToCurrentSlide(index)\n };\n }\n }, {\n key: \"getListStyles\",\n value: function getListStyles() {\n var listWidth = this.props.slideWidth * React.Children.count(this.props.children);\n var spacingOffset = this.props.cellSpacing * React.Children.count(this.props.children);\n return {\n boxSizing: 'border-box',\n cursor: this.props.dragging === true ? 'pointer' : 'inherit',\n height: this.props.vertical ? listWidth + spacingOffset : this.props.slideHeight,\n left: \"calc(50% - (\".concat(this.props.slideWidth, \"px / 2))\"),\n margin: this.props.vertical ? \"\".concat(this.props.cellSpacing / 2 * -1, \"px 0px\") : \"\".concat(this.props.slideListMargin, \"px \").concat(this.props.cellSpacing / 2 * -1, \"px\"),\n MozBoxSizing: 'border-box',\n padding: 0,\n position: 'relative',\n touchAction: \"pinch-zoom \".concat(this.props.vertical ? 'pan-x' : 'pan-y'),\n width: this.props.vertical ? 'auto' : '100%'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.formatChildren(this.props.children);\n return React.createElement(\"ul\", {\n className: \"slider-list\",\n style: this.getListStyles()\n }, children);\n }\n }]);\n\n return ScrollTransition3D;\n}(React.Component);\n\nexport { ScrollTransition3D as default };\nScrollTransition3D.propTypes = {\n cellSpacing: PropTypes.number,\n currentSlide: PropTypes.number,\n dragging: PropTypes.bool,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n isWrappingAround: PropTypes.bool,\n left: PropTypes.number,\n opacityScale: PropTypes.number,\n slideCount: PropTypes.number,\n slideHeight: PropTypes.number,\n slideListMargin: PropTypes.number,\n slideOffset: PropTypes.number,\n slidesToShow: PropTypes.number,\n slideWidth: PropTypes.number,\n top: PropTypes.number,\n vertical: PropTypes.bool,\n wrapAround: PropTypes.bool,\n zoomScale: PropTypes.number\n};\nScrollTransition3D.defaultProps = {\n cellSpacing: 0,\n currentSlide: 0,\n dragging: false,\n heightMode: 'max',\n isWrappingAround: false,\n left: 0,\n opacityScale: 0.65,\n slideCount: 0,\n slideHeight: 0,\n slideListMargin: 0,\n slidesToShow: 3,\n slideWidth: 0,\n top: 0,\n vertical: false,\n wrapAround: true,\n zoomScale: 0.75\n};","import ScrollTransition from './transitions/scroll-transition';\nimport FadeTransition from './transitions/fade-transition';\nimport ScrollTransition3D from './transitions/3d-scroll-transition';\nexport default {\n fade: FadeTransition,\n scroll: ScrollTransition,\n scroll3d: ScrollTransition3D\n};","import React from 'react';\n\nvar AnnounceSlide = function AnnounceSlide(_ref) {\n var message = _ref.message;\n var styles = {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden'\n };\n return React.createElement(\"div\", {\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\",\n style: styles,\n tabIndex: -1\n }, message);\n};\n\nexport var defaultRenderAnnounceSlideMessage = function defaultRenderAnnounceSlideMessage(_ref2) {\n var currentSlide = _ref2.currentSlide,\n slideCount = _ref2.slideCount;\n return \"Slide \".concat(currentSlide + 1, \" of \").concat(slideCount);\n};\nexport default AnnounceSlide;","import \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.array.from\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nimport React from 'react';\nexport var addAccessibility = function addAccessibility(children, slidesToShow) {\n if (slidesToShow > 1) {\n return React.Children.map(children, function (child) {\n return React.cloneElement(child, child.props);\n });\n } else {\n // when slidesToshow is 1\n return React.Children.map(children, function (child) {\n return React.cloneElement(child, child.props);\n });\n }\n};\nexport var getValidChildren = function getValidChildren(children) {\n // .toArray automatically removes invalid React children\n return React.Children.toArray(children);\n};\n\nvar getMax = function getMax(a, b) {\n return a > b ? a : b;\n};\n\nvar getHeightOfSlide = function getHeightOfSlide(slide) {\n if (!slide) {\n return 0;\n }\n\n if (slide.children && slide.children.length > 0) {\n // Need to convert slide.children from HTMLCollection\n // to an array\n var children = _toConsumableArray(slide.children);\n\n return children.reduce(function (totalHeight, child) {\n return totalHeight + child.offsetHeight;\n }, 0);\n } else {\n return slide.offsetHeight;\n }\n}; // end - is exclusive\n\n\nexport var findMaxHeightSlideInRange = function findMaxHeightSlideInRange(slides, start, end) {\n var maxHeight = 0;\n\n if (slides.length === 0 || start < 0 || end < 0 || start > slides.length - 1 || end > slides.length) {\n return maxHeight;\n }\n\n if (start < end) {\n for (var i = start; i < end; i++) {\n maxHeight = getMax(getHeightOfSlide(slides[i]), maxHeight);\n }\n } else if (start > end) {\n // Finding max in a wrap around\n for (var _i = start; _i < slides.length; _i++) {\n maxHeight = getMax(getHeightOfSlide(slides[_i]), maxHeight);\n }\n\n for (var _i2 = 0; _i2 < end; _i2++) {\n maxHeight = getMax(getHeightOfSlide(slides[_i2]), maxHeight);\n }\n } else {\n // start === end\n maxHeight = getHeightOfSlide(slides[start]);\n }\n\n return maxHeight;\n};\nexport var findCurrentHeightSlide = function findCurrentHeightSlide(currentSlide, slidesToShow, alignment, wrapAround, slides) {\n if (slidesToShow > 1) {\n var startIndex = currentSlide;\n var lastIndex = Math.min(Math.ceil(slidesToShow) + currentSlide, slides.length);\n var offset = alignment === 'center' ? (slidesToShow - 1) / 2 : slidesToShow - 1;\n\n switch (alignment) {\n case 'center':\n startIndex = Math.floor(currentSlide - offset);\n lastIndex = Math.ceil(currentSlide + offset) + 1;\n break;\n\n case 'right':\n startIndex = Math.floor(currentSlide - offset);\n lastIndex = currentSlide + 1;\n break;\n\n case 'left':\n startIndex = Math.floor(currentSlide + offset);\n lastIndex = Math.ceil(currentSlide + offset) + 1;\n break;\n } // inclusive\n\n\n startIndex = wrapAround && startIndex < 0 ? slides.length + startIndex : Math.max(startIndex, 0); // exclusive\n\n lastIndex = wrapAround && lastIndex > slides.length ? lastIndex - slides.length : Math.min(lastIndex, slides.length);\n return findMaxHeightSlideInRange(slides, startIndex, lastIndex);\n } else {\n return getHeightOfSlide(slides[currentSlide]);\n }\n};\nexport var calculateSlideHeight = function calculateSlideHeight(props, state) {\n var childNodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var heightMode = props.heightMode,\n vertical = props.vertical,\n initialSlideHeight = props.initialSlideHeight,\n wrapAround = props.wrapAround;\n var slidesToShow = state.slidesToShow,\n currentSlide = state.currentSlide,\n cellAlign = state.cellAlign;\n var firstSlide = childNodes[0];\n\n if (firstSlide && heightMode === 'first') {\n return vertical ? getHeightOfSlide(firstSlide) * slidesToShow : getHeightOfSlide(firstSlide);\n }\n\n if (heightMode === 'max') {\n return findMaxHeightSlideInRange(childNodes, 0, childNodes.length);\n }\n\n if (heightMode === 'current') {\n return findCurrentHeightSlide(currentSlide, slidesToShow, cellAlign, wrapAround, childNodes);\n }\n\n return initialSlideHeight || 100;\n};","import \"core-js/modules/es6.string.trim\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.array.from\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ExecutionEnvironment from 'exenv';\nimport Animate from 'react-move/Animate';\nimport * as easing from 'd3-ease';\nimport { PagingDots, PreviousButton, NextButton } from './default-controls';\nimport Transitions from './all-transitions';\nimport AnnounceSlide, { defaultRenderAnnounceSlideMessage } from './announce-slide';\nimport { addEvent, removeEvent, getPropsByTransitionMode, swipeDirection, shouldUpdate, calcSomeInitialState } from './utilities/utilities';\nimport { getAlignmentOffset, getImgTagStyles, getDecoratorStyles, getSliderStyles, getFrameStyles, getTransitionProps } from './utilities/style-utilities';\nimport { addAccessibility, getValidChildren, calculateSlideHeight } from './utilities/bootstrapping-utilities';\n\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n\n function Carousel() {\n var _this;\n\n _classCallCheck(this, Carousel);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Carousel).apply(this, arguments));\n _this.displayName = 'Carousel';\n _this.clickDisabled = false;\n _this.isTransitioning = false;\n _this.timers = [];\n _this.touchObject = {};\n _this.controlsMap = [{\n funcName: 'renderTopLeftControls',\n key: 'TopLeft'\n }, {\n funcName: 'renderTopCenterControls',\n key: 'TopCenter'\n }, {\n funcName: 'renderTopRightControls',\n key: 'TopRight'\n }, {\n funcName: 'renderCenterLeftControls',\n key: 'CenterLeft'\n }, {\n funcName: 'renderCenterCenterControls',\n key: 'CenterCenter'\n }, {\n funcName: 'renderCenterRightControls',\n key: 'CenterRight'\n }, {\n funcName: 'renderBottomLeftControls',\n key: 'BottomLeft'\n }, {\n funcName: 'renderBottomCenterControls',\n key: 'BottomCenter'\n }, {\n funcName: 'renderBottomRightControls',\n key: 'BottomRight'\n }];\n _this.keyCodeConfig = {\n nextSlide: [39, 68, 38, 87],\n previousSlide: [37, 65, 40, 83],\n firstSlide: [81],\n lastSlide: [69],\n pause: [32]\n };\n _this.childNodesMutationObs = null;\n _this.state = _objectSpread({\n currentSlide: _this.props.slideIndex,\n dragging: false,\n easing: _this.props.disableAnimation ? '' : easing.easeCircleOut,\n hasInteraction: false,\n // to remove animation from the initial slide on the page load when non-default slideIndex is used\n isWrappingAround: false,\n left: 0,\n resetWrapAroundPosition: false,\n slideCount: getValidChildren(_this.props.children).length,\n top: 0,\n wrapToIndex: null,\n hasFocus: false\n }, calcSomeInitialState(_this.props));\n _this.autoplayIterator = _this.autoplayIterator.bind(_assertThisInitialized(_this));\n _this.calcSlideHeightAndWidth = _this.calcSlideHeightAndWidth.bind(_assertThisInitialized(_this));\n _this.getChildNodes = _this.getChildNodes.bind(_assertThisInitialized(_this));\n _this.getMouseEvents = _this.getMouseEvents.bind(_assertThisInitialized(_this));\n _this.getOffsetDeltas = _this.getOffsetDeltas.bind(_assertThisInitialized(_this));\n _this.getTargetLeft = _this.getTargetLeft.bind(_assertThisInitialized(_this));\n _this.getTouchEvents = _this.getTouchEvents.bind(_assertThisInitialized(_this));\n _this.goToSlide = _this.goToSlide.bind(_assertThisInitialized(_this));\n _this.handleFocus = _this.handleFocus.bind(_assertThisInitialized(_this));\n _this.handleBlur = _this.handleBlur.bind(_assertThisInitialized(_this));\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind(_assertThisInitialized(_this));\n _this.handleMouseOut = _this.handleMouseOut.bind(_assertThisInitialized(_this));\n _this.handleMouseOver = _this.handleMouseOver.bind(_assertThisInitialized(_this));\n _this.handleSwipe = _this.handleSwipe.bind(_assertThisInitialized(_this));\n _this.nextSlide = _this.nextSlide.bind(_assertThisInitialized(_this));\n _this.onResize = _this.onResize.bind(_assertThisInitialized(_this));\n _this.onVisibilityChange = _this.onVisibilityChange.bind(_assertThisInitialized(_this));\n _this.previousSlide = _this.previousSlide.bind(_assertThisInitialized(_this));\n _this.renderControls = _this.renderControls.bind(_assertThisInitialized(_this));\n _this.resetAutoplay = _this.resetAutoplay.bind(_assertThisInitialized(_this));\n _this.setDimensions = _this.setDimensions.bind(_assertThisInitialized(_this));\n _this.setLeft = _this.setLeft.bind(_assertThisInitialized(_this));\n _this.setSlideHeightAndWidth = _this.setSlideHeightAndWidth.bind(_assertThisInitialized(_this));\n _this.startAutoplay = _this.startAutoplay.bind(_assertThisInitialized(_this));\n _this.stopAutoplay = _this.stopAutoplay.bind(_assertThisInitialized(_this));\n _this.establishChildNodesMutationObserver = _this.establishChildNodesMutationObserver.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this; // see https://github.com/facebook/react/issues/3417#issuecomment-121649937\n\n\n this.mounted = true;\n this.setLeft();\n this.setDimensions();\n this.bindEvents();\n this.establishChildNodesMutationObserver();\n\n if (this.props.autoplay) {\n this.startAutoplay();\n }\n\n var keyCodeConfig = _extends({}, this.keyCodeConfig, this.props.keyCodeConfig);\n\n this.keyCodeMap = this.getKeyCodeMap(keyCodeConfig);\n this.getlockScrollEvents().lockTouchScroll();\n var heightCheckDelay = 200;\n\n var initializeHeight = function initializeHeight(delay) {\n _this2.timers.push(setTimeout(function () {\n // If slideHeight is greater than zero, then\n // assume the app has been initialized. If not,\n // keep trying to set dimensions until things work.\n if (_this2.state.slideHeight > 0) {\n return;\n }\n\n _this2.setDimensions(); // Increase delay per attempt so the checks\n // slowly decrease if content is taking forever to load.\n\n\n initializeHeight(delay + heightCheckDelay);\n }, delay));\n };\n\n initializeHeight(heightCheckDelay);\n } // eslint-disable-next-line complexity\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var slideChanged = prevState.currentSlide !== this.state.currentSlide;\n var heightModeChanged = prevProps.heightMode !== this.props.heightMode;\n var axisChanged = prevProps.vertical !== this.props.vertical;\n\n if (axisChanged) {\n this.onResize();\n } else if (slideChanged || heightModeChanged) {\n var image = this.getCurrentChildNodeImg();\n\n if (image) {\n image.addEventListener('load', this.setSlideHeightAndWidth);\n image.removeEventListener('load', this.setSlideHeightAndWidth);\n } else {\n this.setSlideHeightAndWidth();\n }\n }\n\n var prevSlideCount = getValidChildren(prevProps.children).length;\n var slideCount = getValidChildren(this.props.children).length;\n var slideCountChanged = prevSlideCount !== slideCount;\n\n if (slideCountChanged) {\n this.setState({\n slideCount: slideCount,\n currentSlide: this.props.slideIndex\n });\n }\n\n var _this$calcSlideHeight = this.calcSlideHeightAndWidth(),\n slideHeight = _this$calcSlideHeight.slideHeight;\n\n var heightMismatches = slideHeight !== prevState.slideHeight;\n\n if (this.mounted && heightMismatches) {\n this.setDimensions();\n } else {\n var updateDimensions = slideCountChanged || shouldUpdate(prevProps, this.props, ['cellSpacing', 'vertical', 'slideWidth', 'slideHeight', 'heightMode', 'slidesToScroll', 'slidesToShow', 'transitionMode', 'cellAlign']);\n\n if (updateDimensions) {\n this.setDimensions(this.props);\n }\n }\n\n if (slideCountChanged && slideCount <= this.state.currentSlide) {\n this.goToSlide(Math.max(slideCount - 1, 0), this.props);\n } else if (prevProps.slideIndex !== this.props.slideIndex && this.props.slideIndex !== this.state.currentSlide && !this.state.isWrappingAround) {\n this.goToSlide(this.props.slideIndex, this.props);\n }\n\n if (prevProps.autoplay !== this.props.autoplay) {\n if (this.props.autoplay) {\n this.startAutoplay();\n } else {\n this.stopAutoplay();\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindEvents();\n this.disconnectChildNodesMutationObserver();\n this.stopAutoplay(); // see https://github.com/facebook/react/issues/3417#issuecomment-121649937\n\n this.mounted = false;\n\n for (var i = 0; i < this.timers.length; i++) {\n clearTimeout(this.timers[i]);\n }\n\n this.getlockScrollEvents().unlockTouchScroll();\n }\n }, {\n key: \"establishChildNodesMutationObserver\",\n value: function establishChildNodesMutationObserver() {\n var _this3 = this;\n\n var childNodes = this.getChildNodes();\n\n if (childNodes.length && 'MutationObserver' in window) {\n this.childNodesMutationObs = new MutationObserver(function () {\n _this3.setSlideHeightAndWidth();\n });\n\n var observeChildNodeMutation = function observeChildNodeMutation(node) {\n _this3.childNodesMutationObs.observe(node, {\n attributeFilter: ['style'],\n attributeOldValue: false,\n attributes: true,\n characterData: false,\n characterDataOldValue: false,\n childList: false,\n subtree: false\n });\n };\n\n var childNodesArray = Array.from(childNodes);\n\n for (var _i = 0, _childNodesArray = childNodesArray; _i < _childNodesArray.length; _i++) {\n var node = _childNodesArray[_i];\n observeChildNodeMutation(node);\n }\n }\n }\n }, {\n key: \"disconnectChildNodesMutationObserver\",\n value: function disconnectChildNodesMutationObserver() {\n if (this.childNodesMutationObs instanceof MutationObserver) {\n this.childNodesMutationObs.disconnect();\n }\n }\n }, {\n key: \"getlockScrollEvents\",\n value: function getlockScrollEvents() {\n var _this4 = this;\n\n var blockEvent = function blockEvent(e) {\n if (_this4.state.dragging) {\n var direction = swipeDirection(_this4.touchObject.startX, e.touches[0].pageX, _this4.touchObject.startY, e.touches[0].pageY, _this4.props.vertical);\n\n if (direction !== 0) {\n e.preventDefault();\n }\n }\n };\n\n var lockTouchScroll = function lockTouchScroll() {\n document.addEventListener('touchmove', blockEvent, {\n passive: false\n });\n };\n\n var unlockTouchScroll = function unlockTouchScroll() {\n document.removeEventListener('touchmove', blockEvent, {\n passive: false\n });\n };\n\n return {\n lockTouchScroll: lockTouchScroll,\n unlockTouchScroll: unlockTouchScroll\n };\n }\n }, {\n key: \"getTouchEvents\",\n value: function getTouchEvents() {\n var _this5 = this;\n\n if (this.props.swiping === false) {\n return {\n onTouchStart: this.handleMouseOver,\n onTouchEnd: this.handleMouseOut\n };\n }\n\n return {\n onTouchStart: function onTouchStart(e) {\n _this5.touchObject = {\n startX: e.touches[0].pageX,\n startY: e.touches[0].pageY\n };\n\n _this5.handleMouseOver();\n\n _this5.setState({\n dragging: true\n });\n },\n onTouchMove: function onTouchMove(e) {\n var direction = swipeDirection(_this5.touchObject.startX, e.touches[0].pageX, _this5.touchObject.startY, e.touches[0].pageY, _this5.props.vertical);\n\n if (direction !== 0) {\n e.preventDefault();\n }\n\n var length = _this5.props.vertical ? Math.round(Math.sqrt(Math.pow(e.touches[0].pageY - _this5.touchObject.startY, 2))) : Math.round(Math.sqrt(Math.pow(e.touches[0].pageX - _this5.touchObject.startX, 2)));\n\n if (length >= 10) {\n if (_this5.clickDisabled === false) _this5.props.onDragStart(e);\n _this5.clickDisabled = true;\n }\n\n _this5.touchObject = {\n startX: _this5.touchObject.startX,\n startY: _this5.touchObject.startY,\n endX: e.touches[0].pageX,\n endY: e.touches[0].pageY,\n length: length,\n direction: direction\n };\n\n _this5.setState({\n left: _this5.props.vertical ? 0 : _this5.getTargetLeft(_this5.touchObject.length * _this5.touchObject.direction),\n top: _this5.props.vertical ? _this5.getTargetLeft(_this5.touchObject.length * _this5.touchObject.direction) : 0\n });\n },\n onTouchEnd: function onTouchEnd(e) {\n _this5.handleSwipe(e);\n\n _this5.handleMouseOut();\n },\n onTouchCancel: function onTouchCancel(e) {\n _this5.handleSwipe(e);\n }\n };\n }\n }, {\n key: \"getMouseEvents\",\n value: function getMouseEvents() {\n var _this6 = this;\n\n if (this.props.dragging === false) {\n return {\n onMouseOver: this.handleMouseOver,\n onMouseOut: this.handleMouseOut\n };\n }\n\n return {\n onMouseOver: this.handleMouseOver,\n onMouseOut: this.handleMouseOut,\n onMouseDown: function onMouseDown(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n _this6.touchObject = {\n startX: e.clientX,\n startY: e.clientY\n };\n\n _this6.setState({\n dragging: true\n });\n },\n onMouseMove: function onMouseMove(e) {\n if (!_this6.state.dragging) {\n return;\n }\n\n var direction = swipeDirection(_this6.touchObject.startX, e.clientX, _this6.touchObject.startY, e.clientY, _this6.props.vertical);\n\n if (direction !== 0) {\n e.preventDefault();\n }\n\n var length = _this6.props.vertical ? Math.round(Math.sqrt(Math.pow(e.clientY - _this6.touchObject.startY, 2))) : Math.round(Math.sqrt(Math.pow(e.clientX - _this6.touchObject.startX, 2))); // prevents disabling click just because mouse moves a fraction of a pixel\n\n if (length >= 10) {\n if (_this6.clickDisabled === false) _this6.props.onDragStart(e);\n _this6.clickDisabled = true;\n }\n\n _this6.touchObject = {\n startX: _this6.touchObject.startX,\n startY: _this6.touchObject.startY,\n endX: e.clientX,\n endY: e.clientY,\n length: length,\n direction: direction\n };\n\n _this6.setState({\n left: _this6.props.vertical ? 0 : _this6.getTargetLeft(_this6.touchObject.length * _this6.touchObject.direction),\n top: _this6.props.vertical ? _this6.getTargetLeft(_this6.touchObject.length * _this6.touchObject.direction) : 0\n });\n },\n onMouseUp: function onMouseUp(e) {\n if (_this6.touchObject.length === 0 || _this6.touchObject.length === undefined) {\n _this6.setState({\n dragging: false\n });\n\n return;\n }\n\n _this6.handleSwipe(e);\n },\n onMouseLeave: function onMouseLeave(e) {\n if (!_this6.state.dragging) {\n return;\n }\n\n _this6.handleSwipe(e);\n }\n };\n }\n }, {\n key: \"pauseAutoplay\",\n value: function pauseAutoplay() {\n if (this.props.autoplay) {\n this.autoplayPaused = true;\n this.stopAutoplay();\n }\n }\n }, {\n key: \"unpauseAutoplay\",\n value: function unpauseAutoplay() {\n if (this.props.autoplay && this.autoplayPaused) {\n this.startAutoplay();\n this.autoplayPaused = null;\n }\n }\n }, {\n key: \"handleMouseOver\",\n value: function handleMouseOver() {\n if (this.props.pauseOnHover) {\n this.pauseAutoplay();\n }\n }\n }, {\n key: \"handleMouseOut\",\n value: function handleMouseOut() {\n if (this.autoplayPaused) {\n this.unpauseAutoplay();\n }\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n this.setState({\n hasFocus: true\n });\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.setState({\n hasFocus: false\n });\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n if (this.clickDisabled === true) {\n if (event.metaKey || event.shiftKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (event.nativeEvent) {\n event.nativeEvent.stopPropagation();\n }\n }\n }\n }, {\n key: \"handleSwipe\",\n value: function handleSwipe() {\n var _this7 = this;\n\n var slidesToShow = this.state.slidesToShow;\n\n if (this.props.slidesToScroll === 'auto') {\n slidesToShow = this.state.slidesToScroll;\n }\n\n var touchLength = this.touchObject.length || 0;\n\n if (touchLength > this.state.slideWidth / slidesToShow / 5) {\n if (this.touchObject.direction === 1) {\n if (this.state.currentSlide + 1 >= this.state.slideCount && !this.props.wrapAround) {\n this.setState({\n easing: easing[this.props.edgeEasing]\n });\n } else {\n this.nextSlide();\n }\n } else if (this.touchObject.direction === -1) {\n if (this.state.currentSlide <= 0 && !this.props.wrapAround) {\n this.setState({\n easing: easing[this.props.edgeEasing]\n });\n } else {\n this.previousSlide();\n }\n }\n } else if (touchLength > 0) {\n this.goToSlide(this.state.currentSlide);\n } // wait for `handleClick` event before resetting clickDisabled\n\n\n this.timers.push(setTimeout(function () {\n _this7.clickDisabled = false;\n }, 0));\n this.touchObject = {};\n this.setState({\n dragging: false\n });\n } // eslint-disable-next-line complexity\n\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(e) {\n if (this.state.hasFocus && this.props.enableKeyboardControls) {\n var actionName = this.keyCodeMap[e.keyCode];\n\n switch (actionName) {\n case 'nextSlide':\n this.nextSlide();\n break;\n\n case 'previousSlide':\n this.previousSlide();\n break;\n\n case 'firstSlide':\n this.goToSlide(0, this.props);\n break;\n\n case 'lastSlide':\n this.goToSlide(this.state.slideCount - 1, this.props);\n break;\n\n case 'pause':\n if (this.state.pauseOnHover && this.props.autoplay) {\n this.setState({\n pauseOnHover: false\n });\n this.pauseAutoplay();\n break;\n } else {\n this.setState({\n pauseOnHover: true\n });\n this.unpauseAutoplay();\n break;\n }\n\n }\n }\n }\n }, {\n key: \"getKeyCodeMap\",\n value: function getKeyCodeMap(keyCodeConfig) {\n var keyCodeMap = {};\n Object.keys(keyCodeConfig).forEach(function (actionName) {\n keyCodeConfig[actionName].forEach(function (keyCode) {\n return keyCodeMap[keyCode] = actionName;\n });\n });\n return keyCodeMap;\n }\n }, {\n key: \"autoplayIterator\",\n value: function autoplayIterator() {\n if (this.props.wrapAround) {\n if (this.props.autoplayReverse) {\n this.previousSlide();\n } else {\n this.nextSlide();\n }\n\n return;\n }\n\n if (this.props.autoplayReverse) {\n if (this.state.currentSlide !== 0) {\n this.previousSlide();\n } else {\n this.stopAutoplay();\n }\n } else if (this.state.currentSlide !== this.state.slideCount - this.state.slidesToShow) {\n this.nextSlide();\n } else {\n this.stopAutoplay();\n }\n }\n }, {\n key: \"startAutoplay\",\n value: function startAutoplay() {\n this.autoplayID = setInterval(this.autoplayIterator, this.props.autoplayInterval);\n }\n }, {\n key: \"resetAutoplay\",\n value: function resetAutoplay() {\n if (this.props.autoplay && !this.autoplayPaused) {\n this.stopAutoplay();\n this.startAutoplay();\n }\n }\n }, {\n key: \"stopAutoplay\",\n value: function stopAutoplay() {\n if (this.autoplayID) {\n clearInterval(this.autoplayID);\n }\n } // Animation Method\n\n }, {\n key: \"getTargetLeft\",\n value: function getTargetLeft(touchOffset, slide) {\n var target = slide || this.state.currentSlide;\n var offset = getAlignmentOffset(target, _objectSpread({}, this.props, {}, this.state));\n var left = this.state.slideWidth * target;\n var lastSlide = this.state.currentSlide > 0 && target + this.state.slidesToScroll >= this.state.slideCount;\n\n if (lastSlide && this.props.slideWidth !== 1 && !this.props.wrapAround && this.props.slidesToScroll === 'auto') {\n left = this.state.slideWidth * this.state.slideCount - this.state.frameWidth;\n offset = 0;\n offset -= this.props.cellSpacing * (this.state.slideCount - 1);\n }\n\n offset -= touchOffset || 0;\n return (left - offset) * -1;\n }\n }, {\n key: \"getOffsetDeltas\",\n value: function getOffsetDeltas() {\n var offset = 0;\n\n if (this.state.isWrappingAround) {\n offset = this.getTargetLeft(null, this.state.wrapToIndex);\n } else {\n offset = this.getTargetLeft(this.touchObject.length * this.touchObject.direction);\n }\n\n return {\n tx: [this.props.vertical ? 0 : offset],\n ty: [this.props.vertical ? offset : 0]\n };\n }\n }, {\n key: \"isEdgeSwiping\",\n value: function isEdgeSwiping() {\n var _this$state = this.state,\n currentSlide = _this$state.currentSlide,\n slideCount = _this$state.slideCount,\n slideWidth = _this$state.slideWidth,\n slideHeight = _this$state.slideHeight,\n slidesToShow = _this$state.slidesToShow;\n\n var _this$getOffsetDeltas = this.getOffsetDeltas(),\n tx = _this$getOffsetDeltas.tx,\n ty = _this$getOffsetDeltas.ty;\n\n var offset = getAlignmentOffset(currentSlide, _objectSpread({}, this.props, {}, this.state));\n\n if (this.props.vertical) {\n var rowHeight = slideHeight / slidesToShow;\n var slidesLeftToShow = slideCount - slidesToShow;\n var lastSlideLimit = rowHeight * slidesLeftToShow;\n var offsetTy = ty[0] - offset; // returns true if ty offset is outside first or last slide\n\n return offsetTy > 0 || -offsetTy > lastSlideLimit;\n }\n\n var offsetTx = tx[0] - offset; // returns true if tx offset is outside first or last slide\n\n return offsetTx > 0 || -offsetTx > slideWidth * (slideCount - 1);\n } // Action Methods\n\n }, {\n key: \"goToSlide\",\n value: function goToSlide(index, props) {\n var _this8 = this;\n\n if (props === undefined) {\n props = this.props;\n }\n\n if (this.isTransitioning) {\n return;\n }\n\n this.setState({\n hasInteraction: true,\n easing: easing[props.easing]\n });\n this.isTransitioning = true;\n var previousSlide = this.state.currentSlide;\n\n if (index >= this.state.slideCount || index < 0) {\n if (!props.wrapAround) {\n this.isTransitioning = false;\n return;\n }\n\n if (index >= this.state.slideCount) {\n props.beforeSlide(this.state.currentSlide, 0);\n this.setState(function (prevState) {\n return {\n left: props.vertical ? 0 : _this8.getTargetLeft(_this8.state.slideWidth, prevState.currentSlide),\n top: props.vertical ? _this8.getTargetLeft(_this8.state.slideWidth, prevState.currentSlide) : 0,\n currentSlide: 0,\n isWrappingAround: true,\n wrapToIndex: _this8.state.slideCount\n };\n }, function () {\n _this8.timers.push(setTimeout(function () {\n _this8.resetAutoplay();\n\n _this8.isTransitioning = false;\n\n if (index !== previousSlide) {\n _this8.props.afterSlide(0);\n }\n }, props.speed));\n });\n return;\n } else {\n var endSlide = index < 0 ? this.state.slideCount + index : this.state.slideCount - this.state.slidesToScroll;\n props.beforeSlide(this.state.currentSlide, endSlide);\n this.setState(function (prevState) {\n return {\n left: props.vertical ? 0 : _this8.getTargetLeft(0, prevState.currentSlide),\n top: props.vertical ? _this8.getTargetLeft(0, prevState.currentSlide) : 0,\n currentSlide: endSlide,\n isWrappingAround: true,\n wrapToIndex: index\n };\n }, function () {\n _this8.timers.push(setTimeout(function () {\n _this8.resetAutoplay();\n\n _this8.isTransitioning = false;\n\n if (index !== previousSlide) {\n _this8.props.afterSlide(_this8.state.slideCount - 1);\n }\n }, props.speed));\n });\n return;\n }\n }\n\n this.props.beforeSlide(this.state.currentSlide, index);\n this.setState({\n currentSlide: index\n }, function () {\n return _this8.timers.push(setTimeout(function () {\n _this8.resetAutoplay();\n\n _this8.isTransitioning = false;\n\n if (index !== previousSlide) {\n _this8.props.afterSlide(index);\n }\n }, props.speed));\n });\n }\n }, {\n key: \"nextSlide\",\n value: function nextSlide() {\n var _this$state2 = this.state,\n slidesToScroll = _this$state2.slidesToScroll,\n currentSlide = _this$state2.currentSlide,\n slideWidth = _this$state2.slideWidth,\n slideCount = _this$state2.slideCount;\n var targetSlideIndex = currentSlide + slidesToScroll;\n var slidesToShow = this.state.slidesToShow;\n\n if (this.props.slidesToScroll === 'auto') {\n var swipeDistance = this.touchObject.length;\n\n if (swipeDistance > 0) {\n targetSlideIndex = Math.round(swipeDistance / slideWidth) + currentSlide;\n } else {\n slidesToShow = slidesToScroll;\n }\n }\n\n if (currentSlide >= slideCount - slidesToShow && !this.props.wrapAround && this.props.cellAlign === 'left') {\n return;\n }\n\n if (this.props.wrapAround) {\n this.goToSlide(targetSlideIndex);\n } else {\n if (this.props.slideWidth !== 1) {\n this.goToSlide(targetSlideIndex);\n return;\n }\n\n var offset = targetSlideIndex;\n var leftAlignSlideIndex = this.props.scrollMode === 'page' ? offset : Math.min(offset, slideCount - slidesToShow);\n var nextSlideIndex = this.props.cellAlign !== 'left' ? offset : leftAlignSlideIndex; // If nextSlideIndex is larger than last index, then\n // just navigate to last index\n\n this.goToSlide(Math.min(nextSlideIndex, slideCount - 1));\n }\n }\n }, {\n key: \"previousSlide\",\n value: function previousSlide() {\n var _this$state3 = this.state,\n slidesToScroll = _this$state3.slidesToScroll,\n slideWidth = _this$state3.slideWidth,\n currentSlide = _this$state3.currentSlide;\n var targetSlideIndex = currentSlide - slidesToScroll;\n var swipeDistance = this.touchObject.length;\n\n if (this.props.slidesToScroll === 'auto' && swipeDistance > 0) {\n targetSlideIndex = currentSlide - Math.round(swipeDistance / slideWidth);\n }\n\n if (currentSlide <= 0 && !this.props.wrapAround) {\n return;\n }\n\n if (this.props.wrapAround) {\n this.goToSlide(targetSlideIndex);\n } else {\n this.goToSlide(Math.max(0, targetSlideIndex));\n }\n } // Bootstrapping\n\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n if (ExecutionEnvironment.canUseDOM) {\n addEvent(window, 'resize', this.onResize);\n addEvent(document, 'visibilitychange', this.onVisibilityChange);\n addEvent(document, 'keydown', this.handleKeyPress);\n }\n }\n }, {\n key: \"onResize\",\n value: function onResize() {\n this.setDimensions(null, this.props.onResize);\n }\n }, {\n key: \"onVisibilityChange\",\n value: function onVisibilityChange() {\n if (document.hidden) {\n this.pauseAutoplay();\n } else {\n this.unpauseAutoplay();\n }\n }\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {\n if (ExecutionEnvironment.canUseDOM) {\n removeEvent(window, 'resize', this.onResize);\n removeEvent(document, 'visibilitychange', this.onVisibilityChange);\n removeEvent(document, 'keydown', this.handleKeyPress);\n }\n }\n }, {\n key: \"calcSlideHeightAndWidth\",\n value: function calcSlideHeightAndWidth(props) {\n // slide height\n props = props || this.props;\n var childNodes = this.getChildNodes();\n var slideHeight = calculateSlideHeight(props, this.state, childNodes); //slide width\n\n var _getPropsByTransition = getPropsByTransitionMode(props, ['slidesToShow']),\n slidesToShow = _getPropsByTransition.slidesToShow;\n\n var frame = this.frame;\n var slideWidth;\n\n if (this.props.animation === 'zoom') {\n slideWidth = frame.offsetWidth - frame.offsetWidth * 15 / 100;\n } else if (typeof props.slideWidth !== 'number') {\n slideWidth = parseInt(props.slideWidth);\n } else if (props.vertical) {\n slideWidth = slideHeight / slidesToShow * props.slideWidth;\n } else {\n slideWidth = frame.offsetWidth / slidesToShow * props.slideWidth;\n }\n\n if (!props.vertical) {\n slideWidth -= props.cellSpacing * ((100 - 100 / slidesToShow) / 100);\n }\n\n return {\n slideHeight: slideHeight,\n slideWidth: slideWidth\n };\n }\n }, {\n key: \"setSlideHeightAndWidth\",\n value: function setSlideHeightAndWidth() {\n var _this$calcSlideHeight2 = this.calcSlideHeightAndWidth(),\n slideHeight = _this$calcSlideHeight2.slideHeight,\n slideWidth = _this$calcSlideHeight2.slideWidth;\n\n if (slideHeight !== this.state.slideHeight || slideWidth !== this.state.slideWidth) {\n this.setState({\n slideHeight: slideHeight,\n slideWidth: slideWidth\n });\n }\n }\n }, {\n key: \"setDimensions\",\n value: function setDimensions(props) {\n var stateCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n props = props || this.props;\n\n var _getPropsByTransition2 = getPropsByTransitionMode(props, ['slidesToShow', 'cellAlign', 'scrollMode']),\n slidesToShow = _getPropsByTransition2.slidesToShow,\n cellAlign = _getPropsByTransition2.cellAlign,\n scrollMode = _getPropsByTransition2.scrollMode;\n\n var frame = this.frame;\n\n var _this$calcSlideHeight3 = this.calcSlideHeightAndWidth(props),\n slideHeight = _this$calcSlideHeight3.slideHeight,\n slideWidth = _this$calcSlideHeight3.slideWidth;\n\n var frameHeight = slideHeight + props.cellSpacing * (slidesToShow - 1);\n var frameWidth = props.vertical ? frameHeight : frame.offsetWidth;\n\n var _getPropsByTransition3 = getPropsByTransitionMode(props, ['slidesToScroll']),\n slidesToScroll = _getPropsByTransition3.slidesToScroll;\n\n if (slidesToScroll === 'auto' || scrollMode === 'page') {\n slidesToScroll = Math.floor(frameWidth / (slideWidth + props.cellSpacing));\n }\n\n this.setState({\n frameWidth: frameWidth,\n slideHeight: slideHeight,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n slideWidth: slideWidth,\n cellAlign: cellAlign\n }, function () {\n stateCb();\n });\n }\n }, {\n key: \"getChildNodes\",\n value: function getChildNodes() {\n return this.frame.childNodes[0].childNodes;\n }\n }, {\n key: \"getCurrentChildNodeImg\",\n value: function getCurrentChildNodeImg() {\n var childNodes = this.getChildNodes();\n var currentChildNode = childNodes[this.props.slideIndex];\n return currentChildNode ? currentChildNode.getElementsByTagName('img')[0] : null;\n }\n }, {\n key: \"setLeft\",\n value: function setLeft() {\n var newLeft = this.props.vertical ? 0 : this.getTargetLeft();\n var newTop = this.props.vertical ? this.getTargetLeft() : 0;\n\n if (newLeft !== this.state.left || newTop !== this.state.top) {\n this.setState({\n left: newLeft,\n top: newTop\n });\n }\n }\n }, {\n key: \"renderControls\",\n value: function renderControls() {\n var _this9 = this;\n\n if (this.props.withoutControls) {\n return this.controlsMap.map(function () {\n return null;\n });\n } else {\n return this.controlsMap.map(function (_ref) {\n var funcName = _ref.funcName,\n key = _ref.key;\n var func = _this9.props[funcName];\n var controlChildren = func && typeof func === 'function' && func({\n cellAlign: _this9.props.cellAlign,\n cellSpacing: _this9.props.cellSpacing,\n currentSlide: _this9.state.currentSlide,\n defaultControlsConfig: _this9.props.defaultControlsConfig,\n frameWidth: _this9.state.frameWidth,\n goToSlide: function goToSlide(index) {\n return _this9.goToSlide(index);\n },\n left: _this9.state.left,\n nextSlide: function nextSlide() {\n return _this9.nextSlide();\n },\n previousSlide: function previousSlide() {\n return _this9.previousSlide();\n },\n scrollMode: _this9.props.scrollMode,\n slideCount: _this9.state.slideCount,\n slidesToScroll: _this9.state.slidesToScroll,\n slidesToShow: _this9.state.slidesToShow,\n slideWidth: _this9.state.slideWidth,\n top: _this9.state.top,\n vertical: _this9.props.vertical,\n wrapAround: _this9.props.wrapAround\n });\n return controlChildren && React.createElement(\"div\", {\n key: key,\n className: [\"slider-control-\".concat(key.toLowerCase()), _this9.props.defaultControlsConfig.containerClassName || ''].join(' ').trim(),\n style: _objectSpread({}, getDecoratorStyles(key), {}, _this9.props.getControlsContainerStyles(key))\n }, controlChildren);\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this10 = this;\n\n var _this$state4 = this.state,\n currentSlide = _this$state4.currentSlide,\n slideCount = _this$state4.slideCount,\n frameWidth = _this$state4.frameWidth;\n var _this$props = this.props,\n disableAnimation = _this$props.disableAnimation,\n frameOverflow = _this$props.frameOverflow,\n framePadding = _this$props.framePadding,\n renderAnnounceSlideMessage = _this$props.renderAnnounceSlideMessage,\n slidesToShow = _this$props.slidesToShow,\n vertical = _this$props.vertical;\n var duration = this.state.dragging || !this.state.dragging && this.state.resetWrapAroundPosition && this.props.wrapAround || disableAnimation || !this.state.hasInteraction ? 0 : this.props.speed;\n var frameStyles = getFrameStyles(frameOverflow, vertical, framePadding, frameWidth);\n var touchEvents = this.getTouchEvents();\n var mouseEvents = this.getMouseEvents();\n var TransitionControl = Transitions[this.props.transitionMode];\n var validChildren = getValidChildren(this.props.children);\n return React.createElement(\"div\", {\n className: ['slider', this.props.className || ''].join(' ').trim(),\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n ref: this.props.innerRef,\n tabIndex: 0,\n style: _extends({}, getSliderStyles(this.props.width, this.props.height), this.props.style)\n }, !this.props.autoplay && React.createElement(AnnounceSlide, {\n message: renderAnnounceSlideMessage({\n currentSlide: currentSlide,\n slideCount: slideCount\n })\n }), React.createElement(\"div\", _extends({\n className: \"slider-frame\",\n ref: function ref(frame) {\n return _this10.frame = frame;\n },\n style: frameStyles\n }, touchEvents, mouseEvents, {\n onClickCapture: this.handleClick\n }), React.createElement(Animate, {\n show: true,\n start: {\n tx: 0,\n ty: 0\n },\n update: function update() {\n var _this10$getOffsetDelt = _this10.getOffsetDeltas(),\n tx = _this10$getOffsetDelt.tx,\n ty = _this10$getOffsetDelt.ty;\n\n if (_this10.props.disableEdgeSwiping && !_this10.props.wrapAround && _this10.isEdgeSwiping()) {\n return {};\n } else {\n return {\n tx: tx,\n ty: ty,\n timing: {\n duration: duration,\n ease: _this10.state.easing\n },\n events: {\n end: function end() {\n var newLeft = _this10.props.vertical ? 0 : _this10.getTargetLeft();\n var newTop = _this10.props.vertical ? _this10.getTargetLeft() : 0;\n\n if (newLeft !== _this10.state.left || newTop !== _this10.state.top) {\n _this10.setState({\n left: newLeft,\n top: newTop,\n isWrappingAround: false,\n resetWrapAroundPosition: true\n }, function () {\n _this10.setState({\n resetWrapAroundPosition: false\n });\n });\n }\n }\n }\n };\n }\n },\n children: function children(_ref2) {\n var tx = _ref2.tx,\n ty = _ref2.ty;\n return React.createElement(TransitionControl, _extends({}, getTransitionProps(_this10.props, _this10.state), {\n deltaX: tx,\n deltaY: ty\n }), addAccessibility(validChildren, slidesToShow, currentSlide));\n }\n })), this.renderControls(), this.props.autoGenerateStyleTag && React.createElement(\"style\", {\n type: \"text/css\",\n dangerouslySetInnerHTML: {\n __html: getImgTagStyles()\n }\n }));\n }\n }]);\n\n return Carousel;\n}(React.Component);\n\nexport { Carousel as default };\nCarousel.propTypes = {\n afterSlide: PropTypes.func,\n animation: PropTypes.oneOf(['zoom']),\n autoGenerateStyleTag: PropTypes.bool,\n autoplay: PropTypes.bool,\n autoplayInterval: PropTypes.number,\n autoplayReverse: PropTypes.bool,\n beforeSlide: PropTypes.func,\n cellAlign: PropTypes.oneOf(['left', 'center', 'right']),\n cellSpacing: PropTypes.number,\n getControlsContainerStyles: PropTypes.func,\n defaultControlsConfig: PropTypes.shape({\n containerClassName: PropTypes.string,\n nextButtonClassName: PropTypes.string,\n nextButtonStyle: PropTypes.object,\n nextButtonText: PropTypes.string,\n prevButtonClassName: PropTypes.string,\n prevButtonStyle: PropTypes.object,\n prevButtonText: PropTypes.string,\n pagingDotsContainerClassName: PropTypes.string,\n pagingDotsClassName: PropTypes.string,\n pagingDotsStyle: PropTypes.object\n }),\n disableAnimation: PropTypes.bool,\n disableEdgeSwiping: PropTypes.bool,\n dragging: PropTypes.bool,\n easing: PropTypes.string,\n edgeEasing: PropTypes.string,\n enableKeyboardControls: PropTypes.bool,\n frameOverflow: PropTypes.string,\n framePadding: PropTypes.string,\n height: PropTypes.string,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.elementType\n })]),\n initialSlideHeight: PropTypes.number,\n initialSlideWidth: PropTypes.number,\n keyCodeConfig: PropTypes.exact({\n previousSlide: PropTypes.arrayOf(PropTypes.number),\n nextSlide: PropTypes.arrayOf(PropTypes.number),\n firstSlide: PropTypes.arrayOf(PropTypes.number),\n lastSlide: PropTypes.arrayOf(PropTypes.number),\n pause: PropTypes.arrayOf(PropTypes.number)\n }),\n onDragStart: PropTypes.func,\n onResize: PropTypes.func,\n opacityScale: PropTypes.number,\n pauseOnHover: PropTypes.bool,\n renderAnnounceSlideMessage: PropTypes.func,\n renderBottomCenterControls: PropTypes.func,\n renderBottomLeftControls: PropTypes.func,\n renderBottomRightControls: PropTypes.func,\n renderCenterCenterControls: PropTypes.func,\n renderCenterLeftControls: PropTypes.func,\n renderCenterRightControls: PropTypes.func,\n renderTopCenterControls: PropTypes.func,\n renderTopLeftControls: PropTypes.func,\n renderTopRightControls: PropTypes.func,\n scrollMode: PropTypes.oneOf(['page', 'remainder']),\n slideIndex: PropTypes.number,\n slideListMargin: PropTypes.number,\n slideOffset: PropTypes.number,\n slidesToScroll: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf(['auto'])]),\n slidesToShow: PropTypes.number,\n slideWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n speed: PropTypes.number,\n swiping: PropTypes.bool,\n transitionMode: PropTypes.oneOf(['scroll', 'fade', 'scroll3d']),\n vertical: PropTypes.bool,\n width: PropTypes.string,\n withoutControls: PropTypes.bool,\n wrapAround: PropTypes.bool\n};\nCarousel.defaultProps = {\n afterSlide: function afterSlide() {},\n autoGenerateStyleTag: true,\n autoplay: false,\n autoplayInterval: 3000,\n autoplayReverse: false,\n beforeSlide: function beforeSlide() {},\n cellAlign: 'left',\n cellSpacing: 0,\n getControlsContainerStyles: function getControlsContainerStyles() {},\n defaultControlsConfig: {},\n disableAnimation: false,\n disableEdgeSwiping: false,\n dragging: true,\n easing: 'easeCircleOut',\n edgeEasing: 'easeElasticOut',\n enableKeyboardControls: false,\n frameOverflow: 'hidden',\n framePadding: '0px',\n height: 'inherit',\n heightMode: 'max',\n keyCodeConfig: {},\n onDragStart: function onDragStart() {},\n onResize: function onResize() {},\n pauseOnHover: true,\n renderAnnounceSlideMessage: defaultRenderAnnounceSlideMessage,\n renderBottomCenterControls: function renderBottomCenterControls(props) {\n return React.createElement(PagingDots, props);\n },\n renderCenterLeftControls: function renderCenterLeftControls(props) {\n return React.createElement(PreviousButton, props);\n },\n renderCenterRightControls: function renderCenterRightControls(props) {\n return React.createElement(NextButton, props);\n },\n scrollMode: 'remainder',\n slideIndex: 0,\n slideListMargin: 10,\n slideOffset: 25,\n slidesToScroll: 1,\n slidesToShow: 1,\n slideWidth: 1,\n speed: 500,\n style: {},\n swiping: true,\n transitionMode: 'scroll',\n vertical: false,\n width: '100%',\n withoutControls: false,\n wrapAround: false\n};\nexport { NextButton, PreviousButton, PagingDots };","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RichText } from 'prismic-reactjs';\nimport { linkResolver } from '@digitaliseringsbyran/gatsby-source-prismic-graphql';\n\nimport styled from 'styled-components';\n\nimport Hero from '../../components/Hero';\nimport Button from '../../components/Button';\n\n// import LinkUtil from '../../utils/link';\n\nconst Root = styled.div`\n position: relative;\n width: 100%;\n`;\n\nfunction HeroImage({ data, pageTitle }) {\n return (\n \n \n {data.primary.link_label}\n \n )\n }\n big\n pageTitle={pageTitle}\n >\n {data.primary.text && (\n \n )}\n \n \n );\n}\n\nHeroImage.propTypes = {\n data: PropTypes.oneOfType([PropTypes.object]).isRequired,\n pageTitle: PropTypes.bool,\n};\n\nHeroImage.defaultProps = {\n pageTitle: false,\n};\n\nexport default HeroImage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RichText } from 'prismic-reactjs';\nimport { linkResolver } from '@digitaliseringsbyran/gatsby-source-prismic-graphql';\nimport styled from 'styled-components';\n\nimport Hero from '../../components/Hero';\nimport Button from '../../components/Button';\n\n// import LinkUtil from '../../utils/link';\n\nconst Root = styled.div`\n position: relative;\n width: 100%;\n`;\n\n// function debounce(fn, ms) {\n// let timer;\n// return () => {\n// clearTimeout(timer);\n// timer = setTimeout(() => {\n// timer = null;\n// fn.apply(this, arguments);\n// }, ms);\n// };\n// }\n\nfunction HeroVideo({ data, pageTitle }) {\n // const [dimensions, setDimensions] = useState({\n // height: window.innerHeight,\n // width: window.innerWidth,\n // });\n // useEffect(() => {\n // const debouncedHandleResize = debounce(function handleResize() {\n // setDimensions({\n // height: window.innerHeight,\n // width: window.innerWidth,\n // });\n // }, 1000);\n\n // window.addEventListener('resize', debouncedHandleResize);\n // });\n\n const videoProps = {\n // src: [\n // {\n // src: 'http://download.blender.org/peach/trailer/trailer_400p.ogg',\n // type: 'video/ogg',\n // },\n // {\n // src: 'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4',\n // type: 'video/mp4',\n // },\n // ],\n // poster:\n // 'http://il6.picdn.net/shutterstock/videos/3548084/thumb/1.jpg?i10c=img.resize(height:160)',\n // containerWidth: dimensions.width && dimensions.width,\n // containerHeight: dimensions.height && dimensions.height,\n };\n\n if (data.primary.video) {\n videoProps.src = [\n {\n src: data.primary.video.url,\n type: 'video/mp4',\n },\n ];\n videoProps.poster = data.primary.image?.url;\n }\n\n return (\n \n \n {data.primary.link_label}\n \n )\n }\n big\n pageTitle={pageTitle}\n videoProps={videoProps}\n >\n {data.primary.text && (\n \n )}\n \n \n );\n}\n\nHeroVideo.propTypes = {\n data: PropTypes.oneOfType([PropTypes.object]).isRequired,\n pageTitle: PropTypes.bool,\n};\n\nHeroVideo.defaultProps = {\n pageTitle: false,\n};\n\nexport default HeroVideo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Carousel from 'nuka-carousel';\n\nimport styled from 'styled-components';\n\nimport HeroImage from '../../slices/HeroImage';\nimport HeroVideo from '../../slices/HeroVideo';\n\nconst Root = styled.div`\n position: relative;\n width: 100%;\n`;\n\n/**\n * Maybe there should be a fixed item that can be passed as the Optional-page-title item? If not passed use h1 for first item\n */\n\nfunction HeroCarousel({ items, big }) {\n return (\n \n \n {items &&\n items.map((slice, index) => {\n switch (slice.type) {\n case 'image_item':\n return (\n \n );\n case 'video_item':\n return (\n \n );\n default:\n return null;\n }\n })}\n \n \n );\n}\n\nHeroCarousel.propTypes = {\n items: PropTypes.arrayOf(PropTypes.object),\n big: PropTypes.bool,\n};\n\nHeroCarousel.defaultProps = {\n items: [],\n big: false,\n};\n\nexport default HeroCarousel;\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LEAVE = exports.UPDATE = exports.ENTER = void 0;\nvar ENTER = 'ENTER';\nexports.ENTER = ENTER;\nvar UPDATE = 'UPDATE';\nexports.UPDATE = UPDATE;\nvar LEAVE = 'LEAVE';\nexports.LEAVE = LEAVE;","import \"core-js/modules/es6.function.bind\";\nvar frame = 0,\n // is an animation frame pending?\ntimeout = 0,\n // is a timeout pending?\ninterval = 0,\n // are any timers active?\npokeDelay = 1000,\n // how frequently we check for clock skew\ntaskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (f) {\n setTimeout(f, 17);\n};\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call = this._time = this._next = null;\n}\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function restart(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;else taskHead = this;\n taskTail = this;\n }\n\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function stop() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\nexport function timer(callback, delay, time) {\n var t = new Timer();\n t.restart(callback, delay, time);\n return t;\n}\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n\n var t = taskHead,\n e;\n\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(),\n delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0,\n t1 = taskHead,\n t2,\n time = Infinity;\n\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}","import { Timer } from \"./timer.js\";\nexport default function (callback, delay, time) {\n var t = new Timer();\n delay = delay == null ? 0 : +delay;\n t.restart(function (elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}","import \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar transitionId = 0;\nexport function getTransitionId() {\n return ++transitionId;\n}\nexport function extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }\n}\nexport function once(func) {\n var called = false;\n return function transitionEvent() {\n if (!called) {\n called = true;\n func.call(this);\n }\n };\n}\nexport function isNamespace(prop) {\n return _typeof(prop) === 'object' && Array.isArray(prop) === false;\n}\n\nvar linear = function linear(t) {\n return +t;\n};\n\nexport var timingDefaults = {\n delay: 0,\n duration: 250,\n ease: linear\n};","import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.for-each\";\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nimport { once } from './utils';\nexport var Events = function Events(config) {\n var _this = this;\n\n _classCallCheck(this, Events);\n\n this.start = null;\n this.interrupt = null;\n this.end = null;\n\n if (config.events) {\n Object.keys(config.events).forEach(function (d) {\n if (typeof config.events[d] !== 'function') {\n throw new Error('Event handlers must be a function');\n } else {\n _this[d] = once(config.events[d]);\n }\n });\n }\n};\nexport default Events;","import \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nimport { now, timer, timeout } from 'd3-timer';\nimport { timingDefaults, extend, getTransitionId, isNamespace } from './utils';\nimport Events from './Events';\n\nvar BaseNode = function () {\n function BaseNode(state) {\n _classCallCheck(this, BaseNode);\n\n this.state = state || {};\n }\n\n _createClass(BaseNode, [{\n key: \"transition\",\n value: function transition(config) {\n if (Array.isArray(config)) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = config[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n this.parse(item);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else {\n this.parse(config);\n }\n }\n }, {\n key: \"isTransitioning\",\n value: function isTransitioning() {\n return !!this.transitionData;\n }\n }, {\n key: \"stopTransitions\",\n value: function stopTransitions() {\n var transitions = this.transitionData;\n\n if (transitions) {\n Object.keys(transitions).forEach(function (t) {\n transitions[t].timer.stop();\n });\n }\n }\n }, {\n key: \"setState\",\n value: function setState(update) {\n if (typeof update === 'function') {\n extend(this.state, update(this.state));\n } else {\n extend(this.state, update);\n }\n }\n }, {\n key: \"parse\",\n value: function parse(config) {\n var _this = this;\n\n var clone = _objectSpread({}, config);\n\n var events = new Events(clone);\n\n if (clone.events) {\n delete clone.events;\n }\n\n var timing = _objectSpread({}, timingDefaults, clone.timing || {}, {\n time: now()\n });\n\n if (clone.timing) {\n delete clone.timing;\n }\n\n Object.keys(clone).forEach(function (stateKey) {\n var tweens = [];\n var next = clone[stateKey];\n\n if (isNamespace(next)) {\n Object.keys(next).forEach(function (attr) {\n var val = next[attr];\n\n if (Array.isArray(val)) {\n if (val.length === 1) {\n tweens.push(_this.getTween(attr, val[0], stateKey));\n } else {\n _this.setState(function (state) {\n var _objectSpread2, _ref;\n\n return _ref = {}, _ref[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread2 = {}, _objectSpread2[attr] = val[0], _objectSpread2)), _ref;\n });\n\n tweens.push(_this.getTween(attr, val[1], stateKey));\n }\n } else if (typeof val === 'function') {\n var getNameSpacedCustomTween = function getNameSpacedCustomTween() {\n var kapellmeisterNamespacedTween = function kapellmeisterNamespacedTween(t) {\n _this.setState(function (state) {\n var _objectSpread3, _ref2;\n\n return _ref2 = {}, _ref2[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread3 = {}, _objectSpread3[attr] = val(t), _objectSpread3)), _ref2;\n });\n };\n\n return kapellmeisterNamespacedTween;\n };\n\n tweens.push(getNameSpacedCustomTween);\n } else {\n _this.setState(function (state) {\n var _objectSpread4, _ref3;\n\n return _ref3 = {}, _ref3[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread4 = {}, _objectSpread4[attr] = val, _objectSpread4)), _ref3;\n });\n\n tweens.push(_this.getTween(attr, val, stateKey));\n }\n });\n } else {\n if (Array.isArray(next)) {\n if (next.length === 1) {\n tweens.push(_this.getTween(stateKey, next[0], null));\n } else {\n var _this$setState;\n\n _this.setState((_this$setState = {}, _this$setState[stateKey] = next[0], _this$setState));\n\n tweens.push(_this.getTween(stateKey, next[1], null));\n }\n } else if (typeof next === 'function') {\n var getCustomTween = function getCustomTween() {\n var kapellmeisterTween = function kapellmeisterTween(t) {\n var _this$setState2;\n\n _this.setState((_this$setState2 = {}, _this$setState2[stateKey] = next(t), _this$setState2));\n };\n\n return kapellmeisterTween;\n };\n\n tweens.push(getCustomTween);\n } else {\n var _this$setState3;\n\n _this.setState((_this$setState3 = {}, _this$setState3[stateKey] = next, _this$setState3));\n\n tweens.push(_this.getTween(stateKey, next, null));\n }\n }\n\n _this.update({\n stateKey: stateKey,\n timing: timing,\n tweens: tweens,\n events: events,\n status: 0\n });\n });\n }\n }, {\n key: \"getTween\",\n value: function getTween(attr, endValue, nameSpace) {\n var _this2 = this;\n\n return function () {\n var begValue = nameSpace ? _this2.state[nameSpace][attr] : _this2.state[attr];\n\n if (begValue === endValue) {\n return null;\n }\n\n var i = _this2.getInterpolator(begValue, endValue, attr, nameSpace);\n\n var stateTween;\n\n if (nameSpace === null) {\n stateTween = function stateTween(t) {\n var _this2$setState;\n\n _this2.setState((_this2$setState = {}, _this2$setState[attr] = i(t), _this2$setState));\n };\n } else {\n stateTween = function stateTween(t) {\n _this2.setState(function (state) {\n var _objectSpread5, _ref4;\n\n return _ref4 = {}, _ref4[nameSpace] = _objectSpread({}, state[nameSpace], (_objectSpread5 = {}, _objectSpread5[attr] = i(t), _objectSpread5)), _ref4;\n });\n };\n }\n\n return stateTween;\n };\n }\n }, {\n key: \"update\",\n value: function update(transition) {\n if (!this.transitionData) {\n this.transitionData = {};\n }\n\n this.init(getTransitionId(), transition);\n }\n }, {\n key: \"init\",\n value: function init(id, transition) {\n var _this3 = this;\n\n var n = transition.tweens.length;\n var tweens = new Array(n);\n\n var queue = function queue(elapsed) {\n transition.status = 1;\n transition.timer.restart(start, transition.timing.delay, transition.timing.time);\n\n if (transition.timing.delay <= elapsed) {\n start(elapsed - transition.timing.delay);\n }\n };\n\n this.transitionData[id] = transition;\n transition.timer = timer(queue, 0, transition.timing.time);\n\n var start = function start(elapsed) {\n if (transition.status !== 1) return stop();\n\n for (var tid in _this3.transitionData) {\n var t = _this3.transitionData[tid];\n\n if (t.stateKey !== transition.stateKey) {\n continue;\n }\n\n if (t.status === 3) {\n return timeout(start);\n }\n\n if (t.status === 4) {\n t.status = 6;\n t.timer.stop();\n\n if (t.events.interrupt) {\n t.events.interrupt.call(_this3);\n }\n\n delete _this3.transitionData[tid];\n } else if (+tid < id) {\n t.status = 6;\n t.timer.stop();\n delete _this3.transitionData[tid];\n }\n }\n\n timeout(function () {\n if (transition.status === 3) {\n transition.status = 4;\n transition.timer.restart(tick, transition.timing.delay, transition.timing.time);\n tick(elapsed);\n }\n });\n transition.status = 2;\n\n if (transition.events.start) {\n transition.events.start.call(_this3);\n }\n\n if (transition.status !== 2) {\n return;\n }\n\n transition.status = 3;\n var j = -1;\n\n for (var i = 0; i < n; ++i) {\n var res = transition.tweens[i]();\n\n if (res) {\n tweens[++j] = res;\n }\n }\n\n tweens.length = j + 1;\n };\n\n var tick = function tick(elapsed) {\n var t = 1;\n\n if (elapsed < transition.timing.duration) {\n t = transition.timing.ease(elapsed / transition.timing.duration);\n } else {\n transition.timer.restart(stop);\n transition.status = 5;\n }\n\n var i = -1;\n\n while (++i < tweens.length) {\n tweens[i](t);\n }\n\n if (transition.status === 5) {\n if (transition.events.end) {\n transition.events.end.call(_this3);\n }\n\n stop();\n }\n };\n\n var stop = function stop() {\n transition.status = 6;\n transition.timer.stop();\n delete _this3.transitionData[id];\n\n for (var _ in _this3.transitionData) {\n return;\n }\n\n delete _this3.transitionData;\n };\n }\n }]);\n\n return BaseNode;\n}();\n\nexport default BaseNode;","import { Timer, now } from \"./timer.js\";\nexport default function (callback, delay, time) {\n var t = new Timer(),\n total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}","export { default as BaseNode } from './BaseNode';\nexport { now, timer, interval, timeout } from 'd3-timer';","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styled from 'styled-components';\n\nimport { RichText } from 'prismic-reactjs';\nimport LinkUtil from '../../utils/link';\n\nconst Root = styled.div`\n width: 100%;\n`;\n\nconst Logo = styled.div`\n display: block;\n width: 100%;\n padding-bottom: 50%;\n background-size: contain;\n background-position: center center;\n background-repeat: no-repeat;\n background-image: url(${(props) => props.image});\n`;\n\nfunction PartnerItem({ data }) {\n return (\n \n \n {data.partner_logo && (\n \n )}\n \n \n );\n}\n\nPartnerItem.propTypes = {\n data: PropTypes.oneOfType([PropTypes.object]).isRequired,\n};\n\nexport default PartnerItem;\n"],"sourceRoot":""}