// Copyright (c) 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This inclusion is types-only. No actual code to execute.
// <include src="oobe_types.js">

// This inclusion should go before other non-trivial includes, as
// <{controller,host}-paring-screen> depend of it.
// <include src="oobe-screen.js">

// <include src="oobe_dialog_host_behavior.js">
// <include src="login_screen_behavior.js">
// <include src="gaia_buttons.js">
// <include src="gaia_card.js">
// <include src="gaia_header.js">
// <include src="gaia_input_form.js">
// <include src="gaia_input.js">
// <include src="gaia_password_changed.js">
// <include src="hd-iron-icon.js">
// <include src="network_select_login.js">
// <include src="notification_card.js">
// <include src="offline_gaia.js">
// <include src="saml_confirm_password.js">
// <include src="saml_interstitial.js">
// <include src="throbber_notice.js">
// <include src="navigation_bar.js">
// <include src="oobe_a11y_option.js">
// <include src="oobe_buttons.js">
// <include src="oobe_change_picture.js">
// <include src="oobe_dialog.js">
// <include src="oobe_enrollment.js">
// <include src="oobe_eula.js">
// <include src="oobe_hid_detection.js">
// <include src="oobe_reset.js">
// <include src="oobe_reset_confirmation_overlay.js">
// <include src="oobe_update.js">
// <include src="oobe_i18n_dropdown.js">
// <include src="oobe_welcome_dialog.js">
// <include src="oobe_welcome.js">
// <include src="oobe_network.js">
// <include src="offline_ad_login.js">
// <include src="active_directory_password_change.js">
// <include src="arc_terms_of_service.js">
// <include src="oobe_supervision_transition.js">
// <include src="enrollment_license_card.js">
// <include src="sync_consent.js">
// <include src="fingerprint_setup.js">
// <include src="demo_setup.js">
// <include src="demo_preferences.js">
// <include src="recommend_apps.js">
// <include src="app_downloading.js">
// <include src="discover/discover_components.js">
// <include src="marketing_opt_in.js">
// <include src="../assistant_optin/assistant_optin_flow.js">
// <include src="multidevice_setup_first_run.js">
// <include src="supervision_onboarding.js">
