<!--
 Copyright 2020 Google LLC

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manifest>

  <include name="flaky_repos.xml" />

  <remote  name="cos"
           fetch="https://cos.googlesource.com"
           review="https://cos-review.googlesource.com"  />
  <default remote="cos" revision="refs/heads/main-R81-12871.B" sync-j="8" />
  <notice>
Your sources have been sync'd successfully.
  </notice>

  <!-- mirrored cros_sdk dependencies -->
  <project path="chromite/infra/proto"
           name="mirrors/cros/chromiumos/infra/proto"
           revision="4bcb4b7260bf9b98f93f5c3be79564c9ab206ce9" />
  <project path="chromite/third_party/pyelftools"
           name="mirrors/cros/chromiumos/third_party/pyelftools"
           revision="0890b98431a9b2e637c18f719232d06a4e5c3cd8" />
  <project path="src/scripts"
           name="mirrors/cros/chromiumos/platform/crosutils"
           revision="9d89a314c4d3007e6595999a7cbd106e791df152" />
  <project path="src/third_party/autotest/files"
           name="mirrors/cros/chromiumos/third_party/autotest"
           revision="4b5b686c5d1892910d6826bd11338837fd9c39cf" />
  <project path="src/third_party/eclass-overlay"
           name="mirrors/cros/chromiumos/overlays/eclass-overlay"
           revision="34e58410cb7f654dc14ef327e2f776da86037da1" />
  <project path="src/platform/dev"
           name="mirrors/cros/chromiumos/platform/dev-util"
           revision="4d34345672c3886dab0faa8b9d2c3790bae39b6b" />
  <project path="src/platform/verity"
           name="mirrors/cros/chromiumos/platform/dm-verity"
           revision="393cd4d510256b0bb2bdd0acd9656105cfd28771" />
  <project path="src/third_party/toolchain-utils"
           name="mirrors/cros/chromiumos/third_party/toolchain-utils"
           revision="5534af8f4f31df22ca307e3e3faa16487fa3d2d2" />
  <project path="src/third_party/portage_tool"
           name="mirrors/cros/chromiumos/third_party/portage_tool"
           revision="f2244c7d720232d2629c51baa257f9677181f9d9" />
  <project path="src/chromium/depot_tools"
           name="mirrors/cros/chromium/tools/depot_tools"
           revision="9253a6857415ff9a401805b90dbefef70ec874a4" />
  <project path="src/third_party/coreboot"
           name="mirrors/cros/chromiumos/third_party/coreboot"
           revision="68acd5d5216a01d62d0826c0e3795d057c04c004" />
  <project path="src/third_party/modp_b64"
           name="mirrors/cros/aosp/platform/external/modp_b64"
           revision="ae26ad8516036774fd3b6e84a98a89955dcf5f61" />
  <project path="src/platform2"
           name="mirrors/cros/chromiumos/platform2"
           revision="95b060929dd99c1d9f66ff1e13c53c54102ddbdc" />

  <!-- COS sources -->
  <project path="src/overlays"
           name="cos/overlays/board-overlays" />
  <project path="src/third_party/portage-stable"
           name="third_party/overlays/portage-stable" />
  <project path="src/third_party/chromiumos-overlay"
           sync-c="true"
           name="third_party/overlays/chromiumos-overlay" />
  <project path="src/platform/vboot_reference"
           name="third_party/platform/vboot_reference"
           revision="refs/heads/release-R81-12871.B" />
  <project path="src/repohooks"
           name="cos/repohooks"
           revision="refs/heads/master" />
  <project path="src/platform/cobble"
           name="cos/cobble"
           revision="refs/heads/release-R81-12871.B" />
  <project path="manifest" name="cos/manifest" >
      <copyfile src="LICENSE" dest="LICENSE" />
  </project>
  <project path="src/third_party/kernel/v4.19"
           name="third_party/kernel"
           revision="refs/heads/main-R81-12871.B-cos-4.19" />

  <!-- forked cros_sdk dependencies -->
  <project path="chromite"
           name="third_party/chromite"
           revision="refs/heads/release-R81-12871.B" />

  <repo-hooks enabled-list="pre-upload"
           in-project="cos/repohooks" />

</manifest>
