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

package redirect

var blogRedirects = map[string]string{
	"/index": "all",
	"/2010/03/go-whats-new-in-march-2010.html":               "go-whats-new-in-march-2010",
	"/2010/04/json-rpc-tale-of-interfaces.html":              "json-rpc-tale-of-interfaces",
	"/2010/04/third-party-libraries-goprotobuf-and.html":     "third-party-libraries-goprotobuf-and",
	"/2010/05/go-at-io-frequently-asked-questions.html":      "go-at-io-frequently-asked-questions",
	"/2010/05/new-talk-and-tutorials.html":                   "new-talk-and-tutorials",
	"/2010/05/upcoming-google-io-go-events.html":             "upcoming-google-io-go-events",
	"/2010/06/go-programming-session-video-from.html":        "go-programming-session-video-from",
	"/2010/07/gos-declaration-syntax.html":                   "gos-declaration-syntax",
	"/2010/07/share-memory-by-communicating.html":            "share-memory-by-communicating",
	"/2010/08/defer-panic-and-recover.html":                  "defer-panic-and-recover",
	"/2010/09/go-concurrency-patterns-timing-out-and.html":   "go-concurrency-patterns-timing-out-and",
	"/2010/09/go-wins-2010-bossie-award.html":                "go-wins-2010-bossie-award",
	"/2010/09/introducing-go-playground.html":                "introducing-go-playground",
	"/2010/10/real-go-projects-smarttwitter-and-webgo.html":  "real-go-projects-smarttwitter-and-webgo",
	"/2010/11/debugging-go-code-status-report.html":          "debugging-go-code-status-report",
	"/2010/11/go-one-year-ago-today.html":                    "go-one-year-ago-today",
	"/2011/01/go-slices-usage-and-internals.html":            "go-slices-usage-and-internals",
	"/2011/01/json-and-go.html":                              "json-and-go",
	"/2011/03/c-go-cgo.html":                                 "c-go-cgo",
	"/2011/03/go-becomes-more-stable.html":                   "go-becomes-more-stable",
	"/2011/03/gobs-of-data.html":                             "gobs-of-data",
	"/2011/03/godoc-documenting-go-code.html":                "godoc-documenting-go-code",
	"/2011/04/go-at-heroku.html":                             "go-at-heroku",
	"/2011/04/introducing-gofix.html":                        "introducing-gofix",
	"/2011/05/gif-decoder-exercise-in-go-interfaces.html":    "gif-decoder-exercise-in-go-interfaces",
	"/2011/05/go-and-google-app-engine.html":                 "go-and-google-app-engine",
	"/2011/05/go-at-google-io-2011-videos.html":              "go-at-google-io-2011-videos",
	"/2011/06/first-class-functions-in-go-and-new-go.html":   "first-class-functions-in-go-and-new-go",
	"/2011/06/profiling-go-programs.html":                    "profiling-go-programs",
	"/2011/06/spotlight-on-external-go-libraries.html":       "spotlight-on-external-go-libraries",
	"/2011/07/error-handling-and-go.html":                    "error-handling-and-go",
	"/2011/07/go-for-app-engine-is-now-generally.html":       "go-for-app-engine-is-now-generally",
	"/2011/09/go-image-package.html":                         "go-image-package",
	"/2011/09/go-imagedraw-package.html":                     "go-imagedraw-package",
	"/2011/09/laws-of-reflection.html":                       "laws-of-reflection",
	"/2011/09/two-go-talks-lexical-scanning-in-go-and.html":  "two-go-talks-lexical-scanning-in-go-and",
	"/2011/10/debugging-go-programs-with-gnu-debugger.html":  "debugging-go-programs-with-gnu-debugger",
	"/2011/10/go-app-engine-sdk-155-released.html":           "go-app-engine-sdk-155-released",
	"/2011/10/learn-go-from-your-browser.html":               "learn-go-from-your-browser",
	"/2011/10/preview-of-go-version-1.html":                  "preview-of-go-version-1",
	"/2011/11/go-programming-language-turns-two.html":        "go-programming-language-turns-two",
	"/2011/11/writing-scalable-app-engine.html":              "writing-scalable-app-engine",
	"/2011/12/building-stathat-with-go.html":                 "building-stathat-with-go",
	"/2011/12/from-zero-to-go-launching-on-google.html":      "from-zero-to-go-launching-on-google",
	"/2011/12/getting-to-know-go-community.html":             "getting-to-know-go-community",
	"/2012/03/go-version-1-is-released.html":                 "go1",
	"/2012/07/gccgo-in-gcc-471.html":                         "gccgo-in-gcc-471",
	"/2012/07/go-videos-from-google-io-2012.html":            "go-videos-from-google-io-2012",
	"/2012/08/go-updates-in-app-engine-171.html":             "go-updates-in-app-engine-171",
	"/2012/08/organizing-go-code.html":                       "organizing-go-code",
	"/2012/11/go-turns-three.html":                           "go-turns-three",
	"/2013/01/concurrency-is-not-parallelism.html":           "concurrency-is-not-parallelism",
	"/2013/01/go-fmt-your-code.html":                         "go-fmt-your-code",
	"/2013/01/the-app-engine-sdk-and-workspaces-gopath.html": "the-app-engine-sdk-and-workspaces-gopath",
	"/2013/01/two-recent-go-talks.html":                      "two-recent-go-talks",
	"/2013/02/getthee-to-go-meetup.html":                     "getthee-to-go-meetup",
	"/2013/02/go-maps-in-action.html":                        "go-maps-in-action",
	"/2013/03/two-recent-go-articles.html":                   "two-recent-go-articles",
	"/2013/03/the-path-to-go-1.html":                         "the-path-to-go-1",
	"/2013/05/go-11-is-released.html":                        "go-11-is-released.article",
	"/2013/05/advanced-go-concurrency-patterns.html":         "advanced-go-concurrency-patterns.article",
}
