from enum import Enum, auto
from flower import Species, Variant

FLOWER_MAP = {
    Species.ROSE: {
        "00000": Variant.BLACK,
        "00001": Variant.BLACK,
        "00002": Variant.BLACK,
        "00010": Variant.BLACK,
        "00011": Variant.BLACK,
        "00012": Variant.BLACK,
        "00020": Variant.WHITE,
        "00021": Variant.WHITE,
        "00022": Variant.WHITE,
        "00100": Variant.GREY,
        "00101": Variant.GREY,
        "00102": Variant.RAINBOW,
        "00110": Variant.GREY,
        "00111": Variant.GREY,
        "00112": Variant.RAINBOW,
        "00120": Variant.WHITE,
        "00121": Variant.WHITE,
        "00122": Variant.RAINBOW,
        "00200": Variant.BLACK,
        "00201": Variant.BLUE,
        "00202": Variant.RAINBOW,
        "00210": Variant.BLUE,
        "00211": Variant.BLUE,
        "00212": Variant.BLUE,
        "00220": Variant.WHITE,
        "00221": Variant.BLUE,
        "00222": Variant.GLITTER,
        "01000": Variant.GREEN,
        "01001": Variant.BLACK,
        "01002": Variant.BLACK,
        "01010": Variant.GREEN,
        "01011": Variant.BLACK,
        "01012": Variant.BLACK,
        "01020": Variant.GREEN,
        "01021": Variant.GREY,
        "01022": Variant.GREY,
        "01100": Variant.GREEN,
        "01101": Variant.GREEN,
        "01102": Variant.RAINBOW,
        "01110": Variant.GREEN,
        "01111": Variant.GREEN,
        # TODO DOWN
        "01112": Variant.BLACK,
        "01120": Variant.BLACK,
        "01121": Variant.BLACK,
        "01122": Variant.BLACK,
        "01200": Variant.BLACK,
        "01201": Variant.BLACK,
        "01202": Variant.BLACK,
        "01210": Variant.BLACK,
        "01211": Variant.BLACK,
        "01212": Variant.BLACK,
        "01220": Variant.BLACK,
        "01221": Variant.BLACK,
        "01222": Variant.BLACK,
        "02000": Variant.BLACK,
        "02001": Variant.BLACK,
        "02002": Variant.BLACK,
        "02010": Variant.BLACK,
        "02011": Variant.BLACK,
        "02012": Variant.BLACK,
        "02020": Variant.BLACK,
        "02021": Variant.BLACK,
        "02022": Variant.BLACK,
        "02100": Variant.BLACK,
        "02101": Variant.BLACK,
        "02102": Variant.BLACK,
        "02110": Variant.BLACK,
        "02111": Variant.BLACK,
        "02112": Variant.BLACK,
        "02120": Variant.BLACK,
        "02121": Variant.BLACK,
        "02122": Variant.BLACK,
        "02200": Variant.BLACK,
        "02201": Variant.BLACK,
        "02202": Variant.BLACK,
        "02210": Variant.BLACK,
        "02211": Variant.BLACK,
        "02212": Variant.BLACK,
        "02220": Variant.BLACK,
        "02221": Variant.BLACK,
        "02222": Variant.BLACK,
        "10000": Variant.BLACK,
        "10001": Variant.BLACK,
        "10002": Variant.BLACK,
        "10010": Variant.BLACK,
        "10011": Variant.BLACK,
        "10012": Variant.BLACK,
        "10020": Variant.BLACK,
        "10021": Variant.BLACK,
        "10022": Variant.BLACK,
        "10100": Variant.BLACK,
        "10101": Variant.BLACK,
        "10102": Variant.BLACK,
        "10110": Variant.BLACK,
        "10111": Variant.BLACK,
        "10112": Variant.BLACK,
        "10120": Variant.BLACK,
        "10121": Variant.BLACK,
        "10122": Variant.BLACK,
        "10200": Variant.BLACK,
        "10201": Variant.BLACK,
        "10202": Variant.BLACK,
        "10210": Variant.BLACK,
        "10211": Variant.BLACK,
        "10212": Variant.BLACK,
        "10220": Variant.BLACK,
        "10221": Variant.BLACK,
        "10222": Variant.BLACK,
        "11000": Variant.BLACK,
        "11001": Variant.BLACK,
        "11002": Variant.BLACK,
        "11010": Variant.BLACK,
        "11011": Variant.BLACK,
        "11012": Variant.BLACK,
        "11020": Variant.BLACK,
        "11021": Variant.BLACK,
        "11022": Variant.BLACK,
        "11100": Variant.BLACK,
        "11101": Variant.BLACK,
        "11102": Variant.BLACK,
        "11110": Variant.BLACK,
        "11111": Variant.BLACK,
        "11112": Variant.BLACK,
        "11120": Variant.BLACK,
        "11121": Variant.BLACK,
        "11122": Variant.BLACK,
        "11200": Variant.BLACK,
        "11201": Variant.BLACK,
        "11202": Variant.BLACK,
        "11210": Variant.BLACK,
        "11211": Variant.BLACK,
        "11212": Variant.BLACK,
        "11220": Variant.BLACK,
        "11221": Variant.BLACK,
        "11222": Variant.BLACK,
        "12000": Variant.BLACK,
        "12001": Variant.BLACK,
        "12002": Variant.BLACK,
        "12010": Variant.BLACK,
        "12011": Variant.BLACK,
        "12012": Variant.BLACK,
        "12020": Variant.BLACK,
        "12021": Variant.BLACK,
        "12022": Variant.BLACK,
        "12100": Variant.BLACK,
        "12101": Variant.BLACK,
        "12102": Variant.BLACK,
        "12110": Variant.BLACK,
        "12111": Variant.BLACK,
        "12112": Variant.BLACK,
        "12120": Variant.BLACK,
        "12121": Variant.BLACK,
        "12122": Variant.BLACK,
        "12200": Variant.BLACK,
        "12201": Variant.BLACK,
        "12202": Variant.BLACK,
        "12210": Variant.BLACK,
        "12211": Variant.BLACK,
        "12212": Variant.BLACK,
        "12220": Variant.BLACK,
        "12221": Variant.BLACK,
        "12222": Variant.BLACK,
        "20000": Variant.BLACK,
        "20001": Variant.BLACK,
        "20002": Variant.BLACK,
        "20010": Variant.BLACK,
        "20011": Variant.BLACK,
        "20012": Variant.BLACK,
        "20020": Variant.BLACK,
        "20021": Variant.BLACK,
        "20022": Variant.BLACK,
        "20100": Variant.BLACK,
        "20101": Variant.BLACK,
        "20102": Variant.BLACK,
        "20110": Variant.BLACK,
        "20111": Variant.BLACK,
        "20112": Variant.BLACK,
        "20120": Variant.BLACK,
        "20121": Variant.BLACK,
        "20122": Variant.BLACK,
        "20200": Variant.BLACK,
        "20201": Variant.BLACK,
        "20202": Variant.BLACK,
        "20210": Variant.BLACK,
        "20211": Variant.BLACK,
        "20212": Variant.BLACK,
        "20220": Variant.BLACK,
        "20221": Variant.BLACK,
        "20222": Variant.BLACK,
        "21000": Variant.BLACK,
        "21001": Variant.BLACK,
        "21002": Variant.BLACK,
        "21010": Variant.BLACK,
        "21011": Variant.BLACK,
        "21012": Variant.BLACK,
        "21020": Variant.BLACK,
        "21021": Variant.BLACK,
        "21022": Variant.BLACK,
        "21100": Variant.BLACK,
        "21101": Variant.BLACK,
        "21102": Variant.BLACK,
        "21110": Variant.BLACK,
        "21111": Variant.BLACK,
        "21112": Variant.BLACK,
        "21120": Variant.BLACK,
        "21121": Variant.BLACK,
        "21122": Variant.BLACK,
        "21200": Variant.BLACK,
        "21201": Variant.BLACK,
        "21202": Variant.BLACK,
        "21210": Variant.BLACK,
        "21211": Variant.BLACK,
        "21212": Variant.BLACK,
        "21220": Variant.BLACK,
        "21221": Variant.BLACK,
        "21222": Variant.BLACK,
        "22000": Variant.BLACK,
        "22001": Variant.BLACK,
        "22002": Variant.BLACK,
        "22010": Variant.BLACK,
        "22011": Variant.BLACK,
        "22012": Variant.BLACK,
        "22020": Variant.BLACK,
        "22021": Variant.BLACK,
        "22022": Variant.BLACK,
        "22100": Variant.BLACK,
        "22101": Variant.BLACK,
        "22102": Variant.BLACK,
        "22110": Variant.BLACK,
        "22111": Variant.BLACK,
        "22112": Variant.BLACK,
        "22120": Variant.BLACK,
        "22121": Variant.BLACK,
        "22122": Variant.BLACK,
        "22200": Variant.BLACK,
        "22201": Variant.BLACK,
        "22202": Variant.BLACK,
        "22210": Variant.BLACK,
        "22211": Variant.BLACK,
        "22212": Variant.BLACK,
        "22220": Variant.BLACK,
        "22221": Variant.BLACK,
        "22222": Variant.BLACK,
    }
}
