{"version":3,"sources":["webpack:///./node_modules/devextreme/animation/easing.js","webpack:///./node_modules/devextreme/animation/transition_executor/transition_executor.js","webpack:///./node_modules/devextreme/animation/presets/presets.js","webpack:///./node_modules/devextreme/animation/position.js","webpack:///./node_modules/devextreme/color.js","webpack:///./node_modules/devextreme/animation/frame.js","webpack:///./node_modules/devextreme/animation/translator.js","webpack:///./node_modules/devextreme/animation/fx.js"],"names":["exports","setEasing","value","easing","getEasing","name","convertTransitionTimingFuncToEasing","_type","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","swing","ease","polynomBezier","x1","y1","x2","y2","Cx","Bx","Ax","Cy","By","Ay","bezierX","t","derivativeX","bezierY","z","x","i","Math","abs","findXFor","cssTransitionEasing","forceName","coeffs","match","slice","length","parseFloat","easingName","join","replace","isFunction","b","c","d","TransitionExecutor","_renderer","_interopRequireDefault","_class","_extend","_common","_iterator","_fx","_presets","_deferred","obj","__esModule","directionPostfixes","forward","backward","none","undefined","default","inherit","ctor","this","_accumulatedDelays","enter","leave","_animations","reset","_createAnimations","$elements","initialConfig","configModifier","type","that","result","animationConfig","_prepareElementAnimationConfig","each","animation","_createAnimation","element","addClass","setup","push","config","presetName","presets","getPreset","extend","skipElementInitialStyles","cleanupWhen","_completePromise","cssClass","extraCssClasses","direction","from","to","staggerDelay","delay","$element","isPlainObject","createAnimation","_startAnimations","animations","start","_stopAnimations","jumpToEnd","stop","_clearAnimations","removeClass","_completeDeferred","Deferred","promise","apply","animationDeferreds","map","deferred","always","resolve","when","executeAsync","PresetCollection","_component","_devices","AnimationPresetCollection","callBase","arguments","_registeredPresets","resetToDefaults","_getDefaultOptions","defaultAnimationDuration","defaultAnimationDelay","defaultStaggerAnimationDuration","defaultStaggerAnimationDelay","defaultStaggerAnimationStartDelay","_defaultOptionsRules","concat","device","_device","phone","options","current","android","real","_getPresetOptionName","animationName","_createAndroidSlideAnimationConfig","throughOpacity","widthMultiplier","createBaseConfig","option","duration","width","parent","left","opacity","_createOpenDoorConfig","_createWinPopConfig","baseConfig","clear","registerDefaultPresets","applyChanges","newRegisteredPresets","index","preset","registerPreset","customRules","rule","_setOptionsByDevice","animationPresets","_window","_dom_adapter","_position","_browser","_translator","_support","scrollbarWidth","window","getWindow","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","safari","normalizeAlign","raw","h","v","pair","splitPair","w","String","toLowerCase","test","normalizeOffset","pairToObject","getAlignFactor","align","inverseAlign","calculateOversize","data","bounds","oversize","myLocation","min","max","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","offset","collisionResolvers","fit","flip","inverseData","flipfit","calculateScrollbarWidth","$scrollDiv","css","height","overflow","position","top","appendTo","get","offsetWidth","clientWidth","remove","defaultPositionResult","location","calculatePosition","what","$what","currentOffset","my","at","of","collision","normalizeCollision","boundary","boundaryOffset","outerWidth","outerHeight","preventDefault","pageX","pageY","isWindow","scrollLeft","scrollTop","deviceType","visualViewport","offsetLeft","offsetTop","innerWidth","innerHeight","nodeType","ofRect","getBoundingRect","o","getOffsetWithoutScale","win","windowWidth","windowHeight","documentElement","getDocumentElement","hZoomLevel","touch","vZoomLevel","clientHeight","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","number","precise","round","$startElement","_currentElement$getAt","_style$match","$currentElement","currentElement","style","getAttribute","call","scale","setAttribute","resetPosition","targetPosition","move","_default","calculate","module","standardColorNames","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","standardColorTypes","re","process","colorString","parseInt","s","rgb","hsvToRgb","l","hslToRgb","_round","Color","color","baseColor","str","ii","exec","parseColor","colorIsInvalid","r","normalize","g","a","hsv","H","S","delta","V","toHsvFromRgb","hsl","convertTo01Bounds","maxMinSum","calculateHue","toHslFromRgb","colorComponent","def","isNaN","vMin","vInc","vDec","floor","makeColorTint","colorPart","colorTint","hueToRgb","p","q","modifyColorTint","n","isIntegerBetweenMinAndMax","prototype","constructor","highlight","step","alter","toHex","darken","blend","blendColor","other","toString","getPureColor","isValidHex","hex","isValidRGB","isValidAlpha","fromHSL","requestAnimationFrame","setAnimationFrameMethods","request","cancelAnimationFrame","cancel","_call_once","hasWindow","callback","setTimeout","requestID","clearTimeout","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","canceledRequests","requestId","parseTranslate","getTranslate","getTranslateCss","clearCache","locate","_element_data","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","isPercentValue","cacheTranslate","translate","y","removeData","matrix","is3D","split","transform","finishTransition","originalTransition","stylesConfig","transition","offsetHeight","translateString","_events_engine","_errors","_element","_easing","_frame","_remove_event","_index","_typeof","Symbol","iterator","removeEventName","addNamespace","RELATIVE_VALUE_REGEX","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","transitionAnimation","finish","_finishTransition","_cleanup","resolveWith","_completeAnimationCallback","done","fail","rejectWith","animate","_startAnimation","simulatedEndEventTimer","startTime","Date","now","transitionEndFired","simulatedTransitionEndFired","transitionEndEventFullName","transitionEndEventName","cleanup","waitForJSCompleteTimer","off","one","reject","on","fx","_simulatedTransitionEndDelay","bind","transitionDelay","transitionDuration","transitionTimingFunction","className","key","FrameAnimationStrategy","prop","_normalizeValue","_parseTransform","frameAnimation","currentValue","valueOf","draw","animationFrameId","substr","delayTimeout","_animationStep","transformString","part","translateData","scaleData","rotateData","_calcStepValue","currentDuration","calcValueRecursively","Array","isArray","propName","endPropValue","calcEasedValue","numericValue","FallbackToNoAnimationStrategy","noop","isSynchronous","baseConfigValidator","animationType","validate","typeMessage","Error","isObjectConfigValidator","target","positionAliases","bottom","right","SlideAnimationConfigurator","validateConfig","positioningConfig","setupPosition","_setUpConfig","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","toOpacity","fromOpacity","visibility","animationConfigurators","custom","slide","slideIn","slideOut","fade","fadeIn","fadeOut","pop","fromScale","toScale","_getCssTransform","isStringConfigValidator","defaultJSConfig","complete","defaultCssConfig","setupAnimationOnElement","configurator","strategy","getPublicElement","startAnimationOnElement","isStarted","onElementAnimationComplete","stopAnimationOnElement","startTimeout","scopedRemoveEvent","defaultConfig","getAnimationConfigurator","animationStrategies","frame","noAnimation","getAnimationStrategy","subscribeToRemoveEvent","getAnimQueueData","destroyAnimQueueData","isAnimating","shiftFromAnimationQueue","queueData","shift","executeAnimation","currentPosition","props","e","animationTypes","writeAnimQueueData","pushInAnimationQueue","_"],"mappings":"4FASAA,EAAQC,UAsER,SAAmBC,GACfC,EAASD,GAtEbF,EAAQI,UAyER,SAAmBC,GACf,OAAOF,EAAOE,IAzElBL,EAAQM,yCAAsC,EAC9C,IAAIC,EAAQ,EAAQ,GAChBC,EAA8B,oGAC9BC,EAA0B,CAC1BC,OAAQ,2BACRC,MAAO,wCACPC,KAAM,mCACN,UAAW,8BACX,WAAY,8BACZ,cAAe,kCAEfC,EAAgB,SAASC,EAAIC,EAAIC,EAAIC,GACrC,IAAIC,EAAK,EAAIJ,EACTK,EAAK,GAAKH,EAAKF,GAAMI,EACrBE,EAAK,EAAIF,EAAKC,EACdE,EAAK,EAAIN,EACTO,EAAK,GAAKL,EAAKF,GAAMM,EACrBE,EAAK,EAAIF,EAAKC,EACdE,EAAU,SAASC,GACnB,OAAOA,GAAKP,EAAKO,GAAKN,EAAKM,EAAIL,KAK/BM,EAAc,SAASD,GACvB,OAAOP,EAAKO,GAAK,EAAIN,EAAK,EAAIM,EAAIL,IAgBtC,OAAO,SAASK,GACZ,OArBU,SAASA,GACnB,OAAOA,GAAKJ,EAAKI,GAAKH,EAAKG,EAAIF,IAoBxBI,CAfI,SAASF,GAIpB,IAHA,IAEIG,EAFAC,EAAIJ,EACJK,EAAI,EAEDA,EAAI,KACPF,EAAIJ,EAAQK,GAAKJ,IACbM,KAAKC,IAAIJ,GAAK,QAGlBC,GAAKD,EAAIF,EAAYG,GACrBC,IAEJ,OAAOD,EAGQI,CAASR,MAG5BtB,EAAS,GAqBbH,EAAQM,oCApBkC,SAAS4B,GAE/C,IACIC,EADAC,GADJF,EAAsBzB,EAAwByB,IAAwBA,GACrCG,MAAM7B,GAElC4B,IAEDA,EAAS3B,EADT0B,EAAY,UACgCE,MAAM7B,IAEtD4B,EAASA,EAAOE,MAAM,EAAG,GACzB,IAAK,IAAIR,EAAI,EAAGA,EAAIM,EAAOG,OAAQT,IAC/BM,EAAON,GAAKU,WAAWJ,EAAON,IAElC,IAAIW,EAAaN,GAAa,eAAiBC,EAAOM,KAAK,KAAKC,QAAQ,MAAO,KAM/E,OALK,EAAIpC,EAAMqC,YAAYzC,EAAOsC,MAC9BtC,EAAOsC,GAAc,SAASZ,EAAGJ,EAAGoB,EAAGC,EAAGC,GACtC,OAAOD,EAAIjC,EAAcuB,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAtDvB,CAA0DY,EAAIsB,GAAKF,IAG/EJ,I,kCClEXzC,EAAQgD,wBAAqB,EAC7B,IAAIC,EAAYC,EAAuB,EAAQ,IAC3CC,EAASD,EAAuB,EAAQ,KACxCE,EAAU,EAAQ,GAClBC,EAAU,EAAQ,GAClB9C,EAAQ,EAAQ,GAChB+C,EAAY,EAAQ,GACpBC,EAAML,EAAuB,EAAQ,KACrCM,EAAW,EAAQ,MACnBC,EAAY,EAAQ,IAExB,SAASP,EAAuBQ,GAC5B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACjC,QAAWA,GAGnB,IAAIE,EAAqB,CACrBC,QAAS,cACTC,SAAU,eACVC,KAAM,mBACNC,UAAW,oBAGXhB,EAAqBG,EAAOc,QAAQC,QAAQ,CAC5CC,KAAM,WACFC,KAAKC,mBAAqB,CACtBC,MAAO,EACPC,MAAO,GAEXH,KAAKI,YAAc,GACnBJ,KAAKK,SAETC,kBAAmB,SAASC,EAAWC,EAAeC,EAAgBC,GAClE,IAAIC,EAAOX,KACPY,EAAS,GACbH,EAAiBA,GAAkB,GACnC,IAAII,EAAkBb,KAAKc,+BAA+BN,EAAeC,EAAgBC,GAWzF,OAVIG,GACAN,EAAUQ,MAAK,WACX,IAAIC,EAAYL,EAAKM,kBAAiB,EAAIpC,EAAUgB,SAASG,MAAOa,EAAiBJ,GACjFO,IACAA,EAAUE,QAAQC,SAnBb,gBAoBLH,EAAUI,QACVR,EAAOS,KAAKL,OAIjBJ,GAEXE,+BAAgC,SAASQ,EAAQb,EAAgBC,GAC7D,IAAIE,EACJ,GAAI,iBAAoBU,EAAQ,CAC5B,IAAIC,EAAaD,EACjBA,EAASlC,EAASoC,QAAQC,UAAUF,GAExC,GAAKD,EAGD,IAAI,EAAInF,EAAMqC,YAAY8C,EAAOZ,IAC7BE,EAASU,EAAOZ,OACb,CAKH,KAJAE,GAAS,EAAI5B,EAAQ0C,QAAQ,CACzBC,0BAA0B,EAC1BC,YAAa5B,KAAK6B,kBACnBP,EAAQb,IACCC,MAAQ,QAAUE,EAAOF,KAAM,CACvC,IAAIoB,EAAW,MAAQpB,EACnBqB,GAAmBnB,EAAOmB,gBAAkB,IAAMnB,EAAOmB,gBAAkB,IAAMvC,EAAmBoB,EAAOoB,WAC/GpB,EAAOF,KAAO,MACdE,EAAOqB,MAAQrB,EAAOqB,MAAQH,GAAYC,EAC1CnB,EAAOsB,GAAKtB,EAAOsB,IAAMJ,EAAW,UAExClB,EAAOuB,aAAevB,EAAOuB,cAAgB,EAC7CvB,EAAOwB,MAAQxB,EAAOwB,OAAS,EAC3BxB,EAAOuB,eACPvB,EAAOwB,OAASpC,KAAKC,mBAAmBS,GACxCV,KAAKC,mBAAmBS,IAASE,EAAOuB,mBApBhDvB,OAAS,EAwBb,OAAOA,GAEXK,iBAAkB,SAASoB,EAAUxB,EAAiBJ,GAClD,IAAIG,EAQJ,OAPI,EAAIzE,EAAMmG,eAAezB,GACzBD,EAASzB,EAAIU,QAAQ0C,gBAAgBF,EAAUxB,IAE3C,EAAI1E,EAAMqC,YAAYqC,KACtBD,EAASC,EAAgBwB,EAAU5B,IAGpCG,GAEX4B,iBAAkB,WAEd,IADA,IAAIC,EAAazC,KAAKI,YACb1C,EAAI,EAAGA,EAAI+E,EAAWtE,OAAQT,IACnC+E,EAAW/E,GAAGgF,SAGtBC,gBAAiB,SAASC,GAEtB,IADA,IAAIH,EAAazC,KAAKI,YACb1C,EAAI,EAAGA,EAAI+E,EAAWtE,OAAQT,IACnC+E,EAAW/E,GAAGmF,KAAKD,IAG3BE,iBAAkB,WAEd,IADA,IAAIL,EAAazC,KAAKI,YACb1C,EAAI,EAAGA,EAAI+E,EAAWtE,OAAQT,IACnC+E,EAAW/E,GAAGwD,QAAQ6B,YAtFT,gBAwFjB/C,KAAKI,YAAYjC,OAAS,GAE9BkC,MAAO,WACHL,KAAKC,mBAAmBC,MAAQ,EAChCF,KAAKC,mBAAmBE,MAAQ,EAChCH,KAAK8C,mBACL9C,KAAKgD,kBAAoB,IAAI3D,EAAU4D,SACvCjD,KAAK6B,iBAAmB7B,KAAKgD,kBAAkBE,WAEnDhD,MAAO,SAASK,EAAWM,EAAiBJ,GACxC,IAAIgC,EAAazC,KAAKM,kBAAkBC,EAAWM,EAAiBJ,EAAgB,SACpFT,KAAKI,YAAYiB,KAAK8B,MAAMnD,KAAKI,YAAaqC,IAElDtC,MAAO,SAASI,EAAWM,EAAiBJ,GACxC,IAAIgC,EAAazC,KAAKM,kBAAkBC,EAAWM,EAAiBJ,EAAgB,SACpFT,KAAKI,YAAYiB,KAAK8B,MAAMnD,KAAKI,YAAaqC,IAElDC,MAAO,WACH,IACI9B,EADAD,EAAOX,KAEX,GAAKA,KAAKI,YAAYjC,OAGf,CACH,IAAIiF,GAAqB,EAAIlE,EAAUmE,KAAKrD,KAAKI,aAAa,SAASY,GACnE,IAAIJ,EAAS,IAAIvB,EAAU4D,SAI3B,OAHAjC,EAAUsC,SAASC,QAAO,WACtB3C,EAAO4C,aAEJ5C,EAAOsC,aAElBtC,EAASvB,EAAUoE,KAAKN,MAAMtE,EAAUgB,QAASuD,GAAoBG,QAAO,WACxE5C,EAAKqC,kBAAkBQ,UACvB7C,EAAKN,YAET,EAAIpB,EAAQyE,eAAc,WACtB/C,EAAK6B,2BAfT7B,EAAKN,QACLO,GAAS,IAAKvB,EAAU4D,UAAUO,UAAUN,UAiBhD,OAAOtC,GAEXiC,KAAM,SAASD,GACX5C,KAAK2C,gBAAgBC,MAG7BhH,EAAQgD,mBAAqBA,G,kCC3J7BhD,EAAQ+H,iBAAmB/H,EAAQ4F,aAAU,EAC7C,IAAIoC,EAAa9E,EAAuB,EAAQ,MAC5CI,EAAY,EAAQ,GACpBF,EAAU,EAAQ,GAClB6E,EAAW/E,EAAuB,EAAQ,KAC1CK,EAAML,EAAuB,EAAQ,KAEzC,SAASA,EAAuBQ,GAC5B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACjC,QAAWA,GAGnB,IAAIE,EAAqB,CACrBC,QAAS,cACTC,SAAU,eACVC,KAAM,mBACNC,UAAW,oBAGXkE,EAA4BF,EAAW/D,QAAQC,QAAQ,CACvDC,KAAM,WACFC,KAAK+D,SAASZ,MAAMnD,KAAMgE,WAC1BhE,KAAKiE,mBAAqB,GAC1BjE,KAAKkE,mBAETC,mBAAoB,WAChB,OAAO,EAAInF,EAAQ0C,QAAQ1B,KAAK+D,WAAY,CACxCK,yBAA0B,IAC1BC,sBAAuB,EACvBC,gCAAiC,IACjCC,6BAA8B,GAC9BC,kCAAmC,OAG3CC,qBAAsB,WAClB,OAAOzE,KAAK+D,WAAWW,OAAO,CAAC,CAC3BC,OAAQ,SAASC,GACb,OAAOA,EAAQC,OAEnBC,QAAS,CACLR,gCAAiC,IACjCC,6BAA8B,GAC9BC,kCAAmC,IAExC,CACCG,OAAQ,WACJ,OAAOd,EAAShE,QAAQkF,UAAUC,SAAWnB,EAAShE,QAAQoF,KAAKD,SAEvEF,QAAS,CACLT,sBAAuB,SAInCa,qBAAsB,SAASC,GAC3B,MApCW,UAoCWA,GAE1BC,mCAAoC,SAASC,EAAgBC,GACzD,IAAI3E,EAAOX,KACPuF,EAAmB,SAAS9E,GAC5B,MAAO,CACHC,KAAM,QACN0B,WAAO,IAAW3B,EAAe2B,MAAQzB,EAAK6E,OAAO,yBAA2B/E,EAAe2B,MAC/FqD,cAAU,IAAWhF,EAAegF,SAAW9E,EAAK6E,OAAO,4BAA8B/E,EAAegF,WAGhH,MAAO,CACHvF,MAAO,SAASmC,EAAU5B,GACtB,IAAIiF,EAAQrD,EAASsD,SAASD,QAAUJ,EACpCtD,EAAYvB,EAAeuB,UAC3BV,EAASiE,EAAiB9E,GAuB9B,OAtBAa,EAAOY,GAAK,CACR0D,KAAM,EACNC,QAAS,GAGTvE,EAAOW,KADP,YAAcD,EACA,CACV4D,KAAMF,EACNG,QAASR,GAGT,aAAerD,EACD,CACV4D,MAAOF,EACPG,QAASR,GAGC,CACVO,KAAM,EACNC,QAAS,GAId1G,EAAIU,QAAQ0C,gBAAgBF,EAAUf,IAEjDnB,MAAO,SAASkC,EAAU5B,GACtB,IAAIiF,EAAQrD,EAASsD,SAASD,QAAUJ,EACpCtD,EAAYvB,EAAeuB,UAC3BV,EAASiE,EAAiB9E,GAuB9B,OAtBAa,EAAOW,KAAO,CACV2D,KAAM,EACNC,QAAS,GAGTvE,EAAOY,GADP,YAAcF,EACF,CACR4D,MAAOF,EACPG,QAASR,GAGT,aAAerD,EACH,CACR4D,KAAMF,EACNG,QAASR,GAGD,CACRO,KAAM,EACNC,QAAS,GAId1G,EAAIU,QAAQ0C,gBAAgBF,EAAUf,MAIzDwE,sBAAuB,WACnB,IAAInF,EAAOX,KACPuF,EAAmB,SAAS9E,GAC5B,MAAO,CACHC,KAAM,MACNqB,gBAAiB,wBACjBK,WAAO,IAAW3B,EAAe2B,MAAQzB,EAAK6E,OAAO,yBAA2B/E,EAAe2B,MAC/FqD,cAAU,IAAWhF,EAAegF,SAAW9E,EAAK6E,OAAO,4BAA8B/E,EAAegF,WAGhH,MAAO,CACHvF,MAAO,SAASmC,EAAU5B,GACtB,IAAIuB,EAAYvB,EAAeuB,UAC3BV,EAASiE,EAAiB9E,GAI9B,OAHAa,EAAOc,MAAQ,SAAWJ,EAAYV,EAAOc,MAAQd,EAAOmE,SAC5DnE,EAAOW,KAAO,iCAAmCzC,EAAmBwC,GACpEV,EAAOY,GAAK,kBACL/C,EAAIU,QAAQ0C,gBAAgBF,EAAUf,IAEjDnB,MAAO,SAASkC,EAAU5B,GACtB,IAAIuB,EAAYvB,EAAeuB,UAC3BV,EAASiE,EAAiB9E,GAG9B,OAFAa,EAAOW,KAAO,iCAAmCzC,EAAmBwC,GACpEV,EAAOY,GAAK,kBACL/C,EAAIU,QAAQ0C,gBAAgBF,EAAUf,MAIzDyE,oBAAqB,WACjB,IAAIpF,EAAOX,KACPgG,EAAa,CACbtF,KAAM,MACNqB,gBAAiB,uBACjB0D,SAAU9E,EAAK6E,OAAO,6BAE1B,MAAO,CACHtF,MAAO,SAASmC,EAAU5B,GACtB,IAAIa,EAAS0E,EACThE,EAAYvB,EAAeuB,UAI/B,OAHAV,EAAOc,MAAQ,SAAWJ,EAAYrB,EAAK6E,OAAO,yBAA2B7E,EAAK6E,OAAO,4BAA8B,EACvHlE,EAAOW,KAAO,gCAAkCzC,EAAmBwC,GACnEV,EAAOY,GAAK,kBACL/C,EAAIU,QAAQ0C,gBAAgBF,EAAUf,IAEjDnB,MAAO,SAASkC,EAAU5B,GACtB,IAAIa,EAAS0E,EACThE,EAAYvB,EAAeuB,UAI/B,OAHAV,EAAOc,MAAQzB,EAAK6E,OAAO,yBAC3BlE,EAAOW,KAAO,gCAAkCzC,EAAmBwC,GACnEV,EAAOY,GAAK,kBACL/C,EAAIU,QAAQ0C,gBAAgBF,EAAUf,MAIzD4C,gBAAiB,WACblE,KAAKiG,QACLjG,KAAKkG,yBACLlG,KAAKmG,gBAETF,MAAO,SAAShK,GACZ,IAAI0E,EAAOX,KACPoG,EAAuB,IAC3B,EAAIlH,EAAU6B,MAAMf,KAAKiE,oBAAoB,SAASoC,EAAOC,GACpDrK,GAAQA,IAASqK,EAAOrK,KAGzBmK,EAAqB/E,KAAKiF,GAF1B3F,EAAK6E,OAAO7E,EAAKuE,qBAAqBoB,EAAOrK,WAAO,MAK5D+D,KAAKiE,mBAAqBmC,EAC1BpG,KAAKmG,gBAETI,eAAgB,SAAStK,EAAMqF,GAC3BtB,KAAKiE,mBAAmB5C,KAAK,CACzBpF,KAAMA,EACNqF,OAAQA,KAGhB6E,aAAc,WACV,IAAIxF,EAAOX,KACPwG,EAAc,IAClB,EAAItH,EAAU6B,MAAMf,KAAKiE,oBAAoB,SAASoC,EAAOC,GACzD,IAAIG,EAAO,CACP9B,OAAQ2B,EAAOhF,OAAOqD,OACtBG,QAAS,IAEb2B,EAAK3B,QAAQnE,EAAKuE,qBAAqBoB,EAAOrK,OAASqK,EAAOhF,OAAON,UACrEwF,EAAYnF,KAAKoF,MAErBzG,KAAK0G,oBAAoBF,IAE7B/E,UAAW,SAASxF,GAEhB,IADA,IAAI2E,EAAS3E,EACN,iBAAoB2E,GACvBA,EAASZ,KAAKwF,OAAOxF,KAAKkF,qBAAqBtE,IAEnD,OAAOA,GAEXsF,uBAAwB,WACpBlG,KAAKuG,eAAe,MAAO,CACvBvF,UAAW,CACPe,gBAAiB,2BACjBK,MAAOpC,KAAKwF,OAAO,yBACnBC,SAAUzF,KAAKwF,OAAO,+BAG9BxF,KAAKuG,eAAe,WAAY,CAC5BvF,UAAWhB,KAAK8F,0BAEpB9F,KAAKuG,eAAe,UAAW,CAC3BvF,UAAWhB,KAAK+F,wBAEpB/F,KAAKuG,eAAe,OAAQ,CACxBvF,UAAW,CACPe,gBAAiB,oBACjBK,MAAOpC,KAAKwF,OAAO,yBACnBC,SAAUzF,KAAKwF,OAAO,+BAG9BxF,KAAKuG,eAAe,QAAS,CACzB5B,OAAQ,WACJ,OAAOd,EAAShE,QAAQkF,UAAUC,SAAWnB,EAAShE,QAAQoF,KAAKD,SAEvEhE,UAAWhB,KAAKoF,mCAAmC,EAAG,KAE1DpF,KAAKuG,eAAe,QAAS,CACzB5B,OAAQ,WACJ,OAAQd,EAAShE,QAAQkF,UAAUC,UAAYnB,EAAShE,QAAQoF,KAAKD,SAEzEhE,UAAW,CACPe,gBAAiB,qBACjBK,MAAOpC,KAAKwF,OAAO,yBACnBC,SAAUzF,KAAKwF,OAAO,+BAG9BxF,KAAKuG,eAAe,aAAc,CAC9BvF,UAAW,CACPe,gBAAiB,0BACjBK,MAAOpC,KAAKwF,OAAO,yBACnBC,SAAUzF,KAAKwF,OAAO,+BAG9BxF,KAAKuG,eAAe,WAAY,CAC5BvF,UAAW,CACPe,gBAAiB,wBACjBK,MAAOpC,KAAKwF,OAAO,yBACnBC,SAAUzF,KAAKwF,OAAO,+BAG9BxF,KAAKuG,eAAe,eAAgB,CAChC5B,OAAQ,WACJ,OAAQd,EAAShE,QAAQkF,UAAUC,UAAYnB,EAAShE,QAAQoF,KAAKD,SAEzEhE,UAAW,CACPe,gBAAiB,4BACjBK,MAAOpC,KAAKwF,OAAO,yBACnBC,SAAUzF,KAAKwF,OAAO,+BAG9BxF,KAAKuG,eAAe,eAAgB,CAChC5B,OAAQ,WACJ,OAAOd,EAAShE,QAAQkF,UAAUC,SAAWnB,EAAShE,QAAQoF,KAAKD,SAEvEhE,UAAWhB,KAAKoF,mCAAmC,EAAG,MAE1DpF,KAAKuG,eAAe,eAAgB,CAChCvF,UAAW,CACPe,gBAAiB,oBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,gBAAiB,CACjCvF,UAAW,CACPe,gBAAiB,qBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,qBAAsB,CACtCvF,UAAW,CACPe,gBAAiB,0BACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,eAAgB,CAChCvF,UAAW,CACPe,gBAAiB,oBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,oBAAqB,CACrCvF,UAAW,CACPe,gBAAiB,yBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,oBAAqB,CACrCvF,UAAW,CACPe,gBAAiB,yBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,kBAAmB,CACnCvF,UAAW,CACPe,gBAAiB,uBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,wCAG3BxF,KAAKuG,eAAe,oBAAqB,CACrCvF,UAAW,CACPe,gBAAiB,yBACjBI,aAAcnC,KAAKwF,OAAO,gCAC1BC,SAAUzF,KAAKwF,OAAO,mCACtBpD,MAAOpC,KAAKwF,OAAO,2CAKnC5J,EAAQ+H,iBAAmBG,EAC3B,IAAI6C,EAAmB,IAAI7C,EAC3BlI,EAAQ4F,QAAUmF,G,iCCrWlB/K,EAAQiE,aAAU,EAClB,IAAIhB,EAAYC,EAAuB,EAAQ,IAC3CG,EAAU,EAAQ,GAClBC,EAAY,EAAQ,GACpB0H,EAAU,EAAQ,IAClBC,EAAe/H,EAAuB,EAAQ,KAC9C3C,EAAQ,EAAQ,GAChB6C,EAAU,EAAQ,GAClB8H,EAAY,EAAQ,IACpBC,EAAWjI,EAAuB,EAAQ,KAC1CkI,EAAc,EAAQ,IACtBC,EAAW,EAAQ,KACnBpD,EAAW/E,EAAuB,EAAQ,KAE9C,SAASA,EAAuBQ,GAC5B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACjC,QAAWA,GAGnB,IAoII4H,EApIAC,GAAS,EAAIP,EAAQQ,aACrBC,EAAS,aACTC,EAAS,aACTC,EAAc,gBACdC,EAAU,YACVC,EAAYV,EAASlH,QAAQ6H,OAC7BC,EAAiB,SAASC,GAC1B,IAAIhH,EAAS,CACTiH,EAAG,SACHC,EAAG,UAEHC,GAAO,EAAI9I,EAAQ+I,WAAWJ,GAalC,OAZIG,IACA,EAAI7I,EAAU6B,MAAMgH,GAAM,WACtB,IAAIE,EAAIC,OAAOlI,MAAMmI,cACjBd,EAAOe,KAAKH,GACZrH,EAAOiH,EAAII,EAEPX,EAAOc,KAAKH,KACZrH,EAAOkH,EAAIG,MAKpBrH,GAEPyH,EAAkB,SAAST,GAC3B,OAAO,EAAI3I,EAAQqJ,cAAcV,IAiBjCW,EAAiB,SAASC,GAC1B,OAAQA,GACJ,IAAK,SACD,MAAO,GACX,IAAK,QACL,IAAK,SACD,OAAO,EACX,QACI,OAAO,IAGfC,EAAe,SAASD,GACxB,OAAQA,GACJ,IAAK,OACD,MAAO,QACX,IAAK,QACD,MAAO,OACX,IAAK,MACD,MAAO,SACX,IAAK,SACD,MAAO,MACX,QACI,OAAOA,IAGfE,EAAoB,SAASC,EAAMC,GACnC,IAAIC,EAAW,EAOf,OANIF,EAAKG,WAAaF,EAAOG,MACzBF,GAAYD,EAAOG,IAAMJ,EAAKG,YAE9BH,EAAKG,WAAaF,EAAOI,MACzBH,GAAYF,EAAKG,WAAaF,EAAOI,KAElCH,GAEPI,EAAgB,SAASjH,EAAW2G,EAAMC,GAC1C,OAAID,EAAKG,WAAaF,EAAOG,IAClB,MAAQ/G,EAAY,OAAS,MAEpC2G,EAAKG,WAAaF,EAAOI,IAClB,MAAQhH,EAAY,QAAU,SAElC,QAEPkH,EAAiB,SAASP,GAC1BA,EAAKG,WAAaH,EAAKQ,WAAaZ,EAAeI,EAAKS,SAAWT,EAAKU,OAASd,EAAeI,EAAKW,SAAWX,EAAKY,OAASZ,EAAKa,QAEnIC,EAAqB,CACrBC,IAAK,SAASf,EAAMC,GAChB,IAAIhI,GAAS,EACT+H,EAAKG,WAAaF,EAAOI,MACzBL,EAAKG,WAAaF,EAAOI,IACzBpI,GAAS,GAET+H,EAAKG,WAAaF,EAAOG,MACzBJ,EAAKG,WAAaF,EAAOG,IACzBnI,GAAS,GAEb+H,EAAKe,IAAM9I,GAEf+I,KAAM,SAAShB,EAAMC,GAEjB,GADAD,EAAKgB,MAAO,GACR,WAAahB,EAAKW,SAAW,WAAaX,EAAKS,WAG/CT,EAAKG,WAAaF,EAAOG,KAAOJ,EAAKG,WAAaF,EAAOI,KAAK,CAC9D,IAAIY,GAAc,EAAI5K,EAAQ0C,QAAQ,GAAIiH,EAAM,CAC5CW,QAASb,EAAaE,EAAKW,SAC3BF,QAASX,EAAaE,EAAKS,SAC3BI,QAASb,EAAKa,SAElBN,EAAeU,GACfA,EAAYf,SAAWH,EAAkBkB,EAAahB,IAClDgB,EAAYd,YAAcF,EAAOG,KAAOa,EAAYd,YAAcF,EAAOI,KAAOL,EAAKE,SAAWe,EAAYf,YAC5GF,EAAKG,WAAac,EAAYd,WAC9BH,EAAKE,SAAWe,EAAYf,SAC5BF,EAAKgB,MAAO,KAIxBE,QAAS,SAASlB,EAAMC,GACpB5I,KAAK2J,KAAKhB,EAAMC,GAChB5I,KAAK0J,IAAIf,EAAMC,IAEnBjJ,KAAM,SAASgJ,GACXA,EAAKE,SAAW,IAIpBiB,EAA0B,WAC1B,IAAIC,GAAa,EAAIlL,EAAUgB,SAAS,SAASmK,IAAI,CACjDtE,MAAO,IACPuE,OAAQ,IACRC,SAAU,SACVC,SAAU,WACVC,KAAM,OACPC,UAAS,EAAIxL,EAAUgB,SAAS,SAC/Be,EAASmJ,EAAWO,IAAI,GAAGC,YAAcR,EAAWO,IAAI,GAAGE,YAC/DT,EAAWU,SACXvD,EAAiBtG,GAEjB8J,EAAwB,CACxB7C,EAAG,CACC8C,SAAU,EACVhB,MAAM,EACND,KAAK,EACLb,SAAU,GAEdf,EAAG,CACC6C,SAAU,EACVhB,MAAM,EACND,KAAK,EACLb,SAAU,IAGd+B,EAAoB,SAASC,EAAM/F,GACnC,IAAIgG,GAAQ,EAAIjM,EAAUgB,SAASgL,GAC/BE,EAAgBD,EAAMtB,SACtB5I,GAAS,EAAI5B,EAAQ0C,SAAQ,EAAM,GAAIgJ,EAAuB,CAC9D7C,EAAG,CACC8C,SAAUI,EAAcnF,MAE5BkC,EAAG,CACC6C,SAAUI,EAAcX,OAGhC,IAAKtF,EACD,OAAOlE,EAEX,IAAIoK,EAAKrD,EAAe7C,EAAQkG,IAC5BC,EAAKtD,EAAe7C,EAAQmG,IAC5BC,GAAK,EAAIrM,EAAUgB,SAASiF,EAAQoG,IAAI/M,QAAU2G,EAAQoG,IAAM/D,EAChEqC,EAASnB,EAAgBvD,EAAQ0E,QACjC2B,EApJiB,SAASvD,GAC9B,IAAIG,GAAO,EAAI9I,EAAQ+I,WAAWJ,GAC9BC,EAAIK,OAAOH,GAAQA,EAAK,IAAII,cAC5BL,EAAII,OAAOH,GAAQA,EAAK,IAAII,cAOhC,OANKZ,EAAYa,KAAKP,KAClBA,EAAI,QAEHN,EAAYa,KAAKN,KAClBA,EAAID,GAED,CACHA,EAAGA,EACHC,EAAGA,GAwISsD,CAAmBtG,EAAQqG,WACvCE,EAAWvG,EAAQuG,SACnBC,EAAiBjD,EAAgBvD,EAAQwG,gBACzCzD,EAAI,CACJ0B,OAAQuB,EAAMS,aACdjC,QAAS0B,EAAGnD,EACZuB,QAAS6B,EAAGpD,EACZ2B,OAAQA,EAAO3B,EACfsD,UAAWA,EAAUtD,EACrByD,eAAgBA,EAAezD,GAE/BC,EAAI,CACJyB,OAAQuB,EAAMU,cACdlC,QAAS0B,EAAGlD,EACZsB,QAAS6B,EAAGnD,EACZ0B,OAAQA,EAAO1B,EACfqD,UAAWA,EAAUrD,EACrBwD,eAAgBA,EAAexD,GAEnC,GAAKoD,EAAIO,eACL5D,EAAEsB,WAAa+B,EAAIQ,MACnB5D,EAAEqB,WAAa+B,EAAIS,MACnB9D,EAAEwB,OAAS,EACXvB,EAAEuB,OAAS,OAGX,GADA6B,GAAK,EAAIrM,EAAUgB,SAAUqL,IACzB,EAAI/O,EAAMyP,UAAWV,EAAI,IACzBrD,EAAEsB,WAAa+B,EAAIW,aACnB/D,EAAEqB,WAAa+B,EAAIY,YACf,UAAYjI,EAAShE,QAAQoF,OAAO8G,YAAcb,EAAI,GAAGc,gBACzDnE,EAAEsB,WAAaxL,KAAKqL,IAAInB,EAAEsB,WAAY+B,EAAI,GAAGc,eAAeC,YAC5DnE,EAAEqB,WAAaxL,KAAKqL,IAAIlB,EAAEqB,WAAY+B,EAAI,GAAGc,eAAeE,WAC5DrE,EAAEwB,OAAS6B,EAAI,GAAGc,eAAetG,MACjCoC,EAAEuB,OAAS6B,EAAI,GAAGc,eAAe/B,SAEjCpC,EAAEwB,OAAS6B,EAAI,GAAGiB,WAAajB,EAAI,GAAGK,WAAaL,EAAI,GAAGiB,WAAajB,EAAIxF,QAC3EoC,EAAEuB,OAAS6B,EAAI,GAAGkB,YAAclB,EAAI,GAAGM,aAAe/D,EAAYyD,EAAI,GAAGkB,YAAclB,EAAIjB,eAG/F,GAAI,IAAMiB,EAAI,GAAGmB,SACbxE,EAAEsB,WAAa,EACfrB,EAAEqB,WAAa,EACftB,EAAEwB,OAAS6B,EAAIxF,QACfoC,EAAEuB,OAAS6B,EAAIjB,aACZ,CACH,IAAIqC,GAAS,EAAIxF,EAAUyF,iBAAkBrB,EAAIZ,IAAI,IACjDkC,EAAIC,EAAuBvB,GAC/BrD,EAAEsB,WAAaqD,EAAE5G,KACjBkC,EAAEqB,WAAaqD,EAAEpC,IACjBvC,EAAEwB,OAAS1L,KAAKqL,IAAIsD,EAAO5G,MAAOwF,EAAIK,cACtCzD,EAAEuB,OAAS1L,KAAKqL,IAAIsD,EAAOrC,OAAQiB,EAAIM,eAInDtC,EAAerB,GACfqB,EAAepB,GACf,IAAIc,EAAS,WACT,IAAI8D,GAAM,EAAI7N,EAAUgB,SAASsH,GAC7BwF,EAAcD,EAAIhH,QAClBkH,EAAeF,EAAIzC,SACnBrE,EAAO8G,EAAIb,aACXzB,EAAMsC,EAAIZ,YACVe,EAAkBhG,EAAahH,QAAQiN,qBACvCC,EAAa9F,EAAS+F,MAAQH,EAAgBrC,YAAcmC,EAAc,EAC1EM,EAAahG,EAAS+F,MAAQH,EAAgBK,aAAeN,EAAe,OAC5E,IAAW1F,GACX4C,IAEJ,IAAIqD,EAAgBR,EAChBS,EAAiBR,EACrB,GAAIvB,EAAU,CACV,IAAIgC,GAAY,EAAIxO,EAAUgB,SAASwL,GACnCiC,EAAmBD,EAAU7D,SACjC5D,EAAO0H,EAAiB1H,KACxBwE,EAAMkD,EAAiBlD,IACvB+C,EAAgBE,EAAU3H,QAC1B0H,EAAiBC,EAAUpD,SAE/B,MAAO,CACHpC,EAAG,CACCkB,IAAKnD,EAAOiC,EAAEyD,eACdtC,IAAKpD,EAAOuH,EAAgBJ,EAAalF,EAAE0B,OAAS1B,EAAEyD,gBAE1DxD,EAAG,CACCiB,IAAKqB,EAAMtC,EAAEwD,eACbtC,IAAKoB,EAAMgD,EAAiBH,EAAanF,EAAEyB,OAASzB,EAAEwD,iBA7BrD,GAiCbzD,EAAEgB,SAAWH,EAAkBb,EAAGe,EAAOf,GACzCC,EAAEe,SAAWH,EAAkBZ,EAAGc,EAAOd,GACzCD,EAAEoB,cAAgBA,EAAc,IAAKpB,EAAGe,EAAOf,GAC/CC,EAAEmB,cAAgBA,EAAc,IAAKnB,EAAGc,EAAOd,GAC3C2B,EAAmB5B,EAAEsD,YACrB1B,EAAmB5B,EAAEsD,WAAWtD,EAAGe,EAAOf,GAE1C4B,EAAmB3B,EAAEqD,YACrB1B,EAAmB3B,EAAEqD,WAAWrD,EAAGc,EAAOd,GAE9C,IAAIyF,EAAW,SAASC,GACpB,OAAO1I,EAAQ2I,QAAUD,EAAS7P,KAAK+P,MAAMF,IAmBjD,OAjBA,EAAIxO,EAAQ0C,SAAQ,EAAMd,EAAQ,CAC9BiH,EAAG,CACC8C,SAAU4C,EAAS1F,EAAEiB,YACrBD,SAAU0E,EAAS1F,EAAEgB,UACrBa,IAAK7B,EAAE6B,IACPC,KAAM9B,EAAE8B,KACRV,cAAepB,EAAEoB,eAErBnB,EAAG,CACC6C,SAAU4C,EAASzF,EAAEgB,YACrBD,SAAU0E,EAASzF,EAAEe,UACrBa,IAAK5B,EAAE4B,IACPC,KAAM7B,EAAE6B,KACRV,cAAenB,EAAEmB,eAErBwE,QAAS3I,EAAQ2I,UAEd7M,GAEP6L,EAAwB,SAASA,EAAsBkB,GACvD,IAAIC,EAAuBC,EACvBC,EAAkB9J,UAAU7F,OAAS,QAAK,IAAW6F,UAAU,GAAKA,UAAU,GAAK2J,EACnFI,EAAiBD,EAAgBxD,IAAI,GACzC,IAAKyD,EACD,OAAOJ,EAAcnE,SAEzB,IAEIA,EAFAwE,GAAS,QAAUJ,EAAwBG,EAAeE,oBAAiB,IAAWL,OAAwB,EAASA,EAAsBM,KAAKH,EAAgB,WAAa,GAC/KI,EAAQ,QAAUN,EAAeG,EAAM/P,MAAMuJ,UAAa,IAAWqG,OAAe,EAASA,EAAa,GAS9G,OAPIM,GACAJ,EAAeK,aAAa,QAASJ,EAAMzP,QAAQ4P,EAAO,KAC1D3E,EAASiD,EAAsBkB,EAAeG,EAAgBnI,UAC9DoI,EAAeK,aAAa,QAASJ,IAErCxE,EAASiD,EAAsBkB,EAAeG,EAAgBnI,UAE3D6D,GAEPW,EAAW,SAASU,EAAM/F,GAC1B,IAAIgG,GAAQ,EAAIjM,EAAUgB,SAASgL,GACnC,IAAK/F,EACD,OAAOgG,EAAMtB,UAChB,EAAIxC,EAAYqH,eAAevD,GAAO,GACvC,IAAItB,EAASiD,EAAsB3B,GAC/BwD,EAAiBxJ,EAAQ+C,GAAK/C,EAAQgD,EAAIhD,EAAU8F,EAAkBE,EAAOhG,GAC7EyI,EAAW,SAASC,GACpB,OAAO1I,EAAQ2I,QAAUD,EAAS7P,KAAK+P,MAAMF,IAMjD,OAJA,EAAIxG,EAAYuH,MAAMzD,EAAO,CACzBlF,KAAM0I,EAAezG,EAAE8C,SAAW4C,EAAS/D,EAAO5D,MAClDwE,IAAKkE,EAAexG,EAAE6C,SAAW4C,EAAS/D,EAAOY,OAE9CkE,GAgBNnE,EAAS1B,eACV0B,EAAS1B,aAAeA,GAEvB0B,EAASxC,iBACVwC,EAASxC,eAAiBA,GAE9B,IAAI6G,EAAW,CACX1E,wBAAyBA,EACzB2E,UAAW7D,EACXxJ,MAAO+I,EACPX,OAxBS,SAAStI,GAElB,OADAA,GAAU,EAAIrC,EAAUgB,SAASqB,GAASoJ,IAAI,IAC1C,EAAInO,EAAMyP,UAAU1K,GACb,KAEHA,GAAW,UAAWA,GAAW,UAAWA,EACrC,CACHkJ,IAAKlJ,EAAQyK,MACb/F,KAAM1E,EAAQwK,QAInB,EAAI7M,EAAUgB,SAASqB,GAASsI,WAc3C5N,EAAQiE,QAAU2O,EAClBE,EAAO9S,QAAUA,EAAQiE,S,iCC3XzBjE,EAAQiE,aAAU,EAClB,IAAI8O,EAAqB,CACrBC,UAAW,SACXC,aAAc,SACdC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,eAAgB,SAChBC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,UAAW,SACXC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,SAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,SACNC,SAAU,SACVC,SAAU,SACVC,cAAe,SACfC,SAAU,SACVC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,eAAgB,SAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,SACTC,WAAY,SACZC,aAAc,SACdC,cAAe,SACfC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,SAAU,SACVC,YAAa,SACbC,QAAS,SACTC,WAAY,SACZC,SAAU,SACVC,UAAW,SACXC,YAAa,SACbC,YAAa,SACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,SACNC,MAAO,SACPC,YAAa,SACbC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,SACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,YAAa,SACbC,cAAe,SACfC,aAAc,SACdC,eAAgB,SAChBC,eAAgB,SAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,SACNC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,SACRC,iBAAkB,SAClBC,WAAY,SACZC,aAAc,SACdC,aAAc,SACdC,eAAgB,SAChBC,gBAAiB,SACjBC,kBAAmB,SACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,aAAc,SACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,SACRC,cAAe,SACfC,IAAK,SACLC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,UAAW,SACXC,KAAM,SACNC,YAAa,SACbC,UAAW,SACXC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UAEbC,EAAqB,CAAC,CACtBC,GAAI,+CACJC,QAAS,SAASC,GACd,MAAO,CAACC,SAASD,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAI,OAElG,CACCF,GAAI,+DACJC,QAAS,SAASC,GACd,MAAO,CAACC,SAASD,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAI,IAAK3Z,WAAW2Z,EAAY,OAE9H,CACCF,GAAI,6CACJC,QAAS,SAASC,GACd,MAAO,CAACC,SAASD,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAI,OAElG,CACCF,GAAI,6CACJC,QAAS,SAASC,GACd,MAAO,CAACC,SAASD,EAAY,GAAKA,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAKA,EAAY,GAAI,IAAKC,SAASD,EAAY,GAAKA,EAAY,GAAI,OAErJ,CACCF,GAAI,+CACJC,QAAS,SAASC,GACd,IAAIlQ,EAAImQ,SAASD,EAAY,GAAI,IAC7BE,EAAID,SAASD,EAAY,GAAI,IAC7BjQ,EAAIkQ,SAASD,EAAY,GAAI,IAC7BG,EAAMC,EAAStQ,EAAGoQ,EAAGnQ,GACzB,MAAO,CAACoQ,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,EAAG,CAACrQ,EAAGoQ,EAAGnQ,MAE/C,CACC+P,GAAI,+CACJC,QAAS,SAASC,GACd,IAAIlQ,EAAImQ,SAASD,EAAY,GAAI,IAC7BE,EAAID,SAASD,EAAY,GAAI,IAC7BK,EAAIJ,SAASD,EAAY,GAAI,IAC7BG,EAAMG,EAASxQ,EAAGoQ,EAAGG,GACzB,MAAO,CAACF,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,EAAG,KAAM,CAACrQ,EAAGoQ,EAAGG,OAGpDE,EAAS3a,KAAK+P,MAElB,SAAS6K,EAAMzc,GAEX,IAAI0c,EADJxY,KAAKyY,UAAY3c,EAEbA,IACA0c,EAAQtQ,OAAOpM,GAAOqM,cAAc5J,QAAQ,KAAM,IAElDia,EA8BR,SAAoBA,GAChB,GAAI,gBAAkBA,EAClB,MAAO,CAAC,EAAG,EAAG,EAAG,GAKrB,IAHA,IAEIE,EAFAhb,EAAI,EACJib,EAAKf,EAAmBzZ,OAErBT,EAAIib,IAAMjb,EAEb,GADAgb,EAAMd,EAAmBla,GAAGma,GAAGe,KAAKJ,GAEhC,OAAOZ,EAAmBla,GAAGoa,QAAQY,GAG7C,OAAO,KA3CKG,CADRL,EAAQ7J,EAAmB6J,GAAS,IAAM7J,EAAmB6J,GAASA,IAGrEA,IACDxY,KAAK8Y,gBAAiB,GAE1BN,EAAQA,GAAS,GACjBxY,KAAK+Y,EAAIC,EAAUR,EAAM,IACzBxY,KAAKiZ,EAAID,EAAUR,EAAM,IACzBxY,KAAKvB,EAAIua,EAAUR,EAAM,IACzBxY,KAAKkZ,EAAIF,EAAUR,EAAM,GAAI,EAAG,GAC5BA,EAAM,GACNxY,KAAKmZ,IAAM,CACPtR,EAAG2Q,EAAM,GAAG,GACZP,EAAGO,EAAM,GAAG,GACZ1Q,EAAG0Q,EAAM,GAAG,IAGhBxY,KAAKmZ,IAuCb,SAAsBJ,EAAGE,EAAGxa,GACxB,IAGI2a,EACAC,EAJArQ,EAAMrL,KAAKqL,IAAI+P,EAAGE,EAAGxa,GACrBsK,EAAMpL,KAAKoL,IAAIgQ,EAAGE,EAAGxa,GACrB6a,EAAQtQ,EAAMD,EAGdwQ,EAAIvQ,EAER,GADAqQ,EAAI,IAAMrQ,EAAM,EAAI,EAAID,EAAMC,EAC1BA,IAAQD,EACRqQ,EAAI,OAEJ,OAAQpQ,GACJ,KAAK+P,EACDK,GAAWH,EAAIxa,GAAK6a,EAAhB,GACAL,EAAIxa,IACJ2a,GAAK,KAET,MACJ,KAAKH,EACDG,GAAW3a,EAAIsa,GAAKO,EAAhB,GAAyB,IAC7B,MACJ,KAAK7a,EACD2a,GAAWL,EAAIE,GAAKK,EAAhB,GAAyB,IAKzC,OAFAD,GAAK,IACLE,GAAK,IAAM,IACJ,CACH1R,EAAGlK,KAAK+P,MAAM0L,GACdnB,EAAGta,KAAK+P,MAAM2L,GACdvR,EAAGnK,KAAK+P,MAAM6L,IArEHC,CAAaxZ,KAAK+Y,EAAG/Y,KAAKiZ,EAAGjZ,KAAKvB,GAE7C+Z,EAAM,GACNxY,KAAKyZ,IAAM,CACP5R,EAAG2Q,EAAM,GAAG,GACZP,EAAGO,EAAM,GAAG,GACZJ,EAAGI,EAAM,GAAG,IAGhBxY,KAAKyZ,IAuHb,SAAsBV,EAAGE,EAAGxa,GACxBsa,EAAIW,EAAkBX,EAAG,KACzBE,EAAIS,EAAkBT,EAAG,KACzBxa,EAAIib,EAAkBjb,EAAG,KACzB,IAGIoJ,EACAoQ,EAJAjP,EAAMrL,KAAKqL,IAAI+P,EAAGE,EAAGxa,GACrBsK,EAAMpL,KAAKoL,IAAIgQ,EAAGE,EAAGxa,GACrBkb,EAAY3Q,EAAMD,EAGlBqP,EAAIuB,EAAY,EACpB,GAAI3Q,IAAQD,EACRlB,EAAIoQ,EAAI,MACL,CACH,IAAIqB,EAAQtQ,EAAMD,EAEdkP,EADAG,EAAI,GACAkB,GAAS,EAAIK,GAEbL,EAAQK,EAEhB9R,EA/BR,SAAsBkR,EAAGE,EAAGxa,EAAG6a,GAE3B,OADU3b,KAAKqL,IAAI+P,EAAGE,EAAGxa,IAErB,KAAKsa,EACD,OAAQE,EAAIxa,GAAK6a,GAASL,EAAIxa,EAAI,EAAI,GAC1C,KAAKwa,EACD,OAAQxa,EAAIsa,GAAKO,EAAQ,EAC7B,KAAK7a,EACD,OAAQsa,EAAIE,GAAKK,EAAQ,GAuBzBM,CAAab,EAAGE,EAAGxa,EAAG6a,GAC1BzR,GAAK,EAET,MAAO,CACHA,EAAGyQ,EAAO,IAAMzQ,GAChBoQ,EAAGK,EAAO,IAAML,GAChBG,EAAGE,EAAO,IAAMF,IAhJLyB,CAAa7Z,KAAK+Y,EAAG/Y,KAAKiZ,EAAGjZ,KAAKvB,GAoBrD,SAASua,EAAUc,EAAgBC,EAAK/Q,GAGpC,OAFA+Q,EAAMA,GAAO,EACb/Q,EAAMA,GAAO,IACN8Q,EAAiB,GAAKE,MAAMF,GAAkBC,EAAMD,EAAiB9Q,EAAMA,EAAM8Q,EAyC5F,SAAS3B,EAAStQ,EAAGoQ,EAAGnQ,GACpB,IAKIiR,EACAE,EACAxa,EANAwb,GAAQ,IAAMhC,GAAKnQ,EAAI,IACvBoR,EAAkBrR,EAAI,GAAK,IAAtBC,EAAImS,GACTC,EAAOD,EAAOf,EACdiB,EAAOrS,EAAIoR,EAIf,OARYvb,KAAKyc,MAAMvS,EAAI,IAAM,KAS7B,KAAK,EACDkR,EAAIjR,EACJmR,EAAIiB,EACJzb,EAAIwb,EACJ,MACJ,KAAK,EACDlB,EAAIoB,EACJlB,EAAInR,EACJrJ,EAAIwb,EACJ,MACJ,KAAK,EACDlB,EAAIkB,EACJhB,EAAInR,EACJrJ,EAAIyb,EACJ,MACJ,KAAK,EACDnB,EAAIkB,EACJhB,EAAIkB,EACJ1b,EAAIqJ,EACJ,MACJ,KAAK,EACDiR,EAAImB,EACJjB,EAAIgB,EACJxb,EAAIqJ,EACJ,MACJ,KAAK,EACDiR,EAAIjR,EACJmR,EAAIgB,EACJxb,EAAI0b,EAEZ,MAAO,CAACxc,KAAK+P,MAAM,KAAOqL,GAAIpb,KAAK+P,MAAM,KAAOuL,GAAItb,KAAK+P,MAAM,KAAOjP,IA4C1E,SAAS4b,EAAcC,EAAWzS,GAC9B,IAAI0S,EAAY1S,EAOhB,MANI,MAAQyS,IACRC,EAAY1S,EAAI,EAAI,GAEpB,MAAQyS,IACRC,EAAY1S,EAAI,EAAI,GAEjB0S,EAaX,SAASC,EAASC,EAAGC,EAAGH,GAEpB,OADAA,EAXJ,SAAyBA,GAOrB,OANIA,EAAY,IACZA,GAAa,GAEbA,EAAY,IACZA,GAAa,GAEVA,EAIKI,CAAgBJ,IACZ,EAAI,EACTE,EAAI,GAAKC,EAAID,GAAKF,EAEzBA,EAAY,GACLG,EAEPH,EAAY,EAAI,EACTE,GAAKC,EAAID,IAAM,EAAI,EAAIF,GAAa,EAExCE,EAGX,SAASpC,EAASxQ,EAAGoQ,EAAGG,GACpB,IAAIW,EACAE,EACAxa,EAIJ,GAHAoJ,EAAI6R,EAAkB7R,EAAG,KACzBoQ,EAAIyB,EAAkBzB,EAAG,KACzBG,EAAIsB,EAAkBtB,EAAG,KACrB,IAAMH,EACNc,EAAIE,EAAIxa,EAAI2Z,MACT,CACH,IAAIsC,EAAItC,EAAI,GAAKA,GAAK,EAAIH,GAAKG,EAAIH,EAAIG,EAAIH,EACvCwC,EAAI,EAAIrC,EAAIsC,EAChB3B,EAAIyB,EAASC,EAAGC,EAAGL,EAAc,IAAKxS,IACtCoR,EAAIuB,EAASC,EAAGC,EAAGL,EAAc,IAAKxS,IACtCpJ,EAAI+b,EAASC,EAAGC,EAAGL,EAAc,IAAKxS,IAE1C,MAAO,CAACyQ,EAAO,IAAMS,GAAIT,EAAO,IAAMW,GAAIX,EAAO,IAAM7Z,IAG3D,SAASib,EAAkBkB,EAAG5R,GAE1B,OADA4R,EAAIjd,KAAKoL,IAAIC,EAAKrL,KAAKqL,IAAI,EAAG5K,WAAWwc,KACrCjd,KAAKC,IAAIgd,EAAI5R,GAAO,KACb,EAEJ4R,EAAI5R,EAAM5K,WAAW4K,GAGhC,SAAS6R,EAA0BrN,EAAQzE,EAAKC,GAG5C,OAFAD,EAAMA,GAAO,EACbC,EAAMA,GAAO,MACTwE,EAAS,GAAM,GAAKA,EAASzE,GAAOyE,EAASxE,GAAO,iBAAoBwE,GAAUwM,MAAMxM,IAKhG+K,EAAMuC,UAAY,CACdC,YAAaxC,EACbyC,UAAW,SAASC,GAEhB,OADAA,EAAOA,GAAQ,GACRjb,KAAKkb,MAAMD,GAAME,SAE5BC,OAAQ,SAASH,GAEb,OADAA,EAAOA,GAAQ,GACRjb,KAAKkb,OAAOD,GAAME,SAE7BD,MAAO,SAASD,GACZ,IAAIra,EAAS,IAAI2X,EAIjB,OAHA3X,EAAOmY,EAAIC,EAAUhZ,KAAK+Y,EAAIkC,GAC9Bra,EAAOqY,EAAID,EAAUhZ,KAAKiZ,EAAIgC,GAC9Bra,EAAOnC,EAAIua,EAAUhZ,KAAKvB,EAAIwc,GACvBra,GAEXya,MAAO,SAASC,EAAYzV,GACxB,IAAI0V,EAAQD,aAAsB/C,EAAQ+C,EAAa,IAAI/C,EAAM+C,GAC7D1a,EAAS,IAAI2X,EAIjB,OAHA3X,EAAOmY,EAAIC,EAAUV,EAAOtY,KAAK+Y,GAAK,EAAIlT,GAAW0V,EAAMxC,EAAIlT,IAC/DjF,EAAOqY,EAAID,EAAUV,EAAOtY,KAAKiZ,GAAK,EAAIpT,GAAW0V,EAAMtC,EAAIpT,IAC/DjF,EAAOnC,EAAIua,EAAUV,EAAOtY,KAAKvB,GAAK,EAAIoH,GAAW0V,EAAM9c,EAAIoH,IACxDjF,GAEXua,MAAO,WACH,OA1NcpC,EA0NM/Y,KAAK+Y,EA1NRE,EA0NWjZ,KAAKiZ,EA1Nbxa,EA0NgBuB,KAAKvB,EAzNtC,KAAO,SAAWsa,GAAK,GAAKE,GAAK,EAAIxa,GAAG+c,SAAS,IAAItd,MAAM,GADtE,IAAsB6a,EAAGE,EAAGxa,GA4NxBgd,aAAc,WAEV,OAAO,IAAIlD,EAAM,OADPJ,EAASnY,KAAKmZ,IAAItR,EAAG,IAAK,KACNvJ,KAAK,KAAO,MAE9Cod,WAAY,SAASC,GACjB,MAAO,qCAAqCvT,KAAKuT,IAErDC,WAAY,SAAS7C,EAAGE,EAAGxa,GACvB,SAAKoc,EAA0B9B,IAAO8B,EAA0B5B,IAAO4B,EAA0Bpc,KAKrGod,aAAc,SAAS3C,GACnB,QAAIc,MAAMd,IAAMA,EAAI,GAAKA,EAAI,GAAK,iBAAoBA,IAK1DJ,gBAAgB,EAChBgD,QAAS,SAASrC,GACd,IAAIjB,EAAQ,IAAID,EACZL,EAAMG,EAASoB,EAAI5R,EAAG4R,EAAIxB,EAAGwB,EAAIrB,GAIrC,OAHAI,EAAMO,EAAIb,EAAI,GACdM,EAAMS,EAAIf,EAAI,GACdM,EAAM/Z,EAAIyZ,EAAI,GACPM,IAGf,IAAIhK,EAAW+J,EACf3c,EAAQiE,QAAU2O,EAClBE,EAAO9S,QAAUA,EAAQiE,S,iCCjfzBjE,EAAQmgB,sBA8CR,WAEI,OADAC,IACOC,EAAQ9Y,MAAMgE,EAAQnD,YA/CjCpI,EAAQsgB,qBAkDR,WACIF,IACAG,EAAOhZ,MAAMgE,EAAQnD,YAnDzB,IAGgC1E,EAH5BsH,EAAU,EAAQ,IAClBwV,GAE4B9c,EAFQ,EAAQ,OAG9BA,EAAIC,WAAaD,EAAM,CACjC,QAAWA,GAGnB,IAAI6H,GAAS,EAAIP,EAAQyV,cAAe,EAAIzV,EAAQQ,aAAe,GAE/D6U,EAAU,SAASK,GACnB,OAAOC,WAAWD,EAFU,IAAM,KAIlCH,EAAS,SAASK,GAClBC,aAAaD,IAEbR,GAA2B,EAAII,EAAWvc,UAAS,WACnD,IAAI6c,EAAgBvV,EAAO4U,uBAAyB5U,EAAOwV,6BAA+BxV,EAAOyV,0BAA4BzV,EAAO0V,wBAA0B1V,EAAO2V,wBACjKC,EAAe5V,EAAO+U,sBAAwB/U,EAAO6V,4BAA8B7V,EAAO8V,yBAA2B9V,EAAO+V,uBAAyB/V,EAAOgW,uBAKhK,GAJIT,GAAiBK,IACjBd,EAAUS,EACVP,EAASY,GAETL,IAAkBK,EAAc,CAChC,IAAIK,EAAmB,GACvBnB,EAAU,SAASK,GACf,IAAIe,EAAYX,EAAcxO,KAAK/G,GAAQ,WACvC,IACI,GAAIkW,KAAaD,EACb,OAEJd,EAASnZ,MAAMnD,KAAMgE,WACvB,eACSoZ,EAAiBC,OAGhC,OAAOA,GAEXlB,EAAS,SAASkB,GACdD,EAAiBC,IAAa,Q,gCCzC1CzhB,EAAQ0hB,eAAiB1hB,EAAQyS,cAAgBzS,EAAQ2S,KAAO3S,EAAQ2hB,aAAe3hB,EAAQ4hB,gBAAkB5hB,EAAQ6hB,WAAa7hB,EAAQ8hB,YAAS,EACvJ,IAAIC,EAAgB,EAAQ,KACxBxhB,EAAQ,EAAQ,GAEhByhB,EAAyB,uBACzBC,EAAkB,4BAUtB,SAASC,EAAehiB,GACpB,MAAO,YAAa,EAAIK,EAAMuE,MAAM5E,IAAU,MAAQA,EAAMA,EAAMqC,OAAS,GAG/E,SAAS4f,EAAe1b,EAAU2b,GAC1B3b,EAASlE,SACT,EAAIwf,EAAchV,MAAMtG,EAASiI,IAAI,GAlBnB,eAkB4C0T,GARtEpiB,EAAQ8hB,OAPK,SAASrb,GAClB,IAAI2b,EAAYT,EAAalb,GAC7B,MAAO,CACHuD,KAAMoY,EAAUvgB,EAChB2M,IAAK4T,EAAUC,IAcvB,IAAIR,EAAa,SAASpb,GAClBA,EAASlE,SACT,EAAIwf,EAAcO,YAAY7b,EAASiI,IAAI,GAvBzB,iBA0B1B1O,EAAQ6hB,WAAaA,EACrB,IAAID,EAAkB,SAASQ,GAK3B,OAJAA,EAAUvgB,EAAIugB,EAAUvgB,GAAK,EAC7BugB,EAAUC,EAAID,EAAUC,GAAK,EAGtB,cAFYH,EAAeE,EAAUvgB,GAAKugB,EAAUvgB,EAAIugB,EAAUvgB,EAAI,MAExC,MADlBqgB,EAAeE,EAAUC,GAAKD,EAAUC,EAAID,EAAUC,EAAI,MAClB,KAE/DriB,EAAQ4hB,gBAAkBA,EAC1B,IAAID,EAAe,SAASlb,GACxB,IAAIzB,EAASyB,EAASlE,QAAS,EAAIwf,EAAchV,MAAMtG,EAASiI,IAAI,GApC9C,gBAoCyE,KAC/F,IAAK1J,EAAQ,CACT,IAIIud,GAJiB9b,EAAS2H,IAAI,cAAgBwT,EAAgB,CAC9D/f,EAAG,EACHwgB,EAAG,KAEqBhgB,MAAM2f,GAC9BQ,EAAOD,GAAUA,EAAO,GACxBA,GACAA,EAASA,EAAO,GAAGE,MAAM,KACrB,OAASD,EACTD,EAASA,EAAOjgB,MAAM,GAAI,KAE1BigB,EAAO9c,KAAK,GACZ8c,EAASA,EAAOjgB,MAAM,EAAG,KAG7BigB,EAAS,CAAC,EAAG,EAAG,GAOpBJ,EAAe1b,EALfzB,EAAS,CACLnD,EAAGW,WAAW+f,EAAO,IACrBF,EAAG7f,WAAW+f,EAAO,IACrB3gB,EAAGY,WAAW+f,EAAO,MAI7B,OAAOvd,GAEXhF,EAAQ2hB,aAAeA,EA4BvB3hB,EAAQ2S,KA3BG,SAASlM,EAAU8H,GAC1B,IAEI6T,EAFApY,EAAOuE,EAASvE,KAChBwE,EAAMD,EAASC,SAEf,IAAWxE,GACXoY,EAAYT,EAAalb,IACf4b,EAAI7T,GAAO,OAEjB,IAAWA,GACX4T,EAAYT,EAAalb,IACf5E,EAAImI,GAAQ,EAOtBmY,EAAe1b,EALf2b,EAAY,CACRvgB,EAAGmI,GAAQ,EACXqY,EAAG7T,GAAO,EACV5M,EAAG,IAKf6E,EAAS2H,IAAI,CACTsU,UAAWd,EAAgBQ,MAE3BF,EAAelY,IAASkY,EAAe1T,KACvCqT,EAAWpb,IAsBnBzG,EAAQyS,cAlBY,SAAShM,EAAUkc,GACnC,IAAIC,EACAC,EAAe,CACf7Y,KAAM,EACNwE,IAAK,EACLkU,UAAW,QAEXC,IACAC,EAAqBnc,EAAS2H,IAAI,cAClCyU,EAAaC,WAAa,QAE9Brc,EAAS2H,IAAIyU,GACbhB,EAAWpb,GACPkc,IACAlc,EAASiI,IAAI,GAAGqU,aAChBtc,EAAS2H,IAAI,aAAcwU,KAiBnC5iB,EAAQ0hB,eAba,SAASsB,GAC1B,IAAIhe,EAASge,EAAgB3gB,MAAM4f,GACnC,GAAKjd,GAAWA,EAAO,GASvB,OANAA,EAASA,EAAO,GAAGyd,MAAM,KACzBzd,EAAS,CACLnD,EAAGW,WAAWwC,EAAO,IACrBqd,EAAG7f,WAAWwC,EAAO,IACrBpD,EAAGY,WAAWwC,EAAO,O,gCC5H7BhF,EAAQiE,aAAU,EAClB,IAAIhB,EAAYC,EAAuB,EAAQ,IAC3C8H,EAAU,EAAQ,IAClBiY,EAAiB/f,EAAuB,EAAQ,KAChDggB,EAAUhgB,EAAuB,EAAQ,KACzCigB,EAAW,EAAQ,IACnB/f,EAAU,EAAQ,GAClB7C,EAAQ,EAAQ,GAChB+C,EAAY,EAAQ,GACpB8H,EAAc,EAAQ,IACtBgY,EAAU,EAAQ,MAClBC,EAAS,EAAQ,KACjBhY,EAAW,EAAQ,KACnBH,EAAYhI,EAAuB,EAAQ,MAC3CogB,EAAgBpgB,EAAuB,EAAQ,MAC/CqgB,EAAS,EAAQ,IACjB9f,EAAY,EAAQ,IACpBJ,EAAU,EAAQ,GAEtB,SAASH,EAAuBQ,GAC5B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACjC,QAAWA,GAInB,SAAS8f,EAAQ9f,GAWb,OARI8f,EADA,mBAAsBC,QAAU,iBAAoBA,OAAOC,SACjD,SAAShgB,GACf,cAAcA,GAGR,SAASA,GACf,OAAOA,GAAO,mBAAsB+f,QAAU/f,EAAIyb,cAAgBsE,QAAU/f,IAAQ+f,OAAOvE,UAAY,gBAAkBxb,IAGlHA,GAEnB,IAAI6H,GAAS,EAAIP,EAAQQ,aACrBmY,GAAkB,EAAIJ,EAAOK,cAAcN,EAAcrf,QAAS,QAClE4f,EAAuB,gBAIvBC,EAA8B,CAC9BC,cAAe,SAAStd,EAAUf,GAC9Be,EAAS2H,IAAI,CACT4V,mBAAoB,SAEpB,iBAAoBte,EAAOW,KAC3BI,EAASlB,SAASG,EAAOW,MAEzB4d,EAASxd,EAAUf,EAAOW,MAE9B,IAAItB,EAAOX,KACPsD,EAAW,IAAIjE,EAAU4D,SACzBrB,EAAcN,EAAOM,YACzBN,EAAOwe,oBAAsB,CACzBxc,SAAUA,EACVyc,OAAQ,WACJpf,EAAKqf,kBAAkB3d,GACnBT,GACA,EAAIvC,EAAUoE,MAAMH,EAAU1B,GAAa2B,QAAO,WAC9C5C,EAAKsf,SAAS5d,EAAUf,MAG5BX,EAAKsf,SAAS5d,EAAUf,GAE5BgC,EAAS4c,YAAY7d,EAAU,CAACf,EAAQe,MAGhDrC,KAAKmgB,2BAA2B9d,EAAUf,GAAQ8e,MAAK,WACnD9e,EAAOwe,oBAAoBC,YAC5BM,MAAK,WACJ/c,EAASgd,WAAWje,EAAU,CAACf,EAAQe,OAEtCf,EAAOmE,UACRnE,EAAOwe,oBAAoBC,SAE/B1d,EAAS2H,IAAI,cAEjBuW,QAAS,SAASle,EAAUf,GAExB,OADAtB,KAAKwgB,gBAAgBne,EAAUf,GACxBA,EAAOwe,oBAAoBxc,SAASJ,WAE/Cid,2BAA4B,SAAS9d,EAAUf,GAC3C,IAKImf,EALA9f,EAAOX,KACP0gB,EAAYC,KAAKC,MAAQtf,EAAOc,MAChCkB,EAAW,IAAIjE,EAAU4D,SACzB4d,EAAqB,IAAIxhB,EAAU4D,SACnC6d,EAA8B,IAAIzhB,EAAU4D,SAE5C8d,GAA6B,EAAI9Z,EAAS+Z,0BAA4B,QAC1E1f,EAAOwe,oBAAoBmB,QAAU,WACjCxE,aAAagE,GACbhE,aAAayE,GACbrC,EAAehf,QAAQshB,IAAI9e,EAAU0e,GACrClC,EAAehf,QAAQshB,IAAI9e,EAAUkd,IAEzCV,EAAehf,QAAQuhB,IAAI/e,EAAU0e,GAA4B,WACzDJ,KAAKC,MAAQF,GAAapf,EAAOmE,UACjCob,EAAmBQ,YAG3BxC,EAAehf,QAAQshB,IAAI9e,EAAUkd,GACrCV,EAAehf,QAAQyhB,GAAGjf,EAAUkd,GAAiB,WACjD5e,EAAKkC,KAAKR,EAAUf,GACpBgC,EAAS+d,YAEb,IAAIH,EAAyB3E,YAAW,WACpCkE,EAAyBlE,YAAW,WAChCuE,EAA4BO,WAC7B/f,EAAOmE,SAAWnE,EAAOc,MAAQmf,EAAGC,+BACvC,EAAIniB,EAAUoE,MAAMod,EAAoBC,GAA6BT,KAAK,WACtE/c,EAASE,WACXie,KAAKzhB,UAEX,OAAOsD,EAASJ,WAEpBsd,gBAAiB,SAASne,EAAUf,GAChCe,EAAS2H,IAAI,CACT4V,mBAAoB,MACpB8B,gBAAiBpgB,EAAOc,MAAQ,KAChCuf,mBAAoBrgB,EAAOmE,SAAW,KACtCmc,yBAA0BtgB,EAAOvF,SAEjC,iBAAoBuF,EAAOY,GAC3BG,EAAS,GAAGwf,WAAa,IAAMvgB,EAAOY,GAElCZ,EAAOY,IACP2d,EAASxd,EAAUf,EAAOY,KAItC8d,kBAAmB,SAAS3d,GACxBA,EAAS2H,IAAI,aAAc,SAE/BiW,SAAU,SAAS5d,EAAUf,GACzBA,EAAOwe,oBAAoBmB,UACvB,iBAAoB3f,EAAOW,OAC3BI,EAASU,YAAYzB,EAAOW,MAC5BI,EAASU,YAAYzB,EAAOY,MAGpCW,KAAM,SAASR,EAAUf,EAAQsB,GACxBtB,IAGDsB,EACAtB,EAAOwe,oBAAoBC,WAEvB,EAAI5jB,EAAMmG,eAAehB,EAAOY,MAChC,EAAIhD,EAAU6B,MAAMO,EAAOY,IAAI,SAAS4f,GACpCzf,EAAS2H,IAAI8X,EAAKzf,EAAS2H,IAAI8X,OAGvC9hB,KAAKggB,kBAAkB3d,GACvBrC,KAAKigB,SAAS5d,EAAUf,OAIhCygB,EAAyB,CACzBpC,cAAe,SAAStd,EAAUf,GAC9Bue,EAASxd,EAAUf,EAAOW,OAE9Bse,QAAS,SAASle,EAAUf,GACxB,IAAIgC,EAAW,IAAIjE,EAAU4D,SACzBtC,EAAOX,KACX,OAAKsB,IAEJ,EAAIpC,EAAU6B,MAAMO,EAAOY,IAAI,SAAS8f,QACjC,IAAW1gB,EAAOW,KAAK+f,KACvB1gB,EAAOW,KAAK+f,GAAQrhB,EAAKshB,gBAAgB5f,EAAS2H,IAAIgY,QAG1D1gB,EAAOY,GAAiB,YACxBZ,EAAOW,KAAmB,UAAItB,EAAKuhB,gBAAgB5gB,EAAOW,KAAmB,WAC7EX,EAAOY,GAAiB,UAAIvB,EAAKuhB,gBAAgB5gB,EAAOY,GAAiB,YAE7EZ,EAAO6gB,eAAiB,CACpBjgB,GAAIZ,EAAOY,GACXD,KAAMX,EAAOW,KACbmgB,aAAc9gB,EAAOW,KACrBlG,QAAQ,EAAIijB,EAAQ9iB,qCAAqCoF,EAAOvF,QAChE0J,SAAUnE,EAAOmE,SACjBib,WAAW,IAAKC,MAAM0B,UACtBtC,OAAQ,WACJ/f,KAAKoiB,aAAepiB,KAAKkC,GACzBlC,KAAKsiB,QACL,EAAIrD,EAAO/C,sBAAsB5a,EAAO6gB,eAAeI,kBACvDjf,EAASE,WAEb8e,KAAM,WACF,GAAIhhB,EAAOghB,KACPhhB,EAAOghB,KAAKtiB,KAAKoiB,kBADrB,CAIA,IAAIA,GAAe,EAAIpjB,EAAQ0C,QAAQ,GAAI1B,KAAKoiB,cAC5CA,EAA2B,YAC3BA,EAA2B,WAAI,EAAIljB,EAAUmE,KAAK+e,EAA2B,WAAG,SAAStmB,EAAOkmB,GAC5F,MAAI,cAAgBA,GACT,EAAIhb,EAAYwW,iBAAiB1hB,GAEpC,UAAYkmB,EACL,SAAWlmB,EAAQ,IAEtB,WAAakmB,EAAKQ,OAAO,EAAGR,EAAK7jB,OAAS,GACnC6jB,EAAO,IAAMlmB,EAAQ,YADhC,KAKTwC,KAAK,MAEZ+D,EAAS2H,IAAIoY,MAGjB9gB,EAAOc,OACPd,EAAO6gB,eAAezB,WAAapf,EAAOc,MAC1Cd,EAAO6gB,eAAeM,aAAelG,YAAW,WAC5C5b,EAAK6f,gBAAgBne,EAAUf,KAChCA,EAAOc,QAEVzB,EAAK6f,gBAAgBne,EAAUf,GAE5BgC,EAASJ,WAvDLI,EAAS+d,SAASne,WAyDjCsd,gBAAiB,SAASne,EAAUf,GAChCud,EAAehf,QAAQshB,IAAI9e,EAAUkd,GACrCV,EAAehf,QAAQyhB,GAAGjf,EAAUkd,GAAiB,WAC7Cje,EAAO6gB,iBACP,EAAIlD,EAAO/C,sBAAsB5a,EAAO6gB,eAAeI,qBAG/DviB,KAAK0iB,eAAergB,EAAUf,IAElC4gB,gBAAiB,SAASS,GACtB,IAAI/hB,EAAS,GAeb,OAdA,EAAI1B,EAAU6B,MAAM4hB,EAAgB1kB,MAAM,2BAA2B,SAASP,EAAGklB,GAC7E,IAAIC,GAAgB,EAAI7b,EAAYsW,gBAAgBsF,GAChDE,EAAYF,EAAK3kB,MAAM,kBACvB8kB,EAAaH,EAAK3kB,MAAM,wBACxB4kB,IACAjiB,EAAOod,UAAY6E,GAEnBC,GAAaA,EAAU,KACvBliB,EAAOuN,MAAQ/P,WAAW0kB,EAAU,KAEpCC,GAAcA,EAAW,KACzBniB,EAAOmiB,EAAW,IAAM3kB,WAAW2kB,EAAW,QAG/CniB,GAEXiC,KAAM,SAASR,EAAUf,EAAQsB,GAC7B,IAAIuf,EAAiB7gB,GAAUA,EAAO6gB,eACjCA,KAEJ,EAAIlD,EAAO/C,sBAAsBiG,EAAeI,kBACjD9F,aAAa0F,EAAeM,cACxB7f,GACAuf,EAAepC,gBAEZze,EAAO6gB,iBAElBO,eAAgB,SAASrgB,EAAUf,GAC/B,IAAI6gB,EAAiB7gB,GAAUA,EAAO6gB,eACtC,GAAKA,EAAL,CAGA,IAAIvB,GAAM,IAAKD,MAAM0B,UACrB,GAAIzB,GAAOuB,EAAezB,UAAYyB,EAAe1c,SACjD0c,EAAepC,aADnB,CAIAoC,EAAeC,aAAepiB,KAAKgjB,eAAeb,EAAgBvB,EAAMuB,EAAezB,WACvFyB,EAAeG,OACf,IAAI3hB,EAAOX,KACXmiB,EAAeI,kBAAmB,EAAItD,EAAOlD,wBAAuB,WAChEpb,EAAK+hB,eAAergB,EAAUf,SAGtC0hB,eAAgB,SAASb,EAAgBc,GAmBrC,OAlB2B,SAASC,EAAqBjhB,EAAMC,GAC3D,IAAItB,EAASuiB,MAAMC,QAAQlhB,GAAM,GAAK,GAetC,OANA,EAAIhD,EAAU6B,MAAMmB,GAAI,SAASmhB,EAAUC,GACvC,GAAI,iBAAoBA,IAAgB,IAAUllB,WAAWklB,EAAc,IACvE,OAAO,EAEX1iB,EAAOyiB,GAAY,WAAajE,EAAQkE,GAAgBJ,EAAqBjhB,EAAKohB,GAAWC,GAZ5E,SAASD,GAC1B,IAAI5lB,EAAIwlB,EAAkBd,EAAe1c,SACrCpI,EAAI4lB,EACJxkB,EAAI,EAAIwD,EAAKohB,GACb3kB,EAAIwD,EAAGmhB,GAAYphB,EAAKohB,GACxB1kB,EAAIwjB,EAAe1c,SACvB,OAAO,EAAIuZ,EAAQhjB,WAAWmmB,EAAepmB,OAAtC,CAA8C0B,EAAGJ,EAAGoB,EAAGC,EAAGC,GAM4C4kB,CAAeF,MAEzHziB,EAEJsiB,CAAqBf,EAAelgB,KAAMkgB,EAAejgB,KAEpE+f,gBAAiB,SAASnmB,GACtB,IAAI0nB,EAAeplB,WAAWtC,EAAO,IACrC,OAAI,IAAU0nB,EACH1nB,EAEJ0nB,IAGXC,EAAgC,CAChC9D,cAAe,aACfY,QAAS,WACL,OAAO,IAAKlhB,EAAU4D,UAAUO,UAAUN,WAE9CL,KAAM5D,EAAQykB,KACdC,eAAe,GAefC,EAAsB,SAAStiB,EAAQuiB,EAAeC,EAAUC,IAChE,EAAI7kB,EAAU6B,MAAM,CAAC,OAAQ,OAAO,WAChC,IAAK+iB,EAASxiB,EAAOtB,OACjB,MAAM8e,EAAQjf,QAAQmkB,MAAM,QAASH,EAAe7jB,KAAM+jB,OAIlEE,EAA0B,SAAS3iB,EAAQuiB,GAC3C,OAAOD,EAAoBtiB,EAAQuiB,GAAe,SAASK,GACvD,OAAO,EAAI/nB,EAAMmG,eAAe4hB,KACjC,mBAgBHC,EAAkB,CAClB/Z,IAAK,CACDY,GAAI,gBACJC,GAAI,cAERmZ,OAAQ,CACJpZ,GAAI,aACJC,GAAI,iBAERoZ,MAAO,CACHrZ,GAAI,cACJC,GAAI,gBAERrF,KAAM,CACFoF,GAAI,eACJC,GAAI,gBAGRqZ,EAA6B,CAC7BC,eAAgB,SAASjjB,GACrB2iB,EAAwB3iB,EAAQ,UAEpCF,MAAO,SAASiB,EAAUf,GACtB,IAAIqJ,GAAW,EAAI3D,EAAY0W,QAAQrb,GACvC,GAAI,UAAYf,EAAOZ,KAAM,CACzB,IAAI8jB,EAAoB,YAAcljB,EAAOZ,KAAOY,EAAOW,KAAOX,EAAOY,GACzEsiB,EAAkBra,UAAW,EAAInL,EAAQ0C,QAAQ,CAC7CwJ,GAAI/D,GACLgd,EAAgB7iB,EAAOU,YAC1ByiB,EAAcpiB,EAAUmiB,GAE5BxkB,KAAK0kB,aAAa/Z,EAAUrJ,EAAOW,MACnCjC,KAAK0kB,aAAa/Z,EAAUrJ,EAAOY,KACnC,EAAI8E,EAAYyW,YAAYpb,IAEhCqiB,aAAc,SAAS/Z,EAAUrJ,GAC7BA,EAAOsE,KAAO,SAAUtE,EAASA,EAAOsE,KAAO,MAC/CtE,EAAO8I,IAAM,QAAS9I,EAASA,EAAO8I,IAAM,MAC5CpK,KAAK2kB,iBAAiBha,EAAUrJ,IAEpCqjB,iBAAkB,SAASha,EAAUrJ,GACjC,IAAI6I,EAAW,CACXvE,KAAMtE,EAAOsE,KACbwE,IAAK9I,EAAO8I,YAET9I,EAAOsE,YACPtE,EAAO8I,IACd,IAAIwa,EAAgB5kB,KAAK6kB,kBAAkB1a,EAASvE,WAChD,IAAWgf,EACXza,EAASvE,KAAOgf,EAAgBja,EAAS/E,KAEzCtE,EAAOsE,KAAO,OAGd,KADJgf,EAAgB5kB,KAAK6kB,kBAAkB1a,EAASC,MAE5CD,EAASC,IAAMwa,EAAgBja,EAASP,IAExC9I,EAAO8I,IAAM,EAEjB9I,EAAqB,WAAI,EAAI0F,EAAYwW,iBAAiB,CACtD/f,EAAG0M,EAASvE,KACZqY,EAAG9T,EAASC,OAGpBya,kBAAmB,SAAS/oB,GACxB,IAAI8oB,EACJ,GAAI,iBAAoB9oB,IAAU8oB,EAAgBnF,EAAqB7G,KAAK9c,IACxE,OAAOkc,SAAS4M,EAAc,GAAK,KAAOA,EAAc,KAIhEE,EAA4B,CAC5B1jB,MAAO,SAASiB,EAAUf,GACtB,IAEIyjB,EAFA9iB,EAAOX,EAAOW,KACd+iB,GAAc,EAAI7oB,EAAMmG,eAAeL,GAAQX,EAAOK,yBAA2B,EAAIU,EAAS2H,IAAI,WAAa9B,OAAOjG,GAE1H,OAAQX,EAAOZ,MACX,IAAK,SACDqkB,EAAY,EACZ,MACJ,IAAK,UACDA,EAAY,EACZ,MACJ,QACIA,EAAY7c,OAAO5G,EAAOY,IAElCZ,EAAOW,KAAO,CACVgjB,WAAY,UACZpf,QAASmf,GAEb1jB,EAAOY,GAAK,CACR2D,QAASkf,KA6BjBG,EAAyB,CACzBC,OAlI8B,CAC9B/jB,MAAO,cAkIPgkB,MAAOd,EACPe,QAASf,EACTgB,SAAUhB,EACViB,KAAMT,EACNU,OAAQV,EACRW,QAASX,EACTY,IAjC2B,CAC3BnB,eAAgB,SAASjjB,GACrB2iB,EAAwB3iB,EAAQ,QAEpCF,MAAO,SAASiB,EAAUf,GACtB,IAAIW,EAAOX,EAAOW,KACdC,EAAKZ,EAAOY,GACZ8iB,EAAc,YAAa/iB,EAAOA,EAAK4D,QAAUxD,EAAS2H,IAAI,WAC9D+a,EAAY,YAAa7iB,EAAKA,EAAG2D,QAAU,EAC3C8f,EAAY,UAAW1jB,EAAOA,EAAKkM,MAAQ,EAC3CyX,EAAU,UAAW1jB,EAAKA,EAAGiM,MAAQ,EACzC7M,EAAOW,KAAO,CACV4D,QAASmf,GAEb,IAAIhH,GAAY,EAAIhX,EAAYuW,cAAclb,GAC9Cf,EAAOW,KAAmB,UAAIjC,KAAK6lB,iBAAiB7H,EAAW2H,GAC/DrkB,EAAOY,GAAK,CACR2D,QAASkf,GAEbzjB,EAAOY,GAAiB,UAAIlC,KAAK6lB,iBAAiB7H,EAAW4H,IAEjEC,iBAAkB,SAAS7H,EAAW7P,GAClC,OAAO,EAAInH,EAAYwW,iBAAiBQ,GAAa,SAAW7P,EAAQ,MAY5EnE,IAvI2B,CAC3Bua,eAAgB,SAASjjB,IATC,SAASA,EAAQuiB,GACpCD,EAAoBtiB,EAAQuiB,GAAe,SAASK,GACvD,MAAO,iBAAoBA,IAC5B,YAOC4B,CAAwBxkB,EAAQ,QAEpCF,MAAO,eA4IP2kB,EAAkB,CAClBrlB,KAAM,SACNuB,KAAM,GACNC,GAAI,GACJuD,SAAU,IACV/C,MAAOzD,EAAQykB,KACfsC,SAAU/mB,EAAQykB,KAClB3nB,OAAQ,OACRqG,MAAO,GAEP6jB,EAAmB,CACnBxgB,SAAU,IACV1J,OAAQ,OACRqG,MAAO,GAGX,SAAS8jB,IACL,IACI7jB,EADYrC,KACSkB,QACrBI,EAFYtB,KAEOsB,OAUvB,GATAmjB,EAAcpiB,EAAUf,EAAOW,MAC/BwiB,EAAcpiB,EAAUf,EAAOY,IAJflC,KAKNmmB,aAAa/kB,MAAMiB,EAAUf,GACvCe,EAASsG,KA7dO,aAudA3I,MAOZuhB,EAAGJ,MACH7f,EAAOmE,SAAW,EAClBnE,EAAOc,MAAQ,GATHpC,KAWNomB,SAASzG,cAActd,EAAUf,GACvCA,EAAOoB,MAAO,CACd,IAAIxB,GAAU,EAAI6d,EAASsH,kBAAkBhkB,GAC7Cf,EAAOoB,MAAMS,MAAMnD,KAAM,CAACkB,EAASI,KAG3C,IAUIglB,EAA0B,WAC1B,IAAItlB,EAAYhB,KACZqC,EAAWrB,EAAUE,QACrBI,EAASN,EAAUM,OAEvB,OADAN,EAAUulB,WAAY,EACfvlB,EAAUolB,SAAS7F,QAAQle,EAAUf,GAAQ8e,MAAK,YAf5B,SAASpf,GACtC,IAAIqB,EAAWrB,EAAUE,QACrBI,EAASN,EAAUM,OAEvB,GADAe,EAAS6b,WA3eO,cA4eZ5c,EAAO0kB,SAAU,CACjB,IAAI9kB,GAAU,EAAI6d,EAASsH,kBAAkBhkB,GAC7Cf,EAAO0kB,SAAS7iB,MAAMnD,KAAM,CAACkB,EAASI,IAE1CN,EAAUsC,SAAS4c,YAAYlgB,KAAM,CAACqC,EAAUf,IAQ5CklB,CAA2BxlB,MAC5Bqf,MAAK,WACJrf,EAAUsC,SAASgd,WAAWtgB,KAAM,CAACqC,EAAUf,QAGnDmlB,EAAyB,SAAS7jB,GAClC,IACIP,EADYrC,KACSkB,QACrBI,EAFYtB,KAEOsB,OACvBmb,aAHgBzc,KAGO0mB,cAHP1mB,KAIDumB,WAJCvmB,KAKF0C,QALE1C,KAONomB,SAASvjB,KAAKR,EAAUf,EAAQsB,IAE1C+jB,GAAoB,EAAIxH,EAAOK,cAAcN,EAAcrf,QAAS,sBAUpE0C,EAAkB,SAASrB,EAASV,GACpC,IAAIomB,EAAgB,QAAUpmB,EAAcE,KAAOulB,EAAmBF,EAClEzkB,GAAS,EAAItC,EAAQ0C,SAAQ,EAAM,GAAIklB,EAAepmB,GACtD2lB,EArFuB,SAAS7kB,GACpC,IAAIV,EAASskB,EAAuB5jB,EAAOZ,MAC3C,IAAKE,EACD,MAAMke,EAAQjf,QAAQmkB,MAAM,QAAS1iB,EAAOZ,MAEhD,OAAOE,EAgFYimB,CAAyBvlB,GACxC8kB,EAhQmB,SAAS9kB,GAChCA,EAASA,GAAU,GACnB,IAAIwlB,EAAsB,CACtBpI,YAAY,EAAIzX,EAASyX,cAAgBgB,EAA8BqC,EACvEgF,MAAOhF,EACPiF,YAAavD,GAEb2C,EAAW9kB,EAAO8kB,UAAY,aAIlC,MAHI,QAAU9kB,EAAOZ,OAAS,EAAIuG,EAASyX,gBACvC0H,EAAW,eAERU,EAAoBV,GAqPZa,CAAqB3lB,GAChCN,EAAY,CACZE,SAAS,EAAIrC,EAAUgB,SAASqB,GAChCI,OAAQA,EACR6kB,aAAcA,EACdC,SAAUA,EACVzC,cAAeyC,EAASzC,cACxBviB,MAAO8kB,EACPxjB,MAAO4jB,EACPzjB,KAAM4jB,EACNnjB,SAAU,IAAIjE,EAAU4D,UAM5B,OAJI,EAAI9G,EAAMqC,YAAY2nB,EAAa5B,iBACnC4B,EAAa5B,eAAejjB,GA1BP,SAASN,GAClC6d,EAAehf,QAAQshB,IAAIngB,EAAUE,QAASylB,GAC9C9H,EAAehf,QAAQyhB,GAAGtgB,EAAUE,QAASylB,GAAmB,WAC5DpF,EAAG1e,KAAK7B,EAAUE,YAEtBF,EAAUsC,SAASC,QAAO,WACtBsb,EAAehf,QAAQshB,IAAIngB,EAAUE,QAASylB,MAsBlDO,CAAuBlmB,GAChBA,GAqBX,SAASmmB,EAAiB9kB,GACtB,OAAOA,EAASsG,KA1jBC,gBA0jBuB,GAM5C,IAAIye,EAAuB,SAAS/kB,GAChCA,EAAS6b,WAjkBQ,gBAokBrB,SAASmJ,EAAYhlB,GACjB,QAASA,EAASsG,KAtkBF,cAykBpB,SAAS2e,EAAwBjlB,EAAUklB,GAEvC,IADAA,EAAYJ,EAAiB9kB,IACdlE,OAAf,CAGA,IAAI6C,EAAYumB,EAAUC,QACtB,IAAMD,EAAUppB,QAChBipB,EAAqB/kB,GAS7B,SAA0BrB,GACtBA,EAAUI,QACNmgB,EAAGJ,KAAOngB,EAAU2iB,cACpB3iB,EAAU0B,QAEV1B,EAAU0lB,aAAenK,YAAW,WAChCvb,EAAU0B,WAGlB,OAAO1B,EAAUsC,SAASJ,UAhB1BukB,CAAiBzmB,GAAWof,MAAK,WACxBiH,EAAYhlB,IACbilB,EAAwBjlB,OAiBpC,SAASoiB,EAAcpiB,EAAUf,GAC7B,GAAKA,GAAWA,EAAO6I,SAAvB,CAGA,IAAIuC,GAAM,EAAI7N,EAAUgB,SAASsH,GAC7BvB,EAAO,EACPwE,EAAM,EACND,EAAWrD,EAAUjH,QAAQ4O,UAAUpM,EAAUf,EAAO6I,UACxDX,EAASnH,EAASmH,SAClBke,EAAkBrlB,EAAS8H,WAC3Bud,EAAgBtd,IAAMZ,EAAOY,MAC7BA,EAAMsC,EAAIZ,aAEV4b,EAAgB9hB,KAAO4D,EAAO5D,OAC9BA,EAAO8G,EAAIb,eACd,EAAI7M,EAAQ0C,QAAQJ,EAAQ,CACzBsE,KAAMuE,EAAStC,EAAE8C,SAAWnB,EAAO5D,KAAO8hB,EAAgB9hB,KAAOA,EACjEwE,IAAKD,EAASrC,EAAE6C,SAAWnB,EAAOY,IAAMsd,EAAgBtd,IAAMA,WAE3D9I,EAAO6I,UAGlB,SAAS0V,EAASxd,EAAUslB,IACxB,EAAIzoB,EAAU6B,MAAM4mB,GAAO,SAAS7F,EAAKhmB,GACrC,IACIuG,EAAS2H,IAAI8X,GAAK,EAAI3lB,EAAMqC,YAAY1C,GAASA,IAAUA,GAC7D,MAAO8rB,QAGjB,IAkBIrG,EAAK,CACLJ,KAAK,EACL0G,eAAgB3C,EAChB3E,QAhHU,SAASrf,EAASI,GAC5B,IAAIe,GAAW,EAAIxD,EAAUgB,SAASqB,GACtC,IAAKmB,EAASlE,OACV,OAAO,IAAKkB,EAAU4D,UAAUO,UAAUN,UAE9C,IAAIlC,EAAYuB,EAAgBF,EAAUf,GAE1C,OAGJ,SAA8Be,EAAUrB,GACpC,IAAIumB,EAAYJ,EAAiB9kB,IAYrC,SAA4BA,EAAUklB,GAClCllB,EAASsG,KA9jBQ,cA8jBa4e,IAZ9BO,CAAmBzlB,EAAUklB,GAC7BA,EAAUlmB,KAAKL,GACVqmB,EAAYhlB,IACbilB,EAAwBjlB,EAAUklB,GATtCQ,CAAqB1lB,EAAUrB,GACxBA,EAAUsC,SAASJ,WA0G1BX,gBAAiBA,EACjB8kB,YAAaA,EACbxkB,KAxBO,SAAS3B,EAAS0B,GACzB,IAAIP,GAAW,EAAIxD,EAAUgB,SAASqB,GAClCqmB,EAAYJ,EAAiB9kB,IACjC,EAAInD,EAAU6B,MAAMwmB,GAAW,SAASS,EAAGhnB,GACvCA,EAAUM,OAAOc,MAAQ,EACzBpB,EAAUM,OAAOmE,SAAW,EAC5BzE,EAAU2iB,eAAgB,KAEzB0D,EAAYhlB,IACbilB,EAAwBjlB,EAAUklB,GAEtC,IAAIvmB,EAAYqB,EAASsG,KA7oBT,cA8oBZ3H,GACAA,EAAU6B,KAAKD,GAEnBP,EAAS6b,WAjpBO,cAkpBhBkJ,EAAqB/kB,IASrBmf,6BAA8B,KAE9BhT,EAAW+S,EACf3lB,EAAQiE,QAAU2O,EAClBE,EAAO9S,QAAUA,EAAQiE,QACzB6O,EAAO9S,QAAQiE,QAAU6O,EAAO9S","file":"vendors~58910ce6.0cb9fb57f5f2e6d24832.bundle.js","sourcesContent":["/**\r\n * DevExtreme (animation/easing.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.setEasing = setEasing;\r\nexports.getEasing = getEasing;\r\nexports.convertTransitionTimingFuncToEasing = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var bezierY = function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n var findXFor = function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n };\r\n return function(t) {\r\n return bezierY(findXFor(t))\r\n }\r\n};\r\nvar easing = {};\r\nvar convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!(0, _type.isFunction)(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexports.convertTransitionTimingFuncToEasing = convertTransitionTimingFuncToEasing;\r\n\r\nfunction setEasing(value) {\r\n easing = value\r\n}\r\n\r\nfunction getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (animation/transition_executor/transition_executor.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TransitionExecutor = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _fx = _interopRequireDefault(require(\"../fx\"));\r\nvar _presets = require(\"../presets/presets\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar directionPostfixes = {\r\n forward: \" dx-forward\",\r\n backward: \" dx-backward\",\r\n none: \" dx-no-direction\",\r\n undefined: \" dx-no-direction\"\r\n};\r\nvar DX_ANIMATING_CLASS = \"dx-animating\";\r\nvar TransitionExecutor = _class.default.inherit({\r\n ctor: function() {\r\n this._accumulatedDelays = {\r\n enter: 0,\r\n leave: 0\r\n };\r\n this._animations = [];\r\n this.reset()\r\n },\r\n _createAnimations: function($elements, initialConfig, configModifier, type) {\r\n var that = this;\r\n var result = [];\r\n configModifier = configModifier || {};\r\n var animationConfig = this._prepareElementAnimationConfig(initialConfig, configModifier, type);\r\n if (animationConfig) {\r\n $elements.each(function() {\r\n var animation = that._createAnimation((0, _renderer.default)(this), animationConfig, configModifier);\r\n if (animation) {\r\n animation.element.addClass(DX_ANIMATING_CLASS);\r\n animation.setup();\r\n result.push(animation)\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n _prepareElementAnimationConfig: function(config, configModifier, type) {\r\n var result;\r\n if (\"string\" === typeof config) {\r\n var presetName = config;\r\n config = _presets.presets.getPreset(presetName)\r\n }\r\n if (!config) {\r\n result = void 0\r\n } else {\r\n if ((0, _type.isFunction)(config[type])) {\r\n result = config[type]\r\n } else {\r\n result = (0, _extend.extend)({\r\n skipElementInitialStyles: true,\r\n cleanupWhen: this._completePromise\r\n }, config, configModifier);\r\n if (!result.type || \"css\" === result.type) {\r\n var cssClass = \"dx-\" + type;\r\n var extraCssClasses = (result.extraCssClasses ? \" \" + result.extraCssClasses : \"\") + directionPostfixes[result.direction];\r\n result.type = \"css\";\r\n result.from = (result.from || cssClass) + extraCssClasses;\r\n result.to = result.to || cssClass + \"-active\"\r\n }\r\n result.staggerDelay = result.staggerDelay || 0;\r\n result.delay = result.delay || 0;\r\n if (result.staggerDelay) {\r\n result.delay += this._accumulatedDelays[type];\r\n this._accumulatedDelays[type] += result.staggerDelay\r\n }\r\n }\r\n }\r\n return result\r\n },\r\n _createAnimation: function($element, animationConfig, configModifier) {\r\n var result;\r\n if ((0, _type.isPlainObject)(animationConfig)) {\r\n result = _fx.default.createAnimation($element, animationConfig)\r\n } else {\r\n if ((0, _type.isFunction)(animationConfig)) {\r\n result = animationConfig($element, configModifier)\r\n }\r\n }\r\n return result\r\n },\r\n _startAnimations: function() {\r\n var animations = this._animations;\r\n for (var i = 0; i < animations.length; i++) {\r\n animations[i].start()\r\n }\r\n },\r\n _stopAnimations: function(jumpToEnd) {\r\n var animations = this._animations;\r\n for (var i = 0; i < animations.length; i++) {\r\n animations[i].stop(jumpToEnd)\r\n }\r\n },\r\n _clearAnimations: function() {\r\n var animations = this._animations;\r\n for (var i = 0; i < animations.length; i++) {\r\n animations[i].element.removeClass(DX_ANIMATING_CLASS)\r\n }\r\n this._animations.length = 0\r\n },\r\n reset: function() {\r\n this._accumulatedDelays.enter = 0;\r\n this._accumulatedDelays.leave = 0;\r\n this._clearAnimations();\r\n this._completeDeferred = new _deferred.Deferred;\r\n this._completePromise = this._completeDeferred.promise()\r\n },\r\n enter: function($elements, animationConfig, configModifier) {\r\n var animations = this._createAnimations($elements, animationConfig, configModifier, \"enter\");\r\n this._animations.push.apply(this._animations, animations)\r\n },\r\n leave: function($elements, animationConfig, configModifier) {\r\n var animations = this._createAnimations($elements, animationConfig, configModifier, \"leave\");\r\n this._animations.push.apply(this._animations, animations)\r\n },\r\n start: function() {\r\n var that = this;\r\n var result;\r\n if (!this._animations.length) {\r\n that.reset();\r\n result = (new _deferred.Deferred).resolve().promise()\r\n } else {\r\n var animationDeferreds = (0, _iterator.map)(this._animations, function(animation) {\r\n var result = new _deferred.Deferred;\r\n animation.deferred.always(function() {\r\n result.resolve()\r\n });\r\n return result.promise()\r\n });\r\n result = _deferred.when.apply(_renderer.default, animationDeferreds).always(function() {\r\n that._completeDeferred.resolve();\r\n that.reset()\r\n });\r\n (0, _common.executeAsync)(function() {\r\n that._startAnimations()\r\n })\r\n }\r\n return result\r\n },\r\n stop: function(jumpToEnd) {\r\n this._stopAnimations(jumpToEnd)\r\n }\r\n});\r\nexports.TransitionExecutor = TransitionExecutor;\r\n","/**\r\n * DevExtreme (animation/presets/presets.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PresetCollection = exports.presets = void 0;\r\nvar _component = _interopRequireDefault(require(\"../../core/component\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _fx = _interopRequireDefault(require(\"../fx\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar directionPostfixes = {\r\n forward: \" dx-forward\",\r\n backward: \" dx-backward\",\r\n none: \" dx-no-direction\",\r\n undefined: \" dx-no-direction\"\r\n};\r\nvar optionPrefix = \"preset_\";\r\nvar AnimationPresetCollection = _component.default.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._registeredPresets = [];\r\n this.resetToDefaults()\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n defaultAnimationDuration: 400,\r\n defaultAnimationDelay: 0,\r\n defaultStaggerAnimationDuration: 300,\r\n defaultStaggerAnimationDelay: 40,\r\n defaultStaggerAnimationStartDelay: 500\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return _device.phone\r\n },\r\n options: {\r\n defaultStaggerAnimationDuration: 350,\r\n defaultStaggerAnimationDelay: 50,\r\n defaultStaggerAnimationStartDelay: 0\r\n }\r\n }, {\r\n device: function() {\r\n return _devices.default.current().android || _devices.default.real.android\r\n },\r\n options: {\r\n defaultAnimationDelay: 100\r\n }\r\n }])\r\n },\r\n _getPresetOptionName: function(animationName) {\r\n return optionPrefix + animationName\r\n },\r\n _createAndroidSlideAnimationConfig: function(throughOpacity, widthMultiplier) {\r\n var that = this;\r\n var createBaseConfig = function(configModifier) {\r\n return {\r\n type: \"slide\",\r\n delay: void 0 === configModifier.delay ? that.option(\"defaultAnimationDelay\") : configModifier.delay,\r\n duration: void 0 === configModifier.duration ? that.option(\"defaultAnimationDuration\") : configModifier.duration\r\n }\r\n };\r\n return {\r\n enter: function($element, configModifier) {\r\n var width = $element.parent().width() * widthMultiplier;\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.to = {\r\n left: 0,\r\n opacity: 1\r\n };\r\n if (\"forward\" === direction) {\r\n config.from = {\r\n left: width,\r\n opacity: throughOpacity\r\n }\r\n } else {\r\n if (\"backward\" === direction) {\r\n config.from = {\r\n left: -width,\r\n opacity: throughOpacity\r\n }\r\n } else {\r\n config.from = {\r\n left: 0,\r\n opacity: 0\r\n }\r\n }\r\n }\r\n return _fx.default.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var width = $element.parent().width() * widthMultiplier;\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.from = {\r\n left: 0,\r\n opacity: 1\r\n };\r\n if (\"forward\" === direction) {\r\n config.to = {\r\n left: -width,\r\n opacity: throughOpacity\r\n }\r\n } else {\r\n if (\"backward\" === direction) {\r\n config.to = {\r\n left: width,\r\n opacity: throughOpacity\r\n }\r\n } else {\r\n config.to = {\r\n left: 0,\r\n opacity: 0\r\n }\r\n }\r\n }\r\n return _fx.default.createAnimation($element, config)\r\n }\r\n }\r\n },\r\n _createOpenDoorConfig: function() {\r\n var that = this;\r\n var createBaseConfig = function(configModifier) {\r\n return {\r\n type: \"css\",\r\n extraCssClasses: \"dx-opendoor-animation\",\r\n delay: void 0 === configModifier.delay ? that.option(\"defaultAnimationDelay\") : configModifier.delay,\r\n duration: void 0 === configModifier.duration ? that.option(\"defaultAnimationDuration\") : configModifier.duration\r\n }\r\n };\r\n return {\r\n enter: function($element, configModifier) {\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.delay = \"none\" === direction ? config.delay : config.duration;\r\n config.from = \"dx-enter dx-opendoor-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-enter-active\";\r\n return _fx.default.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.from = \"dx-leave dx-opendoor-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-leave-active\";\r\n return _fx.default.createAnimation($element, config)\r\n }\r\n }\r\n },\r\n _createWinPopConfig: function() {\r\n var that = this;\r\n var baseConfig = {\r\n type: \"css\",\r\n extraCssClasses: \"dx-win-pop-animation\",\r\n duration: that.option(\"defaultAnimationDuration\")\r\n };\r\n return {\r\n enter: function($element, configModifier) {\r\n var config = baseConfig;\r\n var direction = configModifier.direction;\r\n config.delay = \"none\" === direction ? that.option(\"defaultAnimationDelay\") : that.option(\"defaultAnimationDuration\") / 2;\r\n config.from = \"dx-enter dx-win-pop-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-enter-active\";\r\n return _fx.default.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var config = baseConfig;\r\n var direction = configModifier.direction;\r\n config.delay = that.option(\"defaultAnimationDelay\");\r\n config.from = \"dx-leave dx-win-pop-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-leave-active\";\r\n return _fx.default.createAnimation($element, config)\r\n }\r\n }\r\n },\r\n resetToDefaults: function() {\r\n this.clear();\r\n this.registerDefaultPresets();\r\n this.applyChanges()\r\n },\r\n clear: function(name) {\r\n var that = this;\r\n var newRegisteredPresets = [];\r\n (0, _iterator.each)(this._registeredPresets, function(index, preset) {\r\n if (!name || name === preset.name) {\r\n that.option(that._getPresetOptionName(preset.name), void 0)\r\n } else {\r\n newRegisteredPresets.push(preset)\r\n }\r\n });\r\n this._registeredPresets = newRegisteredPresets;\r\n this.applyChanges()\r\n },\r\n registerPreset: function(name, config) {\r\n this._registeredPresets.push({\r\n name: name,\r\n config: config\r\n })\r\n },\r\n applyChanges: function() {\r\n var that = this;\r\n var customRules = [];\r\n (0, _iterator.each)(this._registeredPresets, function(index, preset) {\r\n var rule = {\r\n device: preset.config.device,\r\n options: {}\r\n };\r\n rule.options[that._getPresetOptionName(preset.name)] = preset.config.animation;\r\n customRules.push(rule)\r\n });\r\n this._setOptionsByDevice(customRules)\r\n },\r\n getPreset: function(name) {\r\n var result = name;\r\n while (\"string\" === typeof result) {\r\n result = this.option(this._getPresetOptionName(result))\r\n }\r\n return result\r\n },\r\n registerDefaultPresets: function() {\r\n this.registerPreset(\"pop\", {\r\n animation: {\r\n extraCssClasses: \"dx-android-pop-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"openDoor\", {\r\n animation: this._createOpenDoorConfig()\r\n });\r\n this.registerPreset(\"win-pop\", {\r\n animation: this._createWinPopConfig()\r\n });\r\n this.registerPreset(\"fade\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"slide\", {\r\n device: function() {\r\n return _devices.default.current().android || _devices.default.real.android\r\n },\r\n animation: this._createAndroidSlideAnimationConfig(1, 1)\r\n });\r\n this.registerPreset(\"slide\", {\r\n device: function() {\r\n return !_devices.default.current().android && !_devices.default.real.android\r\n },\r\n animation: {\r\n extraCssClasses: \"dx-slide-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"ios7-slide\", {\r\n animation: {\r\n extraCssClasses: \"dx-ios7-slide-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"overflow\", {\r\n animation: {\r\n extraCssClasses: \"dx-overflow-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"ios7-toolbar\", {\r\n device: function() {\r\n return !_devices.default.current().android && !_devices.default.real.android\r\n },\r\n animation: {\r\n extraCssClasses: \"dx-ios7-toolbar-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"ios7-toolbar\", {\r\n device: function() {\r\n return _devices.default.current().android || _devices.default.real.android\r\n },\r\n animation: this._createAndroidSlideAnimationConfig(0, .4)\r\n });\r\n this.registerPreset(\"stagger-fade\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-slide\", {\r\n animation: {\r\n extraCssClasses: \"dx-slide-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-slide\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-slide-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-drop\", {\r\n animation: {\r\n extraCssClasses: \"dx-drop-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-drop\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-drop-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-rise\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-rise-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-3d-drop\", {\r\n animation: {\r\n extraCssClasses: \"dx-3d-drop-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-zoom\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-zoom-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n })\r\n }\r\n});\r\nexports.PresetCollection = AnimationPresetCollection;\r\nvar animationPresets = new AnimationPresetCollection;\r\nexports.presets = animationPresets;\r\n","/**\r\n * DevExtreme (animation/position.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _position = require(\"../core/utils/position\");\r\nvar _browser = _interopRequireDefault(require(\"../core/utils/browser\"));\r\nvar _translator = require(\"./translator\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale(.+)/;\r\nvar IS_SAFARI = _browser.default.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = (0, _common.splitPair)(raw);\r\n if (pair) {\r\n (0, _iterator.each)(pair, function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else {\r\n if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }\r\n })\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return (0, _common.pairToObject)(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = (0, _common.splitPair)(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = (0, _extend.extend)({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = (0, _renderer.default)(\"
\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo((0, _renderer.default)(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = (0, _renderer.default)(what);\r\n var currentOffset = $what.offset();\r\n var result = (0, _extend.extend)(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = (0, _renderer.default)(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: $what.outerWidth(),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: $what.outerHeight(),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if ( of .preventDefault) {\r\n h.atLocation = of .pageX;\r\n v.atLocation = of .pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = (0, _renderer.default)( of );\r\n if ((0, _type.isWindow)( of [0])) {\r\n h.atLocation = of .scrollLeft();\r\n v.atLocation = of .scrollTop();\r\n if (\"phone\" === _devices.default.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : of .width();\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : of .height()\r\n }\r\n } else {\r\n if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = of .width();\r\n v.atSize = of .height()\r\n } else {\r\n var ofRect = (0, _position.getBoundingRect)( of .get(0));\r\n var o = getOffsetWithoutScale( of );\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, of .outerWidth());\r\n v.atSize = Math.max(ofRect.height, of .outerHeight())\r\n }\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = (0, _renderer.default)(window);\r\n var windowWidth = win.width();\r\n var windowHeight = win.height();\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var hZoomLevel = _support.touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = _support.touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary) {\r\n var $boundary = (0, _renderer.default)(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = $boundary.width();\r\n boundaryHeight = $boundary.height()\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n (0, _extend.extend)(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n currentElement.setAttribute(\"style\", style.replace(scale, \"\"));\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n currentElement.setAttribute(\"style\", style)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = (0, _renderer.default)(what);\r\n if (!options) {\r\n return $what.offset()\r\n }(0, _translator.resetPosition)($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n (0, _translator.move)($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = (0, _renderer.default)(element).get(0);\r\n if ((0, _type.isWindow)(element)) {\r\n return null\r\n } else {\r\n if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n }\r\n return (0, _renderer.default)(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nvar _default = {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (color.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar standardColorNames = {\r\n aliceblue: \"f0f8ff\",\r\n antiquewhite: \"faebd7\",\r\n aqua: \"00ffff\",\r\n aquamarine: \"7fffd4\",\r\n azure: \"f0ffff\",\r\n beige: \"f5f5dc\",\r\n bisque: \"ffe4c4\",\r\n black: \"000000\",\r\n blanchedalmond: \"ffebcd\",\r\n blue: \"0000ff\",\r\n blueviolet: \"8a2be2\",\r\n brown: \"a52a2a\",\r\n burlywood: \"deb887\",\r\n cadetblue: \"5f9ea0\",\r\n chartreuse: \"7fff00\",\r\n chocolate: \"d2691e\",\r\n coral: \"ff7f50\",\r\n cornflowerblue: \"6495ed\",\r\n cornsilk: \"fff8dc\",\r\n crimson: \"dc143c\",\r\n cyan: \"00ffff\",\r\n darkblue: \"00008b\",\r\n darkcyan: \"008b8b\",\r\n darkgoldenrod: \"b8860b\",\r\n darkgray: \"a9a9a9\",\r\n darkgreen: \"006400\",\r\n darkkhaki: \"bdb76b\",\r\n darkmagenta: \"8b008b\",\r\n darkolivegreen: \"556b2f\",\r\n darkorange: \"ff8c00\",\r\n darkorchid: \"9932cc\",\r\n darkred: \"8b0000\",\r\n darksalmon: \"e9967a\",\r\n darkseagreen: \"8fbc8f\",\r\n darkslateblue: \"483d8b\",\r\n darkslategray: \"2f4f4f\",\r\n darkturquoise: \"00ced1\",\r\n darkviolet: \"9400d3\",\r\n deeppink: \"ff1493\",\r\n deepskyblue: \"00bfff\",\r\n dimgray: \"696969\",\r\n dodgerblue: \"1e90ff\",\r\n feldspar: \"d19275\",\r\n firebrick: \"b22222\",\r\n floralwhite: \"fffaf0\",\r\n forestgreen: \"228b22\",\r\n fuchsia: \"ff00ff\",\r\n gainsboro: \"dcdcdc\",\r\n ghostwhite: \"f8f8ff\",\r\n gold: \"ffd700\",\r\n goldenrod: \"daa520\",\r\n gray: \"808080\",\r\n green: \"008000\",\r\n greenyellow: \"adff2f\",\r\n honeydew: \"f0fff0\",\r\n hotpink: \"ff69b4\",\r\n indianred: \"cd5c5c\",\r\n indigo: \"4b0082\",\r\n ivory: \"fffff0\",\r\n khaki: \"f0e68c\",\r\n lavender: \"e6e6fa\",\r\n lavenderblush: \"fff0f5\",\r\n lawngreen: \"7cfc00\",\r\n lemonchiffon: \"fffacd\",\r\n lightblue: \"add8e6\",\r\n lightcoral: \"f08080\",\r\n lightcyan: \"e0ffff\",\r\n lightgoldenrodyellow: \"fafad2\",\r\n lightgrey: \"d3d3d3\",\r\n lightgreen: \"90ee90\",\r\n lightpink: \"ffb6c1\",\r\n lightsalmon: \"ffa07a\",\r\n lightseagreen: \"20b2aa\",\r\n lightskyblue: \"87cefa\",\r\n lightslateblue: \"8470ff\",\r\n lightslategray: \"778899\",\r\n lightsteelblue: \"b0c4de\",\r\n lightyellow: \"ffffe0\",\r\n lime: \"00ff00\",\r\n limegreen: \"32cd32\",\r\n linen: \"faf0e6\",\r\n magenta: \"ff00ff\",\r\n maroon: \"800000\",\r\n mediumaquamarine: \"66cdaa\",\r\n mediumblue: \"0000cd\",\r\n mediumorchid: \"ba55d3\",\r\n mediumpurple: \"9370d8\",\r\n mediumseagreen: \"3cb371\",\r\n mediumslateblue: \"7b68ee\",\r\n mediumspringgreen: \"00fa9a\",\r\n mediumturquoise: \"48d1cc\",\r\n mediumvioletred: \"c71585\",\r\n midnightblue: \"191970\",\r\n mintcream: \"f5fffa\",\r\n mistyrose: \"ffe4e1\",\r\n moccasin: \"ffe4b5\",\r\n navajowhite: \"ffdead\",\r\n navy: \"000080\",\r\n oldlace: \"fdf5e6\",\r\n olive: \"808000\",\r\n olivedrab: \"6b8e23\",\r\n orange: \"ffa500\",\r\n orangered: \"ff4500\",\r\n orchid: \"da70d6\",\r\n palegoldenrod: \"eee8aa\",\r\n palegreen: \"98fb98\",\r\n paleturquoise: \"afeeee\",\r\n palevioletred: \"d87093\",\r\n papayawhip: \"ffefd5\",\r\n peachpuff: \"ffdab9\",\r\n peru: \"cd853f\",\r\n pink: \"ffc0cb\",\r\n plum: \"dda0dd\",\r\n powderblue: \"b0e0e6\",\r\n purple: \"800080\",\r\n rebeccapurple: \"663399\",\r\n red: \"ff0000\",\r\n rosybrown: \"bc8f8f\",\r\n royalblue: \"4169e1\",\r\n saddlebrown: \"8b4513\",\r\n salmon: \"fa8072\",\r\n sandybrown: \"f4a460\",\r\n seagreen: \"2e8b57\",\r\n seashell: \"fff5ee\",\r\n sienna: \"a0522d\",\r\n silver: \"c0c0c0\",\r\n skyblue: \"87ceeb\",\r\n slateblue: \"6a5acd\",\r\n slategray: \"708090\",\r\n snow: \"fffafa\",\r\n springgreen: \"00ff7f\",\r\n steelblue: \"4682b4\",\r\n tan: \"d2b48c\",\r\n teal: \"008080\",\r\n thistle: \"d8bfd8\",\r\n tomato: \"ff6347\",\r\n turquoise: \"40e0d0\",\r\n violet: \"ee82ee\",\r\n violetred: \"d02090\",\r\n wheat: \"f5deb3\",\r\n white: \"ffffff\",\r\n whitesmoke: \"f5f5f5\",\r\n yellow: \"ffff00\",\r\n yellowgreen: \"9acd32\"\r\n};\r\nvar standardColorTypes = [{\r\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10)]\r\n }\r\n}, {\r\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d*\\.*\\d+)\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10), parseFloat(colorString[4])]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^hsv\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var v = parseInt(colorString[3], 10);\r\n var rgb = hsvToRgb(h, s, v);\r\n return [rgb[0], rgb[1], rgb[2], 1, [h, s, v]]\r\n }\r\n}, {\r\n re: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var l = parseInt(colorString[3], 10);\r\n var rgb = hslToRgb(h, s, l);\r\n return [rgb[0], rgb[1], rgb[2], 1, null, [h, s, l]]\r\n }\r\n}];\r\nvar _round = Math.round;\r\n\r\nfunction Color(value) {\r\n this.baseColor = value;\r\n var color;\r\n if (value) {\r\n color = String(value).toLowerCase().replace(/ /g, \"\");\r\n color = standardColorNames[color] ? \"#\" + standardColorNames[color] : color;\r\n color = parseColor(color)\r\n }\r\n if (!color) {\r\n this.colorIsInvalid = true\r\n }\r\n color = color || {};\r\n this.r = normalize(color[0]);\r\n this.g = normalize(color[1]);\r\n this.b = normalize(color[2]);\r\n this.a = normalize(color[3], 1, 1);\r\n if (color[4]) {\r\n this.hsv = {\r\n h: color[4][0],\r\n s: color[4][1],\r\n v: color[4][2]\r\n }\r\n } else {\r\n this.hsv = toHsvFromRgb(this.r, this.g, this.b)\r\n }\r\n if (color[5]) {\r\n this.hsl = {\r\n h: color[5][0],\r\n s: color[5][1],\r\n l: color[5][2]\r\n }\r\n } else {\r\n this.hsl = toHslFromRgb(this.r, this.g, this.b)\r\n }\r\n}\r\n\r\nfunction parseColor(color) {\r\n if (\"transparent\" === color) {\r\n return [0, 0, 0, 0]\r\n }\r\n var i = 0;\r\n var ii = standardColorTypes.length;\r\n var str;\r\n for (; i < ii; ++i) {\r\n str = standardColorTypes[i].re.exec(color);\r\n if (str) {\r\n return standardColorTypes[i].process(str)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction normalize(colorComponent, def, max) {\r\n def = def || 0;\r\n max = max || 255;\r\n return colorComponent < 0 || isNaN(colorComponent) ? def : colorComponent > max ? max : colorComponent\r\n}\r\n\r\nfunction toHexFromRgb(r, g, b) {\r\n return \"#\" + (16777216 | r << 16 | g << 8 | b).toString(16).slice(1)\r\n}\r\n\r\nfunction toHsvFromRgb(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var delta = max - min;\r\n var H;\r\n var S;\r\n var V = max;\r\n S = 0 === max ? 0 : 1 - min / max;\r\n if (max === min) {\r\n H = 0\r\n } else {\r\n switch (max) {\r\n case r:\r\n H = 60 * ((g - b) / delta);\r\n if (g < b) {\r\n H += 360\r\n }\r\n break;\r\n case g:\r\n H = 60 * ((b - r) / delta) + 120;\r\n break;\r\n case b:\r\n H = 60 * ((r - g) / delta) + 240\r\n }\r\n }\r\n S *= 100;\r\n V *= 100 / 255;\r\n return {\r\n h: Math.round(H),\r\n s: Math.round(S),\r\n v: Math.round(V)\r\n }\r\n}\r\n\r\nfunction hsvToRgb(h, s, v) {\r\n var index = Math.floor(h % 360 / 60);\r\n var vMin = (100 - s) * v / 100;\r\n var a = (v - vMin) * (h % 60 / 60);\r\n var vInc = vMin + a;\r\n var vDec = v - a;\r\n var r;\r\n var g;\r\n var b;\r\n switch (index) {\r\n case 0:\r\n r = v;\r\n g = vInc;\r\n b = vMin;\r\n break;\r\n case 1:\r\n r = vDec;\r\n g = v;\r\n b = vMin;\r\n break;\r\n case 2:\r\n r = vMin;\r\n g = v;\r\n b = vInc;\r\n break;\r\n case 3:\r\n r = vMin;\r\n g = vDec;\r\n b = v;\r\n break;\r\n case 4:\r\n r = vInc;\r\n g = vMin;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = vMin;\r\n b = vDec\r\n }\r\n return [Math.round(2.55 * r), Math.round(2.55 * g), Math.round(2.55 * b)]\r\n}\r\n\r\nfunction calculateHue(r, g, b, delta) {\r\n var max = Math.max(r, g, b);\r\n switch (max) {\r\n case r:\r\n return (g - b) / delta + (g < b ? 6 : 0);\r\n case g:\r\n return (b - r) / delta + 2;\r\n case b:\r\n return (r - g) / delta + 4\r\n }\r\n}\r\n\r\nfunction toHslFromRgb(r, g, b) {\r\n r = convertTo01Bounds(r, 255);\r\n g = convertTo01Bounds(g, 255);\r\n b = convertTo01Bounds(b, 255);\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var maxMinSum = max + min;\r\n var h;\r\n var s;\r\n var l = maxMinSum / 2;\r\n if (max === min) {\r\n h = s = 0\r\n } else {\r\n var delta = max - min;\r\n if (l > .5) {\r\n s = delta / (2 - maxMinSum)\r\n } else {\r\n s = delta / maxMinSum\r\n }\r\n h = calculateHue(r, g, b, delta);\r\n h /= 6\r\n }\r\n return {\r\n h: _round(360 * h),\r\n s: _round(100 * s),\r\n l: _round(100 * l)\r\n }\r\n}\r\n\r\nfunction makeColorTint(colorPart, h) {\r\n var colorTint = h;\r\n if (\"r\" === colorPart) {\r\n colorTint = h + 1 / 3\r\n }\r\n if (\"b\" === colorPart) {\r\n colorTint = h - 1 / 3\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction modifyColorTint(colorTint) {\r\n if (colorTint < 0) {\r\n colorTint += 1\r\n }\r\n if (colorTint > 1) {\r\n colorTint -= 1\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction hueToRgb(p, q, colorTint) {\r\n colorTint = modifyColorTint(colorTint);\r\n if (colorTint < 1 / 6) {\r\n return p + 6 * (q - p) * colorTint\r\n }\r\n if (colorTint < .5) {\r\n return q\r\n }\r\n if (colorTint < 2 / 3) {\r\n return p + (q - p) * (2 / 3 - colorTint) * 6\r\n }\r\n return p\r\n}\r\n\r\nfunction hslToRgb(h, s, l) {\r\n var r;\r\n var g;\r\n var b;\r\n h = convertTo01Bounds(h, 360);\r\n s = convertTo01Bounds(s, 100);\r\n l = convertTo01Bounds(l, 100);\r\n if (0 === s) {\r\n r = g = b = l\r\n } else {\r\n var q = l < .5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hueToRgb(p, q, makeColorTint(\"r\", h));\r\n g = hueToRgb(p, q, makeColorTint(\"g\", h));\r\n b = hueToRgb(p, q, makeColorTint(\"b\", h))\r\n }\r\n return [_round(255 * r), _round(255 * g), _round(255 * b)]\r\n}\r\n\r\nfunction convertTo01Bounds(n, max) {\r\n n = Math.min(max, Math.max(0, parseFloat(n)));\r\n if (Math.abs(n - max) < 1e-6) {\r\n return 1\r\n }\r\n return n % max / parseFloat(max)\r\n}\r\n\r\nfunction isIntegerBetweenMinAndMax(number, min, max) {\r\n min = min || 0;\r\n max = max || 255;\r\n if (number % 1 !== 0 || number < min || number > max || \"number\" !== typeof number || isNaN(number)) {\r\n return false\r\n }\r\n return true\r\n}\r\nColor.prototype = {\r\n constructor: Color,\r\n highlight: function(step) {\r\n step = step || 10;\r\n return this.alter(step).toHex()\r\n },\r\n darken: function(step) {\r\n step = step || 10;\r\n return this.alter(-step).toHex()\r\n },\r\n alter: function(step) {\r\n var result = new Color;\r\n result.r = normalize(this.r + step);\r\n result.g = normalize(this.g + step);\r\n result.b = normalize(this.b + step);\r\n return result\r\n },\r\n blend: function(blendColor, opacity) {\r\n var other = blendColor instanceof Color ? blendColor : new Color(blendColor);\r\n var result = new Color;\r\n result.r = normalize(_round(this.r * (1 - opacity) + other.r * opacity));\r\n result.g = normalize(_round(this.g * (1 - opacity) + other.g * opacity));\r\n result.b = normalize(_round(this.b * (1 - opacity) + other.b * opacity));\r\n return result\r\n },\r\n toHex: function() {\r\n return toHexFromRgb(this.r, this.g, this.b)\r\n },\r\n getPureColor: function() {\r\n var rgb = hsvToRgb(this.hsv.h, 100, 100);\r\n return new Color(\"rgb(\" + rgb.join(\",\") + \")\")\r\n },\r\n isValidHex: function(hex) {\r\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex)\r\n },\r\n isValidRGB: function(r, g, b) {\r\n if (!isIntegerBetweenMinAndMax(r) || !isIntegerBetweenMinAndMax(g) || !isIntegerBetweenMinAndMax(b)) {\r\n return false\r\n }\r\n return true\r\n },\r\n isValidAlpha: function(a) {\r\n if (isNaN(a) || a < 0 || a > 1 || \"number\" !== typeof a) {\r\n return false\r\n }\r\n return true\r\n },\r\n colorIsInvalid: false,\r\n fromHSL: function(hsl) {\r\n var color = new Color;\r\n var rgb = hslToRgb(hsl.h, hsl.s, hsl.l);\r\n color.r = rgb[0];\r\n color.g = rgb[1];\r\n color.b = rgb[2];\r\n return color\r\n }\r\n};\r\nvar _default = Color;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (animation/frame.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.requestAnimationFrame = requestAnimationFrame;\r\nexports.cancelAnimationFrame = cancelAnimationFrame;\r\nvar _window = require(\"../core/utils/window\");\r\nvar _call_once = _interopRequireDefault(require(\"../core/utils/call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.hasWindow)() ? (0, _window.getWindow)() : {};\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = (0, _call_once.default)(function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n if (nativeRequest && !nativeCancel) {\r\n var canceledRequests = {};\r\n request = function(callback) {\r\n var requestId = nativeRequest.call(window, function() {\r\n try {\r\n if (requestId in canceledRequests) {\r\n return\r\n }\r\n callback.apply(this, arguments)\r\n } finally {\r\n delete canceledRequests[requestId]\r\n }\r\n });\r\n return requestId\r\n };\r\n cancel = function(requestId) {\r\n canceledRequests[requestId] = true\r\n }\r\n }\r\n});\r\n\r\nfunction requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\n\r\nfunction cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (animation/translator.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.parseTranslate = exports.resetPosition = exports.move = exports.getTranslate = exports.getTranslateCss = exports.clearCache = exports.locate = void 0;\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nvar locate = function($element) {\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\nexports.locate = locate;\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === (0, _type.type)(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n (0, _element_data.data)($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nvar clearCache = function($element) {\r\n if ($element.length) {\r\n (0, _element_data.removeData)($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexports.clearCache = clearCache;\r\nvar getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexports.getTranslateCss = getTranslateCss;\r\nvar getTranslate = function($element) {\r\n var result = $element.length ? (0, _element_data.data)($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexports.getTranslate = getTranslate;\r\nvar move = function($element, position) {\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else {\r\n if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexports.move = move;\r\nvar resetPosition = function($element, finishTransition) {\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexports.resetPosition = resetPosition;\r\nvar parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\nexports.parseTranslate = parseTranslate;\r\n","/**\r\n * DevExtreme (animation/fx.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _element = require(\"../core/element\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _translator = require(\"./translator\");\r\nvar _easing = require(\"./easing\");\r\nvar _frame = require(\"./frame\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _position = _interopRequireDefault(require(\"./position\"));\r\nvar _remove_event = _interopRequireDefault(require(\"../core/remove_event\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar removeEventName = (0, _index.addNamespace)(_remove_event.default, \"dxFX\");\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new _deferred.Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n (0, _deferred.when)(deferred, cleanupWhen).always(function() {\r\n that._cleanup($element, config)\r\n })\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done(function() {\r\n config.transitionAnimation.finish()\r\n }).fail(function() {\r\n deferred.rejectWith($element, [config, $element])\r\n });\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new _deferred.Deferred;\r\n var transitionEndFired = new _deferred.Deferred;\r\n var simulatedTransitionEndFired = new _deferred.Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = (0, _support.transitionEndEventName)() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n _events_engine.default.off($element, transitionEndEventFullName);\r\n _events_engine.default.off($element, removeEventName)\r\n };\r\n _events_engine.default.one($element, transitionEndEventFullName, function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n });\r\n _events_engine.default.off($element, removeEventName);\r\n _events_engine.default.on($element, removeEventName, function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n });\r\n var waitForJSCompleteTimer = setTimeout(function() {\r\n simulatedEndEventTimer = setTimeout(function() {\r\n simulatedTransitionEndFired.reject()\r\n }, config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n (0, _deferred.when)(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n });\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else {\r\n if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if ((0, _type.isPlainObject)(config.to)) {\r\n (0, _iterator.each)(config.to, function(key) {\r\n $element.css(key, $element.css(key))\r\n })\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new _deferred.Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }(0, _iterator.each)(config.to, function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n });\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: (0, _easing.convertTransitionTimingFuncToEasing)(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n (0, _frame.cancelAnimationFrame)(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = (0, _extend.extend)({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = (0, _iterator.map)(currentValue[TRANSFORM_PROP], function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return (0, _translator.getTranslateCss)(value)\r\n } else {\r\n if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else {\r\n if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n }\r\n }\r\n }).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout(function() {\r\n that._startAnimation($element, config)\r\n }, config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n _events_engine.default.off($element, removeEventName);\r\n _events_engine.default.on($element, removeEventName, function() {\r\n if (config.frameAnimation) {\r\n (0, _frame.cancelAnimationFrame)(config.frameAnimation.animationFrameId)\r\n }\r\n });\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n (0, _iterator.each)(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), function(i, part) {\r\n var translateData = (0, _translator.parseTranslate)(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n });\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }(0, _frame.cancelAnimationFrame)(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = (0, _frame.requestAnimationFrame)(function() {\r\n that._animationStep($element, config)\r\n })\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n var calcValueRecursively = function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n var calcEasedValue = function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return (0, _easing.getEasing)(frameAnimation.easing)(x, t, b, c, d)\r\n };\r\n (0, _iterator.each)(to, function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue, 10)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === _typeof(endPropValue) ? calcValueRecursively(from[propName], endPropValue) : calcEasedValue(propName)\r\n });\r\n return result\r\n };\r\n return calcValueRecursively(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value, 10);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n },\r\n stop: _common.noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: (0, _support.transition)() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !(0, _support.transition)()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n (0, _iterator.each)([\"from\", \"to\"], function() {\r\n if (!validate(config[this])) {\r\n throw _errors.default.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n })\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, function(target) {\r\n return (0, _type.isPlainObject)(target)\r\n }, \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, function(target) {\r\n return \"string\" === typeof target\r\n }, \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = (0, _translator.locate)($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = (0, _extend.extend)({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n (0, _translator.clearCache)($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = (0, _translator.getTranslateCss)({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var fromOpacity = (0, _type.isPlainObject)(from) ? config.skipElementInitialStyles ? 0 : $element.css(\"opacity\") : String(from);\r\n var toOpacity;\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0;\r\n break;\r\n default:\r\n toOpacity = String(config.to)\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = (0, _translator.getTranslate)($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return (0, _translator.getTranslateCss)(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw _errors.default.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: _common.noop,\r\n complete: _common.noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n animation.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, animation);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n animation.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = (0, _element.getPublicElement)($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = (0, _element.getPublicElement)($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done(function() {\r\n onElementAnimationComplete(animation)\r\n }).fail(function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n })\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n clearTimeout(animation.startTimeout);\r\n if (!animation.isStarted) {\r\n animation.start()\r\n }\r\n animation.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = (0, _index.addNamespace)(_remove_event.default, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n _events_engine.default.off(animation.element, scopedRemoveEvent);\r\n _events_engine.default.on(animation.element, scopedRemoveEvent, function() {\r\n fx.stop(animation.element)\r\n });\r\n animation.deferred.always(function() {\r\n _events_engine.default.off(animation.element, scopedRemoveEvent)\r\n })\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = (0, _extend.extend)(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: (0, _renderer.default)(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new _deferred.Deferred\r\n };\r\n if ((0, _type.isFunction)(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = (0, _renderer.default)(element);\r\n if (!$element.length) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done(function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n })\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout(function() {\r\n animation.start()\r\n })\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = (0, _renderer.default)(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = _position.default.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }(0, _extend.extend)(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n (0, _iterator.each)(props, function(key, value) {\r\n try {\r\n $element.css(key, (0, _type.isFunction)(value) ? value() : value)\r\n } catch (e) {}\r\n })\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = (0, _renderer.default)(element);\r\n var queueData = getAnimQueueData($element);\r\n (0, _iterator.each)(queueData, function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n });\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nvar _default = fx;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n"],"sourceRoot":""}