# Path: rubik_solver/Enums.py
# def enum(*sequential, **named):


from .Enums import Corner, Edge

class DupedEdge(Exception): pass
class FlipError(Exception): pass
class DupedCorner(Exception): pass
class TwistError(Exception): pass
class ParityError(Exception): pass

class CubieCube(object):
    '''Cube on the cubie level'''

    ## moves on the cubie level
    cpU = [
        Corner.UBR, Corner.URF, Corner.UFL, Corner.ULB, Corner.DFR, Corner.DLF, Corner.DBL, Corner.DRB
    ]
    coU = [0] * 8
    epU = [

# Path: rubik_solver/Enums.py
# def enum(*sequential, **named):


# Path: rubik_solver/CubieCube.py
from .Enums import Corner, Edge


class DupedEdge(Exception): pass
class FlipError(Exception): pass
class DupedCorner(Exception): pass
class TwistError(Exception): pass
class ParityError(Exception): pass

class CubieCube(object):
    '''Cube on the cubie level'''

    ## moves on the cubie level
    cpU = [
        Corner.UBR, Corner.URF, Corner.UFL, Corner.ULB, Corner.DFR, Corner.DLF, Corner.DBL, Corner.DRB
    ]
    coU = [0] * 8
    epU = [

        Edge.UB, Edge.UR, Edge.UF, Edge.UL, Edge.DR, Edge.DF, Edge.DL, Edge.DB, Edge.FR, Edge.FL, Edge.BL, Edge.BR