# This file is part of the Collabora Office project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

com.sun.star.frame.VCLSessionManagerClient
org.libreoffice.uitest.UITest
vcl::FontIdentificator
