public static function getValues($mask, $value)
    {
        $parse   = self::parseChartMask($mask);
        $negative = 0 === strpos($value, '-');
        $value = $negative ? (int)substr($value, 1) : $value;
        $data    = [];
        $laValue = $value;
        for ($k = count($parse) - 1; $k >= 0; $k--) {
            $size = $parse[$k]['size'];

            if (strlen($laValue) > $size) {
                $result  = substr($laValue, strlen($laValue) - $size, $size);
                $laValue = substr($laValue, 0, strlen($laValue) - $size);
            } else {
                if ($k !== 0) {
                    $result  = str_pad($laValue, $size, '0', STR_PAD_LEFT);
                    $laValue = '';
                } else {
                    $result = $laValue;
                    if ('' === $laValue) {
                        $result = '0';
                    }
                    if ($negative) {
                        $result = '-' . $result;
                    }
                }
            }
            if ($value === null) {
                $result = '';
            }
            $data[] = ['value' => $result];
        }

        return array_reverse($data);
    }