Преглед изворни кода

SVI Переделка на новую архитектуру

SVI пре 1 година
родитељ
комит
6cfcd706b8
100 измењених фајлова са 288 додато и 344 уклоњено
  1. 1 1
      app/lev0/types/iapp.go
  2. 1 2
      app/lev0/types/iarena_angar.go
  3. 0 1
      app/lev0/types/iarena_arsenal.go
  4. 0 1
      app/lev0/types/iarena_bank.go
  5. 2 3
      app/lev0/types/iarena_base.go
  6. 0 1
      app/lev0/types/iarena_convoy.go
  7. 2 2
      app/lev0/types/iarena_ctx.go
  8. 0 1
      app/lev0/types/iarena_fuel.go
  9. 0 1
      app/lev0/types/iarena_mine.go
  10. 0 1
      app/lev0/types/iarena_polygon.go
  11. 2 16
      app/lev0/types/ibattle_action.go
  12. 1 1
      app/lev0/types/ibattle_scene.go
  13. 1 1
      app/lev0/types/ibot_context.go
  14. 2 2
      app/lev0/types/ibot_net.go
  15. 6 8
      app/lev0/types/idiv_war_action.go
  16. 2 2
      app/lev0/types/idiv_war_scene.go
  17. 2 2
      app/lev0/types/imarket.go
  18. 1 1
      app/lev0/types/imissions.go
  19. 0 7
      app/lev0/types/ireset.go
  20. 0 16
      app/lev0/types/isection.go
  21. 7 7
      app/lev1/product/product.go
  22. 2 2
      app/lev1/stat_param/stat_param.go
  23. 4 3
      app/lev1/web_render/web_render.go
  24. 3 3
      app/lev1/wrag/wrag.go
  25. 1 1
      app/lev2/arena/arena.go
  26. 5 5
      app/lev2/arena/arena_context/arena_context.go
  27. 11 11
      app/lev2/arena/arena_net/arena_net.go
  28. 3 3
      app/lev2/arena/arena_net/arena_web_worker/arena_web_worker.go
  29. 2 2
      app/lev2/arena/arena_string/arena_string.go
  30. 8 8
      app/lev2/arena/down_time/down_time.go
  31. 3 3
      app/lev2/arena_angar/arena_angar.go
  32. 5 5
      app/lev2/arena_arsenal/arena_arsenal.go
  33. 1 1
      app/lev2/arena_bank/arena_bank.go
  34. 2 4
      app/lev2/arena_base/arena_base.go
  35. 1 1
      app/lev2/arena_battle/battle_worker/battleon/battleon.go
  36. 1 1
      app/lev2/arena_death/arena_death.go
  37. 1 1
      app/lev2/arena_death/battle_wait/battle_wait.go
  38. 1 1
      app/lev2/arena_death/death_register/death_register.go
  39. 1 1
      app/lev2/arena_division/div_war/div_war.go
  40. 10 10
      app/lev2/arena_division/div_war/div_war_on/div_war_on.go
  41. 8 5
      app/lev2/arena_division/div_war/div_war_on/health/health.go
  42. 3 3
      app/lev2/arena_division/div_war/div_war_on/manevr/manevr.go
  43. 3 3
      app/lev2/arena_division/div_war/div_war_on/shot/shot.go
  44. 9 9
      app/lev2/arena_division/div_war/divwaron/divwaron.go
  45. 9 9
      app/lev2/arena_division/divwar/div_war_on/div_war_on.go
  46. 2 3
      app/lev2/arena_division/divwar/divwar.go
  47. 10 10
      app/lev2/arena_division/divwar/divwaron/divwaron.go
  48. 2 2
      app/lev2/arena_fuel_storage/arena_fuel_storage.go
  49. 2 3
      app/lev2/arena_market/arena_market.go
  50. 3 3
      app/lev2/arena_masters/arena_masters.go
  51. 2 2
      app/lev2/arena_mine/arena_mine.go
  52. 8 10
      app/lev2/arena_polygon/arena_polygon.go
  53. 3 3
      app/lev2/arena_upgrade/arena_upgrade.go
  54. 2 4
      app/lev3/bot/angar/base/base.go
  55. 2 2
      app/lev3/bot/angar/base/mine/mine.go
  56. 8 10
      app/lev3/bot/angar/base/polygon/polygon.go
  57. 1 1
      app/lev3/bot/angar/battle/battle_worker/battleon/battleon.go
  58. 1 1
      app/lev3/bot/angar/death_match/battle.go
  59. 1 1
      app/lev3/bot/angar/death_match/death_worker/death_on/death_on.go
  60. 1 1
      app/lev3/bot/angar/death_match/death_worker/death_worker.go
  61. 1 1
      app/lev3/bot/angar/division/div_war/div_war.go
  62. 7 7
      app/lev3/bot/angar/division/div_war/div_war_on/health/health.go
  63. 3 3
      app/lev3/bot/angar/division/div_war/div_war_on/manevr/manevr.go
  64. 5 6
      app/lev3/bot/angar/division/div_war/div_war_on/shot/shot.go
  65. 1 1
      app/lev3/bot/angar/division/divwar/divwar.go
  66. 10 12
      app/lev3/bot/bot.go
  67. 3 3
      app/lev3/bot/bot_net/bot_cookie/bot_cookie.go
  68. 6 7
      app/lev3/bot/bot_net/bot_net.go
  69. 3 3
      app/lev3/bot/bot_net/bot_net_login/bot_net_login.go
  70. 3 3
      app/lev3/bot/bot_net/bot_net_stat/net_stat.go
  71. 3 3
      app/lev3/bot/bot_net/http_worker/http_worker.go
  72. 4 3
      app/lev3/bot/bot_net/http_worker/net_stat/net_stat.go
  73. 2 2
      app/lev3/bot/warbot_config/warbot_config.go
  74. 3 3
      app/lev3/farm_bots/dict_bot/dict_bot.go
  75. 1 1
      app/lev3/farm_bots/farm_bots.go
  76. 4 4
      app/lev3/serv_web/serv_web.go
  77. 3 3
      app/lev3/serv_web/web_api/web_api.go
  78. 4 4
      app/lev3/serv_web/web_gui/page_bot_add/page_bot_add.go
  79. 4 4
      app/lev3/serv_web/web_gui/page_bot_list/page_bot_list.go
  80. 4 4
      app/lev3/serv_web/web_gui/page_bot_show/page_bot_show.go
  81. 4 4
      app/lev3/serv_web/web_gui/page_login/page_login.go
  82. 4 4
      app/lev3/serv_web/web_gui/web_gui.go
  83. 3 3
      app/lev3/server_stat/server_stat.go
  84. 6 6
      app/lev4/applic/applic.go
  85. 3 3
      app/lev4/build/build.go
  86. 0 0
      kernel/internal/kernel_alias/kermel_alias.go
  87. 0 0
      kernel/internal/kernel_alias/kernel_alias_test.go
  88. 3 3
      kernel/internal/kernel_ctx/kernel_ctx.go
  89. 0 0
      kernel/internal/kernel_ctx/kernel_ctx_test.go
  90. 1 1
      kernel/internal/kernel_ctx/kernel_keeper/kernel_keeper.go
  91. 2 2
      kernel/internal/kernel_ctx/kernel_keeper/kernel_keeper_test.go
  92. 5 5
      kernel/internal/kernel_ctx/kernel_wg/kernel_wg.go
  93. 1 1
      kernel/internal/kernel_ctx/kernel_wg/kernel_wg_test.go
  94. 0 0
      kernel/internal/kernel_dict/kernel_dict.go
  95. 1 1
      kernel/internal/kernel_log/logger.go
  96. 4 4
      kernel/internal/kernel_serv_http/kernel_serv_http.go
  97. 2 2
      kernel/internal/kernel_serv_http/kernel_serv_http_test.go
  98. 0 0
      kernel/internal/kernel_serv_http/static/css/bootstrap-grid.min.css
  99. 0 0
      kernel/internal/kernel_serv_http/static/css/bootstrap-grid.min.css.map
  100. 0 0
      kernel/internal/kernel_serv_http/static/css/bootstrap-grid.rtl.min.css

+ 1 - 1
app/lev0/types/iapp.go

@@ -1,6 +1,6 @@
 package types
 
-import "wartank/pkg/kernel/kernel_types"
+import "wartank/kernel/kernel_types"
 
 /*
 	Интерфейс для приложения

+ 1 - 2
app/lev0/types/iarena_angar.go

@@ -6,7 +6,6 @@ package types
 
 // ИАнгар -- интерфейс ангара
 type ИАнгар interface {
-	ИСценаСтр
 	ИАрена
 	// Конвой -- возвращает объект конвоя
 	Конвой() ИАренаКонвой
@@ -29,7 +28,7 @@ type ИАнгар interface {
 	// Сражение -- возвращает объект сражения
 	Сражение() ИСражениеСцена
 	// База -- возвращает объект базы
-	База() ИБаза
+	База() ИАренаБаза
 	// Миссии -- возвращает объект миссий
 	Миссии() ИМиссии
 	// РесурсыОбновить -- принудительно обновляет ресурсы бота

+ 0 - 1
app/lev0/types/iarena_arsenal.go

@@ -6,7 +6,6 @@ package types
 
 // ИАренаАрсенал -- интерфейс к объекту арсенала
 type ИАренаАрсенал interface {
-	ИСценаСтр
 	ИБазаСтроение
 	ИАрена
 	// Фугасы -- возвращает объект фугасов

+ 0 - 1
app/lev0/types/iarena_bank.go

@@ -6,7 +6,6 @@ package types
 
 // ИБанк -- интерфейс банка на базе
 type ИБанк interface {
-	ИСценаСтр
 	// СереброБот -- сколько серебра заработал бот
 	СереброБот() ИСтатПарам
 	// РежимРаботы1 -- объект первого режима производства

+ 2 - 3
app/lev0/types/ibase.go → app/lev0/types/iarena_base.go

@@ -4,9 +4,8 @@ package types
 	Интерфейс к базы игры
 */
 
