ソースを参照

d06 Затаскивание во внутренний пакет

SVI 2 年 前
コミット
62881bab8e
100 ファイル変更243 行追加228 行削除
  1. 5 5
      Makefile
  2. 7 73
      cmd/desk/main.go
  3. 1 1
      cmd/server/main.go
  4. 18 18
      go.mod
  5. 85 40
      go.sum
  6. 36 0
      internal/desktop/desktop.go
  7. 0 0
      internal/server/helper/helper.go
  8. 1 1
      internal/server/serv_bots/dict_warbot/dict_warbot.go
  9. 2 2
      internal/server/serv_bots/serv_bots.go
  10. 11 11
      internal/server/serv_bots/warbot/angar/angar.go
  11. 0 0
      internal/server/serv_bots/warbot/angar/angarnet/angarnet.go
  12. 2 2
      internal/server/serv_bots/warbot/angar/base/arsenal/arsenal.go
  13. 0 0
      internal/server/serv_bots/warbot/angar/base/arsenal/arsenalnet/arsenalnet.go
  14. 3 3
      internal/server/serv_bots/warbot/angar/base/bank/bank.go
  15. 1 1
      internal/server/serv_bots/warbot/angar/base/bank/bankmode/bankmode.go
  16. 0 0
      internal/server/serv_bots/warbot/angar/base/bank/banknet/banknet.go
  17. 8 8
      internal/server/serv_bots/warbot/angar/base/base.go
  18. 0 0
      internal/server/serv_bots/warbot/angar/base/basenet/basenet.go
  19. 2 2
      internal/server/serv_bots/warbot/angar/base/fuel/fuel.go
  20. 0 0
      internal/server/serv_bots/warbot/angar/base/fuel/fuel_net/fuel_net.go
  21. 0 0
      internal/server/serv_bots/warbot/angar/base/labor/labor.go
  22. 2 2
      internal/server/serv_bots/warbot/angar/base/market/market.go
  23. 0 0
      internal/server/serv_bots/warbot/angar/base/market/marketnet/marketnet.go
  24. 2 2
      internal/server/serv_bots/warbot/angar/base/mine/mine.go
  25. 0 0
      internal/server/serv_bots/warbot/angar/base/mine/minenet/minenet.go
  26. 2 2
      internal/server/serv_bots/warbot/angar/base/polygon/polygon.go
  27. 0 0
      internal/server/serv_bots/warbot/angar/base/polygon/polygonnet/polygonnet.go
  28. 3 3
      internal/server/serv_bots/warbot/angar/battle/battle.go
  29. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_register/battle_register.go
  30. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_wait/battle_wait.go
  31. 3 3
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battle_worker.go
  32. 4 4
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battleon.go
  33. 1 1
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/battlesound.go
  34. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay/isplay.go
  35. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/health.go
  36. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/healthtime/healthtime.go
  37. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/isrepair/isrepair.go
  38. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime/repairtime.go
  39. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr/ismanevr.go
  40. 2 2
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/manevr.go
  41. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/damage/damage.go
  42. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/isshot/isshot.go
  43. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/shot.go
  44. 0 0
      internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shottime/shottime.go
  45. 0 0
      internal/server/serv_bots/warbot/angar/battle/battlenet/battlenet.go
  46. 0 0
      internal/server/serv_bots/warbot/angar/battle/isrun/isrun.go
  47. 2 2
      internal/server/serv_bots/warbot/angar/convoy/convoy.go
  48. 0 0
      internal/server/serv_bots/warbot/angar/convoy/convoynet/convoynet.go
  49. 3 3
      internal/server/serv_bots/warbot/angar/death_match/battle.go
  50. 0 0
      internal/server/serv_bots/warbot/angar/death_match/battle_wait/battle_wait.go
  51. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_net/death_net.go
  52. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_register/death_register.go
  53. 1 1
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound/battlesound.go
  54. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound/isplay/isplay.go
  55. 4 4
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/death_on.go
  56. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/health.go
  57. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/healthtime/healthtime.go
  58. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/isrepair/isrepair.go
  59. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/repairtime/repairtime.go
  60. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr/ismanevr/ismanevr.go
  61. 2 2
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr/manevr.go
  62. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/damage/damage.go
  63. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/isshot/isshot.go
  64. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/shot.go
  65. 0 0
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shottime/shottime.go
  66. 3 3
      internal/server/serv_bots/warbot/angar/death_match/death_worker/death_worker.go
  67. 0 0
      internal/server/serv_bots/warbot/angar/death_match/isrun/isrun.go
  68. 1 1
      internal/server/serv_bots/warbot/angar/division/division.go
  69. 4 4
      internal/server/serv_bots/warbot/angar/division/divwar/divwar.go
  70. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwarnet/divwarnet.go
  71. 3 3
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwaron.go
  72. 1 1
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound/divwarsound.go
  73. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound/isplay/isplay.go
  74. 2 2
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/health.go
  75. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/healthtime/healthtime.go
  76. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime/repairtime.go
  77. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/ismanevr/ismanevr.go
  78. 2 2
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/manevr.go
  79. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shot/damage/damage.go
  80. 2 2
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shot/shot.go
  81. 0 0
      internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shottime/shottime.go
  82. 1 1
      internal/server/serv_bots/warbot/angar/fuel/fuel.go
  83. 0 0
      internal/server/serv_bots/warbot/angar/fuel_attack/fuel_attack.go
  84. 1 1
      internal/server/serv_bots/warbot/angar/masters/bat_masters.go
  85. 0 0
      internal/server/serv_bots/warbot/angar/masters/batmasnet/batmasnet.go
  86. 1 1
      internal/server/serv_bots/warbot/angar/missions/missions.go
  87. 0 0
      internal/server/serv_bots/warbot/angar/missions/missionsnet/missionsnet.go
  88. 0 0
      internal/server/serv_bots/warbot/angar/netstat/netstat.go
  89. 0 0
      internal/server/serv_bots/warbot/angar/tank_params/tank_params.go
  90. 1 1
      internal/server/serv_bots/warbot/tank/tank.go
  91. 0 0
      internal/server/serv_bots/warbot/tank/tankstat/static_param/static_param.go
  92. 1 1
      internal/server/serv_bots/warbot/tank/tankstat/tankstat.go
  93. 4 4
      internal/server/serv_bots/warbot/warbot.go
  94. 0 0
      internal/server/serv_bots/warbot/warbot_config/warbot_config.go
  95. 0 0
      internal/server/serv_bots/warbot/warbot_net/bot_cookie/bot_cookie.go
  96. 1 1
      internal/server/serv_bots/warbot/warbot_net/bot_net_conn/bot_net_conn.go
  97. 0 0
      internal/server/serv_bots/warbot/warbot_net/bot_net_login/bot_net_login.go
  98. 2 2
      internal/server/serv_bots/warbot/warbot_net/warbot_net.go
  99. 0 0
      internal/server/serv_desktop.zip
  100. 0 0
      internal/server/serv_rpc.zip

