          """
          logger.debug("Getting config item: (section: '%s', option: '%s')", section, option)
          datatype = self.defaults[section][option]["type"]
          if datatype == bool:
              func = self.config.getboolean
          elif datatype == int:
              func = self.config.getint
          elif datatype == float:
              func = self.config.getfloat
          elif datatype == list:
 
</s> remove         datatype = self.defaults[section][option]["type"]
 </s> add         datatype = self.defaults[section].items[option].datatype

        retval: ConfigValueType </s> remove             func = self.config.getint
 </s> add             retval = self.config.getint(section, option) </s> remove             func = self.config.getfloat
 </s> add             retval = self.config.getfloat(section, option) </s> remove             func = self._parse_list
 </s> add             retval = self._parse_list(section, option) </s> remove             func = self.config.get
        retval = func(section, option)
 </s> add             retval = self.config.get(section, option)

            retval = self.config.getboolean(section, option)
          """
          logger.debug("Getting config item: (section: '%s', option: '%s')", section, option)
          datatype = self.defaults[section][option]["type"]
          if datatype == bool:
            retval = self.config.getboolean(section, option)
          elif datatype == int:
              func = self.config.getint
          elif datatype == float:
              func = self.config.getfloat
          elif datatype == list:
keep keep keep keep replace keep keep keep keep keep
 Preview - Allow mask color/opacity configuration
  - typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top 
lib/config.py