# This authorized_keys files is used on all the jumphosts in the skolo.
# The canonical version can be found at https://skia.googlesource.com/buildbot/+/refs/heads/master/skolo/authorized_keys
# Use the ansible scripts to push updated versions of this file to each jumphost:
#    $ cd skolo/ansible
#    $ make push_authorized_keys_to_jumphosts
#
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFBusE64Ssm52M+qV/e3GS+G0Z6EJGaXmVPevh9KV0sg jcgregorio@jcgregorio.c.googlers.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE0S4oXR4Cx3gPN2JGeMcmGZNYjHvgyX5HyUvwgO4wy2 erikrose@erikrose-macbookpro.roam.corp.google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKyk7mbU2Bev1HYzvY2w087Y6mrUxfM7+Wp1PVTxsOtI johnstiles@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINA5Xe8LJDQw7Wi3kBjXOqy3nkjQsRohNV9rKLaHkHOB jcgregorio@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOqSiso1dXuUMiDsKn678w76+hueHEqD+2aobS9Nj84e kjlubick@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ/6LU2g7Eo4tzwe4JQ0S4OjbSH2LbT9r4gPoBHTFMEI borenet@avendesora
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHXGFp/+DmXrW8OKJgCVvAccSbtXkXU0aBPGsVMzzKmU borenet@borenet0
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDApYXYmKdsAaGEXTe+z2FSysFw4Ut/suAaUpmfxQTzH borenet@rhuidean.cnc.corp.google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHlur6Af0r+EJQS9+EfkBmSZvXonrVh4OXKr5OdIw0Hy armansito@armansito-macbookpro3.roam.internal
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB5GWo54HKW3HNSJaI06Zh3dV3HzUU4g0SpsoXGxzSpB armansito@cloudfarts.c.googlers.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC15Zijil1o0/YRdi/KO95tYAOG3WqpgdnyXivPwn95dZ612G01qT3lb1pP41VQ1C8Kuup343A7kySYe/5taqRKTYmYfM09iuZpzJ/HoWos5JVdOmwjxT57Suyo/NF43Vu3aLukioaVfnOOcuoLbGdgTeCx4qregpMkJNw8Llvb3ePxneyj9zD7tcnTinoH5jsV7i72ncqLhJ5lQln+KFDTSRxLjamFKdFhU9gFiWnRJhzWtaoUblxlSsKJL65JNmwg0tH13Uj8xaYsG1geEP6/TcGcKEPVNxoIAS5dEE2HJnm6+VQHXa/4EZd3ZYpx+tZceYE+8rVb8DO/e4cQ/cP9 borenet@borenet0.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Lmwq5twYOib/JwEHmWzhOPkrTokfkKtDDAqxrPYYUSFrLSIQ3k719ajhP4Ti3ZHSQ4vID3/GqeifPWVIeFp24w1EHi+4lUTAh+Dqh0ya9z8YWH18oP+qheOpXP5+EP3epAl4CEAY5zsJPVQ8C/lnkpTS6yPn5F67PF1s1CXqPzUdVI0hDr7bQ2VPRislM1VBCXfhD6AKIev0iUvAlCKrTngFK01l0lIVmShSXnZfcKe/AINnqCZNJlUhfAUABe/XZeLlOtGyFcLg8etFfmOvk2uRzUpt/1Rapolu6G690mgNZ5Mf5Q9T1XC+8nHEcKhIwT+UAUesKGHItW/JZOmt csmartdalton@csd-hammer.c.googlers.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrcMaIJ9JFilOHk3ZQyrZiesykOFhg0PsIF2fYruGIrwDoPK2yBIOL04t0OS6eYNMX53dl5ZtDEDTxHRcFuf/yMkaAIQ7YNk8k6FD7OlgNJxIwcuDzqVbitTGbL1inizT4Yoz+wqz5Osw8s2DqsnAI4G2iLa6tRjhJ3RxvNNBUG91RM2etlIjHr483Z3dvBHxUkRUQZDk1GAL1cOykNX90ebWNajbrmojrhNb/72z5iwGVIfk3hCy6Ad7PEGy6syH0/y6DscLN2a1mtpxbZTzgO286v9HMWmUHBfBsVwYhMrYGWCW1KOg4GpepjoOgLlfzQXU1lVqKhkkfR3+hgaaj csmartdalton@csmartdalton-macbookpro.roam.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzbLuVSNK1kRFA7OYRjXI/pm08M593QgPd7JIDCcJPLPSqPzNNniSRHVlFwVV98KyuqwScb3xA5jdfkMjvzHwK1I7/ANQF6bxRoWizsCfRw94qdY3RR9kaXtADeHor+8pftJothYQq8K1vGuYkdBgnw9RK/TfnCold/0lI4nSKnyXHfuatgV+bImqPgYVjxi7LwxSlta08a2fGia7M+gLf+WvxsrkNQawvJ/lM127fYih0MK+qSE8SBaRsqnonc4hCd4e1iY+o1kNxoFfvQPzrAB82+37XS6eQlyvQbpig4zTCa4lWCOfM7Ad2Mu0H793mile/iyNGPwQ3JeYjE7aN lovisolo@google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBpfsym1NNk4i4NqeKcGy768/bu0ClXUzRedDoK5nj8dvASa+lg5d/vq1yd9gESjWJhcGI6xw8ooRE19h0xFqpriPtfyX7Aued/2u0yDKwXD/404Za7i+kTnEZ94TukkS+vp4rFEZZ0ZKl9CVvYPTL1X0ZcfMA+v9Kye9ps5iMEabGWWu8mlGLJ98rJHuqYfiGtiU6Bp0NqdvTmSF3oQn3DejcXIfYO8X/Nyq7Rn73ygEm2DlEoFeW/afupLnJ4/r0xYpO/LI+dWRsmNRKsNslm60E/+KMMpZONOvan0uLk57mTIPGMiBxyn07/bxad7yzPM2gBNpXUZ20Ml4lbp2b rmistry@rmistry1.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBXQu2fcQhmmQgD6w8w7IF4hokf/nElkX+SGiwmd7B1VjrOpGYI+079J/LoMVVs8AHkAPJKwsaPdCEiiVI/9njRDbvF4mxDHMlFd8/ctNpMTGHf6ujWXOk+vHGwDrFsCPiPJBc5hsYMnOc7T/qFbnxhzjWt/xMCDoCsMjzdBgJUJYv37PvvGD/Q33l+C6hqyVXAQ381yVABbqDvsaXzmmr6nzzDrdEDc6SVLlYa7yjI07CNKIhc7/gyghHqeSbQ7zVLHya5sFhFyJDgLebKStE1uAQPIewqB8QNbv12smmyh429T6c1Wt9gyh5CSpUdnqMk5m6ORDKKUNRcGctkI8t egdaniel@egdaniel2.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDUJM5fFfrHua25SCAL5flEfZGJ41fcwYdZIve+u3MCgEoLIq+2yvQwEHgBp+Zszxpsfk8lQEKYWnOidhvNHIQVRYU6akLjMZ+d3V6pL7sJWErZ8NU8GKQC3872birZQvDWB2XWXIKiSAd6Qv/AmmRX0qbcKF1BXm7aJ9wHJzzWCyB7WExWajq7JnOaUQJtCZG1Vppoc+2mZDCHLfJOJZjlIiXOEeTjXK+JenFaOYIqa5Pk/crEGHj1seqbSzWlkhg8xjgE9umf9683s23aQhMU8gTigjyHAujcpiAbDwfaIIfmsFG3RWKsv3vtg8SJhz+4JkjYfn3A2SqJ1OsrCi3 hevrard@google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeEHMk6PK+uhA0F7d+TzGbuiYubPVjEk8o7nQ1vZzoiQtWs2tep+yRILB3auWEYEgGnuex4axh5YXnOguWLLUiIgpDAVwWFOjyQQfTcDGcpABeoVN8tJToRh6vTIdp4CqqMAaa3DuMZA4Ca2Zsmq4lMt29Jcr/EWyWoK/HeK+0+8K1E2EMPHzu/H8atJzVyxaw9XIF4O9jslPHglIXkO3almwX+q4QFRkcE6ls0DkTmBq2pWcpdChHXnFgTufQ5mgENnOGtbkGCKTlF9vmxta8Ym9xCSB3mQydWijCtaHxXfZLUZeTfC/InChQMQTvIuxttkqT079YjXZWzgSSMfrd bsheedy@bsheedy-linux.kir.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDG6+8JEDFVEqNTB+sauO7pYT4AdiGbXp8GEIsfMl9sLEcQU9kIW1AyaUdlobonUm+dG/ZkCm7mHnV0OGbjr/fQ9BDdotdQWT6mgSaW6+QzpWZddcSzRMdO9nRC3OhP9FWnWpT9jWKEot90RvZn+67oDpCWh0jJ08R3gVhH0ognAfW5VdwCUdt+3R4NDgyhSiL2oMdO/JlkYDZakJDwQ9t+66yIaxrhEX0zzv8dMhrelBn3R8GF6hR33N9v4T28NortB/wf7IrjYnhzD9J1qjeS26DGi36kdWiHE8XmJI5YxevlYWozgivE+2K9qvWQQOLbNegI/mxBTnBbfXwOLS3d bsalomon@bsalomon-linux3.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq95ssw4BJuafu+BsdZhuyi3wLduLAtPFBKxIm30/0IEhsUSF8Jl4WGIwi7f6enltL4/7OPM9hM0mMzw7AnKS9kzUrO7GCqkAjvYVpZl8VZTQ0MeNVbwekiI5fb36iF7GeNUB26DRMpHdcK8VphqEXTED+6LcjKrllbQEwNSTo5h1GtRWpivBXg8aaJwtPSs4Q3vI056i9kUN8loaWiUmXH6pXakAh5nZIXTRiqru3RgDPIimz5AjJLwnJiTuFSn9xAWXW4lpx8sVPDnOfCdbXWLMsIFkdi62qIhAEirym5U644hgU9dlK/G6kobZNi9GvT1CFo+0N3xzKoxDUrQ2L borenet@borenet0.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCnhJNO5NPH4vtwru7xicmXd/KgyTLJngjFKcCrzB0JwvINXvC4DNQJ1FOLFMKJmGcvlTOht2/80xNFazg3UIka/xSttP2CsYO5+8JZQEcnvG2fOOx9dZPIJGsZfcU4A2JEzng3VPI1jjjTcDfahk9XjRC5xuXqtjHuUepCO4e4HWj81Tljv+JXtPldQVMkaRwFvvzO/RLHVW3X48GIJZ3VrtGGpg2BX250ickFQ4EcIca6uy7hic3lOwJ+zq8yaYd8PSN5BaHNfMFVCH1Fm21zTdt+JuqPT0hf6sBccMx/vP3+Pz40DUuFAuvoCFl3bBfDbU0MvCGowbPmdym2weCgpcQKctqBb53TYKO3eUmD38AZ3H51csiCVrsjousOxepWpK9H55rYBrDA2lIHHQjeZoXI5uTby8ZktffgOJAD27X13KRW5G7B8CLheXzKqxFq3vn2A6nRiMi6tPr/BUQedyzyfIpA2etpiYxgSn7dY6Mg9OuowHbIwYae4sTRMYZ0dC2G6kMPW+BFr1OgMWF7giuK/J3NdNA9GtiNhT8toXpAz2p4Px2cpHoi958bqM6m6JbTIFYeBYPNqua0kDwse0mn128s1V4ZPsPQEVrllNl8a1vHmV40Ile3+2E98gbpYRYsaRAvXCbmiHQipHebnXxfbLr/nVypoTw+U6r/5w== michaelludwig@google.com