-// ИБаза -- интерфейс к базе игры
-type ИБаза interface {
-	ИСценаСтр
+// ИАренаБаза -- интерфейс к базе игры
+type ИАренаБаза interface {
 	ИАрена
 	// Арсенал -- возвращает объект арсенала
 	Арсенал() ИАренаАрсенал

+ 0 - 1
app/lev0/types/iarena_convoy.go

@@ -6,7 +6,6 @@ package types
 
 // ИАренаКонвой -- интерфейс к объекту конвоя
 type ИАренаКонвой interface {
-	ИСценаСтр
 	ИАрена
 	// Слава -- возвращает объект славы конвоя
 	Слава() ИСтатПарам

+ 2 - 2
app/lev0/types/iarena_ctx.go

@@ -11,8 +11,8 @@ type ИАренаКонтекст interface {
 	Бот() ИБот
 	// Контекст -- контекст игровой арены
 	Контекст() context.Context
-	// Отмена -- отмена контекста игровой арены
-	Отмена()
+	// Отменить -- вызывает контекст отмены битвы
+	Отменить()
 	// Имя -- имя игровой арены
 	Имя() alias.АренаИмя
 	// АренаСостояние -- состояние арены

+ 0 - 1
app/lev0/types/iarena_fuel.go

@@ -2,7 +2,6 @@ package types
 
 // ИАренаТопливо -- топливная база
 type ИАренаТопливо interface {
-	ИСценаСтр
 	ИБазаСтроение
 	ИАрена
 	// Топливо -- возвращает предельное количество топлива

+ 0 - 1
app/lev0/types/iarena_mine.go

@@ -6,7 +6,6 @@ package types
 
 // ИАренаШахта -- интерфейс к объекту шахты
 type ИАренаШахта interface {
-	ИСценаСтр
 	ИБазаСтроение
 	ИАрена
 	// Руда -- возвращает объект руды

+ 0 - 1
app/lev0/types/iarena_polygon.go

@@ -6,7 +6,6 @@ package types
 
 // ИАренаПолигон -- интерфейс к полигону
 type ИАренаПолигон interface {
-	ИСценаСтр
 	ИБазаСтроение
 	ИАрена
 }

+ 2 - 16
app/lev0/types/ibattle_action.go

@@ -1,24 +1,10 @@
 package types
 
-import (
-	"context"
-)
-
-/*
-	Интерфейс к сражению
-*/
-
-// ИСражеиеДействие -- интерфейс к непосредственному сражению
+// ИСражениеДействие -- интерфейс к непосредственному сражению
 type ИСражениеДействие interface {
-	ИСценаСтр
-	// Сеть -- возвращает сетевой компонент сражения
-	Сеть() ИАренаСеть
+	ИАрена
 	// МанёврНадоУст -- устанавливает признак необходимости манёвра
 	МанёврНадоУст()
 	// ВыстрелБлок -- признак запрета на стрельбу
 	ВыстрелБлок() ИЕслиВыстрел
-	// Кнт -- возвращает контекст битвы
-	Контекст() context.Context
-	// Отменить -- вызывает контекст отмены битвы
-	Отменить()
 }

+ 1 - 1
app/lev0/types/ibattle_scene.go

@@ -6,7 +6,7 @@ package types
 
 // ИСражениеСцена -- интерфейс к сражению
 type ИСражениеСцена interface {
-	ИСценаСтр
+	ИАрена
 	// ЕслиНачало -- возвращает признак начала битвы
 	ЕслиНачало() ИСтатПарам
 }

+ 1 - 1
app/lev0/types/ibot_context.go

@@ -1,6 +1,6 @@
 package types
 
-import "wartank/pkg/kernel/kernel_types"
+import "wartank/kernel/kernel_types"
 
 // ИБотКонтекст -- контекст бота
 type ИБотКонтекст interface {

+ 2 - 2
app/lev0/types/ibot_net.go

@@ -2,7 +2,7 @@ package types
 
 import (
 	"context"
-	"wartank/pkg/kernel/safe_bool"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -12,7 +12,7 @@ import (
 // ИБотСеть -- интерфейс к сетевому клиенту
 type ИБотСеть interface {
 	// ЕслиОнлайн -- возвращает признак подключенности к интернету
-	ЕслиОнлайн() *safe_bool.БезопБул
+	ЕслиОнлайн() ИБезопБул
 	// Куки -- возвращает объект кукисов
 	Куки() ИБотКуки
 	// ВебВоркер -- возвращает веб-воркер бота

+ 6 - 8
app/lev0/types/idiv_war_action.go

@@ -3,7 +3,7 @@ package types
 import (
 	"context"
 
-	"wartank/pkg/kernel/safe_bool"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -12,21 +12,19 @@ import (
 
 // ИДивизияВойнаДействие -- интерфейс к непосредственному сражению
 type ИДивизияВойнаДействие interface {
-	ИСценаСтр
-	// Сеть -- возвращает сетевой компонент сражения
-	Сеть() ИАренаСеть
+	ИАрена
 	// IsEnd -- признак окончания сражения
-	// IsEnd() *isdivwar.IsDivWar
+	// IsEnd() *is_divwar.IsDivWar
 	// Манёвр -- выполняет манёвр по требованию
 	Манёвр()
 	// Masking -- признак запрета на стрельбу
-	// Masking() *isrepair.IsRepair
+	// Masking() *is_repair.IsRepair
 	// Ctx -- возвращает контекст битвы
 	Ctx() context.Context
 	// CancelBattle -- вызывает контекст отмены битвы
 	CancelBattle()
 	// ЕслиКонец -- признак окончания битвы дивизий
-	ЕслиКонец() *safe_bool.БезопБул
+	ЕслиКонец() ИБезопБул
 	// ВыстрелБлок -- объект маскировки
-	ВыстрелБлок() *safe_bool.БезопБул
+	ВыстрелБлок() ИБезопБул
 }

+ 2 - 2
app/lev0/types/idiv_war_scene.go

@@ -6,7 +6,7 @@ package types
 
 // ИДивизияВойнаСцена -- интерфейс к битве дивизий
 type ИДивизияВойнаСцена interface {
-	ИСценаСтр
-	// Еслидёт -- возвращает признак начала битвы дивизий
+	ИАрена
+	// ЕслИдёт -- возвращает признак начала битвы дивизий
 	ЕслИдёт() ИСтатПарам
 }

+ 2 - 2
app/lev0/types/imarket.go

@@ -4,7 +4,7 @@ package types
 	Интерфейс к рынку
 */
 
-// ИРынок -- инетерфейс к рынку
+// ИРынок -- интерфейс к рынку
 type ИРынок interface {
-	ИСценаСтр
+	ИАрена
 }

+ 1 - 1
app/lev0/types/imissions.go

@@ -6,7 +6,7 @@ package types
 
 // ИМиссии -- интерфейс к объекту миссий
 type ИМиссии interface {
-	ИСценаСтр
+	ИАрена
 	// Пуск -- запускает в работу миссии
 	Пуск()
 }

+ 0 - 7
app/lev0/types/ireset.go

@@ -1,7 +0,0 @@
-package types
-
-// ИСбрасыватель -- сбрасывает в исходное значение тип
-type ИСбрасыватель interface {
-	// Сброс -- сбрасывает в исходное значение
-	Сброс()
-}

+ 0 - 16
app/lev0/types/isection.go

@@ -1,16 +0,0 @@
-package types
-
-/*
-	Базовый тип для любой сцены игры
-*/
-
-// ИСценаСтр -- интерфейс базового типа любой сцены игры
-type ИСценаСтр interface {
-	ИАренаКонтекст
-	// СтрОбновить -- обновляет строки сцены
-	СтрОбновить(lstString []string) error
-	// СписПолучить -- возвращает список строк сцены
-	СписПолучить() []string
-	// ВремяОстат -- объект оставшегося времени до опроса сцены
-	ВремяОстат() ИВремяОстат
-}

+ 7 - 7
app/lev1/product/product.go

@@ -4,22 +4,22 @@ package product
 import (
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/product/parser_time"
-	"wartank/pkg/kernel/safe_int"
-	"wartank/pkg/kernel/safe_string"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // Продукт -- объект продукта для производства
 type Продукт struct {
-	имя   *safe_string.БезопСтрока // имя продукта
-	кол   *safe_int.БезопЦелое     // Количество продукта
+	имя   ИБезопСтрока             // имя продукта
+	кол   ИБезопЦелое              // Количество продукта
 	время *parser_time.ПарсерВремя // Время для производства продукта
 }
 
 // НовПродукт -- возвращает новый объект продукта
 func НовПродукт() *Продукт {
 	сам := &Продукт{
-		имя:   safe_string.НовБезопСтрока(),
-		кол:   safe_int.НовБезопЦелое(),
+		имя:   kernel.НовБезопСтрока(),
+		кол:   kernel.НовБезопЦелое(),
 		время: parser_time.НовПарсерВремя(),
 	}
 	return сам
@@ -31,7 +31,7 @@ func (сам *Продукт) Имя() ИБезопСтрока {
 }
 
 // Кол -- возвращает количество продукта
-func (сам *Продукт) Кол() *safe_int.БезопЦелое {
+func (сам *Продукт) Кол() ИБезопЦелое {
 	return сам.кол
 }
 

+ 2 - 2
app/lev1/stat_param/stat_param.go

@@ -6,7 +6,7 @@ import (
 	"sync"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
+	"wartank/kernel"
 )
 
 // СтатПарам -- потокобезопасная статистика
@@ -18,7 +18,7 @@ type СтатПарам struct {
 
 // НовБотСтатистика -- возвращает новую статистику
 func НовСтатПарам(имя string) *СтатПарам {
-	лог := kernel_log.НовЛоггер("СтатПарам")
+	лог := kernel.НовЛог("СтатПарам")
 	лог.Инфо("НовСтатПарам(%s)\n", имя)
 	лог.Паника(имя == "", "НовСтатПарам(): имя параметра пустое\n")
 	сам := &СтатПарам{

+ 4 - 3
app/lev1/web_render/web_render.go

@@ -7,12 +7,13 @@ import (
 	"strings"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // ВебРендер -- простой веб-рендер
 type ВебРендер struct {
-	лог     *kernel_log.Логгер
+	лог     ИЯдроЛог
 	слвБлок map[string]interface{}
 }
 
@@ -27,7 +28,7 @@ var стрПодвал string
 
 // НовВебРендер -- возвращает новый веб-рендер
 func НовВебРендер(шаблон string) *ВебРендер {
-	лог := kernel_log.НовЛоггер("ВебРендер")
+	лог := kernel.НовЛог("ВебРендер")
 	сам := &ВебРендер{
 		лог:     лог,
 		слвБлок: map[string]interface{}{},

+ 3 - 3
app/lev1/wrag/wrag.go

@@ -4,8 +4,8 @@ import (
 	"strconv"
 	"strings"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -21,7 +21,7 @@ type Враг struct {
 
 // НовВраг -- возвращает новый объект врага
 func НовВраг(конт ИЯдроКонтекст, app ИПриложение, lstBattle []string) *Враг {
-	лог := kernel_log.НовЛоггер("Враг")
+	лог := kernel.НовЛог("Враг")
 	лог.Отладка("НовВраг()\n")
 	сам := &Враг{
 		сервер: app,

+ 1 - 1
app/lev2/arena/arena.go

@@ -74,7 +74,7 @@ func (сам *Арена) Обновить() {
 	ош := сам.СтрОбновить(списСтр)
 	if ош != nil {
 		log.Printf("Арена.Обновить(): ош=\n\t%v\n", ош)
-		сам.Отмена()
+		сам.Отменить()
 	}
 }
 

+ 5 - 5
app/lev2/arena/arena_context/arena_context.go

@@ -8,9 +8,9 @@ import (
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/web_log"
 	"wartank/app/lev2/arena/arena_context/arena_state"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 	. "wartank/pkg/helpers"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
 )
 
 // АренаКонтекст -- контекст арены
@@ -27,7 +27,7 @@ type АренаКонтекст struct {
 // НовАренаКонтекст -- возвращает новый контекст арены
 func НовАренаКонтекст(конт ИБотКонтекст, бот ИБот, сценаИмя alias.АренаИмя) *АренаКонтекст {
 	Паника(конт != nil, "НовАренаКонтекст(): ИЯдроКонтекст==пусто")
-	лог := kernel_log.НовЛоггер("АренаКонтекст " + string(сценаИмя))
+	лог := kernel.НовЛог("АренаКонтекст " + string(сценаИмя))
 	лог.Инфо("НовАренаКонтекст() " + string(сценаИмя) + "\n")
 	лог.Паника(бот == nil, "НовАренаКонтекст(): ИБот==nil")
 	лог.Паника(сценаИмя == "", "НовАренаКонтекст(): сценаИмя не задано")
@@ -55,8 +55,8 @@ func (сам *АренаКонтекст) АренаСостояние() ИАр
 	return сам.состояние
 }
 
-// Отмена -- отменяет контекст арены
-func (сам *АренаКонтекст) Отмена() {
+// Отменить -- отменяет контекст арены
+func (сам *АренаКонтекст) Отменить() {
 	сам.фнОтмена()
 }
 

+ 11 - 11
app/lev2/arena/arena_net/arena_net.go

@@ -7,31 +7,31 @@ import (
 	"sync"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // АренаСеть -- базовый тип для сетевых арен
 type АренаСеть struct {
 	ИБотСеть
 	клиент ИХттпВоркер
-	сцена  ИСценаСтр
+	арена  ИАрена
 	стрУрл string
 	блок   sync.Mutex
 	лог    ИЯдроЛог
 }
 
 // НовАренаСеть -- возвращает новый *АренаСеть
-func НовАренаСеть_(конт ИБотКонтекст, сцена ИСценаСтр, стрУрл string) *АренаСеть {
-	лог := kernel_log.НовЛоггер("АренаСеть")
+func НовАренаСеть_(конт ИБотКонтекст, арена ИАрена, стрУрл string) *АренаСеть {
+	лог := kernel.НовЛог("АренаСеть")
 	лог.Инфо("НовАренаСеть(): strUrl=%q\n", стрУрл)
-	лог.Паника(сцена == nil, "НовАренаСеть(): ИСценаСтр == nil")
+	лог.Паника(арена == nil, "НовАренаСеть(): ИСценаСтр == nil")
 	лог.Паника(стрУрл == "", "НовАренаСеть(): стрУрл пустой\n")
 	сам := &АренаСеть{
-		ИБотСеть: сцена.Бот().Сеть(),
-		сцена:    сцена,
+		ИБотСеть: арена.Бот().Сеть(),
+		арена:    арена,
 		стрУрл:   стрУрл,
-		клиент:   сцена.Бот().Сеть().ВебВоркер(),
+		клиент:   арена.Бот().Сеть().ВебВоркер(),
 		лог:      лог,
 	}
 	_ = ИАренаСеть(сам)
@@ -44,9 +44,9 @@ func (сам *АренаСеть) Обновить() {
 	defer сам.блок.Unlock()
 	// FIXME: попытка разобраться, что за фигня творится
 	// time.Sleep(time.Millisecond * 500)
-	сам.лог.Отладка("Обновить(): бот=%s\tсцена=%v\n", сам.сцена.Бот().Имя(), сам.сцена.Имя())
+	сам.лог.Отладка("Обновить(): бот=%s\tсцена=%v\n", сам.арена.Бот().Имя(), сам.арена.Имя())
 	lstString := сам.клиент.Получ(сам.стрУрл)
-	if ош := сам.сцена.СтрОбновить(lstString); ош != nil {
+	if ош := сам.арена.СтрОбновить(lstString); ош != nil {
 		сам.лог.Ошибка("Обновить(): при обновлении строк сцены, ош=\n\t%v\n", ош)
 	}
 }

+ 3 - 3
app/lev2/arena/arena_net/arena_web_worker/arena_web_worker.go

@@ -5,8 +5,8 @@ import (
 	"sync"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -23,7 +23,7 @@ type АренаВебВоркер struct {
 
 // НовАренаВебВоркер -- возвращает сетевого клиента
 func НовАренаВебВоркер(конт ИБотКонтекст) *АренаВебВоркер { //, ботСеть ИБотСеть)
-	лог := kernel_log.НовЛоггер("АренаВебВоркер")
+	лог := kernel.НовЛог("АренаВебВоркер")
 	лог.Инфо("НовАренаВебВоркер()\n")
 	сам := &АренаВебВоркер{
 		ботСеть:   конт.Получ("ботСеть").(ИБотСеть),

+ 2 - 2
app/lev2/arena/arena_string/arena_string.go

@@ -6,7 +6,7 @@ import (
 	"strings"
 	"sync"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
+	"wartank/kernel"
 )
 
 // АренаСтроки -- потокобезопасный список строк арены
@@ -18,7 +18,7 @@ type АренаСтроки struct {
 
 // НовАренаСтроки -- возвращает новый потокобезопасный список строк арены
 func НовАренаСтроки(конт ИБотКонтекст, strControl string) *АренаСтроки {
-	лог := kernel_log.НовЛоггер("АренаСтроки")
+	лог := kernel.НовЛог("АренаСтроки")
 	лог.Отладка("НовАренаСтроки(): strControl=%q", strControl)
 	лог.Паника(strControl == "", "НовАренаСтроки(): strControl is empty")
 	сам := &АренаСтроки{

+ 8 - 8
app/lev2/arena/down_time/down_time.go

@@ -11,8 +11,8 @@ import (
 	"wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/product/parser_time"
-	"wartank/pkg/kernel/safe_bool"
-	"wartank/pkg/kernel/safe_int"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 const (
@@ -25,9 +25,9 @@ type ВремОбрат struct {
 
 	остатПарсер ИПарсерВремя // Парсер значения (мсек)
 
-	текущ        *safe_int.БезопЦелое // Фактическое значение счётчика в мсек
-	лимит        *safe_int.БезопЦелое // Целевое время срабатывания в мсек
-	еслиРаботает *safe_bool.БезопБул  // Признак работы
+	текущ        ИБезопЦелое // Фактическое значение счётчика в мсек
+	лимит        ИБезопЦелое // Целевое время срабатывания в мсек
+	еслиРаботает ИБезопБул   // Признак работы
 
 	канВызов chan int // Канал для отправки сигналов (для верхнего уровня)
 
@@ -45,11 +45,11 @@ func НовВремОбрат(сцена ИАренаКонтекст, врем
 	кнт, фнОтмена := context.WithCancel(сцена.Контекст())
 	сам := &ВремОбрат{
 		сцена:        сцена,
-		текущ:        safe_int.НовБезопЦелое(),
+		текущ:        kernel.НовБезопЦелое(),
 		канВызов:     make(chan int, 2),
-		еслиРаботает: safe_bool.НовБезопБул(),
+		еслиРаботает: kernel.НовБезопБул(),
 		остатПарсер:  parser_time.НовПарсерВремя(),
-		лимит:        safe_int.НовБезопЦелое(),
+		лимит:        kernel.НовБезопЦелое(),
 		кнт:          кнт,
 		фнОтмена:     фнОтмена,
 	}

+ 3 - 3
app/lev2/arena_angar/arena_angar.go

@@ -115,7 +115,7 @@ func (сам *АренаАнгар) пуск() {
 		сам.Обновить()
 		// сам.конвойПроверить()
 		if err := сам.ОбратВремяУст("01:00"); err != nil {
-			сам.Отмена()
+			сам.Отменить()
 			log.Printf("Ангар.Run(): in update ICountTime, err=\n\t%v\n", err)
 			return false
 		}
@@ -225,8 +225,8 @@ func (сам *АренаАнгар) СереброОбновить(silverFact in
 }
 
 // База -- возвращает базу
-func (сам *АренаАнгар) База() ИБаза {
-	return сам.словАрена["база"].(ИБаза)
+func (сам *АренаАнгар) База() ИАренаБаза {
+	return сам.словАрена["база"].(ИАренаБаза)
 }
 
 /* Проверяет на исполнение конвоя

+ 5 - 5
app/lev2/arena_arsenal/arena_arsenal.go

@@ -13,8 +13,8 @@ import (
 	"wartank/app/lev1/stat_param"
 	"wartank/app/lev1/web_log"
 	"wartank/app/lev2/arena"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 const (
@@ -30,7 +30,7 @@ type АренаАрсенал struct {
 	вЛог         ИВебЛог
 	лог          ИЯдроЛог
 	бот          ИБот
-	база         ИБаза
+	база         ИАренаБаза
 	фугас        ИСтатПарам
 	бронебойка   ИСтатПарам
 	кумулятив    ИСтатПарам
@@ -44,8 +44,8 @@ type АренаАрсенал struct {
 }
 
 // НовАрсенал -- возвращает новый *Arsenal
-func НовАрсенал(конт ИБотКонтекст, база ИБаза) (ИАренаАрсенал, error) {
-	лог := kernel_log.НовЛоггер("Арсенал")
+func НовАрсенал(конт ИБотКонтекст, база ИАренаБаза) (ИАренаАрсенал, error) {
+	лог := kernel.НовЛог("Арсенал")
 	лог.Инфо("НовАрсенал()\n")
 
 	кнт, фнОтмена := context.WithCancel(база.Контекст())

+ 1 - 1
app/lev2/arena_bank/arena_bank.go

@@ -27,7 +27,7 @@ type АренаБанк struct {
 }
 
 // НовБанк -- возвращает новый *Bank
-func НовБанк(конт ИБотКонтекст, база ИБаза) (*АренаБанк, error) {
+func НовБанк(конт ИБотКонтекст, база ИАренаБаза) (*АренаБанк, error) {
 
 	сам := &АренаБанк{
 		сереброБот: stat_param.НовСтатПарам("серебро бота"),

+ 2 - 4
app/lev2/arena_base/arena_base.go

@@ -141,9 +141,7 @@ func (сам *АренаБаза) runComponent() error {
 	if err := сам.банк.Пуск(); err != nil {
 		return fmt.Errorf("Base.runComponent(): in run IBank, err=\n\t%w", err)
 	}
-	if err := сам.рынок.Пуск(); err != nil {
-		return fmt.Errorf("Base.runComponent(): in run IMarket, err=\n\t%w", err)
-	}
+	сам.рынок.Пуск()
 	сам.полигон.Пуск()
 	сам.складТоплива.Пуск()
 	сам.лаборатория.Пуск()
@@ -172,7 +170,7 @@ func (сам *АренаБаза) setCountDown() {
 	ош := сам.ОбратВремяУст(alias.Время(timeCount))
 	if ош != nil {
 		log.Printf("ERRO Base.setCountDown(): при установке обратного отсчёта времени, err=\n\t%v\n", ош)
-		сам.Отмена()
+		сам.Отменить()
 	}
 }
 

+ 1 - 1
app/lev2/arena_battle/battle_worker/battleon/battleon.go

@@ -10,7 +10,7 @@ import (
 	"wartank/app/lev2/arena_battle/battle_worker/battle_worker/manevr"
 	"wartank/app/lev2/arena_battle/battle_worker/battle_worker/shot"
 	"wartank/app/lev2/arena_battle/battle_worker/battle_worker/shot/is_shot"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 /*

+ 1 - 1
app/lev2/arena_death/arena_death.go

@@ -9,7 +9,7 @@ import (
 	"wartank/app/lev2/arena_battle/battle_register"
 	"wartank/app/lev2/arena_battle/battle_wait"
 	"wartank/app/lev2/arena_battle/battle_worker"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 // АренаСхватка -- объект схватки

+ 1 - 1
app/lev2/arena_death/battle_wait/battle_wait.go

@@ -8,7 +8,7 @@ import (
 	"wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
 	"wartank/app/lev2/arena"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 // СражениеОжидание -- ожидатель начала битвы

+ 1 - 1
app/lev2/arena_death/death_register/death_register.go

@@ -8,7 +8,7 @@ import (
 
 	. "wartank/app/lev0/types"
 	"wartank/app/lev2/arena"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 // СхваткаРегистрация -- регистрирует танк к началу схватки

+ 1 - 1
app/lev2/arena_division/div_war/div_war.go

@@ -14,7 +14,7 @@ import (
 	"wartank/app/lev2/arena_division/div_war/div_war_net"
 	"wartank/app/lev2/arena_division/div_war/div_war_on"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/div_war_sound"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 /*

+ 10 - 10
app/lev2/arena_division/div_war/div_war_on/div_war_on.go

@@ -11,8 +11,8 @@ import (
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/health"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/manevr"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/shot"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -30,13 +30,13 @@ type DivWarOn struct {
 	health    *health.Health // Текущее здоровье танка
 	manevr    *manevr.Manevr // Возможность маневрирования
 	login     string
-	isMasking *safe_bool.БезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
-	chTick    chan int            // Ежесекундная проверка на окончание сражения
-	isEnd     *safe_bool.БезопБул
+	isMasking ИБезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
+	chTick    chan int  // Ежесекундная проверка на окончание сражения
+	isEnd     ИБезопБул
 }
 
 // NewDivWarOn -- возвращает новый *DivWarOn
-func NewDivWarOn(конт ИЯдроКонтекст, bot ИБот) (*DivWarOn, error) {
+func NewDivWarOn(конт ИБотКонтекст, bot ИБот) (*DivWarOn, error) {
 	if bot == nil {
 		return nil, fmt.Errorf("NewDivWarOn(): IBot == nil")
 	}
@@ -46,8 +46,8 @@ func NewDivWarOn(конт ИЯдроКонтекст, bot ИБот) (*DivWarOn,
 		ctxDivWar:      ctxDivWar,
 		fnCancelDivWar: fnCancelDivWar,
 		login:          bot.Имя(),
-		isMasking:      safe_bool.НовБезопБул(),
-		isEnd:          safe_bool.НовБезопБул(),
+		isMasking:      kernel.НовБезопБул(),
+		isEnd:          kernel.НовБезопБул(),
 	}
 	аренаКонфиг := arena.АренаКонфиг{
 		Бот_:         bot,
@@ -149,7 +149,7 @@ func (сам *DivWarOn) checkEnd() bool {
 }
 
 // ЕслиКонец -- возвращает признак окончания сражения (интерфейс)
-func (сам *DivWarOn) ЕслиКонец() *safe_bool.БезопБул {
+func (сам *DivWarOn) ЕслиКонец() ИБезопБул {
 	return сам.isEnd
 }
 
@@ -163,7 +163,7 @@ func (сам *DivWarOn) Манёвр() {
 }
 
 // ВыстрелБлок -- признак запрета стрельбы при слабом здоровье
-func (сам *DivWarOn) ВыстрелБлок() *safe_bool.БезопБул {
+func (сам *DivWarOn) ВыстрелБлок() ИБезопБул {
 	return сам.isMasking
 }
 

+ 8 - 5
app/lev2/arena_division/div_war/div_war_on/health/health.go

@@ -3,6 +3,7 @@ package health
 import (
 	"context"
 	"fmt"
+
 	// "log"
 	// "strconv"
 	"strings"
@@ -10,9 +11,11 @@ import (
 
 	"wartank/app/lev2/arena_division/div_war/div_war_on/health/health_time"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/health/repair_time"
+
 	// "wartank/internal/components/sound"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -25,9 +28,9 @@ type Health struct {
 	fnCancel              func()
 	temp                  *health_time.HealthTime // Изменяемое здоровье танка
 	full                  *health_time.HealthTime // Полное здоровье танка
-	isRepair              *safe_bool.БезопБул     // Необходимость восстановления
+	isRepair              ИБезопБул               // Необходимость восстановления
 	repairTime            *repair_time.RepairTime // Время до восстановления
-	isEnd                 *safe_bool.БезопБул     // Ссылка на признак конца сражения
+	isEnd                 ИБезопБул               // Ссылка на признак конца сражения
 	login                 string                  // Для поиска контрольных строк
 	chTick                chan int                // Канал для ровной отправки тиков
 	// deltaOld                    int                    // Старая дельта потери здоровья
@@ -36,7 +39,7 @@ type Health struct {
 }
 
 // NewHealth -- возвращает новый *Health
-func NewHealth(дивВойна ИДивизияВойнаДействие, isEnd *safe_bool.БезопБул, login string) (*Health, error) {
+func NewHealth(дивВойна ИДивизияВойнаДействие, isEnd ИБезопБул, login string) (*Health, error) {
 	{ // Предусловия
 		if дивВойна == nil {
 			return nil, fmt.Errorf("NewHealth(): дивВойна is nil")
@@ -54,7 +57,7 @@ func NewHealth(дивВойна ИДивизияВойнаДействие, isEn
 		ctxBattle:  дивВойна.Ctx(),
 		temp:       health_time.NewHealthTime(),
 		full:       health_time.NewHealthTime(),
-		isRepair:   safe_bool.НовБезопБул(),
+		isRepair:   kernel.НовБезопБул(),
 		repairTime: repair_time.NewRepairTime(),
 		isEnd:      дивВойна.ЕслиКонец(),
 		login:      login,

+ 3 - 3
app/lev2/arena_division/div_war/div_war_on/manevr/manevr.go

@@ -15,7 +15,7 @@ import (
 
 	// "wartank/internal/components/sound"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/safe_bool"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -25,7 +25,7 @@ import (
 // Manevr -- маневрирует после выстрела
 type Manevr struct {
 	ИДивизияВойнаДействие // FIXME:
-	isEnd                 *safe_bool.БезопБул
+	isEnd                 ИБезопБул
 	ctxEnd                context.Context
 	еслиМаневр            *is_manevr.ЕслиМанёвр   // Возможность выполнить манёвр
 	manevrTime            *repair_time.RepairTime // Время до восстановления манёвра
@@ -33,7 +33,7 @@ type Manevr struct {
 }
 
 // NewManevr -- возвращает новый *Manevr
-func NewManevr(дивВойна ИДивизияВойнаДействие, isDivWar *safe_bool.БезопБул) (*Manevr, error) {
+func NewManevr(дивВойна ИДивизияВойнаДействие, isDivWar ИБезопБул) (*Manevr, error) {
 	{ // Предусловия
 		if дивВойна == nil {
 			return nil, fmt.Errorf("NewManevr(): battle is nil")

+ 3 - 3
app/lev2/arena_division/div_war/div_war_on/shot/shot.go

@@ -13,7 +13,7 @@ import (
 	// "wartank/internal/components/sound"
 	"wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/safe_bool"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -31,7 +31,7 @@ type Shot struct {
 	recharge              *shot_time.ShotTime // Сколько времени нужно для полной перезарядки
 	damage                *damage.Damage      // Урон от выстрела с памятью
 	damageSum             alias.Урон          // Суммарный урон
-	isEnd                 *safe_bool.БезопБул // Признак конца сражения
+	isEnd                 ИБезопБул           // Признак конца сражения
 	login                 string              // Логин для поиска контрольных строк
 	chTick                chan int            // Тик для выстрела
 	ctxEnd                context.Context     // Признак окончания сражения
@@ -225,6 +225,6 @@ func (сам *Shot) setDamage(val alias.Урон) {
 }
 
 // IsEnd -- возвращает объект разрешения стрельбы
-func (сам *Shot) IsEnd() *safe_bool.БезопБул {
+func (сам *Shot) IsEnd() ИБезопБул {
 	return сам.isEnd
 }

+ 9 - 9
app/lev2/arena_division/div_war/divwaron/divwaron.go

@@ -11,8 +11,8 @@ import (
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/health"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/manevr"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/shot"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -30,9 +30,9 @@ type DivWarOn struct {
 	health    *health.Health // Текущее здоровье танка
 	manevr    *manevr.Manevr // Возможность маневрирования
 	login     string
-	isMasking *safe_bool.БезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
-	chTick    chan int            // Ежесекундная проверка на окончание сражения
-	isEnd     *safe_bool.БезопБул
+	isMasking ИБезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
+	chTick    chan int  // Ежесекундная проверка на окончание сражения
+	isEnd     ИБезопБул
 }
 
 // NewDivWarOn -- возвращает новый *DivWarOn
@@ -46,8 +46,8 @@ func NewDivWarOn(конт ИЯдроКонтекст, bot ИБот) (*DivWarOn,
 		ctxDivWar:      ctxDivWar,
 		fnCancelDivWar: fnCancelDivWar,
 		login:          bot.Имя(),
-		isMasking:      safe_bool.НовБезопБул(),
-		isEnd:          safe_bool.НовБезопБул(),
+		isMasking:      kernel.НовБезопБул(),
+		isEnd:          kernel.НовБезопБул(),
 	}
 	аренаКонфиг := arena.АренаКонфиг{
 		Бот_:         bot,
@@ -149,7 +149,7 @@ func (сам *DivWarOn) checkEnd() bool {
 }
 
 // ЕслиКонец -- возвращает признак окончания сражения (интерфейс)
-func (сам *DivWarOn) ЕслиКонец() *safe_bool.БезопБул {
+func (сам *DivWarOn) ЕслиКонец() ИБезопБул {
 	return сам.isEnd
 }
 
@@ -163,7 +163,7 @@ func (сам *DivWarOn) Манёвр() {
 }
 
 // ВыстрелБлок -- признак запрета стрельбы при слабом здоровье
-func (сам *DivWarOn) ВыстрелБлок() *safe_bool.БезопБул {
+func (сам *DivWarOn) ВыстрелБлок() ИБезопБул {
 	return сам.isMasking
 }
 

+ 9 - 9
app/lev2/arena_division/divwar/div_war_on/div_war_on.go

@@ -11,8 +11,8 @@ import (
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/health"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/manevr"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/shot"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -30,9 +30,9 @@ type DivWarOn struct {
 	health    *health.Health // Текущее здоровье танка
 	manevr    *manevr.Manevr // Возможность маневрирования
 	login     string
-	isMasking *safe_bool.БезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
-	chTick    chan int            // Ежесекундная проверка на окончание сражения
-	isEnd     *safe_bool.БезопБул
+	isMasking ИБезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
+	chTick    chan int  // Ежесекундная проверка на окончание сражения
+	isEnd     ИБезопБул
 }
 
 // NewDivWarOn -- возвращает новый *DivWarOn
@@ -46,8 +46,8 @@ func NewDivWarOn(конт ИЯдроКонтекст, bot ИБот) (*DivWarOn,
 		ctxDivWar:      ctxDivWar,
 		fnCancelDivWar: fnCancelDivWar,
 		login:          bot.Имя(),
-		isMasking:      safe_bool.НовБезопБул(),
-		isEnd:          safe_bool.НовБезопБул(),
+		isMasking:      kernel.НовБезопБул(),
+		isEnd:          kernel.НовБезопБул(),
 	}
 	аренаКонфиг := arena.АренаКонфиг{
 		Бот_:         bot,
@@ -149,7 +149,7 @@ func (сам *DivWarOn) checkEnd() bool {
 }
 
 // ЕслиКонец -- возвращает признак окончания сражения (интерфейс)
-func (сам *DivWarOn) ЕслиКонец() *safe_bool.БезопБул {
+func (сам *DivWarOn) ЕслиКонец() ИБезопБул {
 	return сам.isEnd
 }
 
@@ -163,7 +163,7 @@ func (сам *DivWarOn) Манёвр() {
 }
 
 // ВыстрелБлок -- признак запрета стрельбы при слабом здоровье
-func (сам *DivWarOn) ВыстрелБлок() *safe_bool.БезопБул {
+func (сам *DivWarOn) ВыстрелБлок() ИБезопБул {
 	return сам.isMasking
 }
 

+ 2 - 3
app/lev2/arena_division/divwar/divwar.go

@@ -14,7 +14,6 @@ import (
 	"wartank/app/lev2/arena_division/div_war/div_war_net"
 	"wartank/app/lev2/arena_division/div_war/div_war_on"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/div_war_sound"
-	. "wartank/pkg/kernel/kernel_types"
 )
 
 /*
@@ -24,7 +23,7 @@ import (
 // DivWar -- объект ожидания битвы дивизий
 type DivWar struct {
 	ИАрена
-	конт  ИЯдроКонтекст
+	конт  ИБотКонтекст
 	bot   ИБот
 	alarm ИСтатПарам
 	net   *div_war_net.DivWarNet
@@ -41,7 +40,7 @@ type DivWar struct {
 }
 
 // NewDivWar -- возвращает новый *DivWar
-func NewDivWar(конт ИЯдроКонтекст, bot ИБот) (*DivWar, error) {
+func NewDivWar(конт ИБотКонтекст, bot ИБот) (*DivWar, error) {
 	if bot == nil {
 		return nil, fmt.Errorf("NewDivWar(): IBot == nil")
 	}

+ 10 - 10
app/lev2/arena_division/divwar/divwaron/divwaron.go

@@ -11,8 +11,8 @@ import (
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/health"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/manevr"
 	"wartank/app/lev3/bot/angar/division/div_war/div_war_on/shot"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -30,13 +30,13 @@ type DivWarOn struct {
 	health    *health.Health // Текущее здоровье танка
 	manevr    *manevr.Manevr // Возможность маневрирования
 	login     string
-	isMasking *safe_bool.БезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
-	chTick    chan int            // Ежесекундная проверка на окончание сражения
-	isEnd     *safe_bool.БезопБул
+	isMasking ИБезопБул // Признак необходимости маскирования (запрет стрельбы, когда слабое здоровье)
+	chTick    chan int  // Ежесекундная проверка на окончание сражения
+	isEnd     ИБезопБул
 }
 
 // NewDivWarOn -- возвращает новый *DivWarOn
-func NewDivWarOn(конт ИЯдроКонтекст, bot ИБот) (*DivWarOn, error) {
+func NewDivWarOn(конт ИБотКонтекст, bot ИБот) (*DivWarOn, error) {
 	if bot == nil {
 		return nil, fmt.Errorf("NewDivWarOn(): IBot == nil")
 	}
@@ -46,8 +46,8 @@ func NewDivWarOn(конт ИЯдроКонтекст, bot ИБот) (*DivWarOn,
 		ctxDivWar:      ctxDivWar,
 		fnCancelDivWar: fnCancelDivWar,
 		login:          bot.Имя(),
-		isMasking:      safe_bool.НовБезопБул(),
-		isEnd:          safe_bool.НовБезопБул(),
+		isMasking:      kernel.НовБезопБул(),
+		isEnd:          kernel.НовБезопБул(),
 	}
 	аренаКонфиг := arena.АренаКонфиг{
 		Бот_:         bot,
@@ -149,7 +149,7 @@ func (сам *DivWarOn) checkEnd() bool {
 }
 
 // ЕслиКонец -- возвращает признак окончания сражения (интерфейс)
-func (сам *DivWarOn) ЕслиКонец() *safe_bool.БезопБул {
+func (сам *DivWarOn) ЕслиКонец() ИБезопБул {
 	return сам.isEnd
 }
 
@@ -163,7 +163,7 @@ func (сам *DivWarOn) Манёвр() {
 }
 
 // ВыстрелБлок -- признак запрета стрельбы при слабом здоровье
-func (сам *DivWarOn) ВыстрелБлок() *safe_bool.БезопБул {
+func (сам *DivWarOn) ВыстрелБлок() ИБезопБул {
 	return сам.isMasking
 }
 

+ 2 - 2
app/lev2/arena_fuel_storage/arena_fuel_storage.go

@@ -17,7 +17,7 @@ import (
 type АренаСкладТоплива struct {
 	ИАрена
 	бот          ИБот
-	база         ИБаза
+	база         ИАренаБаза
 	топливо      ИСтатПарам
 	уровень      ИСтатПарам
 	продуктВремя string          // Сколько осталось времени прямо сейчас
@@ -26,7 +26,7 @@ type АренаСкладТоплива struct {
 }
 
 // НовТопливо -- возвращает новой склад топлива
-func НовСкладТоплива(конт ИБотКонтекст, база ИБаза) (*АренаСкладТоплива, error) {
+func НовСкладТоплива(конт ИБотКонтекст, база ИАренаБаза) (*АренаСкладТоплива, error) {
 	кнт, фнОтмена := context.WithCancel(база.Контекст())
 	сам := &АренаСкладТоплива{
 		бот:      база.Бот(),

+ 2 - 3
app/lev2/arena_market/arena_market.go

@@ -21,7 +21,7 @@ type АренаРынок struct {
 }
 
 // НовРынок -- возвращает новый рынок
-func НовРынок(конт ИБотКонтекст, база ИБаза) *АренаРынок {
+func НовРынок(конт ИБотКонтекст, база ИАренаБаза) *АренаРынок {
 	сам := &АренаРынок{
 		бот:     база.Бот(),
 		уровень: stat_param.НовСтатПарам("уровень"), // FIXME: вынести на уровень арены
@@ -38,9 +38,8 @@ func НовРынок(конт ИБотКонтекст, база ИБаза) *
 }
 
 // Пуск -- запускает всю работу рынка в отдельном потоке
-func (сам *АренаРынок) Пуск() error {
+func (сам *АренаРынок) Пуск() {
 	go сам.пуск()
-	return nil
 }
 
 // выполняет опрос рынка базы, должен работать как горутина

+ 3 - 3
app/lev2/arena_masters/arena_masters.go

@@ -8,8 +8,8 @@ import (
 	"wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
 	"wartank/app/lev2/arena"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -27,7 +27,7 @@ type БитваМастеров struct {
 
 // НовБитваМастеров -- возвращает новый *BatMas
 func НовБитваМастеров(конт ИБотКонтекст, бот ИБот) *БитваМастеров {
-	лог := kernel_log.НовЛоггер("БитваМастеров")
+	лог := kernel.НовЛог("БитваМастеров")
 	лог.Инфо("НовБитваМастеров()\n")
 	лог.Паника(бот == nil, "НовБитваМастеров(): ИБот == nil\n")
 	сам := &БитваМастеров{

+ 2 - 2
app/lev2/arena_mine/arena_mine.go

@@ -19,7 +19,7 @@ type АренаШахта struct {
 	ИАрена
 	лог          ИВебЛог
 	бот          ИБот
-	база         ИБаза
+	база         ИАренаБаза
 	руда         ИСтатПарам
 	железо       ИСтатПарам
 	сталь        ИСтатПарам
@@ -33,7 +33,7 @@ type АренаШахта struct {
 }
 
 // НовШахта -- возвращает новый *Mine
-func НовШахта(конт ИБотКонтекст, база ИБаза) (ИАренаШахта, error) {
+func НовШахта(конт ИБотКонтекст, база ИАренаБаза) (ИАренаШахта, error) {
 	кнт, фнОтмена := context.WithCancel(база.Контекст())
 	сам := &АренаШахта{
 		бот:        база.Бот(),

+ 8 - 10
app/lev2/arena_polygon/arena_polygon.go

@@ -11,10 +11,8 @@ import (
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/stat_param"
 	"wartank/app/lev2/arena"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_int"
-	"wartank/pkg/kernel/safe_string"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -35,21 +33,21 @@ type АренаПолигон struct {
 	ИАрена
 	бот           ИБот
 	танкСтат      ИТанкСтат
-	продуктСейчас *safe_string.БезопСтрока
-	продуктКол    *safe_int.БезопЦелое
+	продуктСейчас ИБезопСтрока
+	продуктКол    ИБезопЦелое
 	уровень       *stat_param.СтатПарам
 	лог           ИЯдроЛог
 }
 
 // НовПолигон -- возвращает новый *Polygon
-func НовПолигон(конт ИБотКонтекст, база ИБаза) *АренаПолигон {
-	лог := kernel_log.НовЛоггер("Полигон " + база.Бот().Имя())
+func НовПолигон(конт ИБотКонтекст, база ИАренаБаза) *АренаПолигон {
+	лог := kernel.НовЛог("Полигон " + база.Бот().Имя())
 	лог.Инфо("НовПолигон(): бот=%s\n", база.Бот().Имя())
 	сам := &АренаПолигон{
 		бот:           база.Бот(),
 		танкСтат:      база.Бот().Стата(),
-		продуктСейчас: safe_string.НовБезопСтрока(),
-		продуктКол:    safe_int.НовБезопЦелое(),
+		продуктСейчас: kernel.НовБезопСтрока(),
+		продуктКол:    kernel.НовБезопЦелое(),
 		уровень:       stat_param.НовСтатПарам("уровень"), // FIXME: вынести на уровень арены
 		лог:           лог,
 	}

+ 3 - 3
app/lev2/arena_upgrade/arena_upgrade.go

@@ -9,8 +9,8 @@ import (
 	"time"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // ТанкПараметры -- параметры танка повышение
@@ -23,7 +23,7 @@ type АренаАпгрейд struct {
 
 // НовТанкПараметры -- возвращает новые параметры танка
 func НовТанкПараметры(конт ИБотКонтекст) *АренаАпгрейд {
-	лог := kernel_log.НовЛоггер("ТанкПараметры")
+	лог := kernel.НовЛог("ТанкПараметры")
 	лог.Инфо("НовТанкПараметры()\n")
 
 	сам := &АренаАпгрейд{

+ 2 - 4
app/lev3/bot/angar/base/base.go

@@ -141,9 +141,7 @@ func (сам *База) runComponent() error {
 	if err := сам.банк.Пуск(); err != nil {
 		return fmt.Errorf("Base.runComponent(): in run IBank, err=\n\t%w", err)
 	}
-	if err := сам.рынок.Пуск(); err != nil {
-		return fmt.Errorf("Base.runComponent(): in run IMarket, err=\n\t%w", err)
-	}
+	сам.рынок.Пуск()
 	сам.полигон.Пуск()
 	сам.складТоплива.Пуск()
 	сам.лаборатория.Пуск()
@@ -172,7 +170,7 @@ func (сам *База) setCountDown() {
 	ош := сам.ОбратВремяУст(alias.Время(timeCount))
 	if ош != nil {
 		log.Printf("ERRO Base.setCountDown(): при установке обратного отсчёта времени, err=\n\t%v\n", ош)
-		сам.Отмена()
+		сам.Отменить()
 	}
 }
 

+ 2 - 2
app/lev3/bot/angar/base/mine/mine.go

@@ -19,7 +19,7 @@ type Шахта struct {
 	ИАрена
 	лог          ИВебЛог
 	бот          ИБот
-	база         ИБаза
+	база         ИАренаБаза
 	руда         ИСтатПарам
 	железо       ИСтатПарам
 	сталь        ИСтатПарам
@@ -33,7 +33,7 @@ type Шахта struct {
 }
 
 // НовШахта -- возвращает новый *Mine
-func НовШахта(конт ИБотКонтекст, база ИБаза) (ИАренаШахта, error) {
+func НовШахта(конт ИБотКонтекст, база ИАренаБаза) (ИАренаШахта, error) {
 	кнт, фнОтмена := context.WithCancel(база.Контекст())
 	сам := &Шахта{
 		бот:        база.Бот(),

+ 8 - 10
app/lev3/bot/angar/base/polygon/polygon.go

@@ -11,10 +11,8 @@ import (
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/stat_param"
 	"wartank/app/lev2/arena"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_int"
-	"wartank/pkg/kernel/safe_string"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -35,21 +33,21 @@ type Полигон struct {
 	ИАрена
 	бот           ИБот
 	танкСтат      ИТанкСтат
-	продуктСейчас *safe_string.БезопСтрока
-	продуктКол    *safe_int.БезопЦелое
+	продуктСейчас ИБезопСтрока
+	продуктКол    ИБезопЦелое
 	уровень       *stat_param.СтатПарам
 	лог           ИЯдроЛог
 }
 
 // НовПолигон -- возвращает новый *Polygon
-func НовПолигон(конт ИБотКонтекст, база ИБаза) *Полигон {
-	лог := kernel_log.НовЛоггер("Полигон " + база.Бот().Имя())
+func НовПолигон(конт ИБотКонтекст, база ИАренаБаза) *Полигон {
+	лог := kernel.НовЛог("Полигон " + база.Бот().Имя())
 	лог.Инфо("НовПолигон(): бот=%s\n", база.Бот().Имя())
 	сам := &Полигон{
 		бот:           база.Бот(),
 		танкСтат:      база.Бот().Стата(),
-		продуктСейчас: safe_string.НовБезопСтрока(),
-		продуктКол:    safe_int.НовБезопЦелое(),
+		продуктСейчас: kernel.НовБезопСтрока(),
+		продуктКол:    kernel.НовБезопЦелое(),
 		уровень:       stat_param.НовСтатПарам("уровень"), // FIXME: вынести на уровень арены
 		лог:           лог,
 	}

+ 1 - 1
app/lev3/bot/angar/battle/battle_worker/battleon/battleon.go

@@ -10,7 +10,7 @@ import (
 	"wartank/app/lev2/arena_battle/battle_worker/battle_worker/manevr"
 	"wartank/app/lev2/arena_battle/battle_worker/battle_worker/shot"
 	"wartank/app/lev2/arena_battle/battle_worker/battle_worker/shot/is_shot"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 /*

+ 1 - 1
app/lev3/bot/angar/death_match/battle.go

@@ -9,7 +9,7 @@ import (
 	"wartank/app/lev2/arena_battle/battle_register"
 	"wartank/app/lev2/arena_battle/battle_wait"
 	"wartank/app/lev2/arena_battle/battle_worker"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 // Сражение -- объект схватки

+ 1 - 1
app/lev3/bot/angar/death_match/death_worker/death_on/death_on.go

@@ -10,7 +10,7 @@ import (
 	"wartank/app/lev2/arena_death/death_worker/death_on/manevr"
 	"wartank/app/lev2/arena_death/death_worker/death_on/shot"
 	"wartank/app/lev2/arena_death/death_worker/death_on/shot/is_shot"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 /*

+ 1 - 1
app/lev3/bot/angar/death_match/death_worker/death_worker.go

@@ -9,7 +9,7 @@ import (
 	"wartank/app/lev2/arena"
 	"wartank/app/lev2/arena_death/death_worker/death_on"
 	"wartank/app/lev2/arena_death/death_worker/death_on/battle_sound"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 // СражениеДействие -- исполнение схватки

+ 1 - 1
app/lev3/bot/angar/division/div_war/div_war.go

@@ -14,7 +14,7 @@ import (
 	"wartank/app/lev2/arena_division/div_war/div_war_net"
 	"wartank/app/lev2/arena_division/div_war/div_war_on"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/div_war_sound"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 /*

+ 7 - 7
app/lev3/bot/angar/division/div_war/div_war_on/health/health.go

@@ -9,12 +9,12 @@ import (
 	"strings"
 	"time"
 
+	. "wartank/app/lev0/types"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/health/health_time"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/health/repair_time"
-
 	// "wartank/internal/components/sound"
-	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -27,9 +27,9 @@ type Health struct {
 	fnCancel              func()
 	temp                  *health_time.HealthTime // Изменяемое здоровье танка
 	full                  *health_time.HealthTime // Полное здоровье танка
-	isRepair              *safe_bool.БезопБул     // Необходимость восстановления
+	isRepair              ИБезопБул               // Необходимость восстановления
 	repairTime            *repair_time.RepairTime // Время до восстановления
-	isEnd                 *safe_bool.БезопБул     // Ссылка на признак конца сражения
+	isEnd                 ИБезопБул               // Ссылка на признак конца сражения
 	login                 string                  // Для поиска контрольных строк
 	chTick                chan int                // Канал для ровной отправки тиков
 	// deltaOld                    int                    // Старая дельта потери здоровья
@@ -38,7 +38,7 @@ type Health struct {
 }
 
 // NewHealth -- возвращает новый *Health
-func NewHealth(дивВойна ИДивизияВойнаДействие, isEnd *safe_bool.БезопБул, login string) (*Health, error) {
+func NewHealth(дивВойна ИДивизияВойнаДействие, isEnd ИБезопБул, login string) (*Health, error) {
 	{ // Предусловия
 		if дивВойна == nil {
 			return nil, fmt.Errorf("NewHealth(): дивВойна is nil")
@@ -56,7 +56,7 @@ func NewHealth(дивВойна ИДивизияВойнаДействие, isEn
 		ctxBattle:  дивВойна.Ctx(),
 		temp:       health_time.NewHealthTime(),
 		full:       health_time.NewHealthTime(),
-		isRepair:   safe_bool.НовБезопБул(),
+		isRepair:   kernel.НовБезопБул(),
 		repairTime: repair_time.NewRepairTime(),
 		isEnd:      дивВойна.ЕслиКонец(),
 		login:      login,

+ 3 - 3
app/lev3/bot/angar/division/div_war/div_war_on/manevr/manevr.go

@@ -15,7 +15,7 @@ import (
 
 	// "wartank/internal/components/sound"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/safe_bool"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -25,7 +25,7 @@ import (
 // Manevr -- маневрирует после выстрела
 type Manevr struct {
 	ИДивизияВойнаДействие // FIXME:
-	isEnd                 *safe_bool.БезопБул
+	isEnd                 ИБезопБул
 	ctxEnd                context.Context
 	еслиМаневр            *is_manevr.ЕслиМанёвр   // Возможность выполнить манёвр
 	manevrTime            *repair_time.RepairTime // Время до восстановления манёвра
@@ -33,7 +33,7 @@ type Manevr struct {
 }
 
 // NewManevr -- возвращает новый *Manevr
-func NewManevr(дивВойна ИДивизияВойнаДействие, isDivWar *safe_bool.БезопБул) (*Manevr, error) {
+func NewManevr(дивВойна ИДивизияВойнаДействие, isDivWar ИБезопБул) (*Manevr, error) {
 	{ // Предусловия
 		if дивВойна == nil {
 			return nil, fmt.Errorf("NewManevr(): battle is nil")

+ 5 - 6
app/lev3/bot/angar/division/div_war/div_war_on/shot/shot.go

@@ -9,13 +9,12 @@ import (
 	"strings"
 	"time"
 
+	. "wartank/app/lev0/types"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/shot/damage"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/shot_time"
-
 	// "wartank/internal/components/sound"
 	"wartank/app/lev0/alias"
-	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/safe_bool"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -33,7 +32,7 @@ type Shot struct {
 	recharge              *shot_time.ShotTime // Сколько времени нужно для полной перезарядки
 	damage                *damage.Damage      // Урон от выстрела с памятью
 	damageSum             alias.Урон          // Суммарный урон
-	isEnd                 *safe_bool.БезопБул // Признак конца сражения
+	isEnd                 ИБезопБул           // Признак конца сражения
 	login                 string              // Логин для поиска контрольных строк
 	chTick                chan int            // Тик для выстрела
 	ctxEnd                context.Context     // Признак окончания сражения
@@ -122,7 +121,7 @@ func (сам *Shot) run() {
 //
 //	Вызывается из отдельного потока
 func (сам *Shot) shot() {
-	сам.Сеть().Обновить()
+	сам.Обновить()
 	var (
 		strOut      string
 		lstBattle   = сам.СписПолучить()
@@ -227,6 +226,6 @@ func (сам *Shot) setDamage(val alias.Урон) {
 }
 
 // IsEnd -- возвращает объект разрешения стрельбы
-func (сам *Shot) IsEnd() *safe_bool.БезопБул {
+func (сам *Shot) IsEnd() ИБезопБул {
 	return сам.isEnd
 }

+ 1 - 1
app/lev3/bot/angar/division/divwar/divwar.go

@@ -14,7 +14,7 @@ import (
 	"wartank/app/lev2/arena_division/div_war/div_war_net"
 	"wartank/app/lev2/arena_division/div_war/div_war_on"
 	"wartank/app/lev2/arena_division/div_war/div_war_on/div_war_sound"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 /*

+ 10 - 12
app/lev3/bot/bot.go

@@ -14,10 +14,8 @@ import (
 	"wartank/app/lev3/bot/bot_net"
 	"wartank/app/lev3/bot/bot_stat/tank_stat"
 	"wartank/app/lev3/bot/warbot_config"
-	"wartank/pkg/kernel/kernel_dict"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // ВарБот -- бот для игры в вартанк
@@ -28,8 +26,8 @@ type Бот struct {
 	errFinal       error // Финальная ошибка работы, если была
 	ангар          ИАнгар
 	сеть           ИБотСеть
-	еслиРаботает   *safe_bool.БезопБул
-	еслиАвтозапуск *safe_bool.БезопБул
+	еслиРаботает   ИБезопБул
+	еслиАвтозапуск ИБезопБул
 	конфиг         *warbot_config.ВарБотКонфиг // Конфиг бота для хранения в базе
 	кнт            context.Context             // Контекст бота
 	фтОтмена       func()                      // Функция отменя контекста бота
@@ -39,7 +37,7 @@ type Бот struct {
 
 // ЗагрузитьВарБот -- загружает бота из базы
 func ЗагрузитьВарБот(конт ИЯдроКонтекст, номер АБотНомер) *Бот {
-	лог := kernel_log.НовЛоггер("ВарБот")
+	лог := kernel.НовЛог("ВарБот")
 	лог.Инфо("ЗагрузитьВарБот()\n")
 	лог.Паника(номер == 0, "ЗагрузитьВарБот(): номер пустой")
 	стрНомер := fmt.Sprint(номер)
@@ -69,7 +67,7 @@ func (сам *Бот) рестарт() {
 
 // НовВарБот -- возвращает новый WarBot
 func НовВарБот(конт ИЯдроКонтекст, номер АБотНомер, логин, пароль string, еслиАвто bool) *Бот {
-	лог := kernel_log.НовЛоггер("ВарБот")
+	лог := kernel.НовЛог("ВарБот")
 	лог.Инфо("НовВарБот()\n")
 	лог.Паника(логин == "", "НовВарБот(): логин пустой")
 	лог.Паника(пароль == "", "НовВарБот(): пароль пустой")
@@ -88,19 +86,19 @@ func НовВарБот(конт ИЯдроКонтекст, номер АБот
 
 // Создаёт ядро бота
 func создатьЯдроВарБот(конт ИЯдроКонтекст, конфиг *warbot_config.ВарБотКонфиг) *Бот {
-	лог := kernel_log.НовЛоггер("ВарБот")
+	лог := kernel.НовЛог("ВарБот")
 	лог.Инфо("создатьЯдроВарБот()\n")
 	лог.Паника(конфиг == nil, "создатьЯдроВарБот(): ВарБотКонфиг==nil")
 	ctx, fnCancel := context.WithCancel(конт.Конт())
 	приложение := конт.Получ("приложение").(ИПриложение)
-	контБот := kernel_dict.НовЯдроСловарь()
+	контБот := kernel.НовКонтекст()
 	сам := &Бот{
 		конт:           контБот,
 		прилож:         приложение,
 		хран:           конт.Получ("kernStore").(ИЯдроХранилище),
 		стата:          tank_stat.НовТанкСтат(конт),
-		еслиРаботает:   safe_bool.НовБезопБул(),
-		еслиАвтозапуск: safe_bool.НовБезопБул(),
+		еслиРаботает:   kernel.НовБезопБул(),
+		еслиАвтозапуск: kernel.НовБезопБул(),
 		конфиг:         конфиг,
 		кнт:            ctx,
 		фтОтмена:       fnCancel,

+ 3 - 3
app/lev3/bot/bot_net/bot_cookie/bot_cookie.go

@@ -4,8 +4,8 @@ import (
 	"net/http"
 	"sync"
 
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -21,7 +21,7 @@ type БотКуки struct {
 
 // НовБотКуки -- возвращает новый *БотКуки
 func НовБотКуки() БотКуки {
-	лог := kernel_log.НовЛоггер("БотКуки")
+	лог := kernel.НовЛог("БотКуки")
 	лог.Инфо("БотКуки()\n")
 	return БотКуки{
 		лог: лог,

+ 6 - 7
app/lev3/bot/bot_net/bot_net.go

@@ -7,9 +7,8 @@ import (
 	"wartank/app/lev3/bot/bot_net/bot_http_conn"
 	"wartank/app/lev3/bot/bot_net/bot_net_login"
 	"wartank/app/lev3/bot/bot_net/http_worker"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -21,7 +20,7 @@ type БотСеть struct {
 	бот        ИБот
 	соедХттп   *bot_http_conn.БотХттпСоед
 	логин      *bot_net_login.БотСетьЛогин
-	еслиОнлайн *safe_bool.БезопБул
+	еслиОнлайн ИБезопБул
 	вебВоркер  ИХттпВоркер
 	ctx        context.Context
 	фнОтмена   func()
@@ -30,7 +29,7 @@ type БотСеть struct {
 
 // НовБотСеть -- возвращает новый коннект к сети бота
 func НовБотСеть(конт ИБотКонтекст) *БотСеть {
-	лог := kernel_log.НовЛоггер("ВарБотСеть")
+	лог := kernel.НовЛог("ВарБотСеть")
 	лог.Инфо("НовБотСеть()\n")
 	бот := конт.Получ("юот").(ИБот)
 	лог.Инфо("НовБотСеть(): имя=%q\n", бот.Имя())
@@ -38,7 +37,7 @@ func НовБотСеть(конт ИБотКонтекст) *БотСеть {
 	сам := &БотСеть{
 		бот:        бот,
 		соедХттп:   bot_http_conn.НовБотХттпСоед(),
-		еслиОнлайн: safe_bool.НовБезопБул(),
+		еслиОнлайн: kernel.НовБезопБул(),
 		ctx:        ctx,
 		фнОтмена:   фнОтмена,
 		лог:        лог,
@@ -71,7 +70,7 @@ func (сам *БотСеть) Отмена() {
 }
 
 // ЕслиОнлайн -- возвращает признак нахождения в онлайне
-func (сам *БотСеть) ЕслиОнлайн() *safe_bool.БезопБул {
+func (сам *БотСеть) ЕслиОнлайн() ИБезопБул {
 	return сам.еслиОнлайн
 }
 

+ 3 - 3
app/lev3/bot/bot_net/bot_net_login/bot_net_login.go

@@ -8,8 +8,8 @@ import (
 	"strings"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // БотСетьЛогин -- объект сетевого входа на сервер
@@ -22,7 +22,7 @@ type БотСетьЛогин struct {
 
 // НовБотСетьЛогин -- возвращает новый *БотСетьЛогин
 func НовБотСетьЛогин(конт ИБотКонтекст) *БотСетьЛогин {
-	лог := kernel_log.НовЛоггер("БотСетьЛогин")
+	лог := kernel.НовЛог("БотСетьЛогин")
 	лог.Инфо("НовБотСетьЛогин()\n")
 
 	ботСеть := конт.Получ("ботСеть").(ИБотСеть)

+ 3 - 3
app/lev3/bot/bot_net/bot_net_stat/net_stat.go

@@ -6,8 +6,8 @@ import (
 	"strings"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -23,7 +23,7 @@ type БотСетьСтат struct {
 
 // НовБотСетьСтат -- возвращает новый *NetStat
 func НовБотСетьСтат(конт ИБотКонтекст) *БотСетьСтат {
-	лог := kernel_log.НовЛоггер("БотСетьСтат")
+	лог := kernel.НовЛог("БотСетьСтат")
 	лог.Инфо("НовБотСетьСтат()\n")
 	bot := конт.Получ("бот").(ИБот)
 	сам := &БотСетьСтат{

+ 3 - 3
app/lev3/bot/bot_net/http_worker/http_worker.go

@@ -11,8 +11,8 @@ import (
 
 	. "wartank/app/lev0/types"
 	"wartank/app/lev3/bot/bot_net/http_worker/net_stat"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 var (
@@ -29,7 +29,7 @@ type ХттпВоркер struct {
 
 // НовХттпВоркер -- возвращает веб-воркера бота
 func НовХттпВоркер(конт ИБотКонтекст) *ХттпВоркер {
-	лог := kernel_log.НовЛоггер("ХттпВоркер")
+	лог := kernel.НовЛог("ХттпВоркер")
 	лог.Инфо("НовХттпВоркер()\n")
 
 	ботСеть := конт.Получ("ботСеть").(ИБотСеть)

+ 4 - 3
app/lev3/bot/bot_net/http_worker/net_stat/net_stat.go

@@ -6,7 +6,8 @@ import (
 	"time"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 /*
@@ -23,12 +24,12 @@ type СетьСтата struct {
 	countErr             int      // Число зафиксированных ошибок
 	chTick               chan int // Сигналы времени 1 раз в 5 минут
 	block                sync.Mutex
-	лог                  *kernel_log.Логгер
+	лог                  ИЯдроЛог
 }
 
 // НовСетьСтата -- возвращает новый *NetStat
 func НовСетьСтата(конт ИБотКонтекст) *СетьСтата {
-	лог := kernel_log.НовЛоггер("СетьСтата")
+	лог := kernel.НовЛог("СетьСтата")
 	лог.Инфо("НовСетьСтата()\n")
 
 	ботСеть := конт.Получ("ботСеть").(ИБотСеть)

+ 2 - 2
app/lev3/bot/warbot_config/warbot_config.go

@@ -6,7 +6,7 @@ import (
 	"sync"
 
 	. "wartank/app/lev0/alias"
-	"wartank/pkg/kernel/kernel_log"
+	"wartank/kernel"
 )
 
 // ВарБотКонфиг -- конфиг бота для хранения в базе
@@ -26,7 +26,7 @@ func (сам *ВарБотКонфиг) Marshall() []byte {
 
 // Unmarshal -- десериализует себя из байтового потока
 func (сам *ВарБотКонфиг) Unmarshal(binData []byte) {
-	лог := kernel_log.НовЛоггер("ВарБотКонфиг")
+	лог := kernel.НовЛог("ВарБотКонфиг")
 	лог.Отладка("Unmarshal()")
 	err := json.Unmarshal(binData, сам)
 	лог.Паника(err != nil, "Unmarshal(): err=\n\t%v\n", err)

+ 3 - 3
app/lev3/farm_bots/dict_bot/dict_bot.go

@@ -10,8 +10,8 @@ import (
 	. "wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
 	"wartank/app/lev3/bot"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 const (
@@ -30,7 +30,7 @@ type СловарьБотов struct {
 
 // НовСловарьБотов -- возвращает новый потокобезопасный словарь ботов
 func НовСловарьБотов(конт ИЯдроКонтекст) *СловарьБотов {
-	лог := kernel_log.НовЛоггер("СловарьБотов")
+	лог := kernel.НовЛог("СловарьБотов")
 	лог.Инфо("НовСловарьБотов()\n")
 	сам := &СловарьБотов{
 		конт:    конт,

+ 1 - 1
app/lev3/farm_bots/farm_bots.go

@@ -9,7 +9,7 @@ import (
 	. "wartank/app/lev0/types"
 	"wartank/app/lev3/bot"
 	"wartank/app/lev3/farm_bots/dict_bot"
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 // БотоФерма -- бото-ферма

+ 4 - 4
app/lev3/serv_web/serv_web.go

@@ -10,19 +10,19 @@ import (
 	. "wartank/app/lev0/types"
 	"wartank/app/lev3/serv_web/web_api"
 	"wartank/app/lev3/serv_web/web_gui"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 type СервВеб struct {
 	конт ИЯдроКонтекст
 	серв ИПриложение
-	лог  *kernel_log.Логгер
+	лог  ИЯдроЛог
 }
 
 // НовСервВеб -- возвращает новый веб-сервер
 func НовСервВеб(серв ИПриложение) *СервВеб {
-	лог := kernel_log.НовЛоггер("СервВеб")
+	лог := kernel.НовЛог("СервВеб")
 	лог.Инфо("НовСервВеб()\n")
 	лог.Паника(серв == nil, "НовСервВеб(): ИСервер==nil")
 

+ 3 - 3
app/lev3/serv_web/web_api/web_api.go

@@ -9,8 +9,8 @@ import (
 
 	. "wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // ВебАпи -- веб-сервер для API
@@ -21,7 +21,7 @@ type ВебАпи struct {
 
 // НовВебАпи -- возвращает новый веб-сервер для API
 func НовВебАпи(конт ИБотКонтекст) *ВебАпи {
-	лог := kernel_log.НовЛоггер("ВебАпи")
+	лог := kernel.НовЛог("ВебАпи")
 	лог.Паника(конт == nil, "НовВебАпи(): ИВебСервер==nil")
 	сам := &ВебАпи{
 		прилож: конт.Получ("приложение").(ИПриложение),

+ 4 - 4
app/lev3/serv_web/web_gui/page_bot_add/page_bot_add.go

@@ -9,13 +9,13 @@ import (
 
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/web_render"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // СтраницаДобавлениеБота -- страница добавления бота
 type СтраницаБотаДобавить struct {
-	лог    *kernel_log.Логгер
+	лог    ИЯдроЛог
 	прилож ИПриложение
 	рендер ИВебРендер
 }
@@ -25,7 +25,7 @@ var стрБотДобавить string
 
 // НовСтраницаБотовДобавить
 func НовСтраницаБотовДобавить(конт ИЯдроКонтекст) *СтраницаБотаДобавить {
-	лог := kernel_log.НовЛоггер("СтраницаДобавлениеБота")
+	лог := kernel.НовЛог("СтраницаДобавлениеБота")
 	лог.Паника(конт == nil, "НовСтраницаБотовДобавить(): ИЯдроКонтекст==nil")
 	сам := &СтраницаБотаДобавить{
 		лог:    лог,

+ 4 - 4
app/lev3/serv_web/web_gui/page_bot_list/page_bot_list.go

@@ -11,13 +11,13 @@ import (
 
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/web_render"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // СтраницаЛогин -- страница списка ботов
 type СтраницаСписокБотов struct {
-	лог    *kernel_log.Логгер
+	лог    ИЯдроЛог
 	прилож ИПриложение
 	рендер ИВебРендер
 }
@@ -27,7 +27,7 @@ var стрСписок string
 
 // НовСтраницаСписокБотов
 func НовСтраницаСписокБотов(конт ИЯдроКонтекст) *СтраницаСписокБотов {
-	лог := kernel_log.НовЛоггер("СтраницаСписокБотов")
+	лог := kernel.НовЛог("СтраницаСписокБотов")
 	лог.Паника(конт == nil, "НовСтраницаСписокБотов(): ИЯдроКонтекст==nil")
 	сам := &СтраницаСписокБотов{
 		лог:    лог,

+ 4 - 4
app/lev3/serv_web/web_gui/page_bot_show/page_bot_show.go

@@ -11,13 +11,13 @@ import (
 	. "wartank/app/lev0/alias"
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/web_render"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // СтраницаБотПоказать -- страница показа бота
 type СтраницаБотПоказать struct {
-	лог    *kernel_log.Логгер
+	лог    ИЯдроЛог
 	прилож ИПриложение
 	рендер ИВебРендер
 }
@@ -27,7 +27,7 @@ var стрБотПоказать string
 
 // НовСтраницаБотПоказать
 func НовСтраницаБотПоказать(конт ИЯдроКонтекст) *СтраницаБотПоказать {
-	лог := kernel_log.НовЛоггер("СтраницаБотПоказать")
+	лог := kernel.НовЛог("СтраницаБотПоказать")
 	лог.Паника(конт == nil, "НовСтраницаБотПоказать(): ИЯдроКонтекст==nil")
 	сам := &СтраницаБотПоказать{
 		лог:    лог,

+ 4 - 4
app/lev3/serv_web/web_gui/page_login/page_login.go

@@ -10,13 +10,13 @@ import (
 
 	. "wartank/app/lev0/types"
 	"wartank/app/lev1/web_render"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // СтраницаЛогин -- страница логина
 type СтраницаЛогин struct {
-	лог    *kernel_log.Логгер
+	лог    ИЯдроЛог
 	рендер ИВебРендер
 }
 
@@ -25,7 +25,7 @@ var стрЛогин string
 
 // НовСтраницаЛогин
 func НовСтраницаЛогин(конт ИЯдроКонтекст) *СтраницаЛогин {
-	лог := kernel_log.НовЛоггер("СтраницаЛогин")
+	лог := kernel.НовЛог("СтраницаЛогин")
 	лог.Паника(конт == nil, "НовСтраницаЛогин(): ИЯдроКонтекст==nil")
 	сам := &СтраницаЛогин{
 		лог:    лог,

+ 4 - 4
app/lev3/serv_web/web_gui/web_gui.go

@@ -11,19 +11,19 @@ import (
 	"wartank/app/lev3/serv_web/web_gui/page_bot_list"
 	"wartank/app/lev3/serv_web/web_gui/page_bot_show"
 	"wartank/app/lev3/serv_web/web_gui/page_login"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // ВебГип -- веб-сервер для графики
 type ВебГуи struct {
 	прилож ИПриложение
-	лог    *kernel_log.Логгер
+	лог    ИЯдроЛог
 }
 
 // НовВебГуи -- возвращает новый веб-сервер для графики
 func НовВебГуи(конт ИЯдроКонтекст) *ВебГуи {
-	лог := kernel_log.НовЛоггер("ВебГуи")
+	лог := kernel.НовЛог("ВебГуи")
 	лог.Паника(конт == nil, "НовВебГуи(): ИЯдроКонтекст==nil")
 	сам := &ВебГуи{
 		прилож: конт.Получ("приложение").(ИПриложение),

+ 3 - 3
app/lev3/server_stat/server_stat.go

@@ -8,8 +8,8 @@ import (
 	"time"
 
 	. "wartank/app/lev0/types"
-	"wartank/pkg/kernel/kernel_log"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // СерверСтат -- структура статистики сервера
@@ -24,7 +24,7 @@ type СерверСтат struct {
 
 // НовСерверСтат -- возвращает структуру статистики сервера
 func НовСерверСтат(серв ИПриложение) *СерверСтат {
-	лог := kernel_log.НовЛоггер("СерверСтат")
+	лог := kernel.НовЛог("СерверСтат")
 	лог.Инфо("НовСерверСтат()\n")
 	лог.Паника(серв == nil, "НовСерверСтат: ИСервер == nil")
 	сам := &СерверСтат{

+ 6 - 6
app/lev4/applic/applic.go

@@ -6,8 +6,8 @@ import (
 	"wartank/app/lev3/farm_bots"
 	"wartank/app/lev3/serv_web"
 	"wartank/app/lev3/server_stat"
-	"wartank/pkg/kernel"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 // Приложение -- главный тип приложения
@@ -21,14 +21,14 @@ type Приложение struct {
 
 // НовПриложение -- возвращает новый объект приложения
 func НовПриложение() *Приложение {
-	лог := kernel.СобратьЛог("Приложение")
+	лог := kernel.НовЛог("Приложение")
 	лог.Инфо("НовПриложение()\n")
 	сам := &Приложение{
-		ИЯдроКонтекст: kernel.СобратьКонтекст(),
+		ИЯдроКонтекст: kernel.НовКонтекст(),
 		лог:           лог,
 	}
-	_ = kernel.СобратьХранилище(сам)
-	сам.ядроВеб = kernel.СобратьСервХттп(сам)
+	_ = kernel.НовХранилище(сам)
+	сам.ядроВеб = kernel.НовСервХттп(сам)
 	сам.Уст("приложение", сам)
 	сам.ботоФерма = farm_bots.НовБотоФерма(сам)
 	_ = serv_web.НовСервВеб(сам)

+ 3 - 3
app/lev4/build/build.go

@@ -9,8 +9,8 @@ import (
 
 	. "wartank/app/lev0/types"
 	"wartank/app/lev4/applic"
-	"wartank/pkg/kernel"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel"
+	. "wartank/kernel/kernel_types"
 )
 
 func СобратьПриложение() ИПриложение {
@@ -27,7 +27,7 @@ func СобратьПриложение() ИПриложение {
 }
 
 func СобратьЛог(префикс string) ИЯдроЛог {
-	лог := kernel.СобратьЛог(префикс)
+	лог := kernel.НовЛог(префикс)
 	return лог
 }
 

+ 0 - 0
pkg/kernel/kernel_alias/kermel_alias.go → kernel/internal/kernel_alias/kermel_alias.go


+ 0 - 0
pkg/kernel/kernel_alias/kernel_alias_test.go → kernel/internal/kernel_alias/kernel_alias_test.go


+ 3 - 3
pkg/kernel/kernel_ctx/kernel_ctx.go → kernel/internal/kernel_ctx/kernel_ctx.go

@@ -6,9 +6,9 @@ import (
 	"log"
 	"sync"
 
-	"wartank/pkg/kernel/kernel_ctx/kernel_keeper"
-	"wartank/pkg/kernel/kernel_ctx/kernel_wg"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel/internal/kernel_ctx/kernel_keeper"
+	"wartank/kernel/internal/kernel_ctx/kernel_wg"
+	. "wartank/kernel/kernel_types"
 )
 
 // kernelCtx -- контекст ядра

+ 0 - 0
pkg/kernel/kernel_ctx/kernel_ctx_test.go → kernel/internal/kernel_ctx/kernel_ctx_test.go


+ 1 - 1
pkg/kernel/kernel_ctx/kernel_keeper/kernel_keeper.go → kernel/internal/kernel_ctx/kernel_keeper/kernel_keeper.go

@@ -8,8 +8,8 @@ import (
 	"os/signal"
 	"syscall"
 
+	. "wartank/kernel/kernel_types"
 	. "wartank/pkg/helpers"
-	. "wartank/pkg/kernel/kernel_types"
 )
 
 // kernelKeeper -- сторож системных сигналов

+ 2 - 2
pkg/kernel/kernel_ctx/kernel_keeper/kernel_keeper_test.go → kernel/internal/kernel_ctx/kernel_keeper/kernel_keeper_test.go

@@ -6,8 +6,8 @@ import (
 	"testing"
 	"time"
 
-	"wartank/pkg/kernel/kernel_ctx/kernel_wg"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel/internal/kernel_ctx/kernel_wg"
+	. "wartank/kernel/kernel_types"
 )
 
 type tester struct {

+ 5 - 5
pkg/kernel/kernel_ctx/kernel_wg/kernel_wg.go → kernel/internal/kernel_ctx/kernel_wg/kernel_wg.go

@@ -10,17 +10,17 @@ import (
 	"sync"
 	"time"
 
+	. "wartank/kernel/internal/kernel_alias"
+	"wartank/kernel/internal/safe_bool"
+	. "wartank/kernel/kernel_types"
 	. "wartank/pkg/helpers"
-	. "wartank/pkg/kernel/kernel_alias"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
 )
 
 // ядроОп -- именованный ожидатель потоков ядра
 type ядроОп struct {
 	ctx          context.Context
 	dictStream   map[AStreamName]bool // Словарь имён потоков с признаком работы
-	еслиРаботает *safe_bool.БезопБул
+	еслиРаботает ИБезопБул
 	block        sync.RWMutex
 }
 
@@ -38,7 +38,7 @@ func GetKernelWg(ctx context.Context) IKernelWg {
 	сам := &ядроОп{
 		ctx:          ctx,
 		dictStream:   map[AStreamName]bool{},
-		еслиРаботает: safe_bool.НовБезопБул(),
+		еслиРаботает: safe_bool.НовБезопБул_(),
 	}
 	go сам.close()
 	сам.еслиРаботает.Уст()

+ 1 - 1
pkg/kernel/kernel_ctx/kernel_wg/kernel_wg_test.go → kernel/internal/kernel_ctx/kernel_wg/kernel_wg_test.go

@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 type tester struct {

+ 0 - 0
pkg/kernel/kernel_dict/kernel_dict.go → kernel/internal/kernel_dict/kernel_dict.go


+ 1 - 1
pkg/kernel/kernel_log/logger.go → kernel/internal/kernel_log/logger.go

@@ -5,7 +5,7 @@ import (
 	"fmt"
 	"sync"
 
-	. "wartank/pkg/kernel/kernel_types"
+	. "wartank/kernel/kernel_types"
 )
 
 var блок sync.Mutex

+ 4 - 4
pkg/kernel/kernel_serv_http/kernel_serv_http.go → kernel/internal/kernel_serv_http/kernel_serv_http.go

@@ -14,9 +14,9 @@ import (
 	"github.com/gofiber/fiber/v2/middleware/filesystem"
 	"github.com/gofiber/fiber/v2/middleware/monitor"
 
+	"wartank/kernel/internal/safe_bool"
+	. "wartank/kernel/kernel_types"
 	. "wartank/pkg/helpers"
-	. "wartank/pkg/kernel/kernel_types"
-	"wartank/pkg/kernel/safe_bool"
 )
 
 const (
@@ -28,7 +28,7 @@ type kernelServHttp struct {
 	ctx      ИЯдроКонтекст
 	strPort  string // Порт ,на котором слушает HTTP-сервер
 	fiberApp *fiber.App
-	isWork   *safe_bool.БезопБул
+	isWork   ИБезопБул
 	block    sync.Mutex
 }
 
@@ -63,7 +63,7 @@ func GetKernelServHttp(ctx ИЯдроКонтекст) ИЯдроСерверВ
 		ctx:      ctx,
 		strPort:  strPort,
 		fiberApp: fiber.New(confFiber),
-		isWork:   safe_bool.НовБезопБул(),
+		isWork:   safe_bool.НовБезопБул_(),
 	}
 	sf.fiberApp.Use(compress.New(compress.Config{
 		Level: compress.LevelBestCompression, // 2

+ 2 - 2
pkg/kernel/kernel_serv_http/kernel_serv_http_test.go → kernel/internal/kernel_serv_http/kernel_serv_http_test.go

@@ -4,8 +4,8 @@ import (
 	"testing"
 	"time"
 
-	"wartank/pkg/kernel/kernel_ctx"
-	. "wartank/pkg/kernel/kernel_types"
+	"wartank/kernel/internal/kernel_ctx"
+	. "wartank/kernel/kernel_types"
 	"wartank/pkg/mock/mock_env"
 )
 

+ 0 - 0
pkg/kernel/kernel_serv_http/static/css/bootstrap-grid.min.css → kernel/internal/kernel_serv_http/static/css/bootstrap-grid.min.css


+ 0 - 0
pkg/kernel/kernel_serv_http/static/css/bootstrap-grid.min.css.map → kernel/internal/kernel_serv_http/static/css/bootstrap-grid.min.css.map


+ 0 - 0
pkg/kernel/kernel_serv_http/static/css/bootstrap-grid.rtl.min.css → kernel/internal/kernel_serv_http/static/css/bootstrap-grid.rtl.min.css


Неке датотеке нису приказане због велике количине промена