# Path: scripts/pyparsing/util.py
# class __config_flags:
# class _UnboundedCache:
# class _FifoCache:
#     def _set(cls, dname, value):
# def col(loc, strg):
# def lineno(loc, strg):
# def line(loc, strg):
#     def __init__(self):
#         def get(self, key):
#         def set(self, key, value):
#         def clear(self):
#         def cache_len(self):
#     def __init__(self, size):
#         def get(self, key):
#         def set(self, key, value):
#         def clear(self):
#         def cache_len(self):
# def _escapeRegexRangeChars(s):
# def _collapseAndEscapeRegexRangeChars(s):
#     def is_consecutive(c):
#     def escape_re_range_char(c):
# def _flatten(L):


import string
import copy
import sys
import warnings
import re
import sre_constants
import traceback
import types
                import pdb
    from collections.abc import Iterable
    from collections import Iterable
from operator import itemgetter
from functools import wraps
from threading import RLock
from .util import (
    _FifoCache,
    _UnboundedCache,
    __config_flags,
    _collapseAndEscapeRegexRangeChars,
    _escapeRegexRangeChars,
    _bslash,
    _flatten,
)
from pyparsing.exceptions import *
from pyparsing.actions import *
from pyparsing.results import ParseResults, _ParseResultsWithOffset
                self.strRepr = "W:(%s, %s)" % (
                    charsAsStr(self.initCharsOrig),
                    charsAsStr(self.bodyCharsOrig),
                )
            else:
                self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig)

        return self.strRepr


class _WordRegex(Word):
    def parseImpl(self, instring, loc, doActions=True):
        result = self.re_match(instring, loc)
        if not result:
            raise ParseException(instring, loc, self.errmsg, self)

        loc = result.end()
        return loc, result.group()


class Char(_WordRegex):
    """A short-cut class for defining ``Word(characters, exact=1)``,
    when defining a match of any single character in a string of
    characters.
    """

    def __init__(self, charset, asKeyword=False, excludeChars=None):
        super(Char, self).__init__(
            charset, exact=1, asKeyword=asKeyword, excludeChars=excludeChars
        )

# Path: scripts/pyparsing/util.py
# class __config_flags:
# class _UnboundedCache:
# class _FifoCache:
#     def _set(cls, dname, value):
# def col(loc, strg):
# def lineno(loc, strg):
# def line(loc, strg):
#     def __init__(self):
#         def get(self, key):
#         def set(self, key, value):
#         def clear(self):
#         def cache_len(self):
#     def __init__(self, size):
#         def get(self, key):
#         def set(self, key, value):
#         def clear(self):
#         def cache_len(self):
# def _escapeRegexRangeChars(s):
# def _collapseAndEscapeRegexRangeChars(s):
#     def is_consecutive(c):
#     def escape_re_range_char(c):
# def _flatten(L):


# Path: scripts/pyparsing/core.py
import string
import copy
import sys
import warnings
import re
import sre_constants
import traceback
import types
                import pdb
    from collections.abc import Iterable
    from collections import Iterable
from operator import itemgetter
from functools import wraps
from threading import RLock
from .util import (
    _FifoCache,
    _UnboundedCache,
    __config_flags,
    _collapseAndEscapeRegexRangeChars,
    _escapeRegexRangeChars,
    _bslash,
    _flatten,
)
from pyparsing.exceptions import *
from pyparsing.actions import *
from pyparsing.results import ParseResults, _ParseResultsWithOffset

                self.strRepr = "W:(%s, %s)" % (
                    charsAsStr(self.initCharsOrig),
                    charsAsStr(self.bodyCharsOrig),
                )
            else:
                self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig)

        return self.strRepr


class _WordRegex(Word):
    def parseImpl(self, instring, loc, doActions=True):
        result = self.re_match(instring, loc)
        if not result:
            raise ParseException(instring, loc, self.errmsg, self)

        loc = result.end()
        return loc, result.group()


class Char(_WordRegex):
    """A short-cut class for defining ``Word(characters, exact=1)``,
    when defining a match of any single character in a string of
    characters.
    """

    def __init__(self, charset, asKeyword=False, excludeChars=None):
        super(Char, self).__init__(
            charset, exact=1, asKeyword=asKeyword, excludeChars=excludeChars
        )

        self.reString = "[{}]".format(_collapseAndEscapeRegexRangeChars(self.initChars))