{"version":3,"file":"tm-ng-odometer.mjs","sources":["../../../projects/tm-ng-odometer/src/lib/utils/utilities.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/tm-ng-odometer.config.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/car.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/default.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/digital.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/minimal.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/plaza.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/slot-machine.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/train-station.theme.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/themes/index.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/tm-ng-odometer.component.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer/index.ts","../../../projects/tm-ng-odometer/src/lib/tm-ng-odometer.module.ts","../../../projects/tm-ng-odometer/src/public-api.ts","../../../projects/tm-ng-odometer/src/tm-ng-odometer.ts"],"sourcesContent":["/**\n * Created: 2025-04-21 by Marco Trinastich\n */\n\nexport class Utilities {\n  /**\n   * Assigns default properties to an object.\n   * @param target The target object to assign defaults to.\n   * @param defaults The default properties to apply.\n   * @returns The target object with defaults applied.\n   */\n  static defaults<T extends object>(target: T, defaults: Partial<T>): T {\n    if (!target || typeof target !== \"object\") {\n      throw new TypeError(\"Target must be an object.\");\n    }\n    if (!defaults || typeof defaults !== \"object\") {\n      throw new TypeError(\"Defaults must be an object.\");\n    }\n\n    for (const key in defaults) {\n      if (\n        Object.prototype.hasOwnProperty.call(defaults, key) &&\n        target[key] === undefined\n      ) {\n        target[key] = defaults[key];\n      }\n    }\n    return target;\n  }\n\n  /**\n   * Checks if a value is undefined.\n   * @param value The value to check.\n   * @returns True if the value is undefined, false otherwise.\n   */\n  static isUndefined(value: any): boolean {\n    return value === undefined;\n  }\n\n  /**\n   * Checks if a value is in a collection (array, string, or object).\n   * @param collection The collection to search.\n   * @param value The value to search for.\n   * @returns True if the value is found, false otherwise.\n   */\n  static includes(collection: any, value: any): boolean {\n    if (Array.isArray(collection) || typeof collection === \"string\") {\n      return collection.includes(value);\n    }\n    if (collection && typeof collection === \"object\") {\n      return Object.values(collection).includes(value);\n    }\n    return false;\n  }\n}\n","/**\n * Created: 2017-06-15 by Jose Andres\n * Modified:\n *   - 2025-04-30 by Marco Trinastich: Migrated to TmOdometer 2.x\n */\n\nimport { TmOdometerConfig } from \"tm-odometer\";\n\nexport interface TmNgOdometerConfigModel extends TmOdometerConfig {\n  auto?: boolean;\n}\n\nexport class TmNgOdometerConfig implements TmNgOdometerConfigModel {\n  animation?: \"count\" | \"slide\" = \"slide\";\n  format?: string = \"(,ddd)\";\n  theme?: string = \"default\";\n  value?: number = 0;\n  duration?: number = 2000;\n  auto?: boolean = true;\n}\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const CAR_THEME =\n  `\n    @import url(\"//fonts.googleapis.com/css?family=Arimo\");\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-car {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-car .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-car .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-car .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-car .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-car .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-car .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-car .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-car.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-car.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-car.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-car.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-car {\n        -moz-border-radius: 0.34em;\n        -webkit-border-radius: 0.34em;\n        border-radius: 0.34em;\n        font-family: \"Arimo\", monospace;\n        padding: 0.15em;\n        background: #000;\n        color: #eee0d3;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-car .odometer-digit {\n        -moz-box-shadow: inset 0 0 0.3em rgba(0, 0, 0, 0.8);\n        -webkit-box-shadow: inset 0 0 0.3em rgba(0, 0, 0, 0.8);\n        box-shadow: inset 0 0 0.3em rgba(0, 0, 0, 0.8);\n        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSI` +\n  `xLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYm` +\n  `plY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzMzMzMzM` +\n  `yIvPjxzdG9wIG9mZnNldD0iNDAlIiBzdG9wLWNvbG9yPSIjMzMzMzMzIi8+PHN0b3Agb2Zmc2V0PSI2MCUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3Rv` +\n  `cCBvZmZzZXQ9IjgwJSIgc3RvcC1jb2xvcj0iIzMzMzMzMyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzMzMzMzMyIvPjwvbGluZWFyR3J` +\n  `hZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');\n        background-size: 100%;\n        background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #333333), color-stop(40%, #333333), ` +\n  `color-stop(60%, #101010), color-stop(80%, #333333), color-stop(100%, #333333));\n        background-image: -moz-linear-gradient(top, #333333 0%, #333333 40%, #101010 60%, #333333 80%, #333333 100%);\n        background-image: -webkit-linear-gradient(top, #333333 0%, #333333 40%, #101010 60%, #333333 80%, #333333 100%);\n        background-image: linear-gradient(to bottom, #333333 0%, #333333 40%, #101010 60%, #333333 80%, #333333 100%);\n        padding: 0 0.15em;\n    }\n    .odometer.odometer-auto-theme .odometer-digit:first-child,\n    .odometer.odometer-theme-car .odometer-digit:first-child {\n        -moz-border-radius: 0.2em 0 0 0.2em;\n        -webkit-border-radius: 0.2em;\n        border-radius: 0.2em 0 0 0.2em;\n    }\n    .odometer.odometer-auto-theme .odometer-digit:last-child,\n    .odometer.odometer-theme-car .odometer-digit:last-child {\n        -moz-border-radius: 0 0.2em 0.2em 0;\n        -webkit-border-radius: 0;\n        border-radius: 0 0.2em 0.2em 0;\n        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxL` +\n  `jEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3` +\n  `RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VlZTBkMyIvPjx` +\n  `zdG9wIG9mZnNldD0iNDAlIiBzdG9wLWNvbG9yPSIjZWVlMGQzIi8+PHN0b3Agb2Zmc2V0PSI2MCUiIHN0b3AtY29sb3I9IiNiYmFhOWEiLz48c3RvcCBvZmZz` +\n  `ZXQ9IjgwJSIgc3RvcC1jb2xvcj0iI2VlZTBkMyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2VlZTBkMyIvPjwvbGluZWFyR3JhZGllbnQ+P` +\n  `C9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');\n        background-size: 100%;\n        background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eee0d3), color-stop(40%, #eee0d3), ` +\n  `color-stop(60%, #bbaa9a), color-stop(80%, #eee0d3), color-stop(100%, #eee0d3));\n        background-image: -moz-linear-gradient(top, #eee0d3 0%, #eee0d3 40%, #bbaa9a 60%, #eee0d3 80%, #eee0d3 100%);\n        background-image: -webkit-linear-gradient(top, #eee0d3 0%, #eee0d3 40%, #bbaa9a 60%, #eee0d3 80%, #eee0d3 100%);\n        background-image: linear-gradient(to bottom, #eee0d3 0%, #eee0d3 40%, #bbaa9a 60%, #eee0d3 80%, #eee0d3 100%);\n        background-color: #eee0d3;\n        color: #000;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-car .odometer-digit .odometer-digit-inner {\n        left: 0.15em;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-car.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-car.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition-timing-function: linear;\n        -moz-transition-timing-function: linear;\n        -ms-transition-timing-function: linear;\n        -o-transition-timing-function: linear;\n        transition-timing-function: linear;\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const DEFAULT_THEME = `\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-default {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-default .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-default .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-default .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s !important;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-default {\n        font-family: \"Helvetica Neue\", sans-serif;\n        line-height: 1.1em;\n    }\n    .odometer.odometer-auto-theme .odometer-value,\n    .odometer.odometer-theme-default .odometer-value {\n        text-align: center;\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const DIGITAL_THEME =\n  `\n    @import url(\"//fonts.googleapis.com/css?family=Wallpoet\");\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-digital {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-digital .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-digital .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-digital .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-digital .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-digital .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-digital .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-digital .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-digital.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-digital.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-digital.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-digital.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-digital {\n        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLj` +\n  `EiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3Bh` +\n  `Y2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzhiZjVhNSIgc3RvcC1vcGFjaXR5PSIwLj` +\n  `QiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0` +\n  `aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');\n        background-size: 100%;\n        background-image: -moz-radial-gradient(rgba(139, 245, 165, 0.4), #000000);\n        background-image: -webkit-radial-gradient(rgba(139, 245, 165, 0.4), #000000);\n        background-image: radial-gradient(rgba(139, 245, 165, 0.4), #000000);\n        background-color: #000;\n        font-family: \"Wallpoet\", monospace;\n        padding: 0 0.2em;\n        line-height: 1.1em;\n        color: #8bf5a5;\n    }\n    .odometer.odometer-auto-theme .odometer-digit + .odometer-digit,\n    .odometer.odometer-theme-digital .odometer-digit + .odometer-digit {\n        margin-left: 0.1em;\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const MINIMAL_THEME = `\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-minimal {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-minimal .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-minimal .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-minimal .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-minimal .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-minimal .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-minimal .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-minimal .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-minimal.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-minimal.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-minimal.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-minimal.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const PLAZA_THEME = `\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-plaza {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-plaza .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-plaza.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-plaza.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-plaza.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-plaza.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-plaza {\n        -moz-border-radius: 0.15em;\n        -webkit-border-radius: 0.15em;\n        border-radius: 0.15em;\n        background-color: #f0f8ff;\n        font-family: \"Helvetica Neue\", sans-serif;\n        font-weight: 100;\n        padding: 0 0.12em;\n        line-height: 1.2em;\n        font-size: 1.2em;\n        background-size: 16px 16px;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-plaza .odometer-digit {\n        -moz-border-radius: 0.1em;\n        -webkit-border-radius: 0.1em;\n        border-radius: 0.1em;\n        padding: 0 0.03em;\n        color: #648baf;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-plaza .odometer-digit .odometer-digit-inner {\n        left: 0.03em;\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const SLOT_MACHINE_THEME =\n  `\n    @import url(\"//fonts.googleapis.com/css?family=Rye\");\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-slot-machine {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-slot-machine .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n        }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-slot-machine.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-slot-machine.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-slot-machine.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-slot-machine.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-slot-machine {\n        -moz-border-radius: 0.34em;\n        -webkit-border-radius: 0.34em;\n        border-radius: 0.34em;\n        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSI` +\n  `xLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYm` +\n  `plY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmYwM` +\n  `CIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmYTUwMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdp` +\n  `ZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');\n        background-size: 100%;\n        background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffff00), color-stop(100%, #ffa500));\n        background-image: -moz-linear-gradient(#ffff00, #ffa500);\n        background-image: -webkit-linear-gradient(#ffff00, #ffa500);\n        background-image: linear-gradient(#ffff00, #ffa500);\n        background-color: #fc0;\n        font-family: \"Rye\", monospace;\n        padding: 0.15em;\n        color: #f80000;\n        line-height: 1.35em;\n        border: 0.03em solid #000;\n        -webkit-text-stroke: 0.05em #000;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-slot-machine .odometer-digit {\n        -moz-box-shadow: inset 0 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        -webkit-box-shadow: inset 0 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        box-shadow: inset 0 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        -moz-border-radius: 0.2em;\n        -webkit-border-radius: 0.2em;\n        border-radius: 0.2em;\n        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPS` +\n  `IxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJv` +\n  `YmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NjY2` +\n  `NjYyIvPjxzdG9wIG9mZnNldD0iMjAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIi8+PHN0b3Agb2Zmc2V0PSI4MCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48` +\n  `c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD` +\n  `0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');\n        background-size: 100%;\n        background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #cccccc), color-stop(20%, #ffffff), ` +\n  `color-stop(80%, #ffffff), color-stop(100%, #cccccc));\n        background-image: -moz-linear-gradient(top, #cccccc 0%, #ffffff 20%, #ffffff 80%, #cccccc 100%);\n        background-image: -webkit-linear-gradient(top, #cccccc 0%, #ffffff 20%, #ffffff 80%, #cccccc 100%);\n        background-image: linear-gradient(to bottom, #cccccc 0%, #ffffff 20%, #ffffff 80%, #cccccc 100%);\n        border: 0.03em solid #444;\n        padding: 0.1em 0.15em 0;\n    }\n    .odometer.odometer-auto-theme .odometer-digit:first-child,\n    .odometer.odometer-theme-slot-machine .odometer-digit:first-child {\n        -moz-box-shadow: inset 0.05em 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        -webkit-box-shadow: inset 0.05em 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        box-shadow: inset 0.05em 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n    }\n    .odometer.odometer-auto-theme .odometer-digit:last-child,\n    .odometer.odometer-theme-slot-machine .odometer-digit:last-child {\n        -moz-box-shadow: inset -0.05em 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        -webkit-box-shadow: inset -0.05em 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n        box-shadow: inset -0.05em 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0 0.03em #fff, 0 0 0 0.05em rgba(0, 0, 0, 0.2);\n    }\n    .odometer.odometer-auto-theme .odometer-digit + .odometer-digit,\n    .odometer.odometer-theme-slot-machine .odometer-digit + .odometer-digit {\n        margin-left: 0.15em;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-digit-inner {\n        padding-top: 0.08em;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-slot-machine .odometer-digit .odometer-value.odometer-last-value {\n        left: 0;\n        right: 0;\n        text-align: center;\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport const TRAIN_STATION_THEME =\n  `\n    @import url(\"//fonts.googleapis.com/css?family=Economica\");\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-train-station {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-train-station .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        position: relative;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-digit-spacer {\n        display: inline-block;\n        vertical-align: middle;\n        visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-digit-inner {\n        text-align: left;\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        overflow: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-ribbon {\n        display: block;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-ribbon-inner {\n        display: block;\n        -webkit-backface-visibility: hidden;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-value {\n        display: block;\n        -webkit-transform: translateZ(0);\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-value.odometer-last-value {\n        position: absolute;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,\n    .odometer.odometer-theme-train-station.odometer-animating-up .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n    }\n    .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-train-station.odometer-animating-up.odometer-animating .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,\n    .odometer.odometer-theme-train-station.odometer-animating-down .odometer-ribbon-inner {\n        -webkit-transform: translateY(-100%);\n        -moz-transform: translateY(-100%);\n        -ms-transform: translateY(-100%);\n        -o-transform: translateY(-100%);\n        transform: translateY(-100%);\n    }\n    .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,\n    .odometer.odometer-theme-train-station.odometer-animating-down.odometer-animating .odometer-ribbon-inner {\n        -webkit-transition: -webkit-transform 2s;\n        -moz-transition: -moz-transform 2s;\n        -ms-transition: -ms-transform 2s;\n        -o-transition: -o-transform 2s;\n        transition: transform 2s;\n        -webkit-transform: translateY(0);\n        -moz-transform: translateY(0);\n        -ms-transform: translateY(0);\n        -o-transform: translateY(0);\n        transform: translateY(0);\n    }\n    .odometer.odometer-auto-theme,\n    .odometer.odometer-theme-train-station {\n        font-family: \"Economica\", sans-serif;\n    }\n    .odometer.odometer-auto-theme .odometer-digit,\n    .odometer.odometer-theme-train-station .odometer-digit {\n        display: inline-block;\n        vertical-align: middle;\n        -moz-border-radius: 0.1em;\n        -webkit-border-radius: 0.1em;\n        border-radius: 0.1em;\n        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uP` +\n  `SIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPS` +\n  `JvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzE` +\n  `xMTExMSIvPjxzdG9wIG9mZnNldD0iMzUlIiBzdG9wLWNvbG9yPSIjMTExMTExIi8+PHN0b3Agb2Zmc2V0PSI1NSUiIHN0b3AtY29sb3I9IiMzMzMzMzMi` +\n  `Lz48c3RvcCBvZmZzZXQ9IjU1JSIgc3RvcC1jb2xvcj0iIzExMTExMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzExMTExMSIvPjwvb` +\n  `GluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC` +\n  `9zdmc+IA==');\n        background-size: 100%;\n        background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #111111), color-stop(35%, #111111), ` +\n  `color-stop(55%, #333333), color-stop(55%, #111111), color-stop(100%, #111111));\n        background-image: -moz-linear-gradient(top, #111111 0%, #111111 35%, #333333 55%, #111111 55%, #111111 100%);\n        background-image: -webkit-linear-gradient(top, #111111 0%, #111111 35%, #333333 55%, #111111 55%, #111111 100%);\n        background-image: linear-gradient(to bottom, #111111 0%, #111111 35%, #333333 55%, #111111 55%, #111111 100%);\n        background-color: #222;\n        padding: 0 0.15em;\n        color: #fff;\n    }\n    .odometer.odometer-auto-theme .odometer-digit + .odometer-digit,\n    .odometer.odometer-theme-train-station .odometer-digit + .odometer-digit {\n        margin-left: 0.1em;\n    }\n    .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,\n    .odometer.odometer-theme-train-station .odometer-digit .odometer-digit-inner {\n        left: 0.15em;\n    }\n`;\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport * from \"./car.theme\";\nexport * from \"./default.theme\";\nexport * from \"./digital.theme\";\nexport * from \"./minimal.theme\";\nexport * from \"./plaza.theme\";\nexport * from \"./slot-machine.theme\";\nexport * from \"./train-station.theme\";\n","/**\n * Created: 2017-06-15 by Jose Andres\n * Modified:\n *   - 2020-04-12 by Marco Trinastich: Migrated to Angular 9 and enhanced decimal precision handling using the updated tm-odometer library.\n *   - 2025-04-19 by Marco Trinastich: Upgraded to the latest Angular version, optimized performance, and improved code quality.\n */\n\nimport {\n  Component,\n  ViewEncapsulation,\n  Input,\n  OnInit,\n  OnDestroy,\n  OnChanges,\n  AfterViewInit,\n  ViewChild,\n  ElementRef,\n} from \"@angular/core\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { Utilities } from \"../utils/utilities\";\nimport { TmNgOdometerConfig } from \"./tm-ng-odometer.config\";\nimport {\n  CAR_THEME,\n  DEFAULT_THEME,\n  DIGITAL_THEME,\n  MINIMAL_THEME,\n  PLAZA_THEME,\n  SLOT_MACHINE_THEME,\n  TRAIN_STATION_THEME,\n} from \"./themes\";\n\n// TmOdometer (https://github.com/mtmarco87/tm-odometer.git)\nimport TmOdometer from \"tm-odometer\";\n\n@Component({\n  selector: \"tm-ng-odometer\",\n  encapsulation: ViewEncapsulation.None,\n  styles: [\n    CAR_THEME,\n    DEFAULT_THEME,\n    DIGITAL_THEME,\n    MINIMAL_THEME,\n    PLAZA_THEME,\n    SLOT_MACHINE_THEME,\n    TRAIN_STATION_THEME,\n    `\n      .odometer,\n      .odometer-inside,\n      .odometer-digit,\n      .odometer-digit-spacer,\n      .odometer-digit-inner,\n      .odometer-ribbon,\n      .odometer-ribbon-inner,\n      .odometer-value,\n      .odometer-formatting-mark {\n        color: inherit;\n        font-size: inherit;\n        font-family: inherit;\n      }\n    `,\n  ],\n  template: `<div #container></div>`,\n  standalone: false,\n})\nexport class TmNgOdometerComponent\n  implements OnInit, OnDestroy, OnChanges, AfterViewInit\n{\n  private subscription: Subscription;\n  private odometer: TmOdometer;\n  @ViewChild(\"container\", { read: ElementRef, static: false })\n  container: ElementRef; // Using static: false for better compatibility in complex applications\n  @Input() number: number; // Required\n  @Input() config: TmNgOdometerConfig = {};\n  @Input() observable: Observable<boolean> = undefined;\n\n  // Individual configuration attributes\n  @Input() animation: \"slide\" | \"count\" = undefined;\n  @Input() format: string = undefined;\n  @Input() theme: string = undefined;\n  @Input() value: number = undefined;\n  @Input() duration: number = undefined;\n  @Input() auto: boolean = undefined;\n\n  // Available themes\n  private themes: Array<string> = [\n    \"car\",\n    \"default\",\n    \"digital\",\n    \"minimal\",\n    \"plaza\",\n    \"slot-machine\",\n    \"train-station\",\n  ];\n\n  // Start Odometer\n  private initOdometer() {\n    if (\n      !Utilities.isUndefined(this.container) &&\n      typeof TmOdometer !== \"undefined\"\n    ) {\n      this.odometer = new TmOdometer({\n        el: this.container.nativeElement,\n        animation: this.config.animation,\n        value: this.config.value,\n        duration: this.config.duration,\n        format: this.config.format,\n        theme: this.config.theme,\n      });\n\n      if (!Utilities.isUndefined(this.number) && this.config.auto) {\n        this.odometer.update(this.number);\n      }\n    }\n  }\n\n  private initConfig() {\n    this.config = Utilities.defaults(this.config, new TmNgOdometerConfig());\n\n    // Animation\n    if (!Utilities.isUndefined(this.animation)) {\n      this.config.animation = this.animation;\n    }\n\n    // Format\n    if (!Utilities.isUndefined(this.format)) {\n      this.config.format = this.format;\n    }\n\n    // Theme\n    if (!Utilities.isUndefined(this.theme)) {\n      this.config.theme = !Utilities.includes(this.themes, this.theme)\n        ? \"default\"\n        : this.theme;\n    }\n\n    // Value\n    if (!Utilities.isUndefined(this.value)) {\n      this.config.value = this.value;\n    }\n\n    // Duration\n    if (!Utilities.isUndefined(this.duration)) {\n      this.config.duration = this.duration;\n    }\n\n    // Auto\n    if (!Utilities.isUndefined(this.auto)) {\n      this.config.auto = this.auto;\n    }\n\n    // Validate theme. If not part of the\n    // available themes array, use the default\n    if (!Utilities.includes(this.themes, this.config.theme)) {\n      this.config.theme = \"default\";\n    }\n  }\n\n  // ***************************************\n  //  LIFECYCLES\n  // ***************************************\n\n  public ngOnInit() {\n    // Bind Observable\n    if (!Utilities.isUndefined(this.observable) && !this.config.auto) {\n      this.subscription = this.observable.subscribe((trigger: boolean) => {\n        if (!Utilities.isUndefined(trigger) && trigger) {\n          this.odometer.update(this.number);\n        }\n      });\n    }\n\n    // Apply defaults and\n    // individual configurations\n    this.initConfig();\n  }\n\n  public ngOnDestroy() {\n    if (!Utilities.isUndefined(this.subscription)) {\n      this.subscription.unsubscribe();\n    }\n  }\n\n  public ngOnChanges() {\n    if (\n      !Utilities.isUndefined(this.number) &&\n      !Utilities.isUndefined(this.odometer) &&\n      this.config.auto\n    ) {\n      this.odometer.update(this.number);\n    }\n  }\n\n  public ngAfterViewInit() {\n    this.initOdometer();\n  }\n}\n","/**\n * Created: 2017-02-23 by Jose Andres\n */\n\nexport * from \"./tm-ng-odometer.component\";\n","/**\n * Created: 2017-02-23 by Jose Andres\n * Modified:\n *   - 2020-03-31 by Marco Trinastich\n */\n\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TmNgOdometerComponent } from \"./tm-ng-odometer/tm-ng-odometer.component\";\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [TmNgOdometerComponent],\n  exports: [TmNgOdometerComponent],\n})\nexport class TmNgOdometerModule {\n  static forRoot(): ModuleWithProviders<TmNgOdometerModule> {\n    return {\n      ngModule: TmNgOdometerModule,\n    };\n  }\n}\n","/*\n * Public API Surface of tm-ng-odometer\n */\n\nexport * from \"./lib/tm-ng-odometer\";\nexport * from \"./lib/tm-ng-odometer.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}