# Path: falsy/termcc/termcc.py
# def fore(fore):
#     if type(fore) == str:
#         return wrap(TERMCC_FORE + str(TERMCC_FORE_TABLE[fore]))
#     if 0 < fore <= 256:
#         return wrap(TERMCC_FORE + str(fore))
#     return wrap(TERMCC_FORE + str(TERMCC_FORE_TABLE['white']))
# 
# def back(color):
#     return wrap(TERMCC_BACK + str(TERMCC_FORE_TABLE[color]))
# 
# def style(style):
#     return wrap(TERMCC_STYLE + str(TERMCC_STYLE_TABLE[style]))
# 
# def reset():
#     return wrap(TERMCC_RESET_ALL)
# 
# def rastyle():
#     return wrap(TERMCC_RESET_ALL_STYLE)
# 
# def rred():
#     return rfore('red')
# 
# def ritalic():
#     return rstyle('italic')
# 
# def reverse():
#     return style('reverse')
# 
# def rafore():
#     return wrap(TERMCC_RESET_ALL_FORE)
# 
# def raback():
#     return wrap(TERMCC_RESET_ALL_BACK)


import logging
import collections
from falsy.termcc.termcc import fore, back, style, reset, rastyle, rred, ritalic, reverse, rafore, raback




class ColoredRecord(object):
    class __dict(collections.defaultdict):
        def __missing__(self, name):
            try:
                return parse_colors(name)
            except Exception:
                raise KeyError("{} is not a valid record attribute "
                               "or color sequence".format(name))

    def __init__(self, record):
        self.__dict__ = self.__dict()
        self.__dict__.update(record.__dict__)
        self.__record = record

    def __getattr__(self, name):
        return getattr(self.__record, name)


codes = {
    'black': fore('black'),
    'red': fore('red'),
    'green': fore('green'),
    'yellow': fore('yellow'),
    'blue': fore('blue'),
    'magenta': fore('magenta'),
    'cyan': fore('cyan'),

# Path: falsy/termcc/termcc.py
# def fore(fore):
#     if type(fore) == str:
#         return wrap(TERMCC_FORE + str(TERMCC_FORE_TABLE[fore]))
#     if 0 < fore <= 256:
#         return wrap(TERMCC_FORE + str(fore))
#     return wrap(TERMCC_FORE + str(TERMCC_FORE_TABLE['white']))
# 
# def back(color):
#     return wrap(TERMCC_BACK + str(TERMCC_FORE_TABLE[color]))
# 
# def style(style):
#     return wrap(TERMCC_STYLE + str(TERMCC_STYLE_TABLE[style]))
# 
# def reset():
#     return wrap(TERMCC_RESET_ALL)
# 
# def rastyle():
#     return wrap(TERMCC_RESET_ALL_STYLE)
# 
# def rred():
#     return rfore('red')
# 
# def ritalic():
#     return rstyle('italic')
# 
# def reverse():
#     return style('reverse')
# 
# def rafore():
#     return wrap(TERMCC_RESET_ALL_FORE)
# 
# def raback():
#     return wrap(TERMCC_RESET_ALL_BACK)


# Path: falsy/jlog/formatters.py
import logging
import collections
from falsy.termcc.termcc import fore, back, style, reset, rastyle, rred, ritalic, reverse, rafore, raback





class ColoredRecord(object):
    class __dict(collections.defaultdict):
        def __missing__(self, name):
            try:
                return parse_colors(name)
            except Exception:
                raise KeyError("{} is not a valid record attribute "
                               "or color sequence".format(name))

    def __init__(self, record):
        self.__dict__ = self.__dict()
        self.__dict__.update(record.__dict__)
        self.__record = record

    def __getattr__(self, name):
        return getattr(self.__record, name)


codes = {
    'black': fore('black'),
    'red': fore('red'),
    'green': fore('green'),
    'yellow': fore('yellow'),
    'blue': fore('blue'),
    'magenta': fore('magenta'),
    'cyan': fore('cyan'),

    'lgray': fore('lightgray'),