# Build
out/
.presubmit/
compile_commands.json

# Environment
.environment/

# Editors
.idea/
.project
.cproject
.vscode
.clangd/
*.swp
*.swo
.#*

# Python
python*-env/
.python*-env/
venv/
*.pyc
*.egg/
*.eggs/
*.egg-info/
.cache/
.mypy_cache/
__pycache__/

# Mac
.DS_Store

# GDB
.gdb_history

# Git
*.orig
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt

# Other
logfile.txt
