public function add_bit(string $id_usr_opt, array $cfg): ?string
  {
    if (
      ($id_usr_opt = $this->_get_id_option($id_usr_opt)) &&
      ($c = $this->class_cfg['arch']['user_options_bits'])
    ){
      $to_cfg = $this->get_bit_cfg(null, $cfg);
      if ( isset($to_cfg['items']) ){
        unset($to_cfg['items']);
      }
      if ( !empty($to_cfg) ){
        if ( !empty($cfg[$c['cfg']]) ){
          if (  \bbn\str::is_json($cfg[$c['cfg']]) ){
            $cfg[$c['cfg']] = json_decode($cfg[$c['cfg']], true);
          }
          if ( \is_array($cfg[$c['cfg']]) ){
            $cfg[$c['cfg']] = array_merge($cfg[$c['cfg']], $to_cfg);
          }
          else {
            $cfg[$c['cfg']] = $to_cfg;
          }
        }
        else {
          $cfg[$c['cfg']] = $to_cfg;
        }
        $cfg[$c['cfg']] = json_encode($cfg[$c['cfg']]);
      }
      if ( $this->db->insert($this->class_cfg['tables']['user_options_bits'], [
        $c['id_user_option'] => $id_usr_opt,
        $c['id_parent'] => $cfg[$c['id_parent']] ?? NULL,
        $c['id_option'] => $cfg[$c['id_option']] ?? NULL,
        $c['num'] => $cfg[$c['num']] ?? NULL,
        $c['text'] => $cfg[$c['text']] ?? '',
        $c['cfg'] => $cfg[$c['cfg']] ?? '',
      ]) ){
        return $this->db->last_id();
      }
    }
    return null;
  }