#####standard .git ignore entries#####

## IDE Specific Files ##
org.eclipse.core.resources.prefs
.classpath
.project
.settings
.idea
.externalToolBuilders
.checkstyle
maven-eclipse.xml
workspace
.pydevproject
.vscode
.factorypath

## Compilation Files ##
*.class
**/target
target
target-ide
MANIFEST.MF
**/yang-gen-sal
*.interp
sli/model/src/main/java
node_modules
package-lock.json

## Misc Ignores (OS specific etc) ##
bin/
dist
*~
*.ipr
*.iml
*.iws
classes
out/
.DS_STORE
.metadata

## Documentation ignores ##
.tox
_build/
.swagger*
docs/offeredapis/swagger/README.md
