# Path: pytablewriter/writer/text/_text_writer.py
# class IndentationTextTableWriter(TextTableWriter, IndentationInterface):
#     """A base class for table writer with indentation text formats.
# 
#     Args:
#         indent_level (int): Indentation level. Defaults to ``0``.
# 
#     .. py:attribute:: indent_string
# 
#         Indentation string for each level.
#     """
# 
#     def __init__(self, **kwargs) -> None:
#         super().__init__(**kwargs)
# 
#         self.set_indent_level(kwargs.get("indent_level", 0))
#         self.indent_string = kwargs.get("indent_string", "")
# 
#     def set_indent_level(self, indent_level: int) -> None:
#         """Set the indentation level.
# 
#         Args:
#             indent_level (int): New indentation level.
#         """
# 
#         self._indent_level = indent_level
# 
#     def inc_indent_level(self) -> None:
#         """Increment the indentation level."""
# 
#         self._indent_level += 1
# 
#     def dec_indent_level(self) -> None:
#         """Decrement the indentation level."""
# 
#         self._indent_level -= 1
# 
#     def write_table(self, **kwargs) -> None:
#         """
#         |write_table|.
# 
#         Args:
#             indent (Optional[int]):
#                 Indent level of an output.
#                 Interpretation of indent level value differ format to format.
#                 Some writer classes may ignore this value.
# 
#         .. note::
#             - |None| values are written as an empty string.
#         """
# 
#         indent = kwargs.pop("indent", None)
# 
#         if indent is not None:
#             self._logger.logger.debug(f"indent: {indent}")
#             self.set_indent_level(int(indent))
# 
#         try:
#             super().write_table(**kwargs)
#         except EmptyTableDataError:
#             self._logger.logger.debug("no tabular data found")
#             return
# 
#     def _get_indent_string(self) -> str:
#         return self.indent_string * self._indent_level
# 
#     def _write(self, text):
#         self._write_raw_string(self._get_indent_string() + text)
# 
#     def _write_line(self, text: str = "") -> None:
#         if typepy.is_not_null_string(text):
#             self._write_raw_line(self._get_indent_string() + text)
#         else:
#             self._write_raw_line("")


import copy
import dataproperty as dp
from ._text_writer import IndentationTextTableWriter
        self.char_left_cross_point = "├"
        self.char_right_cross_point = "┤"
        self.char_header_row_cross_point = "┼"
        self.char_header_row_left_cross_point = "├"
        self.char_header_row_right_cross_point = "┤"
        self.char_top_left_cross_point = "┌"
        self.char_top_right_cross_point = "┐"
        self.char_bottom_left_cross_point = "└"
        self.char_bottom_right_cross_point = "┘"

        self.char_opening_row = "─"
        self.char_opening_row_cross_point = "┬"

        self.char_header_row_separator = "─"
        self.char_value_row_separator = "─"

        self.char_closing_row = "─"
        self.char_closing_row_cross_point = "┴"

        self.indent_string = kwargs.get("indent_string", "    ")
        self.is_write_header_separator_row = True
        self.is_write_value_separator_row = True
        self.is_write_opening_row = True
        self.is_write_closing_row = True

        self._quoting_flags = copy.deepcopy(dp.NOT_QUOTING_FLAGS)

        self._init_cross_point_maps()



# Path: pytablewriter/writer/text/_text_writer.py
# class IndentationTextTableWriter(TextTableWriter, IndentationInterface):
#     """A base class for table writer with indentation text formats.
# 
#     Args:
#         indent_level (int): Indentation level. Defaults to ``0``.
# 
#     .. py:attribute:: indent_string
# 
#         Indentation string for each level.
#     """
# 
#     def __init__(self, **kwargs) -> None:
#         super().__init__(**kwargs)
# 
#         self.set_indent_level(kwargs.get("indent_level", 0))
#         self.indent_string = kwargs.get("indent_string", "")
# 
#     def set_indent_level(self, indent_level: int) -> None:
#         """Set the indentation level.
# 
#         Args:
#             indent_level (int): New indentation level.
#         """
# 
#         self._indent_level = indent_level
# 
#     def inc_indent_level(self) -> None:
#         """Increment the indentation level."""
# 
#         self._indent_level += 1
# 
#     def dec_indent_level(self) -> None:
#         """Decrement the indentation level."""
# 
#         self._indent_level -= 1
# 
#     def write_table(self, **kwargs) -> None:
#         """
#         |write_table|.
# 
#         Args:
#             indent (Optional[int]):
#                 Indent level of an output.
#                 Interpretation of indent level value differ format to format.
#                 Some writer classes may ignore this value.
# 
#         .. note::
#             - |None| values are written as an empty string.
#         """
# 
#         indent = kwargs.pop("indent", None)
# 
#         if indent is not None:
#             self._logger.logger.debug(f"indent: {indent}")
#             self.set_indent_level(int(indent))
# 
#         try:
#             super().write_table(**kwargs)
#         except EmptyTableDataError:
#             self._logger.logger.debug("no tabular data found")
#             return
# 
#     def _get_indent_string(self) -> str:
#         return self.indent_string * self._indent_level
# 
#     def _write(self, text):
#         self._write_raw_string(self._get_indent_string() + text)
# 
#     def _write_line(self, text: str = "") -> None:
#         if typepy.is_not_null_string(text):
#             self._write_raw_line(self._get_indent_string() + text)
#         else:
#             self._write_raw_line("")


# Path: pytablewriter/writer/text/_unicode.py
import copy
import dataproperty as dp
from ._text_writer import IndentationTextTableWriter

        self.char_left_cross_point = "├"
        self.char_right_cross_point = "┤"
        self.char_header_row_cross_point = "┼"
        self.char_header_row_left_cross_point = "├"
        self.char_header_row_right_cross_point = "┤"
        self.char_top_left_cross_point = "┌"
        self.char_top_right_cross_point = "┐"
        self.char_bottom_left_cross_point = "└"
        self.char_bottom_right_cross_point = "┘"

        self.char_opening_row = "─"
        self.char_opening_row_cross_point = "┬"

        self.char_header_row_separator = "─"
        self.char_value_row_separator = "─"

        self.char_closing_row = "─"
        self.char_closing_row_cross_point = "┴"

        self.indent_string = kwargs.get("indent_string", "    ")
        self.is_write_header_separator_row = True
        self.is_write_value_separator_row = True
        self.is_write_opening_row = True
        self.is_write_closing_row = True

        self._quoting_flags = copy.deepcopy(dp.NOT_QUOTING_FLAGS)

        self._init_cross_point_maps()



class BoldUnicodeTableWriter(IndentationTextTableWriter):