# This is the list of Motion Animator authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code, since in
# some cases, their employer may be the copyright holder.  To see the full list
# of contributors, see the revision history with git log.

Google Inc.
and other contributors
