# Path: hgvs/exceptions.py
# class HGVSError(Exception):
#     pass
# 
# class HGVSUnsupportedOperationError(HGVSError):
#     pass


import attr
import hgvs
import six
    import doctest
from bioutils.sequences import aa_to_aa1, aa1_to_aa3
from hgvs.exceptions import HGVSError, HGVSUnsupportedOperationError
        """
        self.uncertain = True
        return self

    @property
    def type(self):
        """return the type of this Edit

        :returns: edit type (str)
        """
        return "dup"

    def _del_ins_lengths(self, ilen):
        """returns (del_len, ins_len).
        Unspecified ref or alt returns None for del_len or ins_len respectively.
        """
        if self.ref is not None and self.ref != "":
            assert len(self.ref) == ilen
        return (0, ilen)


@attr.s(slots=True)
class Repeat(Edit):
    ref = attr.ib(default=None)
    min = attr.ib(default=None)
    max = attr.ib(default=None)
    uncertain = attr.ib(default=False)

    def format(self, conf=None):
        if self.min > self.max:

# Path: hgvs/exceptions.py
# class HGVSError(Exception):
#     pass
# 
# class HGVSUnsupportedOperationError(HGVSError):
#     pass


# Path: hgvs/edit.py
import attr
import hgvs
import six
    import doctest
from bioutils.sequences import aa_to_aa1, aa1_to_aa3
from hgvs.exceptions import HGVSError, HGVSUnsupportedOperationError

        """
        self.uncertain = True
        return self

    @property
    def type(self):
        """return the type of this Edit

        :returns: edit type (str)
        """
        return "dup"

    def _del_ins_lengths(self, ilen):
        """returns (del_len, ins_len).
        Unspecified ref or alt returns None for del_len or ins_len respectively.
        """
        if self.ref is not None and self.ref != "":
            assert len(self.ref) == ilen
        return (0, ilen)


@attr.s(slots=True)
class Repeat(Edit):
    ref = attr.ib(default=None)
    min = attr.ib(default=None)
    max = attr.ib(default=None)
    uncertain = attr.ib(default=False)

    def format(self, conf=None):
        if self.min > self.max:

            raise HGVSError("Repeat min count must be less than or equal to max count")