# Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Blank lines and comments are ignored.
# Comments can also be inline like 'correct # this is ok'.
# Note that at least one space before the hash is required.

# Comments on a line by itself will be considered a header of the file and
# automatic tools might move it to the top of the file.

aa
aaa
abcompile
adapter
adaptor
adopted
advantages
albeit
aligns
allocations
allowlist
allowlisting
alt
amend
amended
amortized
analyses
andahalf
animal
animated
annoying
anon
aoo
applier
approval
approximation
arbitrarily
asdf
asserter
assure
asterisk
atomic
augmented
auth
authority
autobianchi
automatic
averaged
averages
axis
ba
baba
backed
background
bail
bailing
bailout
bar'baz
bar\'baz
barbar
bash
bat
bazbaz
bbb
bc
bench
benchmarker
benchmarkers
besides
beta
bigger
bitmask
bkonyi
bla
blah
blorp
bold
boo
bots
boundarykey
bowtie
boz
bp
bq
brand
brave
brown
bt
btw
builddir
bulkcompile
busy
busywait
bye
c's
ca
cafebabe
calloc
camel
capitalized
categorization
causal
cb
cc
ccc
cdee
certificate
cf
characteristics
charset
checkme
checkout
chunked
cipd
circular
cloneable
cm
cmd
cmp
cnn
coded
codepath
collisions
columns
commented
commit
commits
companion
comparative
comparer
compiler's
complement
complicated
concurrently
confidence
confident
confirm
consecutive
considering
constr
constrains
consts
contract
conversions
coo
corge
corners
cov
coverages
cp
csi
ct
ctrl
cumulative
cursor
cuts
cx
da
dacoharkes
dadd
daemon
dart$doc$test$tester
dart\$doc\$test\$tester
dartanalyzer
dartdocs
dartdoctest
dartdoctestrun
dartfile
dartfmt
darttest
dash
datatype
datatypes
day
days
db
ddart
dds
debugger
declarative
decrease
decrements
dectcem
defintions
deleting
denylist
depended
depfile
desc
descending
descriptors
deviation
dfast
dfuzz
di
diagnosticable
dictionaries
dictionary
differentiate
dijkstra
dijkstras
dinteractive
dirname
disagree
disagreement
disconnect
discovering
discrepancies
dispatcher
dispose
dist
div
divergent
doctest
doctype
doesnt
dog
donly
doo
downstream
draw
dry
dsemi
dumping
dumps
dupe
durations
dw
e's
ea
ease
ec
echo
edits
ei
einst
elapse
elegantly
ell
emethod
entrypoints
eoo
epoch
equally
erase
err
esc
estat
et
everytime
evicting
exceed
excess
exe
exercised
exercises
exitcode
exiting
expanded
expansive
explainer
extern
f\u
fac
faking
falling
favors
fi
fibonacci
filesystem
filler
filters
fisk
five
fl
floor
fluctuate
foo'bar'baz
foos
forbidden
forces
foreground
forrest
forty
foundation
fox
frequency
frozen
fulfill
func
futu
futures
fuzz
fuzzed
fuzzing
fx
gallery
gamma
gave
gc
gcd
gesture
gi
gm
goo
google
graphic
grault
greeting
gtgt
gulp
gunk
hackish
hardly
hest
heuristics
hi
hints
hits
hkt
home
hoo
hook
hosted
hosting
hot
hotreload
hunk
hurray
i'm
ia
identification
idle
ikg
illustrate
image
images
implemen
implementor
implementors
imprecision
inclosure
inconsistencies
increasing
incrementally
increments
indents
ing
inlinable
inlineable
insights
instrument
insufficient
intdiv
interactive
interchangeable
internet
interpolate
introducer
inv
ioo
ish
it'll
italic
iter
jlcontreras
joo
jumped
kernels
kitty
ko
koo
la
launch
launching
law
le
legs
lengths
lightly
likewise
lily
linebreaks
lints
listening
listing
ln
logd
logs
loo
lookahead
loopback
mac
maker
matters
mds
meaningless
measured
measurement
mf
mfs
micro
minimize
minimizer
minimizing
minitest
minst
mintty
minutes
mis
mismatched
misnamed
miss
misses
misspelled
mistake
mistakes
mmethod
mod
modelled
month
moo
mouse
mstat
mul
mx
mxn
mysdk
naively
naturally
negatable
newworld
ninja
noisy
nominal
nondefault
nonexisting
noo
noted
nottest
null'ed
numerator
ob
obool
observable
offers
oh
okay
ol
onull
oo
oobar
oocf
ooo
oovf
opacity
operate
ops
optimal
oracle
outbound
outliers
overhead
overlay
overly
ox
pack
paging
paint
parallax
parameterized
partfoo
party
pause
paused
pc
periodic
periodically
person
phrase
pink
placement
planned
plug
policy
pooled
population
portions
pp
preliminary
prematurely
press
pretends
printouts
processes
processors
producer
profile
profiler
proportional
protected
proved
proxy
pseudocode
pubspec
pv
px
py
python
quicker
quit
quot
quux
quuz
reality
recompiles
redir
redirections
rediscover
reducer
reenable
referential
refusing
regards
regenerate
regressions
reify
reject
remap
remaps
rendition
reorder
reordering
repaint
repro
reproduce
reproduction
req
resuming
retaining
retainingpath
rev
revealed
risky
rk
row
rows
runtimes
rv
sanitize
saves
scans
scenarios
scheduler
screen
scripts
scroll
sdkroot
sdks
secondary
secondtest
segment
selection
semifuzz
sensitive
series
services
setups
severe
sheets
shipped
shortest
shot
sidebar
sigint
signalled
sigwinch
slashes
slight
sliver
smoke
snull
somehow
sorter
spans
spell
spellcheck
spelled
spelling
spent
spills
splay
splitting
spurious
sqrt
squared
sssp
stacks
stashed
stat
stats
stay
std
stress
stringy
strip
strongest
stub's
stupid
subcommand
subdir
subfolder
subtool
subtools
successes
summarization
summarized
sup
supermixin
supplement
suspension
t\b\f\u
t\u
ta
tails
templates
theoretically
thereof
thread
ticks
timed
timeout
timer
timings
tinv
tk
told
touch
tpt
transitively
translators
transparent
triangle
triggers
trimming
tripped
tripping
truncated
tt
tta
ttest
ttta
tttta
txt
typeargs
typeparam
typeparambounds
ugly
unassignment
unawaited
unbreak
unconverted
uncover
uncovers
underline
undocumented
unpacked
unpatched
unpaused
unregistered
unsurprisingly
untransformed
untrimmed
unusual
unversioned
upload
upward
uuid
val
verbatim
versioned
vf
vp
vt
vte
waited
waits
walt
warmup
week
weekly
wherever
whiskers
wins
wording
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
xxxxxxxx
xxxxxxxxxxxx
xyz
y's
year
yxxx
yy
zipf's
zyx
zz
