# 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.


alread
chnage
clonable
comile
complation
conditoinal
conected
constructer
constructers
contaning
contol
covarint
depencencies
detemination
diagnotics
down't
effeciency
erronious
errornious
evaluted
explaination
expresison
expressoin
gurantees
hiearchy
hierachy
independendent
infered
instantaite
instantating
instantition
instesection
internel
keybord
libarary
librares
neame
neccessary
normaly
nullabiliity
obect
occured
occurence
ocurred
opreations
Orignially
outtermost
phisical
plaform
poluted
preceeded
previosly
priotity
proram
recomile
resently
satifying
seach
singluar
Specifiction
staments
statment
stubstitution
subsitutions
subtring
suffient
terminted
tood
unlinke
valiation