+ 5 - 5
Makefile

@@ -7,7 +7,7 @@ build:
 	mkdir -p ./bin/web/static
 	mkdir -p ./bin/web/tmpl
 	cp -r ./web ./bin
-	cp ./util/store.so ./bin/store.so
+	# cp ./util/store.so ./bin/store.so
 	go fmt ./...
 	go build -ldflags "-w -s -X main.GoVersion=$(GO_VERS) -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin/server ./cmd/server/main.go
 	strip -s ./bin/server
@@ -17,7 +17,7 @@ prod2:
 	mkdir -p ./bin2/web/static
 	mkdir -p ./bin2/web/tmpl
 	cp -r ./web ./bin2
-	cp ./util/store.so ./bin2/store.so
+	# cp ./util/store.so ./bin2/store.so
 	go fmt ./...
 	go build -ldflags "-X main.GoVersion=${GO_VERS} -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin2/server2 ./cmd/server/main.go
 	strip -s ./bin2/server2
@@ -28,7 +28,6 @@ dev.run:
 	mkdir -p ./bin_dev/web/static
 	mkdir -p ./bin_dev/web/tmpl
 	cp -r ./web ./bin_dev
-	cp ./util/store.so ./bin_dev/store.so
 	go fmt ./...
 	# go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
 	go build -ldflags "-w -s -X main.GoVersion=$(GO_VERS) -X main.Version=${TAG} -X main.Date=${BUILD_DATE}" -o ./bin_dev/wartank_dev ./cmd/server/main.go
@@ -38,9 +37,10 @@ prod.run:
 	go fmt ./...
 	go build -o ./bin/wartank ./cmd/server/main.go
 	./run_prod.sh
-view.run:
+desk.run:
 	clear
-	python3 -m main
+	go fmt ./...
+	go build -o ./bin_dev/desktop ./cmd/desk/main.go
 test.run:
 	clear
 	go fmt ./...

+ 7 - 73
cmd/desk/main.go

@@ -1,83 +1,17 @@
 package main
 
 import (
-	"image/color"
 	"log"
-
-	"fyne.io/fyne/v2"
-	"fyne.io/fyne/v2/app"
-	"fyne.io/fyne/v2/canvas"
-	"fyne.io/fyne/v2/container"
-	"fyne.io/fyne/v2/layout"
-	"fyne.io/fyne/v2/widget"
-	//"fyne.io/fyne/v2/layout"
+	"wartank/internal/desktop"
 )
 
