# Compiled python files.
*.pyc
# Files open in vi.
*.swp
# Compiled cfg files.
*.cfgc
# gclient files
.gclient*
# recipe DEPS
infra/bots/.recipe_deps
# common code
/common
**/res/common
# TAGS
*TAGS
*tags
# Files used by bugdroid.
.bugdroid_password
services/bugdroid/bugdroid_log.txt
# Data files used by webpages_playback.py
# Eclipse project files
.project
.pydevproject
**/client_secret.json
**/service-account.json
**/google_storage_token.data
google_oauth_token.data
oauth-token.cache
# Bower and Node related directories
node_modules
bower_components
# Sublime project files
*.sublime-project
*.sublime-workspace
# Generated Go files.
go/skiaversion/gen_version.go
# Generated for Go package.
pdfium/build
# Server executables/config
**/res/vul/
**/res/js/core-debug.js
**/res/js/core.js
datahopper_internal/google_storage_token.dat
fuzzer/res/css/fuzzer.css
fuzzer/third_party
perf/bqtoken.data
perf/res/css/perf.css
perf/res/common
perf/third_party
perf/timestamp.json
perf/local.toml
perf/client_secrets.json
perf/go/ingester/testdata/local-ingest-test/
push/third_party
push/res/common
sksysmon/third_party
sksysmon/res/common
doc/res/common
doc/res/css/docs.css
doc/third_party
alertserver/third_party
status/third_party
android_ingest/third_party
res/imp/9/res
res/imp/9/res/js
res/imp/9/bower_components
# Ignore all SQLite databases, because tests will create their own unique ones.
*.db
# Logfiles from launched buildslaves.
launch_slaves.log*
tracedb/local_perf.toml
fiddle/fiddle_secwrap
fiddle/res/css
prometheus/tmp
# Jupyter
.ipynb_checkpoints
