From 22678ef55807440e26dc9d5c8c28a225dfdefd3d Mon Sep 17 00:00:00 2001 From: benjaminjvdm <97449931+benjaminjvdm@users.noreply.github.com> Date: Tue, 1 Sep 2026 18:40:09 +0000 Subject: [PATCH] feat: Add standalone Windows compilation, GoReleaser pipeline, and build automation --- .github/workflows/ci.yml | 29 +++++ .github/workflows/release.yml | 32 +++++ .gitignore | 13 +- .goreleaser.yaml | 52 ++++++++ Makefile | 20 +++ README.md | 107 +++++++++++++++- build.ps1 | 37 ++++++ cmd/convert.go | 4 +- cmd/convert_test.go | 232 +++++++++++++++++++++++++++++++++- cmd/version.go | 28 ++++ rsrc_windows_386.syso | Bin 0 -> 18314 bytes rsrc_windows_amd64.syso | Bin 0 -> 18314 bytes rsrc_windows_arm64.syso | Bin 0 -> 18314 bytes winres/icon.png | Bin 0 -> 15893 bytes winres/winres.json | 42 ++++++ 15 files changed, 574 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml create mode 100644 .goreleaser.yaml create mode 100644 Makefile create mode 100644 build.ps1 create mode 100644 cmd/version.go create mode 100644 rsrc_windows_386.syso create mode 100644 rsrc_windows_amd64.syso create mode 100644 rsrc_windows_arm64.syso create mode 100644 winres/icon.png create mode 100644 winres/winres.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e63156a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,29 @@ +name: CI + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + test-and-build: + name: Build & Test (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + + - name: Run Tests + run: go test -v ./... + + - name: Build Binary + run: go build -v ./... diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ac692f3 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,32 @@ +name: Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 + with: + distribution: goreleaser + version: '~> v2' + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index aaadf73..8dc1c3e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,13 @@ -# If you prefer the allow list template instead of the deny list, see community template: -# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore -# # Binaries for programs and plugins +gophersnap +gophersnap.exe *.exe *.exe~ *.dll *.so *.dylib +*.zip +*.tar.gz # Test binary, built with `go test -c` *.test @@ -17,7 +18,7 @@ coverage.* *.coverprofile profile.cov -# Dependency directories (remove the comment below to include it) +# Dependency directories # vendor/ # Go workspace file @@ -26,7 +27,3 @@ go.work.sum # env file .env - -# Editor/IDE -# .idea/ -# .vscode/ diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..298b454 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,52 @@ +version: 2 + +before: + hooks: + - go mod tidy + +builds: + - id: gophersnap + main: ./main.go + binary: gophersnap + env: + - CGO_ENABLED=0 + goos: + - windows + - linux + - darwin + goarch: + - amd64 + - arm64 + ldflags: + - -s -w -X github.com/benjaminjvdm/GopherSnap/cmd.Version={{.Version}} -X github.com/benjaminjvdm/GopherSnap/cmd.Commit={{.Commit}} -X github.com/benjaminjvdm/GopherSnap/cmd.Date={{.Date}} + +universal_binaries: + - id: gophersnap + replace: true + +archives: + - id: default + formats: + - tar.gz + format_overrides: + - goos: windows + formats: + - zip + name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" + files: + - README.md + - LICENSE + +checksum: + name_template: "checksums.txt" + algorithm: sha256 + +snapshot: + version_template: "{{ incpatch .Version }}-next" + +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..51a3e22 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +.PHONY: all build test clean release + +BINARY_NAME=gophersnap +WINDOWS_BINARY=gophersnap.exe + +all: build + +build: + CGO_ENABLED=0 go build -ldflags="-s -w" -o $(BINARY_NAME) main.go + +test: + go test -v -cover ./... + +clean: + rm -f $(BINARY_NAME) $(WINDOWS_BINARY) gophersnap_*.zip gophersnap_*.tar.gz coverage.out + +release: + go run github.com/tc-hib/go-winres@latest make --arch amd64,arm64,386 + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o $(WINDOWS_BINARY) main.go + zip -q gophersnap_windows_x64.zip $(WINDOWS_BINARY) README.md LICENSE diff --git a/README.md b/README.md index 9370b94..dccd20f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # GopherSnap -GopherSnap is a high-performance, concurrent CLI image converter written in Go. It allows you to batch process images with efficiency, supporting modern formats like WebP and AVIF. +GopherSnap is a high-performance, concurrent CLI image converter written in Go. It allows you to batch process images with efficiency, supporting modern formats like WebP and AVIF with zero external runtime C dependencies. ## Features @@ -8,23 +8,85 @@ GopherSnap is a high-performance, concurrent CLI image converter written in Go. - **Recursive Directory Mirroring**: Preserves input directory structure in the output. - **Concurrent Processing**: Leverages Go's goroutines for fast, parallel execution. - **Modern Formats**: Supports JPG, PNG, WebP, and AVIF. -- **No CGO**: Uses pure-Go/WASM implementations for WebP and AVIF for easy portability. +- **Pure-Go & Zero CGO**: Compiles cleanly with `CGO_ENABLED=0` using WASM/pure-Go encoders for maximum cross-platform portability. +- **Standalone Windows Executable**: Embedded application icons and PE version manifests for Windows (`.exe`). - **Interactive Progress**: Real-time feedback with a styled progress bar. +## Architecture Overview + +GopherSnap is architected for zero-CGO portability and parallel performance: + +- **Core Converter Pipeline**: Pure Go image decoding (`image/jpeg`, `image/png`, `image/gif`) combined with pure-Go and WASM-backed WebP (`github.com/gen2brain/webp`) and AVIF (`github.com/gen2brain/avif`) encoders via Wazero. +- **Concurrency Model**: Worker pool pattern (`internal/converter/batch.go`) distributing file transformation jobs across customizable goroutine workers. +- **Windows Embedding**: Windows application icon and PE metadata are compiled into native `rsrc_windows_*.syso` resources using `go-winres`. +- **Cross-Platform Utility**: Clean path sanitization and case-insensitive image extension matching (`.jpg`, `.jpeg`, `.png`, `.webp`, `.avif`, `.gif`). + ## Installation -Ensure you have Go installed on your system. Then, you can install GopherSnap using: +### Windows (.EXE) Standalone Quickstart + +Download `gophersnap_windows_x64.zip` from the latest GitHub Release, extract `gophersnap.exe`, and run it directly in PowerShell or Command Prompt: + +```powershell +# Extract gophersnap.exe and test version +.\gophersnap.exe version + +# Convert images in PowerShell +.\gophersnap.exe convert -i C:\Images\Photos -o C:\Images\Output -f webp -q 85 +``` + +### Via Go Install + +Ensure Go is installed on your system: ```bash go install github.com/benjaminjvdm/GopherSnap@latest ``` -Alternatively, clone the repository and build it manually: +### Build From Source + +Clone the repository and build using Makefile or PowerShell build automation: ```bash git clone https://github.com/benjaminjvdm/GopherSnap.git cd GopherSnap -go build -o gophersnap + +# Linux / macOS (Unix) +make build + +# Windows PowerShell +.\build.ps1 +``` + +## Build Automation & PowerShell Scripts + +### Windows PowerShell (`build.ps1`) + +```powershell +# Default build: compiles standalone gophersnap.exe with stripped symbols +.\build.ps1 + +# Run full test suite with coverage report +.\build.ps1 -Test + +# Generate Windows PE resources and package release ZIP +.\build.ps1 -Package +``` + +### Unix Makefile (`Makefile`) + +```bash +# Build standalone binary +make build + +# Run test suite +make test + +# Generate Windows PE resources and release package +make release + +# Clean binaries and build artifacts +make clean ``` ## Usage @@ -70,3 +132,38 @@ gophersnap convert -i ./images --width 1024 --height 1024 - `--height int`: Target height (maintaining aspect ratio) - `-j, --jobs int`: Number of concurrent jobs (Default: `4`) - `--overwrite`: Overwrite existing files if they exist in the output directory + +## Version & Release Pipeline + +GopherSnap features automated cross-platform releases powered by GoReleaser and GitHub Actions. + +### Version Command & Linker Injection + +Build-time metadata can be injected via ldflags: + +```bash +go build -ldflags="-s -w \ + -X 'github.com/benjaminjvdm/GopherSnap/cmd.Version=v0.1.0' \ + -X 'github.com/benjaminjvdm/GopherSnap/cmd.Commit=1a2b3c4' \ + -X 'github.com/benjaminjvdm/GopherSnap/cmd.Date=2026-03-30'" \ + -o gophersnap main.go +``` + +Check installed version details: + +```bash +gophersnap version +# or +gophersnap --version +``` + +### Release Process & GoReleaser Configuration + +To trigger an automated release: +1. Commit all changes and create a semantic version tag: `git tag -a v0.1.0 -m "Release v0.1.0"`. +2. Push the tag: `git push origin v0.1.0`. +3. GitHub Actions (`.github/workflows/release.yml`) executes `.goreleaser.yaml` to build cross-platform binaries: + - **Windows**: `windows/amd64`, `windows/arm64` (.zip with `gophersnap.exe`, `README.md`, `LICENSE`) + - **Linux**: `linux/amd64`, `linux/arm64` (.tar.gz) + - **macOS**: `darwin/amd64`, `darwin/arm64` (Universal binary .tar.gz) + - **Checksums**: SHA-256 (`checksums.txt`) diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 0000000..37a6ba6 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,37 @@ +[CmdletBinding()] +param( + [switch]$Test, + [switch]$Package +) + +$ErrorActionPreference = "Stop" + +if ($Test) { + Write-Host "Running full test suite..." -ForegroundColor Cyan + go test -v -cover ./... + exit $LASTEXITCODE +} + +if ($Package) { + Write-Host "Generating Windows PE resources..." -ForegroundColor Cyan + go run github.com/tc-hib/go-winres@latest make --arch amd64,arm64,386 + + Write-Host "Building gophersnap.exe..." -ForegroundColor Cyan + $env:CGO_ENABLED = "0" + $env:GOOS = "windows" + $env:GOARCH = "amd64" + go build -ldflags="-s -w" -o gophersnap.exe main.go + + Write-Host "Packaging gophersnap_windows_x64.zip..." -ForegroundColor Cyan + if (Test-Path "gophersnap_windows_x64.zip") { + Remove-Item "gophersnap_windows_x64.zip" -Force + } + Compress-Archive -Path "gophersnap.exe", "README.md", "LICENSE" -DestinationPath "gophersnap_windows_x64.zip" + Write-Host "Successfully packaged gophersnap_windows_x64.zip" -ForegroundColor Green + exit 0 +} + +Write-Host "Building standalone gophersnap.exe..." -ForegroundColor Cyan +$env:CGO_ENABLED = "0" +go build -ldflags="-s -w" -o gophersnap.exe main.go +Write-Host "Build complete: gophersnap.exe" -ForegroundColor Green diff --git a/cmd/convert.go b/cmd/convert.go index d51e79f..d0b4eb1 100644 --- a/cmd/convert.go +++ b/cmd/convert.go @@ -70,7 +70,7 @@ var convertCmd = &cobra.Command{ if err != nil { relPath = "." } - jobOutputDir := filepath.Join(outputDir, relPath) + jobOutputDir := filepath.Clean(filepath.Join(outputDir, relPath)) jobsList = append(jobsList, converter.ConverterJob{ InputPath: file, OutputDir: jobOutputDir, @@ -176,7 +176,7 @@ func findFiles(path string) ([]string, error) { if !info.IsDir() { ext := strings.ToLower(filepath.Ext(p)) if ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".webp" || ext == ".avif" || ext == ".gif" { - files = append(files, p) + files = append(files, filepath.Clean(p)) } } return nil diff --git a/cmd/convert_test.go b/cmd/convert_test.go index fb900a1..6bf6903 100644 --- a/cmd/convert_test.go +++ b/cmd/convert_test.go @@ -1,23 +1,53 @@ package cmd import ( + "image" + "image/color" + "image/png" "os" "path/filepath" "testing" + + "github.com/benjaminjvdm/GopherSnap/internal/converter" ) +func createTestPNG(t *testing.T, dir, filename string, width, height int) string { + t.Helper() + imgPath := filepath.Join(dir, filename) + if err := os.MkdirAll(filepath.Dir(imgPath), 0755); err != nil { + t.Fatalf("failed to create dir: %v", err) + } + + img := image.NewRGBA(image.Rect(0, 0, width, height)) + for x := 0; x < width; x++ { + for y := 0; y < height; y++ { + img.Set(x, y, color.RGBA{R: uint8(x % 256), G: uint8(y % 256), B: 128, A: 255}) + } + } + + f, err := os.Create(imgPath) + if err != nil { + t.Fatalf("failed to create image file: %v", err) + } + defer f.Close() + + if err := png.Encode(f, img); err != nil { + t.Fatalf("failed to encode png: %v", err) + } + + return imgPath +} + func TestFindFilesSanitization(t *testing.T) { - // Create a temporary directory structure for testing tempDir, err := os.MkdirTemp("", "gophersnap-test-*") if err != nil { t.Fatalf("Failed to create temp dir: %v", err) } defer os.RemoveAll(tempDir) - // Create some files filesToCreate := []string{ "test1.jpg", - filepath.Join("subdir", "test2.png"), + filepath.Join("subdir", "test2.PNG"), } for _, f := range filesToCreate { @@ -35,7 +65,7 @@ func TestFindFilesSanitization(t *testing.T) { tests := []struct { name string inputPath string - expectedFiles []string // base names + expectedFiles []string expectError bool }{ { @@ -43,7 +73,7 @@ func TestFindFilesSanitization(t *testing.T) { inputPath: tempDir + string(filepath.Separator) + "subdir" + string(filepath.Separator) + "..", expectedFiles: []string{ "test1.jpg", - "test2.png", + "test2.PNG", }, expectError: false, }, @@ -52,7 +82,7 @@ func TestFindFilesSanitization(t *testing.T) { inputPath: tempDir + string(filepath.Separator) + ".", expectedFiles: []string{ "test1.jpg", - "test2.png", + "test2.PNG", }, expectError: false, }, @@ -77,7 +107,6 @@ func TestFindFilesSanitization(t *testing.T) { t.Fatalf("expected %d files, got %d", len(tt.expectedFiles), len(files)) } - // Verify basenames foundMap := make(map[string]bool) for _, f := range files { foundMap[filepath.Base(f)] = true @@ -91,3 +120,192 @@ func TestFindFilesSanitization(t *testing.T) { }) } } + +func TestFormatConversions(t *testing.T) { + tempDir, err := os.MkdirTemp("", "gophersnap-fmt-*") + if err != nil { + t.Fatalf("Failed to create temp dir: %v", err) + } + defer os.RemoveAll(tempDir) + + srcPath := createTestPNG(t, tempDir, "sample.png", 200, 200) + outputDir := filepath.Join(tempDir, "output") + + formats := []converter.Format{ + converter.FormatJPG, + converter.FormatPNG, + converter.FormatWebP, + converter.FormatAVIF, + } + + for _, fmt := range formats { + t.Run("Convert to "+string(fmt), func(t *testing.T) { + opts := converter.Options{ + Format: fmt, + Quality: 80, + Overwrite: true, + } + res := converter.Convert(srcPath, outputDir, opts) + if res.Error != nil { + t.Fatalf("conversion to %s failed: %v", fmt, res.Error) + } + + if _, err := os.Stat(res.OutputPath); os.IsNotExist(err) { + t.Fatalf("output file for %s does not exist: %s", fmt, res.OutputPath) + } + }) + } +} + +func TestSizingAndQualityConstraints(t *testing.T) { + tempDir, err := os.MkdirTemp("", "gophersnap-size-*") + if err != nil { + t.Fatalf("Failed to create temp dir: %v", err) + } + defer os.RemoveAll(tempDir) + + srcPath := createTestPNG(t, tempDir, "large.png", 200, 200) + outputDir := filepath.Join(tempDir, "output") + + t.Run("Width and Height Resizing", func(t *testing.T) { + opts := converter.Options{ + Format: converter.FormatJPG, + Quality: 80, + Width: 100, + Height: 100, + Overwrite: true, + } + res := converter.Convert(srcPath, outputDir, opts) + if res.Error != nil { + t.Fatalf("resizing failed: %v", res.Error) + } + + img, _, err := converter.LoadImage(res.OutputPath) + if err != nil { + t.Fatalf("failed to load resized image: %v", err) + } + bounds := img.Bounds() + if bounds.Dx() != 100 || bounds.Dy() != 100 { + t.Errorf("expected 100x100 resized image, got %dx%d", bounds.Dx(), bounds.Dy()) + } + }) + + t.Run("MaxSize Optimization", func(t *testing.T) { + optsLimited := converter.Options{ + Format: converter.FormatJPG, + Quality: 95, + MaxSize: 2000, + Overwrite: true, + } + resLimited := converter.Convert(srcPath, filepath.Join(outputDir, "limited"), optsLimited) + if resLimited.Error != nil { + t.Fatalf("max-size conversion failed: %v", resLimited.Error) + } + + optsUnlimited := converter.Options{ + Format: converter.FormatJPG, + Quality: 95, + MaxSize: 0, + Overwrite: true, + } + resUnlimited := converter.Convert(srcPath, filepath.Join(outputDir, "unlimited"), optsUnlimited) + if resUnlimited.Error != nil { + t.Fatalf("unlimited conversion failed: %v", resUnlimited.Error) + } + + infoLimited, _ := os.Stat(resLimited.OutputPath) + infoUnlimited, _ := os.Stat(resUnlimited.OutputPath) + + if infoLimited.Size() >= infoUnlimited.Size() { + t.Errorf("expected limited size (%d) to be smaller than unlimited high-quality size (%d)", infoLimited.Size(), infoUnlimited.Size()) + } + }) + + t.Run("Quality Setting Comparison", func(t *testing.T) { + optsLow := converter.Options{Format: converter.FormatJPG, Quality: 20, Overwrite: true} + optsHigh := converter.Options{Format: converter.FormatJPG, Quality: 95, Overwrite: true} + + outLowDir := filepath.Join(outputDir, "low") + outHighDir := filepath.Join(outputDir, "high") + + resLow := converter.Convert(srcPath, outLowDir, optsLow) + resHigh := converter.Convert(srcPath, outHighDir, optsHigh) + + if resLow.Error != nil || resHigh.Error != nil { + t.Fatalf("quality conversion error: low=%v, high=%v", resLow.Error, resHigh.Error) + } + + infoLow, _ := os.Stat(resLow.OutputPath) + infoHigh, _ := os.Stat(resHigh.OutputPath) + + if infoLow.Size() >= infoHigh.Size() { + t.Errorf("expected low quality size (%d) to be smaller than high quality size (%d)", infoLow.Size(), infoHigh.Size()) + } + }) +} + +func TestBatchAndSubdirectoryConversion(t *testing.T) { + tempDir, err := os.MkdirTemp("", "gophersnap-batch-*") + if err != nil { + t.Fatalf("Failed to create temp dir: %v", err) + } + defer os.RemoveAll(tempDir) + + src1 := createTestPNG(t, tempDir, "img1.png", 100, 100) + src2 := createTestPNG(t, tempDir, filepath.Join("sub", "img2.PNG"), 150, 150) + + outputDir := filepath.Join(tempDir, "output") + + jobs := []converter.ConverterJob{ + {InputPath: src1, OutputDir: outputDir}, + {InputPath: src2, OutputDir: filepath.Join(outputDir, "sub")}, + } + + opts := converter.Options{ + Format: converter.FormatWebP, + Quality: 80, + Overwrite: true, + } + + progress := make(chan converter.Result) + go converter.BatchConvert(jobs, opts, 2, progress) + + count := 0 + for res := range progress { + if res.Error != nil { + t.Errorf("batch convert job failed for %s: %v", res.InputPath, res.Error) + } + count++ + } + + if count != 2 { + t.Fatalf("expected 2 converted results, got %d", count) + } +} + +func TestErrorHandling(t *testing.T) { + tempDir, err := os.MkdirTemp("", "gophersnap-err-*") + if err != nil { + t.Fatalf("Failed to create temp dir: %v", err) + } + defer os.RemoveAll(tempDir) + + t.Run("Non-existent path in findFiles", func(t *testing.T) { + _, err := findFiles(filepath.Join(tempDir, "does-not-exist")) + if err == nil { + t.Error("expected error for non-existent path, got nil") + } + }) + + t.Run("Corrupted image conversion", func(t *testing.T) { + corruptPath := filepath.Join(tempDir, "corrupt.jpg") + if err := os.WriteFile(corruptPath, []byte("this is not an image file"), 0644); err != nil { + t.Fatalf("failed to write corrupted file: %v", err) + } + + res := converter.Convert(corruptPath, filepath.Join(tempDir, "out"), converter.Options{Format: converter.FormatWebP}) + if res.Error == nil { + t.Error("expected error when converting corrupted file, got nil") + } + }) +} diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 0000000..6514a0f --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,28 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +var ( + Version = "v0.1.0" + Commit = "dev" + Date = "unknown" +) + +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Print version information for GopherSnap", + Long: `Print version information including version number, git commit hash, and build date.`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("GopherSnap %s (commit: %s, built at: %s)\n", Version, Commit, Date) + }, +} + +func init() { + rootCmd.AddCommand(versionCmd) + rootCmd.Version = Version + rootCmd.SetVersionTemplate("GopherSnap {{.Version}}\n") +} diff --git a/rsrc_windows_386.syso b/rsrc_windows_386.syso new file mode 100644 index 0000000000000000000000000000000000000000..c276def6408d5a42c9b7a67a6799e1e4f3a0bb5d GIT binary patch literal 18314 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 pz$60nG_+8%4V5@ZIKn*d9UMpys< literal 0 HcmV?d00001 diff --git a/rsrc_windows_amd64.syso b/rsrc_windows_amd64.syso new file mode 100644 index 0000000000000000000000000000000000000000..54f0b0f290753c8e14e07010463d0bc9dc5c72d9 GIT binary patch literal 18314 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 literal 0 HcmV?d00001 diff --git a/winres/icon.png b/winres/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c590e4fc14404b85b965f5429520ae4bc630e6ce GIT binary patch literal 15893 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