-var myApp fyne.App
-var winMain fyne.Window
-var botLogin string
-var botPass string
-var boxLeft *fyne.Container
-
 func main() {
-	myApp = app.New()
-	winMain = myApp.NewWindow("[Бото-ферма WarTank]")
-	winMain.Resize(fyne.NewSize(800, 600))
-	green := color.NRGBA{R: 0, G: 180, B: 0, A: 255}
-
-	text1 := canvas.NewText("Список ботов", green)
-	text2 := canvas.NewText("There", green)
-	text2.Move(fyne.NewPos(20, 20))
-	//content := container.NewWithoutLayout(text1, text2)
-	// content := container.New(layout.NewGridLayout(2), text1, text2)
-	boxLeft = container.NewVBox(text1, text2)
-	btnAddBot := widget.NewButton("Добавить бота", btnAddClick)
-	btnExit := widget.NewButton("Выход", btnExitClick)
-	boxDown := container.NewHBox(btnAddBot, layout.NewSpacer(), btnExit)
-	boxBorder := container.NewBorder(nil, nil, boxLeft, nil, boxLeft)
-	boxMain := container.NewBorder(nil, boxDown, nil, nil, boxBorder)
-
-	winMain.SetContent(boxMain)
-	winMain.Show()
-	myApp.Run()
-}
-
-func btnAddClick() {
-	log.Println("btnAddclick()")
-	winAddBot := myApp.NewWindow("Новый бот")
-	entLogin := widget.NewEntry()
-	entPass := widget.NewEntry()
-	form := &widget.Form{
-		Items: []*widget.FormItem{ // we can specify items in the constructor
-			{Text: "Логин", Widget: entLogin},
-			{Text: "Пароль", Widget: entPass},
-		},
-		OnSubmit: func() { // optional, handle form submission
-			botLogin = entLogin.Text
-			log.Println("Form submitted:", entLogin.Text)
-			botPass = entPass.Text
-			log.Println("multiline:", entPass.Text)
-			winAddBot.Close()
-			btnBot := widget.NewButton(botLogin, btnBotClick(botLogin, botPass))
-			boxLeft.Add(btnBot)
-			// winMain.Canvas().Refresh()
-		},
+	log.Println("main(): desktop")
+	десктоп, ош := desktop.НовДесктоп()
+	if ош != nil {
+		log.Printf("main(): при создании десктопа, ош=%v\n", ош)
 	}
-	winAddBot.Resize(fyne.NewSize(640, 480))
-	winAddBot.SetContent(form)
-	winAddBot.Show()
-
-}
-
-func btnBotClick(botName, botPass string) func() {
-	_botName := botName
-	_botPass := botPass
-	return func() {
-		log.Printf("btnBotClick().fn(): botName=%q\tbotPass=%q\n", _botName, _botPass)
+	if ош := десктоп.Пуск(); ош != nil {
+		log.Printf("main(): при запуске десктопа, ош=%v\n", ош)
 	}
 }
-
-func btnExitClick() {
-	log.Println("btnExitClick()")
-	myApp.Quit()
-}

+ 1 - 1
cmd/server/main.go

@@ -15,7 +15,7 @@ import (
 	"os"
 	"time"
 
-	"wartank/server"
+	"wartank/internal/server"
 )
 
 func profile() {

+ 18 - 18
go.mod

@@ -3,34 +3,34 @@ module wartank
 go 1.21.4
 
 require (
-	fyne.io/fyne/v2 v2.4.2
-	github.com/charmbracelet/bubbletea v0.24.2
-	github.com/gofiber/fiber/v2 v2.51.0
-	github.com/gofiber/template/html/v2 v2.0.5
+	fyne.io/fyne/v2 v2.3.5
+	github.com/charmbracelet/bubbletea v0.25.0
+	github.com/gofiber/fiber/v2 v2.52.0
+	github.com/gofiber/template/html/v2 v2.1.0
 	github.com/sirupsen/logrus v1.9.3
 	github.com/syndtr/goleveldb v1.0.0
 )
 
 require (
 	fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e // indirect
-	github.com/andybalholm/brotli v1.0.6 // indirect
+	github.com/andybalholm/brotli v1.1.0 // indirect
 	github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
 	github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/fredbi/uri v1.1.0 // indirect
 	github.com/fsnotify/fsnotify v1.7.0 // indirect
 	github.com/fyne-io/gl-js v0.0.0-20230506162202-1fdaa286a934 // indirect
-	github.com/fyne-io/glfw-js v0.0.0-20231117203605-bc7c6f97d52f // indirect
-	github.com/fyne-io/image v0.0.0-20231202055200-35923e9b8fe0 // indirect
+	github.com/fyne-io/glfw-js v0.0.0-20240101223322-6e1efdc71b7a // indirect
+	github.com/fyne-io/image v0.0.0-20240119095650-e97186d4fe4a // indirect
 	github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 // indirect
-	github.com/go-gl/glfw/v3.3/glfw v0.0.0-20231124074035-2de0cf0c80af // indirect
-	github.com/go-text/render v0.0.0-20230619120952-35bccb6164b8 // indirect
-	github.com/go-text/typesetting v0.0.0-20231206121005-8d3cf974a41e // indirect
+	github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240118000515-a250818d05e3 // indirect
+	github.com/go-text/typesetting v0.1.0 // indirect
 	github.com/godbus/dbus/v5 v5.1.0 // indirect
 	github.com/gofiber/template v1.8.2 // indirect
 	github.com/gofiber/utils v1.1.0 // indirect
+	github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c // indirect
 	github.com/golang/snappy v0.0.4 // indirect
-	github.com/google/uuid v1.4.0 // indirect
+	github.com/google/uuid v1.5.0 // indirect
 	github.com/gopherjs/gopherjs v1.17.2 // indirect
 	github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25 // indirect
 	github.com/klauspost/compress v1.17.4 // indirect
@@ -53,13 +53,13 @@ require (
 	github.com/valyala/fasthttp v1.51.0 // indirect
 	github.com/valyala/tcplisten v1.0.0 // indirect
 	github.com/yuin/goldmark v1.6.0 // indirect
-	golang.org/x/image v0.14.0 // indirect
-	golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a // indirect
-	golang.org/x/net v0.19.0 // indirect
-	golang.org/x/sync v0.5.0 // indirect
-	golang.org/x/sys v0.15.0 // indirect
-	golang.org/x/term v0.15.0 // indirect
+	golang.org/x/image v0.15.0 // indirect
+	golang.org/x/mobile v0.0.0-20240112133503-c713f31d574b // indirect
+	golang.org/x/net v0.20.0 // indirect
+	golang.org/x/sync v0.6.0 // indirect
+	golang.org/x/sys v0.16.0 // indirect
+	golang.org/x/term v0.16.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
-	honnef.co/go/js/dom v0.0.0-20231030024858-cb489e859d05 // indirect
+	honnef.co/go/js/dom v0.0.0-20231112215516-51f43a291193 // indirect
 )

+ 85 - 40
go.sum

@@ -37,14 +37,17 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
 cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
 cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-fyne.io/fyne/v2 v2.4.2 h1:bt6/p/FTpcv0sZIN6msxto32JvKkgwKe/LzYxqv//B8=
-fyne.io/fyne/v2 v2.4.2/go.mod h1:1h3BKxmQYRJlr2g+RGVxedzr6vLVQ/AJmFWcF9CJnoQ=
+fyne.io/fyne/v2 v2.3.5 h1:Q8WOtsms+esLrBKJGdj6P+klu+UXzRq63uPxFSQm4nc=
+fyne.io/fyne/v2 v2.3.5/go.mod h1:fbrL+kwOQ6sdVhnURktTHIRIEXwysQSLeejyFyABmNI=
+fyne.io/systray v1.10.1-0.20230602210930-b6a2d6ca2a7b/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE=
 fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e h1:Hvs+kW2VwCzNToF3FmnIAzmivNgrclwPgoUdVSrjkP8=
 fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI=
-github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
+github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
+github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M=
+github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
 github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
@@ -54,8 +57,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ
 github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
 github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY=
-github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg=
+github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM=
+github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg=
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@@ -68,6 +71,7 @@ github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:Yyn
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
 github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -81,18 +85,23 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
 github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g=
 github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw=
+github.com/fredbi/uri v0.1.0/go.mod h1:1xC40RnIOGCaQzswaOvrzvG/3M3F0hyDVb3aO/1iGy0=
 github.com/fredbi/uri v1.1.0 h1:OqLpTXtyRg9ABReqvDGdJPqZUxs8cyBDOMXBbskCaB8=
 github.com/fredbi/uri v1.1.0/go.mod h1:aYTUoAXBOq7BLfVJ8GnKmfcuURosB1xyHDIfWeC/iW4=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
 github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
 github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
+github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe/go.mod h1:d4clgH0/GrRwWjRzJJQXxT/h1TyuNSfF/X64zb/3Ggg=
 github.com/fyne-io/gl-js v0.0.0-20230506162202-1fdaa286a934 h1:dZC5aKobSN07hf71oMivxUmAofFja5GrfPK2rBlttX4=
 github.com/fyne-io/gl-js v0.0.0-20230506162202-1fdaa286a934/go.mod h1:d4clgH0/GrRwWjRzJJQXxT/h1TyuNSfF/X64zb/3Ggg=
-github.com/fyne-io/glfw-js v0.0.0-20231117203605-bc7c6f97d52f h1:D1cZO8j1QjIyuam3U3wDGVl2CaLdT6LbaynApBepqYM=
-github.com/fyne-io/glfw-js v0.0.0-20231117203605-bc7c6f97d52f/go.mod h1:gLRWYfYnMA9TONeppRSikMdXlHQ97xVsPojddUv3b/E=
-github.com/fyne-io/image v0.0.0-20231202055200-35923e9b8fe0 h1:MCbI6egRZwu5gHZTzOKgiI2U+k+aezzPMRMOYwjbtRg=
-github.com/fyne-io/image v0.0.0-20231202055200-35923e9b8fe0/go.mod h1:aX1w6epS9BQn2bePY+3rkQejetaffeFhXl0s8QjXJJk=
+github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504/go.mod h1:gLRWYfYnMA9TONeppRSikMdXlHQ97xVsPojddUv3b/E=
+github.com/fyne-io/glfw-js v0.0.0-20240101223322-6e1efdc71b7a h1:ybgRdYvAHTn93HW79bLiBiJwVL4jVeyGQRZMgImoeWs=
+github.com/fyne-io/glfw-js v0.0.0-20240101223322-6e1efdc71b7a/go.mod h1:gsGA2dotD4v0SR6PmPCYvS9JuOeMwAtmfvDE7mbYXMY=
+github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2/go.mod h1:eO7W361vmlPOrykIg+Rsh1SZ3tQBaOsfzZhsIOb/Lm0=
+github.com/fyne-io/image v0.0.0-20240119095650-e97186d4fe4a h1:+wTRuw25eyS8VJ6OndN13mtxP/NF9YbxYUi7tX7x5DI=
+github.com/fyne-io/image v0.0.0-20240119095650-e97186d4fe4a/go.mod h1:aX1w6epS9BQn2bePY+3rkQejetaffeFhXl0s8QjXJJk=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw=
 github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 h1:5BVwOaUSBTlVZowGO6VZGw2H/zl9nrd3eCZfYV+NfQA=
@@ -101,26 +110,30 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20231124074035-2de0cf0c80af h1:zclgNFqP+NXDgGX2BiDvIonxKIom8j65wQlOyFtyujc=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20231124074035-2de0cf0c80af/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-text/render v0.0.0-20230619120952-35bccb6164b8 h1:VkKnvzbvHqgEfm351rfr8Uclu5fnwq8HP2ximUzJsBM=
-github.com/go-text/render v0.0.0-20230619120952-35bccb6164b8/go.mod h1:h29xCucjNsDcYb7+0rJokxVwYAq+9kQ19WiFuBKkYtc=
-github.com/go-text/typesetting v0.0.0-20231206121005-8d3cf974a41e h1:2sExTfebxVCzLKeJFphq9YCQvIzmxAaqrB8rjY2GIz8=
-github.com/go-text/typesetting v0.0.0-20231206121005-8d3cf974a41e/go.mod h1:ZTBPu1Pp5k3Hc28GAYUUK0hH3Ou0Sz3nMBpWetRgibc=
-github.com/go-text/typesetting-utils v0.0.0-20231121125213-61dadda55b86 h1:PZEJHpJCgm6PTMCYQOhXWpW7RbJ/k+AAeyHtDQK9Txc=
-github.com/go-text/typesetting-utils v0.0.0-20231121125213-61dadda55b86/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240118000515-a250818d05e3 h1:nanQfMsOs3gnuKRm0E5jXWomedE/9YIFXdmHJNZYeqc=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240118000515-a250818d05e3/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
+github.com/go-text/typesetting v0.0.0-20230405155246-bf9c697c6e16/go.mod h1:zvWM81wAVW6QfVDI6yxfbCuoLnobSYTuMsrXU/u11y8=
+github.com/go-text/typesetting v0.1.0 h1:vioSaLPYcHwPEPLT7gsjCGDCoYSbljxoHJzMnKwVvHw=
+github.com/go-text/typesetting v0.1.0/go.mod h1:d22AnmeKq/on0HNv73UFriMKc4Ez6EqZAofLhAzpSzI=
+github.com/go-text/typesetting-utils v0.0.0-20230326210548-458646692de6/go.mod h1:RaqFwjcYyM5BjbYGwON0H5K0UqwO3sJlo9ukKha80ZE=
+github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04 h1:zBx+p/W2aQYtNuyZNcTfinWvXBQwYtDfme051PR/lAY=
+github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
 github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/gofiber/fiber/v2 v2.51.0 h1:JNACcZy5e2tGApWB2QrRpenTWn0fq0hkFm6k0C86gKQ=
-github.com/gofiber/fiber/v2 v2.51.0/go.mod h1:xaQRZQJGqnKOQnbQw+ltvku3/h8QxvNi8o6JiJ7Ll0U=
+github.com/gofiber/fiber/v2 v2.52.0 h1:S+qXi7y+/Pgvqq4DrSmREGiFwtB7Bu6+QFLuIHYw/UE=
+github.com/gofiber/fiber/v2 v2.52.0/go.mod h1:KEOE+cXMhXG0zHc9d8+E38hoX+ZN7bhOtgeF2oT6jrQ=
 github.com/gofiber/template v1.8.2 h1:PIv9s/7Uq6m+Fm2MDNd20pAFFKt5wWs7ZBd8iV9pWwk=
 github.com/gofiber/template v1.8.2/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8=
-github.com/gofiber/template/html/v2 v2.0.5 h1:BKLJ6Qr940NjntbGmpO3zVa4nFNGDCi/IfUiDB9OC20=
-github.com/gofiber/template/html/v2 v2.0.5/go.mod h1:RCF14eLeQDCSUPp0IGc2wbSSDv6yt+V54XB/+Unz+LM=
+github.com/gofiber/template/html/v2 v2.1.0 h1:FjwzqhhdJpnhyCvav60Z1ytnBqOUr5sGO/aTeob9/ng=
+github.com/gofiber/template/html/v2 v2.1.0/go.mod h1:txXsRQN/G7Fr2cqGfr6zhVHgreCfpsBS+9+DJyrddJc=
 github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
 github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
+github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c h1:JGCm/+tJ9gC6THUxooTldS+CUDsba0qvkvU3DHklqW8=
+github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c/go.mod h1:wfqRWLHRBsRgkp5dmbG56SA0DmVtwrF5N3oPdI8t+Aw=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -186,8 +199,8 @@ github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8
 github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
-github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
+github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
 github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@@ -222,9 +235,12 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/jackmordaunt/icns/v2 v2.2.1/go.mod h1:6aYIB9eSzyfHHMKqDf17Xrs1zetQPReAkiUSHzdw4cI=
+github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY=
 github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e/go.mod h1:kLgvv7o6UM+0QSf0QjAse3wReFDsb9qbZJdfexWlrQw=
 github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25 h1:YLvr1eE6cdCqjOe972w/cYF+FjW34v27+9Vo5106B4M=
 github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25/go.mod h1:kLgvv7o6UM+0QSf0QjAse3wReFDsb9qbZJdfexWlrQw=
 github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
@@ -233,13 +249,13 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
 github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4=
 github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
 github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
+github.com/lucor/goinfo v0.0.0-20210802170112-c078a2b0f08b/go.mod h1:PRq09yoB+Q2OJReAmwzKivcYyremnibWGbK7WfftHzc=
 github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
@@ -253,6 +269,7 @@ github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+Ei
 github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
 github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
 github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2/go.mod h1:76rfSfYPWj01Z85hUf/ituArm797mNKcvINh1OlsZKo=
 github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
 github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
 github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -275,6 +292,9 @@ github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo
 github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
 github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
 github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
+github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
+github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
+github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs=
 github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -297,12 +317,14 @@ github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
 github.com/shurcooL/go v0.0.0-20200502201357-93f07166e636/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
 github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
+github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
 github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
 github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
 github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
@@ -313,11 +335,14 @@ github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t6
 github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
+github.com/srwiley/oksvg v0.0.0-20220731023508-a61f04f16b76/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q=
 github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c h1:km8GpoQut05eY3GiYWEedbTT0qnSxrCjsVbb7yKY1KE=
 github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q=
+github.com/srwiley/rasterx v0.0.0-20210519020934-456a8d69b780/go.mod h1:mvWM0+15UqyrFKqdRjY6LuAVJR0HOVhJlEgZ5JWtSWU=
 github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ=
 github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -325,6 +350,7 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
@@ -332,6 +358,7 @@ github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFd
 github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
 github.com/tevino/abool v1.2.0 h1:heAkClL8H6w+mK5md9dzsuohKeXHUpY7Vw0ZCKW+huA=
 github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg=
+github.com/urfave/cli/v2 v2.4.0/go.mod h1:NX9W0zmTvedE5oDoOMs2RTC8RvdK98NTYZE5LbaEYPg=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
 github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA=
@@ -344,6 +371,7 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
 github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68=
 github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
@@ -367,6 +395,7 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -380,8 +409,10 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
-golang.org/x/image v0.14.0 h1:tNgSxAFe3jC4uYqvZdTr84SZoM1KfwdC9SKIFrLjFn4=
-golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
+golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.3.0/go.mod h1:fXd9211C/0VTlYuAcOhW8dY/RtEJqODXOWBDpmYBf+A=
+golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8=
+golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -397,8 +428,8 @@ golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPI
 golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
 golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
 golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee/go.mod h1:pe2sM7Uk+2Su1y7u/6Z8KJ24D7lepUjFZbhFOrmDfuQ=
-golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a h1:sYbmY3FwUWCBTodZL1S3JUuOvaW6kM2o+clDzzDNBWg=
-golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a/go.mod h1:Ede7gF0KGoHlj822RtphAHK1jLdrcuRBZg0sF1Q+SPc=
+golang.org/x/mobile v0.0.0-20240112133503-c713f31d574b h1:kfWLZgb8iUBHdE9WydD5V5dHIS/F6HjlBZNyJfn2bs4=
+golang.org/x/mobile v0.0.0-20240112133503-c713f31d574b/go.mod h1:4efzQnuA1nICq6h4kmZRMGzbPiP06lZvgADUu1VpJCE=
 golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
 golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
 golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
@@ -408,6 +439,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -446,8 +478,10 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
-golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.0.0-20211118161319-6a13c67c3ce4/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=
+golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -471,8 +505,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
-golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
+golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -485,8 +520,10 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -519,15 +556,19 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
-golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
-golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE=
+golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -536,6 +577,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -594,6 +637,7 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
 golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -701,8 +745,9 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
+gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
@@ -720,8 +765,8 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2/go.mod h1:sUMDUKNB2ZcVjt92UnLy3cdGs+wDAcrPdV3JP6sVgA4=
-honnef.co/go/js/dom v0.0.0-20231030024858-cb489e859d05 h1:RfirDq7o2ELiU+mAxRB4AO3u7czT1QEg6SZgSBXeSus=
-honnef.co/go/js/dom v0.0.0-20231030024858-cb489e859d05/go.mod h1:sUMDUKNB2ZcVjt92UnLy3cdGs+wDAcrPdV3JP6sVgA4=
+honnef.co/go/js/dom v0.0.0-20231112215516-51f43a291193 h1:BST3Y7yWfYPO8qqWhL2KtuqgRCbls6bIr4b4iFCg43I=
+honnef.co/go/js/dom v0.0.0-20231112215516-51f43a291193/go.mod h1:sUMDUKNB2ZcVjt92UnLy3cdGs+wDAcrPdV3JP6sVgA4=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

+ 36 - 0
internal/desktop/desktop.go

@@ -0,0 +1,36 @@
+// package desktop -- пускач для приложения
+package desktop
+
+import (
+	"log"
+
+	"fyne.io/fyne/v2"
+	"fyne.io/fyne/v2/app"
+	"fyne.io/fyne/v2/widget"
+)
+
+// Десктоп -- главный тип приложения
+type Десктоп struct {
+	приложение fyne.App
+	окноГлав   fyne.Window
+}
+
+// НовДесктоп -- возвращает новый объект десктопа
+func НовДесктоп() (*Десктоп, error) {
+	log.Println("НовДесктоп()")
+
+	сам := &Десктоп{
+		приложение: app.New(),
+	}
+	сам.окноГлав = сам.приложение.NewWindow("Hello World")
+	сам.окноГлав.SetContent(widget.NewLabel("Hello World!"))
+	return сам, nil
+}
+
+// Пуск -- запускает десктоп в работу
+func (сам *Десктоп) Пуск() error {
+	log.Println("Пуск()")
+	сам.окноГлав.Show()
+	сам.приложение.Run()
+	return nil
+}

+ 0 - 0
server/helper/helper.go → internal/server/helper/helper.go


+ 1 - 1
server/serv_bots/dict_warbot/dict_warbot.go → internal/server/serv_bots/dict_warbot/dict_warbot.go

@@ -8,9 +8,9 @@ import (
 	"strings"
 	"sync"
 
+	"wartank/internal/server/serv_bots/warbot"
 	"wartank/pkg/alias"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot"
 )
 
 const (

+ 2 - 2
server/serv_bots/serv_bots.go → internal/server/serv_bots/serv_bots.go

@@ -4,10 +4,10 @@ package serv_bots
 import (
 	"fmt"
 
+	"wartank/internal/server/serv_bots/dict_warbot"
+	"wartank/internal/server/serv_bots/warbot"
 	"wartank/pkg/alias"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/dict_warbot"
-	"wartank/server/serv_bots/warbot"
 )
 
 // БотоФерма -- словарь ботов на сервере

+ 11 - 11
server/serv_bots/warbot/angar/angar.go → internal/server/serv_bots/warbot/angar/angar.go

@@ -8,19 +8,19 @@ import (
 	"strconv"
 	"strings"
 
+	"wartank/internal/server/serv_bots/warbot/angar/angarnet"
+	"wartank/internal/server/serv_bots/warbot/angar/base"
+	"wartank/internal/server/serv_bots/warbot/angar/battle"
+	"wartank/internal/server/serv_bots/warbot/angar/convoy"
+	"wartank/internal/server/serv_bots/warbot/angar/fuel"
+	"wartank/internal/server/serv_bots/warbot/angar/fuel_attack"
+	"wartank/internal/server/serv_bots/warbot/angar/masters"
+	"wartank/internal/server/serv_bots/warbot/angar/missions"
+	"wartank/internal/server/serv_bots/warbot/angar/netstat"
+	"wartank/internal/server/serv_bots/warbot/angar/tank_params"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/angarnet"
-	"wartank/server/serv_bots/warbot/angar/base"
-	"wartank/server/serv_bots/warbot/angar/battle"
-	"wartank/server/serv_bots/warbot/angar/convoy"
-	"wartank/server/serv_bots/warbot/angar/fuel"
-	"wartank/server/serv_bots/warbot/angar/fuel_attack"
-	"wartank/server/serv_bots/warbot/angar/masters"
-	"wartank/server/serv_bots/warbot/angar/missions"
-	"wartank/server/serv_bots/warbot/angar/netstat"
-	"wartank/server/serv_bots/warbot/angar/tank_params"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 
 	"github.com/sirupsen/logrus"
 )

+ 0 - 0
server/serv_bots/warbot/angar/angarnet/angarnet.go → internal/server/serv_bots/warbot/angar/angarnet/angarnet.go


+ 2 - 2
server/serv_bots/warbot/angar/base/arsenal/arsenal.go → internal/server/serv_bots/warbot/angar/base/arsenal/arsenal.go

@@ -8,10 +8,10 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/arsenal/arsenalnet"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/arsenal/arsenalnet"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/base/arsenal/arsenalnet/arsenalnet.go → internal/server/serv_bots/warbot/angar/base/arsenal/arsenalnet/arsenalnet.go


+ 3 - 3
server/serv_bots/warbot/angar/base/bank/bank.go → internal/server/serv_bots/warbot/angar/base/bank/bank.go

@@ -7,12 +7,12 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/bank/bankmode"
+	"wartank/internal/server/serv_bots/warbot/angar/base/bank/banknet"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/alias"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/bank/bankmode"
-	"wartank/server/serv_bots/warbot/angar/base/bank/banknet"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 1 - 1
server/serv_bots/warbot/angar/base/bank/bankmode/bankmode.go → internal/server/serv_bots/warbot/angar/base/bank/bankmode/bankmode.go

@@ -1,8 +1,8 @@
 package bankmode
 
 import (
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/base/bank/banknet/banknet.go → internal/server/serv_bots/warbot/angar/base/bank/banknet/banknet.go


+ 8 - 8
server/serv_bots/warbot/angar/base/base.go → internal/server/serv_bots/warbot/angar/base/base.go

@@ -8,18 +8,18 @@ import (
 	"sync"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/arsenal"
+	"wartank/internal/server/serv_bots/warbot/angar/base/bank"
+	"wartank/internal/server/serv_bots/warbot/angar/base/basenet"
+	"wartank/internal/server/serv_bots/warbot/angar/base/fuel"
+	"wartank/internal/server/serv_bots/warbot/angar/base/labor"
+	"wartank/internal/server/serv_bots/warbot/angar/base/market"
+	"wartank/internal/server/serv_bots/warbot/angar/base/mine"
+	"wartank/internal/server/serv_bots/warbot/angar/base/polygon"
 	"wartank/pkg/alias"
 	"wartank/pkg/cons"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/arsenal"
-	"wartank/server/serv_bots/warbot/angar/base/bank"
-	"wartank/server/serv_bots/warbot/angar/base/basenet"
-	"wartank/server/serv_bots/warbot/angar/base/fuel"
-	"wartank/server/serv_bots/warbot/angar/base/labor"
-	"wartank/server/serv_bots/warbot/angar/base/market"
-	"wartank/server/serv_bots/warbot/angar/base/mine"
-	"wartank/server/serv_bots/warbot/angar/base/polygon"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/base/basenet/basenet.go → internal/server/serv_bots/warbot/angar/base/basenet/basenet.go


+ 2 - 2
server/serv_bots/warbot/angar/base/fuel/fuel.go → internal/server/serv_bots/warbot/angar/base/fuel/fuel.go

@@ -9,10 +9,10 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/fuel/fuel_net"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/fuel/fuel_net"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 // СкладТоплива -- склад топлива

+ 0 - 0
server/serv_bots/warbot/angar/base/fuel/fuel_net/fuel_net.go → internal/server/serv_bots/warbot/angar/base/fuel/fuel_net/fuel_net.go


+ 0 - 0
server/serv_bots/warbot/angar/base/labor/labor.go → internal/server/serv_bots/warbot/angar/base/labor/labor.go


+ 2 - 2
server/serv_bots/warbot/angar/base/market/market.go → internal/server/serv_bots/warbot/angar/base/market/market.go

@@ -7,11 +7,11 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/market/marketnet"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/alias"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/market/marketnet"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/base/market/marketnet/marketnet.go → internal/server/serv_bots/warbot/angar/base/market/marketnet/marketnet.go


+ 2 - 2
server/serv_bots/warbot/angar/base/mine/mine.go → internal/server/serv_bots/warbot/angar/base/mine/mine.go

@@ -8,11 +8,11 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/mine/minenet"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/alias"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/mine/minenet"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/base/mine/minenet/minenet.go → internal/server/serv_bots/warbot/angar/base/mine/minenet/minenet.go


+ 2 - 2
server/serv_bots/warbot/angar/base/polygon/polygon.go → internal/server/serv_bots/warbot/angar/base/polygon/polygon.go

@@ -7,14 +7,14 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/base/polygon/polygonnet"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/alias"
 	"wartank/pkg/components/safe_int"
 	"wartank/pkg/components/safe_string"
 	"wartank/pkg/cons"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/base/polygon/polygonnet"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/base/polygon/polygonnet/polygonnet.go → internal/server/serv_bots/warbot/angar/base/polygon/polygonnet/polygonnet.go


+ 3 - 3
server/serv_bots/warbot/angar/battle/battle.go → internal/server/serv_bots/warbot/angar/battle/battle.go

@@ -6,11 +6,11 @@ import (
 	"net/http"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_register"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_wait"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_register"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_wait"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker"
 )
 
 // Сражение -- объект сражения

+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_register/battle_register.go → internal/server/serv_bots/warbot/angar/battle/battle_register/battle_register.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_wait/battle_wait.go → internal/server/serv_bots/warbot/angar/battle/battle_wait/battle_wait.go


+ 3 - 3
server/serv_bots/warbot/angar/battle/battle_worker/battle_worker.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battle_worker.go

@@ -5,12 +5,12 @@ import (
 	"fmt"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/components/scene_net"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 // СражениеДействие -- исполнение битвы

+ 4 - 4
server/serv_bots/warbot/angar/battle/battle_worker/battleon/battleon.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battleon.go

@@ -5,13 +5,13 @@ import (
 	"fmt"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/isshot"
 	"wartank/pkg/components/scene_net"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/isshot"
 )
 
 /*

+ 1 - 1
server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound/battlesound.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/battlesound.go

@@ -3,8 +3,8 @@ package battlesound
 import (
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
 	"wartank/pkg/components/sound"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay/isplay.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay/isplay.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/health.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/health.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/healthtime/healthtime.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/healthtime/healthtime.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/isrepair/isrepair.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/isrepair/isrepair.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime/repairtime.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime/repairtime.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr/ismanevr.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr/ismanevr.go


+ 2 - 2
server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr/manevr.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/manevr.go

@@ -8,8 +8,8 @@ import (
 
 	"github.com/sirupsen/logrus"
 
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr"
 
 	// "wartank/internal/components/sound"
 	"wartank/pkg/types"

+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/damage/damage.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/damage/damage.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/isshot/isshot.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/isshot/isshot.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/shot.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shot/shot.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battle_worker/battleon/shottime/shottime.go → internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/shottime/shottime.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/battlenet/battlenet.go → internal/server/serv_bots/warbot/angar/battle/battlenet/battlenet.go


+ 0 - 0
server/serv_bots/warbot/angar/battle/isrun/isrun.go → internal/server/serv_bots/warbot/angar/battle/isrun/isrun.go


+ 2 - 2
server/serv_bots/warbot/angar/convoy/convoy.go → internal/server/serv_bots/warbot/angar/convoy/convoy.go

@@ -9,11 +9,11 @@ import (
 
 	"github.com/sirupsen/logrus"
 
+	"wartank/internal/server/serv_bots/warbot/angar/convoy/convoynet"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/alias"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/convoy/convoynet"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/convoy/convoynet/convoynet.go → internal/server/serv_bots/warbot/angar/convoy/convoynet/convoynet.go


+ 3 - 3
server/serv_bots/warbot/angar/death_match/battle.go → internal/server/serv_bots/warbot/angar/death_match/battle.go

@@ -6,11 +6,11 @@ import (
 	"net/http"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_register"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_wait"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_register"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_wait"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker"
 )
 
 // Сражение -- объект схватки

+ 0 - 0
server/serv_bots/warbot/angar/death_match/battle_wait/battle_wait.go → internal/server/serv_bots/warbot/angar/death_match/battle_wait/battle_wait.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_net/death_net.go → internal/server/serv_bots/warbot/angar/death_match/death_net/death_net.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_register/death_register.go → internal/server/serv_bots/warbot/angar/death_match/death_register/death_register.go


+ 1 - 1
server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/battlesound.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound/battlesound.go

@@ -3,8 +3,8 @@ package battlesound
 import (
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
 	"wartank/pkg/components/sound"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound/isplay/isplay.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound/isplay/isplay.go


+ 4 - 4
server/serv_bots/warbot/angar/death_match/death_worker/death_on/death_on.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/death_on.go

@@ -5,13 +5,13 @@ import (
 	"fmt"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health"
+	"wartank/internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr"
+	"wartank/internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot"
+	"wartank/internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/isshot"
 	"wartank/pkg/components/scene_net"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health"
-	"wartank/server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr"
-	"wartank/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot"
-	"wartank/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/isshot"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/health.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/health.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/healthtime/healthtime.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/healthtime/healthtime.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/isrepair/isrepair.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/isrepair/isrepair.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/repairtime/repairtime.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/health/repairtime/repairtime.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr/ismanevr/ismanevr.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr/ismanevr/ismanevr.go


+ 2 - 2
server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/manevr.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/manevr/manevr.go

@@ -8,8 +8,8 @@ import (
 
 	"github.com/sirupsen/logrus"
 
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/health/repairtime"
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/manevr/ismanevr"
 
 	// "wartank/internal/components/sound"
 	"wartank/pkg/types"

+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/damage/damage.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/damage/damage.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/isshot/isshot.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/isshot/isshot.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/shot.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shot/shot.go


+ 0 - 0
server/serv_bots/warbot/angar/death_match/death_worker/death_on/shottime/shottime.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/shottime/shottime.go


+ 3 - 3
server/serv_bots/warbot/angar/death_match/death_worker/death_worker.go → internal/server/serv_bots/warbot/angar/death_match/death_worker/death_worker.go

@@ -5,12 +5,12 @@ import (
 	"fmt"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on"
+	"wartank/internal/server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/components/scene_net"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/death_match/death_worker/death_on"
-	"wartank/server/serv_bots/warbot/angar/death_match/death_worker/death_on/battlesound"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 // СражениеДействие -- исполнение схватки

+ 0 - 0
server/serv_bots/warbot/angar/death_match/isrun/isrun.go → internal/server/serv_bots/warbot/angar/death_match/isrun/isrun.go


+ 1 - 1
server/serv_bots/warbot/angar/division/division.go → internal/server/serv_bots/warbot/angar/division/division.go

@@ -1,7 +1,7 @@
 package division
 
 import (
-	"wartank/server/serv_bots/warbot/angar/division/divwar"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar"
 )
 
 /*

+ 4 - 4
server/serv_bots/warbot/angar/division/divwar/divwar.go → internal/server/serv_bots/warbot/angar/division/divwar/divwar.go

@@ -8,13 +8,13 @@ import (
 	"sync"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwarnet"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/alias"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwarnet"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwarnet/divwarnet.go → internal/server/serv_bots/warbot/angar/division/divwar/divwarnet/divwarnet.go


+ 3 - 3
server/serv_bots/warbot/angar/division/divwar/divwaron/divwaron.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwaron.go

@@ -6,13 +6,13 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shot"
 	"wartank/pkg/components/safe_bool"
 	"wartank/pkg/components/scene_net"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/health"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/shot"
 )
 
 /*

+ 1 - 1
server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound/divwarsound.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound/divwarsound.go

@@ -3,8 +3,8 @@ package divwarsound
 import (
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
 	"wartank/pkg/components/sound"
-	"wartank/server/serv_bots/warbot/angar/battle/battle_worker/battleon/battlesound/isplay"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound/isplay/isplay.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/divwarsound/isplay/isplay.go


+ 2 - 2
server/serv_bots/warbot/angar/division/divwar/divwaron/health/health.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/health.go

@@ -9,8 +9,8 @@ import (
 	"strings"
 	"time"
 
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/health/healthtime"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/healthtime"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime"
 
 	// "wartank/internal/components/sound"
 	"wartank/pkg/components/safe_bool"

+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwaron/health/healthtime/healthtime.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/healthtime/healthtime.go


+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime/repairtime.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime/repairtime.go


+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/ismanevr/ismanevr.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/ismanevr/ismanevr.go


+ 2 - 2
server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/manevr.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/manevr.go

@@ -10,8 +10,8 @@ import (
 
 	"github.com/sirupsen/logrus"
 
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/ismanevr"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/health/repairtime"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/manevr/ismanevr"
 
 	// "wartank/internal/components/sound"
 	"wartank/pkg/components/safe_bool"

+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwaron/shot/damage/damage.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shot/damage/damage.go


+ 2 - 2
server/serv_bots/warbot/angar/division/divwar/divwaron/shot/shot.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shot/shot.go

@@ -9,8 +9,8 @@ import (
 	"strings"
 	"time"
 
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/shot/damage"
-	"wartank/server/serv_bots/warbot/angar/division/divwar/divwaron/shottime"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shot/damage"
+	"wartank/internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shottime"
 
 	// "wartank/internal/components/sound"
 	"wartank/pkg/alias"

+ 0 - 0
server/serv_bots/warbot/angar/division/divwar/divwaron/shottime/shottime.go → internal/server/serv_bots/warbot/angar/division/divwar/divwaron/shottime/shottime.go


+ 1 - 1
server/serv_bots/warbot/angar/fuel/fuel.go → internal/server/serv_bots/warbot/angar/fuel/fuel.go

@@ -8,8 +8,8 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 // Топливо -- топливо в баке, +1 каждые 15 сек

+ 0 - 0
server/serv_bots/warbot/angar/fuel_attack/fuel_attack.go → internal/server/serv_bots/warbot/angar/fuel_attack/fuel_attack.go


+ 1 - 1
server/serv_bots/warbot/angar/masters/bat_masters.go → internal/server/serv_bots/warbot/angar/masters/bat_masters.go

@@ -6,10 +6,10 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/masters/batmasnet"
 	"wartank/pkg/alias"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/masters/batmasnet"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/masters/batmasnet/batmasnet.go → internal/server/serv_bots/warbot/angar/masters/batmasnet/batmasnet.go


+ 1 - 1
server/serv_bots/warbot/angar/missions/missions.go → internal/server/serv_bots/warbot/angar/missions/missions.go

@@ -6,9 +6,9 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar/missions/missionsnet"
 	"wartank/pkg/section"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar/missions/missionsnet"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/angar/missions/missionsnet/missionsnet.go → internal/server/serv_bots/warbot/angar/missions/missionsnet/missionsnet.go


+ 0 - 0
server/serv_bots/warbot/angar/netstat/netstat.go → internal/server/serv_bots/warbot/angar/netstat/netstat.go


+ 0 - 0
server/serv_bots/warbot/angar/tank_params/tank_params.go → internal/server/serv_bots/warbot/angar/tank_params/tank_params.go


+ 1 - 1
server/serv_bots/warbot/tank/tank.go → internal/server/serv_bots/warbot/tank/tank.go

@@ -2,8 +2,8 @@ package tank
 
 import (
 	"fmt"
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/tank/tankstat"
 )
 
 /*

+ 0 - 0
server/serv_bots/warbot/tank/tankstat/static_param/static_param.go → internal/server/serv_bots/warbot/tank/tankstat/static_param/static_param.go


+ 1 - 1
server/serv_bots/warbot/tank/tankstat/tankstat.go → internal/server/serv_bots/warbot/tank/tankstat/tankstat.go

@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"log"
 
+	"wartank/internal/server/serv_bots/warbot/tank/tankstat/static_param"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/tank/tankstat/static_param"
 )
 
 /*

+ 4 - 4
server/serv_bots/warbot/warbot.go → internal/server/serv_bots/warbot/warbot.go

@@ -8,13 +8,13 @@ import (
 	"strings"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/angar"
+	"wartank/internal/server/serv_bots/warbot/tank"
+	"wartank/internal/server/serv_bots/warbot/warbot_config"
+	"wartank/internal/server/serv_bots/warbot/warbot_net"
 	"wartank/pkg/alias"
 	"wartank/pkg/components/safe_bool"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/angar"
-	"wartank/server/serv_bots/warbot/tank"
-	"wartank/server/serv_bots/warbot/warbot_config"
-	"wartank/server/serv_bots/warbot/warbot_net"
 )
 
 // ВарБот -- бот для игры в вартанк

+ 0 - 0
server/serv_bots/warbot/warbot_config/warbot_config.go → internal/server/serv_bots/warbot/warbot_config/warbot_config.go


+ 0 - 0
server/serv_bots/warbot/warbot_net/bot_cookie/bot_cookie.go → internal/server/serv_bots/warbot/warbot_net/bot_cookie/bot_cookie.go


+ 1 - 1
server/serv_bots/warbot/warbot_net/bot_net_conn/bot_net_conn.go → internal/server/serv_bots/warbot/warbot_net/bot_net_conn/bot_net_conn.go

@@ -6,8 +6,8 @@ import (
 	"net/http/cookiejar"
 	"time"
 
+	"wartank/internal/server/serv_bots/warbot/warbot_net/bot_cookie"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/warbot_net/bot_cookie"
 )
 
 // БотСетьСокет -- сетевое соединение бота

+ 0 - 0
server/serv_bots/warbot/warbot_net/bot_net_login/bot_net_login.go → internal/server/serv_bots/warbot/warbot_net/bot_net_login/bot_net_login.go


+ 2 - 2
server/serv_bots/warbot/warbot_net/warbot_net.go → internal/server/serv_bots/warbot/warbot_net/warbot_net.go

@@ -6,11 +6,11 @@ import (
 	"log"
 	"net/http"
 
+	"wartank/internal/server/serv_bots/warbot/warbot_net/bot_net_conn"
+	"wartank/internal/server/serv_bots/warbot/warbot_net/bot_net_login"
 	"wartank/pkg/components/safe_bool"
 	"wartank/pkg/components/scene_net/netclient"
 	"wartank/pkg/types"
-	"wartank/server/serv_bots/warbot/warbot_net/bot_net_conn"
-	"wartank/server/serv_bots/warbot/warbot_net/bot_net_login"
 )
 
 /*

+ 0 - 0
server/serv_desktop.zip → internal/server/serv_desktop.zip


+ 0 - 0
server/serv_rpc.zip → internal/server/serv_rpc.zip


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません