{"version":3,"sources":["webpack:///./node_modules/@aurelia-ux/button/dist/native-modules/ux-button-theme.js","webpack:///./node_modules/@aurelia-ux/button/dist/native-modules/index.js","webpack:///./node_modules/@aurelia-ux/button/dist/native-modules/ux-button.js","webpack:///./node_modules/@aurelia-ux/button/dist/native-modules/ux-button.css","webpack:///./node_modules/@aurelia-ux/button/dist/native-modules/ux-button.html","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-theme.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/index.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-action-row.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-action-row.html","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-content.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-content.html","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-footer.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-footer.html","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-header.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-header.html","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-separator.js","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card-separator.html","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card.css","webpack:///./node_modules/@aurelia-ux/card/dist/native-modules/ux-card.html","webpack:///./node_modules/@aurelia-ux/checkbox/dist/native-modules/ux-checkbox-theme.js","webpack:///./node_modules/@aurelia-ux/checkbox/dist/native-modules/index.js","webpack:///./node_modules/@aurelia-ux/checkbox/dist/native-modules/ux-checkbox.js","webpack:///./node_modules/@aurelia-ux/checkbox/dist/native-modules/ux-checkbox.css","webpack:///./node_modules/@aurelia-ux/checkbox/dist/native-modules/ux-checkbox.html","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-input-theme.js","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-theme.js","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/index.js","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip.js","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-input.js","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-input.css","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-input.html","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-list.js","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-list.css","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip-list.html","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip.css","webpack:///./node_modules/@aurelia-ux/chip-input/dist/native-modules/ux-chip.html","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/colors/swatches.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/colors/shadows.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/designs/ios-design.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/platforms/ios.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/designs/material-design.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/platforms/android.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/hosts/cordova.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/hosts/web.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/hosts/electron.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/styles/global-style-engine.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/ux-configuration.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/designs/design-processor.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/aurelia-ux.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/components/boolean-attr-binding-behavior.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/designs/design-attributes.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/effects/element-rect.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/effects/paper-wave.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/effects/paper-ripple.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/components/html-attributes.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/components/background-color-parent.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/styles/style-controller.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/styles/style-engine.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/index.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/attributes/ux-size-attribute.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/components/ux-choice-attribute.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/components/ux-choice-container-attribute.js","webpack:///./node_modules/@aurelia-ux/core/dist/native-modules/effects/paper-ripple.css"],"names":["UxButtonTheme","this","themeKey","configure","config","globalResources","UxButton","element","styleEngine","disabled","ripple","prototype","bind","button","setAttribute","themeChanged","theme","typeChanged","type","sizeChanged","size","effectChanged","effect","newValue","_a","typeClasses","classList","remove","apply","add","includes","sizeClasses","effectClasses","applyTheme","disabledChanged","removeAttribute","onMouseDown","e","contains","appendChild","$","center","round","downAction","onMouseUp","upAction","Element","exports","___CSS_LOADER_API_IMPORT___","push","module","i","UxCardTheme","UxCard","xsChanged","xs","smChanged","sm","mdChanged","md","lgChanged","lg","xlChanged","xl","value","order","orderChanged","UxCardActionRow","UxCardContent","UxCardFooter","UxCardHeader","colorChanged","color","UxCardSeparator","hasAttribute","UxCheckboxTheme","container","get","registerUxElementConfig","uxCheckBoxConfig","tagName","properties","checked","defaultBindingMode","twoWay","getObserver","_","observerLocator","UxCheckbox","ignoreValueChanges","Object","setPrototypeOf","uxCheckboxElementProto","defineProperty","enumerable","configurable","attributeValue","checkbox","getAttribute","valueChanged","attached","addEventListener","stopEvent","detached","removeEventListener","getChecked","setChecked","dispatchEvent","createCustomEvent","bubbles","getIndeterminate","indeterminate","setIndeterminate","checkedChanged","oldValue","focusedChanged","_this","isDisabled","querySelector","winEvents_1","window","disposeAll","subscribe","stopPropagation","getVm","au","controller","viewModel","create","HTMLElement","set","UxChipInputTheme","UxChipTheme","UxChip","variant","selectedIcon","focused","selected","undefined","isFocused","document","activeElement","closeChip","event","closeEvent","UxChipInput","readonly","separator","chipVariant","dense","chips","Array","split","textbox","chiprepeat","tagrepeat","chipsChanged","variantChanged","focus","toggle","addChip","handleKeyup","key","which","keyCode","stopImmediatePropagation","chip","pop","length","editChip","removeChip","chipIndex","indexOf","splice","chipValue","join","readonlyChanged","style","backgroundColor","label","UxChipList","swatches","red","p50","p100","p200","p300","p400","p500","p600","p700","p800","p900","a100","a200","a400","a700","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","grey","blueGrey","black","white","shadows","depth_0","depth_2dp","depth_3dp","depth_4dp","depth_6dp","depth_8dp","depth_16dp","depth_24dp","depth_focus","appBackground","appForeground","surfaceBackground","surfaceForeground","controlBackground","controlForeground","controlLabelColor","primary","primaryForeground","primaryLight","primaryLightForeground","primaryDark","primaryDarkForeground","accent","accentForeground","accentLight","accentLightForeground","accentDark","accentDarkForeground","disabledBackground","disabledForeground","error","onError","elevationNone","elevation2dp","elevation3dp","elevation4dp","elevation6dp","elevation8dp","elevation16dp","elevation24dp","elevationFocus","IOS","design","Android","Cordova","global","cordova","start","Promise","resolve","getPlatformType","device","platform","toLowerCase","Web","isAvailable","then","Electron","p","process","versions","electron","GlobalStyleEngine","logger","globalStyles","styleTag","createElement","id","appendNode","head","addOrUpdateGlobalStyle","css","tagGroup","warn","index","findIndex","t","globalStyle","updateGlobalStyleElement","removeGlobalStyle","globalStyleGroups","reduce","groups","innerHtml","_i","keys","_b","_c","innerHTML","UXConfiguration","defaultConfiguration","DesignProcessor","globalStyleEngine","setSwatchVariables","swatchClasses","swatch","hasOwnProperty","kebabCase","setDesignVariables","buildInnerHTML","setDesignWatches","designInnerHtml","charAt","slice","replace","match","AureliaUX","use","designProcessor","adapterCreated","adapters","availableHosts","createAdapter","addAdapter","obj","propertyName","descriptor","elAdapters","propertyAdapter","observer","getOrCreateUxElementAdapters","elementAdapters","interceptDetermineDefaultBindingMode","ux","originalFn","determineDefaultBindingMode","attrName","context","call","found","find","x","Error","host","addUxElementObserverAdapter","assign","observerAdapter","bindingModeIntercepted","toUpperCase","BooleanBB","binding","targetObserver","BooleanAttributeObserver","target","targetProperty","unbind","attr","useString","test","getValue","val","setValue","msg","nodeName","processDesignAttributes","__","node","attributes","___","ii","current","name","realName","substring","ElementRect","rect","boundingRect","width","height","Math","max","y","getBoundingClientRect","euclideanDistance","point1","point2","sqrt","pow","distanceToFarthestCorner","ev","l","left","top","w","h","clientX","clientY","PaperWave","options","getComputedStyle","containerRect","recenters","initialOpacity","opacityDecayVelocity","$wave","resetDefaults","touchDownStarted","elapsed","performance","now","touchUpStarted","touchUpElapsed","touchDownElapsed","touchDownElapsedSeconds","touchUpElapsedSeconds","radius","min","MAX_RADIUS","currentTime","mouseInteractionSeconds","actualRadius","abs","opacity","maxRadius","isWaveFullyOpaque","isMaxRadiusReached","translateFraction","translationFraction","startPosition","endPosition","draw","scaleFactor","containerCenter","currentPos","currentPosition","deltaPos","toString","transform","isTouchDown","parentNode","removeChild","PaperRipple","cfg","waves","initTarget","nodeType","some","wave","isAnimationComplete","doc","$background","$waves","addWave","animate","forEach","removeWave","waveIndex","outerOpacity","shouldKeepAnimating","requestAnimationFrame","normalizeBooleanAttribute","attributeName","toLocaleLowerCase","normalizeNumberAttribute","Number","getBackgroundColorThroughParents","parentBackgroundColor","parentElement","getPropertyValue","StyleController","themes","updateTheme","baseTheme","setProperty","generateCssVariableName","removeProperty","uxTheme","removeWatches","processInnerHtml","setWatches","getThemeKeys","themeKeys","propertyKey","generateCssVariable","themePropertyChanged","unsubscribe","uxCorePromise","StyleEngine","styleController","applyThemeGroup","themes_1","getDefaultTheme","callback","boolAttr","initialize","register","aurelia","resources","UxSizeCustomAttribute","observe","disconnect","ResizeObserver","records","contentRect","ElementSizeDirtyChecker","fromView","primaryProperty","rate","timerId","setInterval","currentSize","clearInterval","UxChoiceAttribute","registerChoice","disposeChoice","containerValue","isMultiple","isArray","containerValue_1","selectedChanged","of","UxChoiceContainerAttribute","taskQueue","multiple","choices","isQueued","handleEvent","choiceElement","closest","choice","toggleValue","processValue","multipleChanged","requestProcessValue","queueMicroTask","choicesLength"],"mappings":"4TAAIA,EACA,WACIC,KAAKC,SAAW,UCCjB,SAASC,EAAUC,GACtBA,EAAOC,gBAAgB,iB,4DCJ3B,gHAKIC,GALJ,uBAK8B,WAC1B,SAASA,EAASC,EAASC,GACvBP,KAAKM,QAAUA,EACfN,KAAKO,YAAcA,EACnBP,KAAKQ,UAAW,EAChBR,KAAKS,OAAS,KAwGlB,OAtGAJ,EAASK,UAAUC,KAAO,WAClB,oCAA0B,WAAYX,KAAKQ,WAC3CR,KAAKY,OAAOC,aAAa,WAAY,IAEzCb,KAAKc,aAAad,KAAKe,OACvBf,KAAKgB,YAAYhB,KAAKiB,MACtBjB,KAAKkB,YAAYlB,KAAKmB,MACtBnB,KAAKoB,cAAcpB,KAAKqB,SAE5BhB,EAASK,UAAUM,YAAc,SAAUM,GACvC,IAAIC,EACAC,EAAc,CACd,kBACA,kBACA,qBACA,oBACA,mBAEHD,EAAKvB,KAAKY,OAAOa,WAAWC,OAAOC,MAAMJ,EAAIC,GAC7B,QAAbF,EACAtB,KAAKM,QAAQmB,UAAUG,IAAI,iBAG3B5B,KAAKM,QAAQmB,UAAUC,OAAO,iBAElB,MAAZJ,IAAuE,IAAnDE,EAAYK,SAAS,cAAgBP,KACzDA,EAAW,UAEftB,KAAKY,OAAOa,UAAUG,IAAI,cAAgBN,IAE9CjB,EAASK,UAAUQ,YAAc,SAAUI,GACvC,IAAIC,EACAO,EAAc,CAAC,mBAAoB,oBAAqB,qBAC3DP,EAAKvB,KAAKM,QAAQmB,WAAWC,OAAOC,MAAMJ,EAAIO,GAC/B,MAAZR,IAAuE,IAAnDQ,EAAYD,SAAS,cAAgBP,KACzDA,EAAW,UAEftB,KAAKM,QAAQmB,UAAUG,IAAI,cAAgBN,IAE/CjB,EAASK,UAAUU,cAAgB,SAAUE,GACzC,IAAIC,EACAQ,EAAgB,CAAC,sBACpBR,EAAKvB,KAAKY,OAAOa,WAAWC,OAAOC,MAAMJ,EAAIQ,GAC9B,MAAZT,IAAyE,IAArDS,EAAcF,SAAS,cAAgBP,KAC3DA,EAAW,UAEftB,KAAKY,OAAOa,UAAUG,IAAI,cAAgBN,IAE9CjB,EAASK,UAAUI,aAAe,SAAUQ,GACxB,MAAZA,GAAyC,MAArBA,EAASrB,WAC7BqB,EAASrB,SAAW,UAExBD,KAAKO,YAAYyB,WAAWV,EAAUtB,KAAKM,UAE/CD,EAASK,UAAUuB,gBAAkB,SAAUX,GACvC,oCAA0B,WAAYA,GACtCtB,KAAKY,OAAOC,aAAa,WAAY,IAGrCb,KAAKY,OAAOsB,gBAAgB,aAGpC7B,EAASK,UAAUyB,YAAc,SAAUC,GAYvC,OAXIpC,KAAKY,OAAOa,UAAUY,SAAS,uBACX,OAAhBrC,KAAKS,SACLT,KAAKS,OAAS,IAAI,cAClBT,KAAKY,OAAO0B,YAAYtC,KAAKS,OAAO8B,IAEpCvC,KAAKY,OAAOa,UAAUY,SAAS,oBAC/BrC,KAAKS,OAAO+B,QAAS,EACrBxC,KAAKS,OAAOgC,OAAQ,GAExBzC,KAAKS,OAAOiC,WAAWN,KAEpB,GAEX/B,EAASK,UAAUiC,UAAY,WAI3B,OAHI3C,KAAKY,OAAOa,UAAUY,SAAS,sBAAwC,OAAhBrC,KAAKS,QAC5DT,KAAKS,OAAOmC,YAET,GAEX,YAAW,CACP,YACDvC,EAASK,UAAW,YAAQ,GAC/B,YAAW,CACP,YACDL,EAASK,UAAW,YAAQ,GAC/B,YAAW,CACP,YACDL,EAASK,UAAW,cAAU,GACjC,YAAW,CACP,YACDL,EAASK,UAAW,gBAAY,GACnC,YAAW,CACP,YACDL,EAASK,UAAW,aAAS,GAChCL,EAAW,YAAW,CAClB,iBAAOwC,QAAS,eAChB,wBAAc,aACd,kBAAQ,qBACTxC,GA5GsB,K,oDCH7ByC,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,qsOAAssO,KAE/tOD,EAAOH,QAAUA,G,oDCNjBG,EAAOH,QAAU,ib,uoBCAbK,EACA,WACInD,KAAKC,SAAW,QCMjB,SAASC,EAAUC,GACtBA,EAAOC,gBAAgB,CACnB,YACA,mBACA,uBACA,oBACA,mBACA,0B,wDCfR,8GAKIgD,GALJ,UAK4B,WACxB,SAASA,EAAO9C,EAASC,GACrBP,KAAKM,QAAUA,EACfN,KAAKO,YAAcA,EA2EvB,OAzEA6C,EAAO1C,UAAUC,KAAO,WACF,MAAdX,KAAKe,OACLf,KAAKc,aAAad,KAAKe,OAE3Bf,KAAKqD,UAAUrD,KAAKsD,IACpBtD,KAAKuD,UAAUvD,KAAKwD,IACpBxD,KAAKyD,UAAUzD,KAAK0D,IACpB1D,KAAK2D,UAAU3D,KAAK4D,IACpB5D,KAAK6D,UAAU7D,KAAK8D,KAExBV,EAAO1C,UAAU2C,UAAY,SAAU/B,GACnCtB,KAAKkB,YAAY,KAAMI,IAE3B8B,EAAO1C,UAAU6C,UAAY,SAAUjC,GACnCtB,KAAKkB,YAAY,KAAMI,IAE3B8B,EAAO1C,UAAU+C,UAAY,SAAUnC,GACnCtB,KAAKkB,YAAY,KAAMI,IAE3B8B,EAAO1C,UAAUiD,UAAY,SAAUrC,GACnCtB,KAAKkB,YAAY,KAAMI,IAE3B8B,EAAO1C,UAAUmD,UAAY,SAAUvC,GACnCtB,KAAKkB,YAAY,KAAMI,IAE3B8B,EAAO1C,UAAUQ,YAAc,SAAUC,EAAM4C,GAC3C,IAAK,IAAIb,EAAI,EAAGA,EAAI,GAAIA,IACpBlD,KAAKM,QAAQmB,UAAUC,OAAO,YAAcP,EAAO,IAAM+B,GACzDlD,KAAKM,QAAQmB,UAAUC,OAAO,kBAAoB1B,KAAKgE,MAAQ,IAAM7C,EAAO,IAAM+B,GAEjE,iBAAVa,IACP/D,KAAKM,QAAQmB,UAAUG,IAAI,YAAcT,EAAO,IAAM4C,GAC5B,iBAAf/D,KAAKgE,OACZhE,KAAKM,QAAQmB,UAAUG,IAAI,kBAAoB5B,KAAKgE,MAAQ,IAAM7C,EAAO,IAAM4C,KAI3FX,EAAO1C,UAAUuD,aAAe,WAC5BjE,KAAKqD,UAAUrD,KAAKsD,IACpBtD,KAAKuD,UAAUvD,KAAKwD,IACpBxD,KAAKyD,UAAUzD,KAAK0D,IACpB1D,KAAK2D,UAAU3D,KAAK4D,IACpB5D,KAAK6D,UAAU7D,KAAK8D,KAExBV,EAAO1C,UAAUI,aAAe,SAAUQ,GACtCtB,KAAKO,YAAYyB,WAAWV,EAAUtB,KAAKM,UAE/C,YAAW,CACP,YACD8C,EAAO1C,UAAW,UAAM,GAC3B,YAAW,CACP,YACD0C,EAAO1C,UAAW,UAAM,GAC3B,YAAW,CACP,YACD0C,EAAO1C,UAAW,UAAM,GAC3B,YAAW,CACP,YACD0C,EAAO1C,UAAW,UAAM,GAC3B,YAAW,CACP,YACD0C,EAAO1C,UAAW,UAAM,GAC3B,YAAW,CACP,YACD0C,EAAO1C,UAAW,aAAS,GAC9B,YAAW,CACP,YACD0C,EAAO1C,UAAW,aAAS,GAC9B0C,EAAS,YAAW,CAChB,iBAAOP,QAAS,eAChB,wBAAc,WACd,kBAAQ,mBACTO,GA7EoB,K,mECL3B,mFAGIc,GAHJ,UAGqC,WACjC,SAASA,KAMT,OAJAA,EAAkB,YAAW,CACzB,wBAAc,sBACd,kBAAQ,8BACTA,GAN6B,K,yDCHpCjB,EAAOH,QAAU,0E,gECAjB,iFAGIqB,GAHJ,UAGmC,WAC/B,SAASA,KAMT,OAJAA,EAAgB,YAAW,CACvB,wBAAc,mBACd,kBAAQ,2BACTA,GAN2B,K,sDCHlClB,EAAOH,QAAU,uE,+DCAjB,gFAGIsB,GAHJ,UAGkC,WAC9B,SAASA,KAMT,OAJAA,EAAe,YAAW,CACtB,wBAAc,kBACd,kBAAQ,0BACTA,GAN0B,K,qDCHjCnB,EAAOH,QAAU,sE,+DCAjB,4FAIIuB,GAJJ,UAIkC,WAC9B,SAASA,EAAa/D,GAClBN,KAAKM,QAAUA,EAgCnB,OA9BA+D,EAAa3D,UAAUC,KAAO,WAC1B,OAAO,YAAUX,UAAM,OAAQ,GAAQ,WACnC,OAAO,YAAYA,MAAM,SAAUuB,GAE/B,OADAvB,KAAKsE,aAAatE,KAAKuE,OAChB,CAAC,UAIpBF,EAAa3D,UAAU4D,aAAe,SAAUhD,GAC5C,OAAO,YAAUtB,UAAM,OAAQ,GAAQ,WACnC,OAAO,YAAYA,MAAM,SAAUuB,GAQ/B,OAPAvB,KAAKM,QAAQmB,UAAUC,OAAO,0BAA2B,4BACxC,YAAbJ,GACAtB,KAAKM,QAAQmB,UAAUG,IAAI,4BAEd,WAAbN,GACAtB,KAAKM,QAAQmB,UAAUG,IAAI,2BAExB,CAAC,UAIpB,YAAW,CACP,YACDyC,EAAa3D,UAAW,aAAS,GACpC2D,EAAe,YAAW,CACtB,iBAAOxB,SACP,wBAAc,kBACd,kBAAQ,0BACTwB,GAjC0B,K,qDCJjCpB,EAAOH,QAAU,sE,kECAjB,4GAGI0B,EAAiC,WACjC,SAASA,EAAgBlE,GACrBN,KAAKM,QAAUA,EAYnB,OAVAkE,EAAgB9D,UAAUC,KAAO,WACzBX,KAAKM,QAAQmE,aAAa,cAC1BzE,KAAKM,QAAQmB,UAAUG,IAAI,kCAGnC4C,EAAkB,YAAW,CACzB,YAAO3B,SACP,wBAAc,qBACd,YAAQ,6BACT2B,GAb6B,I,wDCHpCvB,EAAOH,QAAU,yE,gDCEjBA,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,kxUAAmxU,KAE5yUD,EAAOH,QAAUA,G,gDCNjBG,EAAOH,QAAU,0G,4QCAb4B,EACA,WACI1E,KAAKC,SAAW,Y,wCCGjB,SAASC,EAAUC,GACtBA,EAAOwE,UAAUC,IAAI,aAAWC,wBAAwBC,GACxD3E,EAAOC,gBAAgB,iBAE3B,IAAI0E,EAAmB,CACnBC,QAAS,cACTC,WAAY,CACRC,QAAS,CACLC,mBAAoB,IAAYC,OAChCC,YAAa,SAAU9E,EAAS+E,EAAGC,GAC/B,OAAO,IAAI,kBAAgBhF,EAAS,IAAI,kBAAgB,CAAC,WAAYgF,Q,gECfrF,0IAMIC,EAA4B,WAC5B,SAASA,EAAWjF,EAASC,GACzBP,KAAKM,QAAUA,EACfN,KAAKO,YAAcA,EACnBP,KAAKwF,oBAAqB,EAC1BxF,KAAKQ,UAAW,EAChBR,KAAKqB,OAAS,SACdrB,KAAKS,OAAS,KACdgF,OAAOC,eAAepF,EAASqF,GA4JnC,OA1JAF,OAAOG,eAAeL,EAAW7E,UAAW,aAAc,CACtDkE,IAAK,WACD,OAAO,oCAA0B,WAAY5E,KAAKQ,WAEtDqF,YAAY,EACZC,cAAc,IAElBP,EAAW7E,UAAUC,KAAO,WACxB,IAeQoF,EAfJzF,EAAUN,KAAKM,QACf0F,EAAWhG,KAAKgG,SAChB1F,EAAQmE,aAAa,QAEC,OADlBsB,EAAiBzF,EAAQ2F,aAAa,QAEtCD,EAASnF,aAAa,KAAMkF,IAGhCzF,EAAQmE,aAAa,cAEC,OADlBsB,EAAiBzF,EAAQ2F,aAAa,cAEtCD,EAASnF,aAAa,WAAYkF,IAGtCzF,EAAQmE,aAAa,eACjBsB,EAAiBzF,EAAQ2F,aAAa,aACD,KAAnBF,KAClBzF,EAAQ2E,SAAU,IAG1BjF,KAAKkG,aAAalG,KAAK+D,OACvB/D,KAAKiC,gBAAgBjC,KAAKgG,SAASxF,UACnCR,KAAKc,aAAad,KAAKe,QAE3BwE,EAAW7E,UAAUyF,SAAW,WAC5BnG,KAAKgG,SAASI,iBAAiB,SAAUC,IAE7Cd,EAAW7E,UAAU4F,SAAW,WAC5BtG,KAAKgG,SAASO,oBAAoB,SAAUF,IAEhDd,EAAW7E,UAAU8F,WAAa,WAC9B,OAAOxG,KAAKiF,SAEhBM,EAAW7E,UAAU+F,WAAa,SAAU1C,GACxC,IACIzC,IAAayC,EACbzC,IAFWtB,KAAKiF,UAGhBjF,KAAKiF,QAAU3D,EACftB,KAAKwF,oBAAqB,EAC1BxF,KAAK+D,MAAQzC,EACbtB,KAAKwF,oBAAqB,EAC1BxF,KAAKM,QAAQoG,cAAc,MAAIC,kBAAkB,SAAU,CAAEC,SAAS,OAG9ErB,EAAW7E,UAAUmG,iBAAmB,WACpC,OAAO7G,KAAK8G,eAEhBvB,EAAW7E,UAAUqG,iBAAmB,SAAUhD,GAC9C/D,KAAK8G,gBAAkB/C,GAE3BwB,EAAW7E,UAAUsG,eAAiB,SAAU1F,EAAU2F,GAClD3F,IAAa2F,KAGA,IAAb3F,EACAtB,KAAKM,QAAQmB,UAAUG,IAAI,wBAG3B5B,KAAKM,QAAQmB,UAAUC,OAAO,0BAGtC6D,EAAW7E,UAAUuB,gBAAkB,SAAUX,IAC5B,IAAbA,EACAtB,KAAKM,QAAQmB,UAAUG,IAAI,yBAG3B5B,KAAKM,QAAQmB,UAAUC,OAAO,0BAGtC6D,EAAW7E,UAAUwG,eAAiB,SAAU5F,IAC3B,IAAbA,EACAtB,KAAKM,QAAQmB,UAAUG,IAAI,wBAG3B5B,KAAKM,QAAQmB,UAAUC,OAAO,yBAGtC6D,EAAW7E,UAAUI,aAAe,SAAUQ,GAC1B,MAAZA,GAAyC,MAArBA,EAASrB,WAC7BqB,EAASrB,SAAW,YAExBD,KAAKO,YAAYyB,WAAWV,EAAUtB,KAAKM,UAE/CiF,EAAW7E,UAAUwF,aAAe,SAAU5E,GACtCtB,KAAKwF,oBAGTxF,KAAKyG,WAAWnF,IAEpBiE,EAAW7E,UAAUyB,YAAc,SAAUC,GACzC,IAAI+E,EAAQnH,KACZ,GAAiB,IAAboC,EAAExB,SAAgBZ,KAAKoH,WAA3B,CAGA,GAAIpH,KAAKM,QAAQmB,UAAUY,SAAS,UAAW,CAC3C,GAAoB,OAAhBrC,KAAKS,OAAiB,CACtBT,KAAKS,OAAS,IAAI,cAClB,IAAIkE,EAAY3E,KAAKM,QAAQ+G,cAAc,oBAC1B,MAAb1C,GACAA,EAAUrC,YAAYtC,KAAKS,OAAO8B,GAG1CvC,KAAKS,OAAO+B,QAAS,EACrBxC,KAAKS,OAAOgC,OAAQ,EACpBzC,KAAKS,OAAOiC,WAAWN,GACvB,IAAIkF,EAAc,IAAI,gBAAcC,QAChC3E,EAAW,WACXuE,EAAM1G,OAAOmC,WACb0E,EAAYE,cAEhBF,EAAYG,UAAU,OAAQ7E,GAC9B0E,EAAYG,UAAU,UAAW7E,GAAU,GAI/C,OAAO,IAEX,YAAW,CACP,YACD2C,EAAW7E,UAAW,gBAAY,GACrC,YAAW,CACP,YACD6E,EAAW7E,UAAW,cAAU,GACnC,YAAW,CACP,YACD6E,EAAW7E,UAAW,UAAM,GAC/B,YAAW,CACP,YACD6E,EAAW7E,UAAW,aAAS,GAClC,YAAW,CACP,wBACD6E,EAAW7E,UAAW,eAAW,GACpC,YAAW,CACP,wBACD6E,EAAW7E,UAAW,aAAS,GAClC,YAAW,CACP,wBACD6E,EAAW7E,UAAW,eAAW,GACpC,YAAW,CACP,uBAAa,aACd6E,EAAW7E,UAAW,aAAc,MACvC6E,EAAa,YAAW,CACpB,iBAAO1C,QAAS,eAChB,wBAAc,eACd,kBAAQ,uBACT0C,GAnKwB,GAuK/B,SAASc,EAAUjE,GACfA,EAAEsF,kBAEN,IAAIC,EAAQ,SAAUtC,GAAK,OAAOA,EAAEuC,GAAGC,WAAWC,WAC9CnC,EAAyBF,OAAOsC,OAAOC,YAAYtH,UAAW,CAC9DO,KAAM,CACF8C,MAAO,YAEXkB,QAAS,CACLL,IAAK,WACD,OAAO+C,EAAM3H,MAAMwG,cAEvByB,IAAK,SAAUlE,GACX4D,EAAM3H,MAAMyG,WAAW1C,KAG/B+C,cAAe,CACXlC,IAAK,WACD,OAAO+C,EAAM3H,MAAM6G,oBAEvBoB,IAAK,SAAUlE,GACX4D,EAAM3H,MAAM+G,iBAAiBhD,Q,wDChMzCjB,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,skGAAukG,KAEhmGD,EAAOH,QAAUA,G,wDCNjBG,EAAOH,QAAU,0oC,uZCAboF,EACA,WACIlI,KAAKC,SAAW,cCFpBkI,EACA,WACInI,KAAKC,SAAW,QCIjB,SAASC,EAAUC,GACtBA,EAAOC,gBAAgB,CACnB,kBACA,iBACA,gB,8DCVR,mJAMIgI,EAAwB,WACxB,SAASA,EAAO9H,EAASC,GACrBP,KAAKM,QAAUA,EACfN,KAAKO,YAAcA,EACnBP,KAAKqI,QAAU,SACfrI,KAAKsI,aAAe,QACpBtI,KAAKuI,SAAU,EACfvI,KAAKwI,cAAWC,EAsDpB,OApDAL,EAAO1H,UAAUC,KAAO,WACpBX,KAAKc,aAAad,KAAKe,OACnBf,KAAKM,QAAQmE,aAAa,eAC1BzE,KAAKM,QAAQ4B,gBAAgB,aAC7BlC,KAAKM,QAAQmB,UAAUG,IAAI,wBAGnCwG,EAAO1H,UAAUyF,SAAW,WACxB,IAAIgB,EAAQnH,KACZA,KAAK0I,UAAY,WACbvB,EAAMoB,QAAUI,SAASC,gBAAkBzB,EAAM7G,SAErDiH,OAAOnB,iBAAiB,QAASpG,KAAK0I,WAAW,GACjDnB,OAAOnB,iBAAiB,OAAQpG,KAAK0I,WAAW,IAEpDN,EAAO1H,UAAU4F,SAAW,WACxBiB,OAAOhB,oBAAoB,QAASvG,KAAK0I,WAAW,GACpDnB,OAAOhB,oBAAoB,OAAQvG,KAAK0I,WAAW,IAEvDN,EAAO1H,UAAUI,aAAe,SAAUQ,GACtB,MAAZA,GAAyC,MAArBA,EAASrB,WAC7BqB,EAASrB,SAAW,QAExBD,KAAKO,YAAYyB,WAAWV,EAAUtB,KAAKM,UAE/C8H,EAAO1H,UAAUmI,UAAY,SAAUC,GAC/BA,GACAA,EAAMpB,kBAEV,IAAIqB,EAAa,MAAIpC,kBAAkB,QAAS,CAAEC,SAAS,IAC3D5G,KAAKM,QAAQoG,cAAcqC,IAE/B,YAAW,CACP,KACDX,EAAO1H,UAAW,aAAS,GAC9B,YAAW,CACP,KACD0H,EAAO1H,UAAW,eAAW,GAChC,YAAW,CACP,KACD0H,EAAO1H,UAAW,oBAAgB,GACrC,YAAW,CACP,KACD0H,EAAO1H,UAAW,eAAW,GAChC,YAAW,CACP,YAAS,CAAEwE,mBAAoB,cAAYC,UAC5CiD,EAAO1H,UAAW,gBAAY,GACjC0H,EAAS,YAAW,CAChB,iBAAOvF,QAAS,eAChB,YAAc,WACd,YAAQ,mBACTuF,GA5DoB,I,oECN3B,+HAUIY,GAVJ,8BAUiC,WAC7B,SAASA,EAAY1I,EAASC,GAC1BP,KAAKM,QAAUA,EACfN,KAAKO,YAAcA,EACnBP,KAAKQ,UAAW,EAChBR,KAAKiJ,UAAW,EAChBjJ,KAAKkJ,UAAY,KACjBlJ,KAAKqI,QAAU,SACfrI,KAAKmJ,YAAc,SACnBnJ,KAAKoJ,OAAQ,EACbpJ,KAAKuI,SAAU,EACfvI,KAAK+D,WAAQ0E,EACbzI,KAAKqJ,MAAQ,IAAIC,MAoLrB,OAlLAN,EAAYtI,UAAUC,KAAO,WACzBX,KAAKc,aAAad,KAAKe,OACvBf,KAAKoJ,MAAQ,oCAA0B,QAASpJ,KAAKoJ,OACjDpJ,KAAK+D,QACL/D,KAAKqJ,MAAQrJ,KAAK+D,MAAMwF,MAAMvJ,KAAKkJ,YAEnC,oCAA0B,WAAYlJ,KAAKQ,YAC3CR,KAAKwJ,QAAQ3I,aAAa,WAAY,IACtCb,KAAKyJ,WAAWvH,gBAAgB,aAChClC,KAAK0J,UAAUxH,gBAAgB,cAE/B,oCAA0B,WAAYlC,KAAKiJ,YAC3CjJ,KAAKwJ,QAAQ3I,aAAa,WAAY,IACtCb,KAAKyJ,WAAWvH,gBAAgB,aAChClC,KAAK0J,UAAUxH,gBAAgB,cAEnClC,KAAK2J,gBAETX,EAAYtI,UAAUyF,SAAW,WAC7BnG,KAAK4J,eAAe5J,KAAKqI,UAE7BW,EAAYtI,UAAUmJ,MAAQ,WAC1B7J,KAAKuI,SAAU,GAEnBS,EAAYtI,UAAUwG,eAAiB,WACnClH,KAAKM,QAAQmB,UAAUqI,OAAO,8BAA+B9J,KAAKuI,SAC7DvI,KAAKuI,SAENvI,KAAK+J,WAGbf,EAAYtI,UAAUsJ,YAAc,SAAUlB,GAC1C,IAAImB,EAAMnB,EAAMoB,OAASpB,EAAMqB,QAK/B,GAJY,KAARF,IACAjK,KAAK+J,UACLjB,EAAMsB,4BAEE,KAARH,EAAY,CACZ,GAAIjK,KAAKqJ,OAAgC,KAAvBrJ,KAAKwJ,QAAQzF,MAAc,CACzC,IAAIsG,EAAOrK,KAAKqJ,MAAMiB,WACT7B,IAAT4B,IACArK,KAAKwJ,QAAQzF,MAAQsG,GAG7BvB,EAAMsB,6BAGdpB,EAAYtI,UAAUqJ,QAAU,WACvB/J,KAAKwJ,SAGNxJ,KAAKwJ,QAAQzF,MAAMwG,SACdvK,KAAKqJ,QACNrJ,KAAKqJ,MAAQ,IAAIC,OAErBtJ,KAAKqJ,MAAMrG,KAAKhD,KAAKwJ,QAAQzF,OAC7B/D,KAAKwJ,QAAQzF,MAAQ,GACrB/D,KAAK2J,iBAGbX,EAAYtI,UAAU8J,SAAW,SAAUzG,GACL,IAA9B/D,KAAKwJ,QAAQzF,MAAMwG,SACnBvK,KAAKyK,WAAW1G,GAChB/D,KAAKwJ,QAAQzF,MAAQA,EACrB/D,KAAK2J,iBAGbX,EAAYtI,UAAU+J,WAAa,SAAU1G,GACzC,IAAI2G,EAAY1K,KAAKqJ,MAAMsB,QAAQ5G,EAAO,GACtC2G,GAAa,IACb1K,KAAKqJ,MAAMuB,OAAOF,EAAW,GAC7B1K,KAAK2J,iBAGbX,EAAYtI,UAAUiJ,aAAe,WACjC,IAAIkB,EAAY7K,KAAKqJ,MAAMyB,KAAK9K,KAAKkJ,WACnB,KAAd2B,IACAA,EAAY,MAEZA,IAAc7K,KAAK+D,QACnB/D,KAAK+D,MAAQ8G,GAEjB7K,KAAKM,QAAQmB,UAAUqI,OAAO,gCAAiC9J,KAAKqJ,MAAMkB,OAAS,IAEvFvB,EAAYtI,UAAUwF,aAAe,SAAU5E,GACvCA,GAAYA,IAAatB,KAAKqJ,MAAMyB,KAAK9K,KAAKkJ,aAC9ClJ,KAAKqJ,MAAQ/H,EAASiI,MAAMvJ,KAAKkJ,aAGzCF,EAAYtI,UAAUuB,gBAAkB,SAAUX,GAC1C,oCAA0B,WAAYA,IACtCtB,KAAKwJ,QAAQ3I,aAAa,WAAY,IACtCb,KAAKyJ,WAAWvH,gBAAgB,aAChClC,KAAK0J,UAAUxH,gBAAgB,eAG/BlC,KAAKwJ,QAAQtH,gBAAgB,YAC7BlC,KAAKyJ,WAAW5I,aAAa,YAAa,IAC1Cb,KAAK0J,UAAU7I,aAAa,YAAa,MAGjDmI,EAAYtI,UAAUqK,gBAAkB,SAAUzJ,GAC1C,oCAA0B,WAAYA,IACtCtB,KAAKwJ,QAAQ3I,aAAa,WAAY,IACtCb,KAAKyJ,WAAWvH,gBAAgB,aAChClC,KAAK0J,UAAUxH,gBAAgB,eAG/BlC,KAAKwJ,QAAQtH,gBAAgB,YAC7BlC,KAAKyJ,WAAW5I,aAAa,YAAa,IAC1Cb,KAAK0J,UAAU7I,aAAa,YAAa,MAGjDmI,EAAYtI,UAAUI,aAAe,SAAUQ,GAC3B,MAAZA,GAAyC,MAArBA,EAASrB,WAC7BqB,EAASrB,SAAW,cAExBD,KAAKO,YAAYyB,WAAWV,EAAUtB,KAAKM,UAE/C0I,EAAYtI,UAAUkJ,eAAiB,SAAUtI,GAC7CtB,KAAKM,QAAQ0K,MAAMC,gBAA+B,YAAb3J,EACjCtB,KAAKM,QAAQ0K,MAAMC,gBAAkB,2CAAiCjL,KAAKM,SAC3E,IAERmF,OAAOG,eAAeoD,EAAYtI,UAAW,kBAAmB,CAC5DkE,IAAK,WACD,MAA6B,iBAAf5E,KAAKkL,OAA4C,IAAtBlL,KAAKkL,MAAMX,QAExD1E,YAAY,EACZC,cAAc,IAElBkD,EAAYtI,UAAU2F,UAAY,SAAUyC,GACxCA,EAAMpB,mBAEV,YAAW,CACP,YACDsB,EAAYtI,UAAW,gBAAY,GACtC,YAAW,CACP,YACDsI,EAAYtI,UAAW,gBAAY,GACtC,YAAW,CACP,YACDsI,EAAYtI,UAAW,aAAS,GACnC,YAAW,CACP,YACDsI,EAAYtI,UAAW,aAAS,GACnC,YAAW,CACP,YACDsI,EAAYtI,UAAW,mBAAe,GACzC,YAAW,CACP,YACDsI,EAAYtI,UAAW,iBAAa,GACvC,YAAW,CACP,YACDsI,EAAYtI,UAAW,eAAW,GACrC,YAAW,CACP,YACDsI,EAAYtI,UAAW,mBAAe,GACzC,YAAW,CACP,YACDsI,EAAYtI,UAAW,aAAS,GACnC,YAAW,CACP,cACDsI,EAAYtI,UAAW,eAAW,GACrC,YAAW,CACP,mBAAS,CAAEwE,mBAAoB,cAAYC,UAC5C6D,EAAYtI,UAAW,aAAS,GACnC,YAAW,CACP,mBAAS,CAAEwE,mBAAoB,cAAYC,UAC5C6D,EAAYtI,UAAW,aAAS,GACnC,YAAW,CACP,uBAAa,UACdsI,EAAYtI,UAAW,kBAAmB,MAC7CsI,EAAc,YAAW,CACrB,iBAAOnG,QAAS,eAChB,wBAAc,iBACd,kBAAQ,yBACTmG,GA/LyB,K,4DCRhClG,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,wsFAAysF,KAEluFD,EAAOH,QAAUA,G,4DCNjBG,EAAOH,QAAU,g3C,mECAjB,kHAKIqI,GALJ,UAKgC,WAC5B,SAASA,EAAW7K,EAASC,GACzBP,KAAKM,QAAUA,EACfN,KAAKO,YAAcA,EACnBP,KAAKiB,KAAO,SAsBhB,OApBAkK,EAAWzK,UAAUC,KAAO,WACxBX,KAAKc,aAAad,KAAKe,QAE3BoK,EAAWzK,UAAUI,aAAe,SAAUQ,GAC1B,MAAZA,GAAyC,MAArBA,EAASrB,WAC7BqB,EAASrB,SAAW,aAExBD,KAAKO,YAAYyB,WAAWV,EAAUtB,KAAKM,UAE/C,YAAW,CACP,YACD6K,EAAWzK,UAAW,aAAS,GAClC,YAAW,CACP,YACDyK,EAAWzK,UAAW,YAAQ,GACjCyK,EAAa,YAAW,CACpB,iBAAOtI,QAAS,eAChB,wBAAc,gBACd,kBAAQ,wBACTsI,GAzBwB,K,2DCH/BrI,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,mqBAAoqB,KAE7rBD,EAAOH,QAAUA,G,2DCNjBG,EAAOH,QAAU,yJ,sDCEjBA,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,63FAA83F,KAEv5FD,EAAOH,QAAUA,G,sDCNjBG,EAAOH,QAAU,2gB,28BCANsI,EAAW,CAClBC,IAAK,CACDC,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVC,KAAM,CACFd,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVE,OAAQ,CACJf,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVG,WAAY,CACRhB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVI,OAAQ,CACJjB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVK,KAAM,CACFlB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVM,UAAW,CACPnB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVO,KAAM,CACFpB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVQ,KAAM,CACFrB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVS,MAAO,CACHtB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVU,WAAY,CACRvB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVW,KAAM,CACFxB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVY,OAAQ,CACJzB,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVa,MAAO,CACH1B,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVc,OAAQ,CACJ3B,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVe,WAAY,CACR5B,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVgB,MAAO,CACH7B,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVqB,KAAM,CACF9B,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVsB,SAAU,CACN/B,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WAEVuB,MAAO,UACPC,MAAO,WCtSAC,EAAU,CACjBC,QAAS,OACTC,UAAW,oGAGXC,UAAW,oGAGXC,UAAW,qGAGXC,UAAW,sGAGXC,UAAW,0GAGXC,WAAY,4GAGZC,WAAY,+GAGZC,YAAa,sDCrBb,EACA,WACIjO,KAAKiB,KAAO,MACZjB,KAAKkO,cAAgB9C,EAASgC,KAAK9B,IACnCtL,KAAKmO,cAAgB/C,EAASgC,KAAKrB,KACnC/L,KAAKoO,kBAAoBhD,EAASgC,KAAK7B,KACvCvL,KAAKqO,kBAAoBjD,EAASgC,KAAKrB,KACvC/L,KAAKsO,kBAAoBlD,EAASgC,KAAK3B,KACvCzL,KAAKuO,kBAAoBnD,EAASgC,KAAKrB,KACvC/L,KAAKwO,kBAAoBpD,EAASgC,KAAKxB,KACvC5L,KAAKyO,QAAUrD,EAASmB,OAAOZ,KAC/B3L,KAAK0O,kBAAoBtD,EAASmC,MAClCvN,KAAK2O,aAAevD,EAASmB,OAAOhB,KACpCvL,KAAK4O,uBAAyBxD,EAASgC,KAAKzB,KAC5C3L,KAAK6O,YAAczD,EAASmB,OAAOV,KACnC7L,KAAK8O,sBAAwB1D,EAASmC,MACtCvN,KAAK+O,OAAS3D,EAASgB,KAAKH,KAC5BjM,KAAKgP,iBAAmB5D,EAASmC,MACjCvN,KAAKiP,YAAc7D,EAASgB,KAAKJ,KACjChM,KAAKkP,sBAAwB9D,EAASmC,MACtCvN,KAAKmP,WAAa/D,EAASgB,KAAKF,KAChClM,KAAKoP,qBAAuBhE,EAASmC,MACrCvN,KAAKqP,mBAAqBjE,EAASgC,KAAKzB,KACxC3L,KAAKsP,mBAAqBlE,EAASiC,SAAS9B,KAC5CvL,KAAKuP,MAAQnE,EAASC,IAAIM,KAC1B3L,KAAKwP,QAAUpE,EAASmC,MACxBvN,KAAKyP,cAAgBjC,EAAQC,QAC7BzN,KAAK0P,aAAelC,EAAQE,UAC5B1N,KAAK2P,aAAenC,EAAQG,UAC5B3N,KAAK4P,aAAepC,EAAQI,UAC5B5N,KAAK6P,aAAerC,EAAQK,UAC5B7N,KAAK8P,aAAetC,EAAQM,UAC5B9N,KAAK+P,cAAgBvC,EAAQO,WAC7B/N,KAAKgQ,cAAgBxC,EAAQQ,WAC7BhO,KAAKiQ,eAAiBzC,EAAQS,aCjClC,EAAqB,WACrB,SAASiC,EAAIC,GACTnQ,KAAKmQ,OAASA,EACdnQ,KAAKiB,KAAO,MAKhB,OAHAiP,EAAM,YAAW,CACb,iBAAO,IACRA,GAPiB,GCDpB,EACA,WACIlQ,KAAKiB,KAAO,WACZjB,KAAKkO,cAAgB9C,EAASgC,KAAK9B,IACnCtL,KAAKmO,cAAgB/C,EAASgC,KAAKrB,KACnC/L,KAAKoO,kBAAoBhD,EAASgC,KAAK7B,KACvCvL,KAAKqO,kBAAoBjD,EAASgC,KAAKrB,KACvC/L,KAAKsO,kBAAoBlD,EAASgC,KAAK3B,KACvCzL,KAAKuO,kBAAoBnD,EAASgC,KAAKrB,KACvC/L,KAAKwO,kBAAoBpD,EAASgC,KAAKxB,KACvC5L,KAAKyO,QAAUrD,EAASmB,OAAOZ,KAC/B3L,KAAK0O,kBAAoBtD,EAASmC,MAClCvN,KAAK2O,aAAevD,EAASmB,OAAOhB,KACpCvL,KAAK4O,uBAAyBxD,EAASgC,KAAKzB,KAC5C3L,KAAK6O,YAAczD,EAASmB,OAAOV,KACnC7L,KAAK8O,sBAAwB1D,EAASmC,MACtCvN,KAAK+O,OAAS3D,EAASgB,KAAKH,KAC5BjM,KAAKgP,iBAAmB5D,EAASmC,MACjCvN,KAAKiP,YAAc7D,EAASgB,KAAKJ,KACjChM,KAAKkP,sBAAwB9D,EAASmC,MACtCvN,KAAKmP,WAAa/D,EAASgB,KAAKF,KAChClM,KAAKoP,qBAAuBhE,EAASmC,MACrCvN,KAAKqP,mBAAqBjE,EAASgC,KAAKzB,KACxC3L,KAAKsP,mBAAqBlE,EAASiC,SAAS9B,KAC5CvL,KAAKuP,MAAQnE,EAASC,IAAIM,KAC1B3L,KAAKwP,QAAUpE,EAASmC,MACxBvN,KAAKyP,cAAgBjC,EAAQC,QAC7BzN,KAAK0P,aAAelC,EAAQE,UAC5B1N,KAAK2P,aAAenC,EAAQG,UAC5B3N,KAAK4P,aAAepC,EAAQI,UAC5B5N,KAAK6P,aAAerC,EAAQK,UAC5B7N,KAAK8P,aAAetC,EAAQM,UAC5B9N,KAAK+P,cAAgBvC,EAAQO,WAC7B/N,KAAKgQ,cAAgBxC,EAAQQ,WAC7BhO,KAAKiQ,eAAiBzC,EAAQS,aCjClC,EAAyB,WACzB,SAASmC,EAAQD,GACbnQ,KAAKmQ,OAASA,EACdnQ,KAAKiB,KAAO,UAKhB,OAHAmP,EAAU,YAAW,CACjB,iBAAO,IACRA,GAPqB,GCExB,EAAyB,WACzB,SAASC,EAAQ1L,GACb3E,KAAK2E,UAAYA,EACjB3E,KAAKiB,KAAO,UA+BhB,OA7BAwE,OAAOG,eAAeyK,EAAQ3P,UAAW,cAAe,CACpDkE,IAAK,WACD,QAAS,WAAS0L,OAAOC,SAE7B1K,YAAY,EACZC,cAAc,IAElBuK,EAAQ3P,UAAU8P,MAAQ,WACtB,IAAIrJ,EAAQnH,KACZ,OAAO,IAAIyQ,SAAQ,SAAUC,GACzB,MAAItK,iBAAiB,eAAe,WAChC,OAAQe,EAAMwJ,mBACV,IAAK,MACDD,EAAQvJ,EAAMxC,UAAUC,IAAI,IAC5B,MACJ,QACI8L,EAAQvJ,EAAMxC,UAAUC,IAAI,QAGrC,OAGXyL,EAAQ3P,UAAUiQ,gBAAkB,WAEhC,OADa,WAASL,OAAOM,QAAU,CAAEC,SAAU,YACrCA,SAASC,eAE3BT,EAAU,YAAW,CACjB,iBAAO,cACRA,GAjCqB,GCFxB,EAAqB,WACrB,SAASU,EAAIZ,GACTnQ,KAAKmQ,OAASA,EACdnQ,KAAKiB,KAAO,MACZjB,KAAKgR,aAAc,EASvB,OAPAD,EAAIrQ,UAAU8P,MAAQ,WAClB,IAAIrJ,EAAQnH,KACZ,OAAOyQ,QAAQC,UAAUO,MAAK,WAAc,OAAO9J,MAEvD4J,EAAM,YAAW,CACb,iBAAO,IACRA,GAZiB,GCEpB,EAA0B,WAC1B,SAASG,IACLlR,KAAKiB,KAAO,WAgBhB,OAdAwE,OAAOG,eAAesL,EAASxQ,UAAW,cAAe,CACrDkE,IAAK,WACD,IAAIuM,EAAI,WAASb,OAAOc,QACxB,OAAOD,GAAKA,EAAEE,UAAYF,EAAEE,SAASC,UAEzCzL,YAAY,EACZC,cAAc,IAElBoL,EAASxQ,UAAU8P,MAAQ,SAAUrQ,GACjC,OAAOsQ,QAAQC,UAAUO,MAAK,WAAc,OAAO9Q,EAAOwE,UAAUC,IAAI,OAE5EsM,EAAW,YAAW,CAClB,iBAAO,IACRA,GAjBsB,G,wBCHzB,EAAmC,WACnC,SAASK,IACLvR,KAAKwR,OAAS,oBAAU,cACxBxR,KAAKyR,aAAe,GACpBzR,KAAK0R,SAAW,MAAIrK,cAAc,oBACb,MAAjBrH,KAAK0R,WACL1R,KAAK0R,SAAW,MAAIC,cAAc,SAClC3R,KAAK0R,SAASzQ,KAAO,WACrBjB,KAAK0R,SAASE,GAAK,kBACnB,MAAIC,WAAW7R,KAAK0R,SAAU/I,SAASmJ,OAoD/C,OAjDAP,EAAkB7Q,UAAUqR,uBAAyB,SAAUH,EAAII,EAAKC,QACzDxJ,IAAPmJ,QAA4BnJ,IAARuJ,GACpBhS,KAAKwR,OAAOU,KAAK,2EAA4E,CAAEN,GAAIA,EAAII,IAAKA,IAEhH,IAAIG,EAAQnS,KAAKyR,aAAaW,WAAU,SAAUC,GAAK,OAAOA,EAAET,KAAOA,KACvE,GAAIO,GAAS,EAAG,CACZ,IAAIG,EAActS,KAAKyR,aAAaU,GACpCG,EAAYN,IAAMA,EAClBM,EAAYL,SAAWA,OAGvBjS,KAAKyR,aAAazO,KAAK,CAAE4O,GAAIA,EAAII,IAAKA,EAAKC,SAAUA,IAEzDjS,KAAKuS,4BAEThB,EAAkB7Q,UAAU8R,kBAAoB,SAAUZ,QAC3CnJ,IAAPmJ,GACA5R,KAAKwR,OAAOU,KAAK,wDAAyD,CAAEN,GAAIA,IAEpF,IAAIO,EAAQnS,KAAKyR,aAAaW,WAAU,SAAUC,GAAK,OAAOA,EAAET,KAAOA,KACnEO,GAAS,GACTnS,KAAKyR,aAAa7G,OAAOuH,EAAO,GAEpCnS,KAAKuS,4BAEThB,EAAkB7Q,UAAU6R,yBAA2B,WAQnD,IAPA,IAAIE,EAAoBzS,KAAKyR,aAAaiB,QAAO,SAAUC,EAAQL,GAC/D,IAAIL,EAAWK,EAAsB,UAAK,GAG1C,OAFAK,EAAOV,GAAYU,EAAOV,IAAa,GACvCU,EAAOV,GAAUjP,KAAKsP,GACfK,IACR,IACCC,EAAY,GACPC,EAAK,EAAGtR,EAAKkE,OAAOqN,KAAKL,GAAoBI,EAAKtR,EAAGgJ,OAAQsI,IAAM,CACxE,IAAI5I,EAAM1I,EAAGsR,GACD,KAAR5I,IACA2I,GAAa3I,EAAM,UAEvB,IAAK,IAAI8I,EAAK,EAAGC,EAAKP,EAAkBxI,GAAM8I,EAAKC,EAAGzI,OAAQwI,IAAM,CAChE,IAAIT,EAAcU,EAAGD,GACrBH,GAAa,QAAUN,EAAYV,GAAK,mBACxCgB,GAAaN,EAAYN,IAAM,WAEvB,KAAR/H,IACA2I,GAAa,KAGrB5S,KAAK0R,SAASuB,UAAYL,GAEvBrB,EA7D2B,GCGlC,G,UAAiC,WACjC,SAAS2B,KAQT,OANAA,EAAgBxS,UAAUyS,qBAAuB,WAC7C,OAAOnT,MAEXkT,EAAkB,YAAW,CACzB,iBAAO,IAAQ,IAChBA,GAR6B,I,YCAhC,EAAiC,WACjC,SAASE,EAAgB9N,EAAiB+N,GACtCrT,KAAKsF,gBAAkBA,EACvBtF,KAAKqT,kBAAoBA,EA6C7B,OA3CAD,EAAgB1S,UAAU4S,mBAAqB,WAC3C,IAAIC,EAAgB,GACpB,IAAK,IAAIC,KAAUpI,EACf,GAAIA,EAASqI,eAAeD,GAAS,CACjC,GAAgC,iBAArBpI,EAASoI,GAAsB,CACtCD,GAAiB,kBAAoBG,EAAUF,GAAU,KAAOpI,EAASoI,GAAU,QACnF,SAEJ,IAAK,IAAIvJ,KAAOmB,EAASoI,GACjBpI,EAASoI,GAAQC,eAAexJ,KAChCsJ,GAAiB,kBAAoBG,EAAUF,GAAU,IAAME,EAAUzJ,GAAO,KAAOmB,EAASoI,GAAQvJ,GAAO,SAK/HjK,KAAKqT,kBAAkBtB,uBAAuB,sBAAuBwB,EAAe,UAExFH,EAAgB1S,UAAUiT,mBAAqB,SAAUxD,GACrDnQ,KAAKqT,kBAAkBtB,uBAAuB,2BAA4B/R,KAAK4T,eAAezD,GAAS,UAE3GiD,EAAgB1S,UAAUmT,iBAAmB,SAAU1D,GACnD,IAAIhJ,EAAQnH,KACZ,IAAK,IAAIiK,KAAOkG,EACRA,EAAOsD,eAAexJ,IACtBjK,KAAKsF,gBAAgBF,YAAY+K,EAAQlG,GACpCxC,WAAU,WACXN,EAAMkM,kBAAkBtB,uBAAuB,2BAA4B5K,EAAMyM,eAAezD,GAAS,aAKzHiD,EAAgB1S,UAAUkT,eAAiB,SAAUzD,GACjD,IAAI2D,EAAkB,GACtB,IAAK,IAAI7J,KAAOkG,EACRA,EAAOsD,eAAexJ,IAA+B,iBAAhBkG,EAAOlG,IAAqC,KAAhBkG,EAAOlG,KACxE6J,GAAmB,0BAA4BJ,EAAUzJ,GAAO,KAAOkG,EAAOlG,GAAO,SAG7F,OAAO6J,GAEXV,EAAkB,YAAW,CACzB,iBAAO,kBAAiB,IACzBA,GA/C6B,GAmDpC,SAASM,EAAU3P,GAEf,OADAA,EAAQA,EAAMgQ,OAAO,GAAGjD,cAAgB/M,EAAMiQ,MAAM,IACvCC,QAAQ,YAAY,SAAUC,GAAS,MAAO,IAAMA,EAAM,GAAGpD,iBCjD9E,IAAI,EAA2B,WAC3B,SAASqD,EAAUC,EAAKzP,EAAW0P,EAAiB/O,GAChDtF,KAAKoU,IAAMA,EACXpU,KAAKqU,gBAAkBA,EACvBrU,KAAKsF,gBAAkBA,EACvBtF,KAAKsU,gBAAiB,EACtBtU,KAAKuU,SAAW,GAChBvU,KAAKwU,eAAiB,CAClB7P,EAAUC,IAAI,GACdD,EAAUC,IAAI,GACdD,EAAUC,IAAI,IAuFtB,OApFAuP,EAAUzT,UAAU+T,cAAgB,WAChC,IAAItN,EAAQnH,KACZA,KAAKsF,gBAAgBoP,WAAW,CAC5BtP,YAAa,SAAUuP,EAAKC,EAAcC,GACtC,GAAIF,aAAe9R,QAAS,CACxB,IAAIkC,EAAU4P,EAAI1O,aAAa,eAAiB0O,EAAI5P,QAChD+P,EAAa3N,EAAMoN,SAASxP,GAChC,IAAK+P,EACD,OAAO,KAEX,IAAIC,EAAkBD,EAAW9P,WAAW4P,GAC5C,GAAIG,EAAiB,CACjB,IAAIC,EAAWD,EAAgB3P,YAAYuP,EAAKC,EAAczN,EAAM7B,gBAAiBuP,GACrF,GAAIG,EACA,OAAOA,GAInB,OAAO,SAInBb,EAAUzT,UAAUuU,6BAA+B,SAAUlQ,GACpD/E,KAAKsU,iBACNtU,KAAKyU,gBACLzU,KAAKsU,gBAAiB,GAE1B,IAAIC,EAAWvU,KAAKuU,SAChBW,EAAkBX,EAASxP,IAAYwP,EAASxP,EAAQ+L,eAI5D,OAHKoE,IACDA,EAAkBX,EAASxP,GAAWwP,EAASxP,EAAQ+L,eAAiB,CAAE/L,QAASA,EAASC,WAAY,KAErGkQ,GAEXf,EAAUzT,UAAUyU,qCAAuC,WAEvD,IAAIC,EAAKpV,KACLqV,EAAa,IAAkB3U,UAAU4U,4BAC7C,IAAkB5U,UAAU4U,4BAA8B,SAAUhV,EAASiV,EAAUC,GACnF,IAAIzQ,EAAUzE,EAAQ2F,aAAa,eAAiB3F,EAAQyE,QACxD+P,EAAaM,EAAGb,SAASxP,GAC7B,GAAI+P,EAAY,CACZ,IAAIC,EAAkBD,EAAW9P,WAAWuQ,GAC5C,GAAIR,EACA,OAAOA,EAAgB7P,mBAG/B,OAAOmQ,EAAWI,KAAKzV,KAAMM,EAASiV,EAAUC,KAGxDrB,EAAUzT,UAAU8P,MAAQ,SAAUrQ,GAClC,IAAIgH,EAAQnH,KACR0V,EAAQ1V,KAAKwU,eAAemB,MAAK,SAAUC,GAAK,OAAOA,EAAE5E,eAC7D,QAAcvI,IAAViN,EACA,MAAM,IAAIG,MAAM,wCAGpB,OADA7V,KAAK8V,KAAOJ,EACL1V,KAAK8V,KAAKtF,MAAMrQ,GAAQ8Q,MAAK,SAAUJ,GAM1C,OALA1J,EAAM0J,SAAWA,EACjB1J,EAAMgJ,OAASU,EAASV,OACxBhJ,EAAMkN,gBAAgBf,qBACtBnM,EAAMkN,gBAAgBV,mBAAmB9C,EAASV,QAClDhJ,EAAMkN,gBAAgBR,iBAAiBhD,EAASV,QACzChJ,MAGfgN,EAAUzT,UAAUqV,4BAA8B,SAAUhR,EAASC,GAC5DhF,KAAKsU,iBACNtU,KAAKyU,gBACLzU,KAAKsU,gBAAiB,GAE1B,IAAIY,EAAkBlV,KAAKiV,6BAA6BlQ,GACxDU,OAAOuQ,OAAOd,EAAgBlQ,WAAYA,IAE9CmP,EAAUzT,UAAUmE,wBAA0B,SAAUoR,GAC/CjW,KAAKkW,yBACNlW,KAAKmV,uCACLnV,KAAKkW,wBAAyB,GAElClW,KAAK+V,4BAA4BE,EAAgBlR,QAAQoR,cAAeF,EAAgBjR,aAE5FmP,EAAY,YAAW,CACnB,iBAAO,EAAiB,YAAW,EAAiB,MACrDA,GAhGuB,GCP1B,EAA2B,WAC3B,SAASiC,KAWT,OATAA,EAAU1V,UAAUC,KAAO,SAAU0V,GACjCA,EAAQC,eAAiB,IAAIC,EAAyBF,EAAQG,OAAQH,EAAQI,iBAElFL,EAAU1V,UAAUgW,OAAS,aAG7BN,EAAY,YAAW,CACnB,0BAAgB,gBACjBA,GAXuB,GAe1BG,EAA0C,WAC1C,SAASA,EAAyBjW,EAASqW,GACvC3W,KAAKM,QAAUA,EACfN,KAAK2W,KAAOA,EACZ3W,KAAK4W,UAAY,6BAA6BC,KAAKF,GAgBvD,OAdAJ,EAAyB7V,UAAUoW,SAAW,WAC1C,IAAIC,EAAM/W,KAAKM,QAAQ2F,aAAajG,KAAK2W,MACzC,SAAOI,GAAe,KAARA,IAElBR,EAAyB7V,UAAUsW,SAAW,SAAU1V,GACpD,OAAIA,GAAyB,KAAbA,EACLtB,KAAKM,QAAQO,aAAab,KAAK2W,KAAM3W,KAAK4W,UAAY,OAAS,IAEnE5W,KAAK4W,UAAY5W,KAAKM,QAAQO,aAAab,KAAK2W,KAAM,SAAW3W,KAAKM,QAAQ4B,gBAAgBlC,KAAK2W,OAE9GJ,EAAyB7V,UAAU+G,UAAY,WAC3C,IAAIwP,EAAM,qBAAwBjX,KAAKM,QAAQ4W,SAAW,iBAAoBlX,KAAK2W,KAAO,gCAC1F,MAAM,IAAId,MAAMoB,IAEbV,EApBkC,G,qDCjBtC,SAASY,EAAwB9R,EAAG+R,EAAIC,EAAMC,EAAYC,GAI7D,IAHA,IACIhN,EADS,YACOA,OAEXrH,EAAI,EAAGsU,EAAKF,EAAW/M,OAAQrH,EAAIsU,IAAMtU,EAAG,CACjD,IAAIuU,EAAUH,EAAWpU,GACzB,GAAqC,IAAjCuU,EAAQC,KAAK/M,QALR,aAK+B,CACpC,IAAIgN,EAAWF,EAAQC,KAAKE,UAAUrN,GACtC8M,EAAKxW,aAAa8W,EAAUF,EAAQ1T,QAI5C,OAAO,ECTX,IAAI8T,EAA6B,WAI7B,SAASA,EAAYvX,GACjBN,KAAKM,QAAUA,EACf,IAAIwX,EAAO9X,KAAK+X,aAChB/X,KAAKgY,MAAQF,EAAKE,MAClBhY,KAAKiY,OAASH,EAAKG,OACnBjY,KAAKmB,KAAO+W,KAAKC,IAAInY,KAAKgY,MAAOhY,KAAKiY,QA+D1C,OA7DAxS,OAAOG,eAAeiS,EAAYnX,UAAW,SAAU,CAInDkE,IAAK,WACD,MAAO,CACHgR,EAAG5V,KAAKgY,MAAQ,EAChBI,EAAGpY,KAAKiY,OAAS,IAGzBpS,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAeiS,EAAYnX,UAAW,eAAgB,CAIzDkE,IAAK,WACD,OAAO5E,KAAKM,QAAQ+X,yBAExBxS,YAAY,EACZC,cAAc,IAQlB+R,EAAYS,kBAAoB,SAAUC,EAAQC,GAC9C,OAAON,KAAKO,KAAKP,KAAKQ,IAAIH,EAAO3C,EAAI4C,EAAO5C,EAAG,GAAKsC,KAAKQ,IAAIH,EAAOH,EAAII,EAAOJ,EAAG,KAOtFP,EAAYnX,UAAUiY,yBAA2B,SAAUpX,GACvD,IAAIwR,EAAKxR,EAAGqU,EAAGA,OAAW,IAAP7C,EAAgB,EAAIA,EAAIC,EAAKzR,EAAG6W,EAAGA,OAAW,IAAPpF,EAAgB,EAAIA,EAC9E,OAAOkF,KAAKC,IAAIN,EAAYS,kBAAkB,CAAE1C,EAAGA,EAAGwC,EAAGA,GAAK,CAAExC,EAAG,EAAGwC,EAAG,IAAMP,EAAYS,kBAAkB,CAAE1C,EAAGA,EAAGwC,EAAGA,GAAK,CAAExC,EAAG5V,KAAKgY,MAAOI,EAAG,IAAMP,EAAYS,kBAAkB,CAAE1C,EAAGA,EAAGwC,EAAGA,GAAK,CAAExC,EAAG,EAAGwC,EAAGpY,KAAKiY,SAAWJ,EAAYS,kBAAkB,CAAE1C,EAAGA,EAAGwC,EAAGA,GAAK,CAAExC,EAAG5V,KAAKgY,MAAOI,EAAGpY,KAAKiY,WAY3SJ,EAAYnX,UAAU2B,SAAW,SAAUuW,GACvC,IAAId,EAAO9X,KAAK+X,aACZc,EAAIf,EAAKgB,KACTzG,EAAIyF,EAAKiB,IACTC,EAAIlB,EAAKE,MACTiB,EAAInB,EAAKG,OACTrC,EAAIgD,EAAGhD,GAAKgD,EAAGM,SAAW,EAC1Bd,EAAIQ,EAAGR,GAAKQ,EAAGO,SAAW,EAC9B,OAAOvD,GAAKiD,GAAKjD,GAAKiD,EAAIG,GAAKZ,GAAK/F,GAAK+F,GAAK/F,EAAI4G,GAE/CpB,EAxEqB,GCE5B,EAA2B,WAI3B,SAASuB,EAAUC,GACfrZ,KAAKuE,MAAQ,MAAI+U,iBAAiBD,EAAQ9W,GAAGgC,MAC7CvE,KAAKuZ,cAAgB,IAAI1B,EAAYwB,EAAQ9W,GAC7CvC,KAAKwZ,UAAYH,EAAQG,YAAa,EACtCxZ,KAAKwC,OAAS6W,EAAQ7W,SAAU,EAChCxC,KAAKyZ,eAAiBJ,EAAQI,gBAAkB,IAChDzZ,KAAK0Z,qBAAuBL,EAAQK,sBAAwB,GAC5D1Z,KAAK2Z,MAAQ,MAAIhI,cAAc,OAC/B3R,KAAK2Z,MAAMlY,UAAUG,IAAI,sBACzB5B,KAAK2Z,MAAM3O,MAAMC,gBAAkBjL,KAAKuE,MACxCvE,KAAKuC,EAAI,MAAIoP,cAAc,OAC3B3R,KAAKuC,EAAEd,UAAUG,IAAI,gCACrB5B,KAAKuC,EAAED,YAAYtC,KAAK2Z,OACxB3Z,KAAK4Z,gBA2QT,OAzQAnU,OAAOG,eAAewT,EAAU1Y,UAAW,mBAAoB,CAK3DkE,IAAK,WACD,IAAK5E,KAAK6Z,iBACN,OAAO,EAEX,IAAIC,EAAU,WAASC,YAAYC,MAAQha,KAAK6Z,iBAIhD,OAHI7Z,KAAKia,iBACLH,GAAW9Z,KAAKka,gBAEbJ,GAEXjU,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,iBAAkB,CAKzDkE,IAAK,WACD,OAAO5E,KAAKia,eAAiB,WAASF,YAAYC,MAAQha,KAAKia,eAAiB,GAEpFpU,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,0BAA2B,CAKlEkE,IAAK,WACD,OAAO5E,KAAKma,iBAAmB,KAEnCtU,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,wBAAyB,CAKhEkE,IAAK,WACD,OAAO5E,KAAKka,eAAiB,KAEjCrU,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,0BAA2B,CAKlEkE,IAAK,WACD,OAAO5E,KAAKoa,wBAA0Bpa,KAAKqa,uBAE/CxU,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,SAAU,CAMjDkE,IAAK,WACD,IAAI0V,EAAqI,IAA5HpC,KAAKqC,IAAIrC,KAAKO,KAAKP,KAAKQ,IAAI1Y,KAAKuZ,cAAcvB,MAAO,GAAKE,KAAKQ,IAAI1Y,KAAKuZ,cAActB,OAAQ,IAAKmB,EAAUoB,YAAoB,EAC3IV,EAAU,IAAaQ,EAASlB,EAAUoB,WAA1B,GAChBC,EAAcza,KAAK0a,wBAA0BZ,EAC7Ca,EAAeL,GAAU,EAAIpC,KAAKQ,IAAI,IAAK+B,IAC/C,OAAOvC,KAAK0C,IAAID,IAEpB9U,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,UAAW,CAKlDkE,IAAK,WACD,OAAK5E,KAAKia,eAGH/B,KAAKC,IAAI,EAAGnY,KAAKyZ,eAAiBzZ,KAAKqa,sBAAwBra,KAAK0Z,sBAFhE1Z,KAAKyZ,gBAIpB5T,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,eAAgB,CAKvDkE,IAAK,WACD,OAAOsT,KAAKC,IAAI,EAAGD,KAAKqC,IAAiC,GAA7Bva,KAAKqa,sBAA6Bra,KAAK6a,WAEvEhV,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,oBAAqB,CAK5DkE,IAAK,WACD,OAAO5E,KAAK6a,QAAU,KAAQ7a,KAAKsa,QAAUpC,KAAKqC,IAAIva,KAAK8a,UAAW1B,EAAUoB,aAEpF3U,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,qBAAsB,CAK7DkE,IAAK,WACD,OAAO5E,KAAK6a,SAAW7a,KAAKyZ,gBAAkBzZ,KAAKsa,QAAUpC,KAAKqC,IAAIva,KAAK8a,UAAW1B,EAAUoB,aAEpG3U,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,sBAAuB,CAK9DkE,IAAK,WACD,OAAO5E,KAAKia,eAAiBja,KAAK+a,kBAAoB/a,KAAKgb,oBAE/DnV,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,sBAAuB,CAK9DkE,IAAK,WACD,OAAOsT,KAAKqC,IAAI,EAAGva,KAAKsa,OAASta,KAAKuZ,cAAcpY,KAAO,EAAI+W,KAAKO,KAAK,KAE7E5S,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,kBAAmB,CAK1DkE,IAAK,WACD,IAAIqW,EAAoBjb,KAAKkb,oBACzBtF,EAAI5V,KAAKmb,cAAcvF,EACvBwC,EAAIpY,KAAKmb,cAAc/C,EAO3B,OANIpY,KAAKob,YAAYxF,IACjBA,EAAI5V,KAAKmb,cAAcvF,EAAIqF,GAAqBjb,KAAKob,YAAYxF,EAAI5V,KAAKmb,cAAcvF,IAExF5V,KAAKob,YAAYhD,IACjBA,EAAIpY,KAAKmb,cAAc/C,EAAI6C,GAAqBjb,KAAKob,YAAYhD,EAAIpY,KAAKmb,cAAc/C,IAErF,CAAExC,EAAGA,EAAGwC,EAAGA,IAEtBvS,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAewT,EAAU1Y,UAAW,cAAe,CAMtDkE,IAAK,WACD,OAAO5E,KAAK6Z,mBAAqB7Z,KAAKia,gBAE1CpU,YAAY,EACZC,cAAc,IAMlBsT,EAAU1Y,UAAUkZ,cAAgB,WAMhC,OALA5Z,KAAK8a,UAAY,EACjB9a,KAAK6Z,iBAAmB,EACxB7Z,KAAKia,eAAiB,EACtBja,KAAKmb,cAAgB,CAAEvF,EAAG,EAAGwC,EAAG,GAChCpY,KAAKob,YAAc,CAAExF,EAAG,EAAGwC,EAAG,GACvBpY,MAMXoZ,EAAU1Y,UAAU2a,KAAO,WACvB,IAAIC,EAActb,KAAKsa,QAAUta,KAAKuZ,cAAcpY,KAAO,GACvDoa,EAAkBvb,KAAKuZ,cAAc/W,OACrCgZ,EAAaxb,KAAKyb,gBAClBC,EACGF,EAAW5F,EAAI2F,EAAgB3F,EADlC8F,EAEGF,EAAWpD,EAAImD,EAAgBnD,EAetC,OAbApY,KAAK2Z,MAAM3O,MAAM6P,QAAU7a,KAAK6a,QAAQc,WAMxC3b,KAAKuC,EAAEyI,MAAM4Q,UAAY,eAAiBF,EAAa,OAASA,EAAa,SAM7E1b,KAAK2Z,MAAM3O,MAAM4Q,UAAY,WAAaN,EAAc,IAAMA,EAAc,OACrEtb,MAOXoZ,EAAU1Y,UAAUgC,WAAa,SAAUoG,QACzB,IAAVA,IAAoBA,EAAQ,MAChC,IAAIyS,EAAkBvb,KAAKuZ,cAAc/W,OAezC,OAdAxC,KAAK4Z,gBACL5Z,KAAK6Z,iBAAmB,WAASE,YAAYC,MAC7Cha,KAAKmb,cAAgBnb,KAAKwC,SAAWsG,EACjCyS,EACA,CACI3F,GAAI9M,EAAMoQ,SAAWpQ,EAAM8M,GAAK5V,KAAKuZ,cAAcxB,aAAae,KAChEV,GAAItP,EAAMqQ,SAAWrQ,EAAMsP,GAAKpY,KAAKuZ,cAAcxB,aAAagB,KAExE/Y,KAAKob,YAAcpb,KAAKwZ,UAAY+B,EAAkBvb,KAAKob,YAC3Dpb,KAAK8a,UAAY9a,KAAKuZ,cAAcZ,yBAAyB3Y,KAAKmb,eAClEnb,KAAKuC,EAAEyI,MAAM+N,KAAO/Y,KAAKuZ,cAActB,OAASjY,KAAKuZ,cAAcpY,MAAQ,EAAI,KAC/EnB,KAAKuC,EAAEyI,MAAM8N,MAAQ9Y,KAAKuZ,cAAcvB,MAAQhY,KAAKuZ,cAAcpY,MAAQ,EAAI,KAC/EnB,KAAKuC,EAAEyI,MAAMgN,MAAQhY,KAAKuZ,cAAcpY,KAAO,KAC/CnB,KAAKuC,EAAEyI,MAAMiN,OAASjY,KAAKuZ,cAAcpY,KAAO,KACzCnB,MAMXoZ,EAAU1Y,UAAUkC,SAAW,WAC3B,OAAK5C,KAAK6b,aAGV7b,KAAKia,eAAiB,WAASF,YAAYC,MACpCha,MAHIA,MASfoZ,EAAU1Y,UAAUgB,OAAS,WAEzB,OADA1B,KAAKuC,EAAEuZ,WAAWC,YAAY/b,KAAKuC,GAC5BvC,MAKXoZ,EAAUoB,WAAa,IAChBpB,EA5RmB,GCC1B,EAA6B,WAI7B,SAAS4C,EAAYC,QACL,IAARA,IAAkBA,EAAM,IAC5Bjc,KAAKkc,MAAQ,GACblc,KAAKyZ,eAAiBwC,EAAIxC,gBAAkB,IAC5CzZ,KAAK0Z,qBAAuBuC,EAAIvC,sBAAwB,GACxD1Z,KAAKmc,WAAWF,GAAOA,EAAIG,SAAWH,EAAMA,EAAIzF,QAAUyF,EAAIzF,OAAO4F,SAAWH,EAAIzF,OAAS,MAC7FxW,KAAKwZ,UAAYyC,EAAIzC,WAAaxZ,KAAKwZ,UACvCxZ,KAAKwC,OAASyZ,EAAIzZ,QAAUxC,KAAKwC,OACjCxC,KAAKyC,MAAQwZ,EAAIxZ,OAASzC,KAAKyC,MAuKnC,OArKAgD,OAAOG,eAAeoW,EAAYtb,UAAW,YAAa,CAKtDkE,IAAK,WACD,OAAO5E,KAAKuC,EAAEkC,aAAa,cAM/BwD,IAAK,SAAU3G,GACPA,EACAtB,KAAKuC,EAAE1B,aAAa,YAAa,IAGjCb,KAAKuC,EAAEL,gBAAgB,cAG/B2D,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAeoW,EAAYtb,UAAW,SAAU,CAKnDkE,IAAK,WACD,OAAO5E,KAAKuC,EAAEkC,aAAa,WAM/BwD,IAAK,SAAU3G,GACPA,EACAtB,KAAKuC,EAAE1B,aAAa,SAAU,IAG9Bb,KAAKuC,EAAEL,gBAAgB,WAG/B2D,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAeoW,EAAYtb,UAAW,QAAS,CAKlDkE,IAAK,WACD,OAAO5E,KAAKuC,EAAEd,UAAUY,SAAS,wBAMrC4F,IAAK,SAAU3G,GACXtB,KAAKuC,EAAEd,UAAUqI,OAAO,sBAAuBxI,IAEnDuE,YAAY,EACZC,cAAc,IAElBL,OAAOG,eAAeoW,EAAYtb,UAAW,sBAAuB,CAKhEkE,IAAK,WACD,OAAO5E,KAAKkc,MAAMG,MAAK,SAAUC,GAAQ,OAAQA,EAAKC,wBAE1D1W,YAAY,EACZC,cAAc,IAElBkW,EAAYtb,UAAUyb,WAAa,SAAU3F,QAC1B,IAAXA,IAAqBA,EAAS,MAClC,IAAIgG,EAAM,WAASlM,OAAO3H,SAe1B,OAdA3I,KAAKuC,EAAIiU,GAAUgG,EAAI7K,cAAc,OACrC3R,KAAKuC,EAAEd,UAAUG,IAAI,gBAChB5B,KAAKyc,cACNzc,KAAKyc,YAAcjG,GACfA,EAAOnP,cAAc,8BAAgCmV,EAAI7K,cAAc,OAC3E3R,KAAKyc,YAAYhb,UAAUG,IAAI,4BAC/B5B,KAAKuC,EAAED,YAAYtC,KAAKyc,cAEvBzc,KAAK0c,SACN1c,KAAK0c,OAASlG,GACVA,EAAOnP,cAAc,yBAA2BmV,EAAI7K,cAAc,OACtE3R,KAAK0c,OAAOjb,UAAUG,IAAI,uBAC1B5B,KAAKuC,EAAED,YAAYtC,KAAK0c,SAErB1c,MAMXgc,EAAYtb,UAAUic,QAAU,WAC5B,IAAIL,EAAO,IAAI,EAAUtc,MAIzB,OAHAA,KAAK0c,OAAOpa,YAAYga,EAAK/Z,GAC7BvC,KAAKyc,YAAYzR,MAAMC,gBAAkBqR,EAAK/X,MAC9CvE,KAAKkc,MAAMlZ,KAAKsZ,GACTA,GAQXN,EAAYtb,UAAUgC,WAAa,SAAUkW,GAIzC,OAHW5Y,KAAK2c,UACXja,WAAWkW,GAChB5Y,KAAK4c,UACE5c,MAMXgc,EAAYtb,UAAUkC,SAAW,WAG7B,OAFA5C,KAAKkc,MAAMW,SAAQ,SAAUP,GAAQA,EAAK1Z,cAC1C5C,KAAK4c,UACE5c,MAOXgc,EAAYtb,UAAUoc,WAAa,SAAUR,GACzC,IAAIS,EAAY/c,KAAKkc,MAAMvR,QAAQ2R,GACnC,OAAIS,EAAY,IAGhB/c,KAAKkc,MAAMtR,OAAOmS,EAAW,GAC7BT,EAAK5a,UAHM1B,MAUfgc,EAAYtb,UAAUkc,QAAU,WAE5B,IAAK,IAAI1Z,EAAI,EAAG2V,EAAI7Y,KAAKkc,MAAM3R,OAAQrH,EAAI2V,EAAG3V,IAAK,CAC/C,IAAIoZ,EAAOtc,KAAKkc,MAAMhZ,GAClBoZ,IACAA,EAAKjB,OACLrb,KAAKyc,YAAYzR,MAAM6P,QAAUyB,EAAKU,aAAarB,WAC/CW,EAAKvB,oBAAsBuB,EAAKtB,oBAChChb,KAAK8c,WAAWR,IAW5B,OANKtc,KAAKid,qBAA6C,IAAtBjd,KAAKkc,MAAM3R,OAIxC,WAAS2S,sBAAsBld,KAAK4c,QAAQjc,KAAKX,OAHjDA,KAAKyc,YAAYzR,MAAMC,gBAAkB,KAKtCjL,MAEJgc,EAnLqB,GCGzB,SAASmB,EAA0BC,EAAerZ,GASrD,MANqB,iBAAVA,EACS,KAAVA,GAAgBA,EAAMsZ,sBAAwBD,EAAcC,oBAG5DtZ,EAIP,SAASuZ,EAAyBvG,GACrC,YAAYtO,IAARsO,GAA6B,KAARA,GAAsB,cAARA,GAA+B,QAARA,OAC1D,EAEa,OAARA,GAAwB,SAARA,EACd,KAGAwG,OAAOxG,GCnBf,SAASyG,EAAiCld,GAE7C,IADA,IAAImd,EAAwB,GACK,KAA1BA,GAAgCnd,EAAQod,eAAe,CAC1D,IAAInZ,EAAQgD,OAAO+R,iBAAiBhZ,EAAQod,cAAe,MAAMC,iBAAiB,oBACzD,qBAArBpZ,EAAMoX,aACNpX,EAAQ,IAEZkZ,EAAwBlZ,EACxBjE,EAAUA,EAAQod,cAEtB,OAAOD,GAAyB,U,4HCdhC,EAAiC,WACjC,SAASG,EAAgBtY,EAAiB+N,EAAmB+B,GACzDpV,KAAKsF,gBAAkBA,EACvBtF,KAAKqT,kBAAoBA,EACzBrT,KAAKoV,GAAKA,EACVpV,KAAK6d,OAAS,GAqFlB,OAnFAD,EAAgBld,UAAUod,YAAc,SAAU/c,EAAOT,GACrD,IAAIyd,EAAY,CAAE9d,SAAU,cAC5B,GAAsB,MAAlBc,EAAMd,SACN,MAAM,IAAI4V,MAAM,4CAEpB,GAAuB,WAAnB9U,EAAMd,SACN,IAAK,IAAIgK,KAAOlJ,EACA,aAARkJ,IACAjK,KAAKoV,GAAGjF,OAAOlG,GAAOlJ,EAAMkJ,SAInC,GAAe,MAAX3J,EACL,IAAK,IAAI2J,KAAOlJ,EACRA,EAAM0S,eAAexJ,KAA0C,IAAlC8T,EAAUtK,eAAexJ,KAClDlJ,EAAMkJ,GACN3J,EAAQ0K,MAAMgT,YAAYhe,KAAKie,wBAAwBld,EAAMd,SAAUgK,GAAMlJ,EAAMkJ,IAGnF3J,EAAQ0K,MAAMkT,eAAele,KAAKie,wBAAwBld,EAAMd,SAAUgK,SAKrF,CACD,IAAIkU,EAAUne,KAAK6d,OAAOjT,OAAO5K,KAAK6d,OAAOlT,QAAQ3K,KAAK6d,OAAO9c,EAAMd,YAAY,GACpE,MAAXke,GACAne,KAAKoe,cAAcD,GAEvBne,KAAKqT,kBAAkBtB,uBAAuB,oBAAsBhR,EAAMd,SAAUD,KAAKqe,iBAAiBtd,GAAQ,SAClHf,KAAKse,WAAWvd,GAChBf,KAAK6d,OAAO9c,EAAMd,UAAYc,IAGtC6c,EAAgBld,UAAU6d,aAAe,SAAUxd,GAC/C,IAAIgd,EAAY,CAAE9d,SAAU,cACxBue,EAAY,GAChB,IAAK,IAAIvU,KAAOlJ,EACRA,EAAM0S,eAAexJ,KAA0C,IAAlC8T,EAAUtK,eAAexJ,IACtDuU,EAAUxb,KAAKiH,GAGvB,OAAOuU,GAEXZ,EAAgBld,UAAUud,wBAA0B,SAAUhe,EAAUwe,GACpE,MAAO,iBAAmBxe,EAAW,IAAM,EAAUwe,IAEzDb,EAAgBld,UAAUge,oBAAsB,SAAUze,EAAUwe,EAAa1a,GAC7E,YAAc0E,IAAV1E,GAAiC,cAAVA,EAChB,GAEJ,iBAAmB9D,EAAW,IAAM,EAAUwe,GAAe,KAAO1a,EAAQ,KAEvF6Z,EAAgBld,UAAU4d,WAAa,SAAUvd,GAE7C,IADA,IAAIoG,EAAQnH,KACH6S,EAAK,EAAGtR,EAAKvB,KAAKue,aAAaxd,GAAQ8R,EAAKtR,EAAGgJ,OAAQsI,IAAM,CAClE,IAAI5I,EAAM1I,EAAGsR,GACb7S,KAAKsF,gBAAgBF,YAAYrE,EAAOkJ,GAAKxC,WAAU,WAAc,OAAON,EAAMwX,qBAAqB5d,QAG/G6c,EAAgBld,UAAU0d,cAAgB,SAAUrd,GAEhD,IADA,IAAIoG,EAAQnH,KACH6S,EAAK,EAAGtR,EAAKvB,KAAKue,aAAaxd,GAAQ8R,EAAKtR,EAAGgJ,OAAQsI,IAAM,CAClE,IAAI5I,EAAM1I,EAAGsR,GACb7S,KAAKsF,gBAAgBF,YAAYrE,EAAOkJ,GAAK2U,aAAY,WAAc,OAAOzX,EAAMwX,qBAAqB5d,QAGjH6c,EAAgBld,UAAUie,qBAAuB,SAAU5d,GACvDf,KAAKqT,kBAAkBtB,uBAAuB,oBAAsBhR,EAAMd,SAAUD,KAAKqe,iBAAiBtd,GAAQ,UAEtH6c,EAAgBld,UAAU2d,iBAAmB,SAAUtd,GAEnD,IADA,IAAI+S,EAAkB,GACbjB,EAAK,EAAGtR,EAAKvB,KAAKue,aAAaxd,GAAQ8R,EAAKtR,EAAGgJ,OAAQsI,IAAM,CAClE,IAAI5I,EAAM1I,EAAGsR,GACT9R,EAAMkJ,KACN6J,GAAmB,KAAO9T,KAAK0e,oBAAoB3d,EAAMd,SAAUgK,EAAKlJ,EAAMkJ,IAAQ,QAG9F,OAAO6J,GAEX8J,EAAkB,YAAW,CACzB,iBAAO,kBAAiB,EAAmB,IAC5CA,GAzF6B,GA6FpC,SAAS,EAAU7Z,GAEf,OADAA,EAAQA,EAAMgQ,OAAO,GAAGjD,cAAgB/M,EAAMiQ,MAAM,IACvCC,QAAQ,YAAY,SAAUC,GAAS,MAAO,IAAMA,EAAM,GAAGpD,iBCjG9E,ICaI+N,EDbA,EAA6B,WAC7B,SAASC,EAAYC,GACjB/e,KAAK+e,gBAAkBA,EAwC3B,OA7BAD,EAAYpe,UAAUsB,WAAa,SAAUjB,EAAOT,GACnC,MAATS,GAAmC,MAAlBA,EAAMd,UAG3BD,KAAK+e,gBAAgBjB,YAAY/c,EAAOT,IAQ5Cwe,EAAYpe,UAAUse,gBAAkB,SAAUnB,GAC9C,IAAK,IAAIhL,EAAK,EAAGoM,EAAWpB,EAAQhL,EAAKoM,EAAS1U,OAAQsI,IAAM,CAC5D,IAAI9R,EAAQke,EAASpM,GACrB7S,KAAKgC,WAAWjB,KAQxB+d,EAAYpe,UAAUwe,gBAAkB,SAAUjV,GAC9C,OAAOjK,KAAK+e,gBAAgBlB,OAAO5T,IAEvC6U,EAAc,YAAW,CACrB,iBAAO,IACRA,GAzCyB,GCczB,SAAS5e,EAAUC,EAAQgf,GAC9B,GAAIN,EACA,OAAOA,EAEX,IAAIzJ,EAAKjV,EAAOwE,UAAUC,IAAI,GAC1Bwa,EAAW,IAAI,IAAwB,IAQ3C,OAPAA,EAASC,WAAWlf,EAAOwE,UAAW,GACtCya,EAASE,SAASnf,EAAOof,QAAQC,UAAW,eAC5Crf,EAAOC,gBAAgB,CACnB,iCACA,mCACA,+CAEoB,mBAAb+e,EACAN,EAAgBpO,QAAQC,QAAQyO,EAAS/J,IAC3CnE,MAAK,WAAc,OAAOmE,EAAG5E,MAAMrQ,OAGxCiV,EAAGhB,IAAIjB,uBACA0L,EAAgBzJ,EAAG5E,MAAMrQ,M,6ECpCxC,kHAGIsf,EAAuC,WACvC,SAASA,EAAsBnf,GAC3BN,KAAKM,QAAUA,EACfN,KAAK+D,MAAQ,CAAEiU,MAAO,EAAGC,OAAQ,GACjCjY,KAAKgY,MAAQ,EACbhY,KAAKiY,OAAS,EA0ClB,OAxCAwH,EAAsB/e,UAAUC,KAAO,WACnCX,KAAKgV,SAAWhV,KAAKoF,cACrBpF,KAAKgV,SAAS0K,QAAQ1f,KAAKM,UAE/Bmf,EAAsB/e,UAAUgW,OAAS,WACrC1W,KAAKgV,SAAS2K,aACd3f,KAAKgV,cAAW,GAEpByK,EAAsB/e,UAAU0E,YAAc,WAC1C,IAAI+B,EAAQnH,KACZ,MAA8C,mBAAnC,WAASsQ,OAAOsP,eAChB,IAAI,WAAStP,OAAOsP,gBAAe,SAAUC,GAChD,IAAI/H,EAAO+H,EAAQ,GAAGC,YACtB3Y,EAAMpD,MAAQ,CAAEiU,MAAOF,EAAKE,MAAOC,OAAQH,EAAKG,WAI7C,IAAI8H,GAAwB,SAAU5e,GACzCgG,EAAMpD,MAAQ5C,MAI1Bse,EAAsB/e,UAAUwF,aAAe,SAAU/E,GACrDnB,KAAK+D,MAAQ5C,EACbnB,KAAKgY,MAAQ7W,EAAK6W,MAClBhY,KAAKiY,OAAS9W,EAAK8W,QAEvB,YAAW,CACP,YAAS,CAAE/S,mBAAoB,IAAY8a,SAAUC,iBAAiB,KACvER,EAAsB/e,UAAW,aAAS,GAC7C,YAAW,CACP,YAAS,CAAEwE,mBAAoB,IAAY8a,YAC5CP,EAAsB/e,UAAW,aAAS,GAC7C,YAAW,CACP,YAAS,CAAEwE,mBAAoB,IAAY8a,YAC5CP,EAAsB/e,UAAW,cAAU,GAC9C+e,EAAwB,YAAW,CAC/B,YAAgB,WAChB,YAAO5c,UACR4c,GA9CmC,GAkDtCM,EAAyC,WACzC,SAASA,EAAwBZ,EAAUe,QAC1B,IAATA,IAAmBA,EAAO,KAC9BlgB,KAAKmf,SAAWA,EAChBnf,KAAKkgB,KAAOA,EACZlgB,KAAKmB,KAAO,CAAE6W,MAAO,EAAGC,OAAQ,GAkBpC,OAhBA8H,EAAwBrf,UAAUgf,QAAU,SAAUpf,GAClD,IAAI6G,EAAQnH,KACZA,KAAKmgB,QAAUC,aAAY,WACvB,IAAI7e,EAAKjB,EAAQ+X,wBAAyBL,EAAQzW,EAAGyW,MAAOC,EAAS1W,EAAG0W,OACpEoI,EAAclZ,EAAMhG,KACpB6W,IAAUqI,EAAYrI,OAASC,IAAWoI,EAAYpI,SACtD9Q,EAAMhG,KAAO,CAAE6W,MAAOA,EAAOC,OAAQA,GACP,mBAAnB9Q,EAAMgY,UACbhY,EAAMgY,SAAShY,EAAMhG,SAG9BnB,KAAKkgB,OAEZH,EAAwBrf,UAAUif,WAAa,WAC3CW,cAActgB,KAAKmgB,UAEhBJ,EAvBiC,I,+ECrD5C,mKAIIQ,GAJJ,UAIuC,WACnC,SAASA,EAAkBjgB,EAASqE,GAChC3E,KAAKM,QAAUA,EACfN,KAAK2E,UAAYA,EAqCrB,OAnCA4b,EAAkB7f,UAAUC,KAAO,WAC/BX,KAAK2E,UAAU6b,eAAexgB,MAC9BA,KAAKM,QAAQmB,UAAUG,IAAI,cAE/B2e,EAAkB7f,UAAU4F,SAAW,WACnCtG,KAAK2E,UAAU8b,cAAczgB,OAEjCugB,EAAkB7f,UAAUwF,aAAe,SAAU5E,EAAU2F,GAC3D,GAAKjH,KAAK2E,UAAV,CAGA,IAAI+b,EAAiB1gB,KAAK2E,UAAUZ,MACpC,GAAI/D,KAAK2E,UAAUgc,YAAcrX,MAAMsX,QAAQF,GAC3C,IAAK,IAAI7N,EAAK,EAAGgO,EAAmBH,EAAgB7N,EAAKgO,EAAiBtW,OAAQsI,IAAM,CACpF,IAAI9O,EAAQ8c,EAAiBhO,GAC7B,GAAI9O,IAAUkD,EAEV,YADAlD,EAAQzC,QAKVtB,KAAK2E,UAAUgc,YAAcD,IAAmBzZ,IACtDjH,KAAK2E,UAAUZ,MAAQzC,KAG/Bif,EAAkB7f,UAAUogB,gBAAkB,WAC1C9gB,KAAKM,QAAQmB,UAAUqI,OAAO,sBAAuB9J,KAAKwI,WAE9D,YAAW,CACP,KACD+X,EAAkB7f,UAAW,gBAAY,GAC5C6f,EAAoB,YAAW,CAC3B,YAAgB,iBAAa9X,EAAW,CAAC,iBAAkB,qBAC3D,YAAO5F,QAAS,IAASke,GAAG,gCAC7BR,GAvC+B,K,yFCJtC,kKAGIS,EAA4C,WAC5C,SAASA,EAA2B1gB,EAAS2gB,GACzCjhB,KAAKM,QAAUA,EACfN,KAAKihB,UAAYA,EACjBjhB,KAAKkhB,SAAW,OAChBlhB,KAAK2gB,YAAa,EAClB3gB,KAAKmhB,QAAU,GACfnhB,KAAKohB,UAAW,EAwHpB,OArHAJ,EAA2BtgB,UAAU2gB,YAAc,SAAUvY,GACzD,GAAIA,EAAM0N,kBAAkB3T,QAAS,CACjC,IAAIye,EAAgBxY,EAAM0N,OAAO+K,QAAQ,cACzC,GAAsB,OAAlBD,QACqB7Y,IAArB6Y,EAAc1Z,SACoBa,IAAlC6Y,EAAc1Z,GAAG,cACjB0Z,EAAc1Z,GAAG,aAAaE,qBAAqB,oBAAmB,CACtE,IAAI0Z,EAASF,EAAc1Z,GAAG,aAAaE,UAC3C9H,KAAKyhB,YAAYD,EAAOzd,UAKpCid,EAA2BtgB,UAAU+U,KAAO,WACxCzV,KAAKohB,UAAW,EAChBphB,KAAK0hB,gBAETV,EAA2BtgB,UAAUC,KAAO,WACxCX,KAAKM,QAAQmB,UAAUG,IAAI,uBAC3B5B,KAAK2hB,kBACL3hB,KAAKkG,aAAalG,KAAK+D,QAE3Bid,EAA2BtgB,UAAUihB,gBAAkB,WAC7B,SAAlB3hB,KAAKkhB,SACLlhB,KAAK2gB,aAAarX,MAAMsX,QAAQ5gB,KAAK+D,OAEP,kBAAlB/D,KAAKkhB,SACjBlhB,KAAK2gB,WAAa3gB,KAAKkhB,SAGvBlhB,KAAK2gB,WAA+B,aAAlB3gB,KAAKkhB,UAA6C,SAAlBlhB,KAAKkhB,SAE3DlhB,KAAKM,QAAQmB,UAAUqI,OAAO,gCAAiC9J,KAAK2gB,aAExEK,EAA2BtgB,UAAUyF,SAAW,WAC5CnG,KAAKM,QAAQ8F,iBAAiB,QAASpG,OAE3CghB,EAA2BtgB,UAAU4F,SAAW,WAC5CtG,KAAKM,QAAQiG,oBAAoB,QAASvG,OAE9CghB,EAA2BtgB,UAAUkhB,oBAAsB,WAClD5hB,KAAKohB,WACNphB,KAAKohB,UAAW,EAChBphB,KAAKihB,UAAUY,eAAe7hB,QAGtCghB,EAA2BtgB,UAAU8f,eAAiB,SAAUgB,GAC5DxhB,KAAKmhB,QAAQne,KAAKwe,GAClBxhB,KAAK4hB,uBAETZ,EAA2BtgB,UAAU+f,cAAgB,SAAUe,GAC3D,IAAIrP,EAAQnS,KAAKmhB,QAAQxW,QAAQ6W,IAClB,IAAXrP,IACAnS,KAAKmhB,QAAQvW,OAAOuH,EAAO,GAC3BnS,KAAK4hB,wBAGbZ,EAA2BtgB,UAAUwF,aAAe,SAAU5E,GACpC,SAAlBtB,KAAKkhB,UACLlhB,KAAK2hB,kBAIL3hB,KAAK2gB,YAAkC,iBAAbrf,EAC1BtB,KAAK+D,MAAQ,GAGP/D,KAAK2gB,aAAcrX,MAAMsX,QAAQtf,GAQ3CtB,KAAK4hB,sBAPD5hB,KAAK+D,WAAQ0E,GASrBuY,EAA2BtgB,UAAU+gB,YAAc,SAAU1d,GACzD,GAAI/D,KAAK2gB,YAAcrX,MAAMsX,QAAQ5gB,KAAK+D,OAAQ,CAC9C,IAAIoO,EAAQnS,KAAK+D,MAAM4G,QAAQ5G,IAChB,IAAXoO,EACAnS,KAAK+D,MAAMf,KAAKe,GAGhB/D,KAAK+D,MAAM6G,OAAOuH,EAAO,QAGvBnS,KAAK2gB,aACX3gB,KAAK+D,MAAQ/D,KAAK+D,QAAUA,OAAQ0E,EAAY1E,GAEpD/D,KAAK0hB,gBAETV,EAA2BtgB,UAAUghB,aAAe,WAChD,IAAII,EAAgB9hB,KAAKmhB,QAAQ5W,OACjC,GAAIvK,KAAK2gB,YAAcrX,MAAMsX,QAAQ5gB,KAAK+D,OACtC,IAAK,IAAIoO,EAAQ,EAAGA,EAAQ2P,EAAe3P,IAAS,EAC5CqP,EAASxhB,KAAKmhB,QAAQhP,IACnB3J,UAAiD,IAAtCxI,KAAK+D,MAAM4G,QAAQ6W,EAAOzd,YAG/C,IAAK/D,KAAK2gB,YAAoC,iBAAf3gB,KAAK+D,MACrC,IAASoO,EAAQ,EAAGA,EAAQ2P,EAAe3P,IAAS,CAChD,IAAIqP,KAASxhB,KAAKmhB,QAAQhP,IACnB3J,SAAWxI,KAAK+D,QAAUyd,EAAOzd,QAIpD,YAAW,CACP,YAAS,CAAEmB,mBAAoB,IAAYC,OAAQ8a,iBAAiB,KACrEe,EAA2BtgB,UAAW,aAAS,GAClD,YAAW,CACP,KACDsgB,EAA2BtgB,UAAW,gBAAY,GACrDsgB,EAA6B,YAAW,CACpC,YAAgB,2BAAuBvY,EAAW,CAAC,oBACnD,YAAO5F,QAAS,MACjBme,GA9HwC,I,6DCD/Cle,EADkC,EAAQ,OAChCC,EAA4B,IAE9BC,KAAK,CAACC,EAAOC,EAAI,ivCAAkvC,KAE3wCD,EAAOH,QAAUA,G","file":"vendors~f9df39b8.52d7adffc453bc629a5c.chunk.js","sourcesContent":["var UxButtonTheme = /** @class */ (function () {\n    function UxButtonTheme() {\n        this.themeKey = 'button';\n    }\n    return UxButtonTheme;\n}());\nexport { UxButtonTheme };\n//# sourceMappingURL=ux-button-theme.js.map","import { PLATFORM } from 'aurelia-framework';\nimport { UxButton } from './ux-button';\nexport { UxButtonTheme } from './ux-button-theme';\nexport function configure(config) {\n    config.globalResources(PLATFORM.moduleName('./ux-button'));\n}\nexport { UxButton };\n//# sourceMappingURL=index.js.map","import { __decorate } from \"tslib\";\nimport { customElement, bindable, useView } from 'aurelia-templating';\nimport { inject } from 'aurelia-dependency-injection';\nimport { StyleEngine, PaperRipple, normalizeBooleanAttribute } from '@aurelia-ux/core';\nimport { PLATFORM } from 'aurelia-framework';\nvar UxButton = /** @class */ (function () {\n    function UxButton(element, styleEngine) {\n        this.element = element;\n        this.styleEngine = styleEngine;\n        this.disabled = false;\n        this.ripple = null;\n    }\n    UxButton.prototype.bind = function () {\n        if (normalizeBooleanAttribute('disabled', this.disabled)) {\n            this.button.setAttribute('disabled', '');\n        }\n        this.themeChanged(this.theme);\n        this.typeChanged(this.type);\n        this.sizeChanged(this.size);\n        this.effectChanged(this.effect);\n    };\n    UxButton.prototype.typeChanged = function (newValue) {\n        var _a;\n        var typeClasses = [\n            'ux-button--text',\n            'ux-button--flat',\n            'ux-button--outline',\n            'ux-button--raised',\n            'ux-button--fab'\n        ];\n        (_a = this.button.classList).remove.apply(_a, typeClasses);\n        if (newValue === 'fab') {\n            this.element.classList.add('ux-fab-button');\n        }\n        else {\n            this.element.classList.remove('ux-fab-button');\n        }\n        if (newValue == null || typeClasses.includes(\"ux-button--\" + newValue) === false) {\n            newValue = 'raised';\n        }\n        this.button.classList.add(\"ux-button--\" + newValue);\n    };\n    UxButton.prototype.sizeChanged = function (newValue) {\n        var _a;\n        var sizeClasses = ['ux-button--small', 'ux-button--medium', 'ux-button--large'];\n        (_a = this.element.classList).remove.apply(_a, sizeClasses);\n        if (newValue == null || sizeClasses.includes(\"ux-button--\" + newValue) === false) {\n            newValue = 'medium';\n        }\n        this.element.classList.add(\"ux-button--\" + newValue);\n    };\n    UxButton.prototype.effectChanged = function (newValue) {\n        var _a;\n        var effectClasses = ['ux-button--ripple'];\n        (_a = this.button.classList).remove.apply(_a, effectClasses);\n        if (newValue == null || effectClasses.includes(\"ux-button--\" + newValue) === false) {\n            newValue = 'ripple';\n        }\n        this.button.classList.add(\"ux-button--\" + newValue);\n    };\n    UxButton.prototype.themeChanged = function (newValue) {\n        if (newValue != null && newValue.themeKey == null) {\n            newValue.themeKey = 'button';\n        }\n        this.styleEngine.applyTheme(newValue, this.element);\n    };\n    UxButton.prototype.disabledChanged = function (newValue) {\n        if (normalizeBooleanAttribute('disabled', newValue)) {\n            this.button.setAttribute('disabled', '');\n        }\n        else {\n            this.button.removeAttribute('disabled');\n        }\n    };\n    UxButton.prototype.onMouseDown = function (e) {\n        if (this.button.classList.contains('ux-button--ripple')) {\n            if (this.ripple === null) {\n                this.ripple = new PaperRipple();\n                this.button.appendChild(this.ripple.$);\n            }\n            if (this.button.classList.contains('ux-button--fab')) {\n                this.ripple.center = true;\n                this.ripple.round = true;\n            }\n            this.ripple.downAction(e);\n        }\n        return true;\n    };\n    UxButton.prototype.onMouseUp = function () {\n        if (this.button.classList.contains('ux-button--ripple') && this.ripple !== null) {\n            this.ripple.upAction();\n        }\n        return true;\n    };\n    __decorate([\n        bindable\n    ], UxButton.prototype, \"type\", void 0);\n    __decorate([\n        bindable\n    ], UxButton.prototype, \"size\", void 0);\n    __decorate([\n        bindable\n    ], UxButton.prototype, \"effect\", void 0);\n    __decorate([\n        bindable\n    ], UxButton.prototype, \"disabled\", void 0);\n    __decorate([\n        bindable\n    ], UxButton.prototype, \"theme\", void 0);\n    UxButton = __decorate([\n        inject(Element, StyleEngine),\n        customElement('ux-button'),\n        useView(PLATFORM.moduleName('./ux-button.html'))\n    ], UxButton);\n    return UxButton;\n}());\nexport { UxButton };\n//# sourceMappingURL=ux-button.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"ux-button {\\n  display: inline-block;\\n  position: relative;\\n}\\n\\n.ux-button {\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  width: 100%;\\n  height: 100%;\\n  border: 0;\\n  padding: 0 8px;\\n  outline: none;\\n  cursor: pointer;\\n  text-align: center;\\n  font-family: inherit;\\n  font-family: var(--aurelia-ux--button-font-family, inherit);\\n  font-weight: 600;\\n  font-weight: var(--aurelia-ux--button-font-weight, 600);\\n  text-transform: uppercase;\\n  text-transform: var(--aurelia-ux--button-text-transform, uppercase);\\n  letter-spacing: 0.5px;\\n  letter-spacing: var(--aurelia-ux--button-letter-spacing, 0.5px);\\n  flex-wrap: nowrap;\\n  overflow: hidden;\\n}\\n\\n/* Button Sizes */\\n.ux-button--small {\\n  font-size: 13px;\\n  height: 32px;\\n  line-height: 32px;\\n}\\n\\n.ux-button--medium {\\n  font-size: 14px;\\n  height: 36px;\\n  line-height: 36px;\\n}\\n\\n.ux-button--large {\\n  font-size: 16px;\\n  height: 42px;\\n  line-height: 42px;\\n}\\n\\n/* Button Types, without colors */\\n.ux-button--text,\\n.ux-button--raised,\\n.ux-button--flat,\\n.ux-button--outline {\\n  min-width: 88px;\\n  padding: 0 16px;\\n  border-radius: var(--aurelia-ux--button-border-radius, '2px');\\n}\\n.ux-button--raised {\\n  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);\\n  transition-delay: 0.2s;\\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n  box-shadow: var(--aurelia-ux--design-elevation2dp, 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12));\\n}\\n.ux-button--outline {\\n  background-color: transparent;\\n}\\n.ux-button--text {\\n  background-color: transparent;\\n}\\n.ux-button--fab {\\n  border-radius: 50%;\\n  overflow: hidden;\\n  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);\\n  transition-delay: 0.2s;\\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n  box-shadow: var(--aurelia-ux--design-elevation2dp, 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12));\\n}\\n\\n/* Button Types Colors and variants */\\n\\n.ux-button--raised,\\n.ux-button--flat,\\n.ux-button--fab {\\n  background-color: #3F51B5;\\n  background-color: var(--aurelia-ux--button-background, var(--aurelia-ux--design-primary, #3F51B5));\\n  color: #fff;\\n  color: var(--aurelia-ux--button-foreground, var(--aurelia-ux--design-primary-foreground, #fff));\\n}\\n.ux-button--outline {\\n  border: 1px solid #3F51B5;\\n  border-width: var(--aurelia-ux--button-border-width, 1px);\\n  border-color: var(--aurelia-ux--button-background, var(--aurelia-ux--design-primary, #3F51B5));\\n  color: #3F51B5;\\n  color: var(--aurelia-ux--button-background, var(--aurelia-ux--design-primary, #3F51B5));\\n}\\n.ux-button--text {\\n  color: #3F51B5;\\n  color: var(--aurelia-ux--button-background, var(--aurelia-ux--design-primary, #3F51B5));\\n}\\n\\n.ux-button--accent > .ux-button--raised,\\n.ux-button--accent > .ux-button--flat,\\n.ux-button--accent > .ux-button--fab {\\n  background-color: #FF4081;\\n  background-color: var(--aurelia-ux--button-accent-background, var(--aurelia-ux--design-accent, #FF4081));\\n  color: #fff;\\n  color: var(--aurelia-ux--button-accent-foreground, var(--aurelia-ux--design-accent-foreground, #fff));\\n}\\n.ux-button--accent > .ux-button--outline {\\n  border-color: #FF4081;\\n  border-color: var(--aurelia-ux--button-accent-background, var(--aurelia-ux--accent-primary, #FF4081));\\n  color: #FF4081;\\n  color: var(--aurelia-ux--button-accent-background, var(--aurelia-ux--accent-primary, #FF4081));\\n}\\n.ux-button--accent > .ux-button--text {\\n  color: #FF4081;\\n  color: var(--aurelia-ux--button-accent-background, var(--aurelia-ux--accent-primary, #FF4081));\\n}\\n\\n.ux-button--raised:disabled,\\n.ux-button--flat:disabled,\\n.ux-button--fab:disabled {\\n  background-color: #9E9E9E;\\n  background-color: var(--aurelia-ux--button-disabled-background, var(--aurelia-ux--design-disabled-background, #9E9E9E));\\n  color: #CFD8DC;\\n  color: var(--aurelia-ux--button-disabled-foreground, var(--aurelia-ux--design-disabled-foreground, #CFD8DC));\\n}\\n.ux-button--outline:disabled {\\n  border-color: #9E9E9E;\\n  border-color: var(--aurelia-ux--button-disabled-background, var(--aurelia-ux--disabled-primary, #9E9E9E));\\n  color: #9E9E9E;\\n  color: var(--aurelia-ux--button-disabled-background, var(--aurelia-ux--disabled-primary, #9E9E9E));\\n}\\n.ux-button--text:disabled {\\n  color: #9E9E9E;\\n  color: var(--aurelia-ux--button-disabled-background, var(--aurelia-ux--disabled-primary, #9E9E9E));\\n}\\n.ux-button--disabled * {\\n  pointer-events: none;\\n}\\n\\n\\n/* Button States */\\n\\n.ux-button::-moz-focus-inner {\\n  border: none;\\n}\\n\\n.ux-button--text:hover {\\n  background-color: rgba(124, 124, 124, 0.25);\\n}\\n\\n.ux-button--text:focus {\\n  background-color: rgba(124, 124, 124, 0.30);\\n}\\n\\n.ux-button--outline:focus {\\n  border: 1px solid #3F51B5;\\n  border: 1px solid var(--aurelia-ux--design-primary, #3F51B5);\\n}\\n\\n.ux-button--flat:focus,\\n.ux-button--raised:focus {\\n  box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\\n  box-shadow: var(--aurelia-ux--design-elevationFocus, 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36));\\n  transition-delay: 0s;\\n}\\n\\n.ux-button--raised:active {\\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);\\n  box-shadow: var(--aurelia-ux--design-elevation4dp, 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2));\\n  transition-delay: 0s;\\n}\\n\\n.ux-button--fab:active {\\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);\\n  box-shadow: var(--aurelia-ux--design-elevation4dp, 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2));\\n  transition-delay: 0s;\\n}\\n\\n.ux-button--fab:focus {\\n  box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\\n  box-shadow: var(--aurelia-ux--design-elevation-focus, 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36));\\n  transition-delay: 0s;\\n}\\n\\n.ux-button--raised:disabled:focus,\\n.ux-button--fab:disabled:focus {\\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n  box-shadow: var(--aurelia-ux--design-elevation2dp, 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12));\\n  transition-delay: 0s;\\n}\\n\\n.ux-button--raised:disabled:active,\\n.ux-button--fab:disabled:active {\\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n  box-shadow: var(--aurelia-ux--design-elevation2dp, 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12));\\n  transition-delay: 0s;\\n}\\n\\n\\n\\n.ux-button--text.ux-button--text-remove-padding {\\n  min-width: auto;\\n  padding: 0 8px;\\n}\\n\\n.ux-fab-button {\\n  height: auto;\\n  width: auto;\\n}\\n\\n/* Button Sizes */\\n.ux-button--small .ux-button--fab {\\n  width: 40px;\\n  height: 40px;\\n}\\n\\n.ux-button--medium .ux-button--fab {\\n  width: 56px;\\n  height: 56px;\\n}\\n\\n.ux-button--large .ux-button--fab {\\n  width: 64px;\\n  height: 64px;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"<template role=\\\"button\\\">\\n  <require from=\\\"@aurelia-ux/core/effects/paper-ripple.css\\\"></require>\\n  <require from=\\\"./ux-button.css\\\"></require>\\n  <button ref=\\\"button\\\" class=\\\"ux-button ${disabled ? 'ux-button--disabled' : ''}\\\"\\n    mousedown.trigger=\\\"onMouseDown($event)\\\"\\n    mouseup.trigger=\\\"onMouseUp()\\\"\\n    mouseleave.trigger=\\\"onMouseUp()\\\">\\n    <slot></slot>\\n    <span class=\\\"ripple\\\"></span>\\n  </button>\\n</template>\\n\";","var UxCardTheme = /** @class */ (function () {\n    function UxCardTheme() {\n        this.themeKey = 'card';\n    }\n    return UxCardTheme;\n}());\nexport { UxCardTheme };\n//# sourceMappingURL=ux-card-theme.js.map","import { PLATFORM } from 'aurelia-framework';\nimport { UxCard } from './ux-card';\nimport { UxCardHeader } from './ux-card-header';\nimport { UxCardActionRow } from './ux-card-action-row';\nimport { UxCardContent } from './ux-card-content';\nimport { UxCardFooter } from './ux-card-footer';\nexport { UxCardTheme } from './ux-card-theme';\nexport { UxCard, UxCardHeader, UxCardActionRow, UxCardContent, UxCardFooter };\nexport function configure(config) {\n    config.globalResources([\n        PLATFORM.moduleName('./ux-card'),\n        PLATFORM.moduleName('./ux-card-header'),\n        PLATFORM.moduleName('./ux-card-action-row'),\n        PLATFORM.moduleName('./ux-card-content'),\n        PLATFORM.moduleName('./ux-card-footer'),\n        PLATFORM.moduleName('./ux-card-separator')\n    ]);\n}\n//# sourceMappingURL=index.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { bindable, customElement, useView } from 'aurelia-templating';\nimport { StyleEngine } from '@aurelia-ux/core';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxCard = /** @class */ (function () {\n    function UxCard(element, styleEngine) {\n        this.element = element;\n        this.styleEngine = styleEngine;\n    }\n    UxCard.prototype.bind = function () {\n        if (this.theme != null) {\n            this.themeChanged(this.theme);\n        }\n        this.xsChanged(this.xs);\n        this.smChanged(this.sm);\n        this.mdChanged(this.md);\n        this.lgChanged(this.lg);\n        this.xlChanged(this.xl);\n    };\n    UxCard.prototype.xsChanged = function (newValue) {\n        this.sizeChanged('xs', newValue);\n    };\n    UxCard.prototype.smChanged = function (newValue) {\n        this.sizeChanged('sm', newValue);\n    };\n    UxCard.prototype.mdChanged = function (newValue) {\n        this.sizeChanged('md', newValue);\n    };\n    UxCard.prototype.lgChanged = function (newValue) {\n        this.sizeChanged('lg', newValue);\n    };\n    UxCard.prototype.xlChanged = function (newValue) {\n        this.sizeChanged('xl', newValue);\n    };\n    UxCard.prototype.sizeChanged = function (size, value) {\n        for (var i = 0; i < 10; i++) {\n            this.element.classList.remove(\"ux-card--\" + size + \"-\" + i);\n            this.element.classList.remove(\"ux-card--order-\" + this.order + \"-\" + size + \"-\" + i);\n        }\n        if (typeof value === 'string') {\n            this.element.classList.add(\"ux-card--\" + size + \"-\" + value);\n            if (typeof this.order === 'string') {\n                this.element.classList.add(\"ux-card--order-\" + this.order + \"-\" + size + \"-\" + value);\n            }\n        }\n    };\n    UxCard.prototype.orderChanged = function () {\n        this.xsChanged(this.xs);\n        this.smChanged(this.sm);\n        this.mdChanged(this.md);\n        this.lgChanged(this.lg);\n        this.xlChanged(this.xl);\n    };\n    UxCard.prototype.themeChanged = function (newValue) {\n        this.styleEngine.applyTheme(newValue, this.element);\n    };\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"xs\", void 0);\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"sm\", void 0);\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"md\", void 0);\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"lg\", void 0);\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"xl\", void 0);\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"order\", void 0);\n    __decorate([\n        bindable\n    ], UxCard.prototype, \"theme\", void 0);\n    UxCard = __decorate([\n        inject(Element, StyleEngine),\n        customElement('ux-card'),\n        useView(PLATFORM.moduleName('./ux-card.html'))\n    ], UxCard);\n    return UxCard;\n}());\nexport { UxCard };\n//# sourceMappingURL=ux-card.js.map","import { __decorate } from \"tslib\";\nimport { customElement, useView } from 'aurelia-templating';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxCardActionRow = /** @class */ (function () {\n    function UxCardActionRow() {\n    }\n    UxCardActionRow = __decorate([\n        customElement('ux-card-action-row'),\n        useView(PLATFORM.moduleName('./ux-card-action-row.html'))\n    ], UxCardActionRow);\n    return UxCardActionRow;\n}());\nexport { UxCardActionRow };\n//# sourceMappingURL=ux-card-action-row.js.map","module.exports = \"<template class=\\\"ux-card__action-row\\\">\\n  <slot></slot>\\n</template>\\n\";","import { __decorate } from \"tslib\";\nimport { customElement, useView } from 'aurelia-templating';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxCardContent = /** @class */ (function () {\n    function UxCardContent() {\n    }\n    UxCardContent = __decorate([\n        customElement('ux-card-content'),\n        useView(PLATFORM.moduleName('./ux-card-content.html'))\n    ], UxCardContent);\n    return UxCardContent;\n}());\nexport { UxCardContent };\n//# sourceMappingURL=ux-card-content.js.map","module.exports = \"<template class=\\\"ux-card__content\\\">\\n  <slot></slot>\\n</template>\\n\";","import { __decorate } from \"tslib\";\nimport { customElement, useView } from 'aurelia-templating';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxCardFooter = /** @class */ (function () {\n    function UxCardFooter() {\n    }\n    UxCardFooter = __decorate([\n        customElement('ux-card-footer'),\n        useView(PLATFORM.moduleName('./ux-card-footer.html'))\n    ], UxCardFooter);\n    return UxCardFooter;\n}());\nexport { UxCardFooter };\n//# sourceMappingURL=ux-card-footer.js.map","module.exports = \"<template class=\\\"ux-card__footer\\\">\\n  <slot></slot>\\n</template>\\n\";","import { __awaiter, __decorate, __generator } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { bindable, customElement, useView } from 'aurelia-templating';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxCardHeader = /** @class */ (function () {\n    function UxCardHeader(element) {\n        this.element = element;\n    }\n    UxCardHeader.prototype.bind = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                this.colorChanged(this.color);\n                return [2 /*return*/];\n            });\n        });\n    };\n    UxCardHeader.prototype.colorChanged = function (newValue) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                this.element.classList.remove('ux-card__header--accent', 'ux-card__header--primary');\n                if (newValue === 'primary') {\n                    this.element.classList.add('ux-card__header--primary');\n                }\n                if (newValue === 'accent') {\n                    this.element.classList.add('ux-card__header--accent');\n                }\n                return [2 /*return*/];\n            });\n        });\n    };\n    __decorate([\n        bindable\n    ], UxCardHeader.prototype, \"color\", void 0);\n    UxCardHeader = __decorate([\n        inject(Element),\n        customElement('ux-card-header'),\n        useView(PLATFORM.moduleName('./ux-card-header.html'))\n    ], UxCardHeader);\n    return UxCardHeader;\n}());\nexport { UxCardHeader };\n//# sourceMappingURL=ux-card-header.js.map","module.exports = \"<template class=\\\"ux-card__header\\\">\\n  <slot></slot>\\n</template>\\n\";","import { __decorate } from \"tslib\";\nimport { inject, useView, PLATFORM } from 'aurelia-framework';\nimport { customElement } from 'aurelia-templating';\nvar UxCardSeparator = /** @class */ (function () {\n    function UxCardSeparator(element) {\n        this.element = element;\n    }\n    UxCardSeparator.prototype.bind = function () {\n        if (this.element.hasAttribute('no-margin')) {\n            this.element.classList.add('ux-card__separator--no-margin');\n        }\n    };\n    UxCardSeparator = __decorate([\n        inject(Element),\n        customElement('ux-card-separator'),\n        useView(PLATFORM.moduleName('./ux-card-separator.html'))\n    ], UxCardSeparator);\n    return UxCardSeparator;\n}());\nexport { UxCardSeparator };\n//# sourceMappingURL=ux-card-separator.js.map","module.exports = \"<template class=\\\"ux-card__separator\\\">\\n  <slot></slot>\\n</template>\\n\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".ux-card {\\n  display: flex;\\n  position: relative;\\n  flex-direction: column;\\n  box-sizing: border-box;\\n  padding: 0;\\n  border-radius: 2px;\\n  background-color: #F5F5F5;\\n  background-color: var(--aurelia-ux--card-background, var(--aurelia-ux--design-surface-background, #F5F5F5));\\n  color: #212121;\\n  color: var(--aurelia-ux--card-foreground, var(--aurelia-ux--design-surface-foreground, #212121));\\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n  box-shadow: var(--aurelia-ux--design-elevation2dp, 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12));\\n  margin-bottom: 16px;\\n}\\n\\n.ux-card__header,\\n.ux-card__content {\\n  padding: 16px;\\n}\\n\\n.ux-card__header {\\n  display: flex;\\n  flex-direction: column;\\n}\\n\\n.ux-card__thumbnail {\\n  flex-shrink: 0;\\n  margin-right: 16px;\\n  align-self: flex-start;\\n}\\n\\n.ux-card__header-row {\\n  display: flex;\\n  align-items: center;\\n}\\n\\n.ux-card__spacer {\\n  flex: 1;\\n}\\n.ux-card__separator {\\n  display: block;\\n  width: 100%;\\n  height: 1px;\\n  background-color: #ccc;\\n  margin: 24px auto;\\n}\\n\\n.ux-card__separator--no-margin {\\n  margin: auto auto 0px auto;\\n}\\n\\n.ux-card__separator--no-margin~.ux-card__footer {\\n  margin-top: 0px;\\n}\\n\\n.ux-card__title {\\n  display: flex;\\n  flex-direction: column;\\n  -moz-osx-font-smoothing: grayscale;\\n  -webkit-font-smoothing: antialiased;\\n  font-weight: 400;\\n  text-decoration: inherit;\\n  text-transform: inherit;\\n  font-size: 24px;\\n  letter-spacing: normal;\\n  line-height: 24px;\\n  margin: 0;\\n  color: inherit;\\n  color: var(--aurelia-ux--card-title-foreground, inherit);\\n}\\n\\n.ux-card__sub-title {\\n  padding-top: 8px;\\n  font-size: 14px;\\n  line-height: 14px;\\n  color: inherit;\\n  color: var(--aurelia-ux--card-sub-title-foreground, inherit);\\n  opacity: 0.8;\\n  opacity: var(--aurelia-ux--card-sub-title-opacity, 0.8);\\n}\\n\\n.ux-card__header--primary {\\n  color: #3f51b5;\\n  background-color: var(--aurelia-ux--card-primary-header-background, var(--aurelia-ux--design-primary, #3F51B5));\\n  color: rgb(36, 28, 28);\\n  color: var(--aurelia-ux--card-primary-header-foreground, var(--aurelia-ux--design-primary-foreground, #fff));\\n}\\n\\n.ux-card__header--accent {\\n  background-color: #ff4081;\\n  background-color: var(--aurelia-ux--card-accent-header-background, var(--aurelia-ux--design-accent, #ff4081));\\n  color: #fff;\\n  color: var(--aurelia-ux--card-accent-header-foreground, var(--aurelia-ux--design-accent-foreground, #fff));\\n}\\n\\n/* ux-card ux-card-header[color=primary]+ux-card-content,\\nux-card ux-card-header[color=accent]+ux-card-content {\\n  padding-top: 16px;\\n}\\n\\nux-card ux-card-header+ux-card-content {\\n  padding-top: 0;\\n} */\\n\\n.ux-card__action-row {\\n  display: flex;\\n  margin: 8px;\\n  flex-wrap: nowrap;\\n}\\n\\n.ux-card__img {\\n  width: 100%;\\n}\\n\\n.ux-card__footer {\\n  padding: 8px;\\n  display: flex;\\n  flex-direction: row;\\n  align-items: center;\\n  margin-top: auto;\\n}\\n\\n.ux-card__content:last-child {\\n  padding-bottom: 24px;\\n}\\n\\n.ux-card--dense .ux-card__title {\\n  font-size: 20px;\\n  line-height: 20px;\\n}\\n\\n.ux-grid>.ux-card {\\n  grid-column: span 12;\\n  max-width: 100%;\\n}\\n\\n.ux-grid>.ux-card--xs-0 {\\n  display: none;\\n}\\n\\n.ux-grid>.ux-card--xs-1 {\\n  grid-column: span 1;\\n}\\n\\n.ux-grid>.ux-card--xs-2 {\\n  grid-column: span 2;\\n}\\n\\n.ux-grid>.ux-card--xs-3 {\\n  grid-column: span 3;\\n}\\n\\n.ux-grid>.ux-card--xs-4 {\\n  grid-column: span 4;\\n}\\n\\n.ux-grid>.ux-card--xs-5 {\\n  grid-column: span 5;\\n}\\n\\n.ux-grid>.ux-card--xs-6 {\\n  grid-column: span 6;\\n}\\n\\n.ux-grid>.ux-card--xs-7 {\\n  grid-column: span 7;\\n}\\n\\n.ux-grid>.ux-card--xs-8 {\\n  grid-column: span 8;\\n}\\n\\n.ux-grid>.ux-card--xs-9 {\\n  grid-column: span 9;\\n}\\n\\n.ux-grid>.ux-card--xs-10 {\\n  grid-column: span 10;\\n}\\n\\n.ux-grid>.ux-card--xs-11 {\\n  grid-column: span 11;\\n}\\n\\n.ux-grid>.ux-card--xs-12 {\\n  grid-column: span 12;\\n}\\n\\n.ux-grid>.ux-card--order-xs-neg {\\n  order: -1;\\n}\\n\\n.ux-grid>.ux-card--order-xs-0 {\\n  order: 0;\\n}\\n\\n.ux-grid>.ux-card--order-xs-1 {\\n  order: 1;\\n}\\n\\n.ux-grid>.ux-card--order-xs-2 {\\n  order: 2;\\n}\\n\\n.ux-grid>.ux-card--order-xs-3 {\\n  order: 3;\\n}\\n\\n.ux-grid>.ux-card--order-xs-4 {\\n  order: 4;\\n}\\n\\n.ux-grid>.ux-card--order-xs-5 {\\n  order: 5;\\n}\\n\\n.ux-grid>.ux-card--order-xs-6 {\\n  order: 6;\\n}\\n\\n.ux-grid>.ux-card--order-xs-7 {\\n  order: 7;\\n}\\n\\n.ux-grid>.ux-card--order-xs-8 {\\n  order: 8;\\n}\\n\\n.ux-grid>.ux-card--order-xs-9 {\\n  order: 9;\\n}\\n\\n.ux-grid>.ux-card--order-xs-10 {\\n  order: 10;\\n}\\n\\n@media (min-width: 480px) {\\n  .ux-grid>.ux-card--sm-0 {\\n    display: none;\\n  }\\n  .ux-grid>.ux-card--sm-1 {\\n    grid-column: span 1;\\n  }\\n  .ux-grid>.ux-card--sm-2 {\\n    grid-column: span 2;\\n  }\\n  .ux-grid>.ux-card--sm-3 {\\n    grid-column: span 3;\\n  }\\n  .ux-grid>.ux-card--sm-4 {\\n    grid-column: span 4;\\n  }\\n  .ux-grid>.ux-card--sm-5 {\\n    grid-column: span 5;\\n  }\\n  .ux-grid>.ux-card--sm-6 {\\n    grid-column: span 6;\\n  }\\n  .ux-grid>.ux-card--sm-7 {\\n    grid-column: span 7;\\n  }\\n  .ux-grid>.ux-card--sm-8 {\\n    grid-column: span 8;\\n  }\\n  .ux-grid>.ux-card--sm-9 {\\n    grid-column: span 9;\\n  }\\n  .ux-grid>.ux-card--sm-10 {\\n    grid-column: span 10;\\n  }\\n  .ux-grid>.ux-card--sm-11 {\\n    grid-column: span 11;\\n  }\\n  .ux-grid>.ux-card--sm-12 {\\n    grid-column: span 12;\\n  }\\n  .ux-grid>.ux-card--order-sm-neg {\\n    order: -1;\\n  }\\n  .ux-grid>.ux-card--order-sm-0 {\\n    order: 0;\\n  }\\n  .ux-grid>.ux-card--order-sm-1 {\\n    order: 1;\\n  }\\n  .ux-grid>.ux-card--order-sm-2 {\\n    order: 2;\\n  }\\n  .ux-grid>.ux-card--order-sm-3 {\\n    order: 3;\\n  }\\n  .ux-grid>.ux-card--order-sm-4 {\\n    order: 4;\\n  }\\n  .ux-grid>.ux-card--order-sm-5 {\\n    order: 5;\\n  }\\n  .ux-grid>.ux-card--order-sm-6 {\\n    order: 6;\\n  }\\n  .ux-grid>.ux-card--order-sm-7 {\\n    order: 7;\\n  }\\n  .ux-grid>.ux-card--order-sm-8 {\\n    order: 8;\\n  }\\n  .ux-grid>.ux-card--order-sm-9 {\\n    order: 9;\\n  }\\n  .ux-grid>.ux-card--order-sm-10 {\\n    order: 10;\\n  }\\n}\\n\\n@media (min-width: 960px) {\\n  .ux-grid>.ux-card--md-0 {\\n    display: none;\\n  }\\n  .ux-grid>.ux-card--md-1 {\\n    grid-column: span 1;\\n  }\\n  .ux-grid>.ux-card--md-2 {\\n    grid-column: span 2;\\n  }\\n  .ux-grid>.ux-card--md-3 {\\n    grid-column: span 3;\\n  }\\n  .ux-grid>.ux-card--md-4 {\\n    grid-column: span 4;\\n  }\\n  .ux-grid>.ux-card--md-5 {\\n    grid-column: span 5;\\n  }\\n  .ux-grid>.ux-card--md-6 {\\n    grid-column: span 6;\\n  }\\n  .ux-grid>.ux-card--md-7 {\\n    grid-column: span 7;\\n  }\\n  .ux-grid>.ux-card--md-8 {\\n    grid-column: span 8;\\n  }\\n  .ux-grid>.ux-card--md-9 {\\n    grid-column: span 9;\\n  }\\n  .ux-grid>.ux-card--md-10 {\\n    grid-column: span 10;\\n  }\\n  .ux-grid>.ux-card--md-11 {\\n    grid-column: span 11;\\n  }\\n  .ux-grid>.ux-card--md-12 {\\n    grid-column: span 12;\\n  }\\n  .ux-grid>.ux-card--order-md-neg {\\n    order: -1;\\n  }\\n  .ux-grid>.ux-card--order-md-0 {\\n    order: 0;\\n  }\\n  .ux-grid>.ux-card--order-md-1 {\\n    order: 1;\\n  }\\n  .ux-grid>.ux-card--order-md-2 {\\n    order: 2;\\n  }\\n  .ux-grid>.ux-card--order-md-3 {\\n    order: 3;\\n  }\\n  .ux-grid>.ux-card--order-md-4 {\\n    order: 4;\\n  }\\n  .ux-grid>.ux-card--order-md-5 {\\n    order: 5;\\n  }\\n  .ux-grid>.ux-card--order-md-6 {\\n    order: 6;\\n  }\\n  .ux-grid>.ux-card--order-md-7 {\\n    order: 7;\\n  }\\n  .ux-grid>.ux-card--order-md-8 {\\n    order: 8;\\n  }\\n  .ux-grid>.ux-card--order-md-9 {\\n    order: 9;\\n  }\\n  .ux-grid>.ux-card--order-md-10 {\\n    order: 10;\\n  }\\n}\\n\\n@media (min-width: 1280px) {\\n  .ux-grid>.ux-card--lg-0 {\\n    display: none;\\n  }\\n  .ux-grid>.ux-card--lg-1 {\\n    grid-column: span 1;\\n  }\\n  .ux-grid>.ux-card--lg-2 {\\n    grid-column: span 2;\\n  }\\n  .ux-grid>.ux-card--lg-3 {\\n    grid-column: span 3;\\n  }\\n  .ux-grid>.ux-card--lg-4 {\\n    grid-column: span 4;\\n  }\\n  .ux-grid>.ux-card--lg-5 {\\n    grid-column: span 5;\\n  }\\n  .ux-grid>.ux-card--lg-6 {\\n    grid-column: span 6;\\n  }\\n  .ux-grid>.ux-card--lg-7 {\\n    grid-column: span 7;\\n  }\\n  .ux-grid>.ux-card--lg-8 {\\n    grid-column: span 8;\\n  }\\n  .ux-grid>.ux-card--lg-9 {\\n    grid-column: span 9;\\n  }\\n  .ux-grid>.ux-card--lg-10 {\\n    grid-column: span 10;\\n  }\\n  .ux-grid>.ux-card--lg-11 {\\n    grid-column: span 11;\\n  }\\n  .ux-grid>.ux-card--lg-12 {\\n    grid-column: span 12;\\n  }\\n  .ux-grid>.ux-card--order-lg-neg {\\n    order: -1;\\n  }\\n  .ux-grid>.ux-card--order-lg-0 {\\n    order: 0;\\n  }\\n  .ux-grid>.ux-card--order-lg-1 {\\n    order: 1;\\n  }\\n  .ux-grid>.ux-card--order-lg-2 {\\n    order: 2;\\n  }\\n  .ux-grid>.ux-card--order-lg-3 {\\n    order: 3;\\n  }\\n  .ux-grid>.ux-card--order-lg-4 {\\n    order: 4;\\n  }\\n  .ux-grid>.ux-card--order-lg-5 {\\n    order: 5;\\n  }\\n  .ux-grid>.ux-card--order-lg-6 {\\n    order: 6;\\n  }\\n  .ux-grid>.ux-card--order-lg-7 {\\n    order: 7;\\n  }\\n  .ux-grid>.ux-card--order-lg-8 {\\n    order: 8;\\n  }\\n  .ux-grid>.ux-card--order-lg-9 {\\n    order: 9;\\n  }\\n  .ux-grid>.ux-card--order-lg-10 {\\n    order: 10;\\n  }\\n}\\n\\n@media (min-width: 1925px) {\\n  .ux-grid>.ux-card--xl-0 {\\n    display: none;\\n  }\\n  .ux-grid>.ux-card--xl-1 {\\n    grid-column: span 1;\\n  }\\n  .ux-grid>.ux-card--xl-2 {\\n    grid-column: span 2;\\n  }\\n  .ux-grid>.ux-card--xl-3 {\\n    grid-column: span 3;\\n  }\\n  .ux-grid>.ux-card--xl-4 {\\n    grid-column: span 4;\\n  }\\n  .ux-grid>.ux-card--xl-5 {\\n    grid-column: span 5;\\n  }\\n  .ux-grid>.ux-card--xl-6 {\\n    grid-column: span 6;\\n  }\\n  .ux-grid>.ux-card--xl-7 {\\n    grid-column: span 7;\\n  }\\n  .ux-grid>.ux-card--xl-8 {\\n    grid-column: span 8;\\n  }\\n  .ux-grid>.ux-card--xl-9 {\\n    grid-column: span 9;\\n  }\\n  .ux-grid>.ux-card--xl-10 {\\n    grid-column: span 10;\\n  }\\n  .ux-grid>.ux-card--xl-11 {\\n    grid-column: span 11;\\n  }\\n  .ux-grid>.ux-card--xl-12 {\\n    grid-column: span 12;\\n  }\\n  .ux-grid>.ux-card--order-xl-neg {\\n    order: -1;\\n  }\\n  .ux-grid>.ux-card--order-xl-0 {\\n    order: 0;\\n  }\\n  .ux-grid>.ux-card--order-xl-1 {\\n    order: 1;\\n  }\\n  .ux-grid>.ux-card--order-xl-2 {\\n    order: 2;\\n  }\\n  .ux-grid>.ux-card--order-xl-3 {\\n    order: 3;\\n  }\\n  .ux-grid>.ux-card--order-xl-4 {\\n    order: 4;\\n  }\\n  .ux-grid>.ux-card--order-xl-5 {\\n    order: 5;\\n  }\\n  .ux-grid>.ux-card--order-xl-6 {\\n    order: 6;\\n  }\\n  .ux-grid>.ux-card--order-xl-7 {\\n    order: 7;\\n  }\\n  .ux-grid>.ux-card--order-xl-8 {\\n    order: 8;\\n  }\\n  .ux-grid>.ux-card--order-xl-9 {\\n    order: 9;\\n  }\\n  .ux-grid>.ux-card--order-xl-10 {\\n    order: 10;\\n  }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"<template class=\\\"ux-card\\\">\\n  <require from=\\\"./ux-card.css\\\"></require>\\n  <slot></slot>\\n</template>\\n\";","var UxCheckboxTheme = /** @class */ (function () {\n    function UxCheckboxTheme() {\n        this.themeKey = 'checkbox';\n    }\n    return UxCheckboxTheme;\n}());\nexport { UxCheckboxTheme };\n//# sourceMappingURL=ux-checkbox-theme.js.map","import { bindingMode, PLATFORM } from 'aurelia-framework';\nimport { CheckedObserver, EventSubscriber } from 'aurelia-binding';\nimport { AureliaUX } from '@aurelia-ux/core';\nexport { UxCheckboxTheme } from './ux-checkbox-theme';\nexport { UxCheckbox } from './ux-checkbox';\nexport function configure(config) {\n    config.container.get(AureliaUX).registerUxElementConfig(uxCheckBoxConfig);\n    config.globalResources(PLATFORM.moduleName('./ux-checkbox'));\n}\nvar uxCheckBoxConfig = {\n    tagName: 'ux-checkbox',\n    properties: {\n        checked: {\n            defaultBindingMode: bindingMode.twoWay,\n            getObserver: function (element, _, observerLocator) {\n                return new CheckedObserver(element, new EventSubscriber(['change']), observerLocator);\n            }\n        }\n    }\n};\n//# sourceMappingURL=index.js.map","import { __decorate } from \"tslib\";\nimport { customElement, bindable, ElementEvents, useView } from 'aurelia-templating';\nimport { computedFrom, observable } from 'aurelia-binding';\nimport { inject } from 'aurelia-dependency-injection';\nimport { StyleEngine, PaperRipple, normalizeBooleanAttribute, } from '@aurelia-ux/core';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nvar UxCheckbox = /** @class */ (function () {\n    function UxCheckbox(element, styleEngine) {\n        this.element = element;\n        this.styleEngine = styleEngine;\n        this.ignoreValueChanges = false;\n        this.disabled = false;\n        this.effect = 'ripple';\n        this.ripple = null;\n        Object.setPrototypeOf(element, uxCheckboxElementProto);\n    }\n    Object.defineProperty(UxCheckbox.prototype, \"isDisabled\", {\n        get: function () {\n            return normalizeBooleanAttribute('disabled', this.disabled);\n        },\n        enumerable: false,\n        configurable: true\n    });\n    UxCheckbox.prototype.bind = function () {\n        var element = this.element;\n        var checkbox = this.checkbox;\n        if (element.hasAttribute('id')) {\n            var attributeValue = element.getAttribute('id');\n            if (attributeValue != null) {\n                checkbox.setAttribute('id', attributeValue);\n            }\n        }\n        if (element.hasAttribute('tabindex')) {\n            var attributeValue = element.getAttribute('tabindex');\n            if (attributeValue != null) {\n                checkbox.setAttribute('tabindex', attributeValue);\n            }\n        }\n        if (element.hasAttribute('checked')) {\n            var attributeValue = element.getAttribute('checked');\n            if (attributeValue || attributeValue === '') {\n                element.checked = true;\n            }\n        }\n        this.valueChanged(this.value);\n        this.disabledChanged(this.checkbox.disabled);\n        this.themeChanged(this.theme);\n    };\n    UxCheckbox.prototype.attached = function () {\n        this.checkbox.addEventListener('change', stopEvent);\n    };\n    UxCheckbox.prototype.detached = function () {\n        this.checkbox.removeEventListener('change', stopEvent);\n    };\n    UxCheckbox.prototype.getChecked = function () {\n        return this.checked;\n    };\n    UxCheckbox.prototype.setChecked = function (value) {\n        var oldValue = this.checked;\n        var newValue = !!value;\n        if (newValue !== oldValue) {\n            this.checked = newValue;\n            this.ignoreValueChanges = true;\n            this.value = newValue;\n            this.ignoreValueChanges = false;\n            this.element.dispatchEvent(DOM.createCustomEvent('change', { bubbles: true }));\n        }\n    };\n    UxCheckbox.prototype.getIndeterminate = function () {\n        return this.indeterminate;\n    };\n    UxCheckbox.prototype.setIndeterminate = function (value) {\n        this.indeterminate = !!value;\n    };\n    UxCheckbox.prototype.checkedChanged = function (newValue, oldValue) {\n        if (newValue === oldValue) {\n            return;\n        }\n        if (newValue === true) {\n            this.element.classList.add('ux-checkbox--checked');\n        }\n        else {\n            this.element.classList.remove('ux-checkbox--checked');\n        }\n    };\n    UxCheckbox.prototype.disabledChanged = function (newValue) {\n        if (newValue === true) {\n            this.element.classList.add('ux-checkbox--disabled');\n        }\n        else {\n            this.element.classList.remove('ux-checkbox--disabled');\n        }\n    };\n    UxCheckbox.prototype.focusedChanged = function (newValue) {\n        if (newValue === true) {\n            this.element.classList.add('ux-checkbox--focused');\n        }\n        else {\n            this.element.classList.remove('ux-checkbox--focused');\n        }\n    };\n    UxCheckbox.prototype.themeChanged = function (newValue) {\n        if (newValue != null && newValue.themeKey == null) {\n            newValue.themeKey = 'checkbox';\n        }\n        this.styleEngine.applyTheme(newValue, this.element);\n    };\n    UxCheckbox.prototype.valueChanged = function (newValue) {\n        if (this.ignoreValueChanges) {\n            return;\n        }\n        this.setChecked(newValue);\n    };\n    UxCheckbox.prototype.onMouseDown = function (e) {\n        var _this = this;\n        if (e.button !== 0 || this.isDisabled) {\n            return;\n        }\n        if (this.element.classList.contains('ripple')) {\n            if (this.ripple === null) {\n                this.ripple = new PaperRipple();\n                var container = this.element.querySelector('.ripplecontainer');\n                if (container != null) {\n                    container.appendChild(this.ripple.$);\n                }\n            }\n            this.ripple.center = true;\n            this.ripple.round = true;\n            this.ripple.downAction(e);\n            var winEvents_1 = new ElementEvents(window);\n            var upAction = function () {\n                _this.ripple.upAction();\n                winEvents_1.disposeAll();\n            };\n            winEvents_1.subscribe('blur', upAction);\n            winEvents_1.subscribe('mouseup', upAction, true);\n        }\n        // TODO: 6.2.2020 - Follow up to make sure we don't need to return false / preventDefault ?\n        // https://github.com/aurelia/ux/pull/232#discussion_r375815578\n        return true;\n    };\n    __decorate([\n        bindable\n    ], UxCheckbox.prototype, \"disabled\", void 0);\n    __decorate([\n        bindable\n    ], UxCheckbox.prototype, \"effect\", void 0);\n    __decorate([\n        bindable\n    ], UxCheckbox.prototype, \"id\", void 0);\n    __decorate([\n        bindable\n    ], UxCheckbox.prototype, \"theme\", void 0);\n    __decorate([\n        observable()\n    ], UxCheckbox.prototype, \"checked\", void 0);\n    __decorate([\n        observable()\n    ], UxCheckbox.prototype, \"value\", void 0);\n    __decorate([\n        observable()\n    ], UxCheckbox.prototype, \"focused\", void 0);\n    __decorate([\n        computedFrom('disabled')\n    ], UxCheckbox.prototype, \"isDisabled\", null);\n    UxCheckbox = __decorate([\n        inject(Element, StyleEngine),\n        customElement('ux-checkbox'),\n        useView(PLATFORM.moduleName('./ux-checkbox.html'))\n    ], UxCheckbox);\n    return UxCheckbox;\n}());\nexport { UxCheckbox };\nfunction stopEvent(e) {\n    e.stopPropagation();\n}\nvar getVm = function (_) { return _.au.controller.viewModel; };\nvar uxCheckboxElementProto = Object.create(HTMLElement.prototype, {\n    type: {\n        value: 'checkbox',\n    },\n    checked: {\n        get: function () {\n            return getVm(this).getChecked();\n        },\n        set: function (value) {\n            getVm(this).setChecked(value);\n        }\n    },\n    indeterminate: {\n        get: function () {\n            return getVm(this).getIndeterminate();\n        },\n        set: function (value) {\n            getVm(this).setIndeterminate(value);\n        }\n    }\n});\n//# sourceMappingURL=ux-checkbox.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".ux-checkbox {\\n  display: inline-block;\\n  outline: none;\\n  height: 24px;\\n  width: 24px;\\n  box-sizing: border-box;\\n  position: relative;\\n}\\n\\n.ux-checkbox__inner-input {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 0;\\n  right: 0;\\n  opacity: 0;\\n  width: 100%;\\n  height: 100%;\\n  cursor: pointer;\\n  z-index: 1;\\n}\\n\\n.ux-checkbox__border {\\n  border: solid 2px #616161;\\n  border-color: var(--aurelia-ux--checkbox-border-color, #616161);\\n  border-width: var(--aurelia-ux--checkbox-border-width, 2px);\\n  border-radius: 3px;\\n  display: block;\\n  position: relative;\\n  box-sizing: border-box;\\n  width: 100%;\\n  height: 100%;\\n}\\n\\n.ux-checkbox__background-fill {\\n  transform: scale3d(0, 0, 0);\\n  transition: 100ms;\\n  background-color: #3F51B5;\\n  background-color: var(--aurelia-ux--checkbox-active-color, var(--aurelia-ux--design-primary, #3F51B5));\\n  height: inherit;\\n  width: inherit;\\n}\\n\\n.ux-checkbox__icon,\\n.ux-checkbox__indeterminate-icon {\\n  fill: #fff;\\n  fill: var(--aurelia-ux--checkbox-checkmark-color, var(--aurelia-ux--design-primary-foreground, #fff));\\n  width: 20px;\\n  height: 20px;\\n}\\n\\n.ux-checkbox--checked .ux-checkbox__border,\\n.ux-checkbox--indeterminate .ux-checkbox__border {\\n  border: solid 2px #3F51B5;\\n  border-color: var(--aurelia-ux--checkbox-active-color, var(--aurelia-ux--design-primary, #3F51B5));\\n}\\n\\n.ux-checkbox--checked .ux-checkbox__background-fill,\\n.ux-checkbox--indeterminate .ux-checkbox__background-fill {\\n  transform: none;\\n}\\n\\n.ux-checkbox__inner-input:disabled {\\n  pointer-events: none;\\n  cursor: default;\\n}\\n\\n.ux-checkbox--disabled .ux-checkbox__border {\\n  border-color: #9E9E9E;\\n  border-color: var(--aurelia-ux--checkbox-disabled-background, var(--aurelia-ux--design-disabled-background, #e1e1e1));\\n}\\n\\n.ux-checkbox--disabled .ux-checkbox__background-fill {\\n  background-color: #9E9E9E;\\n  background-color: var(--aurelia-ux--checkbox-disabled-background, var(--aurelia-ux--design-disabled-background, #e1e1e1));\\n}\\n.ux-checkbox--disabled .ux-checkbox__icon,\\n.ux-checkbox--disabled .ux-checkbox__indeterminate-icon {\\n  fill: #CFD8DC;\\n  fill: var(--aurelia-ux--checkbox-disabled-foreground, var(--aurelia-ux--design-disabled-foreground, #CFD8DC));\\n}\\n\\n\\n\\n\\n.ux-checkbox .ripplecontainer {\\n  position: relative;\\n  width: 0;\\n  height: 0;\\n}\\n\\n.ux-checkbox .paper-ripple {\\n  top: auto;\\n  left: auto;\\n  right: -37px;\\n  bottom: -37px;\\n  width: 50px;\\n  height: 50px;\\n  border-radius: 50%;\\n}\\n\\n.ux-checkbox .ripple {\\n  position: absolute;\\n  right: -37px;\\n  bottom: -37px;\\n  width: 50px;\\n  height: 50px;\\n  border-radius: 50%;\\n  pointer-events: none;\\n  background-color: rgba(0, 0, 0, 0.22);\\n  transition: transform 100ms ease-in-out;\\n  transform: scale3d(0, 0, 0);\\n}\\n\\n.ux-checkbox--focused .ripple {\\n  transform: scale3d(1, 1, 1);\\n}\\n\\n.ux-checkbox--disabled .ripple {\\n  transform: scale3d(0, 0, 0);\\n}\\n\\n.ux-checkbox:hover:not(.ux-checkbox--disabled) .ux-checkbox__border {\\n  border: solid 2px #3F51B5;\\n  border-color: var(--aurelia-ux--checkbox-active-color, var(--aurelia-ux--design-primary, #3F51B5));\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"<template \\n  class=\\\"ux-checkbox ${effect !== null ? effect : ''} ${indeterminate ? 'ux-checkbox--indeterminate' : ''}\\\"\\n  >\\n  <require from=\\\"@aurelia-ux/core/effects/paper-ripple.css\\\"></require>\\n  <require from=\\\"./ux-checkbox.css\\\"></require>\\n  <div class=\\\"ripplecontainer\\\">\\n    <span class=\\\"ripple\\\"></span>\\n  </div>\\n\\n  <input type=\\\"checkbox\\\"\\n    ref=\\\"checkbox\\\"\\n    class=\\\"ux-checkbox__inner-input\\\"\\n    checked.bind=\\\"value\\\"\\n    focus.bind=\\\"focused\\\"\\n    indeterminate.bind=\\\"indeterminate\\\"\\n    mousedown.trigger=\\\"onMouseDown($event)\\\"\\n    disabled.bind=\\\"disabled & booleanAttr\\\"\\n    aria-checked=\\\"indeterminate ? 'mixed' : value ? true : false\\\"\\n    aria-disabled.bind=\\\"disabled & booleanAttr\\\">\\n\\n  <div class=\\\"ux-checkbox__border\\\">\\n    <div class=\\\"ux-checkbox__background-fill\\\">\\n      <svg viewBox=\\\"0 0 24 24\\\" class=\\\"ux-checkbox__icon\\\" if.bind=\\\"!indeterminate\\\">\\n        <path d=\\\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\\\" />\\n      </svg>\\n      <svg viewBox=\\\"0 0 24 24\\\" class=\\\"ux-checkbox__indeterminate-icon\\\" if.bind=\\\"indeterminate\\\">\\n        <path d=\\\"M19 13H5v-2h14v2z\\\" />\\n      </svg>\\n    </div>\\n  </div>\\n</template>\\n\";","var UxChipInputTheme = /** @class */ (function () {\n    function UxChipInputTheme() {\n        this.themeKey = 'chip-input';\n    }\n    return UxChipInputTheme;\n}());\nexport { UxChipInputTheme };\n//# sourceMappingURL=ux-chip-input-theme.js.map","var UxChipTheme = /** @class */ (function () {\n    function UxChipTheme() {\n        this.themeKey = 'chip';\n    }\n    return UxChipTheme;\n}());\nexport { UxChipTheme };\n//# sourceMappingURL=ux-chip-theme.js.map","import { PLATFORM } from 'aurelia-framework';\nimport { UxChip } from './ux-chip';\nimport { UxChipInput } from './ux-chip-input';\nexport { UxChipInputTheme } from './ux-chip-input-theme';\nexport { UxChipTheme } from './ux-chip-theme';\nexport { UxChip, UxChipInput };\nexport function configure(config) {\n    config.globalResources([\n        PLATFORM.moduleName('./ux-chip-input'),\n        PLATFORM.moduleName('./ux-chip-list'),\n        PLATFORM.moduleName('./ux-chip')\n    ]);\n}\n//# sourceMappingURL=index.js.map","import { __decorate } from \"tslib\";\nimport { customElement, bindable, observable, useView } from 'aurelia-framework';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nimport { bindingMode } from 'aurelia-binding';\nimport { inject } from 'aurelia-dependency-injection';\nimport { StyleEngine } from '@aurelia-ux/core';\nvar UxChip = /** @class */ (function () {\n    function UxChip(element, styleEngine) {\n        this.element = element;\n        this.styleEngine = styleEngine;\n        this.variant = 'filled';\n        this.selectedIcon = 'check';\n        this.focused = false;\n        this.selected = undefined;\n    }\n    UxChip.prototype.bind = function () {\n        this.themeChanged(this.theme);\n        if (this.element.hasAttribute('deletable')) {\n            this.element.removeAttribute('deletable');\n            this.element.classList.add('ux-chip--deletable');\n        }\n    };\n    UxChip.prototype.attached = function () {\n        var _this = this;\n        this.isFocused = function () {\n            _this.focused = document.activeElement === _this.element;\n        };\n        window.addEventListener('focus', this.isFocused, true);\n        window.addEventListener('blur', this.isFocused, true);\n    };\n    UxChip.prototype.detached = function () {\n        window.removeEventListener('focus', this.isFocused, true);\n        window.removeEventListener('blur', this.isFocused, true);\n    };\n    UxChip.prototype.themeChanged = function (newValue) {\n        if (newValue != null && newValue.themeKey == null) {\n            newValue.themeKey = 'chip';\n        }\n        this.styleEngine.applyTheme(newValue, this.element);\n    };\n    UxChip.prototype.closeChip = function (event) {\n        if (event) {\n            event.stopPropagation();\n        }\n        var closeEvent = DOM.createCustomEvent('close', { bubbles: false });\n        this.element.dispatchEvent(closeEvent);\n    };\n    __decorate([\n        bindable\n    ], UxChip.prototype, \"theme\", void 0);\n    __decorate([\n        bindable\n    ], UxChip.prototype, \"variant\", void 0);\n    __decorate([\n        bindable\n    ], UxChip.prototype, \"selectedIcon\", void 0);\n    __decorate([\n        observable\n    ], UxChip.prototype, \"focused\", void 0);\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.twoWay })\n    ], UxChip.prototype, \"selected\", void 0);\n    UxChip = __decorate([\n        inject(Element, StyleEngine),\n        customElement('ux-chip'),\n        useView(PLATFORM.moduleName('./ux-chip.html'))\n    ], UxChip);\n    return UxChip;\n}());\nexport { UxChip };\n//# sourceMappingURL=ux-chip.js.map","import { __decorate } from \"tslib\";\nimport { customElement, bindable, useView } from 'aurelia-templating';\nimport { bindingMode, observable, computedFrom } from 'aurelia-binding';\nimport { inject } from 'aurelia-dependency-injection';\nimport { StyleEngine, normalizeBooleanAttribute, getBackgroundColorThroughParents } from '@aurelia-ux/core';\n// tslint:disable-next-line: no-submodule-imports\nimport '@aurelia-ux/core/components/ux-input-component.css';\n// tslint:disable-next-line: no-submodule-imports\nimport '@aurelia-ux/core/components/ux-input-component--outline.css';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxChipInput = /** @class */ (function () {\n    function UxChipInput(element, styleEngine) {\n        this.element = element;\n        this.styleEngine = styleEngine;\n        this.disabled = false;\n        this.readonly = false;\n        this.separator = ', ';\n        this.variant = 'filled';\n        this.chipVariant = 'filled';\n        this.dense = false;\n        this.focused = false;\n        this.value = undefined;\n        this.chips = new Array();\n    }\n    UxChipInput.prototype.bind = function () {\n        this.themeChanged(this.theme);\n        this.dense = normalizeBooleanAttribute('dense', this.dense);\n        if (this.value) {\n            this.chips = this.value.split(this.separator);\n        }\n        if (normalizeBooleanAttribute('disabled', this.disabled)) {\n            this.textbox.setAttribute('disabled', '');\n            this.chiprepeat.removeAttribute('deletable');\n            this.tagrepeat.removeAttribute('deletable');\n        }\n        if (normalizeBooleanAttribute('readonly', this.readonly)) {\n            this.textbox.setAttribute('readonly', '');\n            this.chiprepeat.removeAttribute('deletable');\n            this.tagrepeat.removeAttribute('deletable');\n        }\n        this.chipsChanged();\n    };\n    UxChipInput.prototype.attached = function () {\n        this.variantChanged(this.variant);\n    };\n    UxChipInput.prototype.focus = function () {\n        this.focused = true;\n    };\n    UxChipInput.prototype.focusedChanged = function () {\n        this.element.classList.toggle('ux-input-component--focused', this.focused);\n        if (!this.focused) {\n            // blur\n            this.addChip();\n        }\n    };\n    UxChipInput.prototype.handleKeyup = function (event) {\n        var key = event.which || event.keyCode;\n        if (key === 13) {\n            this.addChip();\n            event.stopImmediatePropagation();\n        }\n        if (key === 37) {\n            if (this.chips && this.textbox.value === '') {\n                var chip = this.chips.pop();\n                if (chip !== undefined) {\n                    this.textbox.value = chip;\n                }\n            }\n            event.stopImmediatePropagation();\n        }\n    };\n    UxChipInput.prototype.addChip = function () {\n        if (!this.textbox) {\n            return;\n        }\n        if (this.textbox.value.length) {\n            if (!this.chips) {\n                this.chips = new Array();\n            }\n            this.chips.push(this.textbox.value);\n            this.textbox.value = '';\n            this.chipsChanged();\n        }\n    };\n    UxChipInput.prototype.editChip = function (value) {\n        if (this.textbox.value.length === 0) {\n            this.removeChip(value);\n            this.textbox.value = value;\n            this.chipsChanged();\n        }\n    };\n    UxChipInput.prototype.removeChip = function (value) {\n        var chipIndex = this.chips.indexOf(value, 0);\n        if (chipIndex > -1) {\n            this.chips.splice(chipIndex, 1);\n            this.chipsChanged();\n        }\n    };\n    UxChipInput.prototype.chipsChanged = function () {\n        var chipValue = this.chips.join(this.separator);\n        if (chipValue === '') {\n            chipValue = null;\n        }\n        if (chipValue !== this.value) {\n            this.value = chipValue;\n        }\n        this.element.classList.toggle('ux-input-component--has-value', this.chips.length > 0);\n    };\n    UxChipInput.prototype.valueChanged = function (newValue) {\n        if (newValue && newValue !== this.chips.join(this.separator)) {\n            this.chips = newValue.split(this.separator);\n        }\n    };\n    UxChipInput.prototype.disabledChanged = function (newValue) {\n        if (normalizeBooleanAttribute('disabled', newValue)) {\n            this.textbox.setAttribute('disabled', '');\n            this.chiprepeat.removeAttribute('deletable');\n            this.tagrepeat.removeAttribute('deletable');\n        }\n        else {\n            this.textbox.removeAttribute('disabled');\n            this.chiprepeat.setAttribute('deletable', '');\n            this.tagrepeat.setAttribute('deletable', '');\n        }\n    };\n    UxChipInput.prototype.readonlyChanged = function (newValue) {\n        if (normalizeBooleanAttribute('readonly', newValue)) {\n            this.textbox.setAttribute('readonly', '');\n            this.chiprepeat.removeAttribute('deletable');\n            this.tagrepeat.removeAttribute('deletable');\n        }\n        else {\n            this.textbox.removeAttribute('readonly');\n            this.chiprepeat.setAttribute('deletable', '');\n            this.tagrepeat.setAttribute('deletable', '');\n        }\n    };\n    UxChipInput.prototype.themeChanged = function (newValue) {\n        if (newValue != null && newValue.themeKey == null) {\n            newValue.themeKey = 'chip-input';\n        }\n        this.styleEngine.applyTheme(newValue, this.element);\n    };\n    UxChipInput.prototype.variantChanged = function (newValue) {\n        this.element.style.backgroundColor = newValue === 'outline' ?\n            this.element.style.backgroundColor = getBackgroundColorThroughParents(this.element) :\n            '';\n    };\n    Object.defineProperty(UxChipInput.prototype, \"placeholderMode\", {\n        get: function () {\n            return typeof this.label !== 'string' || this.label.length === 0;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    UxChipInput.prototype.stopEvent = function (event) {\n        event.stopPropagation();\n    };\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"disabled\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"readonly\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"theme\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"label\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"placeholder\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"separator\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"variant\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"chipVariant\", void 0);\n    __decorate([\n        bindable\n    ], UxChipInput.prototype, \"dense\", void 0);\n    __decorate([\n        observable\n    ], UxChipInput.prototype, \"focused\", void 0);\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.twoWay })\n    ], UxChipInput.prototype, \"value\", void 0);\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.twoWay })\n    ], UxChipInput.prototype, \"chips\", void 0);\n    __decorate([\n        computedFrom('label')\n    ], UxChipInput.prototype, \"placeholderMode\", null);\n    UxChipInput = __decorate([\n        inject(Element, StyleEngine),\n        customElement('ux-chip-input'),\n        useView(PLATFORM.moduleName('./ux-chip-input.html'))\n    ], UxChipInput);\n    return UxChipInput;\n}());\nexport { UxChipInput };\n//# sourceMappingURL=ux-chip-input.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".ux-chip-input {\\n  --foreground: var(--aurelia-ux--chip-input-foreground, var(--aurelia-ux--design-control-foreground, #212121));\\n  --foreground-label: var(--aurelia-ux--chip-input-foreground-label, var(--aurelia-ux--design-control-label-color, #757575));\\n  --background: var(--aurelia-ux--chip-input-background, var(--aurelia-ux--design-control-background, #E0E0E0));\\n  --background-hover: var(--aurelia-ux--chip-input-background-hover, #00000027);\\n  --active-color: var(--aurelia-ux--chip-input-active-color, var(--aurelia-ux--design-primary, #3F51B5));\\n\\n  --font-size: var(--aurelia-ux--chip-input-font-size, 16px);\\n  --letter-spacing: var(--aurelia-ux--chip-input-letter-spacing, inherit);\\n  --label-font-size: var(--aurelia-ux--chip-input-label-font-size, 12px);\\n  --label-letter-spacing: var(--aurelia-ux--chip-input-label-letter-spacing, 0.5px);\\n  --line-height: var(--aurelia-ux--chip-input-line-height, 1.6);\\n  --label-line-height: var(--aurelia-ux--chip-input-label-line-height, 1.6);\\n\\n  --border-color: var(--aurelia-ux--chip-input-border-color, var(--aurelia-ux--design-control-label-color, #757575));\\n  --border-radius: var(--aurelia-ux--chip-input-border-radius, 4px);\\n  --border-width: var(--aurelia-ux--chip-input-border-width, 1px);\\n  --border-active-width: var(--aurelia-ux--chip-input-border-active-width, 2px);\\n\\n  --disabled-foreground: var(--aurelia-ux--chip-input-disabled-foreground, var(--aurelia-ux--design-disabled-foreground, #9E9E9E));\\n  --disabled-background: var(--aurelia-ux--chip-input-disabled-background, var(--aurelia-ux--design-disabled-background, #e1e1e1));\\n\\n  --error: var(--aurelia-ux--chip-input-error, var(--aurelia-ux--design-error, #F44336));\\n\\n  --chip-background: var(--aurelia-ux--chip-input-chip-background, #00000027);\\n}\\n\\n\\n.ux-chip-input {\\n  flex-wrap: wrap;\\n  flex-direction: row;\\n}\\n\\n.ux-chip-input .ux-input-component__content {\\n  flex-direction: row;\\n  flex-wrap: wrap;\\n}\\n\\n.ux-chip-input.ux-input-component--filled .ux-input-component__label {\\n  display: flex;\\n  width: 100%;\\n  flex-shrink: 0;\\n}\\n\\n.ux-chip-input .ux-input-component__inner-input {\\n  align-self: stretch;\\n  background: transparent;\\n  border: none;\\n  flex-grow: 1;\\n  min-width: 180px;\\n  width: auto;\\n  padding: 0;\\n}\\n\\n.ux-chip-input .ux-chip {\\n  margin: 3px 6px 3px 0;\\n  cursor: default;\\n  background: var(--chip-background, #00000027);\\n}\\n\\n.ux-chip-input.ux-input-component--has-value .ux-input-component__content {\\n  padding-bottom: 6px;\\n}\\n\\n.ux-chip-input.ux-input-component--placeholder.ux-input-component--has-value .ux-input-component__content,\\n.ux-chip-input.ux-input-component--outline.ux-input-component--has-value .ux-input-component__content {\\n  padding-top: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"<template role=\\\"textbox\\\" \\n  class=\\\"ux-input-component ux-input-component--${variant} ${dense ? 'ux-input-component--dense' : ''} ${placeholderMode ? 'ux-input-component--placeholder' : ''} ux-chip-input\\\"\\n  click.delegate=\\\"focus()\\\">\\n  <require from=\\\"./ux-chip-input.css\\\"></require>\\n\\n  <slot name=\\\"leading-icon\\\"></slot>\\n  <span class=\\\"ux-input-component__content\\\">\\n    <div class=\\\"ux-input-component__label-background\\\" if.bind=\\\"variant === 'outline' && (label || placeholder)\\\" css=\\\"width: ${labelEl.offsetWidth + 6}px;\\\"></div>\\n    <div class=\\\"ux-input-component__label\\\" ref=\\\"labelEl\\\">${label || placeholder}</div>\\n  \\n    <ux-chip deletable\\n      variant=\\\"chipVariant\\\"\\n      ref=\\\"chiprepeat\\\"\\n      close.trigger=\\\"removeChip(chip)\\\"\\n      click.delegate=\\\"stopEvent($event)\\\"\\n      dblclick.trigger=\\\"editChip(chip)\\\"\\n      repeat.for=\\\"chip of chips\\\">\\n      ${chip}\\n    </ux-chip>\\n\\n    <input \\n      show.bind=\\\"focused\\\"\\n      ref=\\\"textbox\\\"\\n      class=\\\"ux-input-component__inner-input\\\"\\n      keyup.delegate=\\\"handleKeyup($event)\\\"\\n      focus.bind=\\\"focused\\\"\\n      disabled.bind=\\\"disabled & booleanAttr\\\"\\n      readonly.bind=\\\"readonly & booleanAttr\\\"\\n      required.bind=\\\"required & booleanAttr\\\">\\n  </span>\\n\\n  <slot name=\\\"trailing-icon\\\"></slot>\\n\\n  <div class=\\\"ux-input-component__border\\\" show.bind=\\\"!(variant === 'filled' && disabled)\\\"></div>\\n</template>\\n\";","import { __decorate } from \"tslib\";\nimport { customElement, bindable, useView } from 'aurelia-templating';\nimport { inject } from 'aurelia-dependency-injection';\nimport { StyleEngine } from '@aurelia-ux/core';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxChipList = /** @class */ (function () {\n    function UxChipList(element, styleEngine) {\n        this.element = element;\n        this.styleEngine = styleEngine;\n        this.type = 'inline';\n    }\n    UxChipList.prototype.bind = function () {\n        this.themeChanged(this.theme);\n    };\n    UxChipList.prototype.themeChanged = function (newValue) {\n        if (newValue != null && newValue.themeKey == null) {\n            newValue.themeKey = 'chip-list';\n        }\n        this.styleEngine.applyTheme(newValue, this.element);\n    };\n    __decorate([\n        bindable\n    ], UxChipList.prototype, \"theme\", void 0);\n    __decorate([\n        bindable\n    ], UxChipList.prototype, \"type\", void 0);\n    UxChipList = __decorate([\n        inject(Element, StyleEngine),\n        customElement('ux-chip-list'),\n        useView(PLATFORM.moduleName('./ux-chip-list.html'))\n    ], UxChipList);\n    return UxChipList;\n}());\nexport { UxChipList };\n//# sourceMappingURL=ux-chip-list.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".ux-chip-list {\\n  display: flex;\\n  flex-wrap: wrap;\\n}\\n\\n.ux-chip-list .ux-chip {\\n  /* display: inline-block; */\\n  margin: 4px;\\n}\\n\\n.ux-chip-list .ux-chip {\\n  cursor: pointer;\\n}\\n\\n/* .ux-chip-list .ux-chip:first-child {\\n  margin-left: 0px;\\n} */\\n\\n/* TYPES */\\n.ux-chip-list--scroll {\\n  overflow-x: auto;\\n  flex-wrap: nowrap;\\n}\\n.ux-chip-list--scroll .ux-chip {\\n  margin-bottom: 0px;\\n}\\n.ux-chip-list--stack {\\n  display: flex;\\n  flex-direction: column;\\n  align-items: flex-start;\\n}\\n.ux-chip-list--stack .ux-chip {\\n  margin-left: 0px;\\n  margin-top: 8px;\\n  margin-bottom: 0px;\\n}\\n.ux-chip-list--stack .ux-chip:first-child {\\n  margin-top: 0px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"<template role=\\\"textbox\\\" class=\\\"ux-chip-list ux-chip-list--${type}\\\">\\n  <require from=\\\"./ux-chip-list.css\\\"></require>\\n  <slot></slot>\\n</template>\\n\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/* Styling is done for the main `filled` variant */\\n/* Outline variant is done in the second part of the file */\\n.ux-chip {\\n  display: inline-flex;\\n  align-items: center;\\n\\n  font-size: 14px;\\n\\n  height: 32px;\\n  border-radius: 100px;\\n\\n  color: #212121;\\n  color: var(--aurelia-ux--chip-foreground, var(--aurelia-ux--design-control-foreground, #212121));\\n  background-color: #E0E0E0;\\n  background-color: var(--aurelia-ux--chip-background, var(--aurelia-ux--design-control-background, #E0E0E0));\\n}\\n\\n.ux-chip__content {\\n  margin: 0 12px;\\n}\\n\\n.ux-chip__thumbnail {\\n  --aurelia-ux--icon-size: var(--aurelia-ux--chip-icon-size, 16px);\\n  display: flex;\\n}\\n\\n.ux-chip__thumbnail > * {\\n  display: none;\\n}\\n\\n.ux-chip__thumbnail > *:first-child {\\n  margin-left: 10px;\\n  display: inline-block;\\n}\\n\\n.ux-chip__thumbnail > .ux_chip__selected_icon {\\n  display: none;\\n}\\n\\n.ux-chip__close {\\n  display: none;\\n}\\n\\n.ux-chip--deletable .ux-chip__content {\\n  margin-right: 0;\\n}\\n\\n.ux-chip--deletable .ux-chip__close {\\n  display: inline-flex;\\n  justify-content: center;\\n  align-items: center;\\n  margin: 0 4px;\\n  color: #EEEEEE;\\n  color: var(--aurelia-ux--chip-delete-foreground, #EEEEEE);\\n  background-color: #9E9E9E;\\n  background-color: var(--aurelia-ux--chip-delete-background, #9E9E9E);\\n  height: 24px;\\n  width: 24px;\\n  border-radius: 24px;\\n  cursor: pointer;\\n}\\n\\n.ux-chip--deletable .ux-chip__close::before {\\n  content: '+';\\n  font-size: 24px;\\n  transform: rotate(45deg);\\n}\\n\\n/* STATES */\\n.ux-chip--focused {\\n  outline: none;\\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);\\n  box-shadow: var(--aurelia-ux--design-elevation4dp, 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2));\\n}\\n\\n.ux-chip--selected,\\n.ux-chip.ux-choice--selected {\\n  background-color: rgba(132, 132, 132, 0.5);\\n  background-color: var(--aurelia-ux--chip-active-color, rgba(132, 132, 132, 0.5));\\n}\\n\\n\\n/* OUTLINE */\\n.ux-chip--outline {\\n  background: transparent;\\n  border-style: solid;\\n  border-color: #757575;\\n  border-color: var(--aurelia-ux--input-foreground-label, var(--aurelia-ux--design-control-label-color, #757575));\\n  border-width: var(--aurelia-ux--input-border-width, 1px);\\n}\\n.ux-chip--outline.ux-chip--selected\\n.ux-chip--outline.ux-choice--selected {\\n  background-color: rgba(132, 132, 132, 0.5);\\n  background-color: var(--aurelia-ux--chip-active-color, rgba(132, 132, 132, 0.5));\\n}\\n\\n\\n/* DISPLAY CHECK ICON FOR MULTIPLE CHIP LIST */\\n.ux-choice-container--multiple .ux-chip__thumbnail > *:first-child {\\n  display: none;\\n}\\n\\n.ux-choice-container--multiple .ux-choice--selected .ux-chip__thumbnail > .ux_chip__selected_icon,\\n.ux-choice-container--multiple .ux-chip--selected .ux-chip__thumbnail > .ux_chip__selected_icon {\\n  margin-left: 10px;\\n  display: inline-block;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"<template\\n  role=\\\"textbox\\\"\\n  class=\\\"ux-chip ux-chip--${variant} ${focused ? 'ux-chip--focused' : ''} ${selected ? 'ux-chip--selected' : ''}\\\">\\n  <require from=\\\"./ux-chip.css\\\"></require>\\n\\n  <span class=\\\"ux-chip__thumbnail\\\">\\n    <slot name=\\\"thumbnail\\\"></slot>\\n    <ux-icon icon=\\\"${selectedIcon}\\\" class=\\\"ux_chip__selected_icon\\\"></ux-icon>\\n  </span>\\n\\n  <span class=\\\"ux-chip__content\\\">\\n    <slot></slot>\\n  </span>\\n\\n  <span class=\\\"ux-chip__close\\\" click.delegate=\\\"closeChip($event)\\\"></span>\\n</template>\\n\";","export var swatches = {\n    red: {\n        p50: '#FFEBEE',\n        p100: '#FFCDD2',\n        p200: '#EF9A9A',\n        p300: '#E57373',\n        p400: '#EF5350',\n        p500: '#F44336',\n        p600: '#E53935',\n        p700: '#D32F2F',\n        p800: '#C62828',\n        p900: '#B71C1C',\n        a100: '#FF8A80',\n        a200: '#FF5252',\n        a400: '#FF1744',\n        a700: '#D50000'\n    },\n    pink: {\n        p50: '#FCE4EC',\n        p100: '#F8BBD0',\n        p200: '#F48FB1',\n        p300: '#F06292',\n        p400: '#EC407A',\n        p500: '#E91E63',\n        p600: '#D81B60',\n        p700: '#C2185B',\n        p800: '#AD1457',\n        p900: '#880E4F',\n        a100: '#FF80AB',\n        a200: '#FF4081',\n        a400: '#F50057',\n        a700: '#C51162'\n    },\n    purple: {\n        p50: '#F3E5F5',\n        p100: '#E1BEE7',\n        p200: '#CE93D8',\n        p300: '#BA68C8',\n        p400: '#AB47BC',\n        p500: '#9C27B0',\n        p600: '#8E24AA',\n        p700: '#7B1FA2',\n        p800: '#6A1B9A',\n        p900: '#4A148C',\n        a100: '#EA80FC',\n        a200: '#E040FB',\n        a400: '#D500F9',\n        a700: '#AA00FF'\n    },\n    deepPurple: {\n        p50: '#EDE7F6',\n        p100: '#D1C4E9',\n        p200: '#B39DDB',\n        p300: '#9575CD',\n        p400: '#7E57C2',\n        p500: '#673AB7',\n        p600: '#5E35B1',\n        p700: '#512DA8',\n        p800: '#4527A0',\n        p900: '#311B92',\n        a100: '#B388FF',\n        a200: '#7C4DFF',\n        a400: '#651FFF',\n        a700: '#6200EA'\n    },\n    indigo: {\n        p50: '#E8EAF6',\n        p100: '#C5CAE9',\n        p200: '#9FA8DA',\n        p300: '#7986CB',\n        p400: '#5C6BC0',\n        p500: '#3F51B5',\n        p600: '#3949AB',\n        p700: '#303F9F',\n        p800: '#283593',\n        p900: '#1A237E',\n        a100: '#8C9EFF',\n        a200: '#536DFE',\n        a400: '#3D5AFE',\n        a700: '#304FFE'\n    },\n    blue: {\n        p50: '#E3F2FD',\n        p100: '#BBDEFB',\n        p200: '#90CAF9',\n        p300: '#64B5F6',\n        p400: '#42A5F5',\n        p500: '#2196F3',\n        p600: '#1E88E5',\n        p700: '#1976D2',\n        p800: '#1565C0',\n        p900: '#0D47A1',\n        a100: '#82B1FF',\n        a200: '#448AFF',\n        a400: '#2979FF',\n        a700: '#2962FF'\n    },\n    lightBlue: {\n        p50: '#E1F5FE',\n        p100: '#B3E5FC',\n        p200: '#81D4FA',\n        p300: '#4FC3F7',\n        p400: '#29B6F6',\n        p500: '#03A9F4',\n        p600: '#039BE5',\n        p700: '#0288D1',\n        p800: '#0277BD',\n        p900: '#01579B',\n        a100: '#80D8FF',\n        a200: '#40C4FF',\n        a400: '#00B0FF',\n        a700: '#0091EA'\n    },\n    cyan: {\n        p50: '#E0F7FA',\n        p100: '#B2EBF2',\n        p200: '#80DEEA',\n        p300: '#4DD0E1',\n        p400: '#26C6DA',\n        p500: '#00BCD4',\n        p600: '#00ACC1',\n        p700: '#0097A7',\n        p800: '#00838F',\n        p900: '#006064',\n        a100: '#84FFFF',\n        a200: '#18FFFF',\n        a400: '#00E5FF',\n        a700: '#00B8D4'\n    },\n    teal: {\n        p50: '#E0F2F1',\n        p100: '#B2DFDB',\n        p200: '#80CBC4',\n        p300: '#4DB6AC',\n        p400: '#26A69A',\n        p500: '#009688',\n        p600: '#00897B',\n        p700: '#00796B',\n        p800: '#00695C',\n        p900: '#004D40',\n        a100: '#A7FFEB',\n        a200: '#64FFDA',\n        a400: '#1DE9B6',\n        a700: '#00BFA5'\n    },\n    green: {\n        p50: '#E8F5E9',\n        p100: '#C8E6C9',\n        p200: '#A5D6A7',\n        p300: '#81C784',\n        p400: '#66BB6A',\n        p500: '#4CAF50',\n        p600: '#43A047',\n        p700: '#388E3C',\n        p800: '#2E7D32',\n        p900: '#1B5E20',\n        a100: '#B9F6CA',\n        a200: '#69F0AE',\n        a400: '#00E676',\n        a700: '#00C853'\n    },\n    lightGreen: {\n        p50: '#F1F8E9',\n        p100: '#DCEDC8',\n        p200: '#C5E1A5',\n        p300: '#AED581',\n        p400: '#9CCC65',\n        p500: '#8BC34A',\n        p600: '#7CB342',\n        p700: '#689F38',\n        p800: '#558B2F',\n        p900: '#33691E',\n        a100: '#CCFF90',\n        a200: '#B2FF59',\n        a400: '#76FF03',\n        a700: '#64DD17'\n    },\n    lime: {\n        p50: '#F9FBE7',\n        p100: '#F0F4C3',\n        p200: '#E6EE9C',\n        p300: '#DCE775',\n        p400: '#D4E157',\n        p500: '#CDDC39',\n        p600: '#C0CA33',\n        p700: '#AFB42B',\n        p800: '#9E9D24',\n        p900: '#827717',\n        a100: '#F4FF81',\n        a200: '#EEFF41',\n        a400: '#C6FF00',\n        a700: '#AEEA00'\n    },\n    yellow: {\n        p50: '#FFFDE7',\n        p100: '#FFF9C4',\n        p200: '#FFF59D',\n        p300: '#FFF176',\n        p400: '#FFEE58',\n        p500: '#FFEB3B',\n        p600: '#FDD835',\n        p700: '#FBC02D',\n        p800: '#F9A825',\n        p900: '#F57F17',\n        a100: '#FFFF8D',\n        a200: '#FFFF00',\n        a400: '#FFEA00',\n        a700: '#FFD600'\n    },\n    amber: {\n        p50: '#FFF8E1',\n        p100: '#FFECB3',\n        p200: '#FFE082',\n        p300: '#FFD54F',\n        p400: '#FFCA28',\n        p500: '#FFC107',\n        p600: '#FFB300',\n        p700: '#FFA000',\n        p800: '#FF8F00',\n        p900: '#FF6F00',\n        a100: '#FFE57F',\n        a200: '#FFD740',\n        a400: '#FFC400',\n        a700: '#FFAB00'\n    },\n    orange: {\n        p50: '#FFF3E0',\n        p100: '#FFE0B2',\n        p200: '#FFCC80',\n        p300: '#FFB74D',\n        p400: '#FFA726',\n        p500: '#FF9800',\n        p600: '#FB8C00',\n        p700: '#F57C00',\n        p800: '#EF6C00',\n        p900: '#E65100',\n        a100: '#FFD180',\n        a200: '#FFAB40',\n        a400: '#FF9100',\n        a700: '#FF6D00'\n    },\n    deepOrange: {\n        p50: '#FBE9E7',\n        p100: '#FFCCBC',\n        p200: '#FFAB91',\n        p300: '#FF8A65',\n        p400: '#FF7043',\n        p500: '#FF5722',\n        p600: '#F4511E',\n        p700: '#E64A19',\n        p800: '#D84315',\n        p900: '#BF360C',\n        a100: '#FF9E80',\n        a200: '#FF6E40',\n        a400: '#FF3D00',\n        a700: '#DD2C00'\n    },\n    brown: {\n        p50: '#EFEBE9',\n        p100: '#D7CCC8',\n        p200: '#BCAAA4',\n        p300: '#A1887F',\n        p400: '#8D6E63',\n        p500: '#795548',\n        p600: '#6D4C41',\n        p700: '#5D4037',\n        p800: '#4E342E',\n        p900: '#3E2723'\n    },\n    grey: {\n        p50: '#FAFAFA',\n        p100: '#F5F5F5',\n        p200: '#EEEEEE',\n        p300: '#E0E0E0',\n        p400: '#BDBDBD',\n        p500: '#9E9E9E',\n        p600: '#757575',\n        p700: '#616161',\n        p800: '#424242',\n        p900: '#212121'\n    },\n    blueGrey: {\n        p50: '#ECEFF1',\n        p100: '#CFD8DC',\n        p200: '#B0BEC5',\n        p300: '#90A4AE',\n        p400: '#78909C',\n        p500: '#607D8B',\n        p600: '#546E7A',\n        p700: '#455A64',\n        p800: '#37474F',\n        p900: '#263238'\n    },\n    black: '#000000',\n    white: '#FFFFFF'\n};\n//# sourceMappingURL=swatches.js.map","export var shadows = {\n    depth_0: 'none',\n    depth_2dp: '0 2px 2px 0 rgba(0, 0, 0, 0.14),' +\n        '0 3px 1px -2px rgba(0, 0, 0, 0.2),' +\n        '0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n    depth_3dp: '0 3px 4px 0 rgba(0, 0, 0, 0.14),' +\n        '0 3px 3px -2px rgba(0, 0, 0, 0.2),' +\n        '0 1px 8px 0 rgba(0, 0, 0, 0.12)',\n    depth_4dp: '0 4px 5px 0 rgba(0, 0, 0, 0.14),' +\n        '0 1px 10px 0 rgba(0, 0, 0, 0.12),' +\n        '0 2px 4px -1px rgba(0, 0, 0, 0.2)',\n    depth_6dp: '0 6px 10px 0 rgba(0, 0, 0, 0.14),' +\n        '0 1px 18px 0 rgba(0, 0, 0, 0.12),' +\n        '0 3px 5px -1px rgba(0, 0, 0, 0.2)',\n    depth_8dp: '0 8px 10px 1px rgba(0, 0, 0, 0.14),' +\n        '0 3px 14px 2px rgba(0, 0, 0, 0.12),' +\n        '0 5px 5px -3px rgba(0, 0, 0, 0.2)',\n    depth_16dp: '0 16px 24px 2px rgba(0, 0, 0, 0.14),' +\n        '0 6px 30px 5px rgba(0, 0, 0, 0.12),' +\n        '0 8px 10px -5px rgba(0, 0, 0, 0.2)',\n    depth_24dp: '0 9px 46px  8px rgba(0, 0, 0, 0.14),' +\n        '0 11px 15px -7px rgba(0, 0, 0, 0.12),' +\n        '0 24px 38px  3px rgba(0, 0, 0, 0.2)',\n    depth_focus: '0 0 8px rgba(0,0,0,.18),' +\n        '0 8px 16px rgba(0,0,0,.36)'\n};\n//# sourceMappingURL=shadows.js.map","import { swatches } from '../colors/swatches';\nimport { shadows } from '../colors/shadows';\nvar IOSDesign = /** @class */ (function () {\n    function IOSDesign() {\n        this.type = 'ios';\n        this.appBackground = swatches.grey.p50;\n        this.appForeground = swatches.grey.p900;\n        this.surfaceBackground = swatches.grey.p100;\n        this.surfaceForeground = swatches.grey.p900;\n        this.controlBackground = swatches.grey.p300;\n        this.controlForeground = swatches.grey.p900;\n        this.controlLabelColor = swatches.grey.p600;\n        this.primary = swatches.indigo.p500;\n        this.primaryForeground = swatches.white;\n        this.primaryLight = swatches.indigo.p100;\n        this.primaryLightForeground = swatches.grey.p500;\n        this.primaryDark = swatches.indigo.p700;\n        this.primaryDarkForeground = swatches.white;\n        this.accent = swatches.pink.a200;\n        this.accentForeground = swatches.white;\n        this.accentLight = swatches.pink.a100;\n        this.accentLightForeground = swatches.white;\n        this.accentDark = swatches.pink.a400;\n        this.accentDarkForeground = swatches.white;\n        this.disabledBackground = swatches.grey.p500;\n        this.disabledForeground = swatches.blueGrey.p100;\n        this.error = swatches.red.p500;\n        this.onError = swatches.white;\n        this.elevationNone = shadows.depth_0;\n        this.elevation2dp = shadows.depth_2dp;\n        this.elevation3dp = shadows.depth_3dp;\n        this.elevation4dp = shadows.depth_4dp;\n        this.elevation6dp = shadows.depth_6dp;\n        this.elevation8dp = shadows.depth_8dp;\n        this.elevation16dp = shadows.depth_16dp;\n        this.elevation24dp = shadows.depth_24dp;\n        this.elevationFocus = shadows.depth_focus;\n    }\n    return IOSDesign;\n}());\nexport { IOSDesign };\n//# sourceMappingURL=ios-design.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { IOSDesign } from '../designs/ios-design';\nvar IOS = /** @class */ (function () {\n    function IOS(design) {\n        this.design = design;\n        this.type = 'ios';\n    }\n    IOS = __decorate([\n        inject(IOSDesign)\n    ], IOS);\n    return IOS;\n}());\nexport { IOS };\n//# sourceMappingURL=ios.js.map","import { swatches } from '../colors/swatches';\nimport { shadows } from '../colors/shadows';\nvar MaterialDesign = /** @class */ (function () {\n    function MaterialDesign() {\n        this.type = 'material';\n        this.appBackground = swatches.grey.p50;\n        this.appForeground = swatches.grey.p900;\n        this.surfaceBackground = swatches.grey.p100;\n        this.surfaceForeground = swatches.grey.p900;\n        this.controlBackground = swatches.grey.p300;\n        this.controlForeground = swatches.grey.p900;\n        this.controlLabelColor = swatches.grey.p600;\n        this.primary = swatches.indigo.p500;\n        this.primaryForeground = swatches.white;\n        this.primaryLight = swatches.indigo.p100;\n        this.primaryLightForeground = swatches.grey.p500;\n        this.primaryDark = swatches.indigo.p700;\n        this.primaryDarkForeground = swatches.white;\n        this.accent = swatches.pink.a200;\n        this.accentForeground = swatches.white;\n        this.accentLight = swatches.pink.a100;\n        this.accentLightForeground = swatches.white;\n        this.accentDark = swatches.pink.a400;\n        this.accentDarkForeground = swatches.white;\n        this.disabledBackground = swatches.grey.p500;\n        this.disabledForeground = swatches.blueGrey.p100;\n        this.error = swatches.red.p500;\n        this.onError = swatches.white;\n        this.elevationNone = shadows.depth_0;\n        this.elevation2dp = shadows.depth_2dp;\n        this.elevation3dp = shadows.depth_3dp;\n        this.elevation4dp = shadows.depth_4dp;\n        this.elevation6dp = shadows.depth_6dp;\n        this.elevation8dp = shadows.depth_8dp;\n        this.elevation16dp = shadows.depth_16dp;\n        this.elevation24dp = shadows.depth_24dp;\n        this.elevationFocus = shadows.depth_focus;\n    }\n    return MaterialDesign;\n}());\nexport { MaterialDesign };\n//# sourceMappingURL=material-design.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { MaterialDesign } from '../designs/material-design';\nvar Android = /** @class */ (function () {\n    function Android(design) {\n        this.design = design;\n        this.type = 'android';\n    }\n    Android = __decorate([\n        inject(MaterialDesign)\n    ], Android);\n    return Android;\n}());\nexport { Android };\n//# sourceMappingURL=android.js.map","import { __decorate } from \"tslib\";\nimport { Container, inject } from 'aurelia-dependency-injection';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nimport { IOS } from '../platforms/ios';\nimport { Android } from '../platforms/android';\nvar Cordova = /** @class */ (function () {\n    function Cordova(container) {\n        this.container = container;\n        this.type = 'cordova';\n    }\n    Object.defineProperty(Cordova.prototype, \"isAvailable\", {\n        get: function () {\n            return !!PLATFORM.global.cordova;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Cordova.prototype.start = function () {\n        var _this = this;\n        return new Promise(function (resolve) {\n            DOM.addEventListener('deviceready', function () {\n                switch (_this.getPlatformType()) {\n                    case 'ios':\n                        resolve(_this.container.get(IOS));\n                        break;\n                    default:\n                        resolve(_this.container.get(Android));\n                        break;\n                }\n            }, false);\n        });\n    };\n    Cordova.prototype.getPlatformType = function () {\n        var device = PLATFORM.global.device || { platform: 'android' };\n        return device.platform.toLowerCase();\n    };\n    Cordova = __decorate([\n        inject(Container)\n    ], Cordova);\n    return Cordova;\n}());\nexport { Cordova };\n//# sourceMappingURL=cordova.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { MaterialDesign } from '../designs/material-design';\nvar Web = /** @class */ (function () {\n    function Web(design) {\n        this.design = design;\n        this.type = 'web';\n        this.isAvailable = true;\n    }\n    Web.prototype.start = function () {\n        var _this = this;\n        return Promise.resolve().then(function () { return _this; });\n    };\n    Web = __decorate([\n        inject(MaterialDesign)\n    ], Web);\n    return Web;\n}());\nexport { Web };\n//# sourceMappingURL=web.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { MaterialDesign } from '../designs/material-design';\nimport { Web } from './web';\nimport { PLATFORM } from 'aurelia-pal';\nvar Electron = /** @class */ (function () {\n    function Electron() {\n        this.type = 'electron';\n    }\n    Object.defineProperty(Electron.prototype, \"isAvailable\", {\n        get: function () {\n            var p = PLATFORM.global.process;\n            return p && p.versions && p.versions.electron;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Electron.prototype.start = function (config) {\n        return Promise.resolve().then(function () { return config.container.get(Web); });\n    };\n    Electron = __decorate([\n        inject(MaterialDesign)\n    ], Electron);\n    return Electron;\n}());\nexport { Electron };\n//# sourceMappingURL=electron.js.map","import { getLogger } from 'aurelia-logging';\nimport { DOM } from 'aurelia-pal';\nvar GlobalStyleEngine = /** @class */ (function () {\n    function GlobalStyleEngine() {\n        this.logger = getLogger('aurelia-ux');\n        this.globalStyles = [];\n        this.styleTag = DOM.querySelector('#aurelia-ux-core');\n        if (this.styleTag == null) {\n            this.styleTag = DOM.createElement('style');\n            this.styleTag.type = 'text/css';\n            this.styleTag.id = 'aurelia-ux-core';\n            DOM.appendNode(this.styleTag, document.head);\n        }\n    }\n    GlobalStyleEngine.prototype.addOrUpdateGlobalStyle = function (id, css, tagGroup) {\n        if (id === undefined || css === undefined) {\n            this.logger.warn('AddOrUpdateGlobalStyle: The parameters id and css must both be provided.', { id: id, css: css });\n        }\n        var index = this.globalStyles.findIndex(function (t) { return t.id === id; });\n        if (index > -1) {\n            var globalStyle = this.globalStyles[index];\n            globalStyle.css = css;\n            globalStyle.tagGroup = tagGroup;\n        }\n        else {\n            this.globalStyles.push({ id: id, css: css, tagGroup: tagGroup });\n        }\n        this.updateGlobalStyleElement();\n    };\n    GlobalStyleEngine.prototype.removeGlobalStyle = function (id) {\n        if (id === undefined) {\n            this.logger.warn('removeGlobalStyle: The id parameter must be provided.', { id: id });\n        }\n        var index = this.globalStyles.findIndex(function (t) { return t.id === id; });\n        if (index > -1) {\n            this.globalStyles.splice(index, 1);\n        }\n        this.updateGlobalStyleElement();\n    };\n    GlobalStyleEngine.prototype.updateGlobalStyleElement = function () {\n        var globalStyleGroups = this.globalStyles.reduce(function (groups, globalStyle) {\n            var tagGroup = globalStyle['tagGroup'] || '';\n            groups[tagGroup] = groups[tagGroup] || [];\n            groups[tagGroup].push(globalStyle);\n            return groups;\n        }, {});\n        var innerHtml = '';\n        for (var _i = 0, _a = Object.keys(globalStyleGroups); _i < _a.length; _i++) {\n            var key = _a[_i];\n            if (key !== '') {\n                innerHtml += key + \" {\\r\\n\";\n            }\n            for (var _b = 0, _c = globalStyleGroups[key]; _b < _c.length; _b++) {\n                var globalStyle = _c[_b];\n                innerHtml += \"/*** \" + globalStyle.id + \" styles ***/\\r\\n\";\n                innerHtml += globalStyle.css + \"\\r\\n\\r\\n\";\n            }\n            if (key !== '') {\n                innerHtml += '}';\n            }\n        }\n        this.styleTag.innerHTML = innerHtml;\n    };\n    return GlobalStyleEngine;\n}());\nexport { GlobalStyleEngine };\n//# sourceMappingURL=global-style-engine.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { Loader } from 'aurelia-loader';\nimport { GlobalStyleEngine } from './styles/global-style-engine';\nimport './styles/normalize.css';\nvar UXConfiguration = /** @class */ (function () {\n    function UXConfiguration() {\n    }\n    UXConfiguration.prototype.defaultConfiguration = function () {\n        return this;\n    };\n    UXConfiguration = __decorate([\n        inject(Loader, GlobalStyleEngine)\n    ], UXConfiguration);\n    return UXConfiguration;\n}());\nexport { UXConfiguration };\n//# sourceMappingURL=ux-configuration.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { ObserverLocator } from 'aurelia-binding';\nimport { swatches } from '../colors/swatches';\nimport { GlobalStyleEngine } from '../styles/global-style-engine';\nvar DesignProcessor = /** @class */ (function () {\n    function DesignProcessor(observerLocator, globalStyleEngine) {\n        this.observerLocator = observerLocator;\n        this.globalStyleEngine = globalStyleEngine;\n    }\n    DesignProcessor.prototype.setSwatchVariables = function () {\n        var swatchClasses = '';\n        for (var swatch in swatches) {\n            if (swatches.hasOwnProperty(swatch)) {\n                if (typeof swatches[swatch] === 'string') {\n                    swatchClasses += \"  --ux-swatch--\" + kebabCase(swatch) + \": \" + swatches[swatch] + \";\\r\\n\";\n                    continue;\n                }\n                for (var key in swatches[swatch]) {\n                    if (swatches[swatch].hasOwnProperty(key)) {\n                        swatchClasses += \"  --ux-swatch--\" + kebabCase(swatch) + \"-\" + kebabCase(key) + \": \" + swatches[swatch][key] + \";\\r\\n\";\n                    }\n                }\n            }\n        }\n        this.globalStyleEngine.addOrUpdateGlobalStyle(\"aurelia-ux swatches\", swatchClasses, ':root');\n    };\n    DesignProcessor.prototype.setDesignVariables = function (design) {\n        this.globalStyleEngine.addOrUpdateGlobalStyle(\"aurelia-ux design styles\", this.buildInnerHTML(design), ':root');\n    };\n    DesignProcessor.prototype.setDesignWatches = function (design) {\n        var _this = this;\n        for (var key in design) {\n            if (design.hasOwnProperty(key)) {\n                this.observerLocator.getObserver(design, key)\n                    .subscribe(function () {\n                    _this.globalStyleEngine.addOrUpdateGlobalStyle(\"aurelia-ux design styles\", _this.buildInnerHTML(design), ':root');\n                });\n            }\n        }\n    };\n    DesignProcessor.prototype.buildInnerHTML = function (design) {\n        var designInnerHtml = '';\n        for (var key in design) {\n            if (design.hasOwnProperty(key) && typeof design[key] === 'string' && design[key] !== '') {\n                designInnerHtml += \"  --aurelia-ux--design-\" + kebabCase(key) + \": \" + design[key] + \";\\r\\n\";\n            }\n        }\n        return designInnerHtml;\n    };\n    DesignProcessor = __decorate([\n        inject(ObserverLocator, GlobalStyleEngine)\n    ], DesignProcessor);\n    return DesignProcessor;\n}());\nexport { DesignProcessor };\nfunction kebabCase(value) {\n    value = value.charAt(0).toLowerCase() + value.slice(1);\n    return value.replace(/([A-Z])/g, function (match) { return \"-\" + match[0].toLowerCase(); });\n}\n//# sourceMappingURL=design-processor.js.map","import { __decorate } from \"tslib\";\nimport { Container, inject } from 'aurelia-dependency-injection';\nimport { ObserverLocator } from 'aurelia-framework';\nimport { SyntaxInterpreter } from 'aurelia-templating-binding';\nimport { Cordova } from './hosts/cordova';\nimport { Web } from './hosts/web';\nimport { Electron } from './hosts/electron';\nimport { UXConfiguration } from './ux-configuration';\nimport { DesignProcessor } from './designs/design-processor';\nvar AureliaUX = /** @class */ (function () {\n    function AureliaUX(use, container, designProcessor, observerLocator) {\n        this.use = use;\n        this.designProcessor = designProcessor;\n        this.observerLocator = observerLocator;\n        this.adapterCreated = false;\n        this.adapters = {};\n        this.availableHosts = [\n            container.get(Cordova),\n            container.get(Electron),\n            container.get(Web)\n        ];\n    }\n    AureliaUX.prototype.createAdapter = function () {\n        var _this = this;\n        this.observerLocator.addAdapter({\n            getObserver: function (obj, propertyName, descriptor) {\n                if (obj instanceof Element) {\n                    var tagName = obj.getAttribute('as-element') || obj.tagName;\n                    var elAdapters = _this.adapters[tagName];\n                    if (!elAdapters) {\n                        return null;\n                    }\n                    var propertyAdapter = elAdapters.properties[propertyName];\n                    if (propertyAdapter) {\n                        var observer = propertyAdapter.getObserver(obj, propertyName, _this.observerLocator, descriptor);\n                        if (observer) {\n                            return observer;\n                        }\n                    }\n                }\n                return null;\n            }\n        });\n    };\n    AureliaUX.prototype.getOrCreateUxElementAdapters = function (tagName) {\n        if (!this.adapterCreated) {\n            this.createAdapter();\n            this.adapterCreated = true;\n        }\n        var adapters = this.adapters;\n        var elementAdapters = adapters[tagName] || adapters[tagName.toLowerCase()];\n        if (!elementAdapters) {\n            elementAdapters = adapters[tagName] = adapters[tagName.toLowerCase()] = { tagName: tagName, properties: {} };\n        }\n        return elementAdapters;\n    };\n    AureliaUX.prototype.interceptDetermineDefaultBindingMode = function () {\n        // tslint:disable-next-line\n        var ux = this;\n        var originalFn = SyntaxInterpreter.prototype.determineDefaultBindingMode;\n        SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) {\n            var tagName = element.getAttribute('as-element') || element.tagName;\n            var elAdapters = ux.adapters[tagName];\n            if (elAdapters) {\n                var propertyAdapter = elAdapters.properties[attrName];\n                if (propertyAdapter) {\n                    return propertyAdapter.defaultBindingMode;\n                }\n            }\n            return originalFn.call(this, element, attrName, context);\n        };\n    };\n    AureliaUX.prototype.start = function (config) {\n        var _this = this;\n        var found = this.availableHosts.find(function (x) { return x.isAvailable; });\n        if (found === undefined) {\n            throw new Error('Could not determine host environment');\n        }\n        this.host = found;\n        return this.host.start(config).then(function (platform) {\n            _this.platform = platform;\n            _this.design = platform.design;\n            _this.designProcessor.setSwatchVariables();\n            _this.designProcessor.setDesignVariables(platform.design);\n            _this.designProcessor.setDesignWatches(platform.design);\n            return _this;\n        });\n    };\n    AureliaUX.prototype.addUxElementObserverAdapter = function (tagName, properties) {\n        if (!this.adapterCreated) {\n            this.createAdapter();\n            this.adapterCreated = true;\n        }\n        var elementAdapters = this.getOrCreateUxElementAdapters(tagName);\n        Object.assign(elementAdapters.properties, properties);\n    };\n    AureliaUX.prototype.registerUxElementConfig = function (observerAdapter) {\n        if (!this.bindingModeIntercepted) {\n            this.interceptDetermineDefaultBindingMode();\n            this.bindingModeIntercepted = true;\n        }\n        this.addUxElementObserverAdapter(observerAdapter.tagName.toUpperCase(), observerAdapter.properties);\n    };\n    AureliaUX = __decorate([\n        inject(UXConfiguration, Container, DesignProcessor, ObserverLocator)\n    ], AureliaUX);\n    return AureliaUX;\n}());\nexport { AureliaUX };\n//# sourceMappingURL=aurelia-ux.js.map","import { __decorate } from \"tslib\";\nimport { bindingBehavior } from 'aurelia-binding';\nvar BooleanBB = /** @class */ (function () {\n    function BooleanBB() {\n    }\n    BooleanBB.prototype.bind = function (binding) {\n        binding.targetObserver = new BooleanAttributeObserver(binding.target, binding.targetProperty);\n    };\n    BooleanBB.prototype.unbind = function () {\n        // Empty\n    };\n    BooleanBB = __decorate([\n        bindingBehavior('booleanAttr')\n    ], BooleanBB);\n    return BooleanBB;\n}());\nexport { BooleanBB };\nvar BooleanAttributeObserver = /** @class */ (function () {\n    function BooleanAttributeObserver(element, attr) {\n        this.element = element;\n        this.attr = attr;\n        this.useString = /(?:^data-)|(?:^aria-)|\\w+:/.test(attr);\n    }\n    BooleanAttributeObserver.prototype.getValue = function () {\n        var val = this.element.getAttribute(this.attr);\n        return val || val === '' ? true : false;\n    };\n    BooleanAttributeObserver.prototype.setValue = function (newValue) {\n        if (newValue || newValue === '') {\n            return this.element.setAttribute(this.attr, this.useString ? 'true' : '');\n        }\n        return this.useString ? this.element.setAttribute(this.attr, 'false') : this.element.removeAttribute(this.attr);\n    };\n    BooleanAttributeObserver.prototype.subscribe = function () {\n        var msg = \"Observation of a \\\"\" + this.element.nodeName + \"\\\" element's \\\"\" + this.attr + \"\\\" attribute is not supported.\";\n        throw new Error(msg);\n    };\n    return BooleanAttributeObserver;\n}());\n//# sourceMappingURL=boolean-attr-binding-behavior.js.map","export function processDesignAttributes(_, __, node, attributes, ___) {\n    var prefix = 'material-'; // TODO: get this from somewhere\n    var length = prefix.length;\n    // tslint:disable:prefer-const\n    for (var i = 0, ii = attributes.length; i < ii; ++i) {\n        var current = attributes[i];\n        if (current.name.indexOf(prefix) === 0) {\n            var realName = current.name.substring(length);\n            node.setAttribute(realName, current.value);\n        }\n    }\n    // tslint:enable:prefer-const\n    return true;\n}\n//# sourceMappingURL=design-attributes.js.map","/**\n * Provides the utilities for getting element's metrics.\n */\nvar ElementRect = /** @class */ (function () {\n    /**\n     * Initializes a new instance of the `ElementRect` class with the specified `element`.\n     */\n    function ElementRect(element) {\n        this.element = element;\n        var rect = this.boundingRect;\n        this.width = rect.width;\n        this.height = rect.height;\n        this.size = Math.max(this.width, this.height);\n    }\n    Object.defineProperty(ElementRect.prototype, \"center\", {\n        /**\n         * Returns the center coordinates of the current element.\n         */\n        get: function () {\n            return {\n                x: this.width / 2,\n                y: this.height / 2\n            };\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(ElementRect.prototype, \"boundingRect\", {\n        /**\n         * Returns the size of the current element and its position relative to the viewport.\n         */\n        get: function () {\n            return this.element.getBoundingClientRect();\n        },\n        enumerable: false,\n        configurable: true\n    });\n    /**\n     * Calculates euclidean distance between two points.\n     * @param point1 - Start point\n     * @param point2 - End point\n     * @returns Distance between two points.\n     */\n    ElementRect.euclideanDistance = function (point1, point2) {\n        return Math.sqrt(Math.pow(point1.x - point2.x, 2) + Math.pow(point1.y - point2.y, 2));\n    };\n    /**\n     * Calculates the distance between given point and farthest corner of the current element.\n     * @param The point object containing x and y coordinates.\n     * @returns Distance from a point to the container's farthest corner.\n     */\n    ElementRect.prototype.distanceToFarthestCorner = function (_a) {\n        var _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c;\n        return Math.max(ElementRect.euclideanDistance({ x: x, y: y }, { x: 0, y: 0 }), ElementRect.euclideanDistance({ x: x, y: y }, { x: this.width, y: 0 }), ElementRect.euclideanDistance({ x: x, y: y }, { x: 0, y: this.height }), ElementRect.euclideanDistance({ x: x, y: y }, { x: this.width, y: this.height }));\n    };\n    /**\n     * Determines if the specified point is contained within this element.\n     * @param {(Event|Object)} ev - The object containing coordinates of the point.\n     * @param {Number} ev.x - The `x` coordinate of the point.\n     * @param {Number} ev.y - The `y` coordinate of the point.\n     * @param {Number} ev.clientX - The `x` coordinate of the point.\n     * @param {Number} ev.clientY - The `y` coordinate of the point.\n     * @returns {Boolean} Returns `true` if the `x` and `y` coordinates of point is a\n     * point inside this element's rectangle, otherwise `false`.\n     */\n    ElementRect.prototype.contains = function (ev) {\n        var rect = this.boundingRect;\n        var l = rect.left;\n        var t = rect.top;\n        var w = rect.width;\n        var h = rect.height;\n        var x = ev.x || ev.clientX || 0;\n        var y = ev.y || ev.clientY || 0;\n        return x >= l && x <= l + w && y >= t && y <= t + h;\n    };\n    return ElementRect;\n}());\nexport { ElementRect };\n//# sourceMappingURL=element-rect.js.map","import { PLATFORM, DOM } from 'aurelia-pal';\nimport { ElementRect } from './element-rect';\n/**\n * Provides all the logic to produce a one-time rippling effect.\n */\nvar PaperWave = /** @class */ (function () {\n    /**\n     * Initializes a new instance of the `PaperWave` class with the specified `PaperRipple` instance.\n     */\n    function PaperWave(options) {\n        this.color = DOM.getComputedStyle(options.$).color;\n        this.containerRect = new ElementRect(options.$);\n        this.recenters = options.recenters || false;\n        this.center = options.center || false;\n        this.initialOpacity = options.initialOpacity || 0.25;\n        this.opacityDecayVelocity = options.opacityDecayVelocity || 0.8;\n        this.$wave = DOM.createElement('div');\n        this.$wave.classList.add('paper-ripple__wave');\n        this.$wave.style.backgroundColor = this.color;\n        this.$ = DOM.createElement('div');\n        this.$.classList.add('paper-ripple__wave-container');\n        this.$.appendChild(this.$wave);\n        this.resetDefaults();\n    }\n    Object.defineProperty(PaperWave.prototype, \"touchDownElapsed\", {\n        /**\n         * Gets the time in milliseconds elapsed from the moment where interaction with the wave was started.\n         * @returns The time in milliseconds.\n         */\n        get: function () {\n            if (!this.touchDownStarted) {\n                return 0;\n            }\n            var elapsed = PLATFORM.performance.now() - this.touchDownStarted;\n            if (this.touchUpStarted) {\n                elapsed -= this.touchUpElapsed;\n            }\n            return elapsed;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"touchUpElapsed\", {\n        /**\n         * Gets the time in milliseconds elapsed from the moment where interaction with the wave was ended.\n         * @returns The time in milliseconds.\n         */\n        get: function () {\n            return this.touchUpStarted ? PLATFORM.performance.now() - this.touchUpStarted : 0;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"touchDownElapsedSeconds\", {\n        /**\n         * Gets the time in seconds elapsed since the moment where interaction with the wave was started.\n         * @returns The time in seconds.\n         */\n        get: function () {\n            return this.touchDownElapsed / 1000;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"touchUpElapsedSeconds\", {\n        /**\n         * Gets the time in seconds elapsed since the moment where interaction with the wave was ended.\n         * @returns The time in seconds.\n         */\n        get: function () {\n            return this.touchUpElapsed / 1000;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"mouseInteractionSeconds\", {\n        /**\n         * Gets the total interaction time.\n         * @returns The time in seconds\n         */\n        get: function () {\n            return this.touchDownElapsedSeconds + this.touchUpElapsedSeconds;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"radius\", {\n        /**\n         * Gets the wave's radius at the current time.\n         *\n         * @returns {Number} The value of the wave's radius.\n         */\n        get: function () {\n            var radius = Math.min(Math.sqrt(Math.pow(this.containerRect.width, 2) + Math.pow(this.containerRect.height, 2)), PaperWave.MAX_RADIUS) * 1.1 + 5;\n            var elapsed = 1.1 - 0.2 * (radius / PaperWave.MAX_RADIUS);\n            var currentTime = this.mouseInteractionSeconds / elapsed;\n            var actualRadius = radius * (1 - Math.pow(80, -currentTime));\n            return Math.abs(actualRadius);\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"opacity\", {\n        /**\n         * Gets the wave's opacity at the current time.\n         * @returns The value of the wave's opacity.\n         */\n        get: function () {\n            if (!this.touchUpStarted) {\n                return this.initialOpacity;\n            }\n            return Math.max(0, this.initialOpacity - this.touchUpElapsedSeconds * this.opacityDecayVelocity);\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"outerOpacity\", {\n        /**\n         * Gets the wave's outer opacity at the current time.\n         * @returns The value of the wave's outer opacity.\n         */\n        get: function () {\n            return Math.max(0, Math.min(this.touchUpElapsedSeconds * 0.3, this.opacity));\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"isWaveFullyOpaque\", {\n        /**\n         * Determines whether the wave is fully opaque or not.\n         * @returns `true`, if so, otherwise `false`.\n         */\n        get: function () {\n            return this.opacity < 0.01 && this.radius >= Math.min(this.maxRadius, PaperWave.MAX_RADIUS);\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"isMaxRadiusReached\", {\n        /**\n         * Determines whether the wave reached its max radius or not.\n         * @returns `true`, if so, otherwise `false`.\n         */\n        get: function () {\n            return this.opacity >= this.initialOpacity && this.radius >= Math.min(this.maxRadius, PaperWave.MAX_RADIUS);\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"isAnimationComplete\", {\n        /**\n         * Determines whether the animation of rippling effect completed or not.\n         * @returns `true`, if so, otherwise `false`.\n         */\n        get: function () {\n            return this.touchUpStarted ? this.isWaveFullyOpaque : this.isMaxRadiusReached;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"translationFraction\", {\n        /**\n         * Gets the wave's translation fraction value.\n         * @returns The value of the wave's translation fraction.\n         */\n        get: function () {\n            return Math.min(1, this.radius / this.containerRect.size * 2 / Math.sqrt(2));\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"currentPosition\", {\n        /**\n         * Gets the wave's current position.\n         * @returns {{x: Number, y: Number}} Object containing coordinates of the wave's current position.\n         */\n        get: function () {\n            var translateFraction = this.translationFraction;\n            var x = this.startPosition.x;\n            var y = this.startPosition.y;\n            if (this.endPosition.x) {\n                x = this.startPosition.x + translateFraction * (this.endPosition.x - this.startPosition.x);\n            }\n            if (this.endPosition.y) {\n                y = this.startPosition.y + translateFraction * (this.endPosition.y - this.startPosition.y);\n            }\n            return { x: x, y: y };\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperWave.prototype, \"isTouchDown\", {\n        /**\n         * Determines whether the pointing device is still in interaction with the current wave.\n         *\n         * @returns {Boolean} `true`, if so, otherwise `false`.\n         */\n        get: function () {\n            return this.touchDownStarted && !this.touchUpStarted;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    /**\n     * Resets all the wave's values.\n     * @returns Current instance for method chaining.\n     */\n    PaperWave.prototype.resetDefaults = function () {\n        this.maxRadius = 0;\n        this.touchDownStarted = 0;\n        this.touchUpStarted = 0;\n        this.startPosition = { x: 0, y: 0 };\n        this.endPosition = { x: 0, y: 0 };\n        return this;\n    };\n    /**\n     * Performs updating of the wave's values.\n     * @returns Current instance for method chaining.\n     */\n    PaperWave.prototype.draw = function () {\n        var scaleFactor = this.radius / (this.containerRect.size / 2);\n        var containerCenter = this.containerRect.center;\n        var currentPos = this.currentPosition;\n        var deltaPos = {\n            x: currentPos.x - containerCenter.x,\n            y: currentPos.y - containerCenter.y\n        };\n        this.$wave.style.opacity = this.opacity.toString();\n        // cssString = 'translate(' + deltaPos.x + 'px, ' + deltaPos.y + 'px)';\n        // this.$.style.webkitTransform = cssString;\n        // this.$.style.mozTransform = cssString;\n        // this.$.style.msTransform = cssString;\n        // this.$.style.oTransform = cssString;\n        this.$.style.transform = 'translate3d(' + deltaPos.x + 'px, ' + deltaPos.y + 'px, 0)';\n        // cssString = 'scale(' + scaleFactor + ',' + scaleFactor + ')';\n        // this.$wave.style.webkitTransform = cssString;\n        // this.$wave.style.mozTransform = cssString;\n        // this.$wave.style.msTransform = cssString;\n        // this.$wave.style.oTransform = cssString;\n        this.$wave.style.transform = 'scale3d(' + scaleFactor + ',' + scaleFactor + ', 1)';\n        return this;\n    };\n    /**\n     * Performs ripple-down effect on the current wave.\n     * @param An object containing coordinates of interaction point to set start position of ripple effect.\n     * @returns Current instance for method chaining.\n     */\n    PaperWave.prototype.downAction = function (event) {\n        if (event === void 0) { event = null; }\n        var containerCenter = this.containerRect.center;\n        this.resetDefaults();\n        this.touchDownStarted = PLATFORM.performance.now();\n        this.startPosition = this.center || !event ?\n            containerCenter :\n            {\n                x: (event.clientX || event.x) - this.containerRect.boundingRect.left,\n                y: (event.clientY || event.y) - this.containerRect.boundingRect.top\n            };\n        this.endPosition = this.recenters ? containerCenter : this.endPosition;\n        this.maxRadius = this.containerRect.distanceToFarthestCorner(this.startPosition);\n        this.$.style.top = (this.containerRect.height - this.containerRect.size) / 2 + 'px';\n        this.$.style.left = (this.containerRect.width - this.containerRect.size) / 2 + 'px';\n        this.$.style.width = this.containerRect.size + 'px';\n        this.$.style.height = this.containerRect.size + 'px';\n        return this;\n    };\n    /**\n     * Performs ripple-up effect on the current wave.\n     * @returns Current instance for method chaining.\n     */\n    PaperWave.prototype.upAction = function () {\n        if (!this.isTouchDown) {\n            return this;\n        }\n        this.touchUpStarted = PLATFORM.performance.now();\n        return this;\n    };\n    /**\n     * Removes the wave from a DOM.\n     * @returns Current instance for method chaining.\n     */\n    PaperWave.prototype.remove = function () {\n        this.$.parentNode.removeChild(this.$);\n        return this;\n    };\n    /**\n     * Represents the max possible value of the wave's radius.\n     */\n    PaperWave.MAX_RADIUS = 300;\n    return PaperWave;\n}());\nexport { PaperWave };\n//# sourceMappingURL=paper-wave.js.map","import { PaperWave } from './paper-wave';\nimport { PLATFORM } from 'aurelia-pal';\n/**\n * Provides all the logic to produce ripple visual effect.\n * Other elements can use it to simulate rippling effect emanating from the point of contact.\n */\nvar PaperRipple = /** @class */ (function () {\n    /**\n     * Initializes a new instance of the `PaperRipple` class with the specified `config` object.\n     */\n    function PaperRipple(cfg) {\n        if (cfg === void 0) { cfg = {}; }\n        this.waves = [];\n        this.initialOpacity = cfg.initialOpacity || 0.25;\n        this.opacityDecayVelocity = cfg.opacityDecayVelocity || 0.8;\n        this.initTarget(cfg && cfg.nodeType ? cfg : cfg.target && cfg.target.nodeType ? cfg.target : null);\n        this.recenters = cfg.recenters || this.recenters;\n        this.center = cfg.center || this.center;\n        this.round = cfg.round || this.round;\n    }\n    Object.defineProperty(PaperRipple.prototype, \"recenters\", {\n        /**\n         * Determines whether all the waves should be re-centered towards the center of the container.\n         * @returns If `true`, waves will exhibit a gravitational pull towards the center of the container as they fade away.\n         */\n        get: function () {\n            return this.$.hasAttribute('recenters');\n        },\n        /**\n         * Sets the value that indicates whether all the waves should be re-centered towards the center of the container.\n         * @returns Nothing.\n         */\n        set: function (newValue) {\n            if (newValue) {\n                this.$.setAttribute('recenters', '');\n            }\n            else {\n                this.$.removeAttribute('recenters');\n            }\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperRipple.prototype, \"center\", {\n        /**\n         * Determines whether all the waves should start a movement from the center of the container.\n         * @returns If `true`, waves will center inside its container\n         */\n        get: function () {\n            return this.$.hasAttribute('center');\n        },\n        /**\n         * Sets the value that indicates whether all the waves should start a movement from the center of the container.\n         * @returns Nothing.\n         */\n        set: function (newValue) {\n            if (newValue) {\n                this.$.setAttribute('center', '');\n            }\n            else {\n                this.$.removeAttribute('center');\n            }\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperRipple.prototype, \"round\", {\n        /**\n         * Determines whether ripple effect should apply within a circle.\n         * @returns If `true`, ripple effect will apply within a circle.\n         */\n        get: function () {\n            return this.$.classList.contains('paper-ripple--round');\n        },\n        /**\n         * Sets the value that indicates whether ripple effect should apply within a circle.\n         * @returns Nothing.\n         */\n        set: function (newValue) {\n            this.$.classList.toggle('paper-ripple--round', newValue);\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PaperRipple.prototype, \"shouldKeepAnimating\", {\n        /**\n         * Determines whether the ripple should keep animating or not.\n         * @returns `true`, if so, otherwise `false`.\n         */\n        get: function () {\n            return this.waves.some(function (wave) { return !wave.isAnimationComplete; });\n        },\n        enumerable: false,\n        configurable: true\n    });\n    PaperRipple.prototype.initTarget = function (target) {\n        if (target === void 0) { target = null; }\n        var doc = PLATFORM.global.document;\n        this.$ = target || doc.createElement('div');\n        this.$.classList.add('paper-ripple');\n        if (!this.$background) {\n            this.$background = target &&\n                target.querySelector('.paper-ripple__background') || doc.createElement('div');\n            this.$background.classList.add('paper-ripple__background');\n            this.$.appendChild(this.$background);\n        }\n        if (!this.$waves) {\n            this.$waves = target &&\n                target.querySelector('.paper-ripple__waves') || doc.createElement('div');\n            this.$waves.classList.add('paper-ripple__waves');\n            this.$.appendChild(this.$waves);\n        }\n        return this;\n    };\n    /**\n     * Adds new wave to the list of visual ripples.\n     * @returns Current instance for method chaining.\n     */\n    PaperRipple.prototype.addWave = function () {\n        var wave = new PaperWave(this);\n        this.$waves.appendChild(wave.$);\n        this.$background.style.backgroundColor = wave.color;\n        this.waves.push(wave);\n        return wave;\n    };\n    /**\n     * Produces a ripple-down effect.\n     *\n     * @param  ev Object containing coordinates of the point of contact.\n     * @returns Current instance for method chaining.\n     */\n    PaperRipple.prototype.downAction = function (ev) {\n        var wave = this.addWave();\n        wave.downAction(ev);\n        this.animate();\n        return this;\n    };\n    /**\n     * Produces a ripple-up effect.\n     * @returns {PaperRipple} Current instance for method chaining.\n     */\n    PaperRipple.prototype.upAction = function () {\n        this.waves.forEach(function (wave) { wave.upAction(); });\n        this.animate();\n        return this;\n    };\n    /**\n     * Removes given wave from the list of visual ripples.\n     * @param wave - The wave to remove.\n     * @returns Current instance for method chaining.\n     */\n    PaperRipple.prototype.removeWave = function (wave) {\n        var waveIndex = this.waves.indexOf(wave);\n        if (waveIndex < 0) {\n            return this;\n        }\n        this.waves.splice(waveIndex, 1);\n        wave.remove();\n        return this;\n    };\n    /**\n     * Animates all the waves in the list of visual ripples.\n     * @returns Current instance for method chaining.\n     */\n    PaperRipple.prototype.animate = function () {\n        // tslint:disable:prefer-const\n        for (var i = 0, l = this.waves.length; i < l; i++) {\n            var wave = this.waves[i];\n            if (wave) {\n                wave.draw();\n                this.$background.style.opacity = wave.outerOpacity.toString();\n                if (wave.isWaveFullyOpaque && !wave.isMaxRadiusReached) {\n                    this.removeWave(wave);\n                }\n            }\n        }\n        // tslint:enable:prefer-const\n        if (!this.shouldKeepAnimating && this.waves.length === 0) {\n            this.$background.style.backgroundColor = null;\n        }\n        else {\n            PLATFORM.requestAnimationFrame(this.animate.bind(this));\n        }\n        return this;\n    };\n    return PaperRipple;\n}());\nexport { PaperRipple };\n//# sourceMappingURL=paper-ripple.js.map","/**\n * @description This function will ensure that we propertly treat a potential string value for a boolean attribute\n * as the boolean representation\n *\n * @param {string} attributeName Name of the boolean attribute we are normalizing for\n * @param {boolean|string} value Existing value of the boolean html attribute represented as a boolean or string\n *\n * @returns {boolean}\n */\nexport function normalizeBooleanAttribute(attributeName, value) {\n    var ret;\n    // tslint:disable-next-line\n    if (typeof value === 'string') {\n        ret = value === '' || value.toLocaleLowerCase() === attributeName.toLocaleLowerCase();\n    }\n    else {\n        ret = value;\n    }\n    return ret;\n}\nexport function normalizeNumberAttribute(val) {\n    if (val === undefined || val === '' || val === 'undefined' || val === 'NaN') {\n        return undefined;\n    }\n    else if (val === null || val === 'null') {\n        return null;\n    }\n    else {\n        return Number(val);\n    }\n}\n//# sourceMappingURL=html-attributes.js.map","/**\n * @description This function will try to find the background color upon which\n * an element is placed by going up the DOM tree until it finds an element with\n * a defined color. If it finds none, it will return '#FFFFFF';\n *\n * @param {HTMLElement} element Element for which will want the background color\n *\n * @returns {string}\n */\nexport function getBackgroundColorThroughParents(element) {\n    var parentBackgroundColor = '';\n    while (parentBackgroundColor === '' && element.parentElement) {\n        var color = window.getComputedStyle(element.parentElement, null).getPropertyValue('background-color');\n        if (color.toString() === 'rgba(0, 0, 0, 0)') {\n            color = '';\n        }\n        parentBackgroundColor = color;\n        element = element.parentElement;\n    }\n    return parentBackgroundColor || '#FFFFFF';\n}\n//# sourceMappingURL=background-color-parent.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { ObserverLocator } from 'aurelia-binding';\nimport { GlobalStyleEngine } from './global-style-engine';\nimport { AureliaUX } from '../aurelia-ux';\nvar StyleController = /** @class */ (function () {\n    function StyleController(observerLocator, globalStyleEngine, ux) {\n        this.observerLocator = observerLocator;\n        this.globalStyleEngine = globalStyleEngine;\n        this.ux = ux;\n        this.themes = [];\n    }\n    StyleController.prototype.updateTheme = function (theme, element) {\n        var baseTheme = { themeKey: 'base-theme' };\n        if (theme.themeKey == null) {\n            throw new Error('Provided theme has no themeKey property.');\n        }\n        if (theme.themeKey === 'design') {\n            for (var key in theme) {\n                if (key !== 'themeKey') {\n                    this.ux.design[key] = theme[key];\n                }\n            }\n        }\n        else if (element != null) {\n            for (var key in theme) {\n                if (theme.hasOwnProperty(key) && baseTheme.hasOwnProperty(key) === false) {\n                    if (theme[key]) {\n                        element.style.setProperty(this.generateCssVariableName(theme.themeKey, key), theme[key]);\n                    }\n                    else {\n                        element.style.removeProperty(this.generateCssVariableName(theme.themeKey, key));\n                    }\n                }\n            }\n        }\n        else {\n            var uxTheme = this.themes.splice(this.themes.indexOf(this.themes[theme.themeKey]))[0];\n            if (uxTheme != null) {\n                this.removeWatches(uxTheme);\n            }\n            this.globalStyleEngine.addOrUpdateGlobalStyle(\"aurelia-ux theme \" + theme.themeKey, this.processInnerHtml(theme), ':root');\n            this.setWatches(theme);\n            this.themes[theme.themeKey] = theme;\n        }\n    };\n    StyleController.prototype.getThemeKeys = function (theme) {\n        var baseTheme = { themeKey: 'base-theme' };\n        var themeKeys = [];\n        for (var key in theme) {\n            if (theme.hasOwnProperty(key) && baseTheme.hasOwnProperty(key) === false) {\n                themeKeys.push(key);\n            }\n        }\n        return themeKeys;\n    };\n    StyleController.prototype.generateCssVariableName = function (themeKey, propertyKey) {\n        return \"--aurelia-ux--\" + themeKey + \"-\" + kebabCase(propertyKey);\n    };\n    StyleController.prototype.generateCssVariable = function (themeKey, propertyKey, value) {\n        if (value === undefined || value === 'undefined') {\n            return '';\n        }\n        return \"--aurelia-ux--\" + themeKey + \"-\" + kebabCase(propertyKey) + \": \" + value + \";\";\n    };\n    StyleController.prototype.setWatches = function (theme) {\n        var _this = this;\n        for (var _i = 0, _a = this.getThemeKeys(theme); _i < _a.length; _i++) {\n            var key = _a[_i];\n            this.observerLocator.getObserver(theme, key).subscribe(function () { return _this.themePropertyChanged(theme); });\n        }\n    };\n    StyleController.prototype.removeWatches = function (theme) {\n        var _this = this;\n        for (var _i = 0, _a = this.getThemeKeys(theme); _i < _a.length; _i++) {\n            var key = _a[_i];\n            this.observerLocator.getObserver(theme, key).unsubscribe(function () { return _this.themePropertyChanged(theme); });\n        }\n    };\n    StyleController.prototype.themePropertyChanged = function (theme) {\n        this.globalStyleEngine.addOrUpdateGlobalStyle(\"aurelia-ux theme \" + theme.themeKey, this.processInnerHtml(theme), ':root');\n    };\n    StyleController.prototype.processInnerHtml = function (theme) {\n        var designInnerHtml = '';\n        for (var _i = 0, _a = this.getThemeKeys(theme); _i < _a.length; _i++) {\n            var key = _a[_i];\n            if (theme[key]) {\n                designInnerHtml += \"  \" + this.generateCssVariable(theme.themeKey, key, theme[key]) + \"\\r\\n\";\n            }\n        }\n        return designInnerHtml;\n    };\n    StyleController = __decorate([\n        inject(ObserverLocator, GlobalStyleEngine, AureliaUX)\n    ], StyleController);\n    return StyleController;\n}());\nexport { StyleController };\nfunction kebabCase(value) {\n    value = value.charAt(0).toLowerCase() + value.slice(1);\n    return value.replace(/([A-Z])/g, function (match) { return \"-\" + match[0].toLowerCase(); });\n}\n//# sourceMappingURL=style-controller.js.map","import { __decorate } from \"tslib\";\nimport { inject } from 'aurelia-dependency-injection';\nimport { StyleController } from './style-controller';\nvar StyleEngine = /** @class */ (function () {\n    function StyleEngine(styleController) {\n        this.styleController = styleController;\n    }\n    /**\n     * Processes a UxTheme into the corresponding CSS Variables\n     * and applies them to the provided element. If no theme is\n     * provided then the theme will be setup as a default theme\n     * and set CSS Variables in the document head.\n     *\n     * @param element Element to apply the processed UxTheme to.\n     * @param theme UxTheme to process.\n     */\n    StyleEngine.prototype.applyTheme = function (theme, element) {\n        if (theme == null || theme.themeKey == null) {\n            return;\n        }\n        this.styleController.updateTheme(theme, element);\n    };\n    /**\n     * Applies an array of themes. This is to enable the creation of\n     * large theme sets that can be easily applied with one call.\n     *\n     * @param themes Array of UxThemes to be applied.\n     */\n    StyleEngine.prototype.applyThemeGroup = function (themes) {\n        for (var _i = 0, themes_1 = themes; _i < themes_1.length; _i++) {\n            var theme = themes_1[_i];\n            this.applyTheme(theme);\n        }\n    };\n    /**\n     * Retrieves the default theme object for the provided key that can then be updated.\n     *\n     * @param key Key of the theme to be retrieved.\n     */\n    StyleEngine.prototype.getDefaultTheme = function (key) {\n        return this.styleController.themes[key];\n    };\n    StyleEngine = __decorate([\n        inject(StyleController)\n    ], StyleEngine);\n    return StyleEngine;\n}());\nexport { StyleEngine };\n//# sourceMappingURL=style-engine.js.map","import { BindingBehaviorResource, PLATFORM } from 'aurelia-framework';\nimport { AureliaUX } from './aurelia-ux';\nimport { BooleanBB } from './components/boolean-attr-binding-behavior';\nexport { UxSizeCustomAttribute } from './attributes/ux-size-attribute';\nexport { swatches } from './colors/swatches';\nexport { shadows } from './colors/shadows';\nexport { processDesignAttributes } from './designs/design-attributes';\nexport { PaperRipple } from './effects/paper-ripple';\nexport { normalizeBooleanAttribute, normalizeNumberAttribute } from './components/html-attributes';\nexport { getBackgroundColorThroughParents } from './components/background-color-parent';\nexport { UxChoiceAttribute } from './components/ux-choice-attribute';\nexport { UxChoiceContainerAttribute } from './components/ux-choice-container-attribute';\nexport { StyleEngine } from './styles/style-engine';\nexport { GlobalStyleEngine } from './styles/global-style-engine';\nexport { AureliaUX } from './aurelia-ux';\nexport { UXConfiguration } from './ux-configuration';\nvar uxCorePromise;\nexport function configure(config, callback) {\n    if (uxCorePromise) {\n        return uxCorePromise;\n    }\n    var ux = config.container.get(AureliaUX);\n    var boolAttr = new BindingBehaviorResource('');\n    boolAttr.initialize(config.container, BooleanBB);\n    boolAttr.register(config.aurelia.resources, 'booleanAttr');\n    config.globalResources([\n        PLATFORM.moduleName('./attributes/ux-size-attribute'),\n        PLATFORM.moduleName('./components/ux-choice-attribute'),\n        PLATFORM.moduleName('./components/ux-choice-container-attribute')\n    ]);\n    if (typeof callback === 'function') {\n        return uxCorePromise = Promise.resolve(callback(ux))\n            .then(function () { return ux.start(config); });\n    }\n    else {\n        ux.use.defaultConfiguration();\n        return uxCorePromise = ux.start(config);\n    }\n}\n//# sourceMappingURL=index.js.map","import { __decorate } from \"tslib\";\nimport { customAttribute, bindingMode, inject, bindable } from 'aurelia-framework';\nimport { PLATFORM } from 'aurelia-pal';\nvar UxSizeCustomAttribute = /** @class */ (function () {\n    function UxSizeCustomAttribute(element) {\n        this.element = element;\n        this.value = { width: 0, height: 0 };\n        this.width = 0;\n        this.height = 0;\n    }\n    UxSizeCustomAttribute.prototype.bind = function () {\n        this.observer = this.getObserver();\n        this.observer.observe(this.element);\n    };\n    UxSizeCustomAttribute.prototype.unbind = function () {\n        this.observer.disconnect();\n        this.observer = void 0;\n    };\n    UxSizeCustomAttribute.prototype.getObserver = function () {\n        var _this = this;\n        if (typeof PLATFORM.global.ResizeObserver === 'function') {\n            return new PLATFORM.global.ResizeObserver(function (records) {\n                var rect = records[0].contentRect;\n                _this.value = { width: rect.width, height: rect.height };\n            });\n        }\n        else {\n            return new ElementSizeDirtyChecker(function (size) {\n                _this.value = size;\n            });\n        }\n    };\n    UxSizeCustomAttribute.prototype.valueChanged = function (size) {\n        this.value = size;\n        this.width = size.width;\n        this.height = size.height;\n    };\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.fromView, primaryProperty: true })\n    ], UxSizeCustomAttribute.prototype, \"value\", void 0);\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.fromView })\n    ], UxSizeCustomAttribute.prototype, \"width\", void 0);\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.fromView })\n    ], UxSizeCustomAttribute.prototype, \"height\", void 0);\n    UxSizeCustomAttribute = __decorate([\n        customAttribute('ux-size'),\n        inject(Element)\n    ], UxSizeCustomAttribute);\n    return UxSizeCustomAttribute;\n}());\nexport { UxSizeCustomAttribute };\nvar ElementSizeDirtyChecker = /** @class */ (function () {\n    function ElementSizeDirtyChecker(callback, rate /*3 times a second*/) {\n        if (rate === void 0) { rate = 330; }\n        this.callback = callback;\n        this.rate = rate;\n        this.size = { width: 0, height: 0 };\n    }\n    ElementSizeDirtyChecker.prototype.observe = function (element) {\n        var _this = this;\n        this.timerId = setInterval(function () {\n            var _a = element.getBoundingClientRect(), width = _a.width, height = _a.height;\n            var currentSize = _this.size;\n            if (width !== currentSize.width || height !== currentSize.height) {\n                _this.size = { width: width, height: height };\n                if (typeof _this.callback === 'function') {\n                    _this.callback(_this.size);\n                }\n            }\n        }, this.rate);\n    };\n    ElementSizeDirtyChecker.prototype.disconnect = function () {\n        clearInterval(this.timerId);\n    };\n    return ElementSizeDirtyChecker;\n}());\n//# sourceMappingURL=ux-size-attribute.js.map","import { __decorate } from \"tslib\";\nimport { UxChoiceContainerAttribute } from './ux-choice-container-attribute';\nimport { customAttribute, inject, observable, Optional } from 'aurelia-framework';\nimport './ux-choice.css';\nvar UxChoiceAttribute = /** @class */ (function () {\n    function UxChoiceAttribute(element, container) {\n        this.element = element;\n        this.container = container;\n    }\n    UxChoiceAttribute.prototype.bind = function () {\n        this.container.registerChoice(this);\n        this.element.classList.add('ux-choice');\n    };\n    UxChoiceAttribute.prototype.detached = function () {\n        this.container.disposeChoice(this);\n    };\n    UxChoiceAttribute.prototype.valueChanged = function (newValue, oldValue) {\n        if (!this.container) {\n            return;\n        }\n        var containerValue = this.container.value;\n        if (this.container.isMultiple && Array.isArray(containerValue)) {\n            for (var _i = 0, containerValue_1 = containerValue; _i < containerValue_1.length; _i++) {\n                var value = containerValue_1[_i];\n                if (value === oldValue) {\n                    value = newValue;\n                    return;\n                }\n            }\n        }\n        else if (!this.container.isMultiple && containerValue === oldValue) {\n            this.container.value = newValue;\n        }\n    };\n    UxChoiceAttribute.prototype.selectedChanged = function () {\n        this.element.classList.toggle('ux-choice--selected', this.selected);\n    };\n    __decorate([\n        observable\n    ], UxChoiceAttribute.prototype, \"selected\", void 0);\n    UxChoiceAttribute = __decorate([\n        customAttribute('ux-choice', undefined, ['ux-choice-item', 'ux-choice-option']),\n        inject(Element, Optional.of(UxChoiceContainerAttribute))\n    ], UxChoiceAttribute);\n    return UxChoiceAttribute;\n}());\nexport { UxChoiceAttribute };\n//# sourceMappingURL=ux-choice-attribute.js.map","import { __decorate } from \"tslib\";\nimport { UxChoiceAttribute } from './ux-choice-attribute';\nimport { customAttribute, bindingMode, bindable, inject, TaskQueue } from 'aurelia-framework';\nvar UxChoiceContainerAttribute = /** @class */ (function () {\n    function UxChoiceContainerAttribute(element, taskQueue) {\n        this.element = element;\n        this.taskQueue = taskQueue;\n        this.multiple = 'auto';\n        this.isMultiple = false;\n        this.choices = [];\n        this.isQueued = false;\n    }\n    /* Event passed on the click eventListener */\n    UxChoiceContainerAttribute.prototype.handleEvent = function (event) {\n        if (event.target instanceof Element) {\n            var choiceElement = event.target.closest('.ux-choice');\n            if (choiceElement !== null &&\n                choiceElement.au !== undefined &&\n                choiceElement.au['ux-choice'] !== undefined &&\n                choiceElement.au['ux-choice'].viewModel instanceof UxChoiceAttribute) {\n                var choice = choiceElement.au['ux-choice'].viewModel;\n                this.toggleValue(choice.value);\n            }\n        }\n    };\n    /* Callback passed on the TaskQueue when registering child choices */\n    UxChoiceContainerAttribute.prototype.call = function () {\n        this.isQueued = false;\n        this.processValue();\n    };\n    UxChoiceContainerAttribute.prototype.bind = function () {\n        this.element.classList.add('ux-choice-container');\n        this.multipleChanged();\n        this.valueChanged(this.value);\n    };\n    UxChoiceContainerAttribute.prototype.multipleChanged = function () {\n        if (this.multiple === 'auto') {\n            this.isMultiple = Array.isArray(this.value) ? true : false;\n        }\n        else if (typeof this.multiple === 'boolean') {\n            this.isMultiple = this.multiple;\n        }\n        else {\n            this.isMultiple = this.multiple === 'multiple' || this.multiple === 'true';\n        }\n        this.element.classList.toggle('ux-choice-container--multiple', this.isMultiple);\n    };\n    UxChoiceContainerAttribute.prototype.attached = function () {\n        this.element.addEventListener('click', this);\n    };\n    UxChoiceContainerAttribute.prototype.detached = function () {\n        this.element.removeEventListener('click', this);\n    };\n    UxChoiceContainerAttribute.prototype.requestProcessValue = function () {\n        if (!this.isQueued) {\n            this.isQueued = true;\n            this.taskQueue.queueMicroTask(this);\n        }\n    };\n    UxChoiceContainerAttribute.prototype.registerChoice = function (choice) {\n        this.choices.push(choice);\n        this.requestProcessValue();\n    };\n    UxChoiceContainerAttribute.prototype.disposeChoice = function (choice) {\n        var index = this.choices.indexOf(choice);\n        if (index !== -1) {\n            this.choices.splice(index, 1);\n            this.requestProcessValue();\n        }\n    };\n    UxChoiceContainerAttribute.prototype.valueChanged = function (newValue) {\n        if (this.multiple === 'auto') {\n            this.multipleChanged(); // call this to ensure isMultiple respect value type\n        }\n        // Before to process the value, let's make\n        // it's the proper type according to `isMultiple`\n        if (this.isMultiple && typeof newValue === 'string') {\n            this.value = [];\n            return;\n        }\n        else if (!this.isMultiple && Array.isArray(newValue)) {\n            this.value = undefined;\n            return;\n        }\n        // By using requestProcessValue we avoid too many\n        // process in case the value changes quickly\n        // This can happen if the value type must be fixed (above)\n        // or if there are several choice registration in a row\n        this.requestProcessValue();\n    };\n    UxChoiceContainerAttribute.prototype.toggleValue = function (value) {\n        if (this.isMultiple && Array.isArray(this.value)) {\n            var index = this.value.indexOf(value);\n            if (index === -1) {\n                this.value.push(value);\n            }\n            else {\n                this.value.splice(index, 1);\n            }\n        }\n        else if (!this.isMultiple) {\n            this.value = this.value === value ? undefined : value;\n        }\n        this.processValue();\n    };\n    UxChoiceContainerAttribute.prototype.processValue = function () {\n        var choicesLength = this.choices.length;\n        if (this.isMultiple && Array.isArray(this.value)) {\n            for (var index = 0; index < choicesLength; index++) {\n                var choice = this.choices[index];\n                choice.selected = this.value.indexOf(choice.value) !== -1;\n            }\n        }\n        else if (!this.isMultiple && typeof this.value === 'string') {\n            for (var index = 0; index < choicesLength; index++) {\n                var choice = this.choices[index];\n                choice.selected = this.value === choice.value;\n            }\n        }\n    };\n    __decorate([\n        bindable({ defaultBindingMode: bindingMode.twoWay, primaryProperty: true })\n    ], UxChoiceContainerAttribute.prototype, \"value\", void 0);\n    __decorate([\n        bindable\n    ], UxChoiceContainerAttribute.prototype, \"multiple\", void 0);\n    UxChoiceContainerAttribute = __decorate([\n        customAttribute('ux-choice-container', undefined, ['ux-choice-value']),\n        inject(Element, TaskQueue)\n    ], UxChoiceContainerAttribute);\n    return UxChoiceContainerAttribute;\n}());\nexport { UxChoiceContainerAttribute };\n//# sourceMappingURL=ux-choice-container-attribute.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".paper-ripple {\\n    display: block;\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    border-radius: inherit;\\n    overflow: hidden;\\n    pointer-events: none;\\n}\\n\\n.paper-ripple .paper-ripple__background,\\n.paper-ripple .paper-ripple__waves,\\n.paper-ripple .paper-ripple__wave-container,\\n.paper-ripple .paper-ripple__wave {\\n    pointer-events: none;\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    width: 100%;\\n    height: 100%;\\n}\\n\\n.paper-ripple .paper-ripple__background,\\n.paper-ripple .paper-ripple__wave {\\n    opacity: 0;\\n}\\n\\n.paper-ripple .paper-ripple__waves,\\n.paper-ripple .paper-ripple__wave {\\n    overflow: hidden;\\n}\\n\\n.paper-ripple .paper-ripple__wave-container,\\n.paper-ripple .paper-ripple__wave {\\n    border-radius: 50%;\\n}\\n\\n.paper-ripple .paper-ripple__background {\\n    will-change: opacity, background-color;\\n}\\n\\n.paper-ripple .paper-ripple__wave {\\n    will-change: opacity, transform;\\n}\\n\\n.paper-ripple .paper-ripple__wave-container {\\n    will-change: transform;\\n}\\n\\n.paper-ripple--round .paper-ripple__background,\\n.paper-ripple--round .paper-ripple__waves {\\n    border-radius: 50%;\\n}\\n\\n.paper-ripple--round .paper-ripple__wave-container {\\n    overflow: hidden;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n"],"sourceRoot":